]> git.saurik.com Git - wxWidgets.git/blobdiff - contrib/include/wx/applet/window.h
bump date on 'easter egg' dialog.
[wxWidgets.git] / contrib / include / wx / applet / window.h
index 6ac0fcc72b46ce379c26904ea4b65aaac46785cd..753fac62d6f210922b62df26aadd9a5f902cc1f6 100644 (file)
 #define __WX_APPLET_WINDOW_H
 
 #include "wx/html/htmlwin.h"
+#include "wx/process.h"
 
 // Forward declare
 class wxApplet;
+class wxQlet;
 class wxLoadPageEvent;
 class wxPageLoadedEvent;
 class wxIncludePrep;
+class wxToolBarBase;
 
 // Declare a linked list of wxApplet pointers
 WX_DECLARE_LIST(wxApplet, wxAppletList);
@@ -85,6 +88,7 @@ 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;           
@@ -92,7 +96,7 @@ protected:
     wxToolBarBase       *m_NavBar;
     int                 m_NavBackId;
     int                 m_NavForwardId;
-               
+       wxString            m_DocRoot;  
 public:
             // Constructor
             wxHtmlAppletWindow(
@@ -104,7 +108,8 @@ public:
                 const wxPoint& pos = wxDefaultPosition,
                 const wxSize& size = wxDefaultSize,
                 long style = wxHW_SCROLLBAR_AUTO,
-                const wxString& name = "htmlAppletWindow");
+                const wxString& name = "htmlAppletWindow",
+                const wxString& docroot = "" );
 
             // Destructor
             ~wxHtmlAppletWindow();
@@ -116,6 +121,9 @@ public:
                 const wxHtmlTag &params,
                 const wxSize& size);
 
+            // Create an instance of an Qlet based on it's class name
+            bool CreatePlugIn(const wxString& classId );
+
             // Find an instance of an applet based on it's class name
             wxApplet *FindApplet(const wxString& className);
 
@@ -138,13 +146,13 @@ public:
             void SendMessage(wxEvent& msg);
 
             // Register a cookie of data in the applet manager
-            bool RegisterCookie(const wxString& name,wxObject *cookie);
+            static bool RegisterCookie(const wxString& name,wxObject *cookie);
 
             // UnRegister a cookie of data in the applet manager
-            bool UnRegisterCookie(const wxString& name);
+            static bool UnRegisterCookie(const wxString& name);
 
             // Find a cookie of data given it's public name
-            wxObject *FindCookie(const wxString& name);
+            static wxObject *FindCookie(const wxString& name);
                        
             // Event handlers to load a new page       
                        void OnLoadPage(wxLoadPageEvent &event);
@@ -152,7 +160,55 @@ public:
             // 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);
+
     };
 
+/****************************************************************************
+REMARKS:
+Defines the class for wxHtmlAppletCell
+***************************************************************************/
+class wxHtmlAppletCell : public wxHtmlCell
+{
+public:
+    wxHtmlAppletCell(wxWindow *wnd, int w = 0);
+    ~wxHtmlAppletCell() { m_Wnd->Destroy(); }
+    virtual void Draw(wxDC& dc, int x, int y, int view_y1, int view_y2);
+    virtual void DrawInvisible(wxDC& dc, int x, int y);
+    virtual void Layout(int w);
+
+protected:
+    wxWindow* m_Wnd;
+            // width float is used in adjustWidth (it is in percents)
+};
+
+
 #endif // __WX_APPLET_WINDOW_H