📄 plxbrowmain.c
字号:
/***************************************************************************
*
* Pollex Mobile Platform
*
* Copyright (c) 2004 by Pollex Mobile Software Co., Ltd.
* All Rights Reserved
*
* Module :
*
* Purpose :
*
\**************************************************************************/
#include "StdC.h"
#include "gui.h"
#include "CommonScreens.h"
#include "gui.h"
#include "gdi_include.h"
#include "PWBE.h"
#include "plxBrowPort.h"
#include "../public/PlxPublic.h"
#include "../main/plxDefs.h"
#include "plxBrowDefs.h"
#include "plxbrow.h"
#include "guicallback.h"
#include "plxBrowPublic.h"
#include "plxBrowHistory.h"
#include "PlxBrowSetting.h"
#include "plxbrowBookMark.h"
#include "plxBrowFile.h"
#include "plxBrowPush.h"
HDMENU hMenuMain = 0;
static int g_IsPlxBrowserInit = 0;
int PlxBrowMainMenuNty(HDMENU hMenu, unsigned long id, unsigned long event);
void TryDestroyPlxBrowMainMenu(void);
static void MainMenuKeyEndHandler(void);
static U8 PlxBrowMainListCBHhandler(void* param);
/****************************************************************************
* Function
* Purpose
* Params
* Return
* Remarks
\****************************************************************************/
int PlxBrowCreateMainMenu()
{
if (NULL != hMenuMain)
{
return 0;
}
hMenuMain = PlxCreateDMenu(0);
if (NULL == hMenuMain)
{
return -1; //create menu failed
}
PlxInsertDMenuItem(hMenuMain, -1, 0, DMENU_ID_PLX_BROW_HOMEPAGE,
(const char *)get_string(STR_ID_PLX_BROW_HOMEPAGE), IMG_ID_PLX_BROW_HOMEPAGE);
PlxInsertDMenuItem(hMenuMain, -1, 0, DMENU_ID_PLX_BROW_BOOKMARK,
(const char *)get_string(STR_ID_PLX_BROW_BOOKMARK), IMG_ID_PLX_BROW_BOOKMARK);
PlxInsertDMenuItem(hMenuMain, -1, 0, DMENU_ID_PLX_BROW_LINK,
(const char *)get_string(STR_ID_PLX_BROW_JUMPTO), IMG_ID_PLX_BROW_LINK);
PlxInsertDMenuItem(hMenuMain, -1, 0, DMENU_ID_PLX_BROW_FILE,
(const char *)get_string(STR_ID_PLX_BROW_FILE), IMG_ID_PLX_BROW_FILES);
PlxInsertDMenuItem(hMenuMain, -1, 0, DMENU_ID_PLX_BROW_HISTORY,
(const char *)get_string(STR_ID_PLX_BROW_HISTORY), IMG_ID_PLX_BROW_HISTORY);
PlxInsertDMenuItem(hMenuMain, -1, 0, DMENU_ID_PLX_BROW_SETTING,
(const char *)get_string(STR_ID_PLX_BROW_SETTING), IMG_ID_PLX_BROW_SETTING);
PlxInsertDMenuItem(hMenuMain, -1, 0, DMENU_ID_PLX_BROW_PUSHBOX,
(const char *)get_string(STR_ID_PLX_BROW_PUSHBOX), IMG_ID_PLX_BROW_PUSHBOX);
return 0;
}
//extern FuncPtr ExternEndKeyDownFuncPtr;
/****************************************************************************
* Function EntryOfBrowMainScreen
* Purpose the entry of browser's main screen
* Params
* Return
* Remarks
\****************************************************************************/
void EntryOfBrowMainScreen(void)
{
// ExternEndKeyDownFuncPtr = NULL;
ClearExEndKeyHandler();
PlxBrowInitCreateSysDir();
// PlxBrowInitSettingData();
PlxBrowCreateMainMenu();
if (NULL == hMenuMain)
{
return;
}
PlxSetDMenuDispInfo(0, IMG_ID_PLX_BROW, 0,0, 0,0);
PlxShowDMenu(hMenuMain, SCR_ID_PLX_BROW_MAIN, STR_ID_PLX_BROW, PlxBrowMainMenuNty, EntryOfBrowMainScreen);
// ClearKeyHandler(KEY_END, KEY_EVENT_DOWN);
SetKeyHandler(MainMenuKeyEndHandler,KEY_END,KEY_EVENT_DOWN);
SetDelScrnIDCallbackHandler(SCR_ID_PLX_BROW_MAIN,PlxBrowMainListCBHhandler);
}
/****************************************************************************
* Function PlxBrowMainListCBHhandler
* Purpose
* Params
* Return
* Remarks
\****************************************************************************/
static U8 PlxBrowMainListCBHhandler(void* param)
{
if( 0 == param)
{
PAPP_WapShutDown();
}
return FALSE;
}
/****************************************************************************
* Function PlxBrowMainMenuNty
* Purpose process the dmenu event
* Params
* Return
* Remarks
\****************************************************************************/
int PlxBrowMainMenuNty(HDMENU hMenu, unsigned long id, unsigned long event){
switch(event)
{
case ENT_RIGHT:
case ENT_OK:
switch(id)
{
case DMENU_ID_PLX_BROW_HOMEPAGE:
EntryOfPlxBrowserView((const char*)PlxBrowGetHomepage());
break;
case DMENU_ID_PLX_BROW_BOOKMARK:
EntryOfPlxBrowBookMark();
break;
case DMENU_ID_PLX_BROW_LINK:
EntryOfPlxBrowUrlInput();
// EntryOfPlxBrowserJumptoScreen();
break;
case DMENU_ID_PLX_BROW_FILE:
EntryOfPlxBrowFile();
// plxBrowAddNewBookMark("http://wap.sina.com");
break;
case DMENU_ID_PLX_BROW_HISTORY:
EntryOfPlxBrowHistory();
break;
case DMENU_ID_PLX_BROW_SETTING:
// PlxBrowInitSettingData();
EntryOfSetting();
break;
case DMENU_ID_PLX_BROW_PUSHBOX:
EntryOfPlxBrowPush();
break;
default:
return -1;
}
break;
case ENT_LEFT:
case ENT_BACK:
GoBackHistory();
if(hMenu)
PlxDestroyDMenu(hMenu);
hMenuMain = NULL;
break;
default:
return -1;
}
return 0;
}
void TryDestroyPlxBrowMainMenu(void)
{
if(NULL != hMenuMain)
PlxDestroyDMenu(hMenuMain);
hMenuMain = NULL;
}
/*********************************************************************
* Function void PWBAPP_Init(int WAPDefaultID)
* Purpose Init Pollex WapBrowser
* Params
* Return
* Remarks
**********************************************************************/
extern void PlxWbRegisterPushCallbackFunc(void);
extern void PlxBrowSetWapStatusIcon(void);
void PWBAPP_Init(const char* szUtfSysRoot, const char* szUtfAppRoot)
{
g_IsPlxBrowserInit = 1;
PlxWbRegisterPushCallbackFunc();
PlxBrowCreateUIDirectory(szUtfSysRoot, szUtfAppRoot);
PlxBrowInitSettingData();
PWBE_EnablePUSH((WB_BOOL)PlxBrowIsPushMessageAllowed());
PlxBrowSetWapStatusIcon();
}
int PlxBrowIsBrowserInit(void)
{
return g_IsPlxBrowserInit;
}
/*********************************************************************
* Function static void MainMenuKeyEndHandler(void)
* Purpose key end handler of main menu screen
* Params
* Return
* Remarks
**********************************************************************/
static void MainMenuKeyEndHandler(void)
{
// TryDestroyPlxBrowMainMenu();
// DisplayIdleScreen();
PlxBrowExitBrowserAndGoIdle();
}
/*********************************************************************
* Function void PAPP_WapInit(const char* szUtfRootDir)
* Purpose Init wap browser
* Params
* Return
* Remarks
**********************************************************************/
void PAPP_WapInit(const char* szUtfSysRoot, const char* szUtfAppRoot)
{
PWBAPP_Init((const char*) szUtfSysRoot, szUtfAppRoot);
}
/****************************************************************************
* Function void PAPP_WapShutDown(void)
* Purpose Interface: deinit wap browser
* Params
* Return
* Remarks
\****************************************************************************/
void PAPP_WapShutDown(void)
{
DeInitPlxBrowHistory();
DeInitPlxBrowBookMark();
DeInitPlxBrowFile();
DeInitPlxBrowSetting();
PlxBrowSetWapStatusIcon();
DeInitPlxBrowPush();
DeInitPlxBrowGuiCBData();
DeInitPlxBrowser();
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -