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

View File

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

View File

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