summaryrefslogtreecommitdiff
path: root/support/dktools/DkWxHelpController.h
blob: dd43c45fe7e56d06884285915e8568fda19d3b90 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
/*
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.h Header file for the DkWxHelpController module.
*/

#ifndef DKWXHELPCONTROLLER_H_INCLUDED
/** Avoid multiple inclusions. */
#define DKWXHELPCONTROLLER_H_INCLUDED 1


#line 10 "DkWxHelpController.cpt"

#include <dk3conf.h>
#include <dk3types.h>

#include <wx/wxprec.h>
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WX_PRECOMP
#include <wx/wx.h>
#endif
#include <wx/config.h>
#include <wx/filename.h>
#include <wx/help.h>
#include <wx/fs_zip.h>

#include <DkWxAppHelper.h>



/**	Help controller covering both chm and htb help files.
*/
class DkWxHelpController
{
  private:

    /**	Application helper, used to find the help files.
    */
    DkWxAppHelper		*appHelper;

    /**	Flag: Help file was found.
    */
    bool			bFileFound;

#ifdef __WXMSW__
    /**	Use CHM help controller on Windows systems.
    */
    wxCHMHelpController		hc;
#else
    /**	Use HTML help controller on all other systems.
    */
    wxHtmlHelpController	hc;
#endif

  public:
    /**	Constructor.
    	@param	ah	Application helper.
	@param	chmName	Short file name of chm file, without leading directory.
	@param	htbName	Short file name of htb file, without leading directory.
    */
    DkWxHelpController(
      DkWxAppHelper *ah,
      wxChar const *chmName,
      wxChar const *htbName
    );

    /**	Open help system.
    	@param	wxf	Parent frame.
    */
    void
    openHelp(wxFrame *wxf);

    /**	Open a help section specified by name.
    	@param	wxf	Parent frame.
	@param	name	Section name.
    */
    void
    openHelpSectionByName(wxFrame *wxf, wxString const & name);

    /**	Open a help section specified by number.
    	@param	wxf	Parent frame.
	@param	number	Section number (context ID).
    */
    void
    openHelpSectionByNumber(wxFrame *wxf, int number);

};




#endif