#ifndef MCFILES_H #define MCFILES_H #include #include #include #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;//文件类型 QRectF m_fileRect;//图形被包络的矩形区域 s16 m_printNum;//打印份数 s16 m_startPoint;//打印起始点 s16 m_printState;//打印状态 QPicture m_showPic;//文件-显示的图片-1像素绘制的pic QPicture m_sendPic;//文件-发送的图片-实际笔宽绘制的pic 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; 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_showPic = pic; m_sendPic = pic; 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_showPic = item.m_showPic; m_sendPic = item.m_sendPic; 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_showPic = item.m_showPic; m_sendPic = item.m_sendPic; 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 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