📄 uiworkrepcontainer.cpp
字号:
#include "UIWorkRepContainer.h"
#include "UI_Button.h"
#include "UI_Form.h"
#include "UI_String.h"
#include "UI_CheckBox.h"
#include "DBWorkRep.h"
#include "WorkRepContent.h"
#include "UICallCenterSend.h"
#include "applay.h"
#define ID_WORKREPCONTAIN_BASE ID_XXX_BASE+100
//#define ID_WORKREPCONTAIN_SEND ID_WORKREPCONTAIN_BASE
#define ID_WORKREPCONTAIN_DELETE ID_WORKREPCONTAIN_BASE+1
#define ID_WORKREPCONTAIN_RETURN ID_WORKREPCONTAIN_BASE+2
#define ID_WORKREPCONTAIN_STRING_S ID_WORKREPCONTAIN_BASE+3
#define ID_WORKREPCONTAIN_CHECK_S ID_WORKREPCONTAIN_BASE+4
UIWorkRepContainer::UIWorkRepContainer (BOOLEAN isDraft, SHORT iRecId)
:m_bIsDraft (isDraft), m_iRecId (iRecId)
{
}
//##ModelId=3D698F1C0342
Err UIWorkRepContainer::Initialize()
{
Err result = ERR_UNKOWN;
ObjectID form_id = PDAXWT_FORM;
DBWorkRep DBS (m_bIsDraft);
WorkRepContent content;
DBS.OpenTable (EMDB_RDONLY);
DBS.GetContent (m_iRecId, &content);
DBS.CloseTable ();
m_UIWorkRepContent.Initialize ();
m_UIWorkRepContent.SetContent (&content);
if (m_bIsDraft)
{
UI_StringInit(ID_WORKREPCONTAIN_STRING_S,
10, 125,//x,y
15, 30,//height,width
(BYTE*)"发件箱", form_id);
StringSetAttribute(ID_WORKREPCONTAIN_STRING_S, TRUE, TRUE);
UI_CheckBoxInit(ID_WORKREPCONTAIN_CHECK_S,
52, 127,//x,y
ID_WORKREPCONTAIN_CHECK_S, form_id);
ControlSetAttributes(ID_WORKREPCONTAIN_CHECK_S, TRUE, FALSE, FALSE, TRUE, TRUE);
//UI_CheckBoxSetControlValue(ID_WORKREP_CHECK_D, TRUE);
}
//create delete button
UI_ButtonInit(ID_WORKREPCONTAIN_DELETE,
87, 125,//x,y
15, 30,//height,width
(BYTE*)"删除",//name
form_id);
//ControlSetAttributes(ID_WORKREPCONTAIN_SEND, TRUE,FALSE,FALSE,TRUE,TRUE);
ControlSetAttributes(ID_WORKREPCONTAIN_DELETE, TRUE,FALSE,FALSE,TRUE,TRUE);
//create return button
UISectionCenter::CreateUIObjects();
result = SUC;
return result;
}
//##ModelId=3D6E32C303D1
void UIWorkRepContainer::Show()
{
m_UIWorkRepContent.Show();
if (m_bIsDraft)
{
ControlDrawControl(ID_WORKREPCONTAIN_CHECK_S);
StringDrawString (ID_WORKREPCONTAIN_STRING_S);
}
//ControlDrawControl(ID_WORKREPCONTAIN_SEND);
ControlDrawControl(ID_WORKREPCONTAIN_DELETE);
DrawReturnButton ();
}
void UIWorkRepContainer::SaveContent()
{
WorkRepContent ContentOld, ContentNew;
DBWorkRep theDBWorkRep(m_bIsDraft);
theDBWorkRep.OpenTable(EMDB_RDONLY);
theDBWorkRep.GetContent(m_iRecId, &ContentOld);
theDBWorkRep.CloseTable();
m_UIWorkRepContent.GetContent(&ContentNew);
if (0 != memcmp(ContentOld.m_strContent, ContentNew.m_strContent, WorkRepContent::CONTENT_LEN))
{
theDBWorkRep.OpenTable(EMDB_RDWR);
theDBWorkRep.ModifyContent(m_iRecId, &ContentNew);
theDBWorkRep.CloseTable();
}
}
//##ModelId=3D55D36D022E
Err UIWorkRepContainer::OnReturnBtn()
{
//SaveContent();
OnReturnClick();
return SUC;//Not Finished
}
//##ModelId=3D698F000111
Err UIWorkRepContainer::OnDeleteBtn()
{
ObjectID control_id;
if (m_bIsDraft &&
(TRUE == ControlGetCheckedCheckbox (PDAXWT_FORM, ID_WORKREPCONTAIN_CHECK_S, &control_id)))
{
SaveContent ();
DBWorkRep theDBWorkRep(m_bIsDraft);
theDBWorkRep.OpenTable(EMDB_RDWR);
Err bSet = theDBWorkRep.SetIsDraftFlg(m_iRecId, FALSE);
theDBWorkRep.CloseTable();
//db is full, no continue to delete
if (bSet != SUC)
{
return SUC;
}
}
else
{
DBWorkRep DBS(m_bIsDraft);
DBS.OpenTable(EMDB_RDWR);
DBS.DelRec(m_iRecId);
DBS.CloseTable();
}
//return to previous view
//Add by cao 11.15
//UIInfoBackBase::OnReturnClick();
UIInfoBackBase::Exit ();
this->pPrev->Enter ();
delete this;
return SUC;
}
/*
//##ModelId=3D55D36D022E
Err UIWorkRepContainer::OnSendBtn()
{
SaveContent ();
if (m_bIsDraft)
{
DBWorkRep theDBWorkRep(m_bIsDraft);
theDBWorkRep.OpenTable(EMDB_RDWR);
Err bSet = theDBWorkRep.SetIsDraftFlg(m_iRecId, FALSE);
theDBWorkRep.CloseTable();
//db is full, no go to call center
if (bSet != SUC)
{
return SUC;
}
}
//Exit ();
//SaveContent();
this->DestroyWindow();
UICallCenterSend *pUICallCenter = new UICallCenterSend;
pUICallCenter->Enter(this);
CallCenterSendWorkRep(m_iRecId);
//CommProxy->Send(??, m_iRecId);
return SUC;
}
*/
//##ModelId=3D698EE501EE
BOOLEAN UIWorkRepContainer::HandleEvent(EvtType* event)
{
if (!m_UIWorkRepContent.HandleEvent (event))
{
switch (event->eventType)
{
case EVT_CONTROL_SELECT:
switch(event->eventID)
{
case ID_MAIN_RETURN:
OnReturnBtn();
return TRUE;
break;
case ID_WORKREPCONTAIN_DELETE:
OnDeleteBtn ();
return TRUE;
break;
default:
return FALSE;
}
break;
default: return FALSE;
}
}
else
{
return TRUE;
}
return FALSE;
}
//##ModelId=3D698EDE0339
Err UIWorkRepContainer::DestroyWindow()
{
SHORT num = 0;
SHORT i = 0;
ObjectID form_id = PDAXWT_FORM;
//delete content area
m_UIWorkRepContent.DestroyWindow();
if (m_bIsDraft)
{
UI_FormDeleteObject (ID_WORKREPCONTAIN_STRING_S, form_id);
UI_FormDeleteObject (ID_WORKREPCONTAIN_CHECK_S, form_id);
}
//UI_FormDeleteObject (ID_WORKREPCONTAIN_SEND, form_id);
UI_FormDeleteObject (ID_WORKREPCONTAIN_DELETE, form_id);
/*
ControlDeleteControl(ID_WORKREPCONTAIN_SEND);
ControlDeleteControl(ID_WORKREPCONTAIN_DELETE);
*/
//delete return button
UISectionCenter::DestroyUIObjects();
return SUC;
}
Err UIWorkRepContainer::Exit ()
{
ObjectID control_id;
if (m_bIsDraft &&
(TRUE == ControlGetCheckedCheckbox (PDAXWT_FORM, ID_WORKREPCONTAIN_CHECK_S, &control_id)))
{
WorkRepContent ContentNew;
memset(ContentNew.m_strContent, 0, sizeof(ContentNew.m_strContent));
DBWorkRep theDBWorkRep(FALSE);
m_UIWorkRepContent.GetContent(&ContentNew);
theDBWorkRep.OpenTable(EMDB_RDWR);
theDBWorkRep.AddWorkRepRec(&ContentNew);
theDBWorkRep.CloseTable();
SaveContent ();
}
else
{
SaveContent ();
}
return UIInfoNagvBase::Exit ();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -