1 \documentstyle[a4,makeidx,verbatim,texhelp,fancyhea,mysober,mytitle
]{report}%
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}%
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}}%
20 \author{(c) Julian Smart,
2003}%
27 {\large {\bf Version
\ctversion}}
32 \pagestyle{fancyplain
}%
33 \bibliographystyle{plain
}%
34 \pagenumbering{arabic
}%
35 \setheader{{\it CONTENTS
}}{}{}{}{}{{\it CONTENTS
}}%
36 \setfooter{\thepage}{}{}{}{}{\thepage}%
40 \chapter{Welcome to
\ctshortname}%
41 \setheader{{\it Welcome
}}{}{}{}{}{{\it Welcome
}}%
42 \setfooter{\thepage}{}{}{}{}{\thepage}%
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.
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.
58 \setheader{{\it Contacts
}}{}{}{}{}{{\it Contacts
}}%
59 \setfooter{\thepage}{}{}{}{}{\thepage}%
61 The
\ctname home page is at:
65 For help with
\ctshortname or to
report bugs,
66 please go to the wxWindows web site.
71 {\bf (c)
2003 Julian Smart, Anthemion Software
}\hrule
81 {\it Additional programming by
}
83 {\bf The wxWindows development team
}
87 \chapter{Installation
}%
88 \setheader{{\it Installation
}}{}{}{}{}{{\it Installation
}}%
89 \setfooter{\thepage}{}{}{}{}{\thepage}%
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.
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.
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.
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.
116 % tar xvfz wxconfigtool-1.01.tar.gz
117 % export WXCONFIGTOOLDIR=`pwd`/wxconfigtool-1.01
118 % export PATH=$PATH:$WXCONFIGTOOLDIR
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:
128 # Invokes wxWindows Configuration Tool
129 export WXCONFIGTOOLDIR=/home/mydir/wxconfigtool-
1.01
130 $WXCONFIGTOOLDIR/wxconfigtool $*
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.
138 \chapter{Release notes
}\label{releasenotes
}%
139 \setheader{{\it CHAPTER
\thechapter}}{}{}{}{}{{\it CHAPTER
\thechapter}}%
140 \setfooter{\thepage}{}{}{}{}{\thepage}%
142 For licencing information, please see
143 the licence files in the installation directory:
145 \begin{itemize
}\itemsep=
0pt
152 \section{What's New?
}\label{whatsnew
}
154 {\bf Version
1.01, June
14th
2003}
156 \begin{itemize
}\itemsep=
10pt
157 \item Added Find facility.
160 {\bf Version
1.0, June
11th
2003}
162 \begin{itemize
}\itemsep=
10pt
163 \item Initial version.
166 \section{Known issues
}\label{knownissues
}
168 The following problems are known to exist:
170 \begin{itemize
}\itemsep=
10pt
171 \item No issues as yet.
174 \section{To Do
}\label{todo
}
176 There are many things that could be done to make
177 this tool more useful, including the following.
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.
198 \section{Differences between Windows, Linux and Mac versions
}\label{platformdifferences
}
200 Although every effort has been made to make wxWindows Configuration Tool work
201 the same way on different environments, some small differences
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
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.
220 \chapter{\ctshortname user interface
}\label{documentui
}%
221 \setheader{{\it CHAPTER
\thechapter}}{}{}{}{}{{\it CHAPTER
\thechapter}}%
222 \setfooter{\thepage}{}{}{}{}{\thepage}%
224 This section describes the main elements of the
\ctname user interface.
226 The
\ctshortname main window looks like this:
229 \image{}{screen01.png
}
234 %\image{}{menubar.gif}
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.
242 \section{Main toolbar
}
244 %\image{}{toolbar.gif}
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.
250 You can choose to hide the toolbar altogether
251 using the
{\bf View | Show Toolbar
} menu command.
253 You can find out more about in the
\helpref{toolbar commands
}{toolbarcommands
} topic.
255 \section{Configuration window
}
257 %\image{}{configwindow.gif}
259 The biggest area of
\ctshortname is taken up by the configuration window.
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).
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.
273 Undo/Redo can be applied to most editing commands, but (currently) not
274 enabling and disabling operations.
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.
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.
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.
296 \chapter{Getting started: a step-by-step guide
}\label{gettingstarted
}%
297 \setheader{{\it CHAPTER
\thechapter}}{}{}{}{}{{\it CHAPTER
\thechapter}}%
298 \setfooter{\thepage}{}{}{}{}{\thepage}%
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'.
305 \section{Step
1: creating a new configuration
}\label{step1
}
307 When you run
\ctshortname for the first time, you are presented with an
308 empty configuration window.
310 Go to
\helpref{Step
2}{step2
} to learn how to do the next thing.
312 \section{Step
2: doing something else
}\label{step2
}
314 Go to
\helpref{Step
3}{step3
} to learn how to do a third thing.
316 \section{Step
3: a third thing
}\label{step3
}
318 Go to
\helpref{Step
4}{step4
} to learn about saving your
document and reloading it.
320 \section{Step
4: saving and loading documents
}\label{step4
}
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.
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.
329 Go to
\helpref{Step
5: generating configurations
}{step5
}
331 \section{Step
5: generating configurations
}\label{step5
}
335 Go to
\helpref{Step
6: where next?
}{step6
}
337 \section{Step
6: where next?
}\label{step6
}
339 Congratulations! You have learnt how to create, edit, save, and load configuration
342 To get to know
\ctshortname more thoroughly, here are some further things you
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.
355 \chapter{Using menubar commands
}\label{menubarcommands
}%
356 \setheader{{\it CHAPTER
\thechapter}}{}{}{}{}{{\it CHAPTER
\thechapter}}%
357 \setfooter{\thepage}{}{}{}{}{\thepage}%
359 %\image{}{menubar.gif}
361 This section describes the menubar commands. Commands
362 that are not available in the current context are disabled (shown in grey).
366 The File menu shows commands that are mostly related to working
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.
}
385 The Edit menu shows commands that are related to editing
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.
}
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.
}
413 The View menu gives you commands related to showing or hiding windows
414 and various other preferences.
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.
}
426 The Help menu gives you commands related to getting help.
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
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.
}
440 \chapter{Using context menu commands
}\label{contextmenucommands
}%
441 \setheader{{\it CHAPTER
\thechapter}}{}{}{}{}{{\it CHAPTER
\thechapter}}%
442 \setfooter{\thepage}{}{}{}{}{\thepage}%
444 This section describes the context menu commands available when you right-click.
445 On the Mac, this is achieved with control-click.
447 \section{Configuration tree context menu
}
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.
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.
}
464 \chapter{Using toolbar commands
}\label{toolbarcommands
}%
465 \setheader{{\it CHAPTER
\thechapter}}{}{}{}{}{{\it CHAPTER
\thechapter}}%
466 \setfooter{\thepage}{}{}{}{}{\thepage}%
468 This section describes the toolbar commands.
470 %\image{}{toolbar.gif}
472 The toolbar provides quick access to commonly-used
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.
}
494 \chapter{Using dialogs
}\label{dialogs
}%
495 \setheader{{\it CHAPTER
\thechapter}}{}{}{}{}{{\it CHAPTER
\thechapter}}%
496 \setfooter{\thepage}{}{}{}{}{\thepage}%
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.
503 \section{Settings dialog
}\label{settingsdialog
}
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.
509 \subsection{General settings dialog
}\label{generalapplicationsettingsdialog
}
511 The General Settings Dialog allows you to set a variety of
\ctshortname options.
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
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.
}
530 \subsection{Location settings dialog
}\label{locationsettingsdialog
}
532 The Location Settings Dialog allows you to choose various locations.
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.
}
542 \chapter{Using keyboard shortcuts
}\label{keyboardshortcuts
}%
543 \setheader{{\it CHAPTER
\thechapter}}{}{}{}{}{{\it CHAPTER
\thechapter}}%
544 \setfooter{\thepage}{}{}{}{}{\thepage}%
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.
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.
}
568 \chapter{Reference
}\label{reference
}%
569 \setheader{{\it CHAPTER
\thechapter}}{}{}{}{}{{\it CHAPTER
\thechapter}}%
570 \setfooter{\thepage}{}{}{}{}{\thepage}%
572 \section{The dependency evaluation algorithm
}
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.
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).
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.
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.
599 \section{How
\ctshortname generates the configure commands
}
601 If the
{\bf configure
} property isn't empty,
602 \ctshortname will output the string as a parameter
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'.
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
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.
624 \section{How
\ctshortname generates the setup.h file
}
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.
631 A few settings that don't have the wxUSE_...
632 convention are also checked for and processed.
635 \chapter{How To...
}\label{howto
}%
636 \setheader{{\it CHAPTER
\thechapter}}{}{}{}{}{{\it CHAPTER
\thechapter}}%
637 \setfooter{\thepage}{}{}{}{}{\thepage}%
639 A variety of topics to help you get the best from
\ctshortname.
641 \section{How to specify dependencies
}\label{dependencies
}
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.
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.
660 1. a
{\bf requires
} b
662 For example, wxUSE_DRAG_AND_DROP requires wxUSE_OLE.
672 2. a
{\bf precludes
} b
674 For example, wxUSE_ODBC precludes wxUSE_UNICODE.
685 3. a
{\bf enabled-if
} b
687 For example, __WXUNIVERSAL__ enabled-if X11 or MGL
697 4. a
{\bf enabled-if-not
} b
699 For example, wxUSE_TOOLBAR_SIMPLE enabled-if-not wxUSE_TOOLBAR_NATIVE.
709 \section{How to specify platform-specific dependencies
}\label{platformdependencies
}
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.
720 This allows the dependency 'wxUSE_DRAG_AND_DROP requires wxUSE_OLE'
721 to only be evaluated when __WXMSW__ is enabled.
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:
733 wxUSE_COMBOBOX requires wxUSE_LISTBOX:__WXUNIVERSAL__
735 This means that the dependency should only be
736 evaluated if __WXUNIVERSAL__ is enabled.
737 This has not been implemented yet.
739 \section{How to specify custom properties
}\label{customproperties
}
741 You can add custom properties to any option, but
742 currently only
{\bf option
} and
{\bf value
} are
743 recognised by
\ctshortname.
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.
756 \gloss{thing
}\label{thing
}
764 \addcontentsline{toc
}{chapter
}{Index
}
766 \setheader{{\it INDEX
}}{}{}{}{}{{\it INDEX
}}%
767 \setfooter{\thepage}{}{}{}{}{\thepage}%
770 \chapter{Popups
}\label{popups
}