📄 mainscreen.c
字号:
//IWIDGET_SetProperty(pIScrollWidget,PROP_SCROLLPAD,0);
IFORM_GetWidget((IForm*)pMe->pIMainMenu,WID_FORM,&mainFormWidget);
IWIDGET_SetBGColor(mainFormWidget,MAKE_RGB(255,0,0));
IWIDGET_SetBorderWidth(mainFormWidget,1);
IWIDGET_SetBorderColor(mainFormWidget,MAKE_RGB(150,200,150));
IWIDGET_SetSelectedBGColor(mainFormWidget,MAKE_RGB(255,0,0));
IFORM_SetText((IForm*)pMe->pIMainMenu,FID_SOFTKEY1,menu);
//IDECORATOR_SetWidget((IDecorator*)pIScrollWidget,mainFormWidget);
IFORM_SetWidget((IForm*)pMe->pIMainMenu,WID_FORM,mainFormWidget);
}
}
}*/
IValueModel *pINameVM=NULL;
int nErr=0;
nErr=ISHELL_CreateInstance(pMe->pIShell,AEECLSID_LISTFORM,(void**)&pMe->pIMainMenu);
IFORM_SetText((IForm*)pMe->pIMainMenu,FID_SOFTKEY1,L"Menu");
if(nErr==0)
{
int i=0;
IVectorModel *pIVectorModel=NULL;
IWidget* pIStatic=NULL;
IWidget* pIWTitle=NULL;
nErr=ISHELL_CreateInstance(pMe->pIShell,AEECLSID_STATICWIDGET,(void**)&pIStatic);
if(SUCCESS == nErr) {
//IFORM_GetTitleWidget(pMe->pIMainMenu,&pIWTitle);
//IWIDGET_SetBGColor(pIWTitle,MAKE_RGB(255,0,0));
(void)IWIDGET_SetBorderWidth(pIStatic, 1);
(void)IWIDGET_SetBorderColor(pIStatic, MAKE_RGBA(150,0,0,255));
(void)IWIDGET_SetSelectedBorderColor(pIStatic, MAKE_RGBA(49,45,138,255));
(void)IWIDGET_SetProperty(pIStatic, PROP_FGCOLOR, MAKE_RGBA(0,0,255,255));
(void)IWIDGET_SetBGColor(pIStatic, MAKE_RGBA(244,252,152,255));
(void)IWIDGET_SetProperty(pIStatic, PROP_SELECTED_FGCOLOR, MAKE_RGBA(255,255,255,255));
(void)IWIDGET_SetSelectedBGColor(pIStatic, MAKE_RGBA(166,166,255,255));
(void)IWIDGET_SetPadding(pIStatic, 1);
(void)IWIDGET_SetLeftPadding(pIStatic, 5);
}
//IFORM_SetProperty((IForm*)pMe->pIMainMenu,FID_PREFRECT,(uint32)&rect);
if(SUCCESS == nErr){
(void)IFORM_SetWidget((IForm*)pMe->pIMainMenu, WID_LISTITEM, pIStatic);
}
// Vector Model
nErr = ISHELL_CreateInstance(pMe->pIShell, AEECLSID_VECTORMODEL, (void**)&pIVectorModel);
if(SUCCESS == nErr){
// Insert the strings
for (i=0; i < CHOICE_MAXSIZE; i++) {
nErr = IVECTORMODEL_Add(pIVectorModel, (void*)aItems[i]);
}
// set the model
nErr = IFORM_SetProperty((IForm*)pMe->pIMainMenu, FID_LISTMODEL, (uint32)pIVectorModel);
// set view model listener
/*{
IModel *pivm;
nErr = IFORM_GetProperty(me->piForm, FID_VIEWMODEL, (uint32)&pivm);
if(SUCCESS == nErr){
(void)IMODEL_AddListenerEx(CAST(IModel*, pivm), &me->mlList, (PFNLISTENER)namelistform_SelectListener, (void*)me);
}
RELEASEIF(pivm);
} */
}
IFORM_SetSelectHandler((IForm*)pMe->pIMainMenu,(PFNSELECT)spm_MenuSelectionHandler,pMe);
HANDLERDESC_Init(&pMe->pIMainMenuHandler,spm_MenuEventHandler,pMe,0);
IFORM_SetHandler((IForm*)pMe->pIMainMenu,&pMe->pIMainMenuHandler);
}
return 0;//nErr;
}
void spm_MenuSelectionHandler(mainscreen *pMe,int idOption)
{
IWidget *formWidget=NULL;
AECHAR *str;
str=(AECHAR*)MALLOC(sizeof(10));
if(idOption==0)
DBGPRINTF("Setting selected.............................");
if(spm_CreateSubMenu(pMe,idOption)==0)
DBGPRINTF("Setting menu Created:.............");
else if(idOption==1)
STRTOWSTR("Setting",str,10);
else
STRTOWSTR("Event",str,10);
IFORM_GetWidget(IROOTFORM_TO_IFORM(pMe->pIRootForm),WID_STATIC,&formWidget);
if(formWidget)
{
IWIDGET_SetText(formWidget,str,TRUE);
IFORM_SetWidget(IROOTFORM_TO_IFORM(pMe->pIRootForm),WID_FORM,formWidget);
IWIDGET_Release(formWidget);
}
//IROOTFORM_PopForm(pMe->pIRootForm);
//IPOPUPMENU_Release(pMe->pIMainMenu);
//IFORM_Release(pMe->pIMainMenu);
//pMe->pIMainMenu=NULL;
}
boolean spm_MenuEventHandler(mainscreen *pMe,AEEEvent eCode,uint16 wParam,uint32 dwParam)
{
if(eCode==EVT_WDG_GETPROPERTY && wParam==FID_PREFRECT)
{
AEERect rc;
rc.x=3;
rc.dy=pMe->DeviceInfo.cyScreen/2-15;
rc.y=pMe->DeviceInfo.cyScreen-rc.dy-15;
rc.dx=pMe->DeviceInfo.cxScreen/2;
*(AEERect*)dwParam=rc;
return TRUE;
}
if(eCode==EVT_KEY && wParam==AVK_CLR)
{
if(pMe->pIMainMenu)
{
IFORM_Release(pMe->pIMainMenu);
//IPOPUPMENU_Release(pMe->pIMainMenu);
pMe->pIMainMenu=NULL;
}
}
return HANDLERDESC_Call(&pMe->pIMainMenuHandler,eCode,wParam,dwParam);
}
int spm_CreateExitConfDialog(mainscreen *pMe)
{
IWidget* backdropWidget=NULL;
ISHELL_CreateInstance(pMe->pIShell,AEECLSID_WARNDIALOG,(void**)&pMe->exitConfirmationDialog);
if(pMe->exitConfirmationDialog)
{
IFORM_SetSoftkeys((IForm*)pMe->exitConfirmationDialog,RES_FILE,EXITFORMSOFTKEY1,EXITFORMSOFTKEY2);
IFORM_SetCancelKey((IForm*)pMe->exitConfirmationDialog,AVK_SOFT2);
IFORM_SetResText((IForm*)pMe->exitConfirmationDialog,FID_TITLE,RES_FILE,EXITFORMTITLE);
IFORM_SetResText((IForm*)pMe->exitConfirmationDialog,FID_TEXT,RES_FILE,EXITFORMTEXT);
IFORM_GetWidget((IForm*)pMe->exitConfirmationDialog,WID_BACKDROP,&backdropWidget);
IWIDGET_SetTransparency(backdropWidget,20);
IWIDGET_SetBGColor(backdropWidget,MAKE_RGB(166,166,255));
IWIDGET_SetFGColor(backdropWidget,MAKE_RGB(255,255,255));
IFORM_SetWidget((IForm*)pMe->exitConfirmationDialog,WID_BACKDROP,backdropWidget);
IWIDGET_Release(backdropWidget);
HANDLERDESC_Init(&pMe->exitConfirmationHandler,spm_exitConfirmationDialog_HandleEvent,pMe,0);
//IFORM_SetHandler((IForm*)pMe->exitConfirmationDialog,&pMe->exitConfirmationHandler);
return AEE_SUCCESS;
}
return EFAILED;
}
boolean spm_exitConfirmationDialog_HandleEvent(mainscreen *pMe,AEEEvent eCode,uint16 wParam,uint32 dwParam)
{
if(eCode=EVT_KEY)
{
switch(wParam)
{
case AVK_SOFT1:
ISHELL_CloseApplet(pMe->pIShell,TRUE);
return TRUE;
case AVK_SOFT2:
case AVK_CLR:
if(pMe->exitConfirmationDialog)
{
IDIALOG_Release(pMe->exitConfirmationDialog);
pMe->exitConfirmationDialog=NULL;
}
}
}
return HANDLERDESC_Call(&pMe->exitConfirmationHandler,eCode,wParam,dwParam);
}
int spm_CreateSubMenu(mainscreen *pMe,uint16 id)
{
int nErr=0;
if(id==0)
{
ISHELL_CreateInstance(pMe->pIShell,AEECLSID_LISTFORM,(void**)&pMe->pISettingMenu);
IFORM_SetText(pMe->pISettingMenu,FID_SOFTKEY1,L"Menu->Setting");
if(nErr==0)
{
int i=0;
IVectorModel *pIVectorModel=NULL;
IWidget* pIStatic=NULL;
nErr=ISHELL_CreateInstance(pMe->pIShell,AEECLSID_STATICWIDGET,(void**)&pIStatic);
if(SUCCESS == nErr) {
(void)IWIDGET_SetBorderWidth(pIStatic, 1);
(void)IWIDGET_SetBorderColor(pIStatic, MAKE_RGBA(255,255,255,255));
(void)IWIDGET_SetSelectedBorderColor(pIStatic, MAKE_RGBA(49,45,138,255));
(void)IWIDGET_SetProperty(pIStatic, PROP_FGCOLOR, MAKE_RGBA(0,0,255,255));
(void)IWIDGET_SetBGColor(pIStatic, MAKE_RGBA(244,252,152,255));
(void)IWIDGET_SetProperty(pIStatic, PROP_SELECTED_FGCOLOR, MAKE_RGBA(255,255,255,255));
(void)IWIDGET_SetSelectedBGColor(pIStatic, MAKE_RGBA(166,166,255,255));
(void)IWIDGET_SetPadding(pIStatic, 1);
(void)IWIDGET_SetLeftPadding(pIStatic, 5);
}
if(SUCCESS == nErr){
(void)IFORM_SetWidget(pMe->pISettingMenu, WID_LISTITEM, pIStatic);
}
nErr = ISHELL_CreateInstance(pMe->pIShell, AEECLSID_VECTORMODEL, (void**)&pIVectorModel);
if(SUCCESS == nErr){
for (i=0; i < CHOICE_SETTINGSIZE; i++) {
nErr = IVECTORMODEL_Add(pIVectorModel, (void*)aItemsSetting[i]);
}
nErr = IFORM_SetProperty(pMe->pISettingMenu, FID_LISTMODEL, (uint32)pIVectorModel);
}
IFORM_SetSelectHandler(pMe->pISettingMenu,(PFNSELECT)spm_SettingSelectionHandler,pMe);
HANDLERDESC_Init(&pMe->pISettingMenuHandler,spm_SettingEventHandler,pMe,0);
IFORM_SetHandler(pMe->pISettingMenu,&pMe->pISettingMenuHandler);
IROOTFORM_PushForm(pMe->pIRootForm,pMe->pISettingMenu);
}
}
else if(id==1)
{
ISHELL_CreateInstance(pMe->pIShell,AEECLSID_LISTFORM,(void**)&pMe->pIDisplayMenu);
IFORM_SetText(pMe->pIDisplayMenu,FID_SOFTKEY1,L"Menu->Display");
if(nErr==0)
{
int i=0;
IVectorModel *pIVectorModel=NULL;
IWidget* pIStatic=NULL;
nErr=ISHELL_CreateInstance(pMe->pIShell,AEECLSID_STATICWIDGET,(void**)&pIStatic);
if(SUCCESS == nErr) {
(void)IWIDGET_SetBorderWidth(pIStatic, 1);
(void)IWIDGET_SetBorderColor(pIStatic, MAKE_RGBA(255,255,255,255));
(void)IWIDGET_SetSelectedBorderColor(pIStatic, MAKE_RGBA(49,45,138,255));
(void)IWIDGET_SetProperty(pIStatic, PROP_FGCOLOR, MAKE_RGBA(0,0,255,255));
(void)IWIDGET_SetBGColor(pIStatic, MAKE_RGBA(244,252,152,255));
(void)IWIDGET_SetProperty(pIStatic, PROP_SELECTED_FGCOLOR, MAKE_RGBA(255,255,255,255));
(void)IWIDGET_SetSelectedBGColor(pIStatic, MAKE_RGBA(166,166,255,255));
(void)IWIDGET_SetPadding(pIStatic, 1);
(void)IWIDGET_SetLeftPadding(pIStatic, 5);
}
if(SUCCESS == nErr){
(void)IFORM_SetWidget(pMe->pIDisplayMenu, WID_LISTITEM, pIStatic);
}
nErr = ISHELL_CreateInstance(pMe->pIShell, AEECLSID_VECTORMODEL, (void**)&pIVectorModel);
if(SUCCESS == nErr){
for (i=0; i < CHOICE_DISPLAYSIZE; i++) {
nErr = IVECTORMODEL_Add(pIVectorModel, (void*)aItemsDisplay[i]);
}
nErr = IFORM_SetProperty(pMe->pIDisplayMenu, FID_LISTMODEL, (uint32)pIVectorModel);
}
IFORM_SetSelectHandler(pMe->pIDisplayMenu,(PFNSELECT)spm_DisplaySelectionHandler,pMe);
HANDLERDESC_Init(&pMe->pIDisplayMenuHandler,spm_DisplayEventHandler,pMe,0);
IFORM_SetHandler(pMe->pIDisplayMenu,&pMe->pIDisplayMenuHandler);
IROOTFORM_PushForm(pMe->pIRootForm,pMe->pIDisplayMenu);
}
}
else if(id==2)
{
ISHELL_CreateInstance(pMe->pIShell,AEECLSID_LISTFORM,(void**)&pMe->pIToolsMenu);
IFORM_SetText(pMe->pIToolsMenu,FID_SOFTKEY1,L"Menu->Tools");
if(nErr==0)
{
int i=0;
IVectorModel *pIVectorModel=NULL;
IWidget* pIStatic=NULL;
nErr=ISHELL_CreateInstance(pMe->pIShell,AEECLSID_STATICWIDGET,(void**)&pIStatic);
if(SUCCESS == nErr) {
(void)IWIDGET_SetBorderWidth(pIStatic, 1);
(void)IWIDGET_SetBorderColor(pIStatic, MAKE_RGBA(255,255,255,255));
(void)IWIDGET_SetSelectedBorderColor(pIStatic, MAKE_RGBA(49,45,138,255));
(void)IWIDGET_SetProperty(pIStatic, PROP_FGCOLOR, MAKE_RGBA(0,0,255,255));
(void)IWIDGET_SetBGColor(pIStatic, MAKE_RGBA(244,252,152,255));
(void)IWIDGET_SetProperty(pIStatic, PROP_SELECTED_FGCOLOR, MAKE_RGBA(255,255,255,255));
(void)IWIDGET_SetSelectedBGColor(pIStatic, MAKE_RGBA(166,166,255,255));
(void)IWIDGET_SetPadding(pIStatic, 1);
(void)IWIDGET_SetLeftPadding(pIStatic, 5);
}
if(SUCCESS == nErr){
(void)IFORM_SetWidget(pMe->pIToolsMenu, WID_LISTITEM, pIStatic);
}
nErr = ISHELL_CreateInstance(pMe->pIShell, AEECLSID_VECTORMODEL, (void**)&pIVectorModel);
if(SUCCESS == nErr){
for (i=0; i < CHOICE_TOOLSSIZE; i++) {
nErr = IVECTORMODEL_Add(pIVectorModel, (void*)aItemsTools[i]);
}
nErr = IFORM_SetProperty(pMe->pIToolsMenu, FID_LISTMODEL, (uint32)pIVectorModel);
}
IFORM_SetSelectHandler(pMe->pIToolsMenu,(PFNSELECT)spm_ToolsSelectionHandler,pMe);
HANDLERDESC_Init(&pMe->pIToolsMenuHandler,spm_ToolsEventHandler,pMe,0);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -