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_Config = NULL;
m_ConfigRoot = wxEmptyString;
- m_Cfg.x = m_Cfg.y = 0;
+ m_Cfg.x = m_Cfg.y = -1;
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,-1));
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();
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()));
}
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])
{
{
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") ||
// other items, show them as well, because they are refinements
// of the displayed index entry (i.e. it is implicitly contained
// in them: "foo" with parent "bar" reads as "bar, foo"):
- short int level = index[i].items[0]->level;
+ int level = index[i].items[0]->level;
i++;
while (i < cnt && index[i].items[0]->level > level)
{