X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/50415ad7eebd3399fc06417a8eb427324978a13a..7448d67c492d4e397e6de9d25955cab074ce6c14:/src/html/helpwnd.cpp diff --git a/src/html/helpwnd.cpp b/src/html/helpwnd.cpp index 17a376198b..e350f6e1b4 100644 --- a/src/html/helpwnd.cpp +++ b/src/html/helpwnd.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/helpdlg.h" @@ -108,8 +108,9 @@ class wxHtmlHelpHashData : public wxObject class wxHtmlHelpHtmlWindow : public wxHtmlWindow { public: - wxHtmlHelpHtmlWindow(wxHtmlHelpWindow *win, wxWindow *parent) - : wxHtmlWindow(parent), m_Window(win) + wxHtmlHelpHtmlWindow(wxHtmlHelpWindow *win, wxWindow *parent, wxWindowID id = wxID_ANY, + const wxPoint& pos = wxDefaultPosition, const wxSize& sz = wxDefaultSize, long style = wxHW_DEFAULT_STYLE) + : wxHtmlWindow(parent, id, pos, sz, style), m_Window(win) { SetStandardFonts(); } @@ -314,17 +315,6 @@ bool wxHtmlHelpWindow::Create(wxWindow* parent, wxWindowID id, { m_hfStyle = helpStyle; - wxImageList *ContentsImageList = new wxImageList(16, 16); - ContentsImageList->Add(wxArtProvider::GetIcon(wxART_HELP_BOOK, - wxART_HELP_BROWSER, - wxSize(16, 16))); - ContentsImageList->Add(wxArtProvider::GetIcon(wxART_HELP_FOLDER, - wxART_HELP_BROWSER, - wxSize(16, 16))); - ContentsImageList->Add(wxArtProvider::GetIcon(wxART_HELP_PAGE, - wxART_HELP_BROWSER, - wxSize(16, 16))); - // Do the config in two steps. We read the HtmlWindow customization after we // create the window. if (m_Config) @@ -361,6 +351,14 @@ bool wxHtmlHelpWindow::Create(wxWindow* parent, wxWindowID id, wxSizer *navigSizer = NULL; +#ifdef __WXMSW__ + wxBorder htmlWindowBorder = GetDefaultBorder(); + if (htmlWindowBorder == wxBORDER_SUNKEN) + htmlWindowBorder = wxBORDER_SIMPLE; +#else + wxBorder htmlWindowBorder = wxBORDER_SIMPLE; +#endif + if (helpStyle & (wxHF_CONTENTS | wxHF_INDEX | wxHF_SEARCH)) { // traditional help controller; splitter window with html page on the @@ -369,10 +367,13 @@ bool wxHtmlHelpWindow::Create(wxWindow* parent, wxWindowID id, topWindowSizer->Add(m_Splitter, 1, wxEXPAND); - m_HtmlWin = new wxHtmlHelpHtmlWindow(this, m_Splitter); + m_HtmlWin = new wxHtmlHelpHtmlWindow(this, m_Splitter, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHW_DEFAULT_STYLE|htmlWindowBorder); m_NavigPan = new wxPanel(m_Splitter, wxID_ANY); m_NavigNotebook = new wxNotebook(m_NavigPan, wxID_HTML_NOTEBOOK, wxDefaultPosition, wxDefaultSize); +#ifdef __WXMAC__ + m_NavigNotebook->SetWindowVariant(wxWINDOW_VARIANT_SMALL); +#endif navigSizer = new wxBoxSizer(wxVERTICAL); navigSizer->Add(m_NavigNotebook, 1, wxEXPAND); @@ -382,7 +383,7 @@ bool wxHtmlHelpWindow::Create(wxWindow* parent, wxWindowID id, else { // only html window, no notebook with index,contents etc - m_HtmlWin = new wxHtmlWindow(this); + m_HtmlWin = new wxHtmlWindow(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHW_DEFAULT_STYLE|htmlWindowBorder); topWindowSizer->Add(m_HtmlWin, 1, wxEXPAND); } @@ -393,6 +394,9 @@ bool wxHtmlHelpWindow::Create(wxWindow* parent, wxWindowID id, if ( helpStyle & wxHF_CONTENTS ) { wxWindow *dummy = new wxPanel(m_NavigNotebook, wxID_HTML_INDEXPAGE); +#ifdef __WXMAC__ + dummy->SetWindowVariant(wxWINDOW_VARIANT_NORMAL); +#endif wxSizer *topsizer = new wxBoxSizer(wxVERTICAL); topsizer->Add(0, 10); @@ -444,6 +448,17 @@ bool wxHtmlHelpWindow::Create(wxWindow* parent, wxWindowID id, #endif ); + wxImageList *ContentsImageList = new wxImageList(16, 16); + ContentsImageList->Add(wxArtProvider::GetIcon(wxART_HELP_BOOK, + wxART_HELP_BROWSER, + wxSize(16, 16))); + ContentsImageList->Add(wxArtProvider::GetIcon(wxART_HELP_FOLDER, + wxART_HELP_BROWSER, + wxSize(16, 16))); + ContentsImageList->Add(wxArtProvider::GetIcon(wxART_HELP_PAGE, + wxART_HELP_BROWSER, + wxSize(16, 16))); + m_ContentsBox->AssignImageList(ContentsImageList); topsizer->Add(m_ContentsBox, 1, @@ -458,6 +473,9 @@ bool wxHtmlHelpWindow::Create(wxWindow* parent, wxWindowID id, if ( helpStyle & wxHF_INDEX ) { wxWindow *dummy = new wxPanel(m_NavigNotebook, wxID_HTML_INDEXPAGE); +#ifdef __WXMAC__ + dummy->SetWindowVariant(wxWINDOW_VARIANT_NORMAL); +#endif wxSizer *topsizer = new wxBoxSizer(wxVERTICAL); dummy->SetSizer(topsizer); @@ -498,6 +516,9 @@ bool wxHtmlHelpWindow::Create(wxWindow* parent, wxWindowID id, if ( helpStyle & wxHF_SEARCH ) { wxWindow *dummy = new wxPanel(m_NavigNotebook, wxID_HTML_INDEXPAGE); +#ifdef __WXMAC__ + dummy->SetWindowVariant(wxWINDOW_VARIANT_NORMAL); +#endif wxSizer *sizer = new wxBoxSizer(wxVERTICAL); dummy->SetSizer(sizer); @@ -512,7 +533,7 @@ bool wxHtmlHelpWindow::Create(wxWindow* parent, wxWindowID id, m_SearchWholeWords = new wxCheckBox(dummy, wxID_ANY, _("Whole words only")); m_SearchButton = new wxButton(dummy, wxID_HTML_SEARCHBUTTON, _("Search")); #if wxUSE_TOOLTIPS - m_SearchButton->SetToolTip(_("Search contents of help book(s) for all occurences of the text you typed above")); + m_SearchButton->SetToolTip(_("Search contents of help book(s) for all occurrences of the text you typed above")); #endif //wxUSE_TOOLTIPS m_SearchList = new wxListBox(dummy, wxID_HTML_SEARCHLIST, wxDefaultPosition, wxDefaultSize, @@ -542,9 +563,10 @@ bool wxHtmlHelpWindow::Create(wxWindow* parent, wxWindowID id, // showtime if ( m_NavigPan && m_Splitter ) { - m_Splitter->SetMinimumPaneSize(20); - if ( m_Cfg.navig_on ) - m_Splitter->SplitVertically(m_NavigPan, m_HtmlWin, m_Cfg.sashpos); + if (m_NavigPan) + m_Splitter->SetMinimumPaneSize(m_NavigPan->GetBestSize().x); + else + m_Splitter->SetMinimumPaneSize(20); if ( m_Cfg.navig_on ) { @@ -571,6 +593,9 @@ bool wxHtmlHelpWindow::Create(wxWindow* parent, wxWindowID id, wxHtmlHelpWindow::~wxHtmlHelpWindow() { + if ( m_helpController ) + m_helpController->SetHelpWindow(NULL); + delete m_mergedIndex; // PopEventHandler(); // wxhtmlhelpcontroller (not any more!) @@ -627,48 +652,28 @@ void wxHtmlHelpWindow::AddToolbarButtons(wxToolBar *toolBar, int style) wxT("One or more HTML help frame toolbar bitmap could not be loaded.")) ; - toolBar->AddTool(wxID_HTML_PANEL, wpanelBitmap, wxNullBitmap, - false, wxDefaultCoord, wxDefaultCoord, (wxObject *) NULL, - _("Show/hide navigation panel")); - + toolBar->AddTool(wxID_HTML_PANEL, wxEmptyString, wpanelBitmap, _("Show/hide navigation panel")); toolBar->AddSeparator(); - toolBar->AddTool(wxID_HTML_BACK, wbackBitmap, wxNullBitmap, - false, wxDefaultCoord, wxDefaultCoord, (wxObject *) NULL, - _("Go back")); - toolBar->AddTool(wxID_HTML_FORWARD, wforwardBitmap, wxNullBitmap, - false, wxDefaultCoord, wxDefaultCoord, (wxObject *) NULL, - _("Go forward")); + toolBar->AddTool(wxID_HTML_BACK, wxEmptyString, wbackBitmap, _("Go back")); + toolBar->AddTool(wxID_HTML_FORWARD, wxEmptyString, wforwardBitmap, _("Go forward")); toolBar->AddSeparator(); - - toolBar->AddTool(wxID_HTML_UPNODE, wupnodeBitmap, wxNullBitmap, - false, wxDefaultCoord, wxDefaultCoord, (wxObject *) NULL, - _("Go one level up in document hierarchy")); - toolBar->AddTool(wxID_HTML_UP, wupBitmap, wxNullBitmap, - false, wxDefaultCoord, wxDefaultCoord, (wxObject *) NULL, - _("Previous page")); - toolBar->AddTool(wxID_HTML_DOWN, wdownBitmap, wxNullBitmap, - false, wxDefaultCoord, wxDefaultCoord, (wxObject *) NULL, - _("Next page")); + toolBar->AddTool(wxID_HTML_UPNODE, wxEmptyString, wupnodeBitmap, _("Go one level up in document hierarchy")); + toolBar->AddTool(wxID_HTML_UP, wxEmptyString, wupBitmap, _("Previous page")); + toolBar->AddTool(wxID_HTML_DOWN, wxEmptyString, wdownBitmap, _("Next page")); if ((style & wxHF_PRINT) || (style & wxHF_OPEN_FILES)) toolBar->AddSeparator(); if (style & wxHF_OPEN_FILES) - toolBar->AddTool(wxID_HTML_OPENFILE, wopenBitmap, wxNullBitmap, - false, wxDefaultCoord, wxDefaultCoord, (wxObject *) NULL, - _("Open HTML document")); + toolBar->AddTool(wxID_HTML_OPENFILE, wxEmptyString, wopenBitmap, _("Open HTML document")); #if wxUSE_PRINTING_ARCHITECTURE if (style & wxHF_PRINT) - toolBar->AddTool(wxID_HTML_PRINT, wprintBitmap, wxNullBitmap, - false, wxDefaultCoord, wxDefaultCoord, (wxObject *) NULL, - _("Print this page")); + toolBar->AddTool(wxID_HTML_PRINT, wxEmptyString, wprintBitmap, _("Print this page")); #endif toolBar->AddSeparator(); - toolBar->AddTool(wxID_HTML_OPTIONS, woptionsBitmap, wxNullBitmap, - false, wxDefaultCoord, wxDefaultCoord, (wxObject *) NULL, - _("Display options dialog")); + toolBar->AddTool(wxID_HTML_OPTIONS, wxEmptyString, woptionsBitmap, _("Display options dialog")); // Allow application to add custom buttons wxHtmlHelpFrame* parentFrame = wxDynamicCast(GetParent(), wxHtmlHelpFrame); @@ -806,6 +811,8 @@ void wxHtmlHelpWindow::DisplayIndexItem(const wxHtmlHelpMergedIndexItem *it) bool wxHtmlHelpWindow::KeywordSearch(const wxString& keyword, wxHelpSearchMode mode) { + wxCHECK_MSG( !keyword.empty(), false, "must have a non empty keyword" ); + if (mode == wxHELP_SEARCH_ALL) { if ( !(m_SearchList && @@ -1206,9 +1213,12 @@ public: topsizer->Add(new wxStaticText(this, wxID_ANY, _("Preview:")), 0, wxLEFT | wxTOP, 10); + + topsizer->AddSpacer(5); + topsizer->Add(TestWin = new wxHtmlWindow(this, wxID_ANY, wxDefaultPosition, wxSize(20, 150), - wxHW_SCROLLBAR_AUTO | wxSUNKEN_BORDER), - 1, wxEXPAND | wxLEFT|wxTOP|wxRIGHT, 10); + wxHW_SCROLLBAR_AUTO|wxBORDER_THEME), + 1, wxEXPAND | wxLEFT | wxRIGHT, 10); wxBoxSizer *sizer2 = new wxBoxSizer(wxHORIZONTAL); wxButton *ok;