diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /support/dktools/Dk4WxHelpController.h |
Initial commit
Diffstat (limited to 'support/dktools/Dk4WxHelpController.h')
-rw-r--r-- | support/dktools/Dk4WxHelpController.h | 191 |
1 files changed, 191 insertions, 0 deletions
diff --git a/support/dktools/Dk4WxHelpController.h b/support/dktools/Dk4WxHelpController.h new file mode 100644 index 0000000000..8a6615aaa8 --- /dev/null +++ b/support/dktools/Dk4WxHelpController.h @@ -0,0 +1,191 @@ +/* + WARNING: This file was generated by dkct. + Changes you make here will be lost if dkct is run again! + You should modify the original source and run dkct on it. + Original source: Dk4WxHelpController.cpt +*/ + +/* +Copyright (C) 2015-2017, Dirk Krause + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above opyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +* Neither the name of the author nor the names of contributors may be used + to endorse or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef DK4WXHELPCONTROLLER_H_INCLUDED +/** Avoid multiple inclusions. */ +#define DK4WXHELPCONTROLLER_H_INCLUDED 1 + + +#line 9 "Dk4WxHelpController.cpt" + +/** @file Dk4WxHelpController.h Help controller class. +*/ + +#ifndef DK4CONF_H_INCLUDED +#include "dk4conf.h" +#endif + +#ifndef DK4TYPES_H_INCLUDED +#include "dk4types.h" +#endif + +#ifndef WX_WXPREC_H_INCLUDED +#include <wx/wxprec.h> +#define WX_WXPREC_H_INCLUDED 1 +#endif + +#ifdef __BORLANDC__ +#pragma hdrstop +#endif +#ifndef WX_PRECOMP +#ifndef WX_WX_H_INCLUDED +#include <wx/wx.h> +#define WX_WX_H_INCLUDED 1 +#endif +#endif +#ifndef WX_CONFIG_H_INCLUDED +#include <wx/config.h> +#define WX_CONFIG_H_INCLUDED 1 +#endif +#ifndef WX_FILENAME_H_INCLUDED +#include <wx/filename.h> +#define WX_FILENAME_H_INCLUDED 1 +#endif +#ifndef WX_HELP_H_INCLUDED +#include <wx/help.h> +#define WX_HELP_H_INCLUDED 1 +#endif +#ifndef WX_FS_ZIP_H_INCLUDED +#include <wx/fs_zip.h> +#define WX_FS_ZIP_H_INCLUDED 1 +#endif +#ifndef WX_THREAD_H_INCLUDED +#include <wx/thread.h> +#define WX_THREAD_H_INCLUDED 1 +#endif + +#ifndef DK4WXAPPLICATIONHELPER_H_INCLUDED +#include "Dk4WxApplicationHelper.h" +#endif + + +/** Help controller dealing with both CHM and HTB files. +*/ +class Dk4WxHelpController +{ + protected: + + /** Synchronized access. + */ + wxCriticalSection csProtect; + +#ifdef __WXMSW__ + /** Help controller for CHM files used on Windows. + */ + wxCHMHelpController oHelpController; +#else + /** Help controller for HTB files used on non-Windows systems. + */ + wxHtmlHelpController oHelpController; +#endif + + /** Application helper, used for for search. + */ + Dk4WxApplicationHelper *pAppHelp; + + /** Short file name of help file. + */ + dkChar *pdksShortFileName; + + /** Flag: Contents was already loaded. + */ + bool bLoaded; + + /** Flag: Help file was found. + */ + bool bFileFound; + + protected: + + /** Attempt to load the help file. + */ + void + AttemptToLoadFile(void); + + /** Show error message. + */ + void + ShowErrorMessage(size_t i_title = 0, size_t i_text = 1); + + public: + + /** Default constructor. + Just set the pointers to NULL. + */ + Dk4WxHelpController(); + + /** Destructor. + */ + ~Dk4WxHelpController(); + + /** Initialize the controller (keep pointers). + @param ahptr Application helper for file search. + @param chmName CHM help file name for windows. + @param htbName HTB help file name for other systems. + @return True on success, false on error. + */ + bool + Initialize( + Dk4WxApplicationHelper *ahptr, + const dkChar *chmName, + const dkChar *htbName + ); + + /** Clean up. + */ + void + Cleanup(void); + + /** Open help system. + */ + void + DisplayContents(void); + + /** Open help section specified by name. + @param name Section name. + */ + void + DisplaySection(wxString const & name); + + /** Open a help section specified by number. + @param number Section number (context ID). + */ + void + DisplaySection(int number); + +}; + + +#endif |