📄 mypictures.cpp
字号:
#include "stdio.h"
#include "tablestructs.h"
#include "paintbitmap.h"
#include "paintcombo.h"
#include "paintline.h"
#include "paintstdblock.h"
#include "painttext.h"
#include "paintvalue.h"#include "mypicture.h"#include "mypictures.h"CMyPictures::CMyPictures(){ m_pPictureList = new list<CMyPicture*>;}CMyPictures::~CMyPictures(){ delete m_pPictureList;}CMyPicture* CMyPictures::GetMyPicture(int id){ list<CMyPicture*>::iterator iter; for( iter = m_pPictureList->begin(); iter != m_pPictureList->end(); iter++) { CMyPicture* pPic = (CMyPicture*)(*iter); if( pPic->m_id == id) return pPic; } return 0;}void CMyPictures::BuildPictures(string fileName){ printf("Build Pictures\n");
FILE *fp;
if( (fp = fopen(fileName.c_str(),"rb")) == 0)
{
printf("file open error\n");
return;
}
int count = 0;
fread(&count, sizeof(int), 1, fp);
int i = 0; printf("count = %d", count);
while( i < count)
{
TABLE_DESCRIBEPICTURE obj; memset( &obj, 0, sizeof(TABLE_DESCRIBEPICTURE));
fread( &obj, sizeof(struct TABLE_DESCRIBEPICTURE), 1, fp);
CMyPicture *pic = new CMyPicture(); printf("PicID=%s\n", obj.Name);
pic->m_PicProperty.GraphName = obj.Name;
pic->m_PicProperty.PicID = obj.PicID;
pic->m_PicProperty.PicNo = obj.PicNo;
pic->m_PicProperty.PicType = obj.Type;
pic->m_PicProperty.PicHeight = obj.Height;
pic->m_PicProperty.PicWidth = obj.Width;
pic->m_PicProperty.ConsoleNo = obj.ConsoleNo; BuildBmpList(pic, "./table/bmpObject.txt"); BuildLineList(pic, "./table/lineObject.txt"); BuildTextList(pic, "./table/textObject.txt"); BuildValueList(pic, "./table/valueObject.txt"); BuildBlockList(pic, "./table/standardBlockObj.txt"); BuildComboList(pic, "./table/comboObj.txt"); m_pPictureList->push_back(pic);
i++;
}
fclose(fp); printf("Leave Built Pictures\n");}void CMyPictures::BuildBmpList(CMyPicture* pic,string fileName)
{
printf("Enter Build bmpobject list\n");
FILE *fp;
if( (fp = fopen(fileName.c_str(),"rb")) == 0)
{
printf("file open error\n");
return;
}
int count = 0;
fread(&count, sizeof(int), 1, fp);
int i = 0;
while( i < count)
{
TABLE_BMPOBJECT obj;
fread( &obj, sizeof(TABLE_BMPOBJECT), 1, fp); if( obj.PicID != pic->m_PicProperty.PicID) { i++; continue; }
CPaintBitmap* bmp = new CPaintBitmap();
bmp->m_bmpObj.LeftUpPoint.x = obj.MarkPointX;
bmp->m_bmpObj.LeftUpPoint.y = obj.MarkPointY;
bmp->m_bmpObj.RightDownPoint.x = obj.WidthCX;
bmp->m_bmpObj.RightDownPoint.y = obj.WidthCY;
bmp->m_bmpObj.Angle = obj.Angle;
bmp->m_bmpObj.Power = obj.Power;
bmp->m_bmpObj.ObjId = obj.BmpObjID;
bmp->m_bmpObj.ObjIdPoint.x = obj.IDpointX;
bmp->m_bmpObj.ObjIdPoint.y = obj.IDpointY;
bmp->m_bmpObj.Character = obj.Property;
bmp->m_nGraphItemType = obj.PicPatternType;
bmp->m_nPropertyType = obj.ProperType;
bmp->m_nSerialNo = obj.BmpNo;
bmp->m_bmpObj.BySite = obj.BySite;
bmp->m_nDeviceModel = obj.DeviceMode;
bmp->m_nSysNodeCode = obj.SysNodeNo;
bmp->m_nNodeCode = obj.NodeNo;
bmp->m_PictureID = obj.PicID; // printf("%s\n",bmp->m_PictureID.c_str());
pic->m_pBmpList->push_back(bmp);
i++;
}
fclose(fp); printf("Leave Build bmpobject list\n");
}
void CMyPictures::BuildLineList(CMyPicture* pic,string fileName)
{
printf("Enter Build lineobject list\n");
FILE *fp;
if( (fp = fopen(fileName.c_str(),"rb")) == 0)
{
printf("file open error\n");
return;
}
int count = 0;
fread(&count, sizeof(int), 1, fp);
int i = 0;
while( i < count)
{
TABLE_LINEOBJECT obj;
fread( &obj, sizeof(TABLE_LINEOBJECT), 1, fp); if( obj.PicID != pic->m_PicProperty.PicID) { i++; continue; }
CPaintLine* line = new CPaintLine();
line->m_lineObj.StartPoint.x = obj.StartX;
line->m_lineObj.StartPoint.y = obj.StartY;
line->m_lineObj.EndPoint.x = obj.EndX;
line->m_lineObj.EndPoint.y = obj.EndY;
line->m_lineObj.nCharacter = obj.Property;
line->m_lineObj.nLineColorPen = obj.TextColor;
line->m_lineObj.QiePoint.x = obj.SecantX;
line->m_lineObj.QiePoint.y = obj.SecantY;
line->m_nGraphItemType = obj.Type;
line->m_nPropertyType = obj.ProperType;
line->m_nSerialNo = obj.LinNo;
line->m_StID = obj.StID;
line->m_ObjID = obj.ObjID;
line->m_lineProperty.nNodeCode = obj.NodeNo;
line->m_nDeviceModel = obj.DeviceMode;
line->m_nSysNodeCode = obj.SysNodeNo;
line->m_nNodeCode = obj.NodeNo;
line->m_PictureID = obj.PicID;
pic->m_pLineList->push_back(line);
i++;
}
fclose(fp); printf("Leave Build lineobject list\n");
}
void CMyPictures::BuildTextList(CMyPicture* pic,string fileName)
{
printf("Enter Build textobject list\n");
FILE *fp;
if( (fp = fopen(fileName.c_str(),"rb")) == 0)
{
printf("file open error\n");
return;
}
int count = 0;
fread(&count, sizeof(int), 1, fp);
int i = 0;
while( i < count)
{
TABLE_TEXTOBJECT obj;
fread( &obj, sizeof(TABLE_TEXTOBJECT), 1, fp); if( obj.PicID != pic->m_PicProperty.PicID) { i++; continue; }
CPaintText* text = new CPaintText();
text->m_nGraphItemType = obj.ObjID;
text->m_textObj.TextRect.left = obj.MarkPointX;
text->m_textObj.TextRect.top = obj.MarkPointY;
text->m_textObj.TextRect.right = obj.EndPointX;
text->m_textObj.TextRect.bottom = obj.EndPointY;
text->m_textObj.nCharacter = obj.Property;
text->m_textObj.nTextColor = obj.TextColor;
text->m_textObj.nTextFont = obj.TextFont;
text->m_textObj.nTextHeight = obj.TextHeight;
text->m_textObj.nTextWid = obj.TextWidth;
text->m_textObj.Text = obj.TextStr; printf("TextStr=%s\n",obj.TextStr);
text->m_nPropertyType = obj.ProperType;
text->m_nSerialNo = obj.TextNo;
text->m_textObj.nTextBkColor = obj.TextBKColor;
text->m_nDeviceModel = obj.DeviceMode;
text->m_PictureID = obj.PicID;
pic->m_pTextList->push_back(text);
i++;
}
fclose(fp); printf("Leave Build textobject list\n");
}
void CMyPictures::BuildValueList(CMyPicture* pic, string fileName)
{ fileName = "";
printf("Enter Build valueobject list\n"); printf("Leave Build valueobject list\n");
}
void CMyPictures::BuildBlockList(CMyPicture* pic, string fileName)
{
printf("Enter blockobject list\n");
FILE *fp;
if( (fp = fopen(fileName.c_str(),"rb")) == 0)
{
printf("file open error\n");
return;
}
int count = 0;
fread(&count, sizeof(int), 1, fp);
int i = 0;
while( i < count)
{
TABLE_STANDARDBLOCKOBJ obj;
fread( &obj, sizeof(TABLE_STANDARDBLOCKOBJ), 1, fp); if( obj.PicID != pic->m_PicProperty.PicID) { i++; continue; }
CPaintStdblock* block = new CPaintStdblock();
block->m_nGraphItemType = obj.PicPatternType;
block->m_nPropertyType = obj.ObjType;
block->m_stdblockObj.nCharacter = obj.Property;
block->m_stdblockObj.nPen = obj.Pen;
block->m_stdblockObj.nFillColor = obj.FillColor;
block->m_stdblockObj.ObjId = obj.SBObjID;
block->m_nSerialNo = obj.SBObjNo;
block->m_stdblockObj.pointStart.x = obj.MarkPointX1;
block->m_stdblockObj.pointStart.y = obj.MarkPointY1;
block->m_stdblockObj.pointEnd.x = obj.MarkPointX2;
block->m_stdblockObj.pointEnd.y = obj.MarkPointY2;
block->m_stdblockObj.pointOther.x = obj.MarkPointX3;
block->m_stdblockObj.pointOther.y = obj.MarkPointY3;
block->m_stdblockObj.ObjIdPoint.x = obj.IDpointX;
block->m_stdblockObj.ObjIdPoint.y = obj.IDpointY;
block->m_stdblockObj.bySite = obj.BySite;
block->m_nDeviceModel = obj.DeviceMode;
block->m_StID = obj.StID;
block->m_ObjID = obj.SBObjID;
block->m_nSysNodeCode = obj.SysNodeNo;
block->m_nNodeCode = obj.NodeNo; block->m_PictureID = obj.PicID;
pic->m_pBlockList->push_back(block);
i++;
}
fclose(fp); printf("Leave Built blockobject list\n");
}
void CMyPictures::BuildComboList(CMyPicture* pic, string fileName)
{ fileName ="";
printf("Enter Built Combo list\n"); printf("Leave Built Combo list\n");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -