X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/00251d9bf7bdbb686967d8acdefd18cfb9bd1165..f3ba93c1f025870aeda36082acecc87ab277ab7d:/src/html/helpfrm.cpp diff --git a/src/html/helpfrm.cpp b/src/html/helpfrm.cpp index 30b5c0119a..076addc04d 100644 --- a/src/html/helpfrm.cpp +++ b/src/html/helpfrm.cpp @@ -50,32 +50,7 @@ #include "wx/fontenum.h" #include "wx/stream.h" #include "wx/filedlg.h" - -// Bitmaps: - -#ifndef __WXMSW__ - // XPM hack: make the arrays const - #define static static const - - #include "bitmaps/wpanel.xpm" - #include "bitmaps/wback.xpm" - #include "bitmaps/wforward.xpm" - #include "bitmaps/wbook.xpm" - #include "bitmaps/woptions.xpm" - #include "bitmaps/wfolder.xpm" - #include "bitmaps/wpage.xpm" - #include "bitmaps/whelp.xpm" - #include "bitmaps/whlproot.xpm" - #include "bitmaps/wbkadd.xpm" - #include "bitmaps/wbkdel.xpm" - #include "bitmaps/wup.xpm" - #include "bitmaps/wupnode.xpm" - #include "bitmaps/wdown.xpm" - #include "bitmaps/wopen.xpm" - #include "bitmaps/wprint.xpm" - - #undef static -#endif // __WXMSW__ +#include "wx/artprov.h" // what is considered "small index"? #define INDEX_IS_SMALL 100 @@ -253,10 +228,9 @@ bool wxHtmlHelpFrame::Create(wxWindow* parent, wxWindowID id, m_hfStyle = style; wxImageList *ContentsImageList = new wxImageList(16, 16); - ContentsImageList->Add(wxICON(wbook)); - ContentsImageList->Add(wxICON(wfolder)); - ContentsImageList->Add(wxICON(wpage)); - ContentsImageList->Add(wxICON(whlproot)); + ContentsImageList->Add(wxArtProvider::GetIcon(wxART_HELP_BOOK, wxART_HELP_BROWSER)); + ContentsImageList->Add(wxArtProvider::GetIcon(wxART_HELP_FOLDER, wxART_HELP_BROWSER)); + ContentsImageList->Add(wxArtProvider::GetIcon(wxART_HELP_PAGE, wxART_HELP_BROWSER)); // Do the config in two steps. We read the HtmlWindow customization after we // create the window. @@ -269,7 +243,7 @@ bool wxHtmlHelpFrame::Create(wxWindow* parent, wxWindowID id, GetPosition(&m_Cfg.x, &m_Cfg.y); - SetIcon(wxICON(whelp)); + SetIcon(wxArtProvider::GetIcon(wxART_FRAME_ICON, wxART_HELP_BROWSER)); int notebook_page = 0; @@ -327,11 +301,6 @@ bool wxHtmlHelpFrame::Create(wxWindow* parent, wxWindowID id, dummy->SetAutoLayout(TRUE); dummy->SetSizer(topsizer); - long treeStyle = wxSUNKEN_BORDER | wxTR_HAS_BUTTONS; - #ifndef __WXMSW__ // FIXME - temporary, till MSW supports wxTR_HIDE_ROOT - treeStyle |= wxTR_HIDE_ROOT; - #endif - if ( style & wxHF_BOOKMARKS ) { m_Bookmarks = new wxComboBox(dummy, wxID_HTML_BOOKMARKSLIST, @@ -345,11 +314,11 @@ bool wxHtmlHelpFrame::Create(wxWindow* parent, wxWindowID id, wxBitmapButton *bmpbt1, *bmpbt2; bmpbt1 = new wxBitmapButton(dummy, wxID_HTML_BOOKMARKSADD, - wxBITMAP(wbkadd), - wxDefaultPosition, wxSize(20,20)); + wxArtProvider::GetBitmap(wxART_ADD_BOOKMARK, + wxART_HELP_BROWSER)); bmpbt2 = new wxBitmapButton(dummy, wxID_HTML_BOOKMARKSREMOVE, - wxBITMAP(wbkdel), - wxDefaultPosition, wxSize(20,20)); + wxArtProvider::GetBitmap(wxART_DEL_BOOKMARK, + wxART_HELP_BROWSER)); #if wxUSE_TOOLTIPS bmpbt1->SetToolTip(_("Add current page to bookmarks")); bmpbt2->SetToolTip(_("Remove current page from bookmarks")); @@ -357,16 +326,19 @@ bool wxHtmlHelpFrame::Create(wxWindow* parent, wxWindowID id, wxSizer *sizer = new wxBoxSizer(wxHORIZONTAL); - sizer->Add(m_Bookmarks, 1, wxRIGHT, 5); - sizer->Add(bmpbt1, 0, wxRIGHT, 2); - sizer->Add(bmpbt2, 0, 0, 0); + sizer->Add(m_Bookmarks, 1, wxALIGN_CENTRE_VERTICAL | wxRIGHT, 5); + sizer->Add(bmpbt1, 0, wxALIGN_CENTRE_VERTICAL | wxRIGHT, 2); + sizer->Add(bmpbt2, 0, wxALIGN_CENTRE_VERTICAL, 0); topsizer->Add(sizer, 0, wxEXPAND | wxLEFT | wxBOTTOM | wxRIGHT, 10); } m_ContentsBox = new wxTreeCtrl(dummy, wxID_HTML_TREECTRL, wxDefaultPosition, wxDefaultSize, - treeStyle); + wxSUNKEN_BORDER | + wxTR_HAS_BUTTONS | wxTR_HIDE_ROOT | + wxTR_LINES_AT_ROOT); + m_ContentsBox->AssignImageList(ContentsImageList); topsizer->Add(m_ContentsBox, 1, wxEXPAND | wxLEFT | wxBOTTOM | wxRIGHT, 2); @@ -497,15 +469,24 @@ wxHtmlHelpFrame::~wxHtmlHelpFrame() void wxHtmlHelpFrame::AddToolbarButtons(wxToolBar *toolBar, int style) { - wxBitmap wpanelBitmap = wxBITMAP(wpanel); - wxBitmap wbackBitmap = wxBITMAP(wback); - wxBitmap wforwardBitmap = wxBITMAP(wforward); - wxBitmap wupnodeBitmap = wxBITMAP(wupnode); - wxBitmap wupBitmap = wxBITMAP(wup); - wxBitmap wdownBitmap = wxBITMAP(wdown); - wxBitmap wopenBitmap = wxBITMAP(wopen); - wxBitmap wprintBitmap = wxBITMAP(wprint); - wxBitmap woptionsBitmap = wxBITMAP(woptions); + wxBitmap wpanelBitmap = + wxArtProvider::GetBitmap(wxART_HELP_SIDE_PANEL, wxART_HELP_BROWSER); + wxBitmap wbackBitmap = + wxArtProvider::GetBitmap(wxART_GO_BACK, wxART_HELP_BROWSER); + wxBitmap wforwardBitmap = + wxArtProvider::GetBitmap(wxART_GO_FORWARD, wxART_HELP_BROWSER); + wxBitmap wupnodeBitmap = + wxArtProvider::GetBitmap(wxART_GO_TO_PARENT, wxART_HELP_BROWSER); + wxBitmap wupBitmap = + wxArtProvider::GetBitmap(wxART_GO_UP, wxART_HELP_BROWSER); + wxBitmap wdownBitmap = + wxArtProvider::GetBitmap(wxART_GO_DOWN, wxART_HELP_BROWSER); + wxBitmap wopenBitmap = + wxArtProvider::GetBitmap(wxART_FILE_OPEN, wxART_HELP_BROWSER); + wxBitmap wprintBitmap = + wxArtProvider::GetBitmap(wxART_PRINT, wxART_HELP_BROWSER); + wxBitmap woptionsBitmap = + wxArtProvider::GetBitmap(wxART_HELP_SETTINGS, wxART_HELP_BROWSER); wxASSERT_MSG( (wpanelBitmap.Ok() && wbackBitmap.Ok() && wforwardBitmap.Ok() && wupnodeBitmap.Ok() && @@ -711,7 +692,6 @@ void wxHtmlHelpFrame::CreateContents() int cnt = m_Data->GetContentsCnt(); int i; - size_t booksCnt = m_Data->GetBookRecArray().GetCount(); wxHtmlContentsItem *it; @@ -726,52 +706,29 @@ void wxHtmlHelpFrame::CreateContents() bool imaged[MAX_ROOTS]; m_ContentsBox->DeleteAllItems(); - // FIXME - will go away when wxMSW's wxTreeCtrl supports wxTR_HIDE_ROOT! - bool hasSuperRoot = (booksCnt > 1) || - (m_ContentsBox->GetWindowStyle() & wxTR_HIDE_ROOT); - - // Don't show (Help) root if there's only one boook - if (hasSuperRoot) - { - roots[0] = m_ContentsBox->AddRoot(_("(Help)")); - m_ContentsBox->SetItemImage(roots[0], IMG_RootFolder); - m_ContentsBox->SetItemSelectedImage(roots[0], IMG_RootFolder); - imaged[0] = TRUE; - } + roots[0] = m_ContentsBox->AddRoot(_("(Help)")); + imaged[0] = TRUE; for (it = m_Data->GetContents(), i = 0; i < cnt; i++, it++) { // Handle books: if (it->m_Level == 0) { - // special case, only one book, make it tree's root: - if (!hasSuperRoot) + if (m_hfStyle & wxHF_MERGE_BOOKS) + // VS: we don't want book nodes, books' content should + // appear under tree's root. This line will create "fake" + // record about book node so that the rest of this look + // will believe there really _is_ book node and will + // behave correctly. + roots[1] = roots[0]; + else { - roots[0] = roots[1] = m_ContentsBox->AddRoot( + roots[1] = m_ContentsBox->AppendItem(roots[0], it->m_Name, IMG_Book, -1, new wxHtmlHelpTreeItemData(i)); - imaged[0] = imaged[1] = TRUE; m_ContentsBox->SetItemBold(roots[1], TRUE); } - // multiple books: - else - { - if (m_hfStyle & wxHF_MERGE_BOOKS) - // VS: we don't want book nodes, books' content should - // appear under tree's root. This line will create "fake" - // record about book node so that the rest of this look - // will believe there really _is_ book node and will - // behave correctly. - roots[1] = roots[0]; - else - { - roots[1] = m_ContentsBox->AppendItem(roots[0], - it->m_Name, IMG_Book, -1, - new wxHtmlHelpTreeItemData(i)); - m_ContentsBox->SetItemBold(roots[1], TRUE); - } - imaged[1] = TRUE; - } + imaged[1] = TRUE; } // ...and their contents: else @@ -1008,12 +965,14 @@ class wxHtmlHelpFrameOptionsDialog : public wxDialog topsizer->Add(new wxStaticText(this, -1, _("Preview:")), 0, wxLEFT | wxTOP, 10); - topsizer->Add(TestWin = new wxHtmlWindow(this, -1, wxDefaultPosition, wxSize(-1, 150), + topsizer->Add(TestWin = new wxHtmlWindow(this, -1, wxDefaultPosition, wxSize(20, 150), wxHW_SCROLLBAR_AUTO | wxSUNKEN_BORDER), 1, wxEXPAND | wxLEFT|wxTOP|wxRIGHT, 10); sizer = new wxBoxSizer(wxHORIZONTAL); - sizer->Add(new wxButton(this, wxID_OK, _("OK")), 0, wxALL, 10); + wxButton *ok; + sizer->Add(ok = new wxButton(this, wxID_OK, _("OK")), 0, wxALL, 10); + ok->SetDefault(); sizer->Add(new wxButton(this, wxID_CANCEL, _("Cancel")), 0, wxALL, 10); topsizer->Add(sizer, 0, wxALIGN_RIGHT);