抽离printsettings前的暂存
This commit is contained in:
+82
-4
@@ -4,12 +4,87 @@
|
||||
#include <QWidget>
|
||||
|
||||
#include <QPushButton>
|
||||
#include <QXmlStreamWriter>
|
||||
#include "PulseNumFix.h"
|
||||
|
||||
namespace Ui {
|
||||
class PrintSetting;
|
||||
}
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
/**
|
||||
* @brief 从sysPara中提取的某些用于跟随工作文件保存的打印设置
|
||||
*
|
||||
*
|
||||
* @remark
|
||||
* 字段声明位置按照类型长度降序排列,用于在紧凑内存对齐的状态下尽量提升性能
|
||||
* 所以看声明顺序有点奇怪
|
||||
* 使用紧凑内存对齐的原因是为了方便直接映射为字符串,方便保存
|
||||
*/
|
||||
struct PrintSettingModel
|
||||
{
|
||||
int timeTriggerPrintMode = 0; // 间隔模式, 0: 行末-> 行首 1: 行首对行首 ,韩国人要求只保留一个,所以应该固定为 0
|
||||
|
||||
/**
|
||||
* 触发间隔。
|
||||
* 时延模式,指间隔多久打印一次。单位ms,
|
||||
* 电眼 + 同步器模式: 根据 eleEyeRepeatCnt 设定的重复次数,确定重复间隔,单位长度mm
|
||||
* 电眼模式:根据 eleEyeRepeatCnt 设定的重复次数,确定重复间隔,单位是时间 ms
|
||||
* 同步器模式:重复间隔,单位长度 mm
|
||||
* */
|
||||
unsigned triggerInterval = 0;
|
||||
|
||||
unsigned eleEyeRepeatCnt = 1; // 电眼触发时,打印内容的次数,也就是重复数
|
||||
|
||||
unsigned triggerMode = 0; // 触发模式
|
||||
|
||||
float encoderPulsePerMm = 40; // 编码器的每毫米脉冲数
|
||||
|
||||
unsigned printColDelay = 6; // 打印列延迟,(字宽)
|
||||
|
||||
unsigned short volParaIndex = 0; // 喷印模式的索引, 决定选择哪组电压参数
|
||||
|
||||
unsigned short eleEyeTriggerPrintDelay = 0; // 0x38 电眼 + 同步器模式下,电眼触发后,同步打印延迟时间,单位:毫秒
|
||||
|
||||
unsigned short altMirrorGap = 0; // 镜像交替间隔, 单位:喷印个数
|
||||
|
||||
unsigned short eleMaskTime = 0; // 电眼封锁时间或距离 单位ms或mm
|
||||
|
||||
/**
|
||||
* 同步器的正反转模式
|
||||
* 0:正反转打印
|
||||
* 1:只正转打印
|
||||
* 2:只反转打印
|
||||
* 3:带补偿的正转打印
|
||||
* 4:带补偿的反转打印
|
||||
*/
|
||||
unsigned char syncTriggerMode = 0;
|
||||
|
||||
unsigned char mode0211 = 1; // 0211模式
|
||||
|
||||
unsigned char highVoltageAmplitude = 75; // 界面显示 字高,但是名字叫 高压振幅? 谁解释一下
|
||||
|
||||
unsigned char altMirrorType = 0; // 镜像交替模式
|
||||
|
||||
bool leftRightInverse = false; // 信息左右颠倒
|
||||
|
||||
bool upDownInverse = false; // 信息上下颠倒
|
||||
|
||||
bool eleEyeTriggerSynPrintEn = false;
|
||||
|
||||
static void loadFromXml(PrintSettingModel& model, const QXmlStreamAttributes& attrs);
|
||||
static void saveToXml(const PrintSettingModel& model, QXmlStreamWriter& writer);
|
||||
|
||||
static void applyToSysPara(const PrintSettingModel& model, SysPara* sysPara);
|
||||
|
||||
static PrintSettingModel fromSysPara(SysPara* sysPara);
|
||||
|
||||
static QString toString(const PrintSettingModel& model);
|
||||
};
|
||||
|
||||
#pragma pack()
|
||||
|
||||
class PrintSetting : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
@@ -41,6 +116,12 @@ public:
|
||||
|
||||
void setEnableSynTriggerSetting(bool);
|
||||
|
||||
void applyPrintSettingsToSysPara(bool showTip = true);
|
||||
|
||||
PrintSettingModel model();
|
||||
|
||||
void setModel(const PrintSettingModel& model);
|
||||
|
||||
private slots:
|
||||
void buttonClickedSlot();
|
||||
|
||||
@@ -87,12 +168,9 @@ private:
|
||||
void init();
|
||||
void applyStyleSheet(); // 应用样式表
|
||||
|
||||
|
||||
|
||||
signals:
|
||||
void sendButtonClickedSignal(int index);
|
||||
|
||||
|
||||
};
|
||||
|
||||
#endif // PRINTSETTING_H
|
||||
#endif // PRINTSETTING_H
|
||||
Reference in New Issue
Block a user