X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4e3e485bc855bb6aa3e3e7978eac9fb5eea0287e..12bb29f5432174ecbd65549bda832d70d34a98ae:/src/html/helpfrm.cpp diff --git a/src/html/helpfrm.cpp b/src/html/helpfrm.cpp index 35c4a46260..12d914ba2a 100644 --- a/src/html/helpfrm.cpp +++ b/src/html/helpfrm.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" @@ -38,7 +38,9 @@ #include "wx/msgdlg.h" #include "wx/textctrl.h" #include "wx/toolbar.h" -#endif // WXPRECOMP + #include "wx/choicdlg.h" + #include "wx/filedlg.h" +#endif // WX_PRECOMP #include "wx/html/helpfrm.h" #include "wx/html/helpctrl.h" @@ -51,10 +53,8 @@ #include "wx/busyinfo.h" #include "wx/progdlg.h" #include "wx/fontenum.h" -#include "wx/filedlg.h" #include "wx/artprov.h" #include "wx/spinctrl.h" -#include "wx/choicdlg.h" IMPLEMENT_DYNAMIC_CLASS(wxHtmlHelpFrame, wxFrame) @@ -69,10 +69,18 @@ BEGIN_EVENT_TABLE(wxHtmlHelpFrame, wxFrame) END_EVENT_TABLE() wxHtmlHelpFrame::wxHtmlHelpFrame(wxWindow* parent, wxWindowID id, const wxString& title, - int style, wxHtmlHelpData* data) + int style, wxHtmlHelpData* data +#if wxUSE_CONFIG + , wxConfigBase *config, const wxString& rootpath +#endif // wxUSE_CONFIG + ) { Init(data); - Create(parent, id, title, style); + Create(parent, id, title, style +#if wxUSE_CONFIG + , config, rootpath +#endif // wxUSE_CONFIG + ); } void wxHtmlHelpFrame::Init(wxHtmlHelpData* data) @@ -80,14 +88,31 @@ void wxHtmlHelpFrame::Init(wxHtmlHelpData* data) // Simply pass the pointer on to the help window m_Data = data; m_HtmlHelpWin = NULL; - m_helpController = (wxHtmlHelpController*) NULL; + m_helpController = NULL; + m_shouldPreventAppExit = false; +} + +void wxHtmlHelpFrame::SetController(wxHtmlHelpController* controller) +{ + m_helpController = controller; + if ( m_HtmlHelpWin ) + m_HtmlHelpWin->SetController(controller); } // Create: builds the GUI components. bool wxHtmlHelpFrame::Create(wxWindow* parent, wxWindowID id, - const wxString& WXUNUSED(title), int style) + const wxString& WXUNUSED(title), int style +#if wxUSE_CONFIG + , wxConfigBase *config, const wxString& rootpath +#endif // wxUSE_CONFIG + ) { m_HtmlHelpWin = new wxHtmlHelpWindow(m_Data); + m_HtmlHelpWin->SetController(m_helpController); +#if wxUSE_CONFIG + if ( config ) + m_HtmlHelpWin->UseConfig(config, rootpath); +#endif // wxUSE_CONFIG wxFrame::Create(parent, id, _("Help"), wxPoint(m_HtmlHelpWin->GetCfgData().x, m_HtmlHelpWin->GetCfgData().y), @@ -101,7 +126,7 @@ bool wxHtmlHelpFrame::Create(wxWindow* parent, wxWindowID id, GetPosition(& (m_HtmlHelpWin->GetCfgData().x), & (m_HtmlHelpWin->GetCfgData()).y); - SetIcon(wxArtProvider::GetIcon(wxART_HELP, wxART_HELP_BROWSER)); + SetIcons(wxArtProvider::GetIconBundle(wxART_HELP, wxART_FRAME_ICON)); // On the Mac, each modeless frame must have a menubar. // TODO: add more menu items, and perhaps add a style to show @@ -115,9 +140,9 @@ bool wxHtmlHelpFrame::Create(wxWindow* parent, wxWindowID id, fileMenu->Append(wxID_CLOSE, _("&Close")); wxMenu* helpMenu = new wxMenu; - helpMenu->Append(wxID_ABOUT, _("&About...")); + helpMenu->Append(wxID_ABOUT, _("&About")); // Ensures we don't get an empty help menu - helpMenu->Append(wxID_HELP_CONTENTS, _("&About...")); + helpMenu->Append(wxID_HELP_CONTENTS, _("&About")); menuBar->Append(fileMenu,_("&File")); menuBar->Append(helpMenu,_("&Help")); @@ -179,7 +204,7 @@ void wxHtmlHelpFrame::OnCloseWindow(wxCloseEvent& evt) if (m_HtmlHelpWin->GetSplitterWindow() && m_HtmlHelpWin->GetCfgData().navig_on) m_HtmlHelpWin->GetCfgData().sashpos = m_HtmlHelpWin->GetSplitterWindow()->GetSashPosition(); - if (m_helpController && m_helpController->IsKindOf(CLASSINFO(wxHtmlHelpController))) + if (m_helpController && wxDynamicCast(m_helpController, wxHtmlHelpController)) { ((wxHtmlHelpController*) m_helpController)->OnCloseFrame(evt); } @@ -213,20 +238,27 @@ void wxHtmlHelpFrame::AddGrabIfNeeded() #endif // __WXGTK__ } +#if wxUSE_CONFIG // For compatibility void wxHtmlHelpFrame::UseConfig(wxConfigBase *config, const wxString& rootPath) { if (m_HtmlHelpWin) m_HtmlHelpWin->UseConfig(config, rootPath); } +#endif // wxUSE_CONFIG + +void wxHtmlHelpFrame::SetShouldPreventAppExit(bool enable) +{ + m_shouldPreventAppExit = enable; +} #ifdef __WXMAC__ -void wxHtmlHelpFrame::OnClose(wxCommandEvent& event) +void wxHtmlHelpFrame::OnClose(wxCommandEvent& WXUNUSED(event)) { Close(true); } -void wxHtmlHelpFrame::OnAbout(wxCommandEvent& event) +void wxHtmlHelpFrame::OnAbout(wxCommandEvent& WXUNUSED(event)) { wxMessageBox(wxT("wxWidgets HTML Help Viewer (c) 1998-2006, Vaclav Slavik et al"), wxT("HelpView"), wxICON_INFORMATION|wxOK, this);