summaryrefslogtreecommitdiff
path: root/support/dktools/Dk4WxHelpController.cpt
diff options
context:
space:
mode:
Diffstat (limited to 'support/dktools/Dk4WxHelpController.cpt')
-rw-r--r--support/dktools/Dk4WxHelpController.cpt404
1 files changed, 0 insertions, 404 deletions
diff --git a/support/dktools/Dk4WxHelpController.cpt b/support/dktools/Dk4WxHelpController.cpt
deleted file mode 100644
index 9bddc56c0b..0000000000
--- a/support/dktools/Dk4WxHelpController.cpt
+++ /dev/null
@@ -1,404 +0,0 @@
-%% options
-
-copyright owner = Dirk Krause
-copyright year = 2015-xxxx
-SPDX-License-Identifier: BSD-3-Clause
-
-
-%% header
-
-/** @file Dk4WxHelpController.h Help controller class.
-*/
-
-#ifndef DK4CONF_H_INCLUDED
-#if DK4_BUILDING_DKTOOLS4
-#include "dk4conf.h"
-#else
-#include <dktools-4/dk4conf.h>
-#endif
-#endif
-
-#ifndef DK4TYPES_H_INCLUDED
-#if DK4_BUILDING_DKTOOLS4
-#include "dk4types.h"
-#else
-#include <dktools-4/dk4types.h>
-#endif
-#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
-#if DK4_BUILDING_DKTOOLS4
-#include "Dk4WxApplicationHelper.h"
-#else
-#include <dktools-4/Dk4WxApplicationHelper.h>
-#endif
-#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);
-
-};
-
-%% module
-
-#include "dk4conf.h"
-#include "dk4strd.h"
-#include "dk4strx.h"
-#include "dk4fs.h"
-#include "dk4mem.h"
-#include "dk4mpl.h"
-#include "Dk4WxHelpController.h"
-
-
-
-$!trace-include
-
-
-
-/** Constant text fragments used by module.
-*/
-static const wxChar * const dk4wxhc_kw_def[] = {
-$!string-table macro=wxT
-Help file not found
-The file containing online help text was not found on your computer!
-$!end
-};
-
-
-
-/** Pointer type, defined to calculate dk4wxhc_kw_def array size.
-*/
-typedef const wxChar *PTR_CWXC;
-
-
-
-/** Number of array elements in dk4wxhc_kw_def.
-*/
-static const size_t sz_dk4wxhc_kw_def =
-sizeof(dk4wxhc_kw_def) / sizeof(PTR_CWXC);
-
-
-
-Dk4WxHelpController::Dk4WxHelpController()
-#ifdef __WXMSW__
-
-#else
-: oHelpController(wxHF_DEFAULT_STYLE | wxHF_MERGE_BOOKS)
-#endif
-{
- pAppHelp = NULL;
- pdksShortFileName = NULL;
- bLoaded = false;
- bFileFound = false;
-}
-
-
-
-Dk4WxHelpController::~Dk4WxHelpController()
-{
- dk4mem_release(pdksShortFileName);
- pAppHelp = NULL;
- bLoaded = false;
- bFileFound = false;
-}
-
-
-
-bool
-Dk4WxHelpController::Initialize(
- Dk4WxApplicationHelper *ahptr,
-#ifdef __WXMSW__
- const dkChar *chmName,
-#else
- const dkChar * WXUNUSED(chmName),
-#endif
-#ifdef __WXMSW__
- const dkChar * WXUNUSED(htbName)
-#else
- const dkChar *htbName
-#endif
-)
-{
- const dkChar *fn = NULL;
- bool back = false;
-#ifdef __WXMSW__
- fn = chmName;
-#else
- fn = htbName;
-#endif
- if ((NULL != ahptr) && (NULL != fn)) {
- pAppHelp = ahptr;
- bLoaded = false;
- bFileFound = false;
- pdksShortFileName = dk4str_dup(fn, NULL);
- if (NULL != pdksShortFileName) {
- back = true;
- } else {
- /* ERROR: Memory */
- ShowErrorMessage(6, 7);
- }
- } else {
- /* ERROR: Illegal arguments to function */
- ShowErrorMessage(6, 8);
- }
- return back;
-}
-
-
-
-void
-Dk4WxHelpController::Cleanup(void)
-{
- {
- wxCriticalSectionLocker lock(csProtect);
- dk4mem_release(pdksShortFileName);
- pAppHelp = NULL;
- bLoaded = false;
- bFileFound = false;
- }
-}
-
-
-
-void
-Dk4WxHelpController::AttemptToLoadFile(void)
-{
- wxChar fnb[DK4_MAX_PATH];
- size_t szfnb = DK4_SIZEOF(fnb,wxChar);
-
- if (!bLoaded) {
- bLoaded = true;
- if ((NULL != pAppHelp) && (NULL != pdksShortFileName)) {
- if (pAppHelp->FindHelpFile(fnb, szfnb, pdksShortFileName)) {
- bFileFound = true;
-#ifdef __WXMSW__
- oHelpController.Initialize(fnb);
-#else
- oHelpController.AddBook(fnb);
-#endif
- }
- }
- }
-}
-
-
-
-void
-Dk4WxHelpController::ShowErrorMessage(size_t i_title, size_t i_text)
-{
- const wxChar *strTitle = NULL;
- const wxChar *strText = NULL;
- {
- wxCriticalSectionLocker lock(csProtect);
- if (NULL != pAppHelp) {
- strTitle = pAppHelp->GetBasicString(i_title);
- strText = pAppHelp->GetBasicString(i_text);
- }
- }
- if (NULL == strTitle) {
- if (i_title < sz_dk4wxhc_kw_def) {
- strTitle = dk4wxhc_kw_def[i_title];
- }
- }
- if (NULL == strText) {
- if (i_text < sz_dk4wxhc_kw_def) {
- strText = dk4wxhc_kw_def[i_text];
- }
- }
- wxMessageBox(strText, strTitle, (wxOK | wxCENTRE | wxICON_ERROR));
-}
-
-
-
-void
-Dk4WxHelpController::DisplayContents()
-{
- bool canOpenHelp = false;
- {
- wxCriticalSectionLocker lock(csProtect);
- AttemptToLoadFile();
- if (bLoaded) {
- if (bFileFound) {
- canOpenHelp = true;
- }
- }
- }
- if (canOpenHelp) {
- oHelpController.DisplayContents();
- } else {
- ShowErrorMessage();
- }
-}
-
-
-
-void
-Dk4WxHelpController::DisplaySection(wxString const & name)
-{
- bool canOpenHelp = false;
- {
- wxCriticalSectionLocker lock(csProtect);
- AttemptToLoadFile();
- if (bLoaded) {
- if (bFileFound) {
- canOpenHelp = true;
- }
- }
- }
- if (canOpenHelp) {
- oHelpController.DisplaySection(name);
- } else {
- ShowErrorMessage();
- }
-}
-
-
-
-void
-Dk4WxHelpController::DisplaySection(int number)
-{
- bool canOpenHelp = false;
- {
- wxCriticalSectionLocker lock(csProtect);
- AttemptToLoadFile();
- if (bLoaded) {
- if (bFileFound) {
- canOpenHelp = true;
- }
- }
- }
- if (canOpenHelp) {
- oHelpController.DisplaySection(number);
- } else {
- ShowErrorMessage();
- }
-}
-
-