X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/585ae8cbc0ba875d2b0e836d5db429e702f0c289..e531b73f8910b3dcb2457bb74eb3723f2d516f5f:/src/generic/helpwxht.cpp diff --git a/src/generic/helpwxht.cpp b/src/generic/helpwxht.cpp index 1fdb91028c..0ee358cc5d 100644 --- a/src/generic/helpwxht.cpp +++ b/src/generic/helpwxht.cpp @@ -1,6 +1,6 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: helpext.cpp -// Purpose: an external help controller for wxWindows +// Name: helpwxht.cpp +// Purpose: A help controller using the wxHTML classes // Author: Karsten Ballueder // Modified by: // Created: 04/01/98 @@ -19,15 +19,16 @@ # pragma hdrstop #endif -#if wxUSE_HTML +#if wxUSE_WXHTML_HELP #ifndef WX_PRECOMP -# include "wx/string.h" -# include "wx/utils.h" -# include "wx/list.h" -# include "wx/intl.h" -# include "wx/layout.h" -# include "wx/combobox.h" + #include "wx/string.h" + #include "wx/utils.h" + #include "wx/list.h" + #include "wx/intl.h" + #include "wx/layout.h" + #include "wx/combobox.h" + #include "wx/button.h" #endif #include "wx/helpbase.h" @@ -40,10 +41,14 @@ #include #endif -#ifndef __WINDOWS__ +#if !defined(__WINDOWS__) && !defined(__OS2__) # include #endif +#ifdef __WXMAC__ + #include "wx/mac/private.h" +#endif + IMPLEMENT_CLASS(wxHelpControllerHtml, wxHTMLHelpControllerBase) /** @@ -69,7 +74,7 @@ public: delete [] src; return doc; } - + virtual bool CanRead(const wxFSFile& file) const { wxString filename = file.GetLocation(); @@ -130,7 +135,7 @@ wxHelpFrame::OnButton(wxCommandEvent &ev) else if(id == m_IdSearch) { wxString str = m_combo->GetValue(); - if(m_combo->FindString(str) == -1 && m_combo->Number() < MAX_COMBO_ENTRIES) + if(m_combo->FindString(str) == -1 && m_combo->GetCount() < MAX_COMBO_ENTRIES) m_combo->Append(str); m_controller->KeywordSearch(str); } @@ -158,7 +163,7 @@ wxHelpFrame::wxHelpFrame(wxWindow *parent, int id, wxButton *btn_contents = new wxButton(this, m_IdContents, _("Contents")); m_combo = new wxComboBox(this, m_IdCombo); wxButton *btn_search = new wxButton(this, m_IdSearch, _("Search")); - + m_filter = new wxForceHtmlFilter; wxLayoutConstraints *c; @@ -176,7 +181,7 @@ wxHelpFrame::wxHelpFrame(wxWindow *parent, int id, c->top.SameAs(this, wxTop, 2*LAYOUT_Y_MARGIN); c->height.AsIs(); btn_fwd->SetConstraints(c); - + c = new wxLayoutConstraints; c->left.SameAs(btn_fwd, wxRight, 2*LAYOUT_X_MARGIN); c->width.Absolute(BUTTON_WIDTH); @@ -207,11 +212,18 @@ wxHelpFrame::wxHelpFrame(wxWindow *parent, int id, m_htmlwin->SetConstraints(c); SetAutoLayout(TRUE); CreateStatusBar(); - + m_htmlwin->SetRelatedFrame(this, title); m_htmlwin->SetRelatedStatusBar(0); m_htmlwin->AddFilter(m_filter); +#ifdef __WXMOTIF__ + // Motif needs a nudge to get it to resize properly + // when shown + wxSizeEvent event(size, GetId()); + GetEventHandler()->ProcessEvent(event); +#endif + Show(TRUE); } @@ -220,7 +232,7 @@ wxHelpFrame::~wxHelpFrame() } void -wxHelpFrame::OnClose(wxCloseEvent &ev) +wxHelpFrame::OnClose(wxCloseEvent &WXUNUSED(ev)) { wxASSERT(m_controller); m_controller->m_Frame = NULL; @@ -259,12 +271,16 @@ wxHelpControllerHtml::~wxHelpControllerHtml(void) #endif bool -wxHelpControllerHtml::DisplayHelp(wxString const &relativeURL) +wxHelpControllerHtml::DisplayHelp(const wxString &relativeURL) { wxBusyCursor b; // display a busy cursor wxString url; - url << m_MapFile << SEP<< relativeURL; + wxString mapfileurl = m_MapFile ; +#if defined(__WXMAC__) && !defined(__DARWIN__) + mapfileurl = wxMac2UnixFilename(m_MapFile) ; +#endif + url << mapfileurl << SEP<< relativeURL; if(! m_Frame || m_NewFrameEachTime) { m_Frame = new wxHelpFrame(NULL, -1, m_FrameTitle, @@ -307,4 +323,5 @@ wxHelpControllerHtml::GetFrameParameters(wxSize *size, return m_Frame; } -#endif // wxUSE_HTML +#endif // wxUSE_WXHTML_HELP +