-
- // toolbar?
- if (style & wxHF_TOOLBAR) {
- wxToolBar *toolBar = CreateToolBar(wxNO_BORDER | wxTB_HORIZONTAL | wxTB_DOCKABLE);
- toolBar->SetMargins( 2, 2 );
- AddToolbarButtons(toolBar, style);
- toolBar -> Realize();
- }
-
- if (style & (wxHF_CONTENTS | wxHF_INDEX | wxHF_SEARCH)) {
- // traditional help controller; splitter window with html page on the
- // right and a notebook containing various pages on the left
- m_Splitter = new wxSplitterWindow(this);
-
- m_HtmlWin = new wxHtmlWindow(m_Splitter);
- m_NavigPan = new wxNotebook(m_Splitter, wxID_HTML_NOTEBOOK,
- wxDefaultPosition, wxDefaultSize);
- } else { // only html window, no notebook with index,contents etc
- m_HtmlWin = new wxHtmlWindow(this);
- }
-
- m_HtmlWin -> SetRelatedFrame(this, m_TitleFormat);
- m_HtmlWin -> SetRelatedStatusBar(0);
- if (m_Config)
- m_HtmlWin -> ReadCustomization(m_Config, m_ConfigRoot);
-
- // contents tree panel?
- if (style & wxHF_CONTENTS) {
- m_ContentsBox = new wxTreeCtrl(m_NavigPan, wxID_HTML_TREECTRL,
- wxDefaultPosition, wxDefaultSize,
- wxTR_HAS_BUTTONS | wxSUNKEN_BORDER);
- m_ContentsBox -> SetImageList(m_ContentsImageList);
- m_NavigPan -> AddPage(m_ContentsBox, _("Contents"));
- m_ContentsPage = notebook_page++;
- }
-
- // index listbox panel?
- if (style & wxHF_INDEX) {
- wxWindow *dummy = new wxPanel(m_NavigPan, wxID_HTML_INDEXPAGE);
-
- wxLayoutConstraints *b1 = new wxLayoutConstraints;
- m_IndexText = new wxTextCtrl(dummy, wxID_HTML_INDEXTEXT, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER);
- b1 -> top.SameAs (dummy, wxTop, 10);
- b1 -> left.SameAs (dummy, wxLeft, 10);
- b1 -> right.SameAs (dummy, wxRight, 10);
- b1 -> height.AsIs();
- m_IndexText -> SetConstraints(b1);
-
- wxLayoutConstraints *b4 = new wxLayoutConstraints;
- m_IndexButtonAll = new wxButton(dummy, wxID_HTML_INDEXBUTTONALL, _("Show all"));
-
- b4 -> top.Below (m_IndexText, 10);
- b4 -> right.SameAs (dummy, wxRight, 10);
- b4 -> width.AsIs();
- b4 -> height.AsIs();
- m_IndexButtonAll -> SetConstraints(b4);
-
- wxLayoutConstraints *b2 = new wxLayoutConstraints;
- m_IndexButton = new wxButton(dummy, wxID_HTML_INDEXBUTTON, _("Find"));
- b2 -> top.Below (m_IndexText, 10);
- b2 -> right.LeftOf (m_IndexButtonAll, 10);
- b2 -> width.AsIs();
- b2 -> height.AsIs();
- m_IndexButton -> SetConstraints(b2);
-
- wxLayoutConstraints *b5 = new wxLayoutConstraints;
- m_IndexCountInfo = new wxStaticText(dummy, wxID_HTML_COUNTINFO, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT | wxST_NO_AUTORESIZE);
-
- b5 -> top.Below (m_IndexButton, 5);
- b5 -> right.SameAs (dummy, wxRight, 10);
- b5 -> left.SameAs (dummy, wxLeft, 10);
- b5 -> height.AsIs();
- m_IndexCountInfo -> SetConstraints(b5);
-
- wxLayoutConstraints *b3 = new wxLayoutConstraints;
- m_IndexList = new wxListBox(dummy, wxID_HTML_INDEXLIST, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_SINGLE | wxLB_ALWAYS_SB);
- b3 -> top.Below (m_IndexCountInfo, 5);
- b3 -> left.SameAs (dummy, wxLeft, 0);
- b3 -> right.SameAs (dummy, wxRight, 0);
- b3 -> bottom.SameAs (dummy, wxBottom, 0);
- m_IndexList -> SetConstraints(b3);
-
-#if wxUSE_TOOLTIPS
- m_IndexButtonAll -> SetToolTip(_("Show all items in index"));
- m_IndexButton -> SetToolTip(_("Display all index items that contain given substring. Search is case insensitive."));
-#endif //wxUSE_TOOLTIPS
-
- dummy -> SetAutoLayout(TRUE);
- dummy -> Layout();
-
- m_NavigPan -> AddPage(dummy, _("Index"));
- m_IndexPage = notebook_page++;
- }
-
- // search list panel?
- if (style & wxHF_SEARCH) {
- wxWindow *dummy = new wxPanel(m_NavigPan, wxID_HTML_SEARCHPAGE);
-
- wxLayoutConstraints *b1 = new wxLayoutConstraints;
- m_SearchText = new wxTextCtrl(dummy, wxID_HTML_SEARCHTEXT, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER);
- b1 -> top.SameAs (dummy, wxTop, 10);
- b1 -> left.SameAs (dummy, wxLeft, 10);
- b1 -> right.SameAs (dummy, wxRight, 10);
- b1 -> height.AsIs();
- m_SearchText -> SetConstraints(b1);
-
- wxLayoutConstraints *b2 = new wxLayoutConstraints;
- 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"));
-#endif //wxUSE_TOOLTIPS
- b2 -> top.Below (m_SearchText, 10);
- b2 -> left.SameAs (dummy, wxLeft, 10);
- b2 -> width.AsIs();
- b2 -> height.AsIs();
- m_SearchButton -> SetConstraints(b2);
-
- wxLayoutConstraints *b4 = new wxLayoutConstraints;
- m_SearchChoice = new wxChoice(dummy, wxID_HTML_SEARCHCHOICE, wxDefaultPosition,
- wxDefaultSize);
- b4 -> top.Below (m_SearchText, 10);
- b4 -> left.SameAs (m_SearchButton, wxRight, 10);
- b4 -> right.SameAs (dummy, wxRight, 10);
- b4 -> height.AsIs();
- m_SearchChoice -> SetConstraints(b4);
-
- wxLayoutConstraints *b5 = new wxLayoutConstraints;
- m_SearchCaseSensitive = new wxCheckBox(dummy, -1, _("Case sensitive"));
- b5 -> top.Below (m_SearchButton, 10);
- b5 -> left.SameAs (dummy, wxLeft, 10);
- b5 -> right.SameAs (dummy, wxRight, 10);
- b5 -> height.AsIs ();
- m_SearchCaseSensitive -> SetConstraints(b5);
-
- wxLayoutConstraints *b6 = new wxLayoutConstraints;
- m_SearchWholeWords = new wxCheckBox(dummy, -1, _("Whole words only"));
- b6 -> top.Below (m_SearchCaseSensitive, 0);
- b6 -> left.SameAs (dummy, wxLeft, 10);
- b6 -> right.SameAs (dummy, wxRight, 10);
- b6 -> height.AsIs ();
- m_SearchWholeWords -> SetConstraints(b6);
-
- wxLayoutConstraints *b3 = new wxLayoutConstraints;
- m_SearchList = new wxListBox(dummy, wxID_HTML_SEARCHLIST, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_SINGLE | wxLB_ALWAYS_SB);
- b3 -> top.Below (m_SearchWholeWords, 10);
- b3 -> left.SameAs (dummy, wxLeft, 0);
- b3 -> right.SameAs (dummy, wxRight, 0);
- b3 -> bottom.SameAs (dummy, wxBottom, 0);
- m_SearchList -> SetConstraints(b3);
-
- dummy -> SetAutoLayout(TRUE);
- dummy -> Layout();
- m_NavigPan -> AddPage(dummy, _("Search"));
- m_SearchPage = notebook_page++;
- }
- m_HtmlWin -> Show(TRUE);
-
- RefreshLists();
-
- // 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);
- else {
- m_Splitter -> SplitVertically(m_NavigPan, m_HtmlWin, m_Cfg.sashpos);
- m_Splitter -> Unsplit();
- }
- if (m_Cfg.navig_on) {
- m_NavigPan -> Show(TRUE);
- m_Splitter -> SplitVertically(m_NavigPan, m_HtmlWin, m_Cfg.sashpos);
- }
- else {
- m_NavigPan -> Show(FALSE);
- m_Splitter -> Initialize(m_HtmlWin);
- }
- }
- return TRUE;
-}
-
-wxHtmlHelpFrame::~wxHtmlHelpFrame()
-{
- PopEventHandler(); // wxhtmlhelpcontroller
- delete m_ContentsImageList;
- if (m_DataCreated)
- delete m_Data;
- if (m_NormalFonts) delete m_NormalFonts;
- if (m_FixedFonts) delete m_FixedFonts;
-}
-
-
-void wxHtmlHelpFrame::AddToolbarButtons(wxToolBar *toolBar, int style)
-{
- toolBar -> AddTool(wxID_HTML_PANEL, wxBITMAP(wpanel), wxNullBitmap,
- FALSE, -1, -1, (wxObject *) NULL,
- _("Show/hide navigation panel"));
- toolBar -> AddSeparator();
- toolBar -> AddTool(wxID_HTML_BACK, wxBITMAP(wback), wxNullBitmap,
- FALSE, -1, -1, (wxObject *) NULL,
- _("Go back to the previous HTML page"));
- toolBar -> AddTool(wxID_HTML_FORWARD, wxBITMAP(wforward), wxNullBitmap,
- FALSE, -1, -1, (wxObject *) NULL,
- _("Go forward to the next HTML page"));
- toolBar -> AddSeparator();
-
- if (style & wxHF_BOOKMARKS) {
- m_Bookmarks = new wxComboBox(toolBar, wxID_HTML_BOOKMARKSLIST, wxEmptyString,
- wxDefaultPosition, wxSize(300,-1), 0, NULL, wxCB_READONLY | wxCB_SORT);
- m_Bookmarks -> Append(_("<bookmarks>"));
- for (unsigned i = 0; i < m_BookmarksNames.GetCount(); i++)
- m_Bookmarks -> Append(m_BookmarksNames[i]);
- m_Bookmarks -> SetSelection(0);
- toolBar -> AddControl(m_Bookmarks);
-#ifdef __WXGTK__
- toolBar -> AddSeparator();