#ifndef SCENEEDITOPTION_H #define SCENEEDITOPTION_H #include #include #include #include #include #include #include #include "ParaSettingUI.h" #include "MyFileDialog.h" #include #include #include #include "DialogFileOperation.h" #include "DialogInsertVari.h" #include "DialogFontSize.h" #include "DialogLineSpace.h" #include "PicWidget.h" #include #include "dlgQrCode.h" #include "QBarCode.h" #include "DialogSaveFile.h" #include "SceneEditOption.h" #include "pictextitem.h" #include "picscene.h" #include "moveinput.h" #include "formscenedlg.h" #include #include "MyFileDialog.h" namespace Ui { class SceneEditOption; } class SceneEditOption : public QWidget,public ParaSettingUI { Q_OBJECT public: explicit SceneEditOption(QWidget *parent = 0); ~SceneEditOption(); void bindStackWidget(QStackedWidget *stackedWidgetOption,QStackedWidget *stackedWidgetText); void bindSysPara(SysPara *sysPara); void bindScene(PicScene *pPicScene, QGraphicsView *pGraphicViewer, QTextEdit *pTextEdit); bool createItemImage(); void updatePicScene2Item(); QList getPicSceneItems(); signals: void previewScene(); void addPicTextItem(); void importFile(QString); void delItem(); void saveScene(QString); void openSceneFile(QString); void editItem(); void editItemMode(); void fileNameChanged(QString); void generateQRCode(QString); public slots: void enableButtonSave(); void onSaveASFile(QString filename,bool Flag); void saveFile(); void onFileOpen(QString filePath,bool insertFlag); void onEditItemDone(); void onCreateSceneImage(QString filePath);//生成场景图片 void onStackedWidgetOptionCurrentChanged(int index); //edit@12-07 void show_scene_new_dlg(); void on_btn_test2(); void onInkJetPrinterCurrentChanged(int index); void insertImageItem(QString,bool); private slots: void on_delButton_pressed(); void on_saveButton_pressed(); void on_openfileButton_pressed(); void on_previewButton_pressed(); void on_addButton_pressed(); void on_EditItemButton_pressed(); void on_saveAsButton_pressed(); void on_newfileButton_pressed(); void on_enlargeButton_pressed(); void on_reduceButton_pressed(); void on_test_pressed(); private: // 修复编辑时文本和变量错位问题 QString fixVariableImagesAlignment(const QString &html); void parseVbfile(QXmlStreamReader &reader); bool maybeSave(); Ui::SceneEditOption *ui; QStackedWidget *stackedWidgetOption; QStackedWidget *stackedWidgetText; PicScene *pPicScene; //保存Item的Html对应的图片 用于显示 解决场景模式文本无法放大的问题 PicScene *pPicScene2; //保存Item的Html 用于编辑和保存 pPicScene和pPicScene2的Item一一对应 QGraphicsView *pViewer; QTextEdit *textEdit; QGraphicsScene *m_pSavePicScene; bool m_CreateImageFlag; int getSelectedIndex(); void syncAllPositions(); DialogFileOperation *dialogFileOperation; #ifdef MYSAVEFILEDLG DialogSaveFile *dialogSaveFile; #endif MyFileDialog *fileDialog; PicTextItem *textItem; PicTextItem *textItem2; //PicScene *scene; QString currFileName; void onSceneAccepted(PicTextItem *pTextItem); int editMode;//保存当前的编辑模式 QString xmlfileName; FormScenedlg *newScene; }; #endif // SCENEEDITOPTION_H