X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/33b64e6f8b7cf372a569e61d7eee879217945043..b250d38459eb894e7fa87c3328b035a3e43685e1:/samples/help/demo.cpp diff --git a/samples/help/demo.cpp b/samples/help/demo.cpp index 1980c9f265..e138ef8a61 100644 --- a/samples/help/demo.cpp +++ b/samples/help/demo.cpp @@ -16,26 +16,28 @@ // ---------------------------------------------------------------------------- // headers // ---------------------------------------------------------------------------- -#ifdef __GNUG__ - #pragma implementation "demo.cpp" - #pragma interface "demo.cpp" -#endif // For compilers that support precompilation, includes "wx/wx.h". #include "wx/wxprec.h" #ifdef __BORLANDC__ - #pragma hdrstop +# pragma hdrstop #endif // for all others, include the necessary headers (this file is usually all you // need because it includes almost all "standard" wxWindows headers #ifndef WX_PRECOMP - #include "wx/wx.h" +# include "wx/wx.h" #endif -#include "wx/helpbase.h" -#include "wx/help.h" +// define this to 1 to use HTML help even under Windows (by default, Windows +// version will HLP-based help) +#define USE_HTML_HELP 1 +#if USE_HTML_HELP +# include "wx/helpbase.h" +#else +# include "wx/help.h" +#endif // ---------------------------------------------------------------------------- // ressources @@ -69,12 +71,15 @@ public: // ctor(s) MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size); + wxHelpController& GetHelpController() { return m_help; } + // event handlers (these functions should _not_ be virtual) void OnQuit(wxCommandEvent& event); void OnHelp(wxCommandEvent& event); private: - wxHelpController help; + wxHelpController m_help; + // any class wishing to process wxWindows events must use this macro DECLARE_EVENT_TABLE() }; @@ -144,9 +149,17 @@ bool MyApp::OnInit() frame->Show(TRUE); SetTopWindow(frame); - // success: wxApp::OnRun() will be called which will enter the main message - // loop and the application will run. If we returned FALSE here, the - // application would exit immediately. + + // initialise the help system: this means that we'll use doc.hlp file under + // Windows and that the HTML docs are in the subdirectory doc for platforms + // using HTML help + if ( !frame->GetHelpController().Initialize("doc") ) + { + wxLogError("Cannot initialize the help system, aborting."); + + return FALSE; + } + return TRUE; } @@ -170,11 +183,13 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size) menuFile->Append(HelpDemo_Help_Help, "&About Help Demo..."); menuFile->AppendSeparator(); menuFile->Append(HelpDemo_Help_Search, "&Search help..."); -#ifdef __WXGTK__ +#ifndef __WXMSW__ +#if !wxUSE_HTML menuFile->AppendSeparator(); menuFile->Append(HelpDemo_Help_KDE, "Use &KDE"); menuFile->Append(HelpDemo_Help_GNOME, "Use &GNOME"); menuFile->Append(HelpDemo_Help_Netscape, "Use &Netscape"); +#endif #endif menuFile->AppendSeparator(); menuFile->Append(HelpDemo_Quit, "E&xit"); @@ -198,10 +213,6 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size) // and a static control whose parent is the panel (void)new wxStaticText(panel, -1, "Hello, world!", wxPoint(10, 10)); - - // initialise the help system - help.Initialize("doc"); - } @@ -222,25 +233,25 @@ void MyFrame::OnHelp(wxCommandEvent& event) // (on Unix). For WinHelp, we'd need to use different context ids. case HelpDemo_Help_Classes: - help.DisplaySection(1); + m_help.DisplaySection(1); break; case HelpDemo_Help_Functions: - help.DisplaySection(2); + m_help.DisplaySection(4); break; case HelpDemo_Help_Help: - help.DisplaySection(5); + m_help.DisplaySection(5); break; // These three calls are only used by wxExtHelpController case HelpDemo_Help_KDE: - help.SetViewer("kdehelp"); + m_help.SetViewer("kdehelp"); break; case HelpDemo_Help_GNOME: - help.SetViewer("gnome-help-browser"); + m_help.SetViewer("gnome-help-browser"); break; case HelpDemo_Help_Netscape: - help.SetViewer("netscape", wxHELP_NETSCAPE); + m_help.SetViewer("netscape", wxHELP_NETSCAPE); break; case HelpDemo_Help_Search: @@ -250,12 +261,12 @@ void MyFrame::OnHelp(wxCommandEvent& event) "", this); if(! key.IsEmpty()) - help.KeywordSearch(key); + m_help.KeywordSearch(key); } break; case HelpDemo_Help_Index: default: - help.DisplayContents(); + m_help.DisplayContents(); break; } }