X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9749497156909657d17ef972857caaca4bd09da2..abb69c6c82d61cf18f14270650a68896a3d8ed47:/include/wx/html/htmlwin.h diff --git a/include/wx/html/htmlwin.h b/include/wx/html/htmlwin.h index 75585561b6..90544db787 100644 --- a/include/wx/html/htmlwin.h +++ b/include/wx/html/htmlwin.h @@ -27,6 +27,10 @@ #include "wx/filesys.h" #include "wx/html/htmlfilt.h" +class wxHtmlProcessor; +class wxHtmlWinModule; +class wxHtmlHistoryArray; +class wxHtmlProcessorList; //-------------------------------------------------------------------------------- // wxHtmlWindow @@ -39,28 +43,6 @@ // SetPage(text) or LoadPage(filename). //-------------------------------------------------------------------------------- - -// item of history list -class WXDLLEXPORT HtmlHistoryItem : public wxObject -{ -public: - HtmlHistoryItem(const wxString& p, const wxString& a) {m_Page = p, m_Anchor = a, m_Pos = 0;} - int GetPos() const {return m_Pos;} - void SetPos(int p) {m_Pos = p;} - const wxString& GetPage() const {return m_Page;} - const wxString& GetAnchor() const {return m_Anchor;} - -private: - wxString m_Page; - wxString m_Anchor; - int m_Pos; -}; - - -WX_DECLARE_EXPORTED_OBJARRAY(HtmlHistoryItem, HtmlHistoryArray); - -class wxHtmlWinModule; - class WXDLLEXPORT wxHtmlWindow : public wxScrolledWindow { DECLARE_DYNAMIC_CLASS(wxHtmlWindow) @@ -69,7 +51,7 @@ class WXDLLEXPORT wxHtmlWindow : public wxScrolledWindow public: wxHtmlWindow() : wxScrolledWindow() {}; wxHtmlWindow(wxWindow *parent, wxWindowID id = -1, - const wxPoint& pos = wxDefaultPosition, + const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxHW_SCROLLBAR_AUTO, const wxString& name = "htmlWindow"); @@ -90,7 +72,7 @@ public: // After the page is loaded, the method calls SetPage() to display it. // Note : you can also use path relative to previously loaded page // Return value : same as SetPage - bool LoadPage(const wxString& location); + virtual bool LoadPage(const wxString& location); // Returns full location of opened page wxString GetOpenedPage() const {return m_OpenedPage;} @@ -148,6 +130,14 @@ public: // Returns a pointer to the parser. wxHtmlWinParser *GetParser() const { return m_Parser; } + // Adds HTML processor to this instance of wxHtmlWindow: + void AddProcessor(wxHtmlProcessor *processor); + // Adds HTML processor to wxHtmlWindow class as whole: + static void AddGlobalProcessor(wxHtmlProcessor *processor); + + // what would we do with it? + virtual bool AcceptsFocusFromKeyboard() const { return FALSE; } + protected: // Scrolls to anchor of this name. (Anchor is #news // or #features etc. it is part of address sometimes: @@ -155,7 +145,7 @@ protected: // Return value : TRUE if anchor exists, FALSE otherwise bool ScrollToAnchor(const wxString& anchor); - // Prepares layout (= fill m_PosX, m_PosY for fragments) based on + // Prepares layout (= fill m_PosX, m_PosY for fragments) based on // actual size of window. This method also setup scrollbars void CreateLayout(); @@ -167,63 +157,65 @@ protected: // Returns new filter (will be stored into m_DefaultFilter variable) virtual wxHtmlFilter *GetDefaultFilter() {return new wxHtmlFilterPlainText;} + // cleans static variables static void CleanUpStatics(); - // cleans static variables - protected: + // This is pointer to the first cell in parsed data. + // (Note: the first cell is usually top one = all other cells are sub-cells of this one) wxHtmlContainerCell *m_Cell; - // This is pointer to the first cell in parsed data. - // (Note: the first cell is usually top one = all other cells are sub-cells of this one) + // parser which is used to parse HTML input. + // Each wxHtmlWindow has it's own parser because sharing one global + // parser would be problematic (because of reentrancy) wxHtmlWinParser *m_Parser; - // parser which is used to parse HTML input. - // Each wxHtmlWindow has it's own parser because sharing one global - // parser would be problematic (because of reentrancy) + // contains name of actualy opened page or empty string if no page opened wxString m_OpenedPage; - // contains name of actualy opened page or empty string if no page opened + // contains name of current anchor within m_OpenedPage wxString m_OpenedAnchor; - // contains name of current anchor within m_OpenedPage + // contains title of actualy opened page or empty string if no tag wxString m_OpenedPageTitle; - // contains title of actualy opened page or empty string if no <TITLE> tag + // class for opening files (file system) wxFileSystem* m_FS; - // class for opening files (file system) wxFrame *m_RelatedFrame; wxString m_TitleFormat; + // frame in which page title should be displayed & number of it's statusbar + // reserved for usage with this html window int m_RelatedStatusBar; - // frame in which page title should be displayed & number of it's statusbar - // reserved for usage with this html window + // borders (free space between text and window borders) + // defaults to 10 pixels. int m_Borders; - // borders (free space between text and window borders) - // defaults to 10 pixels. int m_Style; private: + // a flag indicated if mouse moved + // (if TRUE we will try to change cursor in last call to OnIdle) bool m_tmpMouseMoved; - // a flag indicated if mouse moved - // (if TRUE we will try to change cursor in last call to OnIdle) + // contains last link name wxHtmlLinkInfo *m_tmpLastLink; - // contains last link name + // if >0 contents of the window is not redrawn + // (in order to avoid ugly blinking) int m_tmpCanDrawLocks; - // if >0 contents of the window is not redrawn - // (in order to avoid ugly blinking) + // list of HTML filters static wxList m_Filters; - // list of HTML filters + // this filter is used when no filter is able to read some file 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; + wxHtmlHistoryArray *m_History; + // browser history int m_HistoryPos; - // browser history + // if this FLAG is false, items are not added to history bool m_HistoryOn; - // if this FLAG is false, items are not added to history + // html processors array: + wxHtmlProcessorList *m_Processors; + static wxHtmlProcessorList *m_GlobalProcessors; DECLARE_EVENT_TABLE() };