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();
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, 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;
// This is pointer to the first cell in parsed data.
// 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)
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()
};