⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uidraftbox.cpp

📁 嵌入式系统PDA的流程
💻 CPP
字号:
#include "UIDraftBox.h"

#include "UI_Button.h"
#include "UI_String.h"
#include "UI_Form.h"

#include "DBWorkRep.h"
#include "DBProbSolv.h"

#include "UIWorkRepList.h"
#include "UISolvList.h"

#define ID_CGX_BASE			ID_XXX_BASE+40
#define ID_CGX_XZD			ID_CGX_BASE
#define ID_CGX_GZBG			ID_CGX_BASE+1
#define ID_CGX_ZJ			ID_CGX_BASE+2
#define ID_CGX_XZD_NUM		ID_CGX_BASE+3
#define ID_CGX_GZBG_NUM		ID_CGX_BASE+4
#define ID_CGX_RETURN		ID_CGX_BASE+5

UIDraftBox::UIDraftBox ()
{
	m_pTitle = "草稿箱";
}

//##ModelId=3D63640D0372
BOOLEAN UIDraftBox::HandleEvent(EvtType* event)
{
	switch (event->eventType)
	{
		
	case EVT_CONTROL_SELECT:
		switch(event->eventID)
		{
		case ID_MAIN_RETURN:
				this->OnReturnClick();
				return TRUE;
				break;
		case ID_CGX_GZBG:
			this->OnGZBGClick ();
			return TRUE;
			break;
		case ID_CGX_XZD:
			OnXZDClick ();
			return TRUE;
			break;
		default: return FALSE;
		}
	default: return FALSE;
	}
	return FALSE;
}

//##ModelId=3D50ED830291
SHORT UIDraftBox::GetSolveCount()
{
	DBProbSolv DBS(TRUE);
	SHORT	iNum = 0;

	DBS.OpenTable(EMDB_RDONLY);
	iNum = DBS.GetDraftRecCnt();
	DBS.CloseTable();

	return iNum;
}

//##ModelId=3D50EDBA03BD
SHORT UIDraftBox::GetWorkRepCount()
{
	DBWorkRep DBS(TRUE);
	SHORT	iNum = 0;

	DBS.OpenTable(EMDB_RDONLY);
	iNum = DBS.GetDraftRecCnt();
	DBS.CloseTable();
	return iNum;
}

//##ModelId=3D625BD30149
Err UIDraftBox::Initialize()
{
	Err result = ERR_UNKOWN;
	ObjectID form_id = PDAXWT_FORM;
	BYTE temp[10];
	SHORT num = 0;

	UI_ButtonInit2 (ID_CGX_XZD, 10, SECTIONUP_HEIGHT+25, 
		15, 40,(BYTE*)"消障单", form_id);
	UI_ButtonInit2 (ID_CGX_GZBG, 10-6, SECTIONUP_HEIGHT+45, 
		15, 40+12,(BYTE*)"工作报告", form_id);

	UI_StringInit (ID_CGX_ZJ, 70, SECTIONUP_HEIGHT+5, 
		15, 30,(BYTE*)"总计", form_id);

	//消障单总条数
	num = GetSolveCount();
	sprintf ((char*)temp, "%d", num);
	UI_StringInit (ID_CGX_XZD_NUM, 70, SECTIONUP_HEIGHT+25,
		15, 30, (BYTE*)temp, form_id);

	//工作报告总条数
	num = GetWorkRepCount();
	sprintf ((char*)temp, "%d", num);
	UI_StringInit (ID_CGX_GZBG_NUM, 70, SECTIONUP_HEIGHT+45,
		15, 30, (BYTE*)temp, form_id);

	ControlSetAttributes(ID_CGX_XZD,TRUE,FALSE,FALSE,TRUE,TRUE);
	ControlSetAttributes(ID_CGX_GZBG,TRUE,FALSE,FALSE,TRUE,TRUE);

	StringSetAttribute(ID_CGX_ZJ,TRUE,TRUE);

	StringSetAttribute(ID_CGX_XZD_NUM,TRUE,TRUE);
	StringSetAttribute(ID_CGX_GZBG_NUM,TRUE,TRUE);

	//创建返回按键
	UISectionCenter::CreateUIObjects();

	result = SUC;
	return result;
}

void UIDraftBox::Show()
{
	ControlDrawControl(ID_CGX_XZD);
	ControlDrawControl(ID_CGX_GZBG);

	StringDrawString(ID_CGX_ZJ);

	StringDrawString(ID_CGX_XZD_NUM);
	StringDrawString(ID_CGX_GZBG_NUM);

	DrawReturnButton ();
}

//##ModelId=3D69879903C9
Err UIDraftBox::DestroyWindow()
{
	Err result = ERR_UNKOWN;
	//ObjectBounds bounds;
	ObjectID form_id = PDAXWT_FORM;

	UI_FormDeleteObject (ID_CGX_XZD, form_id);
	UI_FormDeleteObject (ID_CGX_GZBG, form_id);

	UI_FormDeleteObject (ID_CGX_ZJ, form_id);

	UI_FormDeleteObject (ID_CGX_XZD_NUM, form_id);
	UI_FormDeleteObject (ID_CGX_GZBG_NUM, form_id);

	//删除返回按键
	UISectionCenter::DestroyUIObjects();

	//LcdEraseRegion(&bounds);

	result = SUC;
	return result;
}

Err UIDraftBox::OnGZBGClick ()
{
	Err result = ERR_UNKOWN;

	UIWorkRepList *pUIWorkRepList = new UIWorkRepList(TRUE);	
	this->DestroyWindow();
	if(!VERIFY_OK(pUIWorkRepList->Enter(this)))
	{
		this->Initialize();
		this->Show();
	}

	result = SUC;
	return result;
}

Err UIDraftBox::OnXZDClick ()
{
	Err result = ERR_UNKOWN;

	UISolvList *pUISolvList = new UISolvList(TRUE);	
	this->DestroyWindow();
	if(!VERIFY_OK(pUISolvList->Enter(this)))
	{
		this->Initialize();
		this->Show();
	}

	result = SUC;
	return result;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -