X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d3c7fc996a73e9f6a83067bc28a3c5581a3fee65..9d5507f7a2701395e1d5c121bd877bb9066ee6ea:/src/html/helpwnd.cpp?ds=inline diff --git a/src/html/helpwnd.cpp b/src/html/helpwnd.cpp index 1b55a9c21a..5e652bb703 100644 --- a/src/html/helpwnd.cpp +++ b/src/html/helpwnd.cpp @@ -19,7 +19,7 @@ #if wxUSE_WXHTML_HELP -#ifndef WXPRECOMP +#ifndef WX_PRECOMP #include "wx/object.h" #include "wx/dynarray.h" #include "wx/intl.h" @@ -40,7 +40,7 @@ #include "wx/toolbar.h" #include "wx/choicdlg.h" #include "wx/filedlg.h" -#endif // WXPRECOMP +#endif // WX_PRECOMP #include "wx/html/helpfrm.h" #include "wx/html/helpdlg.h" @@ -104,53 +104,54 @@ class wxHtmlHelpHashData : public wxObject // wxHtmlHelpHtmlWindow (private) //-------------------------------------------------------------------------- -DEFINE_EVENT_TYPE(wxEVT_COMMAND_HTMLWINDOW_URL_CLICKED) -IMPLEMENT_DYNAMIC_CLASS(wxHtmlWindowEvent, wxNotifyEvent) class wxHtmlHelpHtmlWindow : public wxHtmlWindow { - public: - wxHtmlHelpHtmlWindow(wxHtmlHelpWindow *win, wxWindow *parent) - : wxHtmlWindow(parent), m_Window(win) - { - SetStandardFonts(); - } +public: + wxHtmlHelpHtmlWindow(wxHtmlHelpWindow *win, wxWindow *parent, wxWindowID id = wxID_ANY, + const wxPoint& pos = wxDefaultPosition, const wxSize& sz = wxDefaultSize, long style = wxHW_DEFAULT_STYLE) + : wxHtmlWindow(parent, id, pos, sz, style), m_Window(win) + { + SetStandardFonts(); + } - virtual void OnLinkClicked(const wxHtmlLinkInfo& link) - { - wxHtmlWindowEvent event(wxEVT_COMMAND_HTMLWINDOW_URL_CLICKED, GetId()); - event.SetURL(link.GetHref()); - if (!ProcessEvent(event)) - { - wxHtmlWindow::OnLinkClicked(link); - } - const wxMouseEvent *e = link.GetEvent(); - if (e == NULL || e->LeftUp()) - m_Window->NotifyPageChanged(); - } + void OnLink(wxHtmlLinkEvent& ev) + { + const wxMouseEvent *e = ev.GetLinkInfo().GetEvent(); + if (e == NULL || e->LeftUp()) + m_Window->NotifyPageChanged(); - // Returns full location with anchor (helper) - static wxString GetOpenedPageWithAnchor(wxHtmlWindow *win) - { - if(!win) - return wxEmptyString; + // skip the event so that normal processing (i.e. following the link) + // is done: + ev.Skip(); + } - wxString an = win->GetOpenedAnchor(); - wxString pg = win->GetOpenedPage(); - if(!an.empty()) - { - pg << wxT("#"); - pg << an; - } - return pg; + // Returns full location with anchor (helper) + static wxString GetOpenedPageWithAnchor(wxHtmlWindow *win) + { + if(!win) + return wxEmptyString; + + wxString an = win->GetOpenedAnchor(); + wxString pg = win->GetOpenedPage(); + if(!an.empty()) + { + pg << wxT("#") << an; } + return pg; + } - private: - wxHtmlHelpWindow *m_Window; +private: + wxHtmlHelpWindow *m_Window; DECLARE_NO_COPY_CLASS(wxHtmlHelpHtmlWindow) + DECLARE_EVENT_TABLE() }; +BEGIN_EVENT_TABLE(wxHtmlHelpHtmlWindow, wxHtmlWindow) + EVT_HTML_LINK_CLICKED(wxID_ANY, wxHtmlHelpHtmlWindow::OnLink) +END_EVENT_TABLE() + //--------------------------------------------------------------------------- // wxHtmlHelpWindow::m_mergedIndex @@ -361,6 +362,14 @@ bool wxHtmlHelpWindow::Create(wxWindow* parent, wxWindowID id, wxSizer *navigSizer = NULL; +#ifdef __WXMSW__ + wxBorder htmlWindowBorder = GetDefaultBorder(); + if (htmlWindowBorder == wxBORDER_SUNKEN) + htmlWindowBorder = wxBORDER_SIMPLE; +#else + wxBorder htmlWindowBorder = wxBORDER_SIMPLE; +#endif + if (helpStyle & (wxHF_CONTENTS | wxHF_INDEX | wxHF_SEARCH)) { // traditional help controller; splitter window with html page on the @@ -369,10 +378,13 @@ bool wxHtmlHelpWindow::Create(wxWindow* parent, wxWindowID id, topWindowSizer->Add(m_Splitter, 1, wxEXPAND); - m_HtmlWin = new wxHtmlHelpHtmlWindow(this, m_Splitter); + m_HtmlWin = new wxHtmlHelpHtmlWindow(this, m_Splitter, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHW_DEFAULT_STYLE|htmlWindowBorder); m_NavigPan = new wxPanel(m_Splitter, wxID_ANY); m_NavigNotebook = new wxNotebook(m_NavigPan, wxID_HTML_NOTEBOOK, wxDefaultPosition, wxDefaultSize); +#ifdef __WXMAC__ + m_NavigNotebook->SetWindowVariant(wxWINDOW_VARIANT_SMALL); +#endif navigSizer = new wxBoxSizer(wxVERTICAL); navigSizer->Add(m_NavigNotebook, 1, wxEXPAND); @@ -382,7 +394,7 @@ bool wxHtmlHelpWindow::Create(wxWindow* parent, wxWindowID id, else { // only html window, no notebook with index,contents etc - m_HtmlWin = new wxHtmlWindow(this); + m_HtmlWin = new wxHtmlWindow(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHW_DEFAULT_STYLE|htmlWindowBorder); topWindowSizer->Add(m_HtmlWin, 1, wxEXPAND); } @@ -393,6 +405,9 @@ bool wxHtmlHelpWindow::Create(wxWindow* parent, wxWindowID id, if ( helpStyle & wxHF_CONTENTS ) { wxWindow *dummy = new wxPanel(m_NavigNotebook, wxID_HTML_INDEXPAGE); +#ifdef __WXMAC__ + dummy->SetWindowVariant(wxWINDOW_VARIANT_NORMAL); +#endif wxSizer *topsizer = new wxBoxSizer(wxVERTICAL); topsizer->Add(0, 10); @@ -458,6 +473,9 @@ bool wxHtmlHelpWindow::Create(wxWindow* parent, wxWindowID id, if ( helpStyle & wxHF_INDEX ) { wxWindow *dummy = new wxPanel(m_NavigNotebook, wxID_HTML_INDEXPAGE); +#ifdef __WXMAC__ + dummy->SetWindowVariant(wxWINDOW_VARIANT_NORMAL); +#endif wxSizer *topsizer = new wxBoxSizer(wxVERTICAL); dummy->SetSizer(topsizer); @@ -498,6 +516,9 @@ bool wxHtmlHelpWindow::Create(wxWindow* parent, wxWindowID id, if ( helpStyle & wxHF_SEARCH ) { wxWindow *dummy = new wxPanel(m_NavigNotebook, wxID_HTML_INDEXPAGE); +#ifdef __WXMAC__ + dummy->SetWindowVariant(wxWINDOW_VARIANT_NORMAL); +#endif wxSizer *sizer = new wxBoxSizer(wxVERTICAL); dummy->SetSizer(sizer); @@ -1199,8 +1220,8 @@ public: wxSize(200, wxDefaultCoord), 0, NULL, wxCB_DROPDOWN | wxCB_READONLY)); - sizer->Add(FontSize = new wxSpinCtrl(this, wxID_ANY)); - FontSize->SetRange(2, 100); + sizer->Add(FontSize = new wxSpinCtrl(this, wxID_ANY, wxEmptyString, wxDefaultPosition, + wxDefaultSize, wxSP_ARROW_KEYS, 2, 100, 2, _T("wxSpinCtrl"))); topsizer->Add(sizer, 0, wxLEFT|wxRIGHT|wxTOP, 10);