/////////////////////////////////////////////////////////////////////////////
-// Name: helpwin.cpp
+// Name: src/html/helpwnd.cpp
// Purpose: wxHtmlHelpWindow
// Notes: Based on htmlhelp.cpp, implementing a monolithic
// HTML Help controller class, by Vaclav Slavik
#include "wx/wxprec.h"
#ifdef __BORLANDC__
-#pragma hdrstop
+ #pragma hdrstop
#endif
#if wxUSE_WXHTML_HELP
#ifndef WXPRECOMP
+ #include "wx/object.h"
+ #include "wx/dynarray.h"
#include "wx/intl.h"
#include "wx/log.h"
+ #if wxUSE_STREAMS
+ #include "wx/stream.h"
+ #endif
- #include "wx/object.h"
#include "wx/sizer.h"
#include "wx/bmpbuttn.h"
#include "wx/statbox.h"
#include "wx/radiobox.h"
-#endif // WXPRECOMP
-
-#ifdef __WXMAC__
#include "wx/menu.h"
+ #include "wx/settings.h"
#include "wx/msgdlg.h"
-#endif
+ #include "wx/textctrl.h"
+ #include "wx/toolbar.h"
+ #include "wx/choicdlg.h"
+ #include "wx/filedlg.h"
+#endif // WXPRECOMP
#include "wx/html/helpfrm.h"
#include "wx/html/helpdlg.h"
#include "wx/html/helpctrl.h"
-#include "wx/textctrl.h"
#include "wx/notebook.h"
#include "wx/imaglist.h"
#include "wx/treectrl.h"
#include "wx/html/htmlwin.h"
#include "wx/busyinfo.h"
#include "wx/progdlg.h"
-#include "wx/toolbar.h"
#include "wx/fontenum.h"
-#include "wx/stream.h"
-#include "wx/filedlg.h"
#include "wx/artprov.h"
#include "wx/spinctrl.h"
-#include "wx/dynarray.h"
-#include "wx/choicdlg.h"
-#include "wx/settings.h"
// what is considered "small index"?
#define INDEX_IS_SMALL 100
public:
wxHtmlHelpHashData(int index, wxTreeItemId id) : wxObject()
{ m_Index = index; m_Id = id;}
- ~wxHtmlHelpHashData() {}
+ virtual ~wxHtmlHelpHashData() {}
int m_Index;
wxTreeItemId m_Id;
// The sizer for the whole top-level window.
wxSizer *topWindowSizer = new wxBoxSizer(wxVERTICAL);
SetSizer(topWindowSizer);
- SetAutoLayout(TRUE);
+ SetAutoLayout(true);
#if wxUSE_TOOLBAR
// toolbar?
if (helpStyle & (wxHF_TOOLBAR | wxHF_FLAT_TOOLBAR))
{
- wxToolBar *toolBar = new wxToolBar(this, -1, wxDefaultPosition, wxDefaultSize,
+ wxToolBar *toolBar = new wxToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
wxNO_BORDER | wxTB_HORIZONTAL |
wxTB_DOCKABLE | wxTB_NODIVIDER |
(helpStyle & wxHF_FLAT_TOOLBAR ? wxTB_FLAT : 0));
}
m_SearchButton->Enable();
- m_SearchText->SetSelection(0, keyword.Length());
+ m_SearchText->SetSelection(0, keyword.length());
m_SearchText->SetFocus();
}
else if (mode == wxHELP_SEARCH_INDEX)
m_IndexButtonAll->Disable();
m_IndexText->SetValue(keyword);
- wxCommandEvent dummy;
- OnIndexFind(dummy); // what a hack...
+ DoIndexFind();
m_IndexButton->Enable();
m_IndexButtonAll->Enable();
foundcnt = m_IndexList->GetCount();
if (m_NormalFonts == NULL)
{
- wxFontEnumerator enu;
- enu.EnumerateFacenames();
- m_NormalFonts = new wxArrayString;
- *m_NormalFonts = *enu.GetFacenames();
+ m_NormalFonts = new wxArrayString(wxFontEnumerator::GetFacenames());
m_NormalFonts->Sort(); // ascending sort
}
if (m_FixedFonts == NULL)
{
- wxFontEnumerator enu;
- enu.EnumerateFacenames(wxFONTENCODING_SYSTEM, true /*enum fixed width only*/);
- m_FixedFonts = new wxArrayString;
- *m_FixedFonts = *enu.GetFacenames();
+ m_FixedFonts = new wxArrayString(
+ wxFontEnumerator::GetFacenames(wxFONTENCODING_SYSTEM,
+ true /*enum fixed width only*/));
m_FixedFonts->Sort(); // ascending sort
}
{
m_BookmarksNames.RemoveAt(pos);
m_BookmarksPages.RemoveAt(pos);
- m_Bookmarks->Delete(m_Bookmarks->GetSelection());
+ pos = m_Bookmarks->GetSelection();
+ wxASSERT_MSG( pos != wxNOT_FOUND , wxT("Unknown bookmark position") ) ;
+ m_Bookmarks->Delete((unsigned int)pos);
}
}
break;
wxEmptyString,
wxEmptyString,
filemask,
- wxOPEN | wxFILE_MUST_EXIST,
+ wxFD_OPEN | wxFD_FILE_MUST_EXIST,
this);
if (!s.empty())
{
DisplayIndexItem(it);
}
-void wxHtmlHelpWindow::OnIndexFind(wxCommandEvent& event)
+void wxHtmlHelpWindow::OnIndexFind(wxCommandEvent& WXUNUSED(event))
+{
+ DoIndexFind();
+}
+
+void wxHtmlHelpWindow::DoIndexFind()
{
wxString sr = m_IndexText->GetLineText(0);
sr.MakeLower();
if (sr == wxEmptyString)
{
- OnIndexAll(event);
+ DoIndexAll();
}
else
{
cnttext.Printf(_("%i of %i"), displ, cnt);
m_IndexCountInfo->SetLabel(cnttext);
- m_IndexText->SetSelection(0, sr.Length());
+ m_IndexText->SetSelection(0, sr.length());
m_IndexText->SetFocus();
}
}
void wxHtmlHelpWindow::OnIndexAll(wxCommandEvent& WXUNUSED(event))
+{
+ DoIndexAll();
+}
+
+void wxHtmlHelpWindow::DoIndexAll()
{
wxBusyCursor bcur;
void wxHtmlHelpWindow::OnBookmarksSel(wxCommandEvent& WXUNUSED(event))
{
- wxString sr = m_Bookmarks->GetStringSelection();
-
- if (sr != wxEmptyString && sr != _("(bookmarks)"))
+ wxString str = m_Bookmarks->GetStringSelection();
+ int idx = m_BookmarksNames.Index(str);
+ if (!str.empty() && str != _("(bookmarks)") && idx != wxNOT_FOUND)
{
- m_HtmlWin->LoadPage(m_BookmarksPages[m_BookmarksNames.Index(sr)]);
+ m_HtmlWin->LoadPage(m_BookmarksPages[(size_t)idx]);
NotifyPageChanged();
}
}