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:
Harco de Hilster
1999-09-12 17:45:34 +00:00
parent a0378c28b8
commit 8ec2b48446
23 changed files with 1924 additions and 49 deletions

108
src/html/helpctrl.cpp Normal file
View 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