Fixed bug in helpctrl.cpp (testing for m_Config); made old-style HTML help

optional so will compile on MSW


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_2_BRANCH@7192 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2000-04-17 09:56:16 +00:00
parent ad2fbd102d
commit 32ca12e65e
3 changed files with 20 additions and 12 deletions

View File

@@ -39,6 +39,9 @@
#define USE_HTML_HELP 1
// Use old-style HTML help if 1
#define USE_OLD_HTML_HELP 0
#if !wxUSE_HTML
#undef USE_HTML_HELP
#define USE_HTML_HELP 0
@@ -49,7 +52,10 @@
#include <wx/filesys.h>
#include <wx/fs_zip.h>
#if USE_OLD_HTML_HELP
#include "wx/generic/helpwxht.h"
#endif
#include "wx/html/helpctrl.h"
#endif
@@ -88,7 +94,9 @@ public:
wxHelpController& GetHelpController() { return m_help; }
#if USE_HTML_HELP
#if USE_OLD_HTML_HELP
wxHelpControllerHtml& GetHtmlHelpController() { return m_htmlHelp; }
#endif
wxHtmlHelpController& GetAdvancedHtmlHelpController() { return m_advancedHtmlHelp; }
#endif
@@ -104,7 +112,9 @@ private:
wxHelpController m_help;
#if USE_HTML_HELP
#if USE_OLD_HTML_HELP
wxHelpControllerHtml m_htmlHelp;
#endif
wxHtmlHelpController m_advancedHtmlHelp;
#endif
@@ -227,6 +237,7 @@ bool MyApp::OnInit()
}
#if USE_HTML_HELP
#if USE_OLD_HTML_HELP
// initialise the standard HTML help system: this means that the HTML docs are in the
// subdirectory doc for platforms using HTML help
if ( !frame->GetHtmlHelpController().Initialize("doc") )
@@ -235,6 +246,7 @@ bool MyApp::OnInit()
return FALSE;
}
#endif
// initialise the advanced HTML help system: this means that the HTML docs are in .htb
// (zipped) form
@@ -269,12 +281,14 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
menuFile->Append(HelpDemo_Help_Help, "&About Help Demo...");
menuFile->Append(HelpDemo_Help_Search, "&Search help...");
#if USE_HTML_HELP
#if USE_OLD_HTML_HELP
menuFile->AppendSeparator();
menuFile->Append(HelpDemo_Html_Help_Index, "HTML &Help Index...");
menuFile->Append(HelpDemo_Html_Help_Classes, "HTML &Help on Classes...");
menuFile->Append(HelpDemo_Html_Help_Functions, "HTML &Help on Functions...");
menuFile->Append(HelpDemo_Html_Help_Help, "HTML &About Help Demo...");
menuFile->Append(HelpDemo_Html_Help_Search, "HTML &Search help...");
#endif
menuFile->AppendSeparator();
menuFile->Append(HelpDemo_Advanced_Html_Help_Index, "Advanced HTML &Help Index...");
menuFile->Append(HelpDemo_Advanced_Html_Help_Classes, "Advanced HTML &Help on Classes...");
@@ -331,7 +345,7 @@ void MyFrame::OnHelp(wxCommandEvent& event)
void MyFrame::OnHtmlHelp(wxCommandEvent& event)
{
#if USE_HTML_HELP
#if USE_HTML_HELP && USE_OLD_HTML_HELP
ShowHelp(event.GetId(), m_htmlHelp);
#endif
}

View File

@@ -12,7 +12,7 @@
WXDIR = $(WXWIN)
PROGRAM=demo
EXTRALIBS=htmlhelp.lib
#EXTRALIBS=htmlhelp.lib
OBJECTS = $(PROGRAM).obj
!include $(WXDIR)\src\makeprog.vc

View File

@@ -30,12 +30,6 @@
IMPLEMENT_DYNAMIC_CLASS(wxHtmlHelpController, wxHelpControllerBase)
#if 0
BEGIN_EVENT_TABLE(wxHtmlHelpController, wxEvtHandler)
EVT_CLOSE(wxHtmlHelpController::OnCloseFrame)
END_EVENT_TABLE()
#endif
wxHtmlHelpController::wxHtmlHelpController(int style)
{
m_helpFrame = NULL;
@@ -47,7 +41,8 @@ wxHtmlHelpController::wxHtmlHelpController(int style)
wxHtmlHelpController::~wxHtmlHelpController()
{
WriteCustomization(m_Config, m_ConfigRoot);
if (m_Config)
WriteCustomization(m_Config, m_ConfigRoot);
if (m_helpFrame)
DestroyHelpWindow();
}
@@ -121,7 +116,6 @@ void wxHtmlHelpController::CreateHelpWindow()
m_helpFrame = CreateHelpFrame(&m_helpData);
m_helpFrame->SetController(this);
// m_helpFrame->PushEventHandler(this);
if (m_Config)
m_helpFrame->UseConfig(m_Config, m_ConfigRoot);
@@ -135,14 +129,14 @@ void wxHtmlHelpController::ReadCustomization(wxConfigBase* cfg, const wxString&
{
/* should not be called by the user; call UseConfig, and the controller
* will do the rest */
if (m_helpFrame)
if (m_helpFrame && cfg)
m_helpFrame->ReadCustomization(cfg, path);
}
void wxHtmlHelpController::WriteCustomization(wxConfigBase* cfg, const wxString& path)
{
/* typically called by the controllers OnCloseFrame handler */
if (m_helpFrame)
if (m_helpFrame && cfg)
m_helpFrame->WriteCustomization(cfg, path);
}