X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d9b91de7d39cbd988d8da38c85a2b7bf3651cae6..88b792af94fe4a2d0f14a2c4c6b85ff3c4bd49a5:/contrib/include/wx/applet/window.h?ds=sidebyside diff --git a/contrib/include/wx/applet/window.h b/contrib/include/wx/applet/window.h index d100cd103b..470c1091c7 100644 --- a/contrib/include/wx/applet/window.h +++ b/contrib/include/wx/applet/window.h @@ -1,6 +1,6 @@ /**************************************************************************** * -* wxWindows HTML Applet Package +* wxWindows HTML Applet Package * * Copyright (C) 1991-2001 SciTech Software, Inc. * All rights reserved. @@ -23,8 +23,8 @@ * |REMOVAL OR MODIFICATION OF THIS HEADER IS STRICTLY PROHIBITED BY LAW| * ====================================================================== * -* Language: ANSI C++ -* Environment: Any +* Language: ANSI C++ +* Environment: Any * * Description: Header file for the wxHtmlAppletWindow class * @@ -34,19 +34,48 @@ #define __WX_APPLET_WINDOW_H #include "wx/html/htmlwin.h" +#include "wx/process.h" -/*--------------------------- Class Definitions ---------------------------*/ +// Forward declare +class wxApplet; +class wxLoadPageEvent; +class wxPageLoadedEvent; +class wxIncludePrep; // Declare a linked list of wxApplet pointers -class wxApplet; WX_DECLARE_LIST(wxApplet, wxAppletList); +/*--------------------------- Class Definitions ---------------------------*/ + /**************************************************************************** -MEMBERS: -appletModules - List of register applet modules -appletList - List of all active applets instances -cookies - Hash table for managing cookies +REMARKS: +Defines the class for virtual-link data types +****************************************************************************/ +class VirtualData : public wxObject { +private: + wxString m_name; + wxString m_group; + wxString m_href; + +public: + // Ctors + VirtualData( + wxString& name, + wxString& group, + wxString& href ); + + // Gets + wxString GetName(){ return m_name;}; + wxString GetGroup(){ return m_group;}; + wxString GetHref(){ return m_href;}; + + // Sets + void SetName (wxString& s){ m_name = s; }; + void SetGroup(wxString& s){ m_group = s; }; + void SetHref (wxString& s){ m_href = s; }; + }; +/**************************************************************************** REMARKS: Defines the class for wxAppletWindow. This class is derived from the wxHtmlWindow class and extends it with functionality to handle embedded @@ -56,59 +85,107 @@ class wxHtmlAppletWindow : public wxHtmlWindow { private: DECLARE_CLASS(wxHtmlAppletWindow); DECLARE_EVENT_TABLE(); - + + bool m_mutexLock; + wxIncludePrep *incPreprocessor; // deleted by list it is added too in constructor protected: - wxAppletList m_AppletList; - wxHashTable m_Cookies; - + wxAppletList m_AppletList; + static wxHashTable m_Cookies; + wxToolBarBase *m_NavBar; + int m_NavBackId; + int m_NavForwardId; + wxString m_DocRoot; public: - // Constructor - wxHtmlAppletWindow( - wxWindow *parent, - wxWindowID id = -1, + // Constructor + wxHtmlAppletWindow( + wxWindow *parent, + wxWindowID id = -1, + wxToolBarBase *navBar = NULL, + int navBackId = -1, + int navForwardId = -1, const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = wxHW_SCROLLBAR_AUTO, - const wxString& name = "htmlAppletWindow"); - - // Destructor - ~wxHtmlAppletWindow(); - - // Create an instance of an applet based on it's class name - wxApplet *CreateApplet( - const wxString& className, - const wxSize& size); - - // Find an instance of an applet based on it's class name - wxApplet *FindApplet(const wxString& className); - - // Remove an applet from the window. Called during applet destruction - bool RemoveApplet(const wxApplet *applet); + const wxSize& size = wxDefaultSize, + long style = wxHW_SCROLLBAR_AUTO, + const wxString& name = "htmlAppletWindow", + const wxString& docroot = "" ); - // Load a new URL page - bool LoadPage(const wxString& hRef); - - // Called when users clicked on hypertext link. - void OnLinkClicked(const wxHtmlLinkInfo& link); - - // Handles forward navigation within the HTML stack - bool HistoryForward(); - - // Handles backwards navigation within the HTML stack - bool HistoryBack(); - - // Broadcast a message to all applets on the page - void SendMessage(wxEvent& msg); - - // Register a cookie of data in the applet manager - bool RegisterCookie(const wxString& name,wxObject *cookie); - - // UnRegister a cookie of data in the applet manager - bool UnRegisterCookie(const wxString& name); + // Destructor + ~wxHtmlAppletWindow(); + + // Create an instance of an applet based on it's class name + wxApplet *CreateApplet( + const wxString& classId, + const wxString& iName, + const wxHtmlTag ¶ms, + const wxSize& size); + + // Find an instance of an applet based on it's class name + wxApplet *FindApplet(const wxString& className); + + // Remove an applet from the window. Called during applet destruction + bool RemoveApplet(const wxApplet *applet); + + // Load a new URL page + virtual bool LoadPage(const wxString& location); + + // Called when users clicked on hypertext link. + virtual void OnLinkClicked(const wxHtmlLinkInfo& link); + + // Handles forward navigation within the HTML stack + bool HistoryForward(); + + // Handles backwards navigation within the HTML stack + bool HistoryBack(); + + // Broadcast a message to all applets on the page + void SendMessage(wxEvent& msg); + + // Register a cookie of data in the applet manager + static bool RegisterCookie(const wxString& name,wxObject *cookie); + + // UnRegister a cookie of data in the applet manager + static bool UnRegisterCookie(const wxString& name); + + // Find a cookie of data given it's public name + static wxObject *FindCookie(const wxString& name); - // Find a cookie of data given it's public name - wxObject *FindCookie(const wxString& name); - }; - + // Event handlers to load a new page + void OnLoadPage(wxLoadPageEvent &event); + + // Event handlers to load a new page + void OnPageLoaded(wxPageLoadedEvent &event); + + // LoadPage mutex locks + void Lock(){ m_mutexLock = true;}; + void UnLock(){ m_mutexLock = false;}; + + // Returns TRUE if the mutex is locked, FALSE otherwise. + bool IsLocked(){ return m_mutexLock;}; + + // Tries to lock the mutex. If it can't, returns immediately with false. + bool TryLock(); + + }; + +/**************************************************************************** +REMARKS: +Defines the class for AppetProcess +***************************************************************************/ +class AppletProcess : public wxProcess { +public: + AppletProcess( + wxWindow *parent) + : wxProcess(parent) + { + } + + // instead of overriding this virtual function we might as well process the + // event from it in the frame class - this might be more convenient in some + // cases + virtual void OnTerminate(int pid, int status); + + }; + + #endif // __WX_APPLET_WINDOW_H