#endif
#include "wx/html/helpfrm.h"
+#include "wx/html/helpctrl.h"
#include "wx/notebook.h"
#include "wx/imaglist.h"
#include "wx/treectrl.h"
public:
wxHtmlHelpHashData(int index, wxTreeItemId id) : wxObject()
{ m_Index = index; m_Id = id;}
+ ~wxHtmlHelpHashData() {}
int m_Index;
wxTreeItemId m_Id;
m_PagesHash = NULL;
m_UpdateContents = TRUE;
+ m_helpController = (wxHelpControllerBase*) NULL;
}
// Create: builds the GUI components.
m_IndexCountInfo -> SetConstraints(b5);
wxLayoutConstraints *b3 = new wxLayoutConstraints;
- m_IndexList = new wxListBox(dummy, wxID_HTML_INDEXLIST, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_SINGLE | wxLB_ALWAYS_SB);
+ m_IndexList = new wxListBox(dummy, wxID_HTML_INDEXLIST, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_SINGLE);
b3 -> top.Below (m_IndexCountInfo, 5);
b3 -> left.SameAs (dummy, wxLeft, 0);
b3 -> right.SameAs (dummy, wxRight, 0);
m_SearchButton -> SetConstraints(b2);
wxLayoutConstraints *b3 = new wxLayoutConstraints;
- m_SearchList = new wxListBox(dummy, wxID_HTML_SEARCHLIST, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_SINGLE | wxLB_ALWAYS_SB);
+ m_SearchList = new wxListBox(dummy, wxID_HTML_SEARCHLIST, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_SINGLE);
b3 -> top.Below (m_SearchButton, 10);
b3 -> left.SameAs (dummy, wxLeft, 0);
b3 -> right.SameAs (dummy, wxRight, 0);
}
m_HtmlWin -> Show(TRUE);
-
RefreshLists();
// showtime
wxHtmlHelpFrame::~wxHtmlHelpFrame()
{
- PopEventHandler(); // wxhtmlhelpcontroller
+ // PopEventHandler(); // wxhtmlhelpcontroller (not any more!)
delete m_ContentsImageList;
if (m_DataCreated)
delete m_Data;
if (m_NormalFonts) delete m_NormalFonts;
if (m_FixedFonts) delete m_FixedFonts;
+ if (m_PagesHash) delete m_PagesHash;
}
}
+void wxHtmlHelpFrame::SetTitleFormat(const wxString& format)
+{
+ if (m_HtmlWin)
+ m_HtmlWin->SetRelatedFrame(this, format);
+ m_TitleFormat = format;
+}
+
bool wxHtmlHelpFrame::Display(const wxString& x)
{
wxProgressDialog progress(_("Searching..."), _("No matching page found yet"),
status.GetMaxIndex(), this,
- wxPD_APP_MODAL | wxPD_CAN_ABORT | wxPD_AUTO_HIDE | wxGA_SMOOTH);
+ wxPD_APP_MODAL | wxPD_CAN_ABORT | wxPD_AUTO_HIDE);
while (status.IsActive()) {
curi = status.GetCurIndex();
"</body></html>"));
}
- void OnUpdate(wxCloseEvent& event)
+ void OnUpdate(wxCommandEvent& event)
{
UpdateTestWin();
}
if (m_PagesHash)
{
wxString an = m_HtmlWin -> GetOpenedAnchor();
+ wxString adr;
wxHtmlHelpHashData *ha;
- if (an.IsEmpty())
- ha = (wxHtmlHelpHashData*) m_PagesHash -> Get(m_HtmlWin -> GetOpenedPage());
- else
- ha = (wxHtmlHelpHashData*) m_PagesHash -> Get(m_HtmlWin -> GetOpenedPage() + wxT("#") + an);
+
+ if (an.IsEmpty()) adr = m_HtmlWin -> GetOpenedPage();
+ else adr = m_HtmlWin -> GetOpenedPage() + wxT("#") + an;
+
+ ha = (wxHtmlHelpHashData*) m_PagesHash -> Get(adr);
if (ha && ha -> m_Index < m_Data -> GetContentsCnt() - 1)
{
wxHtmlContentsItem *it = m_Data -> GetContents() + (ha -> m_Index + 1);
+
+ while (it -> m_Book -> GetBasePath() + it -> m_Page == adr) it++;
m_HtmlWin -> LoadPage(it -> m_Book -> GetBasePath() + it -> m_Page);
NotifyPageChanged();
}
{
if (m_Printer == NULL)
m_Printer = new wxHtmlEasyPrinting(_("Help Printing"), this);
- m_Printer -> PrintFile(m_HtmlWin -> GetOpenedPage());
+ if (!m_HtmlWin -> GetOpenedPage())
+ wxLogWarning(_("Cannot print empty page."));
+ else
+ m_Printer -> PrintFile(m_HtmlWin -> GetOpenedPage());
}
break;
#endif
if (m_Config)
WriteCustomization(m_Config, m_ConfigRoot);
+ if (m_helpController && m_helpController->IsKindOf(CLASSINFO(wxHtmlHelpController)))
+ {
+ ((wxHtmlHelpController*) m_helpController)->OnCloseFrame(evt);
+ }
+
evt.Skip();
}