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

📄 mainscreen.c

📁 a mobile application for brew plateforms for sharing photos among different users globally.
💻 C
📖 第 1 页 / 共 3 页
字号:
				//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 + -