#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);
wxString& group,
wxString& href );
+ VirtualData();
+
// Gets
wxString GetName(){ return m_name;};
wxString GetGroup(){ return m_group;};
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(
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();
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);
// 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);
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