X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/69941f05864fa8b37856ccc1338124bfac756a2b..d015713e787da8241e92ff86ee2e911868b8024c:/include/wx/html/htmlwin.h diff --git a/include/wx/html/htmlwin.h b/include/wx/html/htmlwin.h index c7a8d35121..822cc96547 100644 --- a/include/wx/html/htmlwin.h +++ b/include/wx/html/htmlwin.h @@ -56,44 +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) - - 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, - long style = wxHW_SCROLLBAR_AUTO, + long style = wxHW_SCROLLBAR_AUTO, 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 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 @@ -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. - 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) @@ -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 HistoryCanBack(); + bool HistoryCanForward(); + void HistoryClear(); // Resets history @@ -158,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. @@ -183,11 +164,14 @@ 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; // 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 + 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) @@ -215,6 +201,30 @@ class WXDLLEXPORT wxHtmlWindow : public wxScrolledWindow 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() };