/* Copyright (C) 2011-2020, Dirk Krause SPDX-License-Identifier: BSD-3-Clause */ /* WARNING: This file was generated by the dkct program (see http://dktools.sourceforge.net/ for details). 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: DkWxHelpController.cpt */ /** @file DkWxHelpController.cpp The DkWxHelpController module. */ #line 91 "DkWxHelpController.cpt" #include "dk3all.h" #include "DkWxAppHelper.h" #include "DkWxHelpController.h" #include "dk3wxs.h" #line 101 "DkWxHelpController.cpt" DkWxHelpController::DkWxHelpController( DkWxAppHelper *ah, #ifdef __WXMSW__ wxChar const *chmName, #else wxChar const * WXUNUSED(chmName), #endif #ifdef __WXMSW__ wxChar const * WXUNUSED(htbName) #else wxChar const *htbName #endif ) #ifdef __WXMSW__ #else : hc(wxHF_DEFAULT_STYLE | wxHF_MERGE_BOOKS) #endif { wxChar fnb[DK3_MAX_PATH]; appHelper = ah; bFileFound = false; #line 128 "DkWxHelpController.cpt" #ifdef __WXMSW__ #line 130 "DkWxHelpController.cpt" if((appHelper) && (chmName)) { if(appHelper->findDataFile(chmName, fnb, DK3_SIZEOF(fnb,wxChar))) { hc.Initialize(fnb); bFileFound = true; } } #else wxArchiveFSHandler *zfsh = NULL; #line 139 "DkWxHelpController.cpt" if((ah) && (htbName)) { if(appHelper->findDataFile(htbName, fnb, DK3_SIZEOF(fnb,wxChar))) { zfsh = new wxArchiveFSHandler(); if(zfsh) { wxFileSystem::AddHandler(zfsh); /* CLANG STATIC ANALYSIS COMPLAINS ABOUT A POTENTIAL MEMORY LEAK, because zfsh is set using the new operator but there is no matching delete. The handler object is deleted from within wxFileSystem destructor, there is no memory leak. */ hc.AddBook(fnb); bFileFound = true; } } } #endif #line 157 "DkWxHelpController.cpt" } void DkWxHelpController::openHelp(wxFrame *wxf) { wxChar const *titleString; wxChar const *msgString; #line 167 "DkWxHelpController.cpt" if(bFileFound) { hc.DisplayContents(); } else { if(appHelper) { titleString = appHelper->getBasicString(3); msgString = appHelper->getBasicString(10); wxMessageBox(msgString, titleString, wxOK, wxf); } } #line 176 "DkWxHelpController.cpt" } void DkWxHelpController::openHelpSectionByName(wxFrame *wxf, wxString const & name) { wxChar const *titleString; wxChar const *msgString; #line 186 "DkWxHelpController.cpt" if (bFileFound) { hc.DisplaySection(name); } else { if (appHelper) { titleString = appHelper->getBasicString(3); msgString = appHelper->getBasicString(10); wxMessageBox(msgString, titleString, wxOK, wxf); } } #line 196 "DkWxHelpController.cpt" } void DkWxHelpController::openHelpSectionByNumber(wxFrame *wxf, int number) { wxChar const *titleString; wxChar const *msgString; #line 206 "DkWxHelpController.cpt" if (bFileFound) { hc.DisplaySection(number); } else { titleString = appHelper->getBasicString(3); msgString = appHelper->getBasicString(10); wxMessageBox(msgString, titleString, wxOK, wxf); } #line 214 "DkWxHelpController.cpt" }