]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/html/htmlwin.h
New event types for use in external libs (and from
[wxWidgets.git] / include / wx / html / htmlwin.h
index 027064aefb511634fe514d2887901a39878287dd..822cc96547d1b812c8502e35cf105b76b40d8302 100644 (file)
@@ -59,16 +59,19 @@ class WXDLLEXPORT HtmlHistoryItem : public wxObject
 
 WX_DECLARE_EXPORTED_OBJARRAY(HtmlHistoryItem, HtmlHistoryArray);
 
+class wxHtmlWinModule;
 
 class WXDLLEXPORT wxHtmlWindow : public wxScrolledWindow
 {
     DECLARE_DYNAMIC_CLASS(wxHtmlWindow)
+    
+    friend class wxHtmlWinModule;
 
     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();
 
@@ -91,6 +94,10 @@ class WXDLLEXPORT wxHtmlWindow : public wxScrolledWindow
 
         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
@@ -101,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.
 
-        void SetFonts(wxString normal_face, int normal_italic_mode, wxString fixed_face, int fixed_italic_mode, const int *sizes);
+        void SetFonts(wxString normal_face, wxString fixed_face, const int *sizes);
                 // 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)
 
@@ -123,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 HistoryCanBack();
+        bool HistoryCanForward();
+        
         void HistoryClear();
                 // Resets history
 
@@ -133,13 +142,10 @@ class WXDLLEXPORT wxHtmlWindow : public wxScrolledWindow
         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)
 
-       static void CleanUpStatics();
-               // cleans static variables
-
         wxHtmlWinParser *GetParser() const { return m_Parser; }
                 // return a pointer to the parser.
 
@@ -158,11 +164,13 @@ class WXDLLEXPORT wxHtmlWindow : public wxScrolledWindow
         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)
 
+        static void CleanUpStatics();
+               // cleans static variables
+
 
     protected:
         wxHtmlContainerCell *m_Cell;
@@ -176,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
+        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)
 
@@ -195,17 +205,20 @@ class WXDLLEXPORT wxHtmlWindow : public wxScrolledWindow
         bool m_tmpMouseMoved;
                 // a flag indicated if mouse moved
                 // (if TRUE we will try to change cursor in last call to OnIdle)
-        wxString m_tmpLastLink;
+        wxHtmlLinkInfo *m_tmpLastLink;
                 // contains last link name
-        bool m_tmpCanDraw;
-                // if FALSE contents of the window is not redrawn
-                // (in order to avoid ugly bliking)
+        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