]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/html/htmlwin.h
added cw6 fixes and patrick's patches
[wxWidgets.git] / include / wx / html / htmlwin.h
index c7a8d35121544498ba00cff964bb25401e174ab8..822cc96547d1b812c8502e35cf105b76b40d8302 100644 (file)
@@ -56,44 +56,22 @@ class WXDLLEXPORT HtmlHistoryItem : public wxObject
         int m_Pos;
 };
 
         int m_Pos;
 };
 
-#undef WXDLLEXPORTLOCAL
-#define WXDLLEXPORTLOCAL WXDLLEXPORT
-     // ?? Don't know why - but Allen Van Sickel reported it to fix problems with DLL
 
 
-WX_DECLARE_OBJARRAY(HtmlHistoryItem, HtmlHistoryArray);
-
-#undef WXDLLEXPORTLOCAL
-#define WXDLLEXPORTLOCAL
+WX_DECLARE_EXPORTED_OBJARRAY(HtmlHistoryItem, HtmlHistoryArray);
 
 
+class wxHtmlWinModule;
 
 class WXDLLEXPORT wxHtmlWindow : public wxScrolledWindow
 {
     DECLARE_DYNAMIC_CLASS(wxHtmlWindow)
 
 class WXDLLEXPORT wxHtmlWindow : public wxScrolledWindow
 {
     DECLARE_DYNAMIC_CLASS(wxHtmlWindow)
-
-    private:
-        bool m_tmpMouseMoved;
-                // a flag indicated if mouse moved
-                // (if TRUE we will try to change cursor in last call to OnIdle)
-        bool m_tmpCanDraw;
-                // if FALSE contents of the window is not redrawn
-                // (in order to avoid ugly bliking)
-
-        static wxList m_Filters;
-                // list of HTML filters
-        static wxHtmlFilter *m_DefaultFilter;
-                // this filter is used when no filter is able to read some file
-
-        HtmlHistoryArray m_History;
-        int m_HistoryPos;
-                // browser history
-        bool m_HistoryOn;
-                // if this FLAG is false, items are not added to history
+    
+    friend class wxHtmlWinModule;
 
     public:
         wxHtmlWindow() : wxScrolledWindow() {};
         wxHtmlWindow(wxWindow *parent, wxWindowID id = -1,
                      const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
 
     public:
         wxHtmlWindow() : wxScrolledWindow() {};
         wxHtmlWindow(wxWindow *parent, wxWindowID id = -1,
                      const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
-                    long style = wxHW_SCROLLBAR_AUTO,
+                     long style = wxHW_SCROLLBAR_AUTO,
                      const wxString& name = "htmlWindow");
         ~wxHtmlWindow();
 
                      const wxString& name = "htmlWindow");
         ~wxHtmlWindow();
 
@@ -116,6 +94,10 @@ class WXDLLEXPORT wxHtmlWindow : public wxScrolledWindow
 
         wxString GetOpenedPage() const {return m_OpenedPage;}
                 // Returns full location of opened page
 
         wxString GetOpenedPage() const {return m_OpenedPage;}
                 // Returns full location of opened page
+        wxString GetOpenedAnchor() const {return m_OpenedAnchor;}
+                // Returns anchor within opened page
+        wxString GetOpenedPageTitle() const {return m_OpenedPageTitle;}
+                // Returns <TITLE> of opened page or empty string otherwise
 
         void SetRelatedFrame(wxFrame* frame, const wxString& format);
                 // sets frame in which page title will  be displayed. Format is format of
 
         void SetRelatedFrame(wxFrame* frame, const wxString& format);
                 // sets frame in which page title will  be displayed. Format is format of
@@ -126,11 +108,10 @@ class WXDLLEXPORT wxHtmlWindow : public wxScrolledWindow
                 // after(!) calling SetRelatedFrame, this sets statusbar slot where messages
                 // will be displayed. Default is -1 = no messages.
 
                 // after(!) calling SetRelatedFrame, this sets statusbar slot where messages
                 // will be displayed. Default is -1 = no messages.
 
-        void SetFonts(wxString normal_face, int normal_italic_mode, wxString fixed_face, int fixed_italic_mode, int *sizes);
+        void SetFonts(wxString normal_face, wxString fixed_face, const int *sizes);
                 // sets fonts to be used when displaying HTML page.
                 // sets fonts to be used when displaying HTML page.
-                // *_italic_mode can be either wxSLANT or wxITALIC
 
 
-        void SetTitle(const wxString& title);
+        virtual void OnSetTitle(const wxString& title);
                 // Sets the title of the window
                 // (depending on the information passed to SetRelatedFrame() method)
 
                 // Sets the title of the window
                 // (depending on the information passed to SetRelatedFrame() method)
 
@@ -148,6 +129,9 @@ class WXDLLEXPORT wxHtmlWindow : public wxScrolledWindow
         bool HistoryForward();
                 // Goes to previous/next page (in browsing history)
                 // Returns TRUE if successful, FALSE otherwise
         bool HistoryForward();
                 // Goes to previous/next page (in browsing history)
                 // Returns TRUE if successful, FALSE otherwise
+        bool HistoryCanBack();
+        bool HistoryCanForward();
+        
         void HistoryClear();
                 // Resets history
 
         void HistoryClear();
                 // Resets history
 
@@ -158,13 +142,10 @@ class WXDLLEXPORT wxHtmlWindow : public wxScrolledWindow
         static void AddFilter(wxHtmlFilter *filter);
                 // Adds input filter
 
         static void AddFilter(wxHtmlFilter *filter);
                 // Adds input filter
 
-        virtual void OnLinkClicked(const wxString& link);
+        virtual void OnLinkClicked(const wxHtmlLinkInfo& link);
                 // called when users clicked on hypertext link. Default behavior is to
                 // call LoadPage(loc)
 
                 // called when users clicked on hypertext link. Default behavior is to
                 // call LoadPage(loc)
 
-       static void CleanUpStatics();
-               // cleans static variables
-
         wxHtmlWinParser *GetParser() const { return m_Parser; }
                 // return a pointer to the parser.
 
         wxHtmlWinParser *GetParser() const { return m_Parser; }
                 // return a pointer to the parser.
 
@@ -183,11 +164,14 @@ class WXDLLEXPORT wxHtmlWindow : public wxScrolledWindow
         void OnSize(wxSizeEvent& event);
         void OnMouseEvent(wxMouseEvent& event);
         void OnIdle(wxIdleEvent& event);
         void OnSize(wxSizeEvent& event);
         void OnMouseEvent(wxMouseEvent& event);
         void OnIdle(wxIdleEvent& event);
-        void OnKeyDown(wxKeyEvent& event);
 
 
-       virtual wxHtmlFilter *GetDefaultFilter() {return new wxHtmlFilterPlainText;}
+        virtual wxHtmlFilter *GetDefaultFilter() {return new wxHtmlFilterPlainText;}
                // returns new filter (will be stored into m_DefaultFilter variable)
 
                // returns new filter (will be stored into m_DefaultFilter variable)
 
+        static void CleanUpStatics();
+               // cleans static variables
+
+
     protected:
         wxHtmlContainerCell *m_Cell;
                 // This is pointer to the first cell in parsed data.
     protected:
         wxHtmlContainerCell *m_Cell;
                 // This is pointer to the first cell in parsed data.
@@ -200,6 +184,8 @@ class WXDLLEXPORT wxHtmlWindow : public wxScrolledWindow
                 // contains name of actualy opened page or empty string if no page opened
         wxString m_OpenedAnchor;
                 // contains name of current anchor within m_OpenedPage
                 // contains name of actualy opened page or empty string if no page opened
         wxString m_OpenedAnchor;
                 // contains name of current anchor within m_OpenedPage
+        wxString m_OpenedPageTitle;
+                // contains title of actualy opened page or empty string if no <TITLE> tag
         wxFileSystem* m_FS;
                 // class for opening files (file system)
 
         wxFileSystem* m_FS;
                 // class for opening files (file system)
 
@@ -215,6 +201,30 @@ class WXDLLEXPORT wxHtmlWindow : public wxScrolledWindow
 
         int m_Style;
 
 
         int m_Style;
 
+    private:
+        bool m_tmpMouseMoved;
+                // a flag indicated if mouse moved
+                // (if TRUE we will try to change cursor in last call to OnIdle)
+        wxHtmlLinkInfo *m_tmpLastLink;
+                // contains last link name
+        int m_tmpCanDrawLocks;
+                // if >0 contents of the window is not redrawn
+                // (in order to avoid ugly blinking)
+
+        static wxList m_Filters;
+                // list of HTML filters
+        static wxHtmlFilter *m_DefaultFilter;
+                // this filter is used when no filter is able to read some file
+
+        static wxCursor *s_cur_hand;
+        static wxCursor *s_cur_arrow;
+
+        HtmlHistoryArray m_History;
+        int m_HistoryPos;
+                // browser history
+        bool m_HistoryOn;
+                // if this FLAG is false, items are not added to history
+
 
     DECLARE_EVENT_TABLE()
 };
 
     DECLARE_EVENT_TABLE()
 };