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 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()
};