X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d836b8bcf254da620bd56af0b0b9e71003b82147..bcfe86f0b5aae2ea3cd6c5e9a202d19bdbb21b25:/src/html/helpfrm.cpp diff --git a/src/html/helpfrm.cpp b/src/html/helpfrm.cpp index 09ca6f4727..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" @@ -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/helpctrl.h" @@ -55,7 +55,6 @@ #include "wx/fontenum.h" #include "wx/artprov.h" #include "wx/spinctrl.h" -#include "wx/app.h" IMPLEMENT_DYNAMIC_CLASS(wxHtmlHelpFrame, wxFrame) @@ -70,11 +69,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) @@ -82,18 +88,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), @@ -106,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 @@ -120,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")); @@ -184,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); } @@ -218,31 +238,31 @@ 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); } #endif -// we don't want to prevent the app from closing just because a help window -// remains opened -bool wxHtmlHelpFrame::ShouldPreventAppExit() const -{ - return (wx_const_cast(wxHtmlHelpFrame*, this) == wxTheApp->GetTopWindow()); -} - #endif // wxUSE_WXHTML_HELP