X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c718e0b31c8a8294219bd1b54f179fbbfd86558b..9a33ef7c3cc827658ba12b553c40af432f10bc3b:/src/html/helpfrm.cpp diff --git a/src/html/helpfrm.cpp b/src/html/helpfrm.cpp index 4aaee79da1..b2487b2928 100644 --- a/src/html/helpfrm.cpp +++ b/src/html/helpfrm.cpp @@ -9,7 +9,7 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "helpfrm.h" #endif @@ -113,7 +113,9 @@ class wxHtmlHelpHtmlWindow : public wxHtmlWindow virtual void OnLinkClicked(const wxHtmlLinkInfo& link) { wxHtmlWindow::OnLinkClicked(link); - m_Frame->NotifyPageChanged(); + const wxMouseEvent *e = link.GetEvent(); + if (e == NULL || e->LeftUp()) + m_Frame->NotifyPageChanged(); } private: @@ -265,14 +267,14 @@ bool wxHtmlHelpFrame::Create(wxWindow* parent, wxWindowID id, wxMenu* fileMenu = new wxMenu; fileMenu->Append(wxID_HTML_OPENFILE, _("&Open...")); - fileMenu->Append(wxID_ABOUT, _("&About...")); fileMenu->AppendSeparator(); fileMenu->Append(wxID_CLOSE, _("&Close")); -// wxMenu* helpMenu = new wxMenu; -// helpMenu->Append(wxID_ABOUT, _("&About...")); + wxMenu* helpMenu = new wxMenu; + helpMenu->Append(wxID_ABOUT, _("&About...")); menuBar->Append(fileMenu,_("File")); + menuBar->Append(helpMenu,_("Help")); SetMenuBar(menuBar); #endif @@ -494,7 +496,11 @@ wxHtmlHelpFrame::~wxHtmlHelpFrame() delete m_Data; if (m_NormalFonts) delete m_NormalFonts; if (m_FixedFonts) delete m_FixedFonts; - if (m_PagesHash) delete m_PagesHash; + if (m_PagesHash) + { + WX_CLEAR_HASH_TABLE(*m_PagesHash); + delete m_PagesHash; + } } @@ -715,11 +721,12 @@ void wxHtmlHelpFrame::CreateContents() if (! m_ContentsBox) return ; - m_ContentsBox->Clear(); - - if (m_PagesHash) delete m_PagesHash; + if (m_PagesHash) + { + WX_CLEAR_HASH_TABLE(*m_PagesHash); + delete m_PagesHash; + } m_PagesHash = new wxHashTable(wxKEY_STRING, 2 * m_Data->GetContentsCnt()); - m_PagesHash->DeleteContents(TRUE); int cnt = m_Data->GetContentsCnt(); int i; @@ -783,7 +790,8 @@ void wxHtmlHelpFrame::CreateContents() else if (m_hfStyle & wxHF_ICONS_BOOK_CHAPTER) image = (it->m_Level == 1) ? IMG_Book : IMG_Folder; m_ContentsBox->SetItemImage(roots[it->m_Level], image); - m_ContentsBox->SetItemSelectedImage(roots[it->m_Level], image); + m_ContentsBox->SetItemImage(roots[it->m_Level], image, + wxTreeItemIcon_Selected); imaged[it->m_Level] = TRUE; } } @@ -1060,7 +1068,6 @@ BEGIN_EVENT_TABLE(wxHtmlHelpFrameOptionsDialog, wxDialog) EVT_SPINCTRL(-1, wxHtmlHelpFrameOptionsDialog::OnUpdateSpin) END_EVENT_TABLE() - void wxHtmlHelpFrame::OptionsDialog() { wxHtmlHelpFrameOptionsDialog dlg(this); @@ -1072,7 +1079,7 @@ void wxHtmlHelpFrame::OptionsDialog() enu.EnumerateFacenames(); m_NormalFonts = new wxArrayString; *m_NormalFonts = *enu.GetFacenames(); - m_NormalFonts->Sort(); + m_NormalFonts->Sort(wxStringSortAscending); } if (m_FixedFonts == NULL) { @@ -1080,7 +1087,7 @@ void wxHtmlHelpFrame::OptionsDialog() enu.EnumerateFacenames(wxFONTENCODING_SYSTEM, TRUE); m_FixedFonts = new wxArrayString; *m_FixedFonts = *enu.GetFacenames(); - m_FixedFonts->Sort(); + m_FixedFonts->Sort(wxStringSortAscending); } // VS: We want to show the font that is actually used by wxHtmlWindow. @@ -1308,8 +1315,8 @@ void wxHtmlHelpFrame::OnToolbar(wxCommandEvent& event) pos = m_BookmarksNames.Index(item); if (pos != wxNOT_FOUND) { - m_BookmarksNames.Remove(pos); - m_BookmarksPages.Remove(pos); + m_BookmarksNames.RemoveAt(pos); + m_BookmarksPages.RemoveAt(pos); m_Bookmarks->Delete(m_Bookmarks->GetSelection()); } } @@ -1522,7 +1529,7 @@ void wxHtmlHelpFrame::OnCloseWindow(wxCloseEvent& evt) } #ifdef __WXMAC__ -void wxHtmlHelpFrame::OnQuit(wxCommandEvent& event) +void wxHtmlHelpFrame::OnClose(wxCommandEvent& event) { Close(TRUE); } @@ -1550,7 +1557,7 @@ BEGIN_EVENT_TABLE(wxHtmlHelpFrame, wxFrame) EVT_COMBOBOX(wxID_HTML_BOOKMARKSLIST, wxHtmlHelpFrame::OnBookmarksSel) EVT_CLOSE(wxHtmlHelpFrame::OnCloseWindow) #ifdef __WXMAC__ - EVT_MENU(wxID_CLOSE, wxHtmlHelpFrame::OnQuit) + EVT_MENU(wxID_CLOSE, wxHtmlHelpFrame::OnClose) EVT_MENU(wxID_ABOUT, wxHtmlHelpFrame::OnAbout) #endif