// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma implementation "helpfrm.h"
-#endif
-
// For compilers that support precompilation, includes "wx.h"
#include "wx/wxprec.h"
m_Frame->NotifyPageChanged();
}
+ // Returns full location with anchor (helper)
+ static wxString GetOpenedPageWithAnchor(wxHtmlWindow *win)
+ {
+ if(!win)
+ return wxEmptyString;
+
+ wxString an = win->GetOpenedAnchor();
+ wxString pg = win->GetOpenedPage();
+ if(!an.empty())
+ {
+ pg << wxT("#");
+ pg << an;
+ }
+ return pg;
+ }
+
private:
wxHtmlHelpFrame *m_Frame;
m_DataCreated = true;
}
+ m_ContentsPage = 0;
+ m_IndexPage = 0;
+ m_SearchPage = 0;
+
m_ContentsBox = NULL;
m_IndexList = NULL;
m_IndexButton = NULL;
m_Config = NULL;
m_ConfigRoot = wxEmptyString;
- m_Cfg.x = m_Cfg.y = 0;
+ m_Cfg.x = m_Cfg.y = wxDefaultCoord;
m_Cfg.w = 700;
m_Cfg.h = 480;
m_Cfg.sashpos = 240;
m_ContentsBox = new wxTreeCtrl(dummy, wxID_HTML_TREECTRL,
wxDefaultPosition, wxDefaultSize,
+#ifdef __WXGTK20__
+ wxSUNKEN_BORDER |
+ wxTR_HAS_BUTTONS | wxTR_HIDE_ROOT |
+ wxTR_NO_LINES
+#else
wxSUNKEN_BORDER |
wxTR_HAS_BUTTONS | wxTR_HIDE_ROOT |
- wxTR_LINES_AT_ROOT);
+ wxTR_LINES_AT_ROOT
+#endif
+ );
m_ContentsBox->AssignImageList(ContentsImageList);
wxDefaultPosition, wxDefaultSize,
wxTE_PROCESS_ENTER);
m_SearchChoice = new wxChoice(dummy, wxID_HTML_SEARCHCHOICE,
- wxDefaultPosition, wxDefaultSize);
+ wxDefaultPosition, wxSize(125,wxDefaultCoord));
m_SearchCaseSensitive = new wxCheckBox(dummy, wxID_ANY, _("Case sensitive"));
m_SearchWholeWords = new wxCheckBox(dummy, wxID_ANY, _("Whole words only"));
m_SearchButton = new wxButton(dummy, wxID_HTML_SEARCHBUTTON, _("Search"));
bool wxHtmlHelpFrame::Display(const wxString& x)
{
wxString url = m_Data->FindPageByName(x);
- if (!url.IsEmpty())
+ if (!url.empty())
{
m_HtmlWin->LoadPage(url);
NotifyPageChanged();
bool wxHtmlHelpFrame::Display(const int id)
{
wxString url = m_Data->FindPageById(id);
- if (!url.IsEmpty())
+ if (!url.empty())
{
m_HtmlWin->LoadPage(url);
NotifyPageChanged();
m_Cfg.navig_on = true;
}
- m_NavigNotebook->SetSelection(0);
+ m_NavigNotebook->SetSelection(m_ContentsPage);
if (m_Data->GetBookRecArray().GetCount() > 0)
{
wxHtmlBookRecord& book = m_Data->GetBookRecArray()[0];
- if (!book.GetStart().IsEmpty())
+ if (!book.GetStart().empty())
m_HtmlWin->LoadPage(book.GetFullPath(book.GetStart()));
}
m_Splitter->SplitVertically(m_NavigPan, m_HtmlWin, m_Cfg.sashpos);
}
- m_NavigNotebook->SetSelection(1);
+ m_NavigNotebook->SetSelection(m_IndexPage);
if (m_Data->GetBookRecArray().GetCount() > 0)
{
wxHtmlBookRecord& book = m_Data->GetBookRecArray()[0];
- if (!book.GetStart().IsEmpty())
+ if (!book.GetStart().empty())
m_HtmlWin->LoadPage(book.GetFullPath(book.GetStart()));
}
const int MAX_ROOTS = 64;
wxTreeItemId roots[MAX_ROOTS];
// VS: this array holds information about whether we've set item icon at
- // given level. This is neccessary because m_Data has flat structure
+ // given level. This is necessary because m_Data has a flat structure
// and there's no way of recognizing if some item has subitems or not.
// 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
+ // that the last item with level=n-1 was afolder with subitems, so we
// set its icon accordingly
bool imaged[MAX_ROOTS];
m_ContentsBox->DeleteAllItems();
{
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"
+ // appear under tree's root. This line will create a "fake"
// record about book node so that the rest of this look
- // will believe there really _is_ book node and will
+ // will believe there really _is_ a book node and will
// behave correctly.
roots[1] = roots[0];
else
m_PagesHash->Put(it->GetFullPath(),
new wxHtmlHelpHashData(i, roots[it->level + 1]));
- // Set the icon for the node one level up in the hiearachy,
+ // Set the icon for the node one level up in the hierarchy,
// unless already done (see comment above imaged[] declaration)
if (!imaged[it->level])
{
-static void SetFontsToHtmlWin(wxHtmlWindow *win, wxString scalf, wxString fixf, int size)
+static void SetFontsToHtmlWin(wxHtmlWindow *win, const wxString& scalf, const wxString& fixf, int size)
{
int f_sizes[7];
f_sizes[0] = int(size * 0.6);
{
if (m_UpdateContents && m_PagesHash)
{
- wxString an = m_HtmlWin->GetOpenedAnchor();
- wxHtmlHelpHashData *ha;
- if (an.IsEmpty())
- ha = (wxHtmlHelpHashData*) m_PagesHash->Get(m_HtmlWin->GetOpenedPage());
- else
- ha = (wxHtmlHelpHashData*) m_PagesHash->Get(m_HtmlWin->GetOpenedPage() + wxT("#") + an);
+ wxString page = wxHtmlHelpHtmlWindow::GetOpenedPageWithAnchor(m_HtmlWin);
+ wxHtmlHelpHashData *ha = NULL;
+ if (!page.empty())
+ ha = (wxHtmlHelpHashData*) m_PagesHash->Get(page);
+
if (ha)
{
bool olduc = m_UpdateContents;
case wxID_HTML_UP :
if (m_PagesHash)
{
- wxString an = m_HtmlWin->GetOpenedAnchor();
- wxHtmlHelpHashData *ha;
- if (an.IsEmpty())
- ha = (wxHtmlHelpHashData*) m_PagesHash->Get(m_HtmlWin->GetOpenedPage());
- else
- ha = (wxHtmlHelpHashData*) m_PagesHash->Get(m_HtmlWin->GetOpenedPage() + wxT("#") + an);
+ wxString page = wxHtmlHelpHtmlWindow::GetOpenedPageWithAnchor(m_HtmlWin);
+ wxHtmlHelpHashData *ha = NULL;
+ if (!page.empty())
+ ha = (wxHtmlHelpHashData*) m_PagesHash->Get(page);
if (ha && ha->m_Index > 0)
{
const wxHtmlHelpDataItem& it = m_Data->GetContentsArray()[ha->m_Index - 1];
case wxID_HTML_UPNODE :
if (m_PagesHash)
{
- wxString an = m_HtmlWin->GetOpenedAnchor();
- wxHtmlHelpHashData *ha;
- if (an.IsEmpty())
- ha = (wxHtmlHelpHashData*) m_PagesHash->Get(m_HtmlWin->GetOpenedPage());
- else
- ha = (wxHtmlHelpHashData*) m_PagesHash->Get(m_HtmlWin->GetOpenedPage() + wxT("#") + an);
+ wxString page = wxHtmlHelpHtmlWindow::GetOpenedPageWithAnchor(m_HtmlWin);
+ wxHtmlHelpHashData *ha = NULL;
+ if (!page.empty())
+ ha = (wxHtmlHelpHashData*) m_PagesHash->Get(page);
if (ha && ha->m_Index > 0)
{
int level =
case wxID_HTML_DOWN :
if (m_PagesHash)
{
- wxString an = m_HtmlWin->GetOpenedAnchor();
- wxString adr;
- wxHtmlHelpHashData *ha;
-
- if (an.IsEmpty()) adr = m_HtmlWin->GetOpenedPage();
- else adr = m_HtmlWin->GetOpenedPage() + wxT("#") + an;
-
- ha = (wxHtmlHelpHashData*) m_PagesHash->Get(adr);
+ wxString page = wxHtmlHelpHtmlWindow::GetOpenedPageWithAnchor(m_HtmlWin);
+ wxHtmlHelpHashData *ha = NULL;
+ if (!page.empty())
+ ha = (wxHtmlHelpHashData*) m_PagesHash->Get(page);
const wxHtmlHelpDataItems& contents = m_Data->GetContentsArray();
if (ha && ha->m_Index < (int)contents.size() - 1)
{
size_t idx = ha->m_Index + 1;
- while (contents[idx].GetFullPath() == adr) idx++;
+ while (contents[idx].GetFullPath() == page) idx++;
if (!contents[idx].page.empty())
{
filemask,
wxOPEN | wxFILE_MUST_EXIST,
this);
- if (!s.IsEmpty())
+ if (!s.empty())
{
wxString ext = s.Right(4).Lower();
if (ext == _T(".zip") || ext == _T(".htb") ||
END_EVENT_TABLE()
#endif // wxUSE_WXHTML_HELP
-