127 lines
3.5 KiB
C++
127 lines
3.5 KiB
C++
#ifndef SCENEEDITOPTION_H
|
|
#define SCENEEDITOPTION_H
|
|
|
|
#include <QWidget>
|
|
#include <QTextEdit>
|
|
#include <QMessageBox>
|
|
#include <QFileDialog>
|
|
#include <QTextCharFormat>
|
|
#include <QXmlStreamReader>
|
|
#include <QGraphicsView>
|
|
#include "ParaSettingUI.h"
|
|
#include "MyFileDialog.h"
|
|
#include <QComboBox>
|
|
#include <QPushButton>
|
|
#include <QCheckBox>
|
|
#include "DialogFileOperation.h"
|
|
#include "DialogInsertVari.h"
|
|
#include "DialogFontSize.h"
|
|
#include "DialogLineSpace.h"
|
|
#include "PicWidget.h"
|
|
#include <QStackedWidget>
|
|
#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 <mainwindow.h>
|
|
#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<QGraphicsItem *> 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
|