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();
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
// 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)
bool HistoryForward();
// Goes to previous/next page (in browsing history)
// Returns TRUE if successful, FALSE otherwise
+ bool HistoryCanBack();
+ bool HistoryCanForward();
+
void HistoryClear();
// Resets history
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.
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;
// 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)
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