New HTML help system. The old controller class has been split in
three parts; basic data, a frame and a controller. Docs will appear shortly... All Makefiles should be correctly updated. To be sure, I put an #error pragma in the old files, which will be removed in a few days. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3620 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
108
src/html/helpctrl.cpp
Normal file
108
src/html/helpctrl.cpp
Normal file
@@ -0,0 +1,108 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: helpctrl.cpp
|
||||
// Purpose: wxHtmlHelpController
|
||||
// Notes: Based on htmlhelp.cpp, implementing a monolithic
|
||||
// HTML Help controller class, by Vaclav Slavik
|
||||
// Author: Harm van der Heijden and Vaclav Slavik
|
||||
// Created:
|
||||
// RCS-ID:
|
||||
// Copyright: (c) Harm van der Heijden and Vaclav Slavik
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma implementation "helpctrl.h"
|
||||
#endif
|
||||
|
||||
// For compilers that support precompilation, includes "wx.h".
|
||||
#include "wx/wxprec.h"
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma hdrstop
|
||||
#endif
|
||||
|
||||
#include "wx/defs.h"
|
||||
|
||||
#if wxUSE_HTML
|
||||
|
||||
#include "wx/html/helpctrl.h"
|
||||
#include "wx/wx.h"
|
||||
#include "wx/busyinfo.h"
|
||||
|
||||
BEGIN_EVENT_TABLE(wxHtmlHelpController, wxEvtHandler)
|
||||
EVT_CLOSE(wxHtmlHelpController::OnCloseFrame)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
wxHtmlHelpController::wxHtmlHelpController()
|
||||
{
|
||||
m_helpFrame = NULL;
|
||||
m_Config = NULL;
|
||||
m_ConfigRoot = wxEmptyString;
|
||||
m_titleFormat = _("Help: %s");
|
||||
}
|
||||
|
||||
wxHtmlHelpController::~wxHtmlHelpController()
|
||||
{
|
||||
WriteCustomization(m_Config, m_ConfigRoot);
|
||||
if (m_helpFrame)
|
||||
m_helpFrame->Close();
|
||||
}
|
||||
|
||||
void wxHtmlHelpController::SetTitleFormat(const wxString& title)
|
||||
{
|
||||
m_titleFormat = title;
|
||||
if (m_helpFrame)
|
||||
m_helpFrame->SetTitleFormat(title);
|
||||
}
|
||||
|
||||
bool wxHtmlHelpController::AddBook(const wxString& book, bool show_wait_msg)
|
||||
{
|
||||
wxBusyCursor cur;
|
||||
#if wxUSE_BUSYINFO
|
||||
wxBusyInfo* busy;
|
||||
wxString info;
|
||||
if (show_wait_msg) {
|
||||
info.Printf(_("Adding book %s"), book.c_str());
|
||||
busy = new wxBusyInfo(info);
|
||||
}
|
||||
#endif
|
||||
bool retval = m_helpData.AddBook(book);
|
||||
#if wxUSE_BUSYINFO
|
||||
if (show_wait_msg)
|
||||
delete busy;
|
||||
#endif
|
||||
return retval;
|
||||
}
|
||||
|
||||
void wxHtmlHelpController::CreateHelpWindow(bool show_progress)
|
||||
{
|
||||
if (m_helpFrame) {
|
||||
m_helpFrame->Raise();
|
||||
return;
|
||||
}
|
||||
m_helpFrame = new wxHtmlHelpFrame(&m_helpData);
|
||||
m_helpFrame->PushEventHandler(this);
|
||||
if (m_Config)
|
||||
m_helpFrame->UseConfig(m_Config, m_ConfigRoot);
|
||||
m_helpFrame->Create(NULL, wxID_HTML_HELPFRAME);
|
||||
m_helpFrame->RefreshLists(show_progress);
|
||||
m_helpFrame->SetTitleFormat(m_titleFormat);
|
||||
m_helpFrame->Show(TRUE);
|
||||
}
|
||||
|
||||
void wxHtmlHelpController::ReadCustomization(wxConfigBase* cfg, const wxString& path)
|
||||
{
|
||||
/* should not be called by the user; call UseConfig, and the controller
|
||||
* will do the rest */
|
||||
if (m_helpFrame)
|
||||
m_helpFrame->ReadCustomization(cfg, path);
|
||||
}
|
||||
|
||||
void wxHtmlHelpController::WriteCustomization(wxConfigBase* cfg, const wxString& path)
|
||||
{
|
||||
/* typically called by the controllers OnCloseFrame handler */
|
||||
if (m_helpFrame)
|
||||
m_helpFrame->WriteCustomization(cfg, path);
|
||||
}
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user