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

📄 plxbrowmain.c

📁 mtk wap和mms代码。。适应mtk 25。26平台
💻 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 + -