243 lines
7.8 KiB
C++
243 lines
7.8 KiB
C++
#ifndef MCFILES_H
|
||
#define MCFILES_H
|
||
|
||
#include <QString>
|
||
#include <QPicture>
|
||
#include <QBitmap>
|
||
#include "machine/comm/protocol.h"
|
||
#include "datafile/hpgl/marker.h"
|
||
|
||
//连接状态
|
||
enum ConnectState
|
||
{
|
||
InitConnect = 0,//初始值
|
||
NoConnect = 1, //未连接
|
||
Connectting = 2, //连接中
|
||
Connected = 3 //已连接
|
||
};
|
||
|
||
//工作状态
|
||
enum WorkState
|
||
{
|
||
NotBusy = 0,//空闲中
|
||
Busying = 1 //工作中
|
||
};
|
||
|
||
//打印状态
|
||
enum PrintState
|
||
{
|
||
Waitting = 0,//等待打印
|
||
Printting = 1, //打印中
|
||
Pause = 2, //暂停打印
|
||
Complete = 3//打印完成
|
||
};
|
||
|
||
|
||
class McFilesInfo
|
||
{
|
||
public:
|
||
s16 m_creatDataFlag;//是否已经生成数据的标志
|
||
s16 m_creatBmpFlag;//是否已经生成bmp的标志
|
||
QString m_fileName;//文件名称
|
||
QString m_filePath;//文件路径
|
||
s16 m_fileType;//文件类型
|
||
QRect m_fileRect;//图形被包络的矩形区域
|
||
s16 m_printNum;//打印份数
|
||
s16 m_startPoint;//打印起始点
|
||
s16 m_printState;//打印状态
|
||
QPicture m_pic;//文件-发送的图片-实际笔宽绘制的pic
|
||
QPainterPath m_drawPath;//文件-数据绘图路径-用MyGraphicsItem画图时如果笔宽不为1,直接画QPicture时线条会很轻,所以用m_drawPath绘制
|
||
QBitmap m_pixmap;//图片-图片
|
||
s16 m_totalBlocks;//总块数
|
||
s16 m_curPrintBlock;//当前打印块数
|
||
s16 m_printedBlockNum;//已打印块数
|
||
s16 m_leaveBlockNum;//剩余打印块数
|
||
s16 m_selectBlockNum;//当前选择块数
|
||
Marker m_marker;//数据
|
||
|
||
void clear()
|
||
{
|
||
QPicture pic;
|
||
QPainterPath path;
|
||
|
||
m_creatDataFlag = -1;
|
||
m_creatBmpFlag = -1;//是否已经生成bmp的标志
|
||
m_fileName.clear();//文件名称
|
||
m_filePath.clear();//文件路径
|
||
m_fileType = 0;//文件类型
|
||
m_printNum = 0;//打印份数
|
||
m_startPoint = 0;//打印起始点
|
||
m_printState = Waitting;//打印状态
|
||
m_pic = pic;
|
||
m_drawPath = path;
|
||
m_pixmap.clear();
|
||
m_totalBlocks = 0;//总块数
|
||
m_curPrintBlock = 0;//当前打印块数
|
||
m_printedBlockNum = 0;//已打印块数
|
||
m_leaveBlockNum = 0;//剩余打印块数
|
||
m_selectBlockNum = 0;//当前选择块数
|
||
m_marker.Initialize();
|
||
}
|
||
|
||
McFilesInfo()
|
||
{
|
||
m_creatDataFlag = -1;
|
||
m_creatBmpFlag = -1;//是否已经生成bmp的标志
|
||
m_fileName.clear();//文件名称
|
||
m_filePath.clear();//文件路径
|
||
m_fileType = 0;//文件类型
|
||
m_printNum = 0;//打印份数
|
||
m_startPoint = 0;//打印起始点
|
||
m_printState = Waitting;//打印状态
|
||
m_totalBlocks = 0;//总块数
|
||
m_curPrintBlock = 0;//当前打印块数
|
||
m_printedBlockNum = 0;//已打印块数
|
||
m_leaveBlockNum = 0;//剩余打印块数
|
||
m_selectBlockNum = 0;//当前选择块数
|
||
m_marker.Initialize();
|
||
}
|
||
McFilesInfo(const McFilesInfo &item)
|
||
{
|
||
m_creatDataFlag = item.m_creatDataFlag;//是否已经生成数据的标志
|
||
m_creatBmpFlag = item.m_creatBmpFlag;//是否已经生成bmp的标志
|
||
m_fileName = item.m_fileName;//文件名称
|
||
m_filePath = item.m_filePath;//文件路径
|
||
m_fileType = item.m_fileType;//文件类型
|
||
m_fileRect = item.m_fileRect;//图形被包络的矩形区域
|
||
m_printNum = item.m_printNum;//打印份数
|
||
m_startPoint = item.m_startPoint;//打印起始点
|
||
m_printState = item.m_printState;//打印状态
|
||
m_pic = item.m_pic;
|
||
m_drawPath = item.m_drawPath;
|
||
m_pixmap = item.m_pixmap;
|
||
m_totalBlocks = item.m_totalBlocks;//总块数
|
||
m_curPrintBlock = item.m_curPrintBlock;//当前打印块数
|
||
m_printedBlockNum = item.m_printedBlockNum;//已打印块数
|
||
m_leaveBlockNum = item.m_leaveBlockNum;//剩余打印块数
|
||
m_selectBlockNum = item.m_selectBlockNum;//当前选择块数
|
||
m_marker = item.m_marker;
|
||
}
|
||
~McFilesInfo() {}
|
||
McFilesInfo & operator=(const McFilesInfo &item)
|
||
{
|
||
m_creatDataFlag = item.m_creatDataFlag;//是否已经生成数据的标志
|
||
m_creatBmpFlag = item.m_creatBmpFlag;//是否已经生成bmp的标志
|
||
m_fileName = item.m_fileName;//文件名称
|
||
m_filePath = item.m_filePath;//文件路径
|
||
m_fileType = item.m_fileType;//文件类型
|
||
m_fileRect = item.m_fileRect;//图形被包络的矩形区域
|
||
m_printNum = item.m_printNum;//打印份数
|
||
m_startPoint = item.m_startPoint;//打印起始点
|
||
m_printState = item.m_printState;//打印状态
|
||
m_pic = item.m_pic;
|
||
m_drawPath = item.m_drawPath;
|
||
m_pixmap = item.m_pixmap;
|
||
m_totalBlocks = item.m_totalBlocks;//总块数
|
||
m_curPrintBlock = item.m_curPrintBlock;//当前打印块数
|
||
m_printedBlockNum = item.m_printedBlockNum;//已打印块数
|
||
m_leaveBlockNum = item.m_leaveBlockNum;//剩余打印块数
|
||
m_selectBlockNum = item.m_selectBlockNum;//当前选择块数
|
||
m_marker = item.m_marker;
|
||
return *this;
|
||
}
|
||
};
|
||
Q_DECLARE_METATYPE(McFilesInfo)
|
||
|
||
class McPrintInfo
|
||
{
|
||
public:
|
||
s16 m_mcNum;//机器号
|
||
s16 m_loadFileFinishFlag;//自动加载文件完成标志(包括自动绘图目录和上次未打印完的)
|
||
QString m_mcName;//机器名称
|
||
int m_mcConnState;//机器连接状态
|
||
int m_mcWorkState;//机器工作状态
|
||
double m_mcSendProgress;//机器打印进度
|
||
int m_totalNums;//要发送的总块数
|
||
int m_sendedlNums;//已发送的总块数
|
||
QString m_ip;//机器ip
|
||
s16 m_port;//机器端口
|
||
s16 m_fileNums;//文件数量
|
||
long long m_fileTotalLength;//文件总长度
|
||
QList<McFilesInfo> m_filesList;//图片列表
|
||
|
||
void clear()
|
||
{
|
||
m_mcNum = 0;
|
||
m_loadFileFinishFlag = -1;
|
||
m_mcName.clear();
|
||
m_mcConnState = InitConnect;
|
||
m_mcWorkState = NotBusy;
|
||
m_mcSendProgress = 0;
|
||
m_totalNums = 0;
|
||
m_sendedlNums = 0;
|
||
m_ip.clear();
|
||
m_port = 0;
|
||
m_fileNums = 0;
|
||
m_fileTotalLength = 0;
|
||
for(int i = 0; i < m_filesList.size(); i++)
|
||
{
|
||
m_filesList[i].clear();
|
||
}
|
||
m_filesList.clear();
|
||
}
|
||
|
||
McPrintInfo()
|
||
{
|
||
m_mcNum = 0;
|
||
m_loadFileFinishFlag = -1;
|
||
m_mcName.clear();
|
||
m_mcConnState = InitConnect;
|
||
m_mcWorkState = NotBusy;
|
||
m_mcSendProgress = 0;
|
||
m_mcSendProgress = 0;
|
||
m_totalNums = 0;
|
||
m_sendedlNums = 0;
|
||
m_ip.clear();
|
||
m_port = 0;
|
||
m_fileNums = 0;
|
||
m_fileTotalLength = 0;
|
||
m_filesList.clear();
|
||
}
|
||
|
||
McPrintInfo(const McPrintInfo &item)
|
||
{
|
||
m_mcNum = item.m_mcNum;
|
||
m_loadFileFinishFlag = item.m_loadFileFinishFlag;
|
||
m_mcName = item.m_mcName;
|
||
m_mcConnState = item.m_mcConnState;
|
||
m_mcWorkState = item.m_mcWorkState;
|
||
m_mcSendProgress = item.m_mcSendProgress;
|
||
m_totalNums = item.m_totalNums;
|
||
m_sendedlNums = item.m_sendedlNums;
|
||
m_ip = item.m_ip;
|
||
m_port = item.m_port;
|
||
m_fileNums = item.m_fileNums;
|
||
m_fileTotalLength = item.m_fileTotalLength;
|
||
m_filesList = item.m_filesList;
|
||
}
|
||
|
||
~McPrintInfo() {}
|
||
|
||
McPrintInfo & operator=(const McPrintInfo &item)
|
||
{
|
||
m_mcNum = item.m_mcNum;
|
||
m_loadFileFinishFlag = item.m_loadFileFinishFlag;
|
||
m_mcName = item.m_mcName;
|
||
m_mcConnState = item.m_mcConnState;
|
||
m_mcWorkState = item.m_mcWorkState;
|
||
m_mcSendProgress = item.m_mcSendProgress;
|
||
m_totalNums = item.m_totalNums;
|
||
m_sendedlNums = item.m_sendedlNums;
|
||
m_ip = item.m_ip;
|
||
m_port = item.m_port;
|
||
m_fileNums = item.m_fileNums;
|
||
m_fileTotalLength = item.m_fileTotalLength;
|
||
m_filesList = item.m_filesList;
|
||
return *this;
|
||
}
|
||
};
|
||
|
||
Q_DECLARE_METATYPE(McPrintInfo)
|
||
|
||
#endif // MCFILES_H
|