first commit
This commit is contained in:
@@ -0,0 +1,215 @@
|
||||
#ifndef TESTPRINTWIDGET_H
|
||||
#define TESTPRINTWIDGET_H
|
||||
|
||||
#include <QWidget>
|
||||
#include <QButtonGroup>
|
||||
#include <QTextEdit>
|
||||
#include <QLineEdit>
|
||||
#include <QXmlStreamReader>
|
||||
#include "DialogSaveFile.h"
|
||||
#include "DialogFileOperation.h"
|
||||
#include <QGraphicsView>
|
||||
// 包含UI自动生成的头文件
|
||||
#include "ui_TestPrintWidget.h"
|
||||
|
||||
#include "DialogFontSize.h"
|
||||
#include "scene/picscene.h"
|
||||
#include "ParaSettingUI.h"
|
||||
|
||||
#include "ImageLoader.h"
|
||||
#include "ItemEditor.h"
|
||||
#include "scene/PicDateItem.h"
|
||||
#include "scene/PicImageItem.h"
|
||||
#include "scene/ScheduleShiftsEditor.h"
|
||||
#include "scene/PicCounterItem.h"
|
||||
#include <QScopedPointer>
|
||||
|
||||
#include "selectcodedlg.h"
|
||||
#include <scene/piccodeitem.h>
|
||||
#include "CounterVarSet.h"
|
||||
#include "scene/BarcodeEditor.h"
|
||||
|
||||
typedef struct ItemReplaceInfo
|
||||
{
|
||||
unsigned char vartypeR; //该图元中哪些类型(年、月、日...)需要替换
|
||||
QString text; // 最初需要替换的内容 yyyy-MM-dd ...
|
||||
// QMap<int,QStringList> map; //类型对应替换的内容 如月index:2 对应要替换的QStringList: 01 02 A 04 05...
|
||||
QMap<int,QMap<int,QString>> map;
|
||||
}ItemReplaceInfo;
|
||||
|
||||
// 计数器1、2的source值
|
||||
#define SOURCE_COUNTER1 "Counter1_QvQ"
|
||||
#define SOURCE_COUNTER2 "Counter2_QvQ"
|
||||
|
||||
class TestPrintWidget : public QWidget,public ParaSettingUI
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
TestPrintWidget(QWidget* parent = nullptr);
|
||||
~TestPrintWidget();
|
||||
|
||||
void on_buttonSelectFont_pressed();
|
||||
void mergeFormatOnWordOrSelection(const QTextCharFormat &format);
|
||||
void setFontFormat(int fontsize,QString fontfamily);
|
||||
QTextEdit* getQTextEdit();
|
||||
PicScene* getPicScene();
|
||||
|
||||
void createItemImage();
|
||||
void getShowSelectItemText();
|
||||
void bindSysPara(SysPara *sysPara);
|
||||
|
||||
void on_openfileButton_pressed();
|
||||
|
||||
void saveFile();
|
||||
|
||||
void on_KeyUp_clicked();
|
||||
void on_KeyLeft_clicked();
|
||||
void on_KeyRight_clicked();
|
||||
void on_KeyDown_clicked();
|
||||
void on_delButton_pressed();
|
||||
|
||||
void setFontNameIndex(float);
|
||||
|
||||
void addDateTimeItem(const DateItemModel& model);
|
||||
|
||||
void addScheduleShiftsItem(QVector<ScheduleModel> schedules);
|
||||
|
||||
void addCounterItem(CounterViewModel vm, QSharedPointer<QFont> font = nullptr);
|
||||
|
||||
bool addItemFlag;
|
||||
// QString getReplateAfterStr(QString);
|
||||
// QMap<int,QString> varReplaceItemMap;
|
||||
|
||||
QMap<int,ItemReplaceInfo> varReplaceItemMap;
|
||||
public slots:
|
||||
void on_enlargeButton_pressed();
|
||||
void on_addButton_pressed(const SourceType type = SourceType::UNKNOWN);
|
||||
void onEditItemDone();
|
||||
void onEditItemCounterDone();
|
||||
|
||||
void onReplaceVarEditDone();
|
||||
|
||||
void on_saveButton_pressed();
|
||||
void onSaveASFile(QString filename,bool Flag);
|
||||
|
||||
void onFileOpen(QString filePath,bool insertFlag);
|
||||
void onCreateSceneImage(QString filePath);//生成场景图片
|
||||
|
||||
void on_newfileButton_pressed();
|
||||
|
||||
void slt_BarCodeItemDone(QString str);
|
||||
|
||||
void slt_QRCodeItemDone(QString str);
|
||||
protected:
|
||||
// 重写事件过滤器
|
||||
bool eventFilter(QObject *watched, QEvent *event) override;
|
||||
|
||||
private slots:
|
||||
void onSceneFocusedItemPosChanged(QPoint p);
|
||||
void onBtn3DClicked();
|
||||
void onImageLoaderAccepted();
|
||||
void onBtnItemConfigClicked();
|
||||
void onItemEditorAccepted();
|
||||
|
||||
void on_cbResolution_currentIndexChanged(int index);
|
||||
|
||||
void addDateItem();
|
||||
|
||||
void on_btnBarcode_clicked();
|
||||
|
||||
void onBtnArrowClicked();
|
||||
|
||||
// 复制
|
||||
void on_btn_copy_clicked();
|
||||
|
||||
// 粘贴
|
||||
void on_btn_paste_clicked();
|
||||
|
||||
private:
|
||||
// UI对象
|
||||
Ui::TestPrintWidget ui;
|
||||
|
||||
// 控件成员变量(关联UI控件)
|
||||
QButtonGroup* m_ButtonGroup;
|
||||
QTextEdit* m_TextEdit;
|
||||
QLineEdit* m_LineEdit;
|
||||
|
||||
void parseVbfile(QXmlStreamReader &reader);
|
||||
|
||||
|
||||
// 加载图标(保留原功能)
|
||||
QPixmap loadIcon(const QString& iconName, const QSize& size = QSize(40, 40));
|
||||
|
||||
DialogFontSize *dialogFontSize;
|
||||
|
||||
PicScene *pPicScene; //保存Item的Html
|
||||
// PicScene *pPicScene2; // 保存Item的Html对应的图片 解决场景模式文本无法放大的问题
|
||||
QGraphicsView *view;
|
||||
QGraphicsView *pViewer;
|
||||
PicTextItem *textItem;
|
||||
PicTextItem *textItem2;
|
||||
|
||||
PicCodeItem *codeItem_Operation = nullptr;
|
||||
|
||||
// 修改条形码和二维码的标志
|
||||
bool editCodeFlag = false;
|
||||
|
||||
QString xmlfileName;
|
||||
DialogSaveFile *dialogSaveFile;
|
||||
DialogFileOperation *dialogFileOperation;
|
||||
|
||||
ImageLoader *imageLoader = nullptr;
|
||||
ItemEditor * itemEditor = nullptr;
|
||||
BarcodeEditor m_barcodeEditor;
|
||||
|
||||
int editMode;
|
||||
bool m_CreateImageFlag;
|
||||
QGraphicsScene *m_pSavePicScene;
|
||||
|
||||
SelectCodeDlg* m_SelectCodeDlg = nullptr;
|
||||
|
||||
void onSceneAccepted(PicTextItem *pTextItem);
|
||||
// 条形码和二维码的选择界面
|
||||
void initSelecteCodeDlg();
|
||||
// 在界面添加显示条形码和二维码的场景
|
||||
void addCodeItem(QString str);
|
||||
//寻找当前选中的图层,没有选中的就不继续处理
|
||||
int checkSelectScene();
|
||||
|
||||
|
||||
// 复制
|
||||
int pasteTime = 1;
|
||||
SourceType m_copiedSourceType = SourceType::UNKNOWN;
|
||||
QVariant m_copiedSourceValue;
|
||||
QXmlStreamAttributes m_copiedAttrs;
|
||||
QString m_copiedHtml;
|
||||
bool m_copiedSpecialConditions = false;
|
||||
int m_copiedCatchCnt1StartValue = -1;
|
||||
int m_copiedCatchCnt1CurrValue = -1;
|
||||
int m_copiedCounterType = COUNTER_TYPE_1;
|
||||
int m_copiedCounterDigitalNum = 1;
|
||||
int m_copiedCounterLetterSpace = 1;
|
||||
QString m_copiedCounterFontFamily = "Dinkie9";
|
||||
QPointF m_copiedPos;
|
||||
//判断要复制什么图层,添加该图层
|
||||
PicTextItem* checkSelectItem(PicTextItem* srcItem);
|
||||
//保存复制内容
|
||||
bool cacheSelectedLayerForPaste(PicTextItem* srcItem);
|
||||
//粘贴
|
||||
void pasteCopiedLayer();
|
||||
|
||||
signals:
|
||||
void sendButtonClickedSignal(int index);
|
||||
void sendUpdateFontSignl(int);
|
||||
|
||||
void sig_showEditCounter(CounterViewModel viewModel);
|
||||
|
||||
// 用户请求打开日期类型图元编辑窗口时发送此信号,
|
||||
// 如果item为null,表明是从新建按钮发出的,如果item不为null,表明用户正在尝试编辑一个日期item
|
||||
void sig_showEditDataTime(PicDateItem* item);
|
||||
|
||||
void sig_showScheduleShiftsEditor(PicScheduleShiftItem* item);
|
||||
};
|
||||
|
||||
#endif // TESTPRINTWIDGET_H
|
||||
Reference in New Issue
Block a user