X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/716cd4107bb8a5f37dea34507453be6870aaef3a..4f61e22c77b1a7cb148f6567996d816f72ac854f:/contrib/include/wx/applet/window.h diff --git a/contrib/include/wx/applet/window.h b/contrib/include/wx/applet/window.h index 97ff94d869..340023b886 100644 --- a/contrib/include/wx/applet/window.h +++ b/contrib/include/wx/applet/window.h @@ -30,12 +30,17 @@ #define __WX_APPLET_WINDOW_H #include "wx/html/htmlwin.h" +#include "wx/hash.h" +#include "wx/process.h" +#include "wx/toolbar.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); @@ -59,6 +64,8 @@ public: wxString& group, wxString& href ); + VirtualData(); + // Gets wxString GetName(){ return m_name;}; wxString GetGroup(){ return m_group;}; @@ -81,15 +88,21 @@ private: DECLARE_CLASS(wxHtmlAppletWindow); DECLARE_EVENT_TABLE(); - bool m_mutexLock; - wxIncludePrep *incPreprocessor; // deleted by list it is added too in constructor + bool m_mutexLock; + wxIncludePrep *incPreprocessor; // deleted by list it is added too in constructor + protected: wxAppletList m_AppletList; static wxHashTable m_Cookies; + bool m_NavBarEnabled; wxToolBarBase *m_NavBar; int m_NavBackId; int m_NavForwardId; - + wxPalette m_globalPalette; + + // Override this so we can do proper palette management!! + virtual void OnDraw(wxDC& dc); + public: // Constructor wxHtmlAppletWindow( @@ -101,7 +114,8 @@ public: const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxHW_SCROLLBAR_AUTO, - const wxString& name = "htmlAppletWindow"); + const wxString& name = "htmlAppletWindow", + const wxPalette& globalPalette = wxNullPalette); // Destructor ~wxHtmlAppletWindow(); @@ -113,6 +127,9 @@ public: const wxHtmlTag ¶ms, 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); @@ -131,17 +148,25 @@ public: // Handles backwards navigation within the HTML stack bool HistoryBack(); + // Disables Nav bars + void DisableNavBar(); + + // Enables Nav bars + void EnableNavBar(); + + void SetNavBar(wxToolBarBase *navBar); + // 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); + 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); @@ -150,16 +175,54 @@ public: void OnPageLoaded(wxPageLoadedEvent &event); // LoadPage mutex locks - void Lock() { m_mutexLock = true;}; - void UnLock() { m_mutexLock = false;}; + void Lock(){ m_mutexLock = true;}; + void UnLock(){ m_mutexLock = false;}; // Returns TRUE if the mutex is locked, FALSE otherwise. - bool IsLocked() { return m_mutexLock;}; + 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