X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/622ea7838dd5ab898c7124f980edb62c390fb292..8b089c5e8c8a2140258d150ca1ce42afd3b79e1b:/include/wx/html/htmlwin.h diff --git a/include/wx/html/htmlwin.h b/include/wx/html/htmlwin.h index c0cb02a3fc..0fd05a4d01 100644 --- a/include/wx/html/htmlwin.h +++ b/include/wx/html/htmlwin.h @@ -56,25 +56,22 @@ class WXDLLEXPORT HtmlHistoryItem : public wxObject 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) + + 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(); @@ -97,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 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 @@ -107,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, 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) @@ -139,13 +139,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. @@ -164,11 +161,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; @@ -182,6 +181,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) @@ -201,17 +202,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