X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9a83f860948059b0273b5cc6d9e43fadad3ebfca..11716cbe14313011016472f56edb51c55aabe852:/src/html/helpwnd.cpp diff --git a/src/html/helpwnd.cpp b/src/html/helpwnd.cpp index 1bce8024ef..eff2294cca 100644 --- a/src/html/helpwnd.cpp +++ b/src/html/helpwnd.cpp @@ -58,7 +58,12 @@ #include "wx/spinctrl.h" // what is considered "small index"? -#define INDEX_IS_SMALL 100 +#define INDEX_IS_SMALL 1000 + +// minimum width for content tree and index +// (we cannot let minimum size be determined from content, else long titles +// make the help frame unusable) +const wxCoord CONTENT_TREE_INDEX_MIN_WIDTH = 150; /* Motif defines this as a macro */ #ifdef Below @@ -273,8 +278,10 @@ void wxHtmlHelpWindow::Init(wxHtmlHelpData* data) m_mergedIndex = NULL; +#if wxUSE_CONFIG m_Config = NULL; m_ConfigRoot = wxEmptyString; +#endif // wxUSE_CONFIG m_Cfg.x = m_Cfg.y = wxDefaultCoord; m_Cfg.w = 700; @@ -315,10 +322,12 @@ bool wxHtmlHelpWindow::Create(wxWindow* parent, wxWindowID id, { m_hfStyle = helpStyle; +#if wxUSE_CONFIG // Do the config in two steps. We read the HtmlWindow customization after we // create the window. if (m_Config) ReadCustomization(m_Config, m_ConfigRoot); +#endif // wxUSE_CONFIG wxWindow::Create(parent, id, pos, size, style, wxT("wxHtmlHelp")); @@ -354,10 +363,9 @@ bool wxHtmlHelpWindow::Create(wxWindow* parent, wxWindowID id, #ifdef __WXMSW__ wxBorder htmlWindowBorder = GetDefaultBorder(); - if (htmlWindowBorder == wxBORDER_SUNKEN) - htmlWindowBorder = wxBORDER_SIMPLE; + htmlWindowBorder = wxBORDER_THEME; #else - wxBorder htmlWindowBorder = wxBORDER_SIMPLE; + wxBorder htmlWindowBorder = wxBORDER_SUNKEN; #endif if (helpStyle & (wxHF_CONTENTS | wxHF_INDEX | wxHF_SEARCH)) @@ -393,8 +401,10 @@ bool wxHtmlHelpWindow::Create(wxWindow* parent, wxWindowID id, topWindowSizer->Add(m_HtmlWin, 1, wxEXPAND); } +#if wxUSE_CONFIG if ( m_Config ) m_HtmlWin->ReadCustomization(m_Config, m_ConfigRoot); +#endif // wxUSE_CONFIG // contents tree panel? if ( helpStyle & wxHF_CONTENTS ) @@ -411,10 +421,16 @@ bool wxHtmlHelpWindow::Create(wxWindow* parent, wxWindowID id, if ( helpStyle & wxHF_BOOKMARKS ) { + long comboStyle = wxCB_READONLY; +#ifndef __WXMAC__ + // Not supported on OSX/Cocoa presently + comboStyle |= wxCB_SORT; + +#endif m_Bookmarks = new wxComboBox(dummy, wxID_HTML_BOOKMARKSLIST, wxEmptyString, wxDefaultPosition, wxDefaultSize, - 0, NULL, wxCB_READONLY | wxCB_SORT); + 0, NULL, comboStyle); m_Bookmarks->Append(_("(bookmarks)")); for (unsigned i = 0; i < m_BookmarksNames.GetCount(); i++) m_Bookmarks->Append(m_BookmarksNames[i]); @@ -652,11 +668,11 @@ void wxHtmlHelpWindow::AddToolbarButtons(wxToolBar *toolBar, int style) wxBitmap woptionsBitmap = wxArtProvider::GetBitmap(wxART_HELP_SETTINGS, wxART_TOOLBAR); - wxASSERT_MSG( (wpanelBitmap.Ok() && wbackBitmap.Ok() && - wforwardBitmap.Ok() && wupnodeBitmap.Ok() && - wupBitmap.Ok() && wdownBitmap.Ok() && - wopenBitmap.Ok() && wprintBitmap.Ok() && - woptionsBitmap.Ok()), + wxASSERT_MSG( (wpanelBitmap.IsOk() && wbackBitmap.IsOk() && + wforwardBitmap.IsOk() && wupnodeBitmap.IsOk() && + wupBitmap.IsOk() && wdownBitmap.IsOk() && + wopenBitmap.IsOk() && wprintBitmap.IsOk() && + woptionsBitmap.IsOk()), wxT("One or more HTML help frame toolbar bitmap could not be loaded.")) ; @@ -807,7 +823,9 @@ void wxHtmlHelpWindow::DisplayIndexItem(const wxHtmlHelpMergedIndexItem *it) wxSingleChoiceDialog dlg(this, _("Please choose the page to display:"), _("Help Topics"), - arr, NULL, wxCHOICEDLG_STYLE & ~wxCENTRE); + arr, + (void**)NULL, // No client data + wxCHOICEDLG_STYLE & ~wxCENTRE); if (dlg.ShowModal() == wxID_OK) { m_HtmlWin->LoadPage(it->items[dlg.GetSelection()]->GetFullPath()); @@ -1020,6 +1038,9 @@ void wxHtmlHelpWindow::CreateContents() imaged[it->level] = true; } } + + m_ContentsBox->SetMinSize(wxSize(CONTENT_TREE_INDEX_MIN_WIDTH, + m_ContentsBox->GetMinHeight())); } void wxHtmlHelpWindow::CreateIndex() @@ -1029,13 +1050,13 @@ void wxHtmlHelpWindow::CreateIndex() m_IndexList->Clear(); - size_t cnt = m_mergedIndex->size(); + unsigned long cnt = m_mergedIndex->size(); wxString cnttext; if (cnt > INDEX_IS_SMALL) - cnttext.Printf(_("%i of %i"), 0, cnt); + cnttext.Printf(_("%d of %lu"), 0, cnt); else - cnttext.Printf(_("%i of %i"), cnt, cnt); + cnttext.Printf(_("%lu of %lu"), cnt, cnt); m_IndexCountInfo->SetLabel(cnttext); if (cnt > INDEX_IS_SMALL) return; @@ -1043,6 +1064,9 @@ void wxHtmlHelpWindow::CreateIndex() for (size_t i = 0; i < cnt; i++) m_IndexList->Append((*m_mergedIndex)[i].name, (char*)(&(*m_mergedIndex)[i])); + + m_IndexList->SetMinSize(wxSize(CONTENT_TREE_INDEX_MIN_WIDTH, + m_IndexList->GetMinHeight())); } void wxHtmlHelpWindow::CreateSearch() @@ -1069,6 +1093,7 @@ void wxHtmlHelpWindow::RefreshLists() CreateSearch(); } +#if wxUSE_CONFIG void wxHtmlHelpWindow::ReadCustomization(wxConfigBase *cfg, const wxString& path) { wxString oldpath; @@ -1174,6 +1199,7 @@ void wxHtmlHelpWindow::WriteCustomization(wxConfigBase *cfg, const wxString& pat if (path != wxEmptyString) cfg->SetPath(oldpath); } +#endif // wxUSE_CONFIG static void SetFontsToHtmlWin(wxHtmlWindow *win, const wxString& scalf, const wxString& fixf, int size) { @@ -1549,7 +1575,7 @@ void wxHtmlHelpWindow::OnToolbar(wxCommandEvent& event) #if wxUSE_LIBMSPACK _("Compressed HTML Help file (*.chm)|*.chm|") + #endif - _("All files (*.*)|*"); + wxALL_FILES; wxString s = wxFileSelector(_("Open HTML document"), wxEmptyString, wxEmptyString,