X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/576507e276a32bccda610ce0e45451e6a46e4d31..adac097759c089b3d47f48c7756ace4f0b8df879:/src/html/helpfrm.cpp diff --git a/src/html/helpfrm.cpp b/src/html/helpfrm.cpp index 504dd005bd..2ca35f3f48 100644 --- a/src/html/helpfrm.cpp +++ b/src/html/helpfrm.cpp @@ -21,15 +21,24 @@ #pragma hdrstop #endif -#include "wx/defs.h" +#if wxUSE_WXHTML_HELP -#if wxUSE_HTML && wxUSE_STREAMS #ifndef WXPRECOMP -#include "wx/wx.h" -#endif + #include "wx/intl.h" + #include "wx/log.h" + + #include "wx/object.h" + #include "wx/layout.h" + #include "wx/sizer.h" + + #include "wx/bmpbuttn.h" + #include "wx/statbox.h" + #include "wx/radiobox.h" +#endif // WXPRECOMP #include "wx/html/helpfrm.h" #include "wx/html/helpctrl.h" +#include "wx/textctrl.h" #include "wx/notebook.h" #include "wx/imaglist.h" #include "wx/treectrl.h" @@ -68,6 +77,10 @@ // what is considered "small index"? #define INDEX_IS_SMALL 100 +/* Motif defines this as a macro */ +#ifdef Below +#undef Below +#endif //-------------------------------------------------------------------------- // wxHtmlHelpTreeItemData (private) @@ -230,7 +243,7 @@ void wxHtmlHelpFrame::Init(wxHtmlHelpData* data) // moreover, if no contents, index or searchpage is needed, m_Splitter and // m_NavigPan will be NULL too (with m_HtmlWin directly connected to the frame) -bool wxHtmlHelpFrame::Create(wxWindow* parent, wxWindowID id, +bool wxHtmlHelpFrame::Create(wxWindow* parent, wxWindowID id, const wxString& WXUNUSED(title), int style) { m_hfStyle = style; @@ -293,7 +306,7 @@ bool wxHtmlHelpFrame::Create(wxWindow* parent, wxWindowID id, wxWindow *dummy = new wxPanel(m_NavigPan, wxID_HTML_INDEXPAGE); if (style & wxHF_BOOKMARKS) - { + { wxLayoutConstraints *b1 = new wxLayoutConstraints; wxBitmapButton *bmpbt = new wxBitmapButton(dummy, wxID_HTML_BOOKMARKSREMOVE, wxBITMAP(wbkdel), wxDefaultPosition, wxSize(20,20)); @@ -335,7 +348,11 @@ bool wxHtmlHelpFrame::Create(wxWindow* parent, wxWindowID id, wxLayoutConstraints *b4 = new wxLayoutConstraints; m_ContentsBox = new wxTreeCtrl(dummy, wxID_HTML_TREECTRL, wxDefaultPosition, wxDefaultSize, - wxTR_HAS_BUTTONS | wxSUNKEN_BORDER); +#ifdef __WXMAC__ + wxSUNKEN_BORDER|wxTR_MAC_BUTTONS|wxTR_NO_LINES|wxTR_ROW_LINES ); +#else + wxSUNKEN_BORDER|wxTR_HAS_BUTTONS ); +#endif m_ContentsBox->AssignImageList(ContentsImageList); b4->top.Below (m_Bookmarks, 10); @@ -494,18 +511,18 @@ bool wxHtmlHelpFrame::Create(wxWindow* parent, wxWindowID id, 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) - { + 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); } @@ -705,7 +722,7 @@ bool wxHtmlHelpFrame::KeywordSearch(const wxString& keyword) if (curi % 32 == 0 && progress.Update(curi) == FALSE) break; if (status.Search()) - { + { foundstr.Printf(_("Found %i matches"), ++foundcnt); progress.Update(status.GetCurIndex(), foundstr); m_SearchList->Append(status.GetName(), status.GetContentsItem()); @@ -752,9 +769,9 @@ void wxHtmlHelpFrame::CreateContents() // We set the icon later: when we find an item with level=n, we know // that the last item with level=n-1 was folder with subitems, so we // set its icon accordingly - bool imaged[MAX_ROOTS]; + bool imaged[MAX_ROOTS]; m_ContentsBox->DeleteAllItems(); - + // Don't show (Help) root if there's only one boook if (booksCnt > 1) { @@ -773,8 +790,10 @@ void wxHtmlHelpFrame::CreateContents() if (booksCnt == 1) { roots[0] = roots[1] = m_ContentsBox->AddRoot( - it->m_Name, IMG_Page, -1, + it->m_Name, IMG_Book, -1, new wxHtmlHelpTreeItemData(i)); + imaged[0] = imaged[1] = TRUE; + m_ContentsBox->SetItemBold(roots[1], TRUE); } // multiple books: else @@ -789,7 +808,7 @@ void wxHtmlHelpFrame::CreateContents() else { roots[1] = m_ContentsBox->AppendItem(roots[0], - it->m_Name, IMG_Book, -1, + it->m_Name, IMG_Book, -1, new wxHtmlHelpTreeItemData(i)); m_ContentsBox->SetItemBold(roots[1], TRUE); } @@ -797,12 +816,12 @@ void wxHtmlHelpFrame::CreateContents() } } // ...and their contents: - else + else { roots[it->m_Level + 1] = m_ContentsBox->AppendItem( - roots[it->m_Level], it->m_Name, IMG_Page, + roots[it->m_Level], it->m_Name, IMG_Page, -1, new wxHtmlHelpTreeItemData(i)); - imaged[it->m_Level + 1] = FALSE; + imaged[it->m_Level + 1] = FALSE; } m_PagesHash->Put(it->GetFullPath(), @@ -811,7 +830,7 @@ void wxHtmlHelpFrame::CreateContents() // Set the icon for the node one level up in the hiearachy, // unless already done (see comment above imaged[] declaration) if (!imaged[it->m_Level]) - { + { int image = IMG_Folder; if (m_hfStyle & wxHF_ICONS_BOOK) image = IMG_Book; @@ -899,17 +918,17 @@ void wxHtmlHelpFrame::ReadCustomization(wxConfigBase *cfg, const wxString& path) cnt = cfg->Read(wxT("hcBookmarksCnt"), 0L); if (cnt != 0) - { + { m_BookmarksNames.Clear(); m_BookmarksPages.Clear(); if (m_Bookmarks) - { + { m_Bookmarks->Clear(); m_Bookmarks->Append(_("(bookmarks)")); } for (i = 0; i < cnt; i++) - { + { val.Printf(wxT("hcBookmark_%i"), i); s = cfg->Read(val); m_BookmarksNames.Add(s); @@ -957,7 +976,7 @@ void wxHtmlHelpFrame::WriteCustomization(wxConfigBase *cfg, const wxString& path cfg->Write(wxT("hcBookmarksCnt"), (long)cnt); for (i = 0; i < cnt; i++) - { + { val.Printf(wxT("hcBookmark_%i"), i); cfg->Write(val, m_BookmarksNames[i]); val.Printf(wxT("hcBookmark_%i_url"), i); @@ -1260,13 +1279,13 @@ void wxHtmlHelpFrame::OnToolbar(wxCommandEvent& event) if (! (m_Splitter && m_NavigPan)) return ; if (m_Splitter->IsSplit()) - { + { m_Cfg.sashpos = m_Splitter->GetSashPosition(); m_Splitter->Unsplit(m_NavigPan); m_Cfg.navig_on = FALSE; } - else - { + else + { m_NavigPan->Show(TRUE); m_HtmlWin->Show(TRUE); m_Splitter->SplitVertically(m_NavigPan, m_HtmlWin, m_Cfg.sashpos); @@ -1287,9 +1306,9 @@ void wxHtmlHelpFrame::OnToolbar(wxCommandEvent& event) item = m_HtmlWin->GetOpenedPageTitle(); url = m_HtmlWin->GetOpenedPage(); if (item == wxEmptyString) - item = url.AfterLast(wxT('/')); + item = url.AfterLast(wxT('/')); if (m_BookmarksPages.Index(url) == wxNOT_FOUND) - { + { m_Bookmarks->Append(item); m_BookmarksNames.Add(item); m_BookmarksPages.Add(url); @@ -1305,7 +1324,7 @@ void wxHtmlHelpFrame::OnToolbar(wxCommandEvent& event) item = m_Bookmarks->GetStringSelection(); pos = m_BookmarksNames.Index(item); if (pos != wxNOT_FOUND) - { + { m_BookmarksNames.Remove(pos); m_BookmarksPages.Remove(pos); m_Bookmarks->Delete(m_Bookmarks->GetSelection()); @@ -1400,7 +1419,7 @@ void wxHtmlHelpFrame::OnIndexFind(wxCommandEvent& event) wxBusyCursor bcur; const wxChar *cstr = sr.c_str(); wxChar mybuff[512]; - wxChar *ptr; + wxChar *ptr; bool first = TRUE; m_IndexList->Clear(); @@ -1416,11 +1435,11 @@ void wxHtmlHelpFrame::OnIndexFind(wxCommandEvent& event) if (*ptr >= _T('A') && *ptr <= _T('Z')) *ptr -= (wxChar)(_T('A') - _T('a')); if (wxStrstr(mybuff, cstr) != NULL) - { + { m_IndexList->Append(index[i].m_Name, (char*)(index + i)); displ++; if (first) - { + { if (index[i].m_Page[0] != 0) m_HtmlWin->LoadPage(index[i].GetFullPath()); NotifyPageChanged(); @@ -1451,7 +1470,7 @@ void wxHtmlHelpFrame::OnIndexAll(wxCommandEvent& WXUNUSED(event)) { m_IndexList->Append(index[i].m_Name, (char*)(index + i)); if (first) - { + { if (index[i].m_Page[0] != 0) m_HtmlWin->LoadPage(index[i].GetFullPath()); NotifyPageChanged(); @@ -1528,4 +1547,5 @@ BEGIN_EVENT_TABLE(wxHtmlHelpFrame, wxFrame) EVT_CLOSE(wxHtmlHelpFrame::OnCloseWindow) END_EVENT_TABLE() -#endif +#endif // wxUSE_WXHTML_HELP +