X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/18fc605924327cb4e9b3beb994c607cf28a08560..76b0f8384ed211c5f6b48597a62da743b604e666:/src/html/helpfrm.cpp diff --git a/src/html/helpfrm.cpp b/src/html/helpfrm.cpp index c3a082efb9..69694cfad4 100644 --- a/src/html/helpfrm.cpp +++ b/src/html/helpfrm.cpp @@ -4,7 +4,6 @@ // Notes: Based on htmlhelp.cpp, implementing a monolithic // HTML Help controller class, by Vaclav Slavik // Author: Harm van der Heijden and Vaclav Slavik -// RCS-ID: $Id$ // Copyright: (c) Harm van der Heijden and Vaclav Slavik // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -19,7 +18,7 @@ #if wxUSE_WXHTML_HELP -#ifndef WXPRECOMP +#ifndef WX_PRECOMP #include "wx/object.h" #include "wx/dynarray.h" #include "wx/intl.h" @@ -40,7 +39,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/helpctrl.h" @@ -69,11 +68,18 @@ BEGIN_EVENT_TABLE(wxHtmlHelpFrame, wxFrame) END_EVENT_TABLE() wxHtmlHelpFrame::wxHtmlHelpFrame(wxWindow* parent, wxWindowID id, const wxString& title, - int style, wxHtmlHelpData* data, - wxConfigBase *config, const wxString& rootpath) + int style, wxHtmlHelpData* data +#if wxUSE_CONFIG + , wxConfigBase *config, const wxString& rootpath +#endif // wxUSE_CONFIG + ) { Init(data); - Create(parent, id, title, style, config, rootpath); + Create(parent, id, title, style +#if wxUSE_CONFIG + , config, rootpath +#endif // wxUSE_CONFIG + ); } void wxHtmlHelpFrame::Init(wxHtmlHelpData* data) @@ -81,18 +87,32 @@ 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, - wxConfigBase *config, const wxString& rootpath) + const wxString& WXUNUSED(title), int style +#if wxUSE_CONFIG + , wxConfigBase *config, const wxString& rootpath +#endif // wxUSE_CONFIG + ) { m_HtmlHelpWin = new wxHtmlHelpWindow(m_Data); - if ( config) + 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), wxSize(m_HtmlHelpWin->GetCfgData().w, m_HtmlHelpWin->GetCfgData().h), @@ -105,7 +125,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 @@ -119,9 +139,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")); @@ -183,7 +203,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); } @@ -217,20 +237,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);