summaryrefslogtreecommitdiff
path: root/support/dktools/Bmpp4App.h
blob: b37fa2a50dbd9aef1982ecd80e09ac5c36ba5aff (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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
/*
Copyright (C) 2018-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: Bmpp4App.cpt
*/

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


#line 12 "Bmpp4App.cpt"

/**	@file	Bmpp4App.h	The Bmpp4App class.
*/

/*	The program may be invoked in 2 variants

	wxbmpp [<directory>]
		* NO -l OPTION SPECIFIED, RUN AS NORMAL GUI APPLICATION
		* Restore all settings made in the GUI previously
		* Restore directory if not specified on command line
		* Do not run automatically
		* Save directory if not specified on command line
		* Save all settings made in the GUI
		* When running retrieve current settings from GUI

	wxbmpp -l<driver>[.language],... [<file>]
		* WITH -l OPTION AUTOMATICALLY START CONVERSION FOR SPECIFIED FILE
		* Do not restore settings
		* Apply settings in the -l option
		* Run automatically, exit after running
		* Do not save settings 
		* Do not save file
		* Use settings from the -l option

*/


/**	Application class, derived from wxApp, one instance per program.
*/
class Bmpp4App : public wxApp
{
	protected:

		/**	Helper object.
		*/
		Dk4WxApplicationHelper	 *pAh;

		/**	Controller fr online help.
		*/
		Dk4WxHelpController		 *pHc;

		/*	__CHANGE__ 009:	Add further members here.
		*/

		/**	Graphics output configuration.
		*/
		dk4_gra_conf_t			  graconf;

		/**	Array of known paper sizes.
		*/
		dk4_paper_size_t		*pPaperSizes;

		/**	Paper size names correspondig to the pPaperSizes items.
		*/
		wxArrayString			 *pasPaperSizes;

		/**	Directory name, allocated.
		*/
		wxChar					 *pDirname;

		/**	Number of paper sizes in pasPaperSizes.
		*/
		size_t					  szPaperSizes;

		/**	Restore and save graphics conversion settings.
		*/
		bool					  bRestoreGx;

		/**	Restore and save Make mode setting.
		*/
		bool					  bRestoreMake;

		/**	Restore and save location to process.
		*/
		bool					  bRestoreLocation;

		/**	Make mode setting from options, if not restored.
		*/
		bool					  bMakeMode;

		/**	Automatically start.
		*/
		bool					  bAutorun;

	protected:

		/**	Show error message if there is not enough memory available.
		*/
		void
		ShowMemoryErrorMessage(void);

		/**	Process command line arguments and initialize components.
			@return	True on success (can continue), false on error (abort).
		*/
		bool
		ProcessOptionsAndInitializeComponents(
			wxChar const * const *localizedTexts
		);

		/**	Process command line arguments.
			@return True on success (can continue), false on error (abort).
		*/
		bool
		ProcessOptions(
			dk4_app_t				*app,
			wxChar const * const	*localizedTexts
		);

	public:

		/**	Application initialization.
			@return	true on success, false on error.
		*/
		virtual
		bool
		OnInit();

		/**	Application shutdown.
			@return	0 on success, any other value indicates an error.
		*/
		virtual
		int
		OnExit();
};



/**	Declaration as the wxApp object.
*/

#if	wxCHECK_VERSION(3,0,0)
wxDECLARE_APP(Bmpp4App);
#else
DECLARE_APP(Bmpp4App)
#endif


/* vim: set ai sw=4 ts=4 : */

#endif