/*--------------------------------------------------------------------------*/ void PegAppInitialize(PegPresentationManager *pPresent) { printf("err0\n"); pPresent->Screen()->SetPalette(0, 255, PegCustomPalette); /* use custom palette */ pPresent->SetColor(PCI_NORMAL, NEWMENU_BACKGRANOUD_COLOR); printf("error1\n"); pPresent->Draw(); printf("error2\n"); /*Set default font size (only English)*/ PegTextThing::SetDefaultFont(PEG_PROMPT_FONT,&Arial14); PegTextThing::SetDefaultFont(PEG_TBUTTON_FONT,&Arial12); //gbCurrentLanguage = 1; /* if(0 == gbCurrentLanguage) { PegTextThing::SetDefaultFont(PEG_PROMPT_FONT,&Arial14); PegTextThing::SetDefaultFont(PEG_TBUTTON_FONT,&Arial12); } else if(1 == gbCurrentLanguage) { PegTextThing::SetDefaultFont(PEG_PROMPT_FONT,&heiti14); PegTextThing::SetDefaultFont(PEG_TBUTTON_FONT,&heiti12); } */ printf("error3\n"); MainMenu *pWin = new MainMenu(20, 20); printf("error4\n"); ToolTip * pToolTip = new ToolTip(0, 0, NULL); pWin->SetToolTipWnd(pToolTip); printf("err111\n"); TVHelpWnd * pTVHelpWnd = new TVHelpWnd(pWin->mReal.wLeft + 400, pWin->mReal.wTop); pWin->SetHelpWnd(pTVHelpWnd); /*set translucency*/ pPresent->Add(pTVHelpWnd); pPresent->Add(pToolTip, FALSE); pPresent->Add(pWin); pWin->ProcessUpDownKey(); PegMessage tmpMsg; tmpMsg.pTarget = pToolTip; tmpMsg.pSource = pPresent; tmpMsg.wType = PM_SHOW; pPresent->Message(tmpMsg); }
/*--------------------------------------------------------------------------*/ SIGNED PictureMenu::Message(const PegMessage &Mesg) { TVProgressWindowClass * pTVProgressWindow = NULL; PegThing *ptDisplayedWindow[MaxNumberOfWindow]; PegThing *SomeThing = NULL; PegThing *pTest; int iIndex; switch (Mesg.wType) { case SIGNAL(ID_PictureMenu_Button_ColorTemp, PSF_CLICKED): // Enter your code here: break; case SIGNAL(ID_PictureMenu_Button_Color, PSF_CLICKED): // Enter your code here: break; case SIGNAL(ID_PictureMenu_Button_Sharp, PSF_CLICKED): // Enter your code here: break; case SIGNAL(ID_PictureMenu_Button_Tint, PSF_CLICKED): // Enter your code here: break; case SIGNAL(ID_PictureMenu_Button_Contrast, PSF_CLICKED): // Enter your code here: break; case SIGNAL(ID_PictureMenu_Button_Brightness, PSF_CLICKED): // Enter your code here: break; case PM_KEYUP: { m_nCurrentSubWndID = Mesg.iData; if(ID_PictureMenu_Button_Brightness > m_nCurrentSubWndID) { m_nCurrentSubWndID++; } else { m_nCurrentSubWndID = (int)ID_PictureMenu_Button_ColorTemp; Presentation()->MoveFocusTree(m_pPictureMenuButtonColorTemp); } ProcessUpDownKey(); break; } case PM_KEYDOWN: { m_nCurrentSubWndID = Mesg.iData; if(ID_PictureMenu_Button_ColorTemp < m_nCurrentSubWndID) { m_nCurrentSubWndID--; } else { m_nCurrentSubWndID = (int)ID_PictureMenu_Button_Brightness; Presentation()->MoveFocusTree(m_pPictuerMenuButtonBright); } ProcessUpDownKey(); break; } case PM_KEYLEFT: { Destroy(this); MainMenu * pMainMenu = (MainMenu *)Presentation()->Find(MAIN_MENU_ID); pMainMenu->ProcessUpDownKey(); break; } case PM_KEYRIGHT: { if(ID_PictureMenu_Button_ColorTemp == Mesg.iData || \ ID_PictureMenu_Button_Color == Mesg.iData || \ ID_PictureMenu_Button_Tint == Mesg.iData || \ ID_PictureMenu_Button_Contrast == Mesg.iData || \ ID_PictureMenu_Button_Sharp == Mesg.iData || \ ID_PictureMenu_Button_Brightness == Mesg.iData) { /* right key equals OK, so enter next menu level */ BeginDraw(); /* Delete all pop up already displayed to clean the screen */ for(iIndex = FIRST_POPUP_ID; iIndex < LAST_USER_ID; iIndex++) { SomeThing = PegThing::Presentation()->Find(iIndex); if(SomeThing!=NULL) { PegThing::Presentation()->Destroy(SomeThing); } } /*hide all the menus displayed on screen except the help window*/ pTest = PegPresentationManager::Presentation()->First(); iIndex = 0; while(pTest) /* construct the current displayed window pointer table */ { if(HELP_ID == pTest->Id()) { pTest = PegPresentationManager::Presentation()->Next(); continue; } else { ptDisplayedWindow[iIndex++] = pTest; PegPresentationManager::Presentation()->Remove(pTest); pTest = PegPresentationManager::Presentation()->First(); } } ptDisplayedWindow[iIndex] = NULL; /* reset last pointer */ switch(Mesg.iData) { case ID_PictureMenu_Button_Brightness: { pTVProgressWindow = new TVProgressWindowClass(100, 400, m_pPictuerMenuButtonBright, \ Ssb_BrightnessChange, kPegMenuPicture, \ LS(SID_PictureMenu_Prompt_Brightness), RED, FF_RAISED | PS_SHOW_VAL, 0, \ 100, 30, ptDisplayedWindow); Presentation()->Add(pTVProgressWindow); m_pTVHelpWnd->ShowHelpString(LS(SID_PictureMenu_Prompt_Brightness), NEWMENU_BAR_TYPE); break; } case ID_PictureMenu_Button_Contrast: { pTVProgressWindow = new TVProgressWindowClass(100, 400, m_pPictureMenuButtonContrast, \ Ssb_ContrastChange, kPegMenuPicture, \ LS(SID_PictureMenu_Prompt_Contrast), RED, FF_RAISED|PS_SHOW_VAL, 0, \ 100, 30, ptDisplayedWindow); Presentation()->Add(pTVProgressWindow); m_pTVHelpWnd->ShowHelpString(LS(SID_PictureMenu_Prompt_Contrast), NEWMENU_BAR_TYPE); break; } case ID_PictureMenu_Button_Tint: { pTVProgressWindow = new TVProgressWindowClass(100, 400, m_pPictureMenuButtonTint, \ Ssb_TintChange, kPegMenuPicture, \ LS(SID_PictureMenu_Prompt_Tint), RED, FF_RAISED|PS_SHOW_VAL, 0, \ 100, 30, ptDisplayedWindow); Presentation()->Add(pTVProgressWindow); m_pTVHelpWnd->ShowHelpString(LS(SID_PictureMenu_Prompt_Tint), NEWMENU_BAR_TYPE); break; } case ID_PictureMenu_Button_ColorTemp: { pTVProgressWindow = new TVProgressWindowClass(100, 400, m_pPictureMenuButtonColorTemp, \ Ssb_ColorTemperatureChange, kPegMenuPicture, \ LS(SID_PictureMenu_Prompt_ColorTemp), RED, FF_RAISED|PS_SHOW_VAL, 0, \ 100, 30, ptDisplayedWindow); Presentation()->Add(pTVProgressWindow); m_pTVHelpWnd->ShowHelpString(LS(SID_PictureMenu_Prompt_ColorTemp), NEWMENU_BAR_TYPE); break; } case ID_PictureMenu_Button_Color: { pTVProgressWindow = new TVProgressWindowClass(100, 400, m_pPictureMenuButtonColor, \ Ssb_ColorChange, kPegMenuPicture, \ LS(SID_PictureMenu_Prompt_Color), RED, FF_RAISED|PS_SHOW_VAL, 0, \ 100, 20, ptDisplayedWindow); Presentation()->Add(pTVProgressWindow); m_pTVHelpWnd->ShowHelpString(LS(SID_PictureMenu_Prompt_Color), NEWMENU_BAR_TYPE); break; } case ID_PictureMenu_Button_Sharp: { pTVProgressWindow = new TVProgressWindowClass(100, 400, m_pPictureMenuButtonSharp, \ Ssb_SharpnessChange, kPegMenuPicture, \ LS(SID_PictureMenu_Prompt_Sharpness), RED, FF_RAISED|PS_SHOW_VAL, 0, \ 100, 20, ptDisplayedWindow); Presentation()->Add(pTVProgressWindow); m_pTVHelpWnd->ShowHelpString(LS(SID_PictureMenu_Prompt_Sharpness), NEWMENU_BAR_TYPE); break; } default: break; } EndDraw(); } break; } case PM_REFRESHHELPWND: { ProcessUpDownKey(); break; } default: return PegWindow::Message(Mesg); } return 0; }