]> git.saurik.com Git - wxWidgets.git/blobdiff - contrib/include/wx/applet/window.h
added missing refresh when changing focus in wxListCtrl, added test for it in the...
[wxWidgets.git] / contrib / include / wx / applet / window.h
index d100cd103bad3a47474d32384bab112ded34c414..470c1091c7a38b6fe0390c39279ef453797f37f8 100644 (file)
@@ -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
 *
 #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 &params,
+                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