]>
Commit | Line | Data |
---|---|---|
d7463f75 JS |
1 | \documentstyle[a4,makeidx,verbatim,texhelp,fancyhea,mysober,mytitle]{report}% |
2 | \twocolwidtha{4cm}% | |
3 | \definecolour{black}{0}{0}{0}% | |
4 | \definecolour{cyan}{0}{255}{255}% | |
5 | \definecolour{green}{0}{255}{0}% | |
6 | \definecolour{magenta}{255}{0}{255}% | |
7 | \definecolour{red}{255}{0}{0}% | |
8 | \definecolour{blue}{0}{0}{200}% | |
9 | \definecolour{yellow}{255}{255}{0}% | |
10 | \definecolour{white}{255}{255}{255}% | |
11 | %\input{psbox.tex} | |
12 | \newcommand{\commandref}[2]{\helpref{{\tt $\backslash$#1}}{#2}}% | |
13 | \newcommand{\commandrefn}[2]{\helprefn{{\tt $\backslash$#1}}{#2}\index{#1}}% | |
14 | \newcommand{\commandpageref}[2]{\latexignore{\helprefn{{\tt $\backslash$#1}}{#2}}\latexonly{{\tt $\backslash$#1} {\it page \pageref{#2}}}\index{#1}}% | |
15 | \newcommand{\indexit}[1]{#1\index{#1}}% | |
16 | \newcommand{\inioption}[1]{{\tt #1}\index{#1}}% | |
17 | \parskip=10pt% | |
18 | \parindent=0pt% | |
19 | \title{\cttitle}% | |
20 | \author{(c) Julian Smart, 2003}% | |
21 | \makeindex% | |
22 | \begin{document}% | |
23 | %\maketitle% | |
24 | \begin{center} | |
25 | \image{}{logo.gif} | |
26 | ||
27 | {\large {\bf Version \ctversion}} | |
28 | ||
29 | (c) Julian Smart | |
30 | \end{center} | |
31 | ||
32 | \pagestyle{fancyplain}% | |
33 | \bibliographystyle{plain}% | |
34 | \pagenumbering{arabic}% | |
35 | \setheader{{\it CONTENTS}}{}{}{}{}{{\it CONTENTS}}% | |
36 | \setfooter{\thepage}{}{}{}{}{\thepage}% | |
37 | \tableofcontents% | |
38 | ||
39 | ||
40 | \chapter{Welcome to \ctshortname}% | |
41 | \setheader{{\it Welcome}}{}{}{}{}{{\it Welcome}}% | |
42 | \setfooter{\thepage}{}{}{}{}{\thepage}% | |
43 | ||
44 | Welcome to \ctname, the easy way to configure wxWindows. | |
45 | Instead of tweaking a setup.h file, or typing a long configure | |
46 | command, you can now check and uncheck options in a convenient | |
47 | GUI tool, read the relevant reference document for each | |
48 | option, and save the setup.h file or configure command file. | |
49 | ||
50 | \begin{itemize}\itemsep=0pt | |
51 | \item For release information, please see \helpref{Release Notes}{releasenotes}. | |
52 | \item For a tour of the main windows in \ctshortname, please see the \helpref{User Interface}{documentui} section. | |
53 | %\item For a quick tutorial, go straight to \helpref{Getting Started}{gettingstarted}. | |
54 | \item For tips and troubleshooting, see the \helpref{How To}{howto} section. | |
55 | \end{itemize} | |
56 | ||
57 | \chapter{Contacts}% | |
58 | \setheader{{\it Contacts}}{}{}{}{}{{\it Contacts}}% | |
59 | \setfooter{\thepage}{}{}{}{}{\thepage}% | |
60 | ||
61 | The \ctname home page is at: | |
62 | ||
63 | {\tt \cturl} | |
64 | ||
65 | For help with \ctshortname or to report bugs, | |
66 | please go to the wxWindows web site. | |
67 | ||
68 | \section{Credits} | |
69 | ||
70 | \begin{center} | |
71 | {\bf (c) 2003 Julian Smart, Anthemion Software}\hrule | |
72 | ||
73 | {\it Designed by} | |
74 | ||
75 | {\bf Julian Smart} | |
76 | ||
77 | {\it Programmed by} | |
78 | ||
79 | {\bf Julian Smart} | |
80 | ||
81 | {\it Additional programming by} | |
82 | ||
83 | {\bf The wxWindows development team} | |
84 | ||
85 | \end{center} | |
86 | ||
87 | \chapter{Installation}% | |
88 | \setheader{{\it Installation}}{}{}{}{}{{\it Installation}}% | |
89 | \setfooter{\thepage}{}{}{}{}{\thepage}% | |
90 | ||
91 | {\bf On Windows:} | |
92 | ||
93 | Please run the installation program. This will create a program | |
94 | folder called \ctname (or other name if you have chosen a different name). This | |
95 | folder can be accessed via the Start menu under Programs. The | |
96 | folder contains shortcuts to the program, help file, and Uninstall program. | |
97 | ||
98 | You can uninstall \ctshortname either by double-clicking the Uninstall \ctshortname icon | |
99 | in the \ctname group, or by invoking the Windows Control Panel, | |
100 | double-clicking on Add/Remove Programs, and then choosing the \ctshortname item. | |
101 | ||
102 | {\bf On Linux:} | |
103 | ||
104 | Unarchive wxconfigtool-x.xx.tar.gz to a suitable location | |
105 | in your filesystem. A directory of the form wxconfigtool-x.xx | |
106 | (where x.xx is the version number) will be created. | |
107 | ||
108 | Add the location to your PATH and run the application with | |
109 | 'wxconfigtool'. You may wish to set the environment variable | |
110 | WXCONFIGTOOLDIR so that wxWindows Configuration Tool can find its data files. | |
111 | ||
112 | For example: | |
113 | ||
114 | \begin{verbatim} | |
115 | % cd ~ | |
116 | % tar xvfz wxconfigtool-1.01.tar.gz | |
117 | % export WXCONFIGTOOLDIR=`pwd`/wxconfigtool-1.01 | |
118 | % export PATH=$PATH:$WXCONFIGTOOLDIR | |
119 | % wxconfigtool | |
120 | \end{verbatim} | |
121 | ||
122 | If you don't want to change your PATH, you could place a | |
123 | script in a location already on your PATH, such as | |
124 | /usr/local/bin. For example: | |
125 | ||
126 | \begin{verbatim} | |
127 | #!/bin/sh | |
128 | # Invokes wxWindows Configuration Tool | |
129 | export WXCONFIGTOOLDIR=/home/mydir/wxconfigtool-1.01 | |
130 | $WXCONFIGTOOLDIR/wxconfigtool $* | |
131 | \end{verbatim} | |
132 | ||
133 | {\bf On Mac:} | |
134 | ||
135 | Download and unarchive the HQX file, and drag the wxWindows Configuration Tool folder to an appropriate location | |
136 | on your hard disk. Then double-click on the 'wxconfigtool' executable. | |
137 | ||
138 | \chapter{Release notes}\label{releasenotes}% | |
139 | \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}% | |
140 | \setfooter{\thepage}{}{}{}{}{\thepage}% | |
141 | ||
142 | For licencing information, please see | |
143 | the licence files in the installation directory: | |
144 | ||
145 | \begin{itemize}\itemsep=0pt | |
146 | \item licendoc.txt | |
147 | \item gpl.txt | |
148 | \item lgpl.txt | |
149 | \item preamble.txt | |
150 | \end{itemize} | |
151 | ||
152 | \section{What's New?}\label{whatsnew} | |
153 | ||
e7767867 JS |
154 | {\bf Version 1.01, June 14th 2003} |
155 | ||
156 | \begin{itemize}\itemsep=10pt | |
157 | \item Added Find facility. | |
158 | \end{itemize} | |
159 | ||
d7463f75 JS |
160 | {\bf Version 1.0, June 11th 2003} |
161 | ||
162 | \begin{itemize}\itemsep=10pt | |
163 | \item Initial version. | |
164 | \end{itemize} | |
165 | ||
166 | \section{Known issues}\label{knownissues} | |
167 | ||
168 | The following problems are known to exist: | |
169 | ||
170 | \begin{itemize}\itemsep=10pt | |
171 | \item No issues as yet. | |
172 | \end{itemize} | |
173 | ||
174 | \section{To Do}\label{todo} | |
175 | ||
176 | There are many things that could be done to make | |
177 | this tool more useful, including the following. | |
178 | ||
179 | \begin{itemize}\itemsep=10pt | |
180 | \item Allow full platform-specific dependency specification | |
181 | as mentioned in \helpref{How to specify platform-specific dependencies}{platformdependencies}. | |
182 | \item Allow \ctshortname to invoke configure and make, with an output | |
183 | window showing build status. | |
184 | \item Distinguish between template files and settings file; allow | |
185 | application of template files to settings files, and vice versa. | |
186 | \item Implement support for string, integer, float settings. | |
187 | \item Write a configuration browser. | |
188 | \item Add description, date and author information to the settings file. | |
189 | \item Command-line mode with ability to change settings from | |
190 | the command-line. Just like configure :-) | |
191 | \item Decide on standard location for settings files. | |
192 | \item Integrate with new (and old?) build systems. | |
193 | \item Allow customization of font and colour. | |
194 | \item Show all calculated dependencies for each config item. | |
195 | \item Add a search facility. | |
196 | \end{itemize} | |
197 | ||
198 | \section{Differences between Windows, Linux and Mac versions}\label{platformdifferences} | |
199 | ||
200 | Although every effort has been made to make wxWindows Configuration Tool work | |
201 | the same way on different environments, some small differences | |
202 | are inevitable. | |
203 | ||
204 | \begin{itemize}\itemsep=10pt | |
205 | \item Screenshots illustrate the Windows version; the Linux | |
206 | and Mac windows and dialogs will be slightly different, but with equivalent | |
207 | functionality. | |
208 | \item Dialogs under Windows often have a '?' button on the title | |
209 | bar, for context-sensitive help. Under Linux, this button is | |
210 | on the dialog itself, usually near the OK or Close button. | |
211 | On the Mac, context-sensitive help is not yet supported. | |
212 | \item Under Linux, online help invoked from the {\bf Help} button | |
213 | in modal dialogs is itself modal. That is, you have to quit | |
214 | the help window to return to the dialog. On Windows, you can | |
215 | switch back to the dialog without quitting the help viewer. | |
216 | \item On Windows and Linux, context menus are invoked with | |
217 | right-click. On Mac, use control-click. | |
218 | \end{itemize} | |
219 | ||
220 | \chapter{\ctshortname user interface}\label{documentui}% | |
221 | \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}% | |
222 | \setfooter{\thepage}{}{}{}{}{\thepage}% | |
223 | ||
224 | This section describes the main elements of the \ctname user interface. | |
225 | ||
226 | The \ctshortname main window looks like this: | |
227 | ||
228 | \begin{center} | |
229 | \image{}{screen01.png} | |
230 | \end{center} | |
231 | ||
232 | \section{Menubar} | |
233 | ||
234 | %\image{}{menubar.gif} | |
235 | ||
236 | The \helpref{menubar}{menubarcommands} allows you to perform many functions | |
237 | such as loading and saving files, creating new configuration items, | |
238 | undo/redo, invoking help, and so on. Try to remember the keyboard shortcuts that are | |
239 | displayed next to the menu item labels - they can save you a lot of time | |
240 | and make your \ctshortname experience more natural and enjoyable. | |
241 | ||
242 | \section{Main toolbar} | |
243 | ||
244 | %\image{}{toolbar.gif} | |
245 | ||
246 | The main toolbar gives quick access to commonly-used commands. | |
247 | If you hold your mouse pointer over the toolbar buttons, a tooltip pops up with a short description | |
248 | of the button's function. | |
249 | ||
250 | You can choose to hide the toolbar altogether | |
251 | using the {\bf View | Show Toolbar} menu command. | |
252 | ||
253 | You can find out more about in the \helpref{toolbar commands}{toolbarcommands} topic. | |
254 | ||
255 | \section{Configuration window} | |
256 | ||
257 | %\image{}{configwindow.gif} | |
258 | ||
259 | The biggest area of \ctshortname is taken up by the configuration window. | |
260 | ||
261 | On the left is a hierarchy of settings that can be customized. | |
262 | You can check and uncheck most settings, but you will find that | |
263 | many settings are disabled because they depend on other settings | |
264 | being enabled (or disabled). | |
265 | ||
266 | As an end user, you will probably only want to enable or disable | |
267 | options, but it's possible you may wish to update the structure | |
268 | of the settings file itself. In which case you can use the | |
269 | {\bf Edit} menu to add, remove, or rename items; and you can | |
270 | add custom properties to an item, but this is usually only | |
271 | useful for a developer of the tool to do. | |
272 | ||
273 | Undo/Redo can be applied to most editing commands, but (currently) not | |
274 | enabling and disabling operations. | |
275 | ||
276 | There are three tabs in the main window: {\bf Properties}, {\bf Setup.h}, | |
277 | and {\bf Configure}. The Properties tab contains the properties | |
278 | for the selected option. Setup.h shows the setup file, | |
279 | and there are buttons to allow you to copy the file to the clipboard | |
280 | and regenerate the file. Similarly, the Configure tab shows | |
281 | the script that will invoke configure. | |
282 | ||
283 | The property editor allows you to show detailed information | |
284 | about the option. A description for each property is shown | |
285 | when you click on the property. You can also edit property values, | |
286 | either by clicking and typing, or by double-clicking or clicking | |
287 | on the {\bf Edit...} button. If a special editor is defined for | |
288 | the property type, it will be shown. | |
289 | ||
290 | You can invoke help for the selected option, by clicking | |
291 | on the question mark toolbar button or the {\bf Help | Configuration Item Help} menu | |
292 | item. If there is a help topic defined for the option, the | |
293 | wxWindows reference manual will be opened at that topic. | |
294 | ||
295 | \begin{comment} | |
296 | \chapter{Getting started: a step-by-step guide}\label{gettingstarted}% | |
297 | \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}% | |
298 | \setfooter{\thepage}{}{}{}{}{\thepage}% | |
299 | ||
300 | This section will quickly get you up and running with \ctshortname. Click | |
301 | on \helpref{Step 1}{step1} to start. If you are | |
302 | using a Mac, please interpret 'left-click' to mean 'click', and | |
303 | 'right-click' to mean 'control-click'. | |
304 | ||
305 | \section{Step 1: creating a new configuration}\label{step1} | |
306 | ||
307 | When you run \ctshortname for the first time, you are presented with an | |
308 | empty configuration window. | |
309 | ||
310 | Go to \helpref{Step 2}{step2} to learn how to do the next thing. | |
311 | ||
312 | \section{Step 2: doing something else}\label{step2} | |
313 | ||
314 | Go to \helpref{Step 3}{step3} to learn how to do a third thing. | |
315 | ||
316 | \section{Step 3: a third thing}\label{step3} | |
317 | ||
318 | Go to \helpref{Step 4}{step4} to learn about saving your document and reloading it. | |
319 | ||
320 | \section{Step 4: saving and loading documents}\label{step4} | |
321 | ||
322 | You may wish to save a document, so you can come back to it later. Click on {\bf File | Save} or | |
323 | the \image{}{save.png} toolbar button. The first time you save the file, you will be prompted | |
324 | for a filename: you can accept the default one provided, or choose another. | |
325 | ||
326 | To reload the document, click on {\bf File | Open...} or the \image{}{open.gif} toolbar button. | |
327 | If you are working on another document, you will be prompted to save it first. | |
328 | ||
329 | Go to \helpref{Step 5: generating configurations}{step5} | |
330 | ||
331 | \section{Step 5: generating configurations}\label{step5} | |
332 | ||
333 | Todo. | |
334 | ||
335 | Go to \helpref{Step 6: where next?}{step6} | |
336 | ||
337 | \section{Step 6: where next?}\label{step6} | |
338 | ||
339 | Congratulations! You have learnt how to create, edit, save, and load configuration | |
340 | files. | |
341 | ||
342 | To get to know \ctshortname more thoroughly, here are some further things you | |
343 | can do. | |
344 | ||
345 | \begin{itemize} | |
346 | \item Read the \helpref{How To}{howto} section. | |
347 | \item Use the help facilities: most dialogs have a {\bf Help} button for a general description, and they | |
348 | also have a {\bf "?"} button for getting information on individual controls on a dialog. | |
349 | \item Explore the menubar and the menus that appear when you right-click over | |
350 | the window background and individual cards. | |
351 | \end{itemize} | |
352 | ||
353 | \end{comment} | |
354 | ||
355 | \chapter{Using menubar commands}\label{menubarcommands}% | |
356 | \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}% | |
357 | \setfooter{\thepage}{}{}{}{}{\thepage}% | |
358 | ||
359 | %\image{}{menubar.gif} | |
360 | ||
361 | This section describes the menubar commands. Commands | |
362 | that are not available in the current context are disabled (shown in grey). | |
363 | ||
364 | \section{File menu} | |
365 | ||
366 | The File menu shows commands that are mostly related to working | |
367 | with files. | |
368 | ||
369 | \begin{twocollist}\itemsep=0pt | |
370 | \twocolitem{{\bf New...} (Ctrl+N)}{Creates a new \ctshortname document.} | |
371 | \twocolitem{{\bf Open...} (Ctrl+O)}{Opens an existing document.} | |
372 | \twocolitem{{\bf Close} (Ctrl+W)}{Closes the current document.} | |
373 | \twocolitem{\hrule}{\htmlonly{\hrule}} | |
374 | \twocolitem{{\bf Save} (Ctrl+S)}{Saves the current document.} | |
375 | \twocolitem{{\bf Save As...}}{Saves the current document under a new name.} | |
376 | \twocolitem{\hrule}{\htmlonly{\hrule}} | |
377 | \twocolitem{{\bf Save Setup.h...} (Ctrl+H)}{Saves the generated setup.h file in the specified location.} | |
378 | \twocolitem{{\bf Save Configure Script...} (Ctrl+G)}{Saves the generated script containing a configure command in the specified location.} | |
379 | \twocolitem{\hrule}{\htmlonly{\hrule}} | |
380 | \twocolitem{{\bf Exit} (Alt+F4)}{Exits the program.} | |
381 | \end{twocollist} | |
382 | ||
383 | \section{Edit menu} | |
384 | ||
385 | The Edit menu shows commands that are related to editing | |
386 | document elements. | |
387 | ||
388 | \twocolwidtha{5cm} | |
389 | \begin{twocollist}\itemsep=0pt | |
390 | \twocolitem{{\bf Undo} (Ctrl+Z)}{Undoes the last undoable action.} | |
391 | \twocolitem{{\bf Redo} (Ctrl+Y)}{Redoes the last redoable action.} | |
392 | \twocolitem{\hrule}{\htmlonly{\hrule}} | |
393 | \twocolitem{{\bf Cut} (Ctrl+T)}{Cuts the selected option and places it on the clipboard.} | |
394 | \twocolitem{{\bf Copy} (Ctrl+C)}{Copies the selected option.} | |
395 | \twocolitem{{\bf Paste} (Ctrl+V)}{Pastes an option from the clipboard to the position. Whether the | |
396 | option is pasted as a child or sibling of the selection is determined by whether | |
397 | the selection is a folder or not. If you want finer control, right-click on the | |
398 | item in the tree control and select one of the paste commands.} | |
399 | \twocolitem{\hrule}{\htmlonly{\hrule}} | |
400 | \twocolitem{{\bf Add Option}}{Shows a menu for adding one of several option types.} | |
401 | \twocolitem{\hrule}{\htmlonly{\hrule}} | |
402 | \twocolitem{{\bf Custom Property}}{Shows a menu for adding, editing or deleting a custom option property.} | |
403 | \twocolitem{\hrule}{\htmlonly{\hrule}} | |
404 | \twocolitem{{\bf Delete Option}}{Deletes the selected option.} | |
405 | \twocolitem{{\bf Rename Option}}{Shows a dialog for renaming the selected option.} | |
e7767867 JS |
406 | \twocolitem{\hrule}{\htmlonly{\hrule}} |
407 | \twocolitem{{\bf Find...}}{Shows the Find dialog, allowing you to search for text | |
408 | within name, description and notes for each item.} | |
d7463f75 JS |
409 | \end{twocollist} |
410 | ||
411 | \section{View menu} | |
412 | ||
413 | The View menu gives you commands related to showing or hiding windows | |
414 | and various other preferences. | |
415 | ||
416 | \twocolwidtha{5cm} | |
417 | \begin{twocollist}\itemsep=0pt | |
418 | \twocolitem{{\bf Show Toolbar}}{Shows or hides the toolbar, beneath the menubar.} | |
419 | \twocolitem{\hrule}{\htmlonly{\hrule}} | |
420 | \twocolitem{{\bf Settings...} (Ctrl+T)}{Shows the \helpref{Settings Dialog}{settingsdialog}, which | |
421 | relate to application-wide settings.} | |
422 | \end{twocollist} | |
423 | ||
424 | \section{Help menu} | |
425 | ||
426 | The Help menu gives you commands related to getting help. | |
427 | ||
428 | \twocolwidtha{5cm} | |
429 | \begin{twocollist}\itemsep=0pt | |
430 | \twocolitem{{\bf Contents}}{Invokes the on-line help, showing the contents page.} | |
431 | \twocolitem{{\bf wxWindows Help Contents}}{Invokes the on-line wxWindows reference manual, showing the contents page.} | |
432 | \twocolitem{\hrule}{\htmlonly{\hrule}} | |
433 | \twocolitem{{\bf Configuration Option Help} (F1)}{Invokes the on-line wxWindows reference manual at the topic for the selected option (if a topic | |
434 | is defined).} | |
435 | \twocolitem{{\bf What's This?}}{Click to get help on a window or configuration option.} | |
436 | \twocolitem{\hrule}{\htmlonly{\hrule}} | |
437 | \twocolitem{{\bf About...}}{Displays a dialog giving a brief description of the program.} | |
438 | \end{twocollist} | |
439 | ||
440 | \chapter{Using context menu commands}\label{contextmenucommands}% | |
441 | \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}% | |
442 | \setfooter{\thepage}{}{}{}{}{\thepage}% | |
443 | ||
444 | This section describes the context menu commands available when you right-click. | |
445 | On the Mac, this is achieved with control-click. | |
446 | ||
447 | \section{Configuration tree context menu} | |
448 | ||
449 | This menu is shown when you right-click over the configuration tree window background. | |
450 | On the Mac, this is achieved with control-click. | |
451 | ||
452 | \twocolwidtha{5cm} | |
453 | \begin{twocollist}\itemsep=0pt | |
454 | \twocolitem{{\bf Paste before this option}}{Pastes the clipboard option before the clicked-on option.} | |
455 | \twocolitem{{\bf Paste after this option}}{Pastes the clipboard option after the clicked-on option.} | |
456 | \twocolitem{{\bf Paste as child of this option}}{Pastes the clipboard option as a child of the clicked-on option, | |
457 | if it is a group option.} | |
458 | \twocolitem{\hrule}{\htmlonly{\hrule}} | |
459 | \twocolitem{{\bf C&opy}}{Copies the clicked-on option to the internal clipboard.} | |
460 | \twocolitem{{\bf Cu&t}}{Copies the clicked-on option to the internal clipboard, and | |
461 | deletes the option from the tree.} | |
462 | \end{twocollist} | |
463 | ||
464 | \chapter{Using toolbar commands}\label{toolbarcommands}% | |
465 | \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}% | |
466 | \setfooter{\thepage}{}{}{}{}{\thepage}% | |
467 | ||
468 | This section describes the toolbar commands. | |
469 | ||
470 | %\image{}{toolbar.gif} | |
471 | ||
472 | The toolbar provides quick access to commonly-used | |
473 | commands. | |
474 | ||
475 | \twocolwidtha{5cm} | |
476 | \begin{twocollist}\itemsep=0pt | |
477 | \twocolitem{\image{}{new.png}{\bf New Document}}{Creates a new document.} | |
478 | \twocolitem{\image{}{open.png}{\bf Open Document}}{Opens an existing document, closing the currently open document.} | |
479 | \twocolitem{\image{}{save.png}{\bf Save Document}}{Saves the current document.} | |
480 | \twocolitem{\hrule}{\htmlonly{\hrule}} | |
481 | \twocolitem{\image{}{undo.png}{\bf Undo}}{Undoes the last command.} | |
482 | \twocolitem{\image{}{redo.png}{\bf Redo}}{Redoes the last command.} | |
483 | \twocolitem{\hrule}{\htmlonly{\hrule}} | |
484 | \twocolitem{\image{}{copy.png}{\bf Copy}}{Copies the selected option to an internal clipboard.} | |
485 | \twocolitem{\image{}{cut.png}{\bf Cut}}{Cuts the selected option and copies it to the internal clipboard..} | |
486 | \twocolitem{\image{}{paste.png}{\bf Paste}}{Pastes the option from the clipboard to the configuration tree.} | |
487 | \twocolitem{\hrule}{\htmlonly{\hrule}} | |
488 | \twocolitem{\image{}{help.png}{\bf Help}}{Shows the wxWindows manual topic for the | |
489 | \twocolitem{\image{}{helpcs.png}{\bf Context Help}}{Shows a context-sensitive help | |
490 | cursor; click on a window to show brief help about that window.} | |
491 | selected configuration item.} | |
492 | \end{twocollist} | |
493 | ||
494 | \chapter{Using dialogs}\label{dialogs}% | |
495 | \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}% | |
496 | \setfooter{\thepage}{}{}{}{}{\thepage}% | |
497 | ||
498 | Most dialogs have a {\bf "?"} button on their caption to provide context-sensitive help. | |
499 | Click on this and then on a control | |
500 | in a dialog to get quick help on that control. You can also click on the {\bf Help} button | |
501 | for more detailed help on the dialog. | |
502 | ||
503 | \section{Settings dialog}\label{settingsdialog} | |
504 | ||
505 | This dialog has a number of tabs to allow you to | |
506 | edit different categories of settings that are applicable | |
507 | to the application as a whole. | |
508 | ||
509 | \subsection{General settings dialog}\label{generalapplicationsettingsdialog} | |
510 | ||
511 | The General Settings Dialog allows you to set a variety of \ctshortname options. | |
512 | ||
513 | \twocolwidtha{5cm} | |
514 | \begin{twocollist}\itemsep=0pt | |
515 | \twocolitem{{\bf Load last document on startup}}{If checked, the last viewed document will | |
516 | be reloaded when \ctshortname starts up.} | |
517 | % If the application terminated abnormally, this | |
518 | %option will be switched off the next time \ctshortname runs in case there was a problem with | |
519 | %the document file.} | |
520 | %\twocolitem{{\bf Auto-save document}}{If checked, \ctshortname will regularly | |
521 | %save the document to a temporary file. If \ctshortname or the operating system | |
522 | %should terminate abnormally, the next time \ctshortname is run it will | |
523 | %check for an auto-save file and ask if you wish to open that file.} | |
524 | %\twocolitem{{\bf Show welcome dialog on startup}}{If checked, the \helpref{Welcome Dialog}{welcomedialog} will | |
525 | %be shown on startup.} | |
526 | \twocolitem{{\bf Show tooltips}}{If checked, tooltips will be shown in most dialogs, when you hover | |
527 | the mouse pointer over a control.} | |
528 | \end{twocollist} | |
529 | ||
530 | \subsection{Location settings dialog}\label{locationsettingsdialog} | |
531 | ||
532 | The Location Settings Dialog allows you to choose various locations. | |
533 | ||
534 | \twocolwidtha{5cm} | |
535 | \begin{twocollist}\itemsep=0pt | |
536 | \twocolitem{{\bf wxWindows hierarchy}}{This determines where \ctshortname will look | |
537 | when prompting for filenames.} | |
538 | \twocolitem{{\bf Use WXWIN environment variable}}{Check this to use | |
539 | the value of the WXWIN variable instead of the path entered in the text field.} | |
540 | \end{twocollist} | |
541 | ||
542 | \chapter{Using keyboard shortcuts}\label{keyboardshortcuts}% | |
543 | \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}% | |
544 | \setfooter{\thepage}{}{}{}{}{\thepage}% | |
545 | ||
546 | You can make your \ctshortname experience even smoother by | |
547 | using handy keyboard shortcuts. Note that some shortcuts are | |
548 | dependent on context: that is, which control has the focus. | |
549 | ||
550 | \twocolwidtha{3cm} | |
551 | \begin{twocollist}\itemsep=0pt | |
552 | \twocolitem{{\bf Ctrl + C}}{Copies the selected option to the clipboard.} | |
553 | \twocolitem{{\bf Ctrl + H}}{Saves the setup.h file.} | |
554 | \twocolitem{{\bf Ctrl + G}}{Saves the configure script file.} | |
555 | \twocolitem{{\bf Ctrl + N}}{Creates a new \ctshortname file.} | |
556 | \twocolitem{{\bf Ctrl + O}}{Opens a \ctshortname file.} | |
557 | \twocolitem{{\bf Ctrl + S}}{Saves the current \ctshortname document.} | |
558 | \twocolitem{{\bf Ctrl + T}}{Shows the \helpref{Settings Dialog}{settingsdialog}.} | |
559 | \twocolitem{{\bf Ctrl + V}}{Pastes the option on the clipboard (if any) to the configuration tree.} | |
560 | \twocolitem{{\bf Ctrl + W}}{Closes the current \ctshortname document.} | |
561 | \twocolitem{{\bf Ctrl + X}}{Cuts the selected option and copies it to the clipboard.} | |
562 | \twocolitem{{\bf Ctrl + Y}}{Redoes the previously undone edit.} | |
563 | \twocolitem{{\bf Ctrl + Z}}{Undoes the previous edit.} | |
564 | \twocolitem{{\bf F1}}{Shows the online help for the selected item.} | |
565 | \twocolitem{{\bf Alt + F4}}{Closes \ctshortname.} | |
566 | \end{twocollist} | |
567 | ||
568 | \chapter{Reference}\label{reference}% | |
569 | \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}% | |
570 | \setfooter{\thepage}{}{}{}{}{\thepage}% | |
571 | ||
572 | \section{The dependency evaluation algorithm} | |
573 | ||
574 | \ctshortname pre-calculates a list of all dependencies | |
575 | for each option -- this is a kind of reverse-pointer version | |
576 | of all the dependencies associated with each item. So | |
577 | if option {\bf a} has a {\bf requires} option specifying | |
578 | {\bf b}, then {\bf b} will end up with a dependency list | |
579 | containing {\bf a} and any other options that refer to it. | |
580 | ||
581 | When the user enables or disables an option ({\bf b}), | |
582 | the list of dependencies for that option is visited, | |
583 | and for each mentioned option ({\bf a}), all its dependency information | |
584 | is evaluated. This may result in the option {\bf a} being | |
585 | (de)selected and perhaps deactivated (made insensitive). | |
586 | ||
587 | The results of this change are propagated to dependents of | |
588 | {\bf a}, recursively, so several options may flip state | |
589 | as the result of checking the original option. | |
590 | ||
591 | The parent-child relationship of a check or radio | |
592 | group and its children is considered to be a virtual | |
593 | 'requires' dependency. Mutual exclusivity is also | |
594 | taken into account if the option is a radio option | |
595 | or group. For each radio option, all other mutually | |
596 | exclusive options need to be listed. See the | |
597 | {\bf Platform} group for an example of this. | |
598 | ||
599 | \section{How \ctshortname generates the configure commands} | |
600 | ||
601 | If the {\bf configure} property isn't empty, | |
602 | \ctshortname will output the string as a parameter | |
603 | to configure. | |
604 | ||
605 | The configure command is taken to be the command to | |
606 | use if the option is checked. If the option is | |
607 | unchecked, the 'enable' or 'with' is replaced with | |
608 | 'disable' or 'without'. | |
609 | ||
610 | TODO: should we distinguish between the case | |
611 | where a setting is not passed to configure (using | |
612 | the default), versus the case where it's specified but disabled? | |
613 | It's probably a good idea to make all the options | |
614 | explicit, but on the other hand it makes for a very long | |
615 | command line. | |
616 | ||
617 | \ctshortname checks for the presence of a | |
618 | {\bf builtin} custom boolean property and appends 'builtin' or | |
619 | 'sys' to the configure command depending on where | |
620 | the {\bf builtin} setting is checked or unchecked. | |
621 | We also allow for passing strings, e.g. for --with-rpath=DIR, | |
622 | by using the {\bf value} custom string property. | |
623 | ||
624 | \section{How \ctshortname generates the setup.h file} | |
625 | ||
626 | The {\bf Platforms} group is ignored. In all other | |
627 | cases, if the setting is prefixed by wxUSE_... | |
628 | and it's a boolean setting, \ctshortname will | |
629 | output 1 or 0 depending on the setting state. | |
630 | ||
631 | A few settings that don't have the wxUSE_... | |
632 | convention are also checked for and processed. | |
633 | ||
634 | ||
635 | \chapter{How To...}\label{howto}% | |
636 | \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}% | |
637 | \setfooter{\thepage}{}{}{}{}{\thepage}% | |
638 | ||
639 | A variety of topics to help you get the best from \ctshortname. | |
640 | ||
641 | \section{How to specify dependencies}\label{dependencies} | |
642 | ||
643 | To ensure consistency throughout the configuration, | |
644 | \ctshortname allows specification of dependencies, essentially | |
645 | a list of option names that should be considered in evaluating | |
646 | whether an option should be enabled or disabled. In addition, | |
647 | if the option is constrained to always be disabled | |
648 | or enabled in the current context, then it is greyed out | |
649 | (deactivated) to prevent the user from changing the state. | |
650 | ||
651 | There are four kinds of dependencies: requires, precludes, | |
652 | enabled-if, and enabled-if-not. Each one represents a | |
653 | relationship between the current option (a) and one | |
654 | or more named options (b). For the sake of argument | |
655 | we will consider only one other option, but multiple | |
656 | options are taken to mean (b1 or b2 or b3 or ...) | |
657 | Below the allowed combined states of a and b are | |
658 | listed for each kind of dependency. | |
659 | ||
660 | 1. a {\bf requires} b | |
661 | ||
662 | For example, wxUSE_DRAG_AND_DROP requires wxUSE_OLE. | |
663 | ||
664 | \begin{verbatim} | |
665 | a b | |
666 | ||
667 | 1 1 | |
668 | 0 1 | |
669 | 0 0 | |
670 | \end{verbatim} | |
671 | ||
672 | 2. a {\bf precludes} b | |
673 | ||
674 | For example, wxUSE_ODBC precludes wxUSE_UNICODE. | |
675 | ||
676 | \begin{verbatim} | |
677 | a b | |
678 | ||
679 | 1 0 | |
680 | 0 0 | |
681 | 0 1 | |
682 | \end{verbatim} | |
683 | ||
684 | ||
685 | 3. a {\bf enabled-if} b | |
686 | ||
687 | For example, __WXUNIVERSAL__ enabled-if X11 or MGL | |
688 | ||
689 | \begin{verbatim} | |
690 | a b | |
691 | ||
692 | 1 1 | |
693 | 1 0 | |
694 | 0 0 | |
695 | \end{verbatim} | |
696 | ||
697 | 4. a {\bf enabled-if-not} b | |
698 | ||
699 | For example, wxUSE_TOOLBAR_SIMPLE enabled-if-not wxUSE_TOOLBAR_NATIVE. | |
700 | ||
701 | \begin{verbatim} | |
702 | a b | |
703 | ||
704 | 1 0 | |
705 | 0 1 | |
706 | 1 1 | |
707 | \end{verbatim} | |
708 | ||
709 | \section{How to specify platform-specific dependencies}\label{platformdependencies} | |
710 | ||
711 | You can associate one or more options as part of the | |
712 | option's {\bf context}. In the case of wxUSE_OLE, | |
713 | the context contains __WXMSW__, because it's a Windows-specific | |
714 | option. This is used when calculating dependencies, as | |
715 | follows. If either option involved in a dependency | |
716 | relationship is not part of the current context, that | |
717 | is, none of the options in its {\bf context} property is currently | |
718 | enabled, then it is ignored in the dependency calculation. | |
719 | ||
720 | This allows the dependency 'wxUSE_DRAG_AND_DROP requires wxUSE_OLE' | |
721 | to only be evaluated when __WXMSW__ is enabled. | |
722 | ||
723 | It doesn't quite cover all bases, however, because | |
724 | it cannot express that the {\it dependency} itself | |
725 | is platform specific. You might have a platform-specific | |
726 | dependency that exists between two options that are | |
727 | perfectly valid for any platform. For example, we | |
728 | can't capture the notion that wxUSE_LISTBOX | |
729 | should be required if wxUSE_COMBOBOX is set, | |
730 | but only for __WXUNIVERSAL__. We could do it | |
731 | by complicating the dependency syntax, for example: | |
732 | ||
733 | wxUSE_COMBOBOX requires wxUSE_LISTBOX:__WXUNIVERSAL__ | |
734 | ||
735 | This means that the dependency should only be | |
736 | evaluated if __WXUNIVERSAL__ is enabled. | |
737 | This has not been implemented yet. | |
738 | ||
739 | \section{How to specify custom properties}\label{customproperties} | |
740 | ||
741 | You can add custom properties to any option, but | |
742 | currently only {\bf option} and {\bf value} are | |
743 | recognised by \ctshortname. | |
744 | ||
745 | \ctshortname checks for the presence of a | |
746 | {\bf builtin} boolean custom property and appends 'builtin' or | |
747 | 'sys' to the configure command depending on where | |
748 | the {\bf builtin} setting is checked or unchecked. | |
749 | We also allow for passing strings, e.g. for --with-rpath=DIR, | |
750 | by using the {\bf value} string custom property. | |
751 | ||
752 | \begin{comment} | |
753 | ||
754 | \begin{helpglossary} | |
755 | ||
756 | \gloss{thing}\label{thing} | |
757 | ||
758 | A glossary entry. | |
759 | ||
760 | \end{helpglossary} | |
761 | \end{comment} | |
762 | ||
763 | \rtfonly{% | |
764 | \addcontentsline{toc}{chapter}{Index} | |
765 | \printindex% | |
766 | \setheader{{\it INDEX}}{}{}{}{}{{\it INDEX}}% | |
767 | \setfooter{\thepage}{}{}{}{}{\thepage}% | |
768 | } | |
769 | \winhelponly{ | |
770 | \chapter{Popups}\label{popups} | |
771 | ||
772 | } % WinHelp only | |
773 | ||
774 | \end{document} |