X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3ef01ce5e38bb97235b6c8647bf76d7791ed11b6..8ea3f821b7efe6a1a0b9f5119274d4aac8d5f8cb:/include/wx/html/htmlwin.h diff --git a/include/wx/html/htmlwin.h b/include/wx/html/htmlwin.h index cb339ec0b3..569ae110e9 100644 --- a/include/wx/html/htmlwin.h +++ b/include/wx/html/htmlwin.h @@ -2,13 +2,14 @@ // Name: htmlwin.h // Purpose: wxHtmlWindow class for parsing & displaying HTML // Author: Vaclav Slavik +// RCS-ID: $Id$ // Copyright: (c) 1999 Vaclav Slavik // Licence: wxWindows Licence ///////////////////////////////////////////////////////////////////////////// -#ifndef __HTMLWIN_H__ -#define __HTMLWIN_H__ +#ifndef _WX_HTMLWIN_H_ +#define _WX_HTMLWIN_H_ #ifdef __GNUG__ #pragma interface @@ -17,14 +18,14 @@ #include "wx/defs.h" #if wxUSE_HTML -#include -#include -#include -#include -#include -#include -#include -#include +#include "wx/window.h" +#include "wx/scrolwin.h" +#include "wx/config.h" +#include "wx/treectrl.h" +#include "wx/html/winpars.h" +#include "wx/html/htmlcell.h" +#include "wx/filesys.h" +#include "wx/html/htmlfilt.h" //-------------------------------------------------------------------------------- @@ -42,85 +43,32 @@ // item of history list class WXDLLEXPORT HtmlHistoryItem : public wxObject { - private: - wxString m_Page; - wxString m_Anchor; - int m_Pos; - 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;} -}; -#undef WXDLLEXPORTLOCAL -#define WXDLLEXPORTLOCAL WXDLLEXPORT - // ?? Don't know why - but Allen Van Sickel reported it to fix problems with DLL + private: + wxString m_Page; + wxString m_Anchor; + int m_Pos; +}; -WX_DECLARE_OBJARRAY(HtmlHistoryItem, HtmlHistoryArray); -#undef WXDLLEXPORTLOCAL -#define WXDLLEXPORTLOCAL +WX_DECLARE_EXPORTED_OBJARRAY(HtmlHistoryItem, HtmlHistoryArray); class WXDLLEXPORT wxHtmlWindow : public wxScrolledWindow { DECLARE_DYNAMIC_CLASS(wxHtmlWindow) - protected: - 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) - 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) - wxString 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 - wxFileSystem* m_FS; - // class for opening files (file system) - - wxFrame *m_RelatedFrame; - wxString m_TitleFormat; - int m_RelatedStatusBar; - // frame in which page title should be displayed & number of it's statusbar - // reserved for usage with this html window - - int m_Borders; - // borders (free space between text and window borders) - // defaults to 10 pixels. - - 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) - 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 - 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(); @@ -144,6 +92,9 @@ class WXDLLEXPORT wxHtmlWindow : public wxScrolledWindow wxString GetOpenedPage() const {return m_OpenedPage;} // Returns full location of 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 // frame title, e.g. "HtmlHelp : %s". It must contain exactly one %s @@ -153,11 +104,11 @@ 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, int normal_italic_mode, wxString fixed_face, int fixed_italic_mode, 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) @@ -215,14 +166,62 @@ class WXDLLEXPORT wxHtmlWindow : public wxScrolledWindow virtual wxHtmlFilter *GetDefaultFilter() {return new wxHtmlFilterPlainText;} // returns new filter (will be stored into m_DefaultFilter variable) - DECLARE_EVENT_TABLE() -}; + protected: + 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) + 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) + wxString 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) + + wxFrame *m_RelatedFrame; + wxString m_TitleFormat; + int m_RelatedStatusBar; + // frame in which page title should be displayed & number of it's statusbar + // reserved for usage with this html window + + int m_Borders; + // borders (free space between text and window borders) + // defaults to 10 pixels. + int m_Style; -#endif // __HTMLWIN_H__ + private: + 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; + // contains last link name + bool m_tmpCanDraw; + // if FALSE contents of the window is not redrawn + // (in order to avoid ugly bliking) -#endif + 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 + DECLARE_EVENT_TABLE() +}; + + +#endif + +#endif // _WX_HTMLWIN_H_