#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);
DECLARE_CLASS(wxHtmlAppletWindow);
DECLARE_EVENT_TABLE();
+ bool m_mutexLock;
wxIncludePrep *incPreprocessor; // deleted by list it is added too in constructor
protected:
wxAppletList m_AppletList;
wxToolBarBase *m_NavBar;
int m_NavBackId;
int m_NavForwardId;
-
+ wxString m_DocRoot;
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 wxString& docroot = "" );
// 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);
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);
// 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