123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- #ifndef __XUIBROWSER_H
- #define __XUIBROWSER_H
- #include <api/skin/widgets/mb/minibrowserwnd.h>
- #include <api/script/objcontroller.h>
- #define MAIN_BROWSER_ATOM_NAME L"browser.main.object"
- #define SCRIPTBROWSERWND_PARENT MiniBrowserWnd
- // -----------------------------------------------------------------------------------------------------
- class ScriptBrowserWnd : public SCRIPTBROWSERWND_PARENT {
-
- public:
- ScriptBrowserWnd();
- virtual ~ScriptBrowserWnd();
- virtual void onSetVisible(int v);
- // XuiObject
- virtual int setXuiParam(int xuihandle, int xmlattributeid, const wchar_t *xmlattributename, const wchar_t *value);
- // MiniBrowserWnd
- int onBeforeNavigate(const wchar_t *url, int flags, const wchar_t *frame);
- void onDocumentComplete(const wchar_t *url);
- void onDocumentReady(const wchar_t *url);
- void onNavigateError(const wchar_t *url, int status);
- void onMediaLink(const wchar_t *url);
- void getDocumentTitle(wchar_t *str, size_t len);
- virtual int navigateUrl(const wchar_t *url);
- const wchar_t* messageToMaki(wchar_t* str1, wchar_t* str2, int i1, int i2, int i3);
- const wchar_t* messageToJS(const wchar_t* str1, const wchar_t* str2, int i1, int i2, int i3);
- // --
- void setUrl(const wchar_t *url);
- void setMainMB(int tf);
- void Scrape(); // benski> added Aug 17 2007
- void setCancelIEErrorPage(bool cancel);
- protected:
- /*static */void CreateXMLParameters(int master_handle);
- private:
- enum {
- BROWSER_SETURL = 0,
- BROWSER_SETMAINMB,
- BROWSER_SETTARGETNAME,
- BROWSER_SETSCROLLBARS,
- BROWSER_CANCELIEERRORPAGE,
- };
- static XMLParamPair params[];
- int translateScrollbarFlag(const wchar_t *scrollbarflag);
- StringW defurl;
- int myxuihandle;
- };
- // -----------------------------------------------------------------------------------------------------
- class BrowserScriptController : public ScriptObjectControllerI {
- public:
- virtual const wchar_t *getClassName() { return L"Browser"; }
- virtual const wchar_t *getAncestorClassName() { return L"GuiObject"; }
- virtual ScriptObjectController *getAncestorController() { return WASABI_API_MAKI->maki_getController(guiObjectGuid); }
- virtual int getNumFunctions();
- virtual const function_descriptor_struct *getExportedFunctions();
- virtual GUID getClassGuid() { return browserGuid; }
- virtual ScriptObject *instantiate();
- virtual void destroy(ScriptObject *o);
- virtual void *encapsulate(ScriptObject *o);
- virtual void deencapsulate(void *o);
- public:
- static scriptVar browser_navigateUrl(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar url);
- static scriptVar browser_back(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
- static scriptVar browser_forward(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
- static scriptVar browser_home(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
- static scriptVar browser_stop(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
- static scriptVar browser_refresh(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
- static scriptVar browser_scrape(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
- static scriptVar browser_setTargetName(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar name);
- static scriptVar browser_onDocumentComplete(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar url);
- static scriptVar browser_onDocumentReady(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar url);
- static scriptVar browser_onNavigateError(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar url, scriptVar status);
- static scriptVar browser_onBeforeNavigate(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar url, scriptVar flags, scriptVar framename);
- static scriptVar browser_messageToMaki(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar str1, scriptVar str2, scriptVar i1, scriptVar i2, scriptVar i3);
- static scriptVar browser_messageToJS(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar str1, scriptVar str2, scriptVar i1, scriptVar i2, scriptVar i3);
- static scriptVar browser_onMediaLink(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar url);
- static /*string*/ scriptVar browser_getDocumentTitle(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
- static scriptVar browser_setCancelIEErrorPage(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar cancel);
- private:
- static function_descriptor_struct exportedFunction[];
- };
- extern BrowserScriptController *browserController;
- extern const wchar_t browserXuiObjectStr[];
- extern char browserXuiSvcName[];
- class BrowserXuiSvc : public XuiObjectSvc<ScriptBrowserWnd, browserXuiObjectStr, browserXuiSvcName> {};
- #endif
|