X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3755cfa64d2f5182ec88d9d0bf934769e0269d10..2fd716136a961ab6038996343e42257c2d81aac2:/samples/help/demo.cpp diff --git a/samples/help/demo.cpp b/samples/help/demo.cpp index da378e4093..74574c239f 100644 --- a/samples/help/demo.cpp +++ b/samples/help/demo.cpp @@ -41,9 +41,11 @@ // define this to 1 to use HTML help even under Windows (by default, Windows // version will use WinHelp). // Please also see samples/html/helpview. - #define USE_HTML_HELP 1 +// define this to 1 to use external help controller (not used by default) +#define USE_EXT_HELP 0 + // Define this to 0 to use the help controller as the help // provider, or to 1 to use the 'simple help provider' // (the one implemented with wxTipWindow). @@ -69,6 +71,10 @@ #include "wx/msw/helpbest.h" #endif +#if USE_EXT_HELP +#include "wx/generic/helpext.h" +#endif + // ---------------------------------------------------------------------------- // ressources // ---------------------------------------------------------------------------- @@ -104,7 +110,7 @@ public: // ctor(s) MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size); - wxHelpController& GetHelpController() { return m_help; } + wxHelpControllerBase& GetHelpController() { return m_help; } #if USE_HTML_HELP wxHtmlHelpController& GetAdvancedHtmlHelpController() { return m_advancedHtmlHelp; } @@ -136,7 +142,11 @@ public: void ShowHelp(int commandId, wxHelpControllerBase& helpController); private: +#if USE_EXT_HELP + wxExtHelpController m_help; +#else wxHelpController m_help; +#endif #if USE_HTML_HELP wxHtmlHelpController m_advancedHtmlHelp; @@ -213,7 +223,7 @@ enum HelpDemo_Help_GNOME, HelpDemo_Help_Netscape, // controls start here (the numbers are, of course, arbitrary) - HelpDemo_Text = 1000, + HelpDemo_Text = 1000 }; // ---------------------------------------------------------------------------- @@ -277,6 +287,9 @@ IMPLEMENT_APP(MyApp) // `Main program' equivalent: the program execution "starts" here bool MyApp::OnInit() { + if ( !wxApp::OnInit() ) + return false; + // Create a simple help provider to make SetHelpText() do something. // Note that this must be set before any SetHelpText() calls are made. #if USE_SIMPLE_HELP_PROVIDER @@ -286,18 +299,17 @@ bool MyApp::OnInit() #endif wxHelpProvider::Set(provider); -#if wxUSE_HTML -#if wxUSE_GIF - // Required for images in the online documentation - wxImage::AddHandler(new wxGIFHandler); +#if USE_HTML_HELP + #if wxUSE_GIF + // Required for images in the online documentation + wxImage::AddHandler(new wxGIFHandler); + #endif // wxUSE_GIF // Required for advanced HTML help -#if wxUSE_STREAMS && wxUSE_ZIPSTREAM && wxUSE_ZLIB - wxFileSystem::AddHandler(new wxZipFSHandler); -#endif - -#endif -#endif + #if wxUSE_STREAMS && wxUSE_ZIPSTREAM && wxUSE_ZLIB + wxFileSystem::AddHandler(new wxZipFSHandler); + #endif +#endif // wxUSE_HTML // Create the main application window MyFrame *frame = new MyFrame(_T("HelpDemo wxWidgets App"), @@ -309,7 +321,7 @@ bool MyApp::OnInit() #else provider->SetHelpController(& frame->GetHelpController()); #endif -#endif +#endif // !USE_SIMPLE_HELP_PROVIDER frame->Show(true); SetTopWindow(frame); @@ -668,14 +680,12 @@ BEGIN_EVENT_TABLE(MyModalDialog, wxDialog) END_EVENT_TABLE() MyModalDialog::MyModalDialog(wxWindow *parent) - : wxDialog() + : wxDialog(parent, wxID_ANY, wxString(_T("Modal dialog"))) { - // Add the context-sensitive help button on the caption for MSW -#ifdef __WXMSW__ + // Add the context-sensitive help button on the caption for the platforms + // which support it (currently MSW only) SetExtraStyle(wxDIALOG_EX_CONTEXTHELP); -#endif - wxDialog::Create(parent, wxID_ANY, wxString(_T("Modal dialog"))); wxBoxSizer *sizerTop = new wxBoxSizer(wxVERTICAL); wxBoxSizer *sizerRow = new wxBoxSizer(wxHORIZONTAL); @@ -701,10 +711,7 @@ MyModalDialog::MyModalDialog(wxWindow *parent) sizerTop->Add(text, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxALL, 5 ); sizerTop->Add(sizerRow, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5 ); - SetSizer(sizerTop); - - sizerTop->SetSizeHints(this); - sizerTop->Fit(this); + SetSizerAndFit(sizerTop); btnOK->SetFocus(); btnOK->SetDefault();