Index: doc/Doxyfile
===================================================================
--- doc/Doxyfile	(revision 579)
+++ doc/Doxyfile	(revision 579)
@@ -0,0 +1,2354 @@
+# Doxyfile 1.8.8
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project.
+#
+# All text after a double hash (##) is considered a comment and is placed in
+# front of the TAG it is preceding.
+#
+# All text after a single hash (#) is considered a comment and will be ignored.
+# The format is:
+# TAG = value [value, ...]
+# For lists, items can also be appended using:
+# TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (\" \").
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# This tag specifies the encoding used for all characters in the config file
+# that follow. The default is UTF-8 which is also the encoding used for all text
+# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv
+# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv
+# for the list of possible encodings.
+# The default value is: UTF-8.
+
+DOXYFILE_ENCODING      = UTF-8
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
+# double-quotes, unless you are using Doxywizard) that should identify the
+# project for which the documentation is generated. This name is used in the
+# title of most generated pages and in a few other places.
+# The default value is: My Project.
+
+PROJECT_NAME           = "MAVA Logger X"
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
+# could be handy for archiving the generated documentation or if some version
+# control system is used.
+
+PROJECT_NUMBER         =
+
+# Using the PROJECT_BRIEF tag one can provide an optional one line description
+# for a project that appears at the top of each page and should give viewer a
+# quick idea about the purpose of the project. Keep the description short.
+
+PROJECT_BRIEF          =
+
+# With the PROJECT_LOGO tag one can specify an logo or icon that is included in
+# the documentation. The maximum height of the logo should not exceed 55 pixels
+# and the maximum width should not exceed 200 pixels. Doxygen will copy the logo
+# to the output directory.
+
+PROJECT_LOGO           =
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
+# into which the generated documentation will be written. If a relative path is
+# entered, it will be relative to the location where doxygen was started. If
+# left blank the current directory will be used.
+
+OUTPUT_DIRECTORY       =
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 4096 sub-
+# directories (in 2 levels) under the output directory of each output format and
+# will distribute the generated files over these directories. Enabling this
+# option can be useful when feeding doxygen a huge amount of source files, where
+# putting all generated files in the same directory would otherwise causes
+# performance problems for the file system.
+# The default value is: NO.
+
+CREATE_SUBDIRS         = NO
+
+# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
+# characters to appear in the names of generated files. If set to NO, non-ASCII
+# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode
+# U+3044.
+# The default value is: NO.
+
+ALLOW_UNICODE_NAMES    = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese,
+# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),
+# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian,
+# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages),
+# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian,
+# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian,
+# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish,
+# Ukrainian and Vietnamese.
+# The default value is: English.
+
+OUTPUT_LANGUAGE        = English
+
+# If the BRIEF_MEMBER_DESC tag is set to YES doxygen will include brief member
+# descriptions after the members that are listed in the file and class
+# documentation (similar to Javadoc). Set to NO to disable this.
+# The default value is: YES.
+
+BRIEF_MEMBER_DESC      = YES
+
+# If the REPEAT_BRIEF tag is set to YES doxygen will prepend the brief
+# description of a member or function before the detailed description
+#
+# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+# The default value is: YES.
+
+REPEAT_BRIEF           = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator that is
+# used to form the text in various listings. Each string in this list, if found
+# as the leading text of the brief description, will be stripped from the text
+# and the result, after processing the whole list, is used as the annotated
+# text. Otherwise, the brief description is used as-is. If left blank, the
+# following values are used ($name is automatically replaced with the name of
+# the entity):The $name class, The $name widget, The $name file, is, provides,
+# specifies, contains, represents, a, an and the.
+
+ABBREVIATE_BRIEF       =
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# doxygen will generate a detailed section even if there is only a brief
+# description.
+# The default value is: NO.
+
+ALWAYS_DETAILED_SEC    = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
+# inherited members of a class in the documentation of that class as if those
+# members were ordinary class members. Constructors, destructors and assignment
+# operators of the base classes will not be shown.
+# The default value is: NO.
+
+INLINE_INHERITED_MEMB  = NO
+
+# If the FULL_PATH_NAMES tag is set to YES doxygen will prepend the full path
+# before files name in the file list and in the header files. If set to NO the
+# shortest path that makes the file name unique will be used
+# The default value is: YES.
+
+FULL_PATH_NAMES        = NO
+
+# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.
+# Stripping is only done if one of the specified strings matches the left-hand
+# part of the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the path to
+# strip.
+#
+# Note that you can specify absolute paths here, but also relative paths, which
+# will be relative from the directory where doxygen is started.
+# This tag requires that the tag FULL_PATH_NAMES is set to YES.
+
+STRIP_FROM_PATH        =
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
+# path mentioned in the documentation of a class, which tells the reader which
+# header file to include in order to use a class. If left blank only the name of
+# the header file containing the class definition is used. Otherwise one should
+# specify the list of include paths that are normally passed to the compiler
+# using the -I flag.
+
+STRIP_FROM_INC_PATH    =
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
+# less readable) file names. This can be useful is your file systems doesn't
+# support long names like on DOS, Mac, or CD-ROM.
+# The default value is: NO.
+
+SHORT_NAMES            = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the
+# first line (until the first dot) of a Javadoc-style comment as the brief
+# description. If set to NO, the Javadoc-style will behave just like regular Qt-
+# style comments (thus requiring an explicit @brief command for a brief
+# description.)
+# The default value is: NO.
+
+JAVADOC_AUTOBRIEF      = NO
+
+# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
+# line (until the first dot) of a Qt-style comment as the brief description. If
+# set to NO, the Qt-style will behave just like regular Qt-style comments (thus
+# requiring an explicit \brief command for a brief description.)
+# The default value is: NO.
+
+QT_AUTOBRIEF           = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a
+# multi-line C++ special comment block (i.e. a block of //! or /// comments) as
+# a brief description. This used to be the default behavior. The new default is
+# to treat a multi-line C++ comment block as a detailed description. Set this
+# tag to YES if you prefer the old behavior instead.
+#
+# Note that setting this tag to YES also means that rational rose comments are
+# not recognized any more.
+# The default value is: NO.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the
+# documentation from any documented member that it re-implements.
+# The default value is: YES.
+
+INHERIT_DOCS           = YES
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce a
+# new page for each member. If set to NO, the documentation of a member will be
+# part of the file/class/namespace that contains it.
+# The default value is: NO.
+
+SEPARATE_MEMBER_PAGES  = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen
+# uses this value to replace tabs by spaces in code fragments.
+# Minimum value: 1, maximum value: 16, default value: 4.
+
+TAB_SIZE               = 8
+
+# This tag can be used to specify a number of aliases that act as commands in
+# the documentation. An alias has the form:
+# name=value
+# For example adding
+# "sideeffect=@par Side Effects:\n"
+# will allow you to put the command \sideeffect (or @sideeffect) in the
+# documentation, which will result in a user-defined paragraph with heading
+# "Side Effects:". You can put \n's in the value part of an alias to insert
+# newlines.
+
+ALIASES                =
+
+# This tag can be used to specify a number of word-keyword mappings (TCL only).
+# A mapping has the form "name=value". For example adding "class=itcl::class"
+# will allow you to use the command class in the itcl::class meaning.
+
+TCL_SUBST              =
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
+# only. Doxygen will then generate output that is more tailored for C. For
+# instance, some of the names that are used will be different. The list of all
+# members will be omitted, etc.
+# The default value is: NO.
+
+OPTIMIZE_OUTPUT_FOR_C  = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or
+# Python sources only. Doxygen will then generate output that is more tailored
+# for that language. For instance, namespaces will be presented as packages,
+# qualified scopes will look different, etc.
+# The default value is: NO.
+
+OPTIMIZE_OUTPUT_JAVA   = NO
+
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
+# sources. Doxygen will then generate output that is tailored for Fortran.
+# The default value is: NO.
+
+OPTIMIZE_FOR_FORTRAN   = NO
+
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
+# sources. Doxygen will then generate output that is tailored for VHDL.
+# The default value is: NO.
+
+OPTIMIZE_OUTPUT_VHDL   = NO
+
+# Doxygen selects the parser to use depending on the extension of the files it
+# parses. With this tag you can assign which parser to use for a given
+# extension. Doxygen has a built-in mapping, but you can override or extend it
+# using this tag. The format is ext=language, where ext is a file extension, and
+# language is one of the parsers supported by doxygen: IDL, Java, Javascript,
+# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran:
+# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran:
+# Fortran. In the later case the parser tries to guess whether the code is fixed
+# or free formatted code, this is the default for Fortran type files), VHDL. For
+# instance to make doxygen treat .inc files as Fortran files (default is PHP),
+# and .f files as C (default is Fortran), use: inc=Fortran f=C.
+#
+# Note For files without extension you can use no_extension as a placeholder.
+#
+# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
+# the files are not read by doxygen.
+
+EXTENSION_MAPPING      =
+
+# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
+# according to the Markdown format, which allows for more readable
+# documentation. See http://daringfireball.net/projects/markdown/ for details.
+# The output of markdown processing is further processed by doxygen, so you can
+# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
+# case of backward compatibilities issues.
+# The default value is: YES.
+
+MARKDOWN_SUPPORT       = YES
+
+# When enabled doxygen tries to link words that correspond to documented
+# classes, or namespaces to their corresponding documentation. Such a link can
+# be prevented in individual cases by by putting a % sign in front of the word
+# or globally by setting AUTOLINK_SUPPORT to NO.
+# The default value is: YES.
+
+AUTOLINK_SUPPORT       = YES
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
+# to include (a tag file for) the STL sources as input, then you should set this
+# tag to YES in order to let doxygen match functions declarations and
+# definitions whose arguments contain STL classes (e.g. func(std::string);
+# versus func(std::string) {}). This also make the inheritance and collaboration
+# diagrams that involve STL classes more complete and accurate.
+# The default value is: NO.
+
+BUILTIN_STL_SUPPORT    = NO
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
+# enable parsing support.
+# The default value is: NO.
+
+CPP_CLI_SUPPORT        = NO
+
+# Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
+# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen
+# will parse them like normal C++ but will assume all classes use public instead
+# of private inheritance when no explicit protection keyword is present.
+# The default value is: NO.
+
+SIP_SUPPORT            = NO
+
+# For Microsoft's IDL there are propget and propput attributes to indicate
+# getter and setter methods for a property. Setting this option to YES will make
+# doxygen to replace the get and set methods by a property in the documentation.
+# This will only work if the methods are indeed getting or setting a simple
+# type. If this is not the case, or you want to show the methods anyway, you
+# should set this option to NO.
+# The default value is: YES.
+
+IDL_PROPERTY_SUPPORT   = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+# The default value is: NO.
+
+DISTRIBUTE_GROUP_DOC   = NO
+
+# Set the SUBGROUPING tag to YES to allow class member groups of the same type
+# (for instance a group of public functions) to be put as a subgroup of that
+# type (e.g. under the Public Functions section). Set it to NO to prevent
+# subgrouping. Alternatively, this can be done per class using the
+# \nosubgrouping command.
+# The default value is: YES.
+
+SUBGROUPING            = YES
+
+# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions
+# are shown inside the group in which they are included (e.g. using \ingroup)
+# instead of on a separate page (for HTML and Man pages) or section (for LaTeX
+# and RTF).
+#
+# Note that this feature does not work in combination with
+# SEPARATE_MEMBER_PAGES.
+# The default value is: NO.
+
+INLINE_GROUPED_CLASSES = NO
+
+# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions
+# with only public data fields or simple typedef fields will be shown inline in
+# the documentation of the scope in which they are defined (i.e. file,
+# namespace, or group documentation), provided this scope is documented. If set
+# to NO, structs, classes, and unions are shown on a separate page (for HTML and
+# Man pages) or section (for LaTeX and RTF).
+# The default value is: NO.
+
+INLINE_SIMPLE_STRUCTS  = NO
+
+# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or
+# enum is documented as struct, union, or enum with the name of the typedef. So
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
+# with name TypeT. When disabled the typedef will appear as a member of a file,
+# namespace, or class. And the struct will be named TypeS. This can typically be
+# useful for C code in case the coding convention dictates that all compound
+# types are typedef'ed and only the typedef is referenced, never the tag name.
+# The default value is: NO.
+
+TYPEDEF_HIDES_STRUCT   = NO
+
+# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This
+# cache is used to resolve symbols given their name and scope. Since this can be
+# an expensive process and often the same symbol appears multiple times in the
+# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small
+# doxygen will become slower. If the cache is too large, memory is wasted. The
+# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range
+# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536
+# symbols. At the end of a run doxygen will report the cache usage and suggest
+# the optimal cache size from a speed point of view.
+# Minimum value: 0, maximum value: 9, default value: 0.
+
+LOOKUP_CACHE_SIZE      = 0
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available. Private
+# class members and static file members will be hidden unless the
+# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
+# Note: This will also disable the warnings about undocumented members that are
+# normally produced when WARNINGS is set to YES.
+# The default value is: NO.
+
+EXTRACT_ALL            = NO
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class will
+# be included in the documentation.
+# The default value is: NO.
+
+EXTRACT_PRIVATE        = YES
+
+# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal
+# scope will be included in the documentation.
+# The default value is: NO.
+
+EXTRACT_PACKAGE        = NO
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file will be
+# included in the documentation.
+# The default value is: NO.
+
+EXTRACT_STATIC         = NO
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) defined
+# locally in source files will be included in the documentation. If set to NO
+# only classes defined in header files are included. Does not have any effect
+# for Java sources.
+# The default value is: YES.
+
+EXTRACT_LOCAL_CLASSES  = YES
+
+# This flag is only useful for Objective-C code. When set to YES local methods,
+# which are defined in the implementation section but not in the interface are
+# included in the documentation. If set to NO only methods in the interface are
+# included.
+# The default value is: NO.
+
+EXTRACT_LOCAL_METHODS  = NO
+
+# If this flag is set to YES, the members of anonymous namespaces will be
+# extracted and appear in the documentation as a namespace called
+# 'anonymous_namespace{file}', where file will be replaced with the base name of
+# the file that contains the anonymous namespace. By default anonymous namespace
+# are hidden.
+# The default value is: NO.
+
+EXTRACT_ANON_NSPACES   = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
+# undocumented members inside documented classes or files. If set to NO these
+# members will be included in the various overviews, but no documentation
+# section is generated. This option has no effect if EXTRACT_ALL is enabled.
+# The default value is: NO.
+
+HIDE_UNDOC_MEMBERS     = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy. If set
+# to NO these classes will be included in the various overviews. This option has
+# no effect if EXTRACT_ALL is enabled.
+# The default value is: NO.
+
+HIDE_UNDOC_CLASSES     = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
+# (class|struct|union) declarations. If set to NO these declarations will be
+# included in the documentation.
+# The default value is: NO.
+
+HIDE_FRIEND_COMPOUNDS  = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
+# documentation blocks found inside the body of a function. If set to NO these
+# blocks will be appended to the function's detailed documentation block.
+# The default value is: NO.
+
+HIDE_IN_BODY_DOCS      = NO
+
+# The INTERNAL_DOCS tag determines if documentation that is typed after a
+# \internal command is included. If the tag is set to NO then the documentation
+# will be excluded. Set it to YES to include the internal documentation.
+# The default value is: NO.
+
+INTERNAL_DOCS          = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file
+# names in lower-case letters. If set to YES upper-case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# and Mac users are advised to set this option to NO.
+# The default value is: system dependent.
+
+CASE_SENSE_NAMES       = YES
+
+# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
+# their full class and namespace scopes in the documentation. If set to YES the
+# scope will be hidden.
+# The default value is: NO.
+
+HIDE_SCOPE_NAMES       = NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of
+# the files that are included by a file in the documentation of that file.
+# The default value is: YES.
+
+SHOW_INCLUDE_FILES     = YES
+
+# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each
+# grouped member an include statement to the documentation, telling the reader
+# which file to include in order to use the member.
+# The default value is: NO.
+
+SHOW_GROUPED_MEMB_INC  = NO
+
+# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include
+# files with double quotes in the documentation rather than with sharp brackets.
+# The default value is: NO.
+
+FORCE_LOCAL_INCLUDES   = NO
+
+# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the
+# documentation for inline members.
+# The default value is: YES.
+
+INLINE_INFO            = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the
+# (detailed) documentation of file and class members alphabetically by member
+# name. If set to NO the members will appear in declaration order.
+# The default value is: YES.
+
+SORT_MEMBER_DOCS       = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
+# descriptions of file, namespace and class members alphabetically by member
+# name. If set to NO the members will appear in declaration order. Note that
+# this will also influence the order of the classes in the class list.
+# The default value is: NO.
+
+SORT_BRIEF_DOCS        = NO
+
+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
+# (brief and detailed) documentation of class members so that constructors and
+# destructors are listed first. If set to NO the constructors will appear in the
+# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS.
+# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief
+# member documentation.
+# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting
+# detailed member documentation.
+# The default value is: NO.
+
+SORT_MEMBERS_CTORS_1ST = NO
+
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy
+# of group names into alphabetical order. If set to NO the group names will
+# appear in their defined order.
+# The default value is: NO.
+
+SORT_GROUP_NAMES       = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by
+# fully-qualified names, including namespaces. If set to NO, the class list will
+# be sorted only by class name, not including the namespace part.
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the alphabetical
+# list.
+# The default value is: NO.
+
+SORT_BY_SCOPE_NAME     = NO
+
+# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper
+# type resolution of all parameters of a function it will reject a match between
+# the prototype and the implementation of a member function even if there is
+# only one candidate or it is obvious which candidate to choose by doing a
+# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still
+# accept a match between prototype and implementation in such cases.
+# The default value is: NO.
+
+STRICT_PROTO_MATCHING  = NO
+
+# The GENERATE_TODOLIST tag can be used to enable ( YES) or disable ( NO) the
+# todo list. This list is created by putting \todo commands in the
+# documentation.
+# The default value is: YES.
+
+GENERATE_TODOLIST      = YES
+
+# The GENERATE_TESTLIST tag can be used to enable ( YES) or disable ( NO) the
+# test list. This list is created by putting \test commands in the
+# documentation.
+# The default value is: YES.
+
+GENERATE_TESTLIST      = YES
+
+# The GENERATE_BUGLIST tag can be used to enable ( YES) or disable ( NO) the bug
+# list. This list is created by putting \bug commands in the documentation.
+# The default value is: YES.
+
+GENERATE_BUGLIST       = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable ( YES) or disable ( NO)
+# the deprecated list. This list is created by putting \deprecated commands in
+# the documentation.
+# The default value is: YES.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional documentation
+# sections, marked by \if <section_label> ... \endif and \cond <section_label>
+# ... \endcond blocks.
+
+ENABLED_SECTIONS       =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
+# initial value of a variable or macro / define can have for it to appear in the
+# documentation. If the initializer consists of more lines than specified here
+# it will be hidden. Use a value of 0 to hide initializers completely. The
+# appearance of the value of individual variables and macros / defines can be
+# controlled using \showinitializer or \hideinitializer command in the
+# documentation regardless of this setting.
+# Minimum value: 0, maximum value: 10000, default value: 30.
+
+MAX_INITIALIZER_LINES  = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at
+# the bottom of the documentation of classes and structs. If set to YES the list
+# will mention the files that were used to generate the documentation.
+# The default value is: YES.
+
+SHOW_USED_FILES        = YES
+
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This
+# will remove the Files entry from the Quick Index and from the Folder Tree View
+# (if specified).
+# The default value is: YES.
+
+SHOW_FILES             = YES
+
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces
+# page. This will remove the Namespaces entry from the Quick Index and from the
+# Folder Tree View (if specified).
+# The default value is: YES.
+
+SHOW_NAMESPACES        = YES
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
+# doxygen should invoke to get the current version for each file (typically from
+# the version control system). Doxygen will invoke the program by executing (via
+# popen()) the command command input-file, where command is the value of the
+# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided
+# by doxygen. Whatever the program writes to standard output is used as the file
+# version. For an example see the documentation.
+
+FILE_VERSION_FILTER    =
+
+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
+# by doxygen. The layout file controls the global structure of the generated
+# output files in an output format independent way. To create the layout file
+# that represents doxygen's defaults, run doxygen with the -l option. You can
+# optionally specify a file name after the option, if omitted DoxygenLayout.xml
+# will be used as the name of the layout file.
+#
+# Note that if you run doxygen from a directory containing a file called
+# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
+# tag is left empty.
+
+LAYOUT_FILE            =
+
+# The CITE_BIB_FILES tag can be used to specify one or more bib files containing
+# the reference definitions. This must be a list of .bib files. The .bib
+# extension is automatically appended if omitted. This requires the bibtex tool
+# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info.
+# For LaTeX the style of the bibliography can be controlled using
+# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
+# search path. See also \cite for info how to create references.
+
+CITE_BIB_FILES         =
+
+#---------------------------------------------------------------------------
+# Configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated to
+# standard output by doxygen. If QUIET is set to YES this implies that the
+# messages are off.
+# The default value is: NO.
+
+QUIET                  = YES
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated to standard error ( stderr) by doxygen. If WARNINGS is set to YES
+# this implies that the warnings are on.
+#
+# Tip: Turn warnings on while writing the documentation.
+# The default value is: YES.
+
+WARNINGS               = YES
+
+# If the WARN_IF_UNDOCUMENTED tag is set to YES, then doxygen will generate
+# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag
+# will automatically be disabled.
+# The default value is: YES.
+
+WARN_IF_UNDOCUMENTED   = YES
+
+# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some parameters
+# in a documented function, or documenting parameters that don't exist or using
+# markup commands wrongly.
+# The default value is: YES.
+
+WARN_IF_DOC_ERROR      = YES
+
+# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
+# are documented, but have no documentation for their parameters or return
+# value. If set to NO doxygen will only warn about wrong or incomplete parameter
+# documentation, but not about the absence of documentation.
+# The default value is: NO.
+
+WARN_NO_PARAMDOC       = NO
+
+# The WARN_FORMAT tag determines the format of the warning messages that doxygen
+# can produce. The string should contain the $file, $line, and $text tags, which
+# will be replaced by the file and line number from which the warning originated
+# and the warning text. Optionally the format may contain $version, which will
+# be replaced by the version of the file (if it could be obtained via
+# FILE_VERSION_FILTER)
+# The default value is: $file:$line: $text.
+
+WARN_FORMAT            = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning and error
+# messages should be written. If left blank the output is written to standard
+# error (stderr).
+
+WARN_LOGFILE           =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag is used to specify the files and/or directories that contain
+# documented source files. You may enter file names like myfile.cpp or
+# directories like /usr/src/myproject. Separate the files or directories with
+# spaces.
+# Note: If this tag is empty the current directory is searched.
+
+INPUT                  = overview.dox \
+                         ../src/mlx \
+                         ../src/mlx/gui
+
+# This tag can be used to specify the character encoding of the source files
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
+# libiconv (or the iconv built into libc) for the transcoding. See the libiconv
+# documentation (see: http://www.gnu.org/software/libiconv) for the list of
+# possible encodings.
+# The default value is: UTF-8.
+
+INPUT_ENCODING         = UTF-8
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and
+# *.h) to filter out the source-files in the directories. If left blank the
+# following patterns are tested:*.c, *.cc, *.cxx, *.cpp, *.c++, *.java, *.ii,
+# *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp,
+# *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown,
+# *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf,
+# *.qsf, *.as and *.js.
+
+FILE_PATTERNS          = *.py
+
+# The RECURSIVE tag can be used to specify whether or not subdirectories should
+# be searched for input files as well.
+# The default value is: NO.
+
+RECURSIVE              = NO
+
+# The EXCLUDE tag can be used to specify files and/or directories that should be
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+#
+# Note that relative paths are relative to the directory from which doxygen is
+# run.
+
+EXCLUDE                =
+
+# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
+# directories that are symbolic links (a Unix file system feature) are excluded
+# from the input.
+# The default value is: NO.
+
+EXCLUDE_SYMLINKS       = NO
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories.
+#
+# Note that the wildcards are matched against the file with absolute path, so to
+# exclude all test directories for example use the pattern */test/*
+
+EXCLUDE_PATTERNS       =
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
+# (namespaces, classes, functions, etc.) that should be excluded from the
+# output. The symbol name can be a fully qualified name, a word, or if the
+# wildcard * is used, a substring. Examples: ANamespace, AClass,
+# AClass::ANamespace, ANamespace::*Test
+#
+# Note that the wildcards are matched against the file with absolute path, so to
+# exclude all test directories use the pattern */test/*
+
+EXCLUDE_SYMBOLS        =
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or directories
+# that contain example code fragments that are included (see the \include
+# command).
+
+EXAMPLE_PATH           =
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
+# *.h) to filter out the source-files in the directories. If left blank all
+# files are included.
+
+EXAMPLE_PATTERNS       =
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude commands
+# irrespective of the value of the RECURSIVE tag.
+# The default value is: NO.
+
+EXAMPLE_RECURSIVE      = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or directories
+# that contain images that are to be included in the documentation (see the
+# \image command).
+
+IMAGE_PATH             =
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command:
+#
+# <filter> <input-file>
+#
+# where <filter> is the value of the INPUT_FILTER tag, and <input-file> is the
+# name of an input file. Doxygen will then use the output that the filter
+# program writes to standard output. If FILTER_PATTERNS is specified, this tag
+# will be ignored.
+#
+# Note that the filter must not add or remove lines; it is applied before the
+# code is scanned, but not when the output code is generated. If lines are added
+# or removed, the anchors will not be placed correctly.
+
+INPUT_FILTER           =
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+# basis. Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match. The filters are a list of the form: pattern=filter
+# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how
+# filters are used. If the FILTER_PATTERNS tag is empty or if none of the
+# patterns match the file name, INPUT_FILTER is applied.
+
+FILTER_PATTERNS        =
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER ) will also be used to filter the input files that are used for
+# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).
+# The default value is: NO.
+
+FILTER_SOURCE_FILES    = NO
+
+# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
+# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and
+# it is also possible to disable source filtering for a specific pattern using
+# *.ext= (so without naming a filter).
+# This tag requires that the tag FILTER_SOURCE_FILES is set to YES.
+
+FILTER_SOURCE_PATTERNS =
+
+# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
+# is part of the input, its contents will be placed on the main page
+# (index.html). This can be useful if you have a project on for instance GitHub
+# and want to reuse the introduction page also for the doxygen output.
+
+USE_MDFILE_AS_MAINPAGE =
+
+#---------------------------------------------------------------------------
+# Configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will be
+# generated. Documented entities will be cross-referenced with these sources.
+#
+# Note: To get rid of all source code in the generated output, make sure that
+# also VERBATIM_HEADERS is set to NO.
+# The default value is: NO.
+
+SOURCE_BROWSER         = YES
+
+# Setting the INLINE_SOURCES tag to YES will include the body of functions,
+# classes and enums directly into the documentation.
+# The default value is: NO.
+
+INLINE_SOURCES         = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any
+# special comment blocks from generated source code fragments. Normal C, C++ and
+# Fortran comments will always remain visible.
+# The default value is: YES.
+
+STRIP_CODE_COMMENTS    = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES then for each documented
+# function all documented functions referencing it will be listed.
+# The default value is: NO.
+
+REFERENCED_BY_RELATION = NO
+
+# If the REFERENCES_RELATION tag is set to YES then for each documented function
+# all documented entities called/used by that function will be listed.
+# The default value is: NO.
+
+REFERENCES_RELATION    = NO
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set
+# to YES, then the hyperlinks from functions in REFERENCES_RELATION and
+# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will
+# link to the documentation.
+# The default value is: YES.
+
+REFERENCES_LINK_SOURCE = YES
+
+# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the
+# source code will show a tooltip with additional information such as prototype,
+# brief description and links to the definition and documentation. Since this
+# will make the HTML file larger and loading of large files a bit slower, you
+# can opt to disable this feature.
+# The default value is: YES.
+# This tag requires that the tag SOURCE_BROWSER is set to YES.
+
+SOURCE_TOOLTIPS        = YES
+
+# If the USE_HTAGS tag is set to YES then the references to source code will
+# point to the HTML generated by the htags(1) tool instead of doxygen built-in
+# source browser. The htags tool is part of GNU's global source tagging system
+# (see http://www.gnu.org/software/global/global.html). You will need version
+# 4.8.6 or higher.
+#
+# To use it do the following:
+# - Install the latest version of global
+# - Enable SOURCE_BROWSER and USE_HTAGS in the config file
+# - Make sure the INPUT points to the root of the source tree
+# - Run doxygen as normal
+#
+# Doxygen will invoke htags (and that will in turn invoke gtags), so these
+# tools must be available from the command line (i.e. in the search path).
+#
+# The result: instead of the source browser generated by doxygen, the links to
+# source code will now point to the output of htags.
+# The default value is: NO.
+# This tag requires that the tag SOURCE_BROWSER is set to YES.
+
+USE_HTAGS              = NO
+
+# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a
+# verbatim copy of the header file for each class for which an include is
+# specified. Set to NO to disable this.
+# See also: Section \class.
+# The default value is: YES.
+
+VERBATIM_HEADERS       = YES
+
+# If the CLANG_ASSISTED_PARSING tag is set to YES, then doxygen will use the
+# clang parser (see: http://clang.llvm.org/) for more accurate parsing at the
+# cost of reduced performance. This can be particularly helpful with template
+# rich C++ code for which doxygen's built-in parser lacks the necessary type
+# information.
+# Note: The availability of this option depends on whether or not doxygen was
+# compiled with the --with-libclang option.
+# The default value is: NO.
+
+CLANG_ASSISTED_PARSING = NO
+
+# If clang assisted parsing is enabled you can provide the compiler with command
+# line options that you would normally use when invoking the compiler. Note that
+# the include paths will already be set by doxygen for the files and directories
+# specified with INPUT and INCLUDE_PATH.
+# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES.
+
+CLANG_OPTIONS          =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all
+# compounds will be generated. Enable this if the project contains a lot of
+# classes, structs, unions or interfaces.
+# The default value is: YES.
+
+ALPHABETICAL_INDEX     = YES
+
+# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in
+# which the alphabetical index list will be split.
+# Minimum value: 1, maximum value: 20, default value: 5.
+# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
+
+COLS_IN_ALPHA_INDEX    = 5
+
+# In case all classes in a project start with a common prefix, all classes will
+# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
+# can be used to specify a prefix (or a list of prefixes) that should be ignored
+# while generating the index headers.
+# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
+
+IGNORE_PREFIX          =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES doxygen will generate HTML output
+# The default value is: YES.
+
+GENERATE_HTML          = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: html.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_OUTPUT            = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
+# generated HTML page (for example: .htm, .php, .asp).
+# The default value is: .html.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_FILE_EXTENSION    = .html
+
+# The HTML_HEADER tag can be used to specify a user-defined HTML header file for
+# each generated HTML page. If the tag is left blank doxygen will generate a
+# standard header.
+#
+# To get valid HTML the header file that includes any scripts and style sheets
+# that doxygen needs, which is dependent on the configuration options used (e.g.
+# the setting GENERATE_TREEVIEW). It is highly recommended to start with a
+# default header using
+# doxygen -w html new_header.html new_footer.html new_stylesheet.css
+# YourConfigFile
+# and then modify the file new_header.html. See also section "Doxygen usage"
+# for information on how to generate the default header that doxygen normally
+# uses.
+# Note: The header is subject to change so you typically have to regenerate the
+# default header when upgrading to a newer version of doxygen. For a description
+# of the possible markers and block names see the documentation.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_HEADER            =
+
+# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
+# generated HTML page. If the tag is left blank doxygen will generate a standard
+# footer. See HTML_HEADER for more information on how to generate a default
+# footer and what special commands can be used inside the footer. See also
+# section "Doxygen usage" for information on how to generate the default footer
+# that doxygen normally uses.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_FOOTER            =
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
+# sheet that is used by each HTML page. It can be used to fine-tune the look of
+# the HTML output. If left blank doxygen will generate a default style sheet.
+# See also section "Doxygen usage" for information on how to generate the style
+# sheet that doxygen normally uses.
+# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as
+# it is more robust and this tag (HTML_STYLESHEET) will in the future become
+# obsolete.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_STYLESHEET        =
+
+# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined
+# cascading style sheets that are included after the standard style sheets
+# created by doxygen. Using this option one can overrule certain style aspects.
+# This is preferred over using HTML_STYLESHEET since it does not replace the
+# standard style sheet and is therefor more robust against future updates.
+# Doxygen will copy the style sheet files to the output directory.
+# Note: The order of the extra stylesheet files is of importance (e.g. the last
+# stylesheet in the list overrules the setting of the previous ones in the
+# list). For an example see the documentation.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_EXTRA_STYLESHEET  =
+
+# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
+# other source files which should be copied to the HTML output directory. Note
+# that these files will be copied to the base HTML output directory. Use the
+# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
+# files. In the HTML_STYLESHEET file, use the file name only. Also note that the
+# files will be copied as-is; there are no commands or markers available.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_EXTRA_FILES       =
+
+# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
+# will adjust the colors in the stylesheet and background images according to
+# this color. Hue is specified as an angle on a colorwheel, see
+# http://en.wikipedia.org/wiki/Hue for more information. For instance the value
+# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
+# purple, and 360 is red again.
+# Minimum value: 0, maximum value: 359, default value: 220.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_COLORSTYLE_HUE    = 220
+
+# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors
+# in the HTML output. For a value of 0 the output will use grayscales only. A
+# value of 255 will produce the most vivid colors.
+# Minimum value: 0, maximum value: 255, default value: 100.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_COLORSTYLE_SAT    = 100
+
+# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the
+# luminance component of the colors in the HTML output. Values below 100
+# gradually make the output lighter, whereas values above 100 make the output
+# darker. The value divided by 100 is the actual gamma applied, so 80 represents
+# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not
+# change the gamma.
+# Minimum value: 40, maximum value: 240, default value: 80.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_COLORSTYLE_GAMMA  = 80
+
+# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
+# page will contain the date and time when the page was generated. Setting this
+# to NO can help when comparing the output of multiple runs.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_TIMESTAMP         = YES
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+# documentation will contain sections that can be hidden and shown after the
+# page has loaded.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_DYNAMIC_SECTIONS  = NO
+
+# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries
+# shown in the various tree structured indices initially; the user can expand
+# and collapse entries dynamically later on. Doxygen will expand the tree to
+# such a level that at most the specified number of entries are visible (unless
+# a fully collapsed tree already exceeds this amount). So setting the number of
+# entries 1 will produce a full collapsed tree by default. 0 is a special value
+# representing an infinite number of entries and will result in a full expanded
+# tree by default.
+# Minimum value: 0, maximum value: 9999, default value: 100.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_INDEX_NUM_ENTRIES = 100
+
+# If the GENERATE_DOCSET tag is set to YES, additional index files will be
+# generated that can be used as input for Apple's Xcode 3 integrated development
+# environment (see: http://developer.apple.com/tools/xcode/), introduced with
+# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a
+# Makefile in the HTML output directory. Running make will produce the docset in
+# that directory and running make install will install the docset in
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at
+# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
+# for more information.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_DOCSET        = NO
+
+# This tag determines the name of the docset feed. A documentation feed provides
+# an umbrella under which multiple documentation sets from a single provider
+# (such as a company or product suite) can be grouped.
+# The default value is: Doxygen generated docs.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
+DOCSET_FEEDNAME        = "Doxygen generated docs"
+
+# This tag specifies a string that should uniquely identify the documentation
+# set bundle. This should be a reverse domain-name style string, e.g.
+# com.mycompany.MyDocSet. Doxygen will append .docset to the name.
+# The default value is: org.doxygen.Project.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
+DOCSET_BUNDLE_ID       = org.doxygen.Project
+
+# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify
+# the documentation publisher. This should be a reverse domain-name style
+# string, e.g. com.mycompany.MyDocSet.documentation.
+# The default value is: org.doxygen.Publisher.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
+DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
+
+# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.
+# The default value is: Publisher.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
+DOCSET_PUBLISHER_NAME  = Publisher
+
+# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
+# additional HTML index files: index.hhp, index.hhc, and index.hhk. The
+# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
+# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on
+# Windows.
+#
+# The HTML Help Workshop contains a compiler that can convert all HTML output
+# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML
+# files are now used as the Windows 98 help format, and will replace the old
+# Windows help format (.hlp) on all Windows platforms in the future. Compressed
+# HTML files also contain an index, a table of contents, and you can search for
+# words in the documentation. The HTML workshop also contains a viewer for
+# compressed HTML files.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_HTMLHELP      = NO
+
+# The CHM_FILE tag can be used to specify the file name of the resulting .chm
+# file. You can add a path in front of the file if the result should not be
+# written to the html output directory.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+CHM_FILE               =
+
+# The HHC_LOCATION tag can be used to specify the location (absolute path
+# including file name) of the HTML help compiler ( hhc.exe). If non-empty
+# doxygen will try to run the HTML help compiler on the generated index.hhp.
+# The file has to be specified with full path.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+HHC_LOCATION           =
+
+# The GENERATE_CHI flag controls if a separate .chi index file is generated (
+# YES) or that it should be included in the master .chm file ( NO).
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+GENERATE_CHI           = NO
+
+# The CHM_INDEX_ENCODING is used to encode HtmlHelp index ( hhk), content ( hhc)
+# and project file content.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+CHM_INDEX_ENCODING     =
+
+# The BINARY_TOC flag controls whether a binary table of contents is generated (
+# YES) or a normal table of contents ( NO) in the .chm file. Furthermore it
+# enables the Previous and Next buttons.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+BINARY_TOC             = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members to
+# the table of contents of the HTML help documentation and to the tree view.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+TOC_EXPAND             = NO
+
+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
+# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that
+# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help
+# (.qch) of the generated HTML documentation.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_QHP           = NO
+
+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify
+# the file name of the resulting .qch file. The path specified is relative to
+# the HTML output folder.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QCH_FILE               =
+
+# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
+# Project output. For more information please see Qt Help Project / Namespace
+# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace).
+# The default value is: org.doxygen.Project.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_NAMESPACE          = org.doxygen.Project
+
+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
+# Help Project output. For more information please see Qt Help Project / Virtual
+# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual-
+# folders).
+# The default value is: doc.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_VIRTUAL_FOLDER     = doc
+
+# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
+# filter to add. For more information please see Qt Help Project / Custom
+# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
+# filters).
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_CUST_FILTER_NAME   =
+
+# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
+# custom filter to add. For more information please see Qt Help Project / Custom
+# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
+# filters).
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_CUST_FILTER_ATTRS  =
+
+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
+# project's filter section matches. Qt Help Project / Filter Attributes (see:
+# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes).
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_SECT_FILTER_ATTRS  =
+
+# The QHG_LOCATION tag can be used to specify the location of Qt's
+# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the
+# generated .qhp file.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHG_LOCATION           =
+
+# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be
+# generated, together with the HTML files, they form an Eclipse help plugin. To
+# install this plugin and make it available under the help contents menu in
+# Eclipse, the contents of the directory containing the HTML and XML files needs
+# to be copied into the plugins directory of eclipse. The name of the directory
+# within the plugins directory should be the same as the ECLIPSE_DOC_ID value.
+# After copying Eclipse needs to be restarted before the help appears.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_ECLIPSEHELP   = NO
+
+# A unique identifier for the Eclipse help plugin. When installing the plugin
+# the directory name containing the HTML and XML files should also have this
+# name. Each documentation set should have its own identifier.
+# The default value is: org.doxygen.Project.
+# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES.
+
+ECLIPSE_DOC_ID         = org.doxygen.Project
+
+# If you want full control over the layout of the generated HTML pages it might
+# be necessary to disable the index and replace it with your own. The
+# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top
+# of each HTML page. A value of NO enables the index and the value YES disables
+# it. Since the tabs in the index contain the same information as the navigation
+# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+DISABLE_INDEX          = NO
+
+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
+# structure should be generated to display hierarchical information. If the tag
+# value is set to YES, a side panel will be generated containing a tree-like
+# index structure (just like the one that is generated for HTML Help). For this
+# to work a browser that supports JavaScript, DHTML, CSS and frames is required
+# (i.e. any modern browser). Windows users are probably better off using the
+# HTML help feature. Via custom stylesheets (see HTML_EXTRA_STYLESHEET) one can
+# further fine-tune the look of the index. As an example, the default style
+# sheet generated by doxygen has an example that shows how to put an image at
+# the root of the tree instead of the PROJECT_NAME. Since the tree basically has
+# the same information as the tab index, you could consider setting
+# DISABLE_INDEX to YES when enabling this option.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_TREEVIEW      = NO
+
+# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
+# doxygen will group on one line in the generated HTML documentation.
+#
+# Note that a value of 0 will completely suppress the enum values from appearing
+# in the overview section.
+# Minimum value: 0, maximum value: 20, default value: 4.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+ENUM_VALUES_PER_LINE   = 4
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used
+# to set the initial width (in pixels) of the frame in which the tree is shown.
+# Minimum value: 0, maximum value: 1500, default value: 250.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+TREEVIEW_WIDTH         = 250
+
+# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open links to
+# external symbols imported via tag files in a separate window.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+EXT_LINKS_IN_WINDOW    = NO
+
+# Use this tag to change the font size of LaTeX formulas included as images in
+# the HTML documentation. When you change the font size after a successful
+# doxygen run you need to manually remove any form_*.png images from the HTML
+# output directory to force them to be regenerated.
+# Minimum value: 8, maximum value: 50, default value: 10.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+FORMULA_FONTSIZE       = 10
+
+# Use the FORMULA_TRANPARENT tag to determine whether or not the images
+# generated for formulas are transparent PNGs. Transparent PNGs are not
+# supported properly for IE 6.0, but are supported on all modern browsers.
+#
+# Note that when changing this option you need to delete any form_*.png files in
+# the HTML output directory before the changes have effect.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+FORMULA_TRANSPARENT    = YES
+
+# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
+# http://www.mathjax.org) which uses client side Javascript for the rendering
+# instead of using prerendered bitmaps. Use this if you do not have LaTeX
+# installed or if you want to formulas look prettier in the HTML output. When
+# enabled you may also need to install MathJax separately and configure the path
+# to it using the MATHJAX_RELPATH option.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+USE_MATHJAX            = NO
+
+# When MathJax is enabled you can set the default output format to be used for
+# the MathJax output. See the MathJax site (see:
+# http://docs.mathjax.org/en/latest/output.html) for more details.
+# Possible values are: HTML-CSS (which is slower, but has the best
+# compatibility), NativeMML (i.e. MathML) and SVG.
+# The default value is: HTML-CSS.
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_FORMAT         = HTML-CSS
+
+# When MathJax is enabled you need to specify the location relative to the HTML
+# output directory using the MATHJAX_RELPATH option. The destination directory
+# should contain the MathJax.js script. For instance, if the mathjax directory
+# is located at the same level as the HTML output directory, then
+# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax
+# Content Delivery Network so you can quickly see the result without installing
+# MathJax. However, it is strongly recommended to install a local copy of
+# MathJax from http://www.mathjax.org before deployment.
+# The default value is: http://cdn.mathjax.org/mathjax/latest.
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_RELPATH        = http://cdn.mathjax.org/mathjax/latest
+
+# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
+# extension names that should be enabled during MathJax rendering. For example
+# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_EXTENSIONS     =
+
+# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces
+# of code that will be used on startup of the MathJax code. See the MathJax site
+# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an
+# example see the documentation.
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_CODEFILE       =
+
+# When the SEARCHENGINE tag is enabled doxygen will generate a search box for
+# the HTML output. The underlying search engine uses javascript and DHTML and
+# should work on any modern browser. Note that when using HTML help
+# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET)
+# there is already a search function so this one should typically be disabled.
+# For large projects the javascript based search engine can be slow, then
+# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to
+# search using the keyboard; to jump to the search box use <access key> + S
+# (what the <access key> is depends on the OS and browser, but it is typically
+# <CTRL>, <ALT>/<option>, or both). Inside the search box use the <cursor down
+# key> to jump into the search results window, the results can be navigated
+# using the <cursor keys>. Press <Enter> to select an item or <escape> to cancel
+# the search. The filter options can be selected when the cursor is inside the
+# search box by pressing <Shift>+<cursor down>. Also here use the <cursor keys>
+# to select a filter and <Enter> or <escape> to activate or cancel the filter
+# option.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+SEARCHENGINE           = YES
+
+# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
+# implemented using a web server instead of a web client using Javascript. There
+# are two flavors of web server based searching depending on the EXTERNAL_SEARCH
+# setting. When disabled, doxygen will generate a PHP script for searching and
+# an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing
+# and searching needs to be provided by external tools. See the section
+# "External Indexing and Searching" for details.
+# The default value is: NO.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+SERVER_BASED_SEARCH    = NO
+
+# When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP
+# script for searching. Instead the search results are written to an XML file
+# which needs to be processed by an external indexer. Doxygen will invoke an
+# external search engine pointed to by the SEARCHENGINE_URL option to obtain the
+# search results.
+#
+# Doxygen ships with an example indexer ( doxyindexer) and search engine
+# (doxysearch.cgi) which are based on the open source search engine library
+# Xapian (see: http://xapian.org/).
+#
+# See the section "External Indexing and Searching" for details.
+# The default value is: NO.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+EXTERNAL_SEARCH        = NO
+
+# The SEARCHENGINE_URL should point to a search engine hosted by a web server
+# which will return the search results when EXTERNAL_SEARCH is enabled.
+#
+# Doxygen ships with an example indexer ( doxyindexer) and search engine
+# (doxysearch.cgi) which are based on the open source search engine library
+# Xapian (see: http://xapian.org/). See the section "External Indexing and
+# Searching" for details.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+SEARCHENGINE_URL       =
+
+# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed
+# search data is written to a file for indexing by an external tool. With the
+# SEARCHDATA_FILE tag the name of this file can be specified.
+# The default file is: searchdata.xml.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+SEARCHDATA_FILE        = searchdata.xml
+
+# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the
+# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is
+# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple
+# projects and redirect the results back to the right project.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+EXTERNAL_SEARCH_ID     =
+
+# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
+# projects other than the one defined by this configuration file, but that are
+# all added to the same external search index. Each project needs to have a
+# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id of
+# to a relative location where the documentation can be found. The format is:
+# EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+EXTRA_SEARCH_MAPPINGS  =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES doxygen will generate LaTeX output.
+# The default value is: YES.
+
+GENERATE_LATEX         = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: latex.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_OUTPUT           = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+# invoked.
+#
+# Note that when enabling USE_PDFLATEX this option is only used for generating
+# bitmaps for formulas in the HTML output, but not in the Makefile that is
+# written to the output directory.
+# The default file is: latex.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_CMD_NAME         = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate
+# index for LaTeX.
+# The default file is: makeindex.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+MAKEINDEX_CMD_NAME     = makeindex
+
+# If the COMPACT_LATEX tag is set to YES doxygen generates more compact LaTeX
+# documents. This may be useful for small projects and may help to save some
+# trees in general.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+COMPACT_LATEX          = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used by the
+# printer.
+# Possible values are: a4 (210 x 297 mm), letter (8.5 x 11 inches), legal (8.5 x
+# 14 inches) and executive (7.25 x 10.5 inches).
+# The default value is: a4.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+PAPER_TYPE             = a4
+
+# The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names
+# that should be included in the LaTeX output. To get the times font for
+# instance you can specify
+# EXTRA_PACKAGES=times
+# If left blank no extra packages will be included.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+EXTRA_PACKAGES         =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the
+# generated LaTeX document. The header should contain everything until the first
+# chapter. If it is left blank doxygen will generate a standard header. See
+# section "Doxygen usage" for information on how to let doxygen write the
+# default header to a separate file.
+#
+# Note: Only use a user-defined header if you know what you are doing! The
+# following commands have a special meaning inside the header: $title,
+# $datetime, $date, $doxygenversion, $projectname, $projectnumber,
+# $projectbrief, $projectlogo. Doxygen will replace $title with the empy string,
+# for the replacement values of the other commands the user is refered to
+# HTML_HEADER.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_HEADER           =
+
+# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the
+# generated LaTeX document. The footer should contain everything after the last
+# chapter. If it is left blank doxygen will generate a standard footer. See
+# LATEX_HEADER for more information on how to generate a default footer and what
+# special commands can be used inside the footer.
+#
+# Note: Only use a user-defined footer if you know what you are doing!
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_FOOTER           =
+
+# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or
+# other source files which should be copied to the LATEX_OUTPUT output
+# directory. Note that the files will be copied as-is; there are no commands or
+# markers available.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_EXTRA_FILES      =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is
+# prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will
+# contain links (just like the HTML output) instead of page references. This
+# makes the output suitable for online browsing using a PDF viewer.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+PDF_HYPERLINKS         = YES
+
+# If the USE_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate
+# the PDF file directly from the LaTeX files. Set this option to YES to get a
+# higher quality PDF documentation.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+USE_PDFLATEX           = YES
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode
+# command to the generated LaTeX files. This will instruct LaTeX to keep running
+# if errors occur, instead of asking the user for help. This option is also used
+# when generating formulas in HTML.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_BATCHMODE        = NO
+
+# If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the
+# index chapters (such as File Index, Compound Index, etc.) in the output.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_HIDE_INDICES     = NO
+
+# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source
+# code with syntax highlighting in the LaTeX output.
+#
+# Note that which sources are shown also depends on other settings such as
+# SOURCE_BROWSER.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_SOURCE_CODE      = NO
+
+# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
+# bibliography, e.g. plainnat, or ieeetr. See
+# http://en.wikipedia.org/wiki/BibTeX and \cite for more info.
+# The default value is: plain.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_BIB_STYLE        = plain
+
+#---------------------------------------------------------------------------
+# Configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES doxygen will generate RTF output. The
+# RTF output is optimized for Word 97 and may not look too pretty with other RTF
+# readers/editors.
+# The default value is: NO.
+
+GENERATE_RTF           = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: rtf.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_OUTPUT             = rtf
+
+# If the COMPACT_RTF tag is set to YES doxygen generates more compact RTF
+# documents. This may be useful for small projects and may help to save some
+# trees in general.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+COMPACT_RTF            = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated will
+# contain hyperlink fields. The RTF file will contain links (just like the HTML
+# output) instead of page references. This makes the output suitable for online
+# browsing using Word or some other Word compatible readers that support those
+# fields.
+#
+# Note: WordPad (write) and others do not support links.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_HYPERLINKS         = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's config
+# file, i.e. a series of assignments. You only have to provide replacements,
+# missing definitions are set to their default value.
+#
+# See also section "Doxygen usage" for information on how to generate the
+# default style sheet that doxygen normally uses.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_STYLESHEET_FILE    =
+
+# Set optional variables used in the generation of an RTF document. Syntax is
+# similar to doxygen's config file. A template extensions file can be generated
+# using doxygen -e rtf extensionFile.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_EXTENSIONS_FILE    =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES doxygen will generate man pages for
+# classes and files.
+# The default value is: NO.
+
+GENERATE_MAN           = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it. A directory man3 will be created inside the directory specified by
+# MAN_OUTPUT.
+# The default directory is: man.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
+MAN_OUTPUT             = man
+
+# The MAN_EXTENSION tag determines the extension that is added to the generated
+# man pages. In case the manual section does not start with a number, the number
+# 3 is prepended. The dot (.) at the beginning of the MAN_EXTENSION tag is
+# optional.
+# The default value is: .3.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
+MAN_EXTENSION          = .3
+
+# The MAN_SUBDIR tag determines the name of the directory created within
+# MAN_OUTPUT in which the man pages are placed. If defaults to man followed by
+# MAN_EXTENSION with the initial . removed.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
+MAN_SUBDIR             =
+
+# If the MAN_LINKS tag is set to YES and doxygen generates man output, then it
+# will generate one additional man file for each entity documented in the real
+# man page(s). These additional files only source the real man page, but without
+# them the man command would be unable to find the correct page.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
+MAN_LINKS              = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES doxygen will generate an XML file that
+# captures the structure of the code including all documentation.
+# The default value is: NO.
+
+GENERATE_XML           = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: xml.
+# This tag requires that the tag GENERATE_XML is set to YES.
+
+XML_OUTPUT             = xml
+
+# If the XML_PROGRAMLISTING tag is set to YES doxygen will dump the program
+# listings (including syntax highlighting and cross-referencing information) to
+# the XML output. Note that enabling this will significantly increase the size
+# of the XML output.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_XML is set to YES.
+
+XML_PROGRAMLISTING     = YES
+
+#---------------------------------------------------------------------------
+# Configuration options related to the DOCBOOK output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_DOCBOOK tag is set to YES doxygen will generate Docbook files
+# that can be used to generate PDF.
+# The default value is: NO.
+
+GENERATE_DOCBOOK       = NO
+
+# The DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be put in
+# front of it.
+# The default directory is: docbook.
+# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
+
+DOCBOOK_OUTPUT         = docbook
+
+# If the DOCBOOK_PROGRAMLISTING tag is set to YES doxygen will include the
+# program listings (including syntax highlighting and cross-referencing
+# information) to the DOCBOOK output. Note that enabling this will significantly
+# increase the size of the DOCBOOK output.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
+
+DOCBOOK_PROGRAMLISTING = NO
+
+#---------------------------------------------------------------------------
+# Configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES doxygen will generate an AutoGen
+# Definitions (see http://autogen.sf.net) file that captures the structure of
+# the code including all documentation. Note that this feature is still
+# experimental and incomplete at the moment.
+# The default value is: NO.
+
+GENERATE_AUTOGEN_DEF   = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES doxygen will generate a Perl module
+# file that captures the structure of the code including all documentation.
+#
+# Note that this feature is still experimental and incomplete at the moment.
+# The default value is: NO.
+
+GENERATE_PERLMOD       = NO
+
+# If the PERLMOD_LATEX tag is set to YES doxygen will generate the necessary
+# Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI
+# output from the Perl module output.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_PERLMOD is set to YES.
+
+PERLMOD_LATEX          = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be nicely
+# formatted so it can be parsed by a human reader. This is useful if you want to
+# understand what is going on. On the other hand, if this tag is set to NO the
+# size of the Perl module output will be much smaller and Perl will parse it
+# just the same.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_PERLMOD is set to YES.
+
+PERLMOD_PRETTY         = YES
+
+# The names of the make variables in the generated doxyrules.make file are
+# prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. This is useful
+# so different doxyrules.make files included by the same Makefile don't
+# overwrite each other's variables.
+# This tag requires that the tag GENERATE_PERLMOD is set to YES.
+
+PERLMOD_MAKEVAR_PREFIX =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES doxygen will evaluate all
+# C-preprocessor directives found in the sources and include files.
+# The default value is: YES.
+
+ENABLE_PREPROCESSING   = NO
+
+# If the MACRO_EXPANSION tag is set to YES doxygen will expand all macro names
+# in the source code. If set to NO only conditional compilation will be
+# performed. Macro expansion can be done in a controlled way by setting
+# EXPAND_ONLY_PREDEF to YES.
+# The default value is: NO.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+MACRO_EXPANSION        = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then
+# the macro expansion is limited to the macros specified with the PREDEFINED and
+# EXPAND_AS_DEFINED tags.
+# The default value is: NO.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+EXPAND_ONLY_PREDEF     = NO
+
+# If the SEARCH_INCLUDES tag is set to YES the includes files in the
+# INCLUDE_PATH will be searched if a #include is found.
+# The default value is: YES.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+SEARCH_INCLUDES        = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by the
+# preprocessor.
+# This tag requires that the tag SEARCH_INCLUDES is set to YES.
+
+INCLUDE_PATH           =
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will be
+# used.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+INCLUDE_FILE_PATTERNS  =
+
+# The PREDEFINED tag can be used to specify one or more macro names that are
+# defined before the preprocessor is started (similar to the -D option of e.g.
+# gcc). The argument of the tag is a list of macros of the form: name or
+# name=definition (no spaces). If the definition and the "=" are omitted, "=1"
+# is assumed. To prevent a macro definition from being undefined via #undef or
+# recursively expanded use the := operator instead of the = operator.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+PREDEFINED             =
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
+# tag can be used to specify a list of macro names that should be expanded. The
+# macro definition that is found in the sources will be used. Use the PREDEFINED
+# tag if you want to use a different macro definition that overrules the
+# definition found in the source code.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+EXPAND_AS_DEFINED      =
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will
+# remove all references to function-like macros that are alone on a line, have
+# an all uppercase name, and do not end with a semicolon. Such function macros
+# are typically used for boiler-plate code, and will confuse the parser if not
+# removed.
+# The default value is: YES.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+SKIP_FUNCTION_MACROS   = YES
+
+#---------------------------------------------------------------------------
+# Configuration options related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES tag can be used to specify one or more tag files. For each tag
+# file the location of the external documentation should be added. The format of
+# a tag file without this location is as follows:
+# TAGFILES = file1 file2 ...
+# Adding location for the tag files is done as follows:
+# TAGFILES = file1=loc1 "file2 = loc2" ...
+# where loc1 and loc2 can be relative or absolute paths or URLs. See the
+# section "Linking to external documentation" for more information about the use
+# of tag files.
+# Note: Each tag file must have a unique name (where the name does NOT include
+# the path). If a tag file is not located in the directory in which doxygen is
+# run, you must also specify the path to the tagfile here.
+
+TAGFILES               =
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create a
+# tag file that is based on the input files it reads. See section "Linking to
+# external documentation" for more information about the usage of tag files.
+
+GENERATE_TAGFILE       =
+
+# If the ALLEXTERNALS tag is set to YES all external class will be listed in the
+# class index. If set to NO only the inherited external classes will be listed.
+# The default value is: NO.
+
+ALLEXTERNALS           = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed in
+# the modules index. If set to NO, only the current project's groups will be
+# listed.
+# The default value is: YES.
+
+EXTERNAL_GROUPS        = YES
+
+# If the EXTERNAL_PAGES tag is set to YES all external pages will be listed in
+# the related pages index. If set to NO, only the current project's pages will
+# be listed.
+# The default value is: YES.
+
+EXTERNAL_PAGES         = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of 'which perl').
+# The default file (with absolute path) is: /usr/bin/perl.
+
+PERL_PATH              = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES doxygen will generate a class diagram
+# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to
+# NO turns the diagrams off. Note that this option also works with HAVE_DOT
+# disabled, but it is recommended to install and use dot, since it yields more
+# powerful graphs.
+# The default value is: YES.
+
+CLASS_DIAGRAMS         = YES
+
+# You can define message sequence charts within doxygen comments using the \msc
+# command. Doxygen will then run the mscgen tool (see:
+# http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the
+# documentation. The MSCGEN_PATH tag allows you to specify the directory where
+# the mscgen tool resides. If left empty the tool is assumed to be found in the
+# default search path.
+
+MSCGEN_PATH            =
+
+# You can include diagrams made with dia in doxygen documentation. Doxygen will
+# then run dia to produce the diagram and insert it in the documentation. The
+# DIA_PATH tag allows you to specify the directory where the dia binary resides.
+# If left empty dia is assumed to be found in the default search path.
+
+DIA_PATH               =
+
+# If set to YES, the inheritance and collaboration graphs will hide inheritance
+# and usage relations if the target is undocumented or is not a class.
+# The default value is: YES.
+
+HIDE_UNDOC_RELATIONS   = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz (see:
+# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent
+# Bell Labs. The other options in this section have no effect if this option is
+# set to NO
+# The default value is: YES.
+
+HAVE_DOT               = NO
+
+# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed
+# to run in parallel. When set to 0 doxygen will base this on the number of
+# processors available in the system. You can set it explicitly to a value
+# larger than 0 to get control over the balance between CPU load and processing
+# speed.
+# Minimum value: 0, maximum value: 32, default value: 0.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_NUM_THREADS        = 0
+
+# When you want a differently looking font in the dot files that doxygen
+# generates you can specify the font name using DOT_FONTNAME. You need to make
+# sure dot is able to find the font, which can be done by putting it in a
+# standard location or by setting the DOTFONTPATH environment variable or by
+# setting DOT_FONTPATH to the directory containing the font.
+# The default value is: Helvetica.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_FONTNAME           = Helvetica
+
+# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of
+# dot graphs.
+# Minimum value: 4, maximum value: 24, default value: 10.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_FONTSIZE           = 10
+
+# By default doxygen will tell dot to use the default font as specified with
+# DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set
+# the path where dot can find it using this tag.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_FONTPATH           =
+
+# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for
+# each documented class showing the direct and indirect inheritance relations.
+# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+CLASS_GRAPH            = YES
+
+# If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a
+# graph for each documented class showing the direct and indirect implementation
+# dependencies (inheritance, containment, and class references variables) of the
+# class with other documented classes.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+COLLABORATION_GRAPH    = YES
+
+# If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for
+# groups, showing the direct groups dependencies.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+GROUP_GRAPHS           = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
+# collaboration diagrams in a style similar to the OMG's Unified Modeling
+# Language.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+UML_LOOK               = NO
+
+# If the UML_LOOK tag is enabled, the fields and methods are shown inside the
+# class node. If there are many fields or methods and many nodes the graph may
+# become too big to be useful. The UML_LIMIT_NUM_FIELDS threshold limits the
+# number of items for each type to make the size more manageable. Set this to 0
+# for no limit. Note that the threshold may be exceeded by 50% before the limit
+# is enforced. So when you set the threshold to 10, up to 15 fields may appear,
+# but if the number exceeds 15, the total amount of fields shown is limited to
+# 10.
+# Minimum value: 0, maximum value: 100, default value: 10.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+UML_LIMIT_NUM_FIELDS   = 10
+
+# If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and
+# collaboration graphs will show the relations between templates and their
+# instances.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+TEMPLATE_RELATIONS     = NO
+
+# If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to
+# YES then doxygen will generate a graph for each documented file showing the
+# direct and indirect include dependencies of the file with other documented
+# files.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+INCLUDE_GRAPH          = YES
+
+# If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are
+# set to YES then doxygen will generate a graph for each documented file showing
+# the direct and indirect include dependencies of the file with other documented
+# files.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+INCLUDED_BY_GRAPH      = YES
+
+# If the CALL_GRAPH tag is set to YES then doxygen will generate a call
+# dependency graph for every global function or class method.
+#
+# Note that enabling this option will significantly increase the time of a run.
+# So in most cases it will be better to enable call graphs for selected
+# functions only using the \callgraph command.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+CALL_GRAPH             = NO
+
+# If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller
+# dependency graph for every global function or class method.
+#
+# Note that enabling this option will significantly increase the time of a run.
+# So in most cases it will be better to enable caller graphs for selected
+# functions only using the \callergraph command.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+CALLER_GRAPH           = NO
+
+# If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical
+# hierarchy of all classes instead of a textual one.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+GRAPHICAL_HIERARCHY    = YES
+
+# If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the
+# dependencies a directory has on other directories in a graphical way. The
+# dependency relations are determined by the #include relations between the
+# files in the directories.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DIRECTORY_GRAPH        = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+# generated by dot.
+# Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order
+# to make the SVG files visible in IE 9+ (other browsers do not have this
+# requirement).
+# Possible values are: png, png:cairo, png:cairo:cairo, png:cairo:gd, png:gd,
+# png:gd:gd, jpg, jpg:cairo, jpg:cairo:gd, jpg:gd, jpg:gd:gd, gif, gif:cairo,
+# gif:cairo:gd, gif:gd, gif:gd:gd and svg.
+# The default value is: png.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_IMAGE_FORMAT       = png
+
+# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
+# enable generation of interactive SVG images that allow zooming and panning.
+#
+# Note that this requires a modern browser other than Internet Explorer. Tested
+# and working are Firefox, Chrome, Safari, and Opera.
+# Note: For IE 9+ you need to set HTML_FILE_EXTENSION to xhtml in order to make
+# the SVG files visible. Older versions of IE do not have SVG support.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+INTERACTIVE_SVG        = NO
+
+# The DOT_PATH tag can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found in the path.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_PATH               =
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the \dotfile
+# command).
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOTFILE_DIRS           =
+
+# The MSCFILE_DIRS tag can be used to specify one or more directories that
+# contain msc files that are included in the documentation (see the \mscfile
+# command).
+
+MSCFILE_DIRS           =
+
+# The DIAFILE_DIRS tag can be used to specify one or more directories that
+# contain dia files that are included in the documentation (see the \diafile
+# command).
+
+DIAFILE_DIRS           =
+
+# When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the
+# path where java can find the plantuml.jar file. If left blank, it is assumed
+# PlantUML is not used or called during a preprocessing step. Doxygen will
+# generate a warning when it encounters a \startuml command in this case and
+# will not generate output for the diagram.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+PLANTUML_JAR_PATH      =
+
+# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
+# that will be shown in the graph. If the number of nodes in a graph becomes
+# larger than this value, doxygen will truncate the graph, which is visualized
+# by representing a node as a red box. Note that doxygen if the number of direct
+# children of the root node in a graph is already larger than
+# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that
+# the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+# Minimum value: 0, maximum value: 10000, default value: 50.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_GRAPH_MAX_NODES    = 50
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs
+# generated by dot. A depth value of 3 means that only nodes reachable from the
+# root by following a path via at most 3 edges will be shown. Nodes that lay
+# further from the root node will be omitted. Note that setting this option to 1
+# or 2 may greatly reduce the computation time needed for large code bases. Also
+# note that the size of a graph can be further restricted by
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+# Minimum value: 0, maximum value: 1000, default value: 0.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+MAX_DOT_GRAPH_DEPTH    = 0
+
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
+# background. This is disabled by default, because dot on Windows does not seem
+# to support this out of the box.
+#
+# Warning: Depending on the platform used, enabling this option may lead to
+# badly anti-aliased labels on the edges of a graph (i.e. they become hard to
+# read).
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_TRANSPARENT        = NO
+
+# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
+# files in one run (i.e. multiple -o and -T options on the command line). This
+# makes dot run faster, but since only newer versions of dot (>1.8.10) support
+# this, this feature is disabled by default.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_MULTI_TARGETS      = YES
+
+# If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page
+# explaining the meaning of the various boxes and arrows in the dot generated
+# graphs.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+GENERATE_LEGEND        = YES
+
+# If the DOT_CLEANUP tag is set to YES doxygen will remove the intermediate dot
+# files that are used to generate the various graphs.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_CLEANUP            = YES
Index: doc/Doxyfile
===================================================================
--- doc/Doxyfile	(revision 301)
+++ 	(revision )
@@ -1,1781 +1,0 @@
-# Doxyfile 1.7.6.1
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project.
-#
-# All text after a hash (#) is considered a comment and will be ignored.
-# The format is:
-#       TAG = value [value, ...]
-# For lists items can also be appended using:
-#       TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ").
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# This tag specifies the encoding used for all characters in the config file
-# that follow. The default is UTF-8 which is also the encoding used for all
-# text before the first occurrence of this tag. Doxygen uses libiconv (or the
-# iconv built into libc) for the transcoding. See
-# http://www.gnu.org/software/libiconv for the list of possible encodings.
-
-DOXYFILE_ENCODING      = UTF-8
-
-# The PROJECT_NAME tag is a single word (or sequence of words) that should
-# identify the project. Note that if you do not use Doxywizard you need
-# to put quotes around the project name if it contains spaces.
-
-PROJECT_NAME           = "MAVA Logger X"
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number.
-# This could be handy for archiving the generated documentation or
-# if some version control system is used.
-
-PROJECT_NUMBER         =
-
-# Using the PROJECT_BRIEF tag one can provide an optional one line description
-# for a project that appears at the top of each page and should give viewer
-# a quick idea about the purpose of the project. Keep the description short.
-
-#PROJECT_BRIEF          =
-
-# With the PROJECT_LOGO tag one can specify an logo or icon that is
-# included in the documentation. The maximum height of the logo should not
-# exceed 55 pixels and the maximum width should not exceed 200 pixels.
-# Doxygen will copy the logo to the output directory.
-
-#PROJECT_LOGO           =
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
-# base path where the generated documentation will be put.
-# If a relative path is entered, it will be relative to the location
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY       =
-
-# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
-# 4096 sub-directories (in 2 levels) under the output directory of each output
-# format and will distribute the generated files over these directories.
-# Enabling this option can be useful when feeding doxygen a huge amount of
-# source files, where putting all generated files in the same directory would
-# otherwise cause performance problems for the file system.
-
-CREATE_SUBDIRS         = NO
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# The default language is English, other supported languages are:
-# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
-# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
-# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
-# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
-# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak,
-# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
-
-OUTPUT_LANGUAGE        = English
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
-# include brief member descriptions after the members that are listed in
-# the file and class documentation (similar to JavaDoc).
-# Set to NO to disable this.
-
-BRIEF_MEMBER_DESC      = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
-# the brief description of a member or function before the detailed description.
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-# brief descriptions will be completely suppressed.
-
-REPEAT_BRIEF           = YES
-
-# This tag implements a quasi-intelligent brief description abbreviator
-# that is used to form the text in various listings. Each string
-# in this list, if found as the leading text of the brief description, will be
-# stripped from the text and the result after processing the whole list, is
-# used as the annotated text. Otherwise, the brief description is used as-is.
-# If left blank, the following values are used ("$name" is automatically
-# replaced with the name of the entity): "The $name class" "The $name widget"
-# "The $name file" "is" "provides" "specifies" "contains"
-# "represents" "a" "an" "the"
-
-ABBREVIATE_BRIEF       =
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# Doxygen will generate a detailed section even if there is only a brief
-# description.
-
-ALWAYS_DETAILED_SEC    = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
-# inherited members of a class in the documentation of that class as if those
-# members were ordinary class members. Constructors, destructors and assignment
-# operators of the base classes will not be shown.
-
-INLINE_INHERITED_MEMB  = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
-# path before files name in the file list and in the header files. If set
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES        = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
-# can be used to strip a user-defined part of the path. Stripping is
-# only done if one of the specified strings matches the left-hand part of
-# the path. The tag can be used to show relative paths in the file list.
-# If left blank the directory from which doxygen is run is used as the
-# path to strip.
-
-STRIP_FROM_PATH        =
-
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
-# the path mentioned in the documentation of a class, which tells
-# the reader which header file to include in order to use a class.
-# If left blank only the name of the header file containing the class
-# definition is used. Otherwise one should specify the include paths that
-# are normally passed to the compiler using the -I flag.
-
-STRIP_FROM_INC_PATH    =
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
-# (but less readable) file names. This can be useful if your file system
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES            = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
-# will interpret the first line (until the first dot) of a JavaDoc-style
-# comment as the brief description. If set to NO, the JavaDoc
-# comments will behave just like regular Qt-style comments
-# (thus requiring an explicit @brief command for a brief description.)
-
-JAVADOC_AUTOBRIEF      = NO
-
-# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
-# interpret the first line (until the first dot) of a Qt-style
-# comment as the brief description. If set to NO, the comments
-# will behave just like regular Qt-style comments (thus requiring
-# an explicit \brief command for a brief description.)
-
-QT_AUTOBRIEF           = NO
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
-# treat a multi-line C++ special comment block (i.e. a block of //! or ///
-# comments) as a brief description. This used to be the default behaviour.
-# The new default is to treat a multi-line C++ comment block as a detailed
-# description. Set this tag to YES if you prefer the old behaviour instead.
-
-MULTILINE_CPP_IS_BRIEF = NO
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
-# member inherits the documentation from any documented member that it
-# re-implements.
-
-INHERIT_DOCS           = YES
-
-# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
-# a new page for each member. If set to NO, the documentation of a member will
-# be part of the file/class/namespace that contains it.
-
-SEPARATE_MEMBER_PAGES  = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab.
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
-TAB_SIZE               = 8
-
-# This tag can be used to specify a number of aliases that acts
-# as commands in the documentation. An alias has the form "name=value".
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to
-# put the command \sideeffect (or @sideeffect) in the documentation, which
-# will result in a user-defined paragraph with heading "Side Effects:".
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES                =
-
-# This tag can be used to specify a number of word-keyword mappings (TCL only).
-# A mapping has the form "name=value". For example adding
-# "class=itcl::class" will allow you to use the command class in the
-# itcl::class meaning.
-
-#TCL_SUBST              =
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
-# sources only. Doxygen will then generate output that is more tailored for C.
-# For instance, some of the names that are used will be different. The list
-# of all members will be omitted, etc.
-
-OPTIMIZE_OUTPUT_FOR_C  = NO
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
-# sources only. Doxygen will then generate output that is more tailored for
-# Java. For instance, namespaces will be presented as packages, qualified
-# scopes will look different, etc.
-
-OPTIMIZE_OUTPUT_JAVA   = NO
-
-# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
-# sources only. Doxygen will then generate output that is more tailored for
-# Fortran.
-
-OPTIMIZE_FOR_FORTRAN   = NO
-
-# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
-# sources. Doxygen will then generate output that is tailored for
-# VHDL.
-
-OPTIMIZE_OUTPUT_VHDL   = NO
-
-# Doxygen selects the parser to use depending on the extension of the files it
-# parses. With this tag you can assign which parser to use for a given extension.
-# Doxygen has a built-in mapping, but you can override or extend it using this
-# tag. The format is ext=language, where ext is a file extension, and language
-# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C,
-# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make
-# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C
-# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions
-# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
-
-EXTENSION_MAPPING      =
-
-# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
-# to include (a tag file for) the STL sources as input, then you should
-# set this tag to YES in order to let doxygen match functions declarations and
-# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
-# func(std::string) {}). This also makes the inheritance and collaboration
-# diagrams that involve STL classes more complete and accurate.
-
-BUILTIN_STL_SUPPORT    = NO
-
-# If you use Microsoft's C++/CLI language, you should set this option to YES to
-# enable parsing support.
-
-CPP_CLI_SUPPORT        = NO
-
-# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
-# Doxygen will parse them like normal C++ but will assume all classes use public
-# instead of private inheritance when no explicit protection keyword is present.
-
-SIP_SUPPORT            = NO
-
-# For Microsoft's IDL there are propget and propput attributes to indicate getter
-# and setter methods for a property. Setting this option to YES (the default)
-# will make doxygen replace the get and set methods by a property in the
-# documentation. This will only work if the methods are indeed getting or
-# setting a simple type. If this is not the case, or you want to show the
-# methods anyway, you should set this option to NO.
-
-IDL_PROPERTY_SUPPORT   = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES, then doxygen will reuse the documentation of the first
-# member in the group (if any) for the other members of the group. By default
-# all members of a group must be documented explicitly.
-
-DISTRIBUTE_GROUP_DOC   = NO
-
-# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
-# the same type (for instance a group of public functions) to be put as a
-# subgroup of that type (e.g. under the Public Functions section). Set it to
-# NO to prevent subgrouping. Alternatively, this can be done per class using
-# the \nosubgrouping command.
-
-SUBGROUPING            = YES
-
-# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and
-# unions are shown inside the group in which they are included (e.g. using
-# @ingroup) instead of on a separate page (for HTML and Man pages) or
-# section (for LaTeX and RTF).
-
-#INLINE_GROUPED_CLASSES = NO
-
-# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and
-# unions with only public data fields will be shown inline in the documentation
-# of the scope in which they are defined (i.e. file, namespace, or group
-# documentation), provided this scope is documented. If set to NO (the default),
-# structs, classes, and unions are shown on a separate page (for HTML and Man
-# pages) or section (for LaTeX and RTF).
-
-#INLINE_SIMPLE_STRUCTS  = NO
-
-# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
-# is documented as struct, union, or enum with the name of the typedef. So
-# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
-# with name TypeT. When disabled the typedef will appear as a member of a file,
-# namespace, or class. And the struct will be named TypeS. This can typically
-# be useful for C code in case the coding convention dictates that all compound
-# types are typedef'ed and only the typedef is referenced, never the tag name.
-
-TYPEDEF_HIDES_STRUCT   = NO
-
-# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
-# determine which symbols to keep in memory and which to flush to disk.
-# When the cache is full, less often used symbols will be written to disk.
-# For small to medium size projects (<1000 input files) the default value is
-# probably good enough. For larger projects a too small cache size can cause
-# doxygen to be busy swapping symbols to and from disk most of the time
-# causing a significant performance penalty.
-# If the system has enough physical memory increasing the cache will improve the
-# performance by keeping more symbols in memory. Note that the value works on
-# a logarithmic scale so increasing the size by one will roughly double the
-# memory usage. The cache size is given by this formula:
-# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
-# corresponding to a cache size of 2^16 = 65536 symbols.
-
-SYMBOL_CACHE_SIZE      = 0
-
-# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be
-# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given
-# their name and scope. Since this can be an expensive process and often the
-# same symbol appear multiple times in the code, doxygen keeps a cache of
-# pre-resolved symbols. If the cache is too small doxygen will become slower.
-# If the cache is too large, memory is wasted. The cache size is given by this
-# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0,
-# corresponding to a cache size of 2^16 = 65536 symbols.
-
-#LOOKUP_CACHE_SIZE      = 0
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
-# documentation are documented, even if no documentation was available.
-# Private class members and static file members will be hidden unless
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
-EXTRACT_ALL            = NO
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
-# will be included in the documentation.
-
-EXTRACT_PRIVATE        = YES
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file
-# will be included in the documentation.
-
-EXTRACT_STATIC         = NO
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
-# defined locally in source files will be included in the documentation.
-# If set to NO only classes defined in header files are included.
-
-EXTRACT_LOCAL_CLASSES  = YES
-
-# This flag is only useful for Objective-C code. When set to YES local
-# methods, which are defined in the implementation section but not in
-# the interface are included in the documentation.
-# If set to NO (the default) only methods in the interface are included.
-
-EXTRACT_LOCAL_METHODS  = NO
-
-# If this flag is set to YES, the members of anonymous namespaces will be
-# extracted and appear in the documentation as a namespace called
-# 'anonymous_namespace{file}', where file will be replaced with the base
-# name of the file that contains the anonymous namespace. By default
-# anonymous namespaces are hidden.
-
-EXTRACT_ANON_NSPACES   = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
-# undocumented members of documented classes, files or namespaces.
-# If set to NO (the default) these members will be included in the
-# various overviews, but no documentation section is generated.
-# This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_MEMBERS     = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy.
-# If set to NO (the default) these classes will be included in the various
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_CLASSES     = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
-# friend (class|struct|union) declarations.
-# If set to NO (the default) these declarations will be included in the
-# documentation.
-
-HIDE_FRIEND_COMPOUNDS  = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
-# documentation blocks found inside the body of a function.
-# If set to NO (the default) these blocks will be appended to the
-# function's detailed documentation block.
-
-HIDE_IN_BODY_DOCS      = NO
-
-# The INTERNAL_DOCS tag determines if documentation
-# that is typed after a \internal command is included. If the tag is set
-# to NO (the default) then the documentation will be excluded.
-# Set it to YES to include the internal documentation.
-
-INTERNAL_DOCS          = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
-# file names in lower-case letters. If set to YES upper-case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# and Mac users are advised to set this option to NO.
-
-CASE_SENSE_NAMES       = YES
-
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
-# will show members with their full class and namespace scopes in the
-# documentation. If set to YES the scope will be hidden.
-
-HIDE_SCOPE_NAMES       = NO
-
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
-# will put a list of the files that are included by a file in the documentation
-# of that file.
-
-SHOW_INCLUDE_FILES     = YES
-
-# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
-# will list include files with double quotes in the documentation
-# rather than with sharp brackets.
-
-FORCE_LOCAL_INCLUDES   = NO
-
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
-# is inserted in the documentation for inline members.
-
-INLINE_INFO            = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
-# will sort the (detailed) documentation of file and class members
-# alphabetically by member name. If set to NO the members will appear in
-# declaration order.
-
-SORT_MEMBER_DOCS       = YES
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
-# brief documentation of file, namespace and class members alphabetically
-# by member name. If set to NO (the default) the members will appear in
-# declaration order.
-
-SORT_BRIEF_DOCS        = NO
-
-# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen
-# will sort the (brief and detailed) documentation of class members so that
-# constructors and destructors are listed first. If set to NO (the default)
-# the constructors will appear in the respective orders defined by
-# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS.
-# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO
-# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
-
-SORT_MEMBERS_CTORS_1ST = NO
-
-# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
-# hierarchy of group names into alphabetical order. If set to NO (the default)
-# the group names will appear in their defined order.
-
-SORT_GROUP_NAMES       = NO
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
-# sorted by fully-qualified names, including namespaces. If set to
-# NO (the default), the class list will be sorted only by class name,
-# not including the namespace part.
-# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the
-# alphabetical list.
-
-SORT_BY_SCOPE_NAME     = NO
-
-# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to
-# do proper type resolution of all parameters of a function it will reject a
-# match between the prototype and the implementation of a member function even
-# if there is only one candidate or it is obvious which candidate to choose
-# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen
-# will still accept a match between prototype and implementation in such cases.
-
-#STRICT_PROTO_MATCHING  = NO
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or
-# disable (NO) the todo list. This list is created by putting \todo
-# commands in the documentation.
-
-GENERATE_TODOLIST      = YES
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or
-# disable (NO) the test list. This list is created by putting \test
-# commands in the documentation.
-
-GENERATE_TESTLIST      = YES
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or
-# disable (NO) the bug list. This list is created by putting \bug
-# commands in the documentation.
-
-GENERATE_BUGLIST       = YES
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
-# disable (NO) the deprecated list. This list is created by putting
-# \deprecated commands in the documentation.
-
-GENERATE_DEPRECATEDLIST= YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional
-# documentation sections, marked by \if sectionname ... \endif.
-
-ENABLED_SECTIONS       =
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
-# the initial value of a variable or macro consists of for it to appear in
-# the documentation. If the initializer consists of more lines than specified
-# here it will be hidden. Use a value of 0 to hide initializers completely.
-# The appearance of the initializer of individual variables and macros in the
-# documentation can be controlled using \showinitializer or \hideinitializer
-# command in the documentation regardless of this setting.
-
-MAX_INITIALIZER_LINES  = 30
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
-# at the bottom of the documentation of classes and structs. If set to YES the
-# list will mention the files that were used to generate the documentation.
-
-SHOW_USED_FILES        = YES
-
-# If the sources in your project are distributed over multiple directories
-# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
-# in the documentation. The default is NO.
-
-SHOW_DIRECTORIES       = NO
-
-# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
-# This will remove the Files entry from the Quick Index and from the
-# Folder Tree View (if specified). The default is YES.
-
-SHOW_FILES             = YES
-
-# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
-# Namespaces page.
-# This will remove the Namespaces entry from the Quick Index
-# and from the Folder Tree View (if specified). The default is YES.
-
-SHOW_NAMESPACES        = YES
-
-# The FILE_VERSION_FILTER tag can be used to specify a program or script that
-# doxygen should invoke to get the current version for each file (typically from
-# the version control system). Doxygen will invoke the program by executing (via
-# popen()) the command <command> <input-file>, where <command> is the value of
-# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
-# provided by doxygen. Whatever the program writes to standard output
-# is used as the file version. See the manual for examples.
-
-FILE_VERSION_FILTER    =
-
-# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
-# by doxygen. The layout file controls the global structure of the generated
-# output files in an output format independent way. The create the layout file
-# that represents doxygen's defaults, run doxygen with the -l option.
-# You can optionally specify a file name after the option, if omitted
-# DoxygenLayout.xml will be used as the name of the layout file.
-
-LAYOUT_FILE            =
-
-# The CITE_BIB_FILES tag can be used to specify one or more bib files
-# containing the references data. This must be a list of .bib files. The
-# .bib extension is automatically appended if omitted. Using this command
-# requires the bibtex tool to be installed. See also
-# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style
-# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this
-# feature you need bibtex and perl available in the search path.
-
-#CITE_BIB_FILES         =
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
-
-QUIET                  = YES
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated by doxygen. Possible values are YES and NO. If left blank
-# NO is used.
-
-WARNINGS               = YES
-
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
-# automatically be disabled.
-
-WARN_IF_UNDOCUMENTED   = YES
-
-# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
-# potential errors in the documentation, such as not documenting some
-# parameters in a documented function, or documenting parameters that
-# don't exist or using markup commands wrongly.
-
-WARN_IF_DOC_ERROR      = YES
-
-# The WARN_NO_PARAMDOC option can be enabled to get warnings for
-# functions that are documented, but have no documentation for their parameters
-# or return value. If set to NO (the default) doxygen will only warn about
-# wrong or incomplete parameter documentation, but not about the absence of
-# documentation.
-
-WARN_NO_PARAMDOC       = NO
-
-# The WARN_FORMAT tag determines the format of the warning messages that
-# doxygen can produce. The string should contain the $file, $line, and $text
-# tags, which will be replaced by the file and line number from which the
-# warning originated and the warning text. Optionally the format may contain
-# $version, which will be replaced by the version of the file (if it could
-# be obtained via FILE_VERSION_FILTER)
-
-WARN_FORMAT            = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning
-# and error messages should be written. If left blank the output is written
-# to stderr.
-
-WARN_LOGFILE           =
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain
-# documented source files. You may enter file names like "myfile.cpp" or
-# directories like "/usr/src/myproject". Separate the files or directories
-# with spaces.
-
-INPUT                  =  overview.dox ../src/mlx ../src/mlx/gui
-
-# This tag can be used to specify the character encoding of the source files
-# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
-# also the default input encoding. Doxygen uses libiconv (or the iconv built
-# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
-# the list of possible encodings.
-
-INPUT_ENCODING         = UTF-8
-
-# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank the following patterns are tested:
-# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh
-# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py
-# *.f90 *.f *.for *.vhd *.vhdl
-
-FILE_PATTERNS          = *.py
-
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories
-# should be searched for input files as well. Possible values are YES and NO.
-# If left blank NO is used.
-
-RECURSIVE              = NO
-
-# The EXCLUDE tag can be used to specify files and/or directories that should be
-# excluded from the INPUT source files. This way you can easily exclude a
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-# Note that relative paths are relative to the directory from which doxygen is
-# run.
-
-EXCLUDE                =
-
-# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
-# directories that are symbolic links (a Unix file system feature) are excluded
-# from the input.
-
-EXCLUDE_SYMLINKS       = NO
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories. Note that the wildcards are matched
-# against the file with absolute path, so to exclude all test directories
-# for example use the pattern */test/*
-
-EXCLUDE_PATTERNS       =
-
-# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
-# (namespaces, classes, functions, etc.) that should be excluded from the
-# output. The symbol name can be a fully qualified name, a word, or if the
-# wildcard * is used, a substring. Examples: ANamespace, AClass,
-# AClass::ANamespace, ANamespace::*Test
-
-EXCLUDE_SYMBOLS        =
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or
-# directories that contain example code fragments that are included (see
-# the \include command).
-
-EXAMPLE_PATH           =
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank all files are included.
-
-EXAMPLE_PATTERNS       =
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-# searched for input files to be used with the \include or \dontinclude
-# commands irrespective of the value of the RECURSIVE tag.
-# Possible values are YES and NO. If left blank NO is used.
-
-EXAMPLE_RECURSIVE      = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or
-# directories that contain image that are included in the documentation (see
-# the \image command).
-
-IMAGE_PATH             =
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should
-# invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command <filter> <input-file>, where <filter>
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
-# input file. Doxygen will then use the output that the filter program writes
-# to standard output.
-# If FILTER_PATTERNS is specified, this tag will be
-# ignored.
-
-INPUT_FILTER           =
-
-# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
-# basis.
-# Doxygen will compare the file name with each pattern and apply the
-# filter if there is a match.
-# The filters are a list of the form:
-# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
-# info on how filters are used. If FILTER_PATTERNS is empty or if
-# non of the patterns match the file name, INPUT_FILTER is applied.
-
-FILTER_PATTERNS        =
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER) will be used to filter the input files when producing source
-# files to browse (i.e. when SOURCE_BROWSER is set to YES).
-
-FILTER_SOURCE_FILES    = NO
-
-# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
-# pattern. A pattern will override the setting for FILTER_PATTERN (if any)
-# and it is also possible to disable source filtering for a specific pattern
-# using *.ext= (so without naming a filter). This option only has effect when
-# FILTER_SOURCE_FILES is enabled.
-
-#FILTER_SOURCE_PATTERNS =
-
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-# be generated. Documented entities will be cross-referenced with these sources.
-# Note: To get rid of all source code in the generated output, make sure also
-# VERBATIM_HEADERS is set to NO.
-
-SOURCE_BROWSER         = YES
-
-# Setting the INLINE_SOURCES tag to YES will include the body
-# of functions and classes directly in the documentation.
-
-INLINE_SOURCES         = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
-# doxygen to hide any special comment blocks from generated source code
-# fragments. Normal C and C++ comments will always remain visible.
-
-STRIP_CODE_COMMENTS    = YES
-
-# If the REFERENCED_BY_RELATION tag is set to YES
-# then for each documented function all documented
-# functions referencing it will be listed.
-
-REFERENCED_BY_RELATION = NO
-
-# If the REFERENCES_RELATION tag is set to YES
-# then for each documented function all documented entities
-# called/used by that function will be listed.
-
-REFERENCES_RELATION    = NO
-
-# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
-# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
-# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
-# link to the source code.
-# Otherwise they will link to the documentation.
-
-REFERENCES_LINK_SOURCE = YES
-
-# If the USE_HTAGS tag is set to YES then the references to source code
-# will point to the HTML generated by the htags(1) tool instead of doxygen
-# built-in source browser. The htags tool is part of GNU's global source
-# tagging system (see http://www.gnu.org/software/global/global.html). You
-# will need version 4.8.6 or higher.
-
-USE_HTAGS              = NO
-
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
-# will generate a verbatim copy of the header file for each class for
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS       = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
-# of all compounds will be generated. Enable this if the project
-# contains a lot of classes, structs, unions or interfaces.
-
-ALPHABETICAL_INDEX     = YES
-
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
-# in which this list will be split (can be a number in the range [1..20])
-
-COLS_IN_ALPHA_INDEX    = 5
-
-# In case all classes in a project start with a common prefix, all
-# classes will be put under the same header in the alphabetical index.
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
-# should be ignored while generating the index headers.
-
-IGNORE_PREFIX          =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
-# generate HTML output.
-
-GENERATE_HTML          = YES
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `html' will be used as the default path.
-
-HTML_OUTPUT            = html
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
-# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
-# doxygen will generate files with .html extension.
-
-HTML_FILE_EXTENSION    = .html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard header. Note that when using a custom header you are responsible
-#  for the proper inclusion of any scripts and style sheets that doxygen
-# needs, which is dependent on the configuration options used.
-# It is advised to generate a default header using "doxygen -w html
-# header.html footer.html stylesheet.css YourConfigFile" and then modify
-# that header. Note that the header is subject to change so you typically
-# have to redo this when upgrading to a newer version of doxygen or when
-# changing the value of configuration settings such as GENERATE_TREEVIEW!
-
-HTML_HEADER            =
-
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard footer.
-
-HTML_FOOTER            =
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
-# style sheet that is used by each HTML page. It can be used to
-# fine-tune the look of the HTML output. If the tag is left blank doxygen
-# will generate a default style sheet. Note that doxygen will try to copy
-# the style sheet file to the HTML output directory, so don't put your own
-# style sheet in the HTML output directory as well, or it will be erased!
-
-HTML_STYLESHEET        =
-
-# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
-# other source files which should be copied to the HTML output directory. Note
-# that these files will be copied to the base HTML output directory. Use the
-# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
-# files. In the HTML_STYLESHEET file, use the file name only. Also note that
-# the files will be copied as-is; there are no commands or markers available.
-
-#HTML_EXTRA_FILES       =
-
-# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
-# Doxygen will adjust the colors in the style sheet and background images
-# according to this color. Hue is specified as an angle on a colorwheel,
-# see http://en.wikipedia.org/wiki/Hue for more information.
-# For instance the value 0 represents red, 60 is yellow, 120 is green,
-# 180 is cyan, 240 is blue, 300 purple, and 360 is red again.
-# The allowed range is 0 to 359.
-
-#HTML_COLORSTYLE_HUE    = 220
-
-# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of
-# the colors in the HTML output. For a value of 0 the output will use
-# grayscales only. A value of 255 will produce the most vivid colors.
-
-#HTML_COLORSTYLE_SAT    = 100
-
-# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to
-# the luminance component of the colors in the HTML output. Values below
-# 100 gradually make the output lighter, whereas values above 100 make
-# the output darker. The value divided by 100 is the actual gamma applied,
-# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2,
-# and 100 does not change the gamma.
-
-#HTML_COLORSTYLE_GAMMA  = 80
-
-# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
-# page will contain the date and time when the page was generated. Setting
-# this to NO can help when comparing the output of multiple runs.
-
-HTML_TIMESTAMP         = YES
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
-# files or namespaces will be aligned in HTML using tables. If set to
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS     = YES
-
-# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
-# documentation will contain sections that can be hidden and shown after the
-# page has loaded. For this to work a browser that supports
-# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
-# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
-
-HTML_DYNAMIC_SECTIONS  = NO
-
-# If the GENERATE_DOCSET tag is set to YES, additional index files
-# will be generated that can be used as input for Apple's Xcode 3
-# integrated development environment, introduced with OSX 10.5 (Leopard).
-# To create a documentation set, doxygen will generate a Makefile in the
-# HTML output directory. Running make will produce the docset in that
-# directory and running "make install" will install the docset in
-# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
-# it at startup.
-# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
-# for more information.
-
-GENERATE_DOCSET        = NO
-
-# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
-# feed. A documentation feed provides an umbrella under which multiple
-# documentation sets from a single provider (such as a company or product suite)
-# can be grouped.
-
-DOCSET_FEEDNAME        = "Doxygen generated docs"
-
-# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
-# should uniquely identify the documentation set bundle. This should be a
-# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
-# will append .docset to the name.
-
-DOCSET_BUNDLE_ID       = org.doxygen.Project
-
-# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify
-# the documentation publisher. This should be a reverse domain-name style
-# string, e.g. com.mycompany.MyDocSet.documentation.
-
-#DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
-
-# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
-
-#DOCSET_PUBLISHER_NAME  = Publisher
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files
-# will be generated that can be used as input for tools like the
-# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
-# of the generated HTML documentation.
-
-GENERATE_HTMLHELP      = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
-# be used to specify the file name of the resulting .chm file. You
-# can add a path in front of the file if the result should not be
-# written to the html output directory.
-
-CHM_FILE               =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
-# be used to specify the location (absolute path including file name) of
-# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
-# the HTML help compiler on the generated index.hhp.
-
-HHC_LOCATION           =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
-# controls if a separate .chi index file is generated (YES) or that
-# it should be included in the master .chm file (NO).
-
-GENERATE_CHI           = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
-# is used to encode HtmlHelp index (hhk), content (hhc) and project file
-# content.
-
-CHM_INDEX_ENCODING     =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
-# controls whether a binary table of contents is generated (YES) or a
-# normal table of contents (NO) in the .chm file.
-
-BINARY_TOC             = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members
-# to the contents of the HTML help documentation and to the tree view.
-
-TOC_EXPAND             = NO
-
-# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
-# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated
-# that can be used as input for Qt's qhelpgenerator to generate a
-# Qt Compressed Help (.qch) of the generated HTML documentation.
-
-GENERATE_QHP           = NO
-
-# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
-# be used to specify the file name of the resulting .qch file.
-# The path specified is relative to the HTML output folder.
-
-QCH_FILE               =
-
-# The QHP_NAMESPACE tag specifies the namespace to use when generating
-# Qt Help Project output. For more information please see
-# http://doc.trolltech.com/qthelpproject.html#namespace
-
-QHP_NAMESPACE          = org.doxygen.Project
-
-# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
-# Qt Help Project output. For more information please see
-# http://doc.trolltech.com/qthelpproject.html#virtual-folders
-
-QHP_VIRTUAL_FOLDER     = doc
-
-# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to
-# add. For more information please see
-# http://doc.trolltech.com/qthelpproject.html#custom-filters
-
-QHP_CUST_FILTER_NAME   =
-
-# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the
-# custom filter to add. For more information please see
-# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">
-# Qt Help Project / Custom Filters</a>.
-
-QHP_CUST_FILTER_ATTRS  =
-
-# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
-# project's
-# filter section matches.
-# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">
-# Qt Help Project / Filter Attributes</a>.
-
-QHP_SECT_FILTER_ATTRS  =
-
-# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
-# be used to specify the location of Qt's qhelpgenerator.
-# If non-empty doxygen will try to run qhelpgenerator on the generated
-# .qhp file.
-
-QHG_LOCATION           =
-
-# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
-#  will be generated, which together with the HTML files, form an Eclipse help
-# plugin. To install this plugin and make it available under the help contents
-# menu in Eclipse, the contents of the directory containing the HTML and XML
-# files needs to be copied into the plugins directory of eclipse. The name of
-# the directory within the plugins directory should be the same as
-# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before
-# the help appears.
-
-GENERATE_ECLIPSEHELP   = NO
-
-# A unique identifier for the eclipse help plugin. When installing the plugin
-# the directory name containing the HTML and XML files should also have
-# this name.
-
-ECLIPSE_DOC_ID         = org.doxygen.Project
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs)
-# at top of each HTML page. The value NO (the default) enables the index and
-# the value YES disables it. Since the tabs have the same information as the
-# navigation tree you can set this option to NO if you already set
-# GENERATE_TREEVIEW to YES.
-
-DISABLE_INDEX          = NO
-
-# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
-# structure should be generated to display hierarchical information.
-# If the tag value is set to YES, a side panel will be generated
-# containing a tree-like index structure (just like the one that
-# is generated for HTML Help). For this to work a browser that supports
-# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
-# Windows users are probably better off using the HTML help feature.
-# Since the tree basically has the same information as the tab index you
-# could consider to set DISABLE_INDEX to NO when enabling this option.
-
-GENERATE_TREEVIEW      = NO
-
-# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values
-# (range [0,1..20]) that doxygen will group on one line in the generated HTML
-# documentation. Note that a value of 0 will completely suppress the enum
-# values from appearing in the overview section.
-
-ENUM_VALUES_PER_LINE   = 4
-
-# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
-# and Class Hierarchy pages using a tree view instead of an ordered list.
-
-USE_INLINE_TREES       = NO
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
-# used to set the initial width (in pixels) of the frame in which the tree
-# is shown.
-
-TREEVIEW_WIDTH         = 250
-
-# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open
-# links to external symbols imported via tag files in a separate window.
-
-#EXT_LINKS_IN_WINDOW    = NO
-
-# Use this tag to change the font size of Latex formulas included
-# as images in the HTML documentation. The default is 10. Note that
-# when you change the font size after a successful doxygen run you need
-# to manually remove any form_*.png images from the HTML output directory
-# to force them to be regenerated.
-
-FORMULA_FONTSIZE       = 10
-
-# Use the FORMULA_TRANPARENT tag to determine whether or not the images
-# generated for formulas are transparent PNGs. Transparent PNGs are
-# not supported properly for IE 6.0, but are supported on all modern browsers.
-# Note that when changing this option you need to delete any form_*.png files
-# in the HTML output before the changes have effect.
-
-#FORMULA_TRANSPARENT    = YES
-
-# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax
-# (see http://www.mathjax.org) which uses client side Javascript for the
-# rendering instead of using prerendered bitmaps. Use this if you do not
-# have LaTeX installed or if you want to formulas look prettier in the HTML
-# output. When enabled you also need to install MathJax separately and
-# configure the path to it using the MATHJAX_RELPATH option.
-
-#USE_MATHJAX            = NO
-
-# When MathJax is enabled you need to specify the location relative to the
-# HTML output directory using the MATHJAX_RELPATH option. The destination
-# directory should contain the MathJax.js script. For instance, if the mathjax
-# directory is located at the same level as the HTML output directory, then
-# MATHJAX_RELPATH should be ../mathjax. The default value points to the
-# mathjax.org site, so you can quickly see the result without installing
-# MathJax, but it is strongly recommended to install a local copy of MathJax
-# before deployment.
-
-#MATHJAX_RELPATH        = http://www.mathjax.org/mathjax
-
-# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension
-# names that should be enabled during MathJax rendering.
-
-#MATHJAX_EXTENSIONS     =
-
-# When the SEARCHENGINE tag is enabled doxygen will generate a search box
-# for the HTML output. The underlying search engine uses javascript
-# and DHTML and should work on any modern browser. Note that when using
-# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets
-# (GENERATE_DOCSET) there is already a search function so this one should
-# typically be disabled. For large projects the javascript based search engine
-# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
-
-SEARCHENGINE           = YES
-
-# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
-# implemented using a PHP enabled web server instead of at the web client
-# using Javascript. Doxygen will generate the search PHP script and index
-# file to put on the web server. The advantage of the server
-# based approach is that it scales better to large projects and allows
-# full text search. The disadvantages are that it is more difficult to setup
-# and does not have live searching capabilities.
-
-SERVER_BASED_SEARCH    = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
-# generate Latex output.
-
-GENERATE_LATEX         = NO
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `latex' will be used as the default path.
-
-LATEX_OUTPUT           = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
-# invoked. If left blank `latex' will be used as the default command name.
-# Note that when enabling USE_PDFLATEX this option is only used for
-# generating bitmaps for formulas in the HTML output, but not in the
-# Makefile that is written to the output directory.
-
-LATEX_CMD_NAME         = latex
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
-# generate index for LaTeX. If left blank `makeindex' will be used as the
-# default command name.
-
-MAKEINDEX_CMD_NAME     = makeindex
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
-# LaTeX documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_LATEX          = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used
-# by the printer. Possible values are: a4, letter, legal and
-# executive. If left blank a4wide will be used.
-
-PAPER_TYPE             = a4
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES         =
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
-# the generated latex document. The header should contain everything until
-# the first chapter. If it is left blank doxygen will generate a
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER           =
-
-# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for
-# the generated latex document. The footer should contain everything after
-# the last chapter. If it is left blank doxygen will generate a
-# standard footer. Notice: only use this tag if you know what you are doing!
-
-#LATEX_FOOTER           =
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will
-# contain links (just like the HTML output) instead of page references
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS         = YES
-
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
-# plain latex in the generated Makefile. Set this option to YES to get a
-# higher quality PDF documentation.
-
-USE_PDFLATEX           = YES
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
-# command to the generated LaTeX files. This will instruct LaTeX to keep
-# running if errors occur, instead of asking the user for help.
-# This option is also used when generating formulas in HTML.
-
-LATEX_BATCHMODE        = NO
-
-# If LATEX_HIDE_INDICES is set to YES then doxygen will not
-# include the index chapters (such as File Index, Compound Index, etc.)
-# in the output.
-
-LATEX_HIDE_INDICES     = NO
-
-# If LATEX_SOURCE_CODE is set to YES then doxygen will include
-# source code with syntax highlighting in the LaTeX output.
-# Note that which sources are shown also depends on other settings
-# such as SOURCE_BROWSER.
-
-LATEX_SOURCE_CODE      = NO
-
-# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
-# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See
-# http://en.wikipedia.org/wiki/BibTeX for more info.
-
-#LATEX_BIB_STYLE        = plain
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
-# The RTF output is optimized for Word 97 and may not look very pretty with
-# other RTF readers or editors.
-
-GENERATE_RTF           = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `rtf' will be used as the default path.
-
-RTF_OUTPUT             = rtf
-
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
-# RTF documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_RTF            = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
-# will contain hyperlink fields. The RTF file will
-# contain links (just like the HTML output) instead of page references.
-# This makes the output suitable for online browsing using WORD or other
-# programs which support those fields.
-# Note: wordpad (write) and others do not support links.
-
-RTF_HYPERLINKS         = NO
-
-# Load style sheet definitions from file. Syntax is similar to doxygen's
-# config file, i.e. a series of assignments. You only have to provide
-# replacements, missing definitions are set to their default value.
-
-RTF_STYLESHEET_FILE    =
-
-# Set optional variables used in the generation of an rtf document.
-# Syntax is similar to doxygen's config file.
-
-RTF_EXTENSIONS_FILE    =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
-# generate man pages
-
-GENERATE_MAN           = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `man' will be used as the default path.
-
-MAN_OUTPUT             = man
-
-# The MAN_EXTENSION tag determines the extension that is added to
-# the generated man pages (default is the subroutine's section .3)
-
-MAN_EXTENSION          = .3
-
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
-# then it will generate one additional man file for each entity
-# documented in the real man page(s). These additional files
-# only source the real man page, but without them the man command
-# would be unable to find the correct page. The default is NO.
-
-MAN_LINKS              = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES Doxygen will
-# generate an XML file that captures the structure of
-# the code including all documentation.
-
-GENERATE_XML           = NO
-
-# The XML_OUTPUT tag is used to specify where the XML pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `xml' will be used as the default path.
-
-XML_OUTPUT             = xml
-
-# The XML_SCHEMA tag can be used to specify an XML schema,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_SCHEMA             =
-
-# The XML_DTD tag can be used to specify an XML DTD,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_DTD                =
-
-# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
-# dump the program listings (including syntax highlighting
-# and cross-referencing information) to the XML output. Note that
-# enabling this will significantly increase the size of the XML output.
-
-XML_PROGRAMLISTING     = YES
-
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
-# generate an AutoGen Definitions (see autogen.sf.net) file
-# that captures the structure of the code including all
-# documentation. Note that this feature is still experimental
-# and incomplete at the moment.
-
-GENERATE_AUTOGEN_DEF   = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES Doxygen will
-# generate a Perl module file that captures the structure of
-# the code including all documentation. Note that this
-# feature is still experimental and incomplete at the
-# moment.
-
-GENERATE_PERLMOD       = NO
-
-# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
-# the necessary Makefile rules, Perl scripts and LaTeX code to be able
-# to generate PDF and DVI output from the Perl module output.
-
-PERLMOD_LATEX          = NO
-
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
-# nicely formatted so it can be parsed by a human reader.
-# This is useful
-# if you want to understand what is going on.
-# On the other hand, if this
-# tag is set to NO the size of the Perl module output will be much smaller
-# and Perl will parse it just the same.
-
-PERLMOD_PRETTY         = YES
-
-# The names of the make variables in the generated doxyrules.make file
-# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
-# This is useful so different doxyrules.make files included by the same
-# Makefile don't overwrite each other's variables.
-
-PERLMOD_MAKEVAR_PREFIX =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
-# evaluate all C-preprocessor directives found in the sources and include
-# files.
-
-ENABLE_PREPROCESSING   = NO
-
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
-# names in the source code. If set to NO (the default) only conditional
-# compilation will be performed. Macro expansion can be done in a controlled
-# way by setting EXPAND_ONLY_PREDEF to YES.
-
-MACRO_EXPANSION        = NO
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
-# then the macro expansion is limited to the macros specified with the
-# PREDEFINED and EXPAND_AS_DEFINED tags.
-
-EXPAND_ONLY_PREDEF     = NO
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
-# pointed to by INCLUDE_PATH will be searched when a #include is found.
-
-SEARCH_INCLUDES        = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by
-# the preprocessor.
-
-INCLUDE_PATH           =
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
-# patterns (like *.h and *.hpp) to filter out the header-files in the
-# directories. If left blank, the patterns specified with FILE_PATTERNS will
-# be used.
-
-INCLUDE_FILE_PATTERNS  =
-
-# The PREDEFINED tag can be used to specify one or more macro names that
-# are defined before the preprocessor is started (similar to the -D option of
-# gcc). The argument of the tag is a list of macros of the form: name
-# or name=definition (no spaces). If the definition and the = are
-# omitted =1 is assumed. To prevent a macro definition from being
-# undefined via #undef or recursively expanded use the := operator
-# instead of the = operator.
-
-PREDEFINED             =
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
-# this tag can be used to specify a list of macro names that should be expanded.
-# The macro definition that is found in the sources will be used.
-# Use the PREDEFINED tag if you want to use a different macro definition that
-# overrules the definition found in the source code.
-
-EXPAND_AS_DEFINED      =
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
-# doxygen's preprocessor will remove all references to function-like macros
-# that are alone on a line, have an all uppercase name, and do not end with a
-# semicolon, because these will confuse the parser if not removed.
-
-SKIP_FUNCTION_MACROS   = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES option can be used to specify one or more tagfiles.
-# Optionally an initial location of the external documentation
-# can be added for each tagfile. The format of a tag file without
-# this location is as follows:
-#
-# TAGFILES = file1 file2 ...
-# Adding location for the tag files is done as follows:
-#
-# TAGFILES = file1=loc1 "file2 = loc2" ...
-# where "loc1" and "loc2" can be relative or absolute paths or
-# URLs. If a location is present for each tag, the installdox tool
-# does not have to be run to correct the links.
-# Note that each tag file must have a unique name
-# (where the name does NOT include the path)
-# If a tag file is not located in the directory in which doxygen
-# is run, you must also specify the path to the tagfile here.
-
-TAGFILES               =
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create
-# a tag file that is based on the input files it reads.
-
-GENERATE_TAGFILE       =
-
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed
-# in the class index. If set to NO only the inherited external classes
-# will be listed.
-
-ALLEXTERNALS           = NO
-
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
-# in the modules index. If set to NO, only the current project's groups will
-# be listed.
-
-EXTERNAL_GROUPS        = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of `which perl').
-
-PERL_PATH              = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
-# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
-# or super classes. Setting the tag to NO turns the diagrams off. Note that
-# this option also works with HAVE_DOT disabled, but it is recommended to
-# install and use dot, since it yields more powerful graphs.
-
-CLASS_DIAGRAMS         = YES
-
-# You can define message sequence charts within doxygen comments using the \msc
-# command. Doxygen will then run the mscgen tool (see
-# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
-# documentation. The MSCGEN_PATH tag allows you to specify the directory where
-# the mscgen tool resides. If left empty the tool is assumed to be found in the
-# default search path.
-
-MSCGEN_PATH            =
-
-# If set to YES, the inheritance and collaboration graphs will hide
-# inheritance and usage relations if the target is undocumented
-# or is not a class.
-
-HIDE_UNDOC_RELATIONS   = YES
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz, a graph visualization
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section
-# have no effect if this option is set to NO (the default)
-
-HAVE_DOT               = NO
-
-# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is
-# allowed to run in parallel. When set to 0 (the default) doxygen will
-# base this on the number of processors available in the system. You can set it
-# explicitly to a value larger than 0 to get control over the balance
-# between CPU load and processing speed.
-
-#DOT_NUM_THREADS        = 0
-
-# By default doxygen will use the Helvetica font for all dot files that
-# doxygen generates. When you want a differently looking font you can specify
-# the font name using DOT_FONTNAME. You need to make sure dot is able to find
-# the font, which can be done by putting it in a standard location or by setting
-# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the
-# directory containing the font.
-
-DOT_FONTNAME           = Helvetica
-
-# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
-# The default size is 10pt.
-
-DOT_FONTSIZE           = 10
-
-# By default doxygen will tell dot to use the Helvetica font.
-# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to
-# set the path where dot can find it.
-
-DOT_FONTPATH           =
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect inheritance relations. Setting this tag to YES will force the
-# CLASS_DIAGRAMS tag to NO.
-
-CLASS_GRAPH            = YES
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect implementation dependencies (inheritance, containment, and
-# class references variables) of the class with other documented classes.
-
-COLLABORATION_GRAPH    = YES
-
-# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for groups, showing the direct groups dependencies
-
-GROUP_GRAPHS           = YES
-
-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
-# collaboration diagrams in a style similar to the OMG's Unified Modeling
-# Language.
-
-UML_LOOK               = NO
-
-# If set to YES, the inheritance and collaboration graphs will show the
-# relations between templates and their instances.
-
-TEMPLATE_RELATIONS     = NO
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
-# tags are set to YES then doxygen will generate a graph for each documented
-# file showing the direct and indirect include dependencies of the file with
-# other documented files.
-
-INCLUDE_GRAPH          = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
-# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
-# documented header file showing the documented files that directly or
-# indirectly include this file.
-
-INCLUDED_BY_GRAPH      = YES
-
-# If the CALL_GRAPH and HAVE_DOT options are set to YES then
-# doxygen will generate a call dependency graph for every global function
-# or class method. Note that enabling this option will significantly increase
-# the time of a run. So in most cases it will be better to enable call graphs
-# for selected functions only using the \callgraph command.
-
-CALL_GRAPH             = NO
-
-# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
-# doxygen will generate a caller dependency graph for every global function
-# or class method. Note that enabling this option will significantly increase
-# the time of a run. So in most cases it will be better to enable caller
-# graphs for selected functions only using the \callergraph command.
-
-CALLER_GRAPH           = NO
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
-# will generate a graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY    = YES
-
-# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
-# then doxygen will show the dependencies a directory has on other directories
-# in a graphical way. The dependency relations are determined by the #include
-# relations between the files in the directories.
-
-DIRECTORY_GRAPH        = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
-# generated by dot. Possible values are svg, png, jpg, or gif.
-# If left blank png will be used. If you choose svg you need to set
-# HTML_FILE_EXTENSION to xhtml in order to make the SVG files
-# visible in IE 9+ (other browsers do not have this requirement).
-
-DOT_IMAGE_FORMAT       = png
-
-# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
-# enable generation of interactive SVG images that allow zooming and panning.
-# Note that this requires a modern browser other than Internet Explorer.
-# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you
-# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files
-# visible. Older versions of IE do not have SVG support.
-
-#INTERACTIVE_SVG        = NO
-
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found in the path.
-
-DOT_PATH               =
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that
-# contain dot files that are included in the documentation (see the
-# \dotfile command).
-
-DOTFILE_DIRS           =
-
-# The MSCFILE_DIRS tag can be used to specify one or more directories that
-# contain msc files that are included in the documentation (see the
-# \mscfile command).
-
-#MSCFILE_DIRS           =
-
-# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
-# nodes that will be shown in the graph. If the number of nodes in a graph
-# becomes larger than this value, doxygen will truncate the graph, which is
-# visualized by representing a node as a red box. Note that doxygen if the
-# number of direct children of the root node in a graph is already larger than
-# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
-# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
-
-DOT_GRAPH_MAX_NODES    = 50
-
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
-# graphs generated by dot. A depth value of 3 means that only nodes reachable
-# from the root by following a path via at most 3 edges will be shown. Nodes
-# that lay further from the root node will be omitted. Note that setting this
-# option to 1 or 2 may greatly reduce the computation time needed for large
-# code bases. Also note that the size of a graph can be further restricted by
-# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
-
-MAX_DOT_GRAPH_DEPTH    = 0
-
-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
-# background. This is disabled by default, because dot on Windows does not
-# seem to support this out of the box. Warning: Depending on the platform used,
-# enabling this option may lead to badly anti-aliased labels on the edges of
-# a graph (i.e. they become hard to read).
-
-DOT_TRANSPARENT        = NO
-
-# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
-# files in one run (i.e. multiple -o and -T options on the command line). This
-# makes dot run faster, but since only newer versions of dot (>1.8.10)
-# support this, this feature is disabled by default.
-
-DOT_MULTI_TARGETS      = YES
-
-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
-# generate a legend page explaining the meaning of the various boxes and
-# arrows in the dot generated graphs.
-
-GENERATE_LEGEND        = YES
-
-# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
-# remove the intermediate dot files that are used to generate
-# the various graphs.
-
-DOT_CLEANUP            = YES
Index: doc/TracFooter.html
===================================================================
--- doc/TracFooter.html	(revision 296)
+++ doc/TracFooter.html	(revision 296)
@@ -0,0 +1,1 @@
+
Index: doc/TracFooter.html
===================================================================
--- doc/TracFooter.html	(revision 296)
+++ 	(revision )
@@ -1,1 +1,0 @@
-
Index: doc/TracHeader.html
===================================================================
--- doc/TracHeader.html	(revision 296)
+++ doc/TracHeader.html	(revision 296)
@@ -0,0 +1,1 @@
+
Index: doc/TracHeader.html
===================================================================
--- doc/TracHeader.html	(revision 296)
+++ 	(revision )
@@ -1,1 +1,0 @@
-
Index: doc/manual/en/index.html
===================================================================
--- doc/manual/en/index.html	(revision 493)
+++ doc/manual/en/index.html	(revision 493)
@@ -0,0 +1,1147 @@
+<html>
+<head>
+  <title>MAVA Logger X User's Manual</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+</head>
+<body>
+  <div align="center"><h1>MAVA Logger X User's Manual</h1></div>
+
+  <h2><a name="overview">Overview</a></h2>
+
+  <p>
+  MAVA Logger X is an application that monitors the execution of a
+  Malév Virtual flight, and collects data that can be sent to
+  the <a href="http://virtualairlines.hu">MAVA website</a> for further
+  evaluation. This manual describes how to use this program. To be
+  able to use all features of the program, you need to have a working
+  Internet connection, even if you don't fly on-line on VATSIM or
+  IVAO. However, it is possible to perform a flight completely offline
+  as well.
+  </p>
+
+  <p><a name="flightRating"/>
+  While monitoring your flight, the program continuously checks if your
+  airplane's configuration is always within the parameters prescribed
+  by the airline's operating procedures. For example, you have to turn
+  on or off the various lights of your aircraft according to rules,
+  you cannot exceed certain weight or speed limits, and so on. Any
+  deviation from the expected parameters, also known as a fault, can
+  result in points subtracted from the initial 100 points (or
+  percentage). The result is your <i>flight rating</i>. Some
+  deviations are so serious, that they are deemed <i>NO GO</i> faults
+  and result in the rejection of your flight.
+  </p>
+
+  <p>
+  Besides the faults the program also monitors many other parameters,
+  which are recorded in a textual <a href="#logTab"><i>log</i></a>.
+  This log is sent as a part of your PIREP
+  (<b>PI</b>lot's <b>REP</b>ort), and will be   analyzed, and possibly
+  commented on by more experienced pilots of  Malév Virtual. This way
+  you can perfect the way you execute your flights.
+  </p>
+
+  <p><a name="flightStages"/>
+  The application breaks up your flight into
+  several <i>stage</i>s. The advancement from one stage to another is
+  detected automatically. These stages and the conditions under which
+  they are entered are as follows:
+  <ol>
+    <li><b>boarding</b>: This is the initial stage when you start the
+    flight.</li>
+    <li><b>push-back and taxi</b>: If you release the parking brakes
+    or your ground speed becomes 5 knots or greater during the
+    boarding stage, your flight enters this stage.</li>
+    <li><b>takeoff</b>: If you turn on the strobe lights
+    during taxi or after a rejected takeoff (RTO). If your plane's
+    strobe lights cannot be detected properly, switching the transponder
+    to mode C causes the program to enter into this stage. If your plane has
+    no strobe lights, the program will track your status after
+    exceeding 50 knots during the <i>taxi</i> stage, and if you lift
+    off within less than 40 seconds, it will be considered a takeoff.</li>
+    <li><b>climb</b>: When you retract the gears or you reach 3000
+    feet altitude AGL with a positive climb rate after takeoff.</li>
+    <li><b>RTO</b>: If you switch off both the landing and the
+    strobe lights, and your speed is reduced below 50 knots while on
+    the ground during takeoff.</li>
+    <li><b>cruise</b>: When the aircraft's altitude is within 2000
+    feet of the cruise altitude and you are climbing.</li>
+    <li><b>descent</b>: If the altitude decreases to more than 2000
+    feet below the cruise altitude during cruise.</li>
+    <li><b>landing</b>: If the gears are lowered and the altitude is
+    less than 2000 feet AGL during descent or go-around.</li>
+    <li><b>go-around</b>: If you retract the gears during landing.</li>
+    <li><b>taxi after landing</b>: When the aircraft is in the
+    ground and its ground speed is below 50 knots after landing.</li>
+    <li><b>end</b>: If the N<sub>1</sub> of the turbines becomes
+    less than 0.5, or the RPM of the piston engines becomes 0 during
+    parking. This is the final stage.</li>
+  </ol>
+
+  <p>
+  To enhance the simulation, the program can play various
+  <a href="#prefsSounds">sound</a> files
+  during the various stages of your flight, such as the announcements
+  made by the flight attendants. These files are supplied with the
+  application, and they can be played automatically, or when you press
+  a certain hotkey in the flight simulator. You can also organize
+  pre-recorded sound files
+  into <a href="#checklistEditor">checklists</a> for the each aircraft
+  type, and these files can also be played back one-by-one when you
+  repeatedly press a key combination in the simulator. See
+  <a href="#prefsSounds">below</a> for more information on this.
+  </p>
+
+  <p><a name="onlineACARSSystem"/>
+  Malév Virtual have implemented an <i>Online ACARS System</i>, which
+  displays the status of the flights in progress. The data appears on
+  the front page of the <a href="http://virtualairlines.hu">MAVA
+  website</a> and also on a
+  <a href="http://virtualairlines.hu/acars2/show.html">map</a>.
+  </p>
+
+  <p><a name="onlineGateSystem"/>
+  Malév Virtual have also implemented an <i>Online Gate System</i>
+  which maintains a database of the aircraft in the airline's fleet
+  and their location. An aircraft may be parked at the Budapest
+  Ferihegy Airport, in which case the number of the gate or stand it
+  is located at is recorded in the database. If so, this number is
+  <a href="#connectPage">displayed</a> to you when starting your
+  flight from Ferihegy, and you are recommended to place your aircraft
+  at the indicated gate or stand in the simulator. If your flight
+  begins at Ferihegy and the aircraft is away (usually due to someone
+  else's flight), you can <a href="#gateSelectionPage">select</a>
+  from which gate or stand you start your flight. The database of the
+  Online Gate System can also be <a href="#gatesTab">displayed</a>
+  by using the application.
+  </p>
+
+  <p>
+  These online systems can only be used when flying online.
+  </p>
+
+  <p>
+  The program can automatically update itself. When it starts up, it
+  checks if there is a newer version available. If so, it downloads
+  its files and replaces the program's current files with the new
+  ones. Then the program is restarted so that you can use the new
+  version. Besides acquiring bug fixes, updating is also important,
+  because the program can be extended with new checks or more refined
+  checks, and if you are using too old a version, the PIREP reviewers
+  may refuse your flight.
+  </p>
+
+  <p>
+  The program also includes a built-in <a href="#bugReportWindow">bug
+  reporting</a> facility, which can be used to report any trouble
+  encountered while using it.
+  </p>
+
+  <h3><a name="gui">Graphical User Interface</a></h3>
+
+  <p>
+  The GUI of the application is made up of traditional building blocks
+  (buttons, checkboxes, lists, text entry boxes, etc.) found in other
+  applications as well. Many such controls have informative tooltips
+  that supplement the contents of this User's Guide in helping you
+  using the application. Many controls are also accessible by pressing
+  the <b>Alt</b> plus the underlined letter in the control's label.
+  </p>
+
+  <p>
+  The most often used part of the program is the main window, to be
+  described in detail below. When you minimize or close the window, it
+  disappears by default, but the program continues to run. You can
+  redisplay the window by clicking on the tray icon of the program,
+  which looks like the one on the picture below.
+  </p>
+
+  <div align="center">
+    <table>
+      <tr>
+        <td>
+          <img src="statusIcon1.png" alt="The status icon" hspace="20"/>
+        </td>
+        <td>
+          <img src="statusIcon2.png" alt="The status icon menu" hspace="20"/>
+        </td>
+    </table>
+  </div>
+
+  <p>
+  If you click on the tray icon when the program's window is hidden,
+  the window will be displayed. If you hover the mouse pointer over
+  the icon, the flight stage and the current rating will be
+  displayed. The tray icon has a right-button menu as well with the
+  following items:
+  <ul>
+    <li><b>Show main window</b>: displays or hides the main window.</li>
+    <li><b>Show monitor window</b>: displays or hides the
+      <a href="#monitorWindow">monitor window</a>.</li>
+    <li><b>Quit</b>: quit the application. A confirmation window will
+    be displayed.</li>
+  </ul>
+  </p>
+
+  <p>
+  You can also quit the application by selecting the <b>File/Quit</b>
+  menu item, or by pressing <b>Ctrl+Q</b>.
+  </p>
+
+  <p>
+  If you start the application, when it is already running, the main
+  window of the already running instance will be displayed instead of
+  starting a new instance of the program.
+  </p>
+
+  <h2><a name="mainWindow">The Main Window</a></h2>
+
+  <p>
+  The figure below depicts the main window of the application. The top
+  of it contains the usual menu bar, which will be described in more
+  detail later. The content area consists of several tabs the use of
+  which is described below.
+  </p>
+
+  <a name="mainWindowShot"/>
+  <div align="center"><img src="mainWindow.png" alt="The main window"/></div>
+
+  <p>
+  The bottom of the window is a status bar. Its left side contains the
+  icon indicating the status of the connection to the simulator. Since
+  the application continuously monitors the parameters of your
+  aircraft, it needs to communicate with the simulator. The icon's
+  colour indicates the health of this communication channel.
+  </p>
+
+  <p>
+  If it is grey, the program is not connected. This is normal before
+  and after the flight. If it is green, the connection is alive and
+  working properly. If it is red, the connection is broken. In this
+  case a dialog window is displayed. The most likely cause for such a
+  disruption is the crash of the simulator. If this is the case,
+  restart the simulator and try to restore the flight to a state as
+  close to the one before the crash as possible. Then click
+  the <b>Reconnect</b> button, and the program will try to
+  re-establish the connection to the simulator. It preserves all data
+  of your flight, so you can continue where you left off easily.
+  </p>
+
+  <p>
+  If the reason for the failure of the connection is something else,
+  do whatever is needed to be done to restore it. Of course, it is
+  possible that the logger application itself fails, in which case
+  you, unfortunately, have to restart the flight. Do not forget to
+  notify the author if this happens. In this case, try to copy and
+  save the <a href="#debugLog">debug log</a> and send it with your bug
+  report.
+  </p>
+
+  <p>
+  If you click the <b>Cancel</b> button in the reconnection dialog,
+  the logger will be reset as if it were stopped and restarted.
+  </p>
+
+  <p>
+  To the right of the connection status icon, you can see the current
+  <a href="#flightStages">stage</a> of the flight, if the monitoring
+  has begun. Otherwise it is a single dash. It is followed by the
+  simulator time, if the program is already connected to the
+  simulator. Then comes the current <a href="#flightRating">flight rating</a>.
+  </p>
+
+  <p>
+  The right of the status bar is normally empty, but if there is some
+  potentially long operation going on (typically communicating with
+  the MAVA servers), information about the operation is displayed
+  here. This is accompanied by the cursor becoming that of signaling
+  a busy state and most parts of the main window becoming
+  unresponsive.
+  </p>
+
+  <h3><a name="tabFlight">The Flight Tab</a></h3>
+
+  <p>
+  The flight tab is the most important tab. It consists of a sequence of
+  pages similar to wizards found in many programs. The first several of
+  these pages guide you through the various steps of the preparations
+  for your flight, while the last pages allow you to enter some
+  information about your flight necessary for its evaluation and to
+  send the PIREP (Pilot's Report) assembled by the program to the MAVA
+  server.
+  </p>
+
+  <p>
+  Each page has a title at the top indicating the purpose of the
+  page. There is a short text below this, which describes what the
+  page contains and/or what is expected from you to do with the page.
+  Below the text you can find the main information and possibly data
+  entry areas for the page. Finally, you can find the button row at
+  the bottom.
+  </p>
+
+  <p>
+  Most of the pages contain two buttons: <b>Next</b> and
+  <b>Previous</b>. These help in navigating between the pages. In most
+  cases you can go back to previously visited pages by using
+  the <b>Previous</b> button, although you cannot edit the contents of
+  some of the pages once finalized by moving to the next page using
+  the <b>Next</b> button. There are a few exceptions though, as
+  detailed below.
+  </p>
+
+  <p>
+  Many of the pages also contain a <b>Cancel flight</b>
+  button. Clicking this button will allow you to cancel the flight and
+  go back to the <a href="#flightSelectionPage">flight selection</a>
+  if you have logged in to the MAVA server, or to the login page, after
+  a confirmation of your intent.
+  </p>
+
+  <h4><a name="loginPage">The <i>Login</i> Page</a></h4>
+
+  <p>
+  The program starts with the Login page (see the
+  <a href="#mainWindowShot">picture</a> above) where you can enter the
+  your pilot's ID and password for the MAVA website. Both data are
+  given to you when joining Malév Virtual. The pilot's ID usually
+  starts with the letter <q>P</q> followed by three digits.
+  </p>
+
+  <p>
+  If you check <b>Remember password</b>, the password will be saved by
+  the program, so you don't have to enter it all the time. Note,
+  however, that the password is saved in a readable form into a
+  configuration file, so use this possibility only if your home
+  directory can be accessed only by people you trust. The pilot's ID
+  is saved anyway.
+  </p>
+
+  <p>
+  If you are about to perform the entrance flight, check
+  <b>Entrance exam</b>. In this case you don't have to (and cannot)
+  enter the password, as that is not needed for the entrance exam.
+  </p>
+
+  <p>
+  The login to the MAVA server, and proceed to the next page, press
+  the <b>Login</b> button.
+  </p>
+
+  <p>
+  If you would like to fly without an Internet connection, use
+  the <b>Fly offline</b> button. This immediately takes you to the
+  next page, without trying to log in to the MAVA server.
+  </p>
+
+  <h4><a name="flightSelectionPage">The <i>Flight selection</i> Page</a></h4>
+
+  <img src="flightSelection.png" alt="The Flight selection page"/>
+
+  <p>
+  This page displays the list of the flight you have booked previously
+  on the MAVA website, if you have <a href="#loginPage">logged in</a>
+  properly. If you chose to fly offline, the list is empty.
+  </p>
+
+  <p>
+  If you have selected a flight, you can also save it by using
+  the <b>Save flight</b> button. This is useful when planning to fly
+  offline at some later time. When preparing for that flight, you can
+  properly log in to the MAVA server, and acquire the list of your
+  booked flights. Then you can save the flight you wish to perform
+  later offline, on which occasion, you can load the saved flight.
+  </p>
+
+  <p>
+  You may need to refresh the list of flights. For example, you notice
+  that you have forgotten to book the flight you want to perform. Then
+  you can book the flight on the MAVA website, and press
+  the <b>Refresh flights</b> button to update the list.
+  </p>
+
+  <p>
+  You can also load a flight from a file by  pressing the <b>Load
+  flight from file</b> button. This displays a file selection dialog
+  where you select the flight file (usually with a suffix
+  of <code>.vaflight</code>). This is mostly useful when flying
+  offline, or during the entrance exam.
+  </p>
+
+  <p>
+  Select a flight from the list, and press the <b>Next</b> button to
+  proceed with that flight.
+  </p>
+
+  <h4><a name="gateSelectionPage">The <i>LHBP gate selection</i> Page</a></h4>
+
+  <img src="gateSelection.png" alt="The LHBP gate selection page"/>
+
+  <p>
+  This page is displayed after the flight selection page only if your
+  flight starts at the Budapest Ferihegy Airport and the number of the
+  gate or stand at which your aircraft is located cannot be
+  determined.
+  </p>
+
+  <p>
+  Select a number from the list presented, and press <b>Next</b>.
+  </p>
+
+  <h4><a name="connectPage">The <i>Connect to the simulator</i> Page</a></h4>
+
+  <img src="connect.png" alt="The Connect to the simulator page"/>
+
+  <p>
+  This page displays some important information about your flight,
+  such as the type and tail number of the aircraft to use, the
+  departure airport and possibly the gate.
+  </p>
+
+  <p>
+  Select the aircraft indicated and park it at the departure airport
+  in the simulator,
+  then press <b>Connect</b> to establish the connection with the
+  simulator. If the connection cannot be established, a dialog will be
+  displayed about it, and you can <b>Try again</b> the connection
+  or <b>Cancel</b> to go back to the flight selection or to the login page.
+  </p>
+
+  <p>
+  Note, that after a successful connection, the monitoring of your
+  flight does not begin immediately, but some data can be queried by
+  the logger at this stage.
+  </p>
+
+  <h4><a name="payloadPage">The <i>Payload</i> Page</a></h4>
+
+  <img src="payload.png" alt="The Payload page"/>
+
+  <p>
+  This page displays the components of the flight's payload and the
+  calculated Zero-Fuel Weight (ZFW). You can modify all input data,
+  but generally it is needed to enter the cargo weight you determined
+  for the flight, if it is different from 0. You can also press the <b>ZFW
+  from FS</b> button, which queries the ZFW from the simulator and
+  displays the retrieved value. If the ZFW calculated from the payload
+  data differs too much from the queried one, the calculated value is
+  displayed in red. This the right time to set up the payload in the
+  simulator. If you forget about it, it will be a NO GO fault.
+  </p>
+
+  <p>
+  If you have finished with this page, press the <b>Next</b>
+  button. At this point, the <a href="#helpTab"><i>Help</i> tab</a>
+  becomes available, which you can use if you have failed to set up
+  the correct payload in the simulator. See a more detailed
+  description of it <a href="#helpTab">below</a>.
+  </p>
+
+  <h4><a name="timePage">The <i>Time</i> Page</a></h4>
+
+  <img src="time.png" alt="The Time page"/>
+
+  <p>
+  This page displays the departure and arrival times of your
+  flight in UTC. Press the <b>Time from FS</b> button to query the
+  current UTC time of the simulator. To be able to simulate the real
+  lighting circumstances of the flight, the simulator's time should match
+  the time of the flight according to the schedule. Therefore you are
+  expected to set the simulator's time properly. It is recommended to
+  set it to about 15 minutes before the departure at this stage so
+  that you have enough time to set up your flight.
+  </p>
+
+  <p>
+  When you have set the time of the simulator properly, press
+  the <b>Next</b> button.
+  </p>
+
+  <h4><a name="fuelPage">The <i>Fuel</i> Page</a></h4>
+
+  <img src="fuel.png" alt="The Fuel page"/>
+
+  <p>
+  This page contains a graphical representation of the fuel tanks of
+  your aircraft. The yellowish colour represents the current level of
+  the fuel in the tank, and turquoise slider is the expected level,
+  which is also displayed numerically (in kilograms) below each graph.
+  </p>
+
+  <p>
+  You can enter the requested amount of fuel numerically, or you can
+  set it by the turquoise sliders, though this method is less accurate. The
+  lever can be moved by clicking withinin the fuel tank's representation,
+  and you can drag it if you keep the button pressed. If your mouse
+  has a wheel, that can also be used to modify the expected level. To
+  use the wheel, keep the mouse pointer within the fuel tank's
+  graphic. Each click of the wheel increment or decrements the amount
+  by 10 kilograms. If you hold down the <b>Shift</b> key, the
+  increment will be 100, if you hold down the <b>Ctrl</b> key, the
+  increment will be 1.
+  </p>
+
+  <p>
+  When all tanks have the correct amount of fuel set, press
+  the <b>Next</b> button. This causes the pumping of the fuel to
+  start. The progress is represented by the yellowish fuel bars
+  growing or shrinking (fuel may be pumped out of a tank as
+  well). This is a relatively quick process and should finish within a
+  few seconds.
+  </p>
+
+  <h4><a name="routePage">The <i>Route</i> Page</a></h4>
+
+  <img src="route.png" alt="The Route page"/>
+
+  <p>
+  This page displays the cruise level and the flight plan route. The
+  cruise level starts out at FL240, but the route comes from the
+  booked flight. Set the cruise level to the one you have calculated
+  with, and modify the flight plan if needed. For example, if you will
+  enter some airspace that will require you to change the flight
+  level, you should add that here.
+  </p>
+
+  <p>
+  When satisfied with the information on the page, press
+  the <b>Next</b> button to advance. Note, that these data can be
+  edited later as well if you come back to this page.
+  </p>
+
+  <h4><a name="briefingPage">The <i>Briefing</i> Pages</a></h4>
+
+  <img src="briefing.png" alt="The Briefing page"/>
+
+  <p>
+  These pages display the NOTAMs and the METAR for the departure and
+  the arrival airports. You can edit the METAR if your network
+  provides a different weather, or you do not fly with real
+  weather. The METAR of the arrival airport will be updated when
+  entering the landing stage, unless you have edited it before. The
+  METARs can be edited during the whole duration of the flight. If you
+  do so, please, comment on it in the <i>Comments</i> section of
+  the <a href="#flightInfoTab"><i>Flight info</i> tab</a>.
+  </p>
+
+  <p>
+  On the second briefing page (that of the arrival airport), confirm
+  that you have read the briefing and are ready to start the flight by
+  clicking the button. This begins the monitoring of your flight with
+  the boarding stage.
+  </p>
+
+  <h4><a name="takeoffPage">The <i>Takeoff</i> Page</a></h4>
+
+  <img src="takeoff.png" alt="The Takeoff page"/>
+
+  <p>
+  On this page you have to enter the name of the departure runway, the
+  name of the Standard Instrument Departure procedure you follow after
+  takeoff and the takeoff V-speeds. While you can edit these data
+  anytime, it is recommended to do so before takeoff.
+  <p>
+
+  <p>
+  Note that if you are flying one of the Tupolev or Yak aircraft, the
+  page will look different, as speeds will have to be entered in
+  kilometres per hour.
+  </p>
+
+  <p>
+  For most aircraft in the fleet you should also enter the takeoff
+  derate setting. Its exact format and value depends on the type.
+  </p>
+
+  <p>
+  You can also select here whether you have turned on any anti-ice
+  systems (apart from the pitot heat). However, for most aircraft, the
+  logger can detect the setting, and if anti-icing is turned on, the
+  check box will be checked automatically. If you have checked it
+  yourself, it will not be unchecked by the program (unless it gains
+  self-awareness sometime in the future).
+  </p>
+
+  <p>
+  You can proceed to the next page after takeoff, and if all data has
+  been entered, by pressing the <b>Next</b> button.
+  </p>
+
+  <h4><a name="cruisePage">The <i>Cruise</i> Page</a></h4>
+
+  <img src="cruise.png" alt="The Cruise page"/>
+
+  <p>
+  This page displays your cruise altitude as set on the
+  <a href="#routePage">Route page</a>. If you need to modify your
+  cruise level due to airspace requirements, step climb or any other
+  justified reason, you can set the new level here and then press
+  the <b>Update</b> button when you have reached the specified level.
+  </p>
+
+  <p>
+  If you are preparing for landing, you can press the <b>Next</b>
+  button to go to the next page.
+  </p>
+
+  <h4><a name="landingPage">The <i>Landing</i> Page</a></h4>
+
+  <img src="landing.png" alt="The Landing page"/>
+
+  <p>
+  On this page you have to enter the name of the STAR and/or
+  transition you planned to follow (even if you get a different one,
+  or simply vectors from ATC, in which case add a
+  <a href="#flightInfoTab">comment</a> about it),
+  the approach type (e.g. <q>ILS</q>, <q>VOR</q>, <q>VISUAL</q>,
+  etc.), the name of the landing runway, and the landing reference speed,
+  V<sub>ref</sub>. You can enter this data during the flight, or after
+  you have landed, at your discretion. Note, that if you fly one of
+  the Tupolev or Yak aircraft, the speed will have to be entered in km/h.
+  </p>
+
+  <p>
+  This page also contains a checkbox for the anti-ice system, which is
+  handled the same way as the one on
+  the <a href="#takeoffPage">Takeoff page</a>.
+
+  <p>
+  When you have entered all data, press the <b>Next</b> button. It is
+  active only, if the flight has ended.
+  </p>
+
+  <h4><a name="finishPage">The <i>Finish</i> Page</a></h4>
+
+  <img src="finish.png" alt="The Finish page"/>
+
+  <p>
+  This is the final page of the flight wizard. It contains a summary
+  of your flight: the rating, the flight and block times, the distance
+  flown and the amount of fuel burnt.
+  </p>
+
+  <p>
+  You also have to provide a few pieces of information. You have to
+  select the type of the flight from the list provided (scheduled,
+  old-timer, VIP, charter) and whether it was an online flight or
+  not. If you arrive at the Budapest Ferihegy Airport, and are using
+  the Online Gate System, you also need to specify the number of the
+  gate or stand you have parked you aircraft at.
+  </p>
+
+  <p>
+  If all necessary data has been entered, and the program is so
+  <a href="#prefsGeneral">configured<a>, it will automatically save
+  the PIREP.
+  </p>
+
+  <p>
+  With all data entered, you may want it review your flight (i.e. the
+  earlier pages or some of the other tabs), then save or send the
+  PIREP created from it. These can be accomplished by pressing one of
+  the buttons at the bottom. A saved PIREP can be loaded later and
+  sent, if the sending fails for some reason. When a PIREP is sent, it
+  becomes available for review by the designated PIREP reviewers of
+  Malév Virtual.
+  </p>
+
+  <p>
+  You can also start a new flight using the <b>New flight</b>
+  button. If you have not saved or sent the PIREP, you will be asked
+  to confirm your intention. When starting a new flight you are taken
+  to the <a href="#flightSelectionPage">flight selection page</a>, if
+  you have logged in to the MAVA server, or to
+  the <a href="#loginPage">login page</a>, if your flight has been an
+  offline flight.
+  </p>
+
+  <h3><a name="flightInfoTab">The Flight info Tab</a></h3>
+
+  <img src="flightInfoTab.png" alt="The Flight info tab"/>
+
+  <p>
+  This tab allows one to enter some additional information about the
+  flight, if necessary.
+  </p>
+
+  <p>
+  The <i>Comments</i> text area should contain any general information
+  that you would like the PIREP reviewer to know about. For example,
+  why you changed the METAR, why you lowered the gears accidentally
+  (i.e. pressed the wrong key on the keyboard), etc.
+  </p>
+
+  <p>
+  The <i>Flight defects</i> text area should contain information about
+  any problems you encountered with the plane during the flight. For
+  example an engine stopped and why (if known), that flaps could not
+  be extended or retracted, etc.
+  </p>
+
+  <p>
+  In the <i>Delay codes</i> table you can mark one or more reasons why
+  the flight was delayed, if it was. This table is available only if you
+  have already selected the flight, since its contents depend on the
+  type of the aircraft being flown.
+  </p>
+
+  <h3><a name="helpTab">The Help Tab</a></h3>
+
+  <img src="helpTab.png" alt="The Help tab"/>
+
+  <p>
+  This tab provides some help for calculating and setting the payload
+  weight of the aircraft. It can be used once the
+  <a href="#payloadPage"><i>Payload</i></a>
+  (i.e. the cargo weight) is finalized. To use this tab, check
+  the <b>Using help</b> checkbox. It causes the page to become
+  sensitive and filled with data. Note, that the fact of using the
+  help is <a href="#logTab">logged</a>, so the PIREP reviewers will
+  know about it.
+  </p>
+
+  <p>
+  The most important information is after the <i>Payload:</i> label,
+  which is the payload weight of the aircraft. This value should be
+  set in the simulator as the airplane's payload weight. By pressing
+  the <b>Simulator data</b> button, the data coming from the simulator
+  can be queried and displayed. If the data is out of the tolerances,
+  it is displayed in red, otherwise in green.
+  </p>
+
+  <p>
+  The gross weight is also displayed with some maximum weights of the
+  aircraft, so it can be checked or estimated if you will remain within
+  those maximums during the flight.
+  </p>
+
+  <h3><a name="logTab">The Log Tab</a></h3>
+
+  <img src="logTab.png" alt="The Log tab"/>
+
+  <p>
+  This is the main log of your flight that will be analyzed by the
+  PIREP reviewers. Its contents is generated automatically by the
+  program, and most lines are prefixed by the simulator times the
+  information in the given line belongs to.
+  </p>
+
+  <p>
+  While the log's contents is mainly useful for PIREP reviewers, it
+  can come handy when things start to happen very fast, and you have
+  no time check each fault message passing by (if you have enabled
+  such messages at all). Later, when things calm down, you can check
+  the log to see what happened exactly, so that you know why so many
+  fault points have been awarded. For example, you may even decide to
+  abort the flight, if you think some of the faults are too
+  embarrassing :) For quick identification, the lines containing the
+  fault messages are highlighted.
+  </p>
+
+  <h3><a name="gatesTab">The Gates Tab</a></h3>
+
+  <img src="gatesTab.png" alt="The Gates tab"/>
+
+  <p>
+  This tab displays information retrieved from
+  the MAVA <a href="#onlineGateSystem">Online Gate System</a>.
+  If the program needs to retrieve data, this tab's contents
+  are refreshed automatically, but you can also refresh them manually
+  anytime using the <b>Refresh data</b> button.
+  </p>
+
+  <p>
+  The left side of the tab contains the fleet information. The tail
+  number of each aircraft is listed with the plane's status, as known
+  by the Online Gate System. The two major statuses are <i>LHBP-nn</i>
+  and <i>AWAY</i>. The former indicates that the aircraft is parked at
+  the Budapest Ferihegy Airport at gate or stand <i>nn</i>, while the
+  latter one denotes that the airplane is parked at another
+  airport. Another possible status is <i>PARKED</i>, which means that
+  the airplane is parked somewhere at the Ferihegy Airport, but we
+  (or at least the Gate System) don't know where. It may happen that
+  several aircraft are parked at the same gate or stand at
+  Ferihegy. In this case the tail numbers and the statuses of those
+  airplanes are displayed in red.
+  </p>
+
+  <p>
+  The right side contains the list of the numbers of the gates and
+  parking positions. A number is black if no aircraft is positioned at
+  the corresponding gate or stand, and it is orange, if the location
+  is occupied.
+  </p>
+
+  <h3><a name="debugLog">The Debug log</a></h3>
+
+  <img src="debugLogTab.png" alt="The Debug log tab"/>
+
+  <p>
+  This tab is not visible by default, but can be displayed by
+  selecting <b>View/Show debug log</b> or by
+  pressing <b>Ctrl+D</b>. It is another kind of log, which is mainly
+  useful for debugging. If you experience some problem with the
+  program, please, include the contents of this log with your bug
+  report. It can help a lot with finding a solution to the problem.
+  </p>
+
+  <h2><a name="loadingPIREPs">Loading PIREPs</a></h2>
+
+  <p>
+  Saved PIREPs can be loaded and sent by the program. This can
+  become necessary, for example, if you cannot send a PIREP due to
+  some network problem right after your flight, or when you
+  deliberately performed a flight without connecting to the Internet.
+  </p>
+
+  <p>
+  To load a PIREP select the <b>File/Load PIREP...</b> menu option or
+  press the <b>Ctrl+L</b> key. A file selection dialog appears, from
+  which you can select the PIREP to load. If you select a valid PIREP
+  file, it will be loaded and a new window will be displayed with the
+  most important data of your flight. By clicking <b>Send
+  PIREP...</b>, the PIREP will be sent (or at least an attempt will be
+  made at sending it). A dialog window will be displayed about the
+  results of the attempt.
+  </p>
+
+  <div align="center">
+    <img src="pirepLoaded.png" alt="The loaded PIREP window"/>
+  </div>
+
+  <p>
+  You may also want to view a saved PIREP, for example, if it is a
+  PIREP about an entrance exam flight. To do so, click the <b>View
+  PIREP...</b> button. This displays the PIREP viewer window, which
+  groups the data into three tabs. The <i>Data</i> tab contains the
+  itemized data of the flight. The <i>Comments & defects</i> tab
+  displays the comments and or flight defects entered by the
+  user. The <i>Log</i> tab contains the flight log.
+  </p>
+
+  <div align="center">
+    <img src="pirepViewer.png" alt="The PIREP Viewer"/>
+  </div>
+
+  <h2><a name="checklistEditor">Editing checklists</a></h2>
+
+  <img src="checklistEditor.png" alt="The Checklist Editor"/>
+
+  <p>
+  The checklists are lists of audio files. When checklist playback is
+  enabled (see the <a href="#prefsSounds">description</a> of
+  the <i>Preferences</i> window below), and there is a checklist for
+  the type of the aircraft used for the flight, the files constituting
+  the checklist can be played one-by-one by pressing the checklist
+  hotkey repeatedly.
+  </p>
+
+  <p>
+  The checklist editor window allows for editing the checklists. It
+  can be displayed by selecting <b>Tools/Checklist Editor...</b> or
+  pressing <b>Ctrl+C</b>. The top of the window contains an aircraft
+  type selector.
+  </p>
+
+  <p>
+  The files making up the checklist for the currently selected aircraft
+  are displayed on the right. You can move a file up or down by
+  dragging it with the mouse. You can also select one or more files
+  from the list. Then you can remove them with the <b>Remove</b>
+  button, or move them up or down by pressing <b>Move up</b>
+  and <b>Move down</b>.
+  </p>
+
+  <p>
+  To add new files to the checklist, select them in the file selector
+  on the left, and press <b>Add to checklist</b>. The file(s) will be
+  appended to the end of the checklist.
+  </p>
+
+  <p>
+  Note, that any changes you make are effective only if you press
+  the <b>OK</b> button when having finished the modifications. If the
+  flight has already started, no changes made to the corresponding
+  checklist have any effect during the flight (i.e. you will still use
+  the old checklist, or no checklist if there was none).
+  </p>
+
+  <h2><a name="calloutsEditor">Editing approach callouts</a></h2>
+
+  <img src="calloutsEditor.png" alt="The Approach callouts Editor"/>
+
+  <p>
+  The approach callouts are audio files specific to aircraft types, that are
+  played back during approach when passing certain altitudes. The
+  approach callouts editor window allows editing the list of these
+  callout files for each aircraft. The window can be displayed by
+  selecting  <b>Tools/Approach Callouts Editor...</b> or by  pressing
+  <b>Ctrl+E</b>.
+  </p>
+
+  <p>
+  The top part of the window displays the selector of the aircraft
+  type. Below it, you can find two buttons on the left, and the list
+  of the callouts with the altitudes they belong to on the right. The
+  list displays only the filename portion, but the if you hover the
+  cursor above an item, the full path will be displayed. The list is
+  always sorted according to the altitude, but you change the order
+  from descending to ascending.
+  </p>
+
+  <p>
+  The <b>Add new callout</b> button shows a file selection dialog
+  window. After selecting a file, it will be added to a list with some
+  altitude, which can be edited immediately. If the name of the file
+  contains a number that is possible as an altitude, that will be used
+  as the altitude given to the file, otherwise some meaningful default
+  is selected based on the lowest or highest altitude.
+  There can be no two files with the same altitude. If you set an
+  altitude, which is already present in the list, a dialog box will be
+  displayed, and you can choose to replace the old file or to continue
+  editing. To edit an altitude already in the list, select that row,
+  and click on the altitude again.
+  </p>
+
+  <p>
+  If you select one or more items in the list, the <b>Remove</b>
+  button becomes available, and pressing it will remove the selected items.
+  </p>
+
+  <p>
+  Note, that any changes you make are effective only if you press
+  the <b>OK</b> button when having finished the modifications. If the
+  flight has already started, no changes made to the corresponding
+  list of callouts have any effect during the flight.
+  </p>
+
+  <h2><a name="prefs">The Preferences Window</a></h2>
+
+  </p>
+  The Preferences window can be displayed by
+  selecting <b>Tools/Preferences</b> or by
+  pressing <b>Ctrl+P</b>. Here you can set options that you usually
+  don't have to change for every flight. This window consists of
+  tabs grouping the options logically.
+  </p>
+
+  <h3><a name="prefsGeneral">The <i>General</i> Tab<a></h3>
+
+  <img src="prefsGeneral.png" alt="The General Tab of Preferences"/>
+
+  <p>
+  These are some general settings for various parts of the
+  program. The <i>GUI</i> frame contains options regarding the
+  behaviour of the graphical user interface. The <i>Language</i> combo
+  box can be used to selected what language the program should
+  use. Currently English and Hungarian are supported. The value
+  of <i>system default</i> means that the operating system's default
+  language is used if it is one of the supported ones or English
+  otherwise. Note, that the program must be restarted for the change
+  to take effect if you modify this setting. If the <b>Hide main window
+  when minimized</b> checkbox is checked, and you minimize the window,
+  it will actually disappear completely (i.e. not appear among the
+  other minimized windows). You can make it appear by using the tray
+  icon. If the <b>Quit when the window close button is clicked</b>
+  checkbox is checked, the program will quit, after you have confirmed
+  it. Otherwise it will just disappear, and you can use the tray icon
+  to display it again.
+  </p>
+
+  <p>
+  The <i>MAVA Online Systems</i> frame contains settings related to
+  the online systems of MAVA, the <a href="#onlineGateSystem">gate</a>
+  and the <a href="#onlineACARSSystem">ACARS</a> systems mentioned
+  above. It is recommended to enable these for normal operations.
+  </p>
+
+  <p>
+  The <i>Simulator</i> frame contains settings for how the program
+  interacts with the simulator. Most options are self-explanatory, but
+  the ones related to smoothing requires some discussion. Flight
+  Simulator is known to produce wind speed changes that are not
+  entirely realistic and can result in the simulated aircraft
+  experiencing some very high indicated airspeeds, which in turn can
+  also cause the autopilot to suddenly increase the climb rate to
+  counter the high speeds or other erratic behaviour. Since these
+  phenomena are difficult to protect oneself against without buying
+  extra products, like FSUIPC, the logger provides the possibility to
+  average the IAS and/or the VS over a few seconds so that spikes in
+  these values are smoothed. The <b>Enable the smoothing of IAS/VS
+  over N sec.</b> options allow controlling this feature. The number
+  of seconds may need experimenting with, but note that every change
+  for which you press the <b>OK</b> button is taken into account
+  immediately.
+  </p>
+
+  <p>
+  If the <b>Save PIREP automatically</b> check box is checked, and you
+  have finished your flight and entered all required data, the PIREP
+  will be saved automatically into the directory given above.
+  </p>
+
+  <h3><a name="prefsMessages">The <i>Messages</i> Tab</a></h3>
+
+  <img src="prefsMessages.png" alt="The Messages Tab of Preferences"/>
+
+  <p>
+  The program can display messages about certain events in the
+  simulator and/or it can play a warning sound when those events
+  occur. The tab allows configuring this.
+  <p>
+
+  <p>
+  The categories of the message are listed on the left. These are the
+  following:
+  </p>
+
+  <ul>
+    <li><b>Logger Error Messages</b>: error messages about the
+    internal working of the logger.</li>
+    <li><b>Information Messages</b>: informational messages about,
+    e.g., the flight stage, the end of an audio checklist, etc.</li>
+    <li><b>In-flight Stage Message</b>: messages about the flight stage for those stage when the plane is not on the ground</li>
+    <li><b>Fault Messages</b>: messages about the non-NO GO faults the program detects.</li>
+    <li><b>NO GO Fault Messages</b>: messages about the NO GO faults the program detects</li>
+    <li><b>Gate System Messages</b>: messages related to the
+    <a href="#onlineGateSystem">Online Gate System</a>. For example,
+    when you have landed at Ferihegy, it can display the list of the
+    available gates so that you can choose where to park, if there is
+    no ATC available.</li>
+    <li><b>Environment Messages</b>: other messages, e.g. the welcome
+    message when the flight has ended.</li>
+    <li><b>Help Messages</b>: help messages, e.g. warning about
+    entering the V-speeds into the Takeoff page before takeoff.</li>
+    <li><b>Visibility Messages</b>: messages about the visibility
+    during descent and landing.</li>
+  </ul>
+
+  <p>
+  There are two checkboxes associated with each messages category. If the
+  left one (<i>Displayed in FS</i>) is checked, the messages of the
+  category will be displayed in the simulator. If the right one
+  (<i>Sound alert</i>) is checked, and a message of the given category
+  is about to be displayed, a warning sound will be played. It is
+  mainly intended to accompany the text messages, but the two options
+  can be controlled separately, so you can select the sound alert, but
+  not the displaying of the messages. This may be useful if you don't
+  want these messages to clutter up the windscreen of your aircraft,
+  but still get some notification that some problem occurred.
+  </p>
+
+  <h3><a name="prefsSounds">The <i>Sounds</i> Tab</a></h3>
+
+  <img src="prefsSounds.png" alt="The Sounds Tab of Preferences"/>
+
+  <p>
+  This tab controls how the sounds are played by the application.
+  </p>
+
+  <p>
+  The top part is for the background sounds. These are pre-recorded
+  sound files that are played when certain conditions hold during the
+  flight. Typical examples are the various announcements the flight
+  attendants make during the flight. The <b>Enable background
+  sounds</b> checkbox controls whether such sounds are enabled at
+  all. If the <b>Pilot controls sounds</b> checkbox is enabled, the
+  pilot should start the playback of these sound files by pressing a
+  hotkey in the simulator. Note, that you should still be in the right
+  flight stage (and sometimes fulfill other conditions) to be able to
+  play the sound files. Also, one file can be played only once. If you
+  enable this option, the hotkey to press in the simulator can be
+  selected below. You can choose one of the alphanumeric keys (0-9,
+  A-Z) optionally combined with one or both of the <i>Ctrl</i>
+  and <i>Shift</i> modifiers. If this checkbox is not checked, the
+  sound files will be played automatically.
+  </p>
+
+  <p>
+  If the <b>Enable approach callouts</b> checkbox is
+  checked, and you have also <a href="#calloutsEditor">set up</a>
+  approach callouts for the aircraft being used, you will hear those
+  callouts during approach.
+  </p>
+
+  <p>
+  If the <b>Enable speedbrake sound at touchdown</b> checkbox is
+  checked, you will hear a distinctive sound when the spoilers deploy
+  automatically after touchdown.
+  </p>
+
+  <p>
+  The lower part, named <i>Checklists</i> contains some settings
+  related to the audio checklists belonging to the aircraft. They are
+  available only if the <b>Enable aircraft-specific checklist</b>
+  checkbox is selected. In this case another hotkey should be
+  specified. If you press this hotkey, the next file from the
+  checklist will be played.
+  </p>
+
+  <h3><a name="prefsAdvanced">The <i>Advanced</i> Tab</a></h3>
+
+  <img src="prefsAdvanced.png" alt="The Advanced Tab of Preferences"/>
+
+  <p>
+  This tab contains some settings that you normally should not
+  change. Currently, these settings are related to the automatic
+  update. If the <b>Update the program automatically</b> checkbox is
+  not checked, the automatic update at program start-up will be
+  omitted. The <i>Update URL</i> text entry field contains the URL
+  from which to download the updates. Occasionally the developers of
+  the application may tell you to change this something else, e.g. to
+  test some development version. Or it may need to be changed due to
+  organizational reasons, such as moving to a new server, etc.
+  </p>
+
+  <h2><a name="bugReportWindow">The Bug Report Window</a></h2>
+
+  <img src="bugreport.png" alt="The Bug Report Window"/>
+
+  <p>
+  The bug reporting window can be used to report any non-fatal bugs
+  that occur during using the program. Bugs can be reported to
+  appropriate topic in the MAVA forum, via e-mail or tickets created
+  by hand on the project's website. However, utilizing this window not
+  only creates the ticket, it also includes automatically the texts of
+  the log and the debug log, making the life of the developers
+  easier. Of course, it might happen that the program crashes in a way
+  which makes this window inaccessible or to work incorrectly, in
+  which case you must resort to the other possibilities.
+  </p>
+
+  <p>
+  The bug report window can be displayed by selecting <b>Tools/Report
+  bug</b> or by pressing <b>Ctrl+B</b>. The summary must be entered
+  and it should be a short, one-sentence description or title of the
+  problem. The <i>Description</i> part is not mandatory, but if you
+  can think of any useful additional information, you might give it
+  here. As the program automatically appends the log and the debug to
+  the description, you should not copy them here. You can also give
+  your e-mail address to receive automatic notifications of the status
+  of your bug report, but consider that your e-mail address will then
+  appear on the project's website in the bug report.
+  </p>
+
+  <p>
+  By pressing <i>Send...</i>, you can create the bug report. If it is
+  successful, you will receive a message telling so and including the
+  ticket's ID that you may refer to later.
+  </p>
+
+  <h2><a name="monitorWindow">The Monitor Window</a></h2>
+
+  <img src="monitorWindow.png" alt="The Monitor Window"/>
+
+  <p>
+  The monitor window can be used when debugging the program. You can
+  display it by selecting <b>View/Show monitor window</b> or by
+  pressing <b>Ctrl+M</b>. It displays the various parameters from the
+  aircraft as read from the flight simulator. During flight, it is
+  updated once per second. If something is not detected properly by
+  the logger, this window can be used to determine if the problem is
+  in interpreting and translating the data read from the simulator, or
+  when the translated data is being evaluated by other parts of the
+  program.
+  </p>
+
+</html>
Index: doc/manual/en/index.html
===================================================================
--- doc/manual/en/index.html	(revision 493)
+++ 	(revision )
@@ -1,1147 +1,0 @@
-<html>
-<head>
-  <title>MAVA Logger X User's Manual</title>
-  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-</head>
-<body>
-  <div align="center"><h1>MAVA Logger X User's Manual</h1></div>
-
-  <h2><a name="overview">Overview</a></h2>
-
-  <p>
-  MAVA Logger X is an application that monitors the execution of a
-  Malév Virtual flight, and collects data that can be sent to
-  the <a href="http://virtualairlines.hu">MAVA website</a> for further
-  evaluation. This manual describes how to use this program. To be
-  able to use all features of the program, you need to have a working
-  Internet connection, even if you don't fly on-line on VATSIM or
-  IVAO. However, it is possible to perform a flight completely offline
-  as well.
-  </p>
-
-  <p><a name="flightRating"/>
-  While monitoring your flight, the program continuously checks if your
-  airplane's configuration is always within the parameters prescribed
-  by the airline's operating procedures. For example, you have to turn
-  on or off the various lights of your aircraft according to rules,
-  you cannot exceed certain weight or speed limits, and so on. Any
-  deviation from the expected parameters, also known as a fault, can
-  result in points subtracted from the initial 100 points (or
-  percentage). The result is your <i>flight rating</i>. Some
-  deviations are so serious, that they are deemed <i>NO GO</i> faults
-  and result in the rejection of your flight.
-  </p>
-
-  <p>
-  Besides the faults the program also monitors many other parameters,
-  which are recorded in a textual <a href="#logTab"><i>log</i></a>.
-  This log is sent as a part of your PIREP
-  (<b>PI</b>lot's <b>REP</b>ort), and will be   analyzed, and possibly
-  commented on by more experienced pilots of  Malév Virtual. This way
-  you can perfect the way you execute your flights.
-  </p>
-
-  <p><a name="flightStages"/>
-  The application breaks up your flight into
-  several <i>stage</i>s. The advancement from one stage to another is
-  detected automatically. These stages and the conditions under which
-  they are entered are as follows:
-  <ol>
-    <li><b>boarding</b>: This is the initial stage when you start the
-    flight.</li>
-    <li><b>push-back and taxi</b>: If you release the parking brakes
-    or your ground speed becomes 5 knots or greater during the
-    boarding stage, your flight enters this stage.</li>
-    <li><b>takeoff</b>: If you turn on the strobe lights
-    during taxi or after a rejected takeoff (RTO). If your plane's
-    strobe lights cannot be detected properly, switching the transponder
-    to mode C causes the program to enter into this stage. If your plane has
-    no strobe lights, the program will track your status after
-    exceeding 50 knots during the <i>taxi</i> stage, and if you lift
-    off within less than 40 seconds, it will be considered a takeoff.</li>
-    <li><b>climb</b>: When you retract the gears or you reach 3000
-    feet altitude AGL with a positive climb rate after takeoff.</li>
-    <li><b>RTO</b>: If you switch off both the landing and the
-    strobe lights, and your speed is reduced below 50 knots while on
-    the ground during takeoff.</li>
-    <li><b>cruise</b>: When the aircraft's altitude is within 2000
-    feet of the cruise altitude and you are climbing.</li>
-    <li><b>descent</b>: If the altitude decreases to more than 2000
-    feet below the cruise altitude during cruise.</li>
-    <li><b>landing</b>: If the gears are lowered and the altitude is
-    less than 2000 feet AGL during descent or go-around.</li>
-    <li><b>go-around</b>: If you retract the gears during landing.</li>
-    <li><b>taxi after landing</b>: When the aircraft is in the
-    ground and its ground speed is below 50 knots after landing.</li>
-    <li><b>end</b>: If the N<sub>1</sub> of the turbines becomes
-    less than 0.5, or the RPM of the piston engines becomes 0 during
-    parking. This is the final stage.</li>
-  </ol>
-
-  <p>
-  To enhance the simulation, the program can play various
-  <a href="#prefsSounds">sound</a> files
-  during the various stages of your flight, such as the announcements
-  made by the flight attendants. These files are supplied with the
-  application, and they can be played automatically, or when you press
-  a certain hotkey in the flight simulator. You can also organize
-  pre-recorded sound files
-  into <a href="#checklistEditor">checklists</a> for the each aircraft
-  type, and these files can also be played back one-by-one when you
-  repeatedly press a key combination in the simulator. See
-  <a href="#prefsSounds">below</a> for more information on this.
-  </p>
-
-  <p><a name="onlineACARSSystem"/>
-  Malév Virtual have implemented an <i>Online ACARS System</i>, which
-  displays the status of the flights in progress. The data appears on
-  the front page of the <a href="http://virtualairlines.hu">MAVA
-  website</a> and also on a
-  <a href="http://virtualairlines.hu/acars2/show.html">map</a>.
-  </p>
-
-  <p><a name="onlineGateSystem"/>
-  Malév Virtual have also implemented an <i>Online Gate System</i>
-  which maintains a database of the aircraft in the airline's fleet
-  and their location. An aircraft may be parked at the Budapest
-  Ferihegy Airport, in which case the number of the gate or stand it
-  is located at is recorded in the database. If so, this number is
-  <a href="#connectPage">displayed</a> to you when starting your
-  flight from Ferihegy, and you are recommended to place your aircraft
-  at the indicated gate or stand in the simulator. If your flight
-  begins at Ferihegy and the aircraft is away (usually due to someone
-  else's flight), you can <a href="#gateSelectionPage">select</a>
-  from which gate or stand you start your flight. The database of the
-  Online Gate System can also be <a href="#gatesTab">displayed</a>
-  by using the application.
-  </p>
-
-  <p>
-  These online systems can only be used when flying online.
-  </p>
-
-  <p>
-  The program can automatically update itself. When it starts up, it
-  checks if there is a newer version available. If so, it downloads
-  its files and replaces the program's current files with the new
-  ones. Then the program is restarted so that you can use the new
-  version. Besides acquiring bug fixes, updating is also important,
-  because the program can be extended with new checks or more refined
-  checks, and if you are using too old a version, the PIREP reviewers
-  may refuse your flight.
-  </p>
-
-  <p>
-  The program also includes a built-in <a href="#bugReportWindow">bug
-  reporting</a> facility, which can be used to report any trouble
-  encountered while using it.
-  </p>
-
-  <h3><a name="gui">Graphical User Interface</a></h3>
-
-  <p>
-  The GUI of the application is made up of traditional building blocks
-  (buttons, checkboxes, lists, text entry boxes, etc.) found in other
-  applications as well. Many such controls have informative tooltips
-  that supplement the contents of this User's Guide in helping you
-  using the application. Many controls are also accessible by pressing
-  the <b>Alt</b> plus the underlined letter in the control's label.
-  </p>
-
-  <p>
-  The most often used part of the program is the main window, to be
-  described in detail below. When you minimize or close the window, it
-  disappears by default, but the program continues to run. You can
-  redisplay the window by clicking on the tray icon of the program,
-  which looks like the one on the picture below.
-  </p>
-
-  <div align="center">
-    <table>
-      <tr>
-        <td>
-          <img src="statusIcon1.png" alt="The status icon" hspace="20"/>
-        </td>
-        <td>
-          <img src="statusIcon2.png" alt="The status icon menu" hspace="20"/>
-        </td>
-    </table>
-  </div>
-
-  <p>
-  If you click on the tray icon when the program's window is hidden,
-  the window will be displayed. If you hover the mouse pointer over
-  the icon, the flight stage and the current rating will be
-  displayed. The tray icon has a right-button menu as well with the
-  following items:
-  <ul>
-    <li><b>Show main window</b>: displays or hides the main window.</li>
-    <li><b>Show monitor window</b>: displays or hides the
-      <a href="#monitorWindow">monitor window</a>.</li>
-    <li><b>Quit</b>: quit the application. A confirmation window will
-    be displayed.</li>
-  </ul>
-  </p>
-
-  <p>
-  You can also quit the application by selecting the <b>File/Quit</b>
-  menu item, or by pressing <b>Ctrl+Q</b>.
-  </p>
-
-  <p>
-  If you start the application, when it is already running, the main
-  window of the already running instance will be displayed instead of
-  starting a new instance of the program.
-  </p>
-
-  <h2><a name="mainWindow">The Main Window</a></h2>
-
-  <p>
-  The figure below depicts the main window of the application. The top
-  of it contains the usual menu bar, which will be described in more
-  detail later. The content area consists of several tabs the use of
-  which is described below.
-  </p>
-
-  <a name="mainWindowShot"/>
-  <div align="center"><img src="mainWindow.png" alt="The main window"/></div>
-
-  <p>
-  The bottom of the window is a status bar. Its left side contains the
-  icon indicating the status of the connection to the simulator. Since
-  the application continuously monitors the parameters of your
-  aircraft, it needs to communicate with the simulator. The icon's
-  colour indicates the health of this communication channel.
-  </p>
-
-  <p>
-  If it is grey, the program is not connected. This is normal before
-  and after the flight. If it is green, the connection is alive and
-  working properly. If it is red, the connection is broken. In this
-  case a dialog window is displayed. The most likely cause for such a
-  disruption is the crash of the simulator. If this is the case,
-  restart the simulator and try to restore the flight to a state as
-  close to the one before the crash as possible. Then click
-  the <b>Reconnect</b> button, and the program will try to
-  re-establish the connection to the simulator. It preserves all data
-  of your flight, so you can continue where you left off easily.
-  </p>
-
-  <p>
-  If the reason for the failure of the connection is something else,
-  do whatever is needed to be done to restore it. Of course, it is
-  possible that the logger application itself fails, in which case
-  you, unfortunately, have to restart the flight. Do not forget to
-  notify the author if this happens. In this case, try to copy and
-  save the <a href="#debugLog">debug log</a> and send it with your bug
-  report.
-  </p>
-
-  <p>
-  If you click the <b>Cancel</b> button in the reconnection dialog,
-  the logger will be reset as if it were stopped and restarted.
-  </p>
-
-  <p>
-  To the right of the connection status icon, you can see the current
-  <a href="#flightStages">stage</a> of the flight, if the monitoring
-  has begun. Otherwise it is a single dash. It is followed by the
-  simulator time, if the program is already connected to the
-  simulator. Then comes the current <a href="#flightRating">flight rating</a>.
-  </p>
-
-  <p>
-  The right of the status bar is normally empty, but if there is some
-  potentially long operation going on (typically communicating with
-  the MAVA servers), information about the operation is displayed
-  here. This is accompanied by the cursor becoming that of signaling
-  a busy state and most parts of the main window becoming
-  unresponsive.
-  </p>
-
-  <h3><a name="tabFlight">The Flight Tab</a></h3>
-
-  <p>
-  The flight tab is the most important tab. It consists of a sequence of
-  pages similar to wizards found in many programs. The first several of
-  these pages guide you through the various steps of the preparations
-  for your flight, while the last pages allow you to enter some
-  information about your flight necessary for its evaluation and to
-  send the PIREP (Pilot's Report) assembled by the program to the MAVA
-  server.
-  </p>
-
-  <p>
-  Each page has a title at the top indicating the purpose of the
-  page. There is a short text below this, which describes what the
-  page contains and/or what is expected from you to do with the page.
-  Below the text you can find the main information and possibly data
-  entry areas for the page. Finally, you can find the button row at
-  the bottom.
-  </p>
-
-  <p>
-  Most of the pages contain two buttons: <b>Next</b> and
-  <b>Previous</b>. These help in navigating between the pages. In most
-  cases you can go back to previously visited pages by using
-  the <b>Previous</b> button, although you cannot edit the contents of
-  some of the pages once finalized by moving to the next page using
-  the <b>Next</b> button. There are a few exceptions though, as
-  detailed below.
-  </p>
-
-  <p>
-  Many of the pages also contain a <b>Cancel flight</b>
-  button. Clicking this button will allow you to cancel the flight and
-  go back to the <a href="#flightSelectionPage">flight selection</a>
-  if you have logged in to the MAVA server, or to the login page, after
-  a confirmation of your intent.
-  </p>
-
-  <h4><a name="loginPage">The <i>Login</i> Page</a></h4>
-
-  <p>
-  The program starts with the Login page (see the
-  <a href="#mainWindowShot">picture</a> above) where you can enter the
-  your pilot's ID and password for the MAVA website. Both data are
-  given to you when joining Malév Virtual. The pilot's ID usually
-  starts with the letter <q>P</q> followed by three digits.
-  </p>
-
-  <p>
-  If you check <b>Remember password</b>, the password will be saved by
-  the program, so you don't have to enter it all the time. Note,
-  however, that the password is saved in a readable form into a
-  configuration file, so use this possibility only if your home
-  directory can be accessed only by people you trust. The pilot's ID
-  is saved anyway.
-  </p>
-
-  <p>
-  If you are about to perform the entrance flight, check
-  <b>Entrance exam</b>. In this case you don't have to (and cannot)
-  enter the password, as that is not needed for the entrance exam.
-  </p>
-
-  <p>
-  The login to the MAVA server, and proceed to the next page, press
-  the <b>Login</b> button.
-  </p>
-
-  <p>
-  If you would like to fly without an Internet connection, use
-  the <b>Fly offline</b> button. This immediately takes you to the
-  next page, without trying to log in to the MAVA server.
-  </p>
-
-  <h4><a name="flightSelectionPage">The <i>Flight selection</i> Page</a></h4>
-
-  <img src="flightSelection.png" alt="The Flight selection page"/>
-
-  <p>
-  This page displays the list of the flight you have booked previously
-  on the MAVA website, if you have <a href="#loginPage">logged in</a>
-  properly. If you chose to fly offline, the list is empty.
-  </p>
-
-  <p>
-  If you have selected a flight, you can also save it by using
-  the <b>Save flight</b> button. This is useful when planning to fly
-  offline at some later time. When preparing for that flight, you can
-  properly log in to the MAVA server, and acquire the list of your
-  booked flights. Then you can save the flight you wish to perform
-  later offline, on which occasion, you can load the saved flight.
-  </p>
-
-  <p>
-  You may need to refresh the list of flights. For example, you notice
-  that you have forgotten to book the flight you want to perform. Then
-  you can book the flight on the MAVA website, and press
-  the <b>Refresh flights</b> button to update the list.
-  </p>
-
-  <p>
-  You can also load a flight from a file by  pressing the <b>Load
-  flight from file</b> button. This displays a file selection dialog
-  where you select the flight file (usually with a suffix
-  of <code>.vaflight</code>). This is mostly useful when flying
-  offline, or during the entrance exam.
-  </p>
-
-  <p>
-  Select a flight from the list, and press the <b>Next</b> button to
-  proceed with that flight.
-  </p>
-
-  <h4><a name="gateSelectionPage">The <i>LHBP gate selection</i> Page</a></h4>
-
-  <img src="gateSelection.png" alt="The LHBP gate selection page"/>
-
-  <p>
-  This page is displayed after the flight selection page only if your
-  flight starts at the Budapest Ferihegy Airport and the number of the
-  gate or stand at which your aircraft is located cannot be
-  determined.
-  </p>
-
-  <p>
-  Select a number from the list presented, and press <b>Next</b>.
-  </p>
-
-  <h4><a name="connectPage">The <i>Connect to the simulator</i> Page</a></h4>
-
-  <img src="connect.png" alt="The Connect to the simulator page"/>
-
-  <p>
-  This page displays some important information about your flight,
-  such as the type and tail number of the aircraft to use, the
-  departure airport and possibly the gate.
-  </p>
-
-  <p>
-  Select the aircraft indicated and park it at the departure airport
-  in the simulator,
-  then press <b>Connect</b> to establish the connection with the
-  simulator. If the connection cannot be established, a dialog will be
-  displayed about it, and you can <b>Try again</b> the connection
-  or <b>Cancel</b> to go back to the flight selection or to the login page.
-  </p>
-
-  <p>
-  Note, that after a successful connection, the monitoring of your
-  flight does not begin immediately, but some data can be queried by
-  the logger at this stage.
-  </p>
-
-  <h4><a name="payloadPage">The <i>Payload</i> Page</a></h4>
-
-  <img src="payload.png" alt="The Payload page"/>
-
-  <p>
-  This page displays the components of the flight's payload and the
-  calculated Zero-Fuel Weight (ZFW). You can modify all input data,
-  but generally it is needed to enter the cargo weight you determined
-  for the flight, if it is different from 0. You can also press the <b>ZFW
-  from FS</b> button, which queries the ZFW from the simulator and
-  displays the retrieved value. If the ZFW calculated from the payload
-  data differs too much from the queried one, the calculated value is
-  displayed in red. This the right time to set up the payload in the
-  simulator. If you forget about it, it will be a NO GO fault.
-  </p>
-
-  <p>
-  If you have finished with this page, press the <b>Next</b>
-  button. At this point, the <a href="#helpTab"><i>Help</i> tab</a>
-  becomes available, which you can use if you have failed to set up
-  the correct payload in the simulator. See a more detailed
-  description of it <a href="#helpTab">below</a>.
-  </p>
-
-  <h4><a name="timePage">The <i>Time</i> Page</a></h4>
-
-  <img src="time.png" alt="The Time page"/>
-
-  <p>
-  This page displays the departure and arrival times of your
-  flight in UTC. Press the <b>Time from FS</b> button to query the
-  current UTC time of the simulator. To be able to simulate the real
-  lighting circumstances of the flight, the simulator's time should match
-  the time of the flight according to the schedule. Therefore you are
-  expected to set the simulator's time properly. It is recommended to
-  set it to about 15 minutes before the departure at this stage so
-  that you have enough time to set up your flight.
-  </p>
-
-  <p>
-  When you have set the time of the simulator properly, press
-  the <b>Next</b> button.
-  </p>
-
-  <h4><a name="fuelPage">The <i>Fuel</i> Page</a></h4>
-
-  <img src="fuel.png" alt="The Fuel page"/>
-
-  <p>
-  This page contains a graphical representation of the fuel tanks of
-  your aircraft. The yellowish colour represents the current level of
-  the fuel in the tank, and turquoise slider is the expected level,
-  which is also displayed numerically (in kilograms) below each graph.
-  </p>
-
-  <p>
-  You can enter the requested amount of fuel numerically, or you can
-  set it by the turquoise sliders, though this method is less accurate. The
-  lever can be moved by clicking withinin the fuel tank's representation,
-  and you can drag it if you keep the button pressed. If your mouse
-  has a wheel, that can also be used to modify the expected level. To
-  use the wheel, keep the mouse pointer within the fuel tank's
-  graphic. Each click of the wheel increment or decrements the amount
-  by 10 kilograms. If you hold down the <b>Shift</b> key, the
-  increment will be 100, if you hold down the <b>Ctrl</b> key, the
-  increment will be 1.
-  </p>
-
-  <p>
-  When all tanks have the correct amount of fuel set, press
-  the <b>Next</b> button. This causes the pumping of the fuel to
-  start. The progress is represented by the yellowish fuel bars
-  growing or shrinking (fuel may be pumped out of a tank as
-  well). This is a relatively quick process and should finish within a
-  few seconds.
-  </p>
-
-  <h4><a name="routePage">The <i>Route</i> Page</a></h4>
-
-  <img src="route.png" alt="The Route page"/>
-
-  <p>
-  This page displays the cruise level and the flight plan route. The
-  cruise level starts out at FL240, but the route comes from the
-  booked flight. Set the cruise level to the one you have calculated
-  with, and modify the flight plan if needed. For example, if you will
-  enter some airspace that will require you to change the flight
-  level, you should add that here.
-  </p>
-
-  <p>
-  When satisfied with the information on the page, press
-  the <b>Next</b> button to advance. Note, that these data can be
-  edited later as well if you come back to this page.
-  </p>
-
-  <h4><a name="briefingPage">The <i>Briefing</i> Pages</a></h4>
-
-  <img src="briefing.png" alt="The Briefing page"/>
-
-  <p>
-  These pages display the NOTAMs and the METAR for the departure and
-  the arrival airports. You can edit the METAR if your network
-  provides a different weather, or you do not fly with real
-  weather. The METAR of the arrival airport will be updated when
-  entering the landing stage, unless you have edited it before. The
-  METARs can be edited during the whole duration of the flight. If you
-  do so, please, comment on it in the <i>Comments</i> section of
-  the <a href="#flightInfoTab"><i>Flight info</i> tab</a>.
-  </p>
-
-  <p>
-  On the second briefing page (that of the arrival airport), confirm
-  that you have read the briefing and are ready to start the flight by
-  clicking the button. This begins the monitoring of your flight with
-  the boarding stage.
-  </p>
-
-  <h4><a name="takeoffPage">The <i>Takeoff</i> Page</a></h4>
-
-  <img src="takeoff.png" alt="The Takeoff page"/>
-
-  <p>
-  On this page you have to enter the name of the departure runway, the
-  name of the Standard Instrument Departure procedure you follow after
-  takeoff and the takeoff V-speeds. While you can edit these data
-  anytime, it is recommended to do so before takeoff.
-  <p>
-
-  <p>
-  Note that if you are flying one of the Tupolev or Yak aircraft, the
-  page will look different, as speeds will have to be entered in
-  kilometres per hour.
-  </p>
-
-  <p>
-  For most aircraft in the fleet you should also enter the takeoff
-  derate setting. Its exact format and value depends on the type.
-  </p>
-
-  <p>
-  You can also select here whether you have turned on any anti-ice
-  systems (apart from the pitot heat). However, for most aircraft, the
-  logger can detect the setting, and if anti-icing is turned on, the
-  check box will be checked automatically. If you have checked it
-  yourself, it will not be unchecked by the program (unless it gains
-  self-awareness sometime in the future).
-  </p>
-
-  <p>
-  You can proceed to the next page after takeoff, and if all data has
-  been entered, by pressing the <b>Next</b> button.
-  </p>
-
-  <h4><a name="cruisePage">The <i>Cruise</i> Page</a></h4>
-
-  <img src="cruise.png" alt="The Cruise page"/>
-
-  <p>
-  This page displays your cruise altitude as set on the
-  <a href="#routePage">Route page</a>. If you need to modify your
-  cruise level due to airspace requirements, step climb or any other
-  justified reason, you can set the new level here and then press
-  the <b>Update</b> button when you have reached the specified level.
-  </p>
-
-  <p>
-  If you are preparing for landing, you can press the <b>Next</b>
-  button to go to the next page.
-  </p>
-
-  <h4><a name="landingPage">The <i>Landing</i> Page</a></h4>
-
-  <img src="landing.png" alt="The Landing page"/>
-
-  <p>
-  On this page you have to enter the name of the STAR and/or
-  transition you planned to follow (even if you get a different one,
-  or simply vectors from ATC, in which case add a
-  <a href="#flightInfoTab">comment</a> about it),
-  the approach type (e.g. <q>ILS</q>, <q>VOR</q>, <q>VISUAL</q>,
-  etc.), the name of the landing runway, and the landing reference speed,
-  V<sub>ref</sub>. You can enter this data during the flight, or after
-  you have landed, at your discretion. Note, that if you fly one of
-  the Tupolev or Yak aircraft, the speed will have to be entered in km/h.
-  </p>
-
-  <p>
-  This page also contains a checkbox for the anti-ice system, which is
-  handled the same way as the one on
-  the <a href="#takeoffPage">Takeoff page</a>.
-
-  <p>
-  When you have entered all data, press the <b>Next</b> button. It is
-  active only, if the flight has ended.
-  </p>
-
-  <h4><a name="finishPage">The <i>Finish</i> Page</a></h4>
-
-  <img src="finish.png" alt="The Finish page"/>
-
-  <p>
-  This is the final page of the flight wizard. It contains a summary
-  of your flight: the rating, the flight and block times, the distance
-  flown and the amount of fuel burnt.
-  </p>
-
-  <p>
-  You also have to provide a few pieces of information. You have to
-  select the type of the flight from the list provided (scheduled,
-  old-timer, VIP, charter) and whether it was an online flight or
-  not. If you arrive at the Budapest Ferihegy Airport, and are using
-  the Online Gate System, you also need to specify the number of the
-  gate or stand you have parked you aircraft at.
-  </p>
-
-  <p>
-  If all necessary data has been entered, and the program is so
-  <a href="#prefsGeneral">configured<a>, it will automatically save
-  the PIREP.
-  </p>
-
-  <p>
-  With all data entered, you may want it review your flight (i.e. the
-  earlier pages or some of the other tabs), then save or send the
-  PIREP created from it. These can be accomplished by pressing one of
-  the buttons at the bottom. A saved PIREP can be loaded later and
-  sent, if the sending fails for some reason. When a PIREP is sent, it
-  becomes available for review by the designated PIREP reviewers of
-  Malév Virtual.
-  </p>
-
-  <p>
-  You can also start a new flight using the <b>New flight</b>
-  button. If you have not saved or sent the PIREP, you will be asked
-  to confirm your intention. When starting a new flight you are taken
-  to the <a href="#flightSelectionPage">flight selection page</a>, if
-  you have logged in to the MAVA server, or to
-  the <a href="#loginPage">login page</a>, if your flight has been an
-  offline flight.
-  </p>
-
-  <h3><a name="flightInfoTab">The Flight info Tab</a></h3>
-
-  <img src="flightInfoTab.png" alt="The Flight info tab"/>
-
-  <p>
-  This tab allows one to enter some additional information about the
-  flight, if necessary.
-  </p>
-
-  <p>
-  The <i>Comments</i> text area should contain any general information
-  that you would like the PIREP reviewer to know about. For example,
-  why you changed the METAR, why you lowered the gears accidentally
-  (i.e. pressed the wrong key on the keyboard), etc.
-  </p>
-
-  <p>
-  The <i>Flight defects</i> text area should contain information about
-  any problems you encountered with the plane during the flight. For
-  example an engine stopped and why (if known), that flaps could not
-  be extended or retracted, etc.
-  </p>
-
-  <p>
-  In the <i>Delay codes</i> table you can mark one or more reasons why
-  the flight was delayed, if it was. This table is available only if you
-  have already selected the flight, since its contents depend on the
-  type of the aircraft being flown.
-  </p>
-
-  <h3><a name="helpTab">The Help Tab</a></h3>
-
-  <img src="helpTab.png" alt="The Help tab"/>
-
-  <p>
-  This tab provides some help for calculating and setting the payload
-  weight of the aircraft. It can be used once the
-  <a href="#payloadPage"><i>Payload</i></a>
-  (i.e. the cargo weight) is finalized. To use this tab, check
-  the <b>Using help</b> checkbox. It causes the page to become
-  sensitive and filled with data. Note, that the fact of using the
-  help is <a href="#logTab">logged</a>, so the PIREP reviewers will
-  know about it.
-  </p>
-
-  <p>
-  The most important information is after the <i>Payload:</i> label,
-  which is the payload weight of the aircraft. This value should be
-  set in the simulator as the airplane's payload weight. By pressing
-  the <b>Simulator data</b> button, the data coming from the simulator
-  can be queried and displayed. If the data is out of the tolerances,
-  it is displayed in red, otherwise in green.
-  </p>
-
-  <p>
-  The gross weight is also displayed with some maximum weights of the
-  aircraft, so it can be checked or estimated if you will remain within
-  those maximums during the flight.
-  </p>
-
-  <h3><a name="logTab">The Log Tab</a></h3>
-
-  <img src="logTab.png" alt="The Log tab"/>
-
-  <p>
-  This is the main log of your flight that will be analyzed by the
-  PIREP reviewers. Its contents is generated automatically by the
-  program, and most lines are prefixed by the simulator times the
-  information in the given line belongs to.
-  </p>
-
-  <p>
-  While the log's contents is mainly useful for PIREP reviewers, it
-  can come handy when things start to happen very fast, and you have
-  no time check each fault message passing by (if you have enabled
-  such messages at all). Later, when things calm down, you can check
-  the log to see what happened exactly, so that you know why so many
-  fault points have been awarded. For example, you may even decide to
-  abort the flight, if you think some of the faults are too
-  embarrassing :) For quick identification, the lines containing the
-  fault messages are highlighted.
-  </p>
-
-  <h3><a name="gatesTab">The Gates Tab</a></h3>
-
-  <img src="gatesTab.png" alt="The Gates tab"/>
-
-  <p>
-  This tab displays information retrieved from
-  the MAVA <a href="#onlineGateSystem">Online Gate System</a>.
-  If the program needs to retrieve data, this tab's contents
-  are refreshed automatically, but you can also refresh them manually
-  anytime using the <b>Refresh data</b> button.
-  </p>
-
-  <p>
-  The left side of the tab contains the fleet information. The tail
-  number of each aircraft is listed with the plane's status, as known
-  by the Online Gate System. The two major statuses are <i>LHBP-nn</i>
-  and <i>AWAY</i>. The former indicates that the aircraft is parked at
-  the Budapest Ferihegy Airport at gate or stand <i>nn</i>, while the
-  latter one denotes that the airplane is parked at another
-  airport. Another possible status is <i>PARKED</i>, which means that
-  the airplane is parked somewhere at the Ferihegy Airport, but we
-  (or at least the Gate System) don't know where. It may happen that
-  several aircraft are parked at the same gate or stand at
-  Ferihegy. In this case the tail numbers and the statuses of those
-  airplanes are displayed in red.
-  </p>
-
-  <p>
-  The right side contains the list of the numbers of the gates and
-  parking positions. A number is black if no aircraft is positioned at
-  the corresponding gate or stand, and it is orange, if the location
-  is occupied.
-  </p>
-
-  <h3><a name="debugLog">The Debug log</a></h3>
-
-  <img src="debugLogTab.png" alt="The Debug log tab"/>
-
-  <p>
-  This tab is not visible by default, but can be displayed by
-  selecting <b>View/Show debug log</b> or by
-  pressing <b>Ctrl+D</b>. It is another kind of log, which is mainly
-  useful for debugging. If you experience some problem with the
-  program, please, include the contents of this log with your bug
-  report. It can help a lot with finding a solution to the problem.
-  </p>
-
-  <h2><a name="loadingPIREPs">Loading PIREPs</a></h2>
-
-  <p>
-  Saved PIREPs can be loaded and sent by the program. This can
-  become necessary, for example, if you cannot send a PIREP due to
-  some network problem right after your flight, or when you
-  deliberately performed a flight without connecting to the Internet.
-  </p>
-
-  <p>
-  To load a PIREP select the <b>File/Load PIREP...</b> menu option or
-  press the <b>Ctrl+L</b> key. A file selection dialog appears, from
-  which you can select the PIREP to load. If you select a valid PIREP
-  file, it will be loaded and a new window will be displayed with the
-  most important data of your flight. By clicking <b>Send
-  PIREP...</b>, the PIREP will be sent (or at least an attempt will be
-  made at sending it). A dialog window will be displayed about the
-  results of the attempt.
-  </p>
-
-  <div align="center">
-    <img src="pirepLoaded.png" alt="The loaded PIREP window"/>
-  </div>
-
-  <p>
-  You may also want to view a saved PIREP, for example, if it is a
-  PIREP about an entrance exam flight. To do so, click the <b>View
-  PIREP...</b> button. This displays the PIREP viewer window, which
-  groups the data into three tabs. The <i>Data</i> tab contains the
-  itemized data of the flight. The <i>Comments & defects</i> tab
-  displays the comments and or flight defects entered by the
-  user. The <i>Log</i> tab contains the flight log.
-  </p>
-
-  <div align="center">
-    <img src="pirepViewer.png" alt="The PIREP Viewer"/>
-  </div>
-
-  <h2><a name="checklistEditor">Editing checklists</a></h2>
-
-  <img src="checklistEditor.png" alt="The Checklist Editor"/>
-
-  <p>
-  The checklists are lists of audio files. When checklist playback is
-  enabled (see the <a href="#prefsSounds">description</a> of
-  the <i>Preferences</i> window below), and there is a checklist for
-  the type of the aircraft used for the flight, the files constituting
-  the checklist can be played one-by-one by pressing the checklist
-  hotkey repeatedly.
-  </p>
-
-  <p>
-  The checklist editor window allows for editing the checklists. It
-  can be displayed by selecting <b>Tools/Checklist Editor...</b> or
-  pressing <b>Ctrl+C</b>. The top of the window contains an aircraft
-  type selector.
-  </p>
-
-  <p>
-  The files making up the checklist for the currently selected aircraft
-  are displayed on the right. You can move a file up or down by
-  dragging it with the mouse. You can also select one or more files
-  from the list. Then you can remove them with the <b>Remove</b>
-  button, or move them up or down by pressing <b>Move up</b>
-  and <b>Move down</b>.
-  </p>
-
-  <p>
-  To add new files to the checklist, select them in the file selector
-  on the left, and press <b>Add to checklist</b>. The file(s) will be
-  appended to the end of the checklist.
-  </p>
-
-  <p>
-  Note, that any changes you make are effective only if you press
-  the <b>OK</b> button when having finished the modifications. If the
-  flight has already started, no changes made to the corresponding
-  checklist have any effect during the flight (i.e. you will still use
-  the old checklist, or no checklist if there was none).
-  </p>
-
-  <h2><a name="calloutsEditor">Editing approach callouts</a></h2>
-
-  <img src="calloutsEditor.png" alt="The Approach callouts Editor"/>
-
-  <p>
-  The approach callouts are audio files specific to aircraft types, that are
-  played back during approach when passing certain altitudes. The
-  approach callouts editor window allows editing the list of these
-  callout files for each aircraft. The window can be displayed by
-  selecting  <b>Tools/Approach Callouts Editor...</b> or by  pressing
-  <b>Ctrl+E</b>.
-  </p>
-
-  <p>
-  The top part of the window displays the selector of the aircraft
-  type. Below it, you can find two buttons on the left, and the list
-  of the callouts with the altitudes they belong to on the right. The
-  list displays only the filename portion, but the if you hover the
-  cursor above an item, the full path will be displayed. The list is
-  always sorted according to the altitude, but you change the order
-  from descending to ascending.
-  </p>
-
-  <p>
-  The <b>Add new callout</b> button shows a file selection dialog
-  window. After selecting a file, it will be added to a list with some
-  altitude, which can be edited immediately. If the name of the file
-  contains a number that is possible as an altitude, that will be used
-  as the altitude given to the file, otherwise some meaningful default
-  is selected based on the lowest or highest altitude.
-  There can be no two files with the same altitude. If you set an
-  altitude, which is already present in the list, a dialog box will be
-  displayed, and you can choose to replace the old file or to continue
-  editing. To edit an altitude already in the list, select that row,
-  and click on the altitude again.
-  </p>
-
-  <p>
-  If you select one or more items in the list, the <b>Remove</b>
-  button becomes available, and pressing it will remove the selected items.
-  </p>
-
-  <p>
-  Note, that any changes you make are effective only if you press
-  the <b>OK</b> button when having finished the modifications. If the
-  flight has already started, no changes made to the corresponding
-  list of callouts have any effect during the flight.
-  </p>
-
-  <h2><a name="prefs">The Preferences Window</a></h2>
-
-  </p>
-  The Preferences window can be displayed by
-  selecting <b>Tools/Preferences</b> or by
-  pressing <b>Ctrl+P</b>. Here you can set options that you usually
-  don't have to change for every flight. This window consists of
-  tabs grouping the options logically.
-  </p>
-
-  <h3><a name="prefsGeneral">The <i>General</i> Tab<a></h3>
-
-  <img src="prefsGeneral.png" alt="The General Tab of Preferences"/>
-
-  <p>
-  These are some general settings for various parts of the
-  program. The <i>GUI</i> frame contains options regarding the
-  behaviour of the graphical user interface. The <i>Language</i> combo
-  box can be used to selected what language the program should
-  use. Currently English and Hungarian are supported. The value
-  of <i>system default</i> means that the operating system's default
-  language is used if it is one of the supported ones or English
-  otherwise. Note, that the program must be restarted for the change
-  to take effect if you modify this setting. If the <b>Hide main window
-  when minimized</b> checkbox is checked, and you minimize the window,
-  it will actually disappear completely (i.e. not appear among the
-  other minimized windows). You can make it appear by using the tray
-  icon. If the <b>Quit when the window close button is clicked</b>
-  checkbox is checked, the program will quit, after you have confirmed
-  it. Otherwise it will just disappear, and you can use the tray icon
-  to display it again.
-  </p>
-
-  <p>
-  The <i>MAVA Online Systems</i> frame contains settings related to
-  the online systems of MAVA, the <a href="#onlineGateSystem">gate</a>
-  and the <a href="#onlineACARSSystem">ACARS</a> systems mentioned
-  above. It is recommended to enable these for normal operations.
-  </p>
-
-  <p>
-  The <i>Simulator</i> frame contains settings for how the program
-  interacts with the simulator. Most options are self-explanatory, but
-  the ones related to smoothing requires some discussion. Flight
-  Simulator is known to produce wind speed changes that are not
-  entirely realistic and can result in the simulated aircraft
-  experiencing some very high indicated airspeeds, which in turn can
-  also cause the autopilot to suddenly increase the climb rate to
-  counter the high speeds or other erratic behaviour. Since these
-  phenomena are difficult to protect oneself against without buying
-  extra products, like FSUIPC, the logger provides the possibility to
-  average the IAS and/or the VS over a few seconds so that spikes in
-  these values are smoothed. The <b>Enable the smoothing of IAS/VS
-  over N sec.</b> options allow controlling this feature. The number
-  of seconds may need experimenting with, but note that every change
-  for which you press the <b>OK</b> button is taken into account
-  immediately.
-  </p>
-
-  <p>
-  If the <b>Save PIREP automatically</b> check box is checked, and you
-  have finished your flight and entered all required data, the PIREP
-  will be saved automatically into the directory given above.
-  </p>
-
-  <h3><a name="prefsMessages">The <i>Messages</i> Tab</a></h3>
-
-  <img src="prefsMessages.png" alt="The Messages Tab of Preferences"/>
-
-  <p>
-  The program can display messages about certain events in the
-  simulator and/or it can play a warning sound when those events
-  occur. The tab allows configuring this.
-  <p>
-
-  <p>
-  The categories of the message are listed on the left. These are the
-  following:
-  </p>
-
-  <ul>
-    <li><b>Logger Error Messages</b>: error messages about the
-    internal working of the logger.</li>
-    <li><b>Information Messages</b>: informational messages about,
-    e.g., the flight stage, the end of an audio checklist, etc.</li>
-    <li><b>In-flight Stage Message</b>: messages about the flight stage for those stage when the plane is not on the ground</li>
-    <li><b>Fault Messages</b>: messages about the non-NO GO faults the program detects.</li>
-    <li><b>NO GO Fault Messages</b>: messages about the NO GO faults the program detects</li>
-    <li><b>Gate System Messages</b>: messages related to the
-    <a href="#onlineGateSystem">Online Gate System</a>. For example,
-    when you have landed at Ferihegy, it can display the list of the
-    available gates so that you can choose where to park, if there is
-    no ATC available.</li>
-    <li><b>Environment Messages</b>: other messages, e.g. the welcome
-    message when the flight has ended.</li>
-    <li><b>Help Messages</b>: help messages, e.g. warning about
-    entering the V-speeds into the Takeoff page before takeoff.</li>
-    <li><b>Visibility Messages</b>: messages about the visibility
-    during descent and landing.</li>
-  </ul>
-
-  <p>
-  There are two checkboxes associated with each messages category. If the
-  left one (<i>Displayed in FS</i>) is checked, the messages of the
-  category will be displayed in the simulator. If the right one
-  (<i>Sound alert</i>) is checked, and a message of the given category
-  is about to be displayed, a warning sound will be played. It is
-  mainly intended to accompany the text messages, but the two options
-  can be controlled separately, so you can select the sound alert, but
-  not the displaying of the messages. This may be useful if you don't
-  want these messages to clutter up the windscreen of your aircraft,
-  but still get some notification that some problem occurred.
-  </p>
-
-  <h3><a name="prefsSounds">The <i>Sounds</i> Tab</a></h3>
-
-  <img src="prefsSounds.png" alt="The Sounds Tab of Preferences"/>
-
-  <p>
-  This tab controls how the sounds are played by the application.
-  </p>
-
-  <p>
-  The top part is for the background sounds. These are pre-recorded
-  sound files that are played when certain conditions hold during the
-  flight. Typical examples are the various announcements the flight
-  attendants make during the flight. The <b>Enable background
-  sounds</b> checkbox controls whether such sounds are enabled at
-  all. If the <b>Pilot controls sounds</b> checkbox is enabled, the
-  pilot should start the playback of these sound files by pressing a
-  hotkey in the simulator. Note, that you should still be in the right
-  flight stage (and sometimes fulfill other conditions) to be able to
-  play the sound files. Also, one file can be played only once. If you
-  enable this option, the hotkey to press in the simulator can be
-  selected below. You can choose one of the alphanumeric keys (0-9,
-  A-Z) optionally combined with one or both of the <i>Ctrl</i>
-  and <i>Shift</i> modifiers. If this checkbox is not checked, the
-  sound files will be played automatically.
-  </p>
-
-  <p>
-  If the <b>Enable approach callouts</b> checkbox is
-  checked, and you have also <a href="#calloutsEditor">set up</a>
-  approach callouts for the aircraft being used, you will hear those
-  callouts during approach.
-  </p>
-
-  <p>
-  If the <b>Enable speedbrake sound at touchdown</b> checkbox is
-  checked, you will hear a distinctive sound when the spoilers deploy
-  automatically after touchdown.
-  </p>
-
-  <p>
-  The lower part, named <i>Checklists</i> contains some settings
-  related to the audio checklists belonging to the aircraft. They are
-  available only if the <b>Enable aircraft-specific checklist</b>
-  checkbox is selected. In this case another hotkey should be
-  specified. If you press this hotkey, the next file from the
-  checklist will be played.
-  </p>
-
-  <h3><a name="prefsAdvanced">The <i>Advanced</i> Tab</a></h3>
-
-  <img src="prefsAdvanced.png" alt="The Advanced Tab of Preferences"/>
-
-  <p>
-  This tab contains some settings that you normally should not
-  change. Currently, these settings are related to the automatic
-  update. If the <b>Update the program automatically</b> checkbox is
-  not checked, the automatic update at program start-up will be
-  omitted. The <i>Update URL</i> text entry field contains the URL
-  from which to download the updates. Occasionally the developers of
-  the application may tell you to change this something else, e.g. to
-  test some development version. Or it may need to be changed due to
-  organizational reasons, such as moving to a new server, etc.
-  </p>
-
-  <h2><a name="bugReportWindow">The Bug Report Window</a></h2>
-
-  <img src="bugreport.png" alt="The Bug Report Window"/>
-
-  <p>
-  The bug reporting window can be used to report any non-fatal bugs
-  that occur during using the program. Bugs can be reported to
-  appropriate topic in the MAVA forum, via e-mail or tickets created
-  by hand on the project's website. However, utilizing this window not
-  only creates the ticket, it also includes automatically the texts of
-  the log and the debug log, making the life of the developers
-  easier. Of course, it might happen that the program crashes in a way
-  which makes this window inaccessible or to work incorrectly, in
-  which case you must resort to the other possibilities.
-  </p>
-
-  <p>
-  The bug report window can be displayed by selecting <b>Tools/Report
-  bug</b> or by pressing <b>Ctrl+B</b>. The summary must be entered
-  and it should be a short, one-sentence description or title of the
-  problem. The <i>Description</i> part is not mandatory, but if you
-  can think of any useful additional information, you might give it
-  here. As the program automatically appends the log and the debug to
-  the description, you should not copy them here. You can also give
-  your e-mail address to receive automatic notifications of the status
-  of your bug report, but consider that your e-mail address will then
-  appear on the project's website in the bug report.
-  </p>
-
-  <p>
-  By pressing <i>Send...</i>, you can create the bug report. If it is
-  successful, you will receive a message telling so and including the
-  ticket's ID that you may refer to later.
-  </p>
-
-  <h2><a name="monitorWindow">The Monitor Window</a></h2>
-
-  <img src="monitorWindow.png" alt="The Monitor Window"/>
-
-  <p>
-  The monitor window can be used when debugging the program. You can
-  display it by selecting <b>View/Show monitor window</b> or by
-  pressing <b>Ctrl+M</b>. It displays the various parameters from the
-  aircraft as read from the flight simulator. During flight, it is
-  updated once per second. If something is not detected properly by
-  the logger, this window can be used to determine if the problem is
-  in interpreting and translating the data read from the simulator, or
-  when the translated data is being evaluated by other parts of the
-  program.
-  </p>
-
-</html>
Index: doc/manual/hu/index.html
===================================================================
--- doc/manual/hu/index.html	(revision 493)
+++ doc/manual/hu/index.html	(revision 493)
@@ -0,0 +1,1175 @@
+<html>
+<head>
+  <title>MAVA Logger X Felhasználói kézikönyv</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+</head>
+<body>
+  <div align="center"><h1>MAVA Logger X Felhasználói kézikönyv</h1></div>
+
+  <h2><a name="overview">Áttekintés</a></h2>
+
+  <p>
+  A MAVA Logger X a Malév Virtual légitársaság színeiben
+  történő szimulált járatok végrehajtását kíséri figyelemmel, és összegyűjti a járatról a
+  <a href="http://virtualairlines.hu">MAVA honlapjára</a> további
+  elemzés céljából elküldendő adatokat. Ez a kézikönyv leírja a
+  program használatát. A program képességeinek teljes kihasználásához
+  szükség van élő Internet kapcsolatra, még akkor is ha nem a VATSIM
+  vagy az IVAO hálózaton repülünk. Ezzel együtt azonban lehetséges
+  járatot teljesíteni hálózati kapcsolat nélkül is.
+  </p>
+
+  <p><a name="flightRating"/>
+  A járat teljesítésének követése közben a program folyamatosan
+  ellenőrzi, hogy a repülőgép konfigurációja megfelel-e a légitársaság
+  működési eljárásaiban meghatározott paramétereknek. Például a
+  repülőgép fényeit meghatározott szabályok szerint kell fel- és
+  lekapcsolni, nem haladhatunk meg bizonyos tömeg- és
+  sebességkorlátokat, s.í.t. Az elvárt paraméterektől való eltérések,
+  vagy hibák a kezdeti 100 pontot (vagy százalékot) meghatározott
+  mértékben csökkentik. Az eredmény a járat <i>pontszáma</i>. Néhány
+  eltérés annyira súlyos, hogy <i>NO GO</i> hibának tekintjük és a
+  járat elutasítát eredményezi.
+  </p>
+
+  <p>
+  A hibák mellett a program más paramétereket is figyel, amelyeket egy
+  szöveges <a href="#logTab"><i>napló</i></a>ba jegyez le. E naplót is
+  tartalmazza az elküldött PIREP (<b>PI</b>lot's <b>REP</b>ort), és a
+  Malév Virtual tapasztalt pilótái ezt is elemzik, illetve adott
+  esetben megjegyzést fűzhetnek hozzá. Így tökéletesíthetjük a járatok
+  teljesítésének színvonalát.
+  </p>
+
+  <p><a name="flightStages"/>
+  A program a járat teljesítését több <i>fázis</i>ra bontja. Az egyik
+  fázisról a következőre való átmenetet automatikusan érzékeli. Az
+  alábbiakban felsoroljuk e fázisokat és azokat a feltételeket,
+  amelyeknek teljesülniük kell az egy adott fázisba való belépéshez:
+  <ol>
+    <li><b>beszállás</b>: Ez a járat első fázisa.</li>
+    <li><b>hátratolás és kigurulás</b>: Ha a beszállási fázis alatt
+    felengedjük a parkoló fékeket vagy a guruló sebesség meghaladja az
+    5 csomót, a program ebbe a fázisba lép.</li>
+    <li><b>felszállás</b>: Ha kigurulás közben vagy megszakított
+    felszállás után felkapcsoljuk a villogót. Ha a repülőgép
+    villogójának állapota nem érzékelhető, a transzponder C módba
+    állítására is ebbe a fázisba kerül a program. Ha a repülőgép
+    egyáltalán nem rendelkezik villogóval, a program 50 csomós
+    sebesség túllépésekor elkezd figyelni, és ha 40 másodpercen belül
+    elemelkedünk, azt is felszállásnak veszi.</li>
+    <li><b>emelkedés</b>: Ha felszállás közben behúzzuk a futóműveket
+    vagy elérjük a reptérhez viszonyított 3000 láb magasságot.</li>
+    <li><b>megszakított felszállás</b>: Ha felszállás közben még a
+    földön vagyunk, és kikapcsoljuk mind a leszálló fényeket, mind a
+    villogót, vagy a sebesség 50 csomó alá csökken.</li>
+    <li><b>utazó</b>: Ha emelkedés közben az utazómagasságot 2000
+    lábnyira megközelítjük.</li>
+    <li><b>süllyedés</b>: Ha az utazó fázis közben a repülési magasság
+    több mint 2000 lábbal az utazó magasság alá csökken.</li>
+    <li><b>leszállás</b>: Ha süllyedés vagy átstartolás közben a
+    futóműveket kiengedjük és a reptérhez viszonyítva 2000 láb alá
+    csökken a magasság.</li>
+    <li><b>átstartolás</b>: Ha leszállás közben visszahúzzuk a futóműveket.</li>
+    <li><b>begurulás</b>: Ha leszállás után a repülőgép a földön gurul
+    és a sebessége 50 csomó alá csökken.</li>
+    <li><b>vége</b>: Ha parkolás közben a gázturbinák N<sub>1</sub>
+    paramétere 0,5 alá, vagy a dugattyús motorok fordulatszáma
+    0-ra csökken. Ez a járat teljesítésének utolsó fázisa.</li>
+  </ol>
+
+  <p>
+  A szimuláció élményének javítására a program a járat teljesítésének
+  egyes szakaszaiban megfelelő beállítás esetén
+  különféle <a href="#prefsSounds">hang</a> állományokat, mint például
+  a légiutaskísérők bejentéseit, játssza le. Ezen állományok a
+  programhoz tartoznak, és vagy automatikusan kerülnek lejátszásra,
+  vagy ha megnyomunk egy gyorsbillentyűt a szimulátorban. Emellett
+  előre felvett hangállományokból az egyes repülőgép
+  típusokhoz <a href="#checklistEditor">ellenőrzőlistákat</a>
+  állíthatunk össze. Az ellenőrzőlistákat alkotó hangfelvételeket egy
+  másik gyorsbillentyű lenyomásával játszhatjuk le egyenként. Ezzel
+  kapcsolatban további tudnivalók az
+  <a href="#prefsSounds">alábbiakban</a> olvashatók.
+  </p>
+
+  <p><a name="onlineACARSSystem"/>
+  A Malév Virtual rendelkezik egy <i>Online ACARS rendszerrel</i>,
+  amelyik a <a href="http://virtualairlines.hu">MAVA honlapján</a>
+  valamint egy
+  <a href="http://virtualairlines.hu/acars2/show.html">térképen</a>
+  is megjeleníti a folyamatban lévő járatok állapotát.
+  </p>
+
+  <p><a name="onlineGateSystem"/>
+  A Malév Virtual továbbá egy <i>Online kapukezelő rendszert</i> is
+  üzemeltet, amelynek adatbázisa tartalmazza a flottát alkotó
+  repülőgépek helyét. Egy adott repülőgép tartózkodhat a budapesti
+  ferihegyi repülőtéren, amikor is az adatbázis tartalmazza, hogy
+  a gép melyik kapun vagy állóhelyen áll. Ha ez a helyzet, és
+  Ferihegyről indul az éppen teljesített járat, a program
+  <a href="#connectPage">megjeleníti</a> a kapu vagy állóhely számát,
+  és a szimulátorban javasolt a megjelelölt pozícióra állítani a
+  gépet. Ha Ferihegyről indulunk, de a repülőgép máshol van (például
+  egy másik járat teljesítése miatt),
+  <a href="#gateSelectionPage">kiválaszthatjuk</a>, hogy honnan
+  szeretnénk indulni. Az Online kapukezelő rendszer adatbázisa külön
+  is <a href="#gatesTab">megjeleníthető</a> a programban.
+  </p>
+
+  <p>
+  A fenti két rendszer csak online repülés esetén használható.
+  </p>
+
+  <p>
+  A program automatikusan frissíti önmagát. Elinduláskor leellenőrzi,
+  hogy van-e a telepítettnél újabb változat. Ha igen, letölti azt, majd
+  újraindítja saját magát, immár az új változatban. A frissítés
+  nemcsak a hibajavítások beszerzése miatt fontos, hanem például azért
+  is, mert a program bővülhet újabb ellenőrzésekkel vagy a már meglévők
+  közül egyesek kifinomultabbá válhatnak, és ha túl régi változatot használunk, a
+  PIREP javítók akár amiatt is elutasíthatják a járatot.
+  </p>
+
+  <p>
+  A program tartalmaz egy <a href="#bugReportWindow">hibajelentő</a>
+  eszközt is, amivel a használata során előforduló problémákat jelenthetjük.
+  </p>
+
+  <h3><a name="gui">A grafikus felhasználói felület</a></h3>
+
+  <p>
+  Az alkalmazás felülete a megszokott elemekből (gombokból,
+  jelölőnégyzetekből, listákból, szövegbeviteli mezőkből, stb.) épül
+  fel. A legtöbb elem rendelkezik tooltippel, amelyek e kézikönyv
+  mellett további segítséget nyújtanak a program használatához. A
+  legtöbb elem a billentyűzetről is kezelhető, ha a címkéjében lévő
+  aláhúzott betűt vagy számot az <b>Alt</b> billentyűvel együtt
+  ütjük le.
+  </p>
+
+  <p>
+  A program legtöbbször használt része a főablak, amelyet az
+  alábbiakban részletesen leírunk. Ha az ablakot minimalizáljuk vagy
+  lecsukjuk, alapértelmezésben csupán eltűnik, de maga a program
+  tovább fut. A lenti képen is látható tálcaikon segítségével az
+  ablak újra megjeleníthető.
+  </p>
+
+  <div align="center">
+    <table>
+      <tr>
+        <td>
+          <img src="statusIcon1.png" alt="The status icon" hspace="20"/>
+        </td>
+        <td>
+          <img src="statusIcon2.png" alt="The status icon menu" hspace="20"/>
+        </td>
+    </table>
+  </div>
+
+  <p>
+  Ha rákkantintuk a tálcaikonra mikor a program ablak nem látszik,
+  akkor az megjelenik. Ha az ikon fölé visszuk az egérmutatót, majd
+  várunk, a repülés aktuális fázisa és pontszáma jelenik meg. A
+  tálcaikon jobbgombos menüje az alábbi pontokat tartalmazza:
+  <ul>
+    <li><b>Mutasd a főablakot</b>: a főablak megjelenítése vagy elrejtése.</li>
+    <li><b>Mutasd a monitor ablakot</b>: a <a href="#monitorWindow">monitor ablak</a>
+    megjelenítése vagy elrejtése.</li>
+    <li><b>Kilépés</b>: kilépés az alkalmazásból. A kilépési szándékot
+    a megjelenő ablakban meg kell erősíteni.</li>
+  </ul>
+  </p>
+
+  <p>
+  Az alkalmazásból a <b>Fájl/Kilépés</b> menüpont választásával vagy a
+  <b>Ctrl+K</b> billentyűkombinációval is kiléphetünk.
+  </p>
+
+  <p>
+  Ha elindítjuk a programot, de az már fut, akkor a már futó példány
+  főablaka jelenik meg ahelyett, hogy új példány indulna el.
+  </p>
+
+  <h2><a name="mainWindow">A főablak</a></h2>
+
+  <p>
+  A lenti ábra az alkalmazás főablakának a képe. A felső része a
+  megszokott menüsort tartalmazza, amelyről az alábbiakban olvasható
+  több tudnivaló. Az ablak középső része több fülből áll, amelyek
+  használatát a lentiekben részletesen leírjuk.
+  </p>
+
+  <a name="mainWindowShot"/>
+  <div align="center"><img src="mainWindow.png" alt="The main window"/></div>
+
+  <p>
+  Az ablak alsó része az állapotsor. Bal szélén látható a
+  szimulátorral való kapcsolat állapotát jelző ikon. Mivel a program
+  folyamatosan figyeli a repülőgép paramétereit, kommunikálnia kell a
+  szimulátorral. E kommunikációs csatorna állapotát az ikon színe jelzi.
+  </p>
+
+  <p>
+  Ha az szürke, a program nem áll kapcsolatban a szimulátorral. Ez
+  normális a járat teljesítése előtt és azután. Ha az ikon zöld színű,
+  a kapcsolat él és megfelelően működik. Ha az ikon piros, a kapcsolat
+  megszakadt. Ebben az esetben egy dialógus ablak jelenik meg. A
+  kapcsolat megszakadásának legvalószínúbb oka a szimulátor
+  elszállása. Ebben az esetben indítsuk azt újra és a repülést
+  állítsuk vissza, amennyira csak lehetséges, az elszállás előtti
+  állapotra. Ezután kattintsunk az <b>Újrakapcsolódás</b> gombra, és a
+  logger megpróbálja visszállítani a kapcsolatot a
+  szimulátorral. Mivel megőrzi a járat összes adatát, ott
+  folytathatjuk, ahol abbahagytuk.
+  </p>
+
+  <p>
+  Ha a kapcsolat megszakadásának más az oka, próbáljuk az okot
+  megszüntetni. Természetesen lehetséges, hogy maga a logger működik
+  hibásan, és ebben az esetben sajnos nincs más lehetőség, mint a
+  járat újrakezdése. Ebben az esetben feltétlenül értesítsük a
+  szerzőt, és az értesítésbe másoljuk be a <a href="#debugLog">debug
+  napló</a> tartalmát.
+  </p>
+
+  <p>
+  Ha a kapcsolat megszakadását jelző dialógus ablakban a <b>Mégse</b>
+  gombot nyomjuk meg, a logger alapállapotba kerül.
+  </p>
+
+  <p>
+  A kapcsolat állapotát jelző ikontól jobbra a járat aktuális
+  <a href="#flightStages">fázisa</a> olvasható, ha annak követése már
+  elkezdődött, egyébként egy gondolatjel. Ezt követi a szimulátor
+  belső ideje, ha már kapcsolódtunk hozzá, majd
+  a <a href="#flightRating">pontszám</a>.
+  </p>
+
+  <p>
+  Az állapotsor jobb oldala általában üres, de ha valamilyen
+  potenciálisan hosszú ideig tartó művelet (például a MAVA szerverével
+  való kommunikáció) van folyamatban, akkor arról itt jelenik meg
+  információ. Ennek időtartama alatt a kurzor foglalt állapotot jelez és a
+  főablak nagy része nem reagál.
+  </p>
+
+  <h3><a name="tabFlight">A Járat fül</a></h3>
+
+  <p>
+  A járat fül a legfontosabb. A sok programban megtalálható
+  varázslókhoz hasonlóan lapok sorozatából áll. E lapok nagy része a
+  a repülés előkészítésének lépésein vezet végig, míg az utolsó
+  néhányon olyan adatokat adhatunk meg, amelyek szükségesek a repülés
+  kiértékeléséhez és az összeállított PIREP-nek a MAVA szerverére való
+  elküldéséhez.
+  </p>
+
+  <p>
+  Minden lap tetején egy, a lap célját jelző cím olvasható. Ez alatt
+  egy rövid szöveg írja le, hogy mit tartalmaz a lap és/vagy mit kell
+  azzal a lappal kapcsolatban tennünk. E szöveg alatt találhatók a lényegi
+  információk és az esetleges adatbeviteli eszközök. Alul, jobb
+  oldalon pedig a gombsor látható.
+  </p>
+
+  <p>
+  A legötbb lap két gombot tartalmaz: <b>Előre</b>
+  és <b>Vissza</b>. Ezekkel lehet mozogni a lapok között. A legtöbb
+  esetben a <b>Vissza</b> gombbal visszamehetünk a korábban már látott
+  lapokhoz, bár azok egy részének a tartalma nem módosítható miután
+  az <b>Előre</b> gombbal már továbbléptünk róluk. Ez alól van néhány
+  kivétel, mint azt az alábbiakban részletezzük.
+  </p>
+
+  <p>
+  Sok lap tartalmaz még egy <b>Járat megszakítása</b> feliratú gombot
+  is. Erre kattintva az aktuális járat megszakítható és ha ebbéli
+  szándékunkat megerősítettük, visszakerülünk
+  a <a href="#flightSelectionPage">járatválasztás</a> oldalra, ha
+  korábban bejelentkeztünk a MAVA szerverére, vagy a bejelentkezés
+  oldalra egyébként.
+  </p>
+
+  <h4><a name="loginPage">A <i>Bejelentkezés</i> oldal</a></h4>
+
+  <p>
+  A program a Bejelentkezés oldallal indul (lásd a fenti
+  <a href="#mainWindowShot">képet</a>), ahol megadhatjuk a pilóta
+  azonosítónkat és a MAVA honlapján is használható
+  jelszavunkat. Mindkét adatot a rendelkezésünkre bocsájtják a Malév
+  Virtualhoz való belépéskor. A pilóta azonosító rendszerint <q>P</q>
+  betűvel kezdődik, amit három számjegy követ.
+  </p>
+
+  <p>
+  Ha kijelöljök az <b>Emlékezz a jelszóra</b> jelölőnégyzetet, a
+  jelszót elmenti a program, így nem kell azt mindig beírnunk. Fontos
+  figyelembe venni, hogy a jelszót olvasható formában menti el a
+  program a konfigurációs fájlba, így csak akkor használjuk ezt a
+  lehetőséget, ha a könyvtárunkhoz csak megbízható emberek férnek
+  hozzá. A pilóta azonosítót mindenképpen elmenti a program.
+  </p>
+
+  <p>
+  Ha az ellenőrző repülést szeretnénk elvégezni, jelöljük be az
+  <b>Ellenőrző repülés</b> jelölőnégyzetet. Ebben az esetben a jelszót
+  nem is kell, és nem is adhatjuk meg, mivel az ellenőrző repüléshez
+  arra nincs szükség.
+  </p>
+
+  <p>
+  A MAVA szerverére való bejelentkezéshez és a következő lap
+  eléréséhez nyomjuk meg a <b>Bejelentkezés</b> gombot.
+  </p>
+
+  <p>
+  Ha Internet kapcsolat nélkül szeretnénk repülni, használjuk
+  az <b>Offline repülés</b> gombot. Ezzel egyből a következő lapra
+  kerülünk anélkül, hogy a program megpróbálna belépni a MAVA
+  szerverére.
+  </p>
+
+  <h4><a name="flightSelectionPage">A <i>Járatválasztás</i> oldal</a></h4>
+
+  <img src="flightSelection.png" alt="A járatválasztás oldal"/>
+
+  <p>
+  Ezen az oldalon a korábban a MAVA honlapján foglalt járatok listáját
+  találjuk, amenyiben
+  sikeresen <a href="#loginPage">bejelentkeztünk</a>. Ha offline
+  repülést választottunk, a lista üres.
+  </p>
+
+  <p>
+  Ha a listából kijelölünk egy járatot, akkor azt a <b>Járat
+  mentése</b> gombbal elmenthetjük. Ez akkor lehet hasznos, ha egy
+  későbbi időpontban, offline szeretnénk repülni. A repülés
+  előkészítése során a loggerrel bejelentkezhetünk a MAVA szerverére
+  és lekérhetjük a foglalt járatok listáját. Ezután a később offline
+  végrehajtani kívánt járatot elmenthetjük, majd a tényleges
+  végrehajtáskor visszatölthetjük.
+  </p>
+
+  <p>
+  Szükség lehet a járatlista frissítésére. Például elképzelhető, hogy
+  elfelejtettük lefoglalni a teljesíteni kívánt járatot. Ekkor a
+  foglalást megtehetjük a MAVA honlapján, majd a <b>Járatlista
+  frissítése</b> gombra kattintva frissíthetjük a listát.
+  </p>
+
+  <p>
+  A <b>Járat betöltése fájlból</b> gombra kattintva egy járatot
+  tölthetünk be. Ekkor egy fájlválasztó dialógus ablak jelenik meg,
+  ahol kiválaszthatjuk a betölteni kivánt járat fájlt (amelynek
+  kiterjesztése általában <code>.vaflight</code>). Ez leginkább
+  offline vagy ellenőrző repüléskor hasznos.
+  </p>
+
+  <p>
+  Válasszunk egy járatot a listából, majd nyomjuk meg az <b>Előre</b>
+  gombot a kiválasztott járat teljesítésének elkezdéséhez.
+  </p>
+
+  <h4><a name="gateSelectionPage">Az <i>LHBP kapuválasztás</i> oldal</a></h4>
+
+  <img src="gateSelection.png" alt="Az LHBP kapuválasztás oldal"/>
+
+  <p>
+  Ez az oldal csak akkor jelenik meg, ha a járat a budapesti
+  ferihegyi repülőtérről indul és nem lehet eldönteni, hogy annak
+  melyik kapujáról vagy állóhelyéről.
+  </p>
+
+  <p>
+  Válasszuk ki a megfelelő számot a listából, majd nyomjuk meg
+  az <b>Előre</b> gombot.
+  </p>
+
+  <h4><a name="connectPage">A <i>Kapcsolódás a szimulátorhoz</i> oldal</a></h4>
+
+  <img src="connect.png" alt="A Kapcsolódás a szimulátorhoz oldal"/>
+
+  <p>
+  Ez az oldal a járat néhány fontos adatát tartalmazza, mint a
+  használandó repülőgép típusát és lajstromjelét, az induló
+  repülőteret és esetleg a kapu vagy állóhely számát.
+  </p>
+
+  <p>
+  A szimulátorban válasszuk ki a jelzett repülőgépet és parkoljuk le
+  az induló repülőtéren, majd a loggerben nyomjuk meg
+  a <b>Kapcsolódás</b> gombot a szimulátorral való kapcsolat
+  kiépítéséhez. Ha az nem sikerül, erről egy dialógus ablakban
+  tájékoztat a program, amelynek segítéségvle a hiba elhárítása
+  után a <b>Próbáld újra</b> gombbal a kapcsolat létrehozására újabb
+  kísérlet tehető, míg a <b>Mégse</b> gombbal visszamehetünk a
+  járatválasztó vagy a bejelentkező oldalra.
+  </p>
+
+  <p>
+  A kapcsolat sikeres létrehozása után a járat követése még nem
+  kezdődik el azonnal, de a logger már ekkor is lekérdezhet bizonyos
+  adatokat.
+  </p>
+
+  <h4><a name="payloadPage">A <i>Terhelés</i> oldal</a></h4>
+
+  <img src="payload.png" alt="A Terhelés oldal"/>
+
+  <p>
+  Ezen az oldalon a járattal szállított hasznos teher összetevőit
+  láthatjuk valamint a kiszámított Zero-Fuel Weight (ZFW) értékét. Az
+  összes bemeneti adat szerkeszthető, de általában csak a
+  teherszállítmány tömegét szükséges megadni, ha az 0-tól eltérő.
+  A <b>ZFW a szimulátorból</b> gomb megnyomásának hatására a program a
+  szimulátorból lekérdezi a ZFW értékét és megjeleníti azt. Ha az
+  túlzottan eltér a számított értéktől, akkor ez utóbbi piros színnel
+  jelenik meg. Állítsuk be a szimulátorban a hasznos terhet. Ha ezt
+  elfelejtjük, abból NO GO hiba lesz.
+  </p>
+
+  <p>
+  Ha végeztünk az oldal kitöltésével, nyomjuk meg az <b>Előre</b>
+  gombot. Ekkor a <a href="#helpTab"><i>Segítség</i></a> fül használhatóvá
+  válik, ls igénybe is vehetjük, ha a szimulátorban nem sikerült
+  megfelelően beállítani a hasznos terhet. A fül részletesebb leírását
+  lásd az <a href="#helpTab">alábbiakban</a>.
+  </p>
+
+  <h4><a name="timePage">A <i>Menetrend</i> oldal</a></h4>
+
+  <img src="time.png" alt="A Menetrend oldal"/>
+
+  <p>
+  Ez az oldal tartalmazza a járat indulási és érkezési idejét
+  UTC-ben. Az <b>Idő a szimulátorból</b> gomb megnyomásának hatására a
+  program lekérdezi a szimulátor aktuális idejét. A járat
+  valós fényviszonyainak megjelenítése érdekében a szimulátor idejének
+  meg kell egyeznie a járatéval. Javasolt az időt az indulási idő
+  előtt 15 perccel korábbra állítani, hogy legyen elég időnk a repülés
+  előkészítésére.
+  </p>
+
+  <p>
+  Ha a szimulátorban beállítottuk a megfelelő időt, nyomjuk meg az
+  <b>Előre</b> gombot.
+  </p>
+
+  <h4><a name="fuelPage">Az <i>Üzemanyag</i> oldal</a></h4>
+
+  <img src="fuel.png" alt="Az Üzemanyag oldal"/>
+
+  <p>
+  Ezen az oldalon a repülőgép üzemanyagtartályainak grafikus képét
+  láthatjuk. A sárgás szín az egyes tartályok aktuális
+  üzemanyagszintjét jelzi, a zöldeskék csúszka pedig a kívánt szintet,
+  amelyet az egyes ábrák alatt számmal (kilogrammban) is láthatunk.
+  </p>
+
+  <p>
+  A kívánt mennyiséget megadhatjuk számmal, vagy beállíthatjuk a
+  zöldeskék csúszkákkal is, bár ez a módszer kevésbé pontos. A
+  csúszkát mozgathatjuk a tartályt jelképező ábrába való kattintással,
+  vagy húzhatjuk is, ha az egér gombját lenyomva tartjuk. Ha az egér
+  rendelkezik görgővel, azzal is módosíthatjuk a kívánt mennyiséget,
+  ha az egérmutatót az ábrán tartjuk. A görgő minden lépése 10
+  kilogrammal növeli vagy csökkenti a mennyiséget. Ha görgetés közben
+  lenyomva tartjuk a <b>Shift</b> gombot, a változás 100, ha pedig
+  a <b>Ctrl</b> gombot tartjuk lenyomva, a változás 1 kg.
+  </p>
+
+  <p>
+  Ha beállítottuk az összes tartályt, nyomjuk meg az <b>Előre</b>
+  gombot. Ekkor elkezdődik az üzemanyag szivattyúzása. Ennek
+  folyamatát a sárgás oszlopok magasságának növekedése vagy csökkenése
+  jelzi (elképzelhető, hogy egyes tartályokból ki kell szivattyúzni az
+  üzemanyagot). A pumpálás viszonylag rövid ideig, néhány másodpercig tart.
+  </p>
+
+  <h4><a name="routePage">Az <i>Útvonal</i> oldal</a></h4>
+
+  <img src="route.png" alt="Az Útvonal oldal"/>
+
+  <p>
+  Ezen az oldalon az utazószintet és az útvonaltervet láthatjuk és
+  szerkeszthetjük. Az utazószint kezdeti értéke FL240, de az útvonalat
+  a foglalt járatból veszi a program. Állítsuk be a szintet a
+  tervezettre, és szükség esetén módosítsuk az útvonalat. Ha például
+  egyes légterekbe belépve szükség lehet az utazószint módosítására,
+  azt adjuk meg itt.
+  </p>
+
+  <p>
+  Ha megtettük a szükséges módosításokat, nyomjuk meg az <b>Előre</b>
+  gombot a továbblépéshez. Ha később visszatérünk erre az oldalra, az
+  adatokat szerkeszthetjük.
+  </p>
+
+  <h4><a name="briefingPage">Az <i>Eligazítás</i> oldalak</a></h4>
+
+  <img src="briefing.png" alt="Az Eligazítás oldalak"/>
+
+  <p>
+  Ezen a két oldalon az induló illetve az érkező repülőtér NOTAM-jait
+  és METAR-ját olvashatjuk. A METAR-t szerkeszthetjük ha a hálózatról
+  más időjárást kapunk, vagy nem a valós időjárási viszonyok mellett
+  repülünk. Az érkező repülőtér METAR-ját a program frissíti a
+  leszállási fázisba való belépéskor, hacsak előtte nem szerkesztettük
+  azt. A METAR-ok a repülés teljes időtartama alatt szerkeszthetők. Ha
+  azonban így teszünk, annak okát a <a href="#flightInfoTab"><i>Járat
+  info</i></a> fül <i>Megjegyzések</i> rovatában jelezzük.
+  </p>
+
+  <p>
+  A második (az érkezési repülőtérhez tartozó) eligazítási oldalon
+  a megfelelő gomb megnyomásával erősítsük meg, hogy készen állunk a
+  repülésre. Ezzel elkezdődik a járat teljesítésének követése a
+  beszállás fázissal.
+  </p>
+
+  <h4><a name="takeoffPage">A <i>Felszállás</i> oldal</a></h4>
+
+  <img src="takeoff.png" alt="A Felszállás oldal"/>
+
+  <p>
+  Ezen az oldalon kell beírni a felszállásra használt futópálya
+  számát, az alkalmazott szabványos műszeres indulási eljárást,
+  valamint a felszállási sebességeket. Noha bármikor szerkeszthetjük
+  ezeket az adatokat, javasolt azokat a felszállás előtt beírni.
+  <p>
+
+  <p>
+  Ha valamelyik Tupoljev vagy Jak típussal repülünk, a
+  sebességeket kilométer per órában kell megadni.
+  </p>
+
+  <p>
+  A flotta legtöbb típusának esetében meg kell adni a felszállási
+  teljesítménycsökkentés mértékét is. Ennek pontos formája és értéke a
+  típustól függ.
+  </p>
+
+  <p>
+  Azt is kiválaszthatjuk, hogy bekapcsoltunk-e valamilyen
+  jegesedésgátló berendezést (a pitot csövek fűtésétől eltekintve). A
+  legtöbb repülőgépnél azonban a program tudja érzékelni a beállítást,
+  és ha a jegedesedésgátló be van kapcsolva, a jelölődoboz
+  automatikusan kijelölésre kerül. Ha mi magunk kijelöljük, a program
+  magától nem szüntetni meg a kijelölést (hacsak nem ébred öntudatra
+  majd valamikor).
+
+  <p>
+  A következő oldalra felszállás után az <b>Előre</b> gomb
+  megnyomásával léphetünk tovább, ha minden adatot beírtunk.
+  </p>
+
+  <h4><a name="cruisePage">Az <i>Utazó</i> oldal</a></h4>
+
+  <img src="cruise.png" alt="Az Utazó oldalon"/>
+
+  <p>
+  Ezen az oldalon az <a href="#routePage">Útvonal oldal</a>on
+  beállított utazószint látható. Ha a légtérre vonatkozó előírások,
+  step climb, vagy bármely más megalapozott ok miatt módosítani kell
+  az utazószintent, itt kell megadni az új értéket, majd annak
+  elérésekor megnyomni a <b>Frissít</b> gombot.
+  </p>
+
+  <p>
+  Ha már tervezzük a leszállást, az <b>Előre</b> gomb megnyomásával a
+  következő oldalra léphetünk.
+  </p>
+
+  <h4><a name="landingPage">A <i>Leszállás</i> oldal</a></h4>
+
+  <img src="landing.png" alt="A Leszállás oldal"/>
+
+  <p>
+  Ezen az oldalon a tervbe vett szabványos érkezési és/vagy bevezetési
+  eljárás nevét, a megközelítés típusát
+  (pl. <q>ILS</q>, <q>VOR</q>, <q>VISUAL</q>, stb.) és a
+  köszöbátlépési sebességet (V<sub>ref</sub>) kell megadni. Az
+  eljárások esetén mindig a tervezettet adjuk meg, és ha például az
+  irányítástól eltérőt, netán vektorokat kaptunk, azt a megjegyzésben
+  tüntessük fel. Az adatokat repülés közben vagy akár leszállás után
+  is megadhatjuk. Ha Tupoljev vagy Jak típussal repülönk, a sebességet
+  km/órában kell megadni.
+  </p>
+
+  <p>
+  Ez az oldal is tartalmaz egy, a jegesedésgátló berendezések
+  működésére vonatkozó kijelölődobozt, amelyre ugyanazok érvényések,
+  mint a <a href="#takeoffPage">Felszállás oldal</a>on található
+  társára.
+  </p>
+
+  <p>
+  Ha minden adatot megadtunk, nyomjuk meg az <b>Előre</b> gombot. Ez
+  csak akkor használható, ha a járat teljesítése véget ért.
+  </p>
+
+  <h4><a name="finishPage">A <i>Lezárás</i> oldal</a></h4>
+
+  <img src="finish.png" alt="A Lezárás oldal"/>
+
+  <p>
+  Ez a járat varázsló utolsó oldala. Tartalmazza a járat
+  összesítését: a pontszámot, a repült és blokk időt, a repült távot
+  és az eltüzelt üzemanyag mennyiségét.
+  </p>
+
+  <p>
+  Emellett néhány adatot is meg kell adnunk. Ki kell választani a
+  járat típusát (menetrendszerint, old-timer, VIP vagy charter), és
+  hogy online repülés volt-e. Ha a ferihegyi repülőtérre érkezünk, ki
+  kell választani annak a kapunak vagy állóhelynek a számát, ahol a
+  repülőgépet leparkoltuk.
+  </p>
+
+  <p>
+  Ha minden szükséges adatot megadtunk és a programot megfelelően
+  <a href="#prefsGeneral">konfiguráltuk</a>, a PIREP automatikusan
+  elmentődik.
+  </p>
+
+  <p>
+  Ha minden adatot megadtunk, ellenőrizhetjük a korábbi oldalakon vagy
+  más füleken megadottakat, majd elmenthetjük vagy elküldhetjük az
+  elkészített PIREP-et az alul lévő, erre a célre szolgáló két gomb
+  valamelyikének a megnyomásával. Az elmentett PIREP-et később
+  betölthetjük, és megpróbálhatjuk elküldeni, hogy korábban az nem
+  sikerült. Ha a PIREP-et sikeresen elküldjük, az a Malév Virtual
+  kijelölt PIREP javítói számára értékelhetővé válik.
+  </p>
+
+  <p>
+  Az <b>Új járat...</b> gomb megnyomásával egy új járat teljesítését
+  kezdhetjük el. Ha még nem mentettük el és nem is küldtük el a
+  PIREP-et, szándékunk megerősítését kéri a logger. Új
+  járat kezdésekor a <a href="#flightSelectionPage">járatválasztás
+  oldalra</a> kerülünk, ha korábban sikeresen bejelentkeztünk a MAVA
+  szerverére, egyébként pedig a <a href="#loginPage">bejelentkezés
+  oldalra</a>.
+  </p>
+
+  <h3><a name="flightInfoTab">A Járat info fül</a></h3>
+
+  <img src="flightInfoTab.png" alt="A Járat info fül"/>
+
+  <p>
+  Ezen az oldalon további információt adhatunk a járattal
+  kapcsolatban, ha szükséges.
+  </p>
+
+  <p>
+  A <i>Megjegyzések</i> szövegmezőbe olyan információt írhatunk be,
+  amit szeretnénk a PIREP javító tudomására hozni. Például, hogy miért
+  változtattuk meg METAR-t, miért engedtük ki véletlenül a futóművet
+  (rossz gombot nyomtunk meg a billentyűzeten), stb.
+  </p>
+
+  <p>
+  A <i>Hibajelenségek</i> szövegmező a repülőgéppel kapcsolatban
+  tapasztalt hibák leírását tartalmazhatja. Például, hogy leállt az
+  egyik hajtómű, és (ha ismert) miért, hogy a fékszárnyakat nem
+  sikerült kiengedni vagy visszahúzni, stb.
+  </p>
+
+  <p>
+  A <i>Késés kódok</i> táblázatban kijelölhetjük a késés okát vagy okait,
+  ha volt ilyen. A táblázat csak akkor érhető el, ha már
+  kiválasztottuk teljesíteni kívánt járatot, ugyanis a tartalma függ a
+  repülőgép típusától.
+  </p>
+
+  <h3><a name="helpTab">A Segítség fül</a></h3>
+
+  <img src="helpTab.png" alt="A Segítség fül"/>
+
+  <p>
+  Ez a fül segít a repülőgép hasznos terhének kiszámításában. Azután
+  használható, hogy a <a href="#payloadPage"><i>Terhelés</i></a>
+  lapot, pontosabban ott a teherszállítmány tömegét véglegesítettük. A
+  segítség igénybe vételéhez jelöljük ki a <b>Használom a
+  segítséget</b> négyzetet. Ekkor a fülön látható adatok kitöltésre
+  kerülnek és a szimulátorból is letölthetjük az adatokat. A segítség
+  igénybevételének ténye bekerül a
+  repülési <a href="#logTab">naplóba</a>, így a PIREP javítója tudni
+  fog róla.
+  </p>
+
+  <p>
+  A legfontosabb információ a <i>Hasznos teher:</i> címke után
+  olvasható, ugyanis ezt kell a szimulátorban beállítani mint a
+  repülőgép hasznos terhét. A <b>Szimulátor adatok</b> gomb
+  megnyomására a program lekérdezi és megjeleníti a szimulátorból
+  kiolvasott adatokat. Ha azok a megengedettnél nagyobb mértékben
+  térnek el a kiszámított adatoktól, piros színnel, egyébként zölden
+  jelennek meg.
+  </p>
+
+  <p>
+  A teljes tömeget és bizonyos maximális tömegeket szintén megjelenít a
+  program, így hozzávetőlegesen azt is ellenőrizhetjük, hogy a
+  maximumokat nem fogjuk-e túllépni a repülés során.
+  </p>
+
+  <h3><a name="logTab">A Napló fül</a></h3>
+
+  <img src="logTab.png" alt="A Napló fül"/>
+
+  <p>
+  Ez a repülési napló, amit a PIREP javítók elemezni fognak. A
+  tartalmát a program automatikusan állítja elő, és a legtöbb sor
+  elején az a szimulátorbeli időpont olvasható, amelyhez a sorban
+  olvasható információ tartozik.
+  </p>
+
+  <p>
+  Bár a napló tartalma elsősorban a PIREP javítók számára szükséges,
+  jól jöhet akkor is, ha a dolgok hirtelen nagyon gyorsan kezdenek
+  zajlani, és nem tudjuk követni az összes hibaüzenetet (ha egyáltalán
+  engedélyeztük azokat). Később, ha a helyzet normalizálódott,
+  megnézhetjük a naplót, hogy pontosan mi is történt, miért kaptunk
+  annyi hibapontot. Például úgy is dönthetünk, hogy abbahagyjuk a
+  repülést, ha úgy gondoljuk, hogy egyes hibák túl kínosak :) A gyors
+  felismerhetőség érdekében a hibaüzeneteket tartalmazó sorokat
+  kiemeli a program.
+  </p>
+
+  <h3><a name="gatesTab">A Kapuk fül</a></h3>
+
+  <img src="gatesTab.png" alt="A Kapuk fül"/>
+
+  <p>
+  Ez a fül a MAVA <a href="#onlineGateSystem">online kapukezelő
+  rendszerétől</a> lekérdezett adatokat jeleníti meg. Amikor a
+  programnak szüksége van ezekre az adatokra, e fül adatait is
+  frissíti magától, de kézzel is kérhetünk frissítést az <b>Adatok
+  frissítése</b> gomb megnyomásával.
+  </p>
+
+  <p>
+  A bal oldalon a flotta állapotát láthatjuk. A lista az egyes repülőgépek
+  lajstromjelét és állapotát tartalmazza, legalábbis amit erről a
+  kapukezelő rendszer adatbázisa tárol. A két legfontosabb állapot
+  az <i>LHBP-nn</i> és a <i>TÁVOL</i>. Az előbbi ezt jelzi, hogy a
+  repülőgép a budapesti ferihegyi repülőtéren az <i>nn</i> számú
+  kapunál vagy állóhelyen parkol, míg az utóbbi arra utal, hogy a
+  repülőgép egy másik repülőtéren tartózkodik. Másik lehetséges
+  állapot a <i>PARKOL</i>, ami azt jelenti, hogy a repülőgép valahogy
+  a ferihegyi repülőtéren áll, de nem tudjuk (vagy legalábbis a
+  kapukezelő rendszer nem tudja), hol. Az is előfordulhat, hogy több
+  repülőgép parkol ugyanott Ferihegyen. Ebben az esetben ezek
+  lajstromjele és állapota pirossal szerepel.
+  </p>
+
+  <p>
+  Jobb oldalt a kapuk és állóhelyek száma látható. A szám fekete, ha
+  az annak megfelelő helyen nem áll repülőgép, egyébként narancssárga.
+  </p>
+
+  <h3><a name="debugLog">A Debug napló</a></h3>
+
+  <img src="debugLogTab.png" alt="A Debug napló fül"/>
+
+  <p>
+  Ez a fül alapértelmezésben nem látható, de a <b>Nézet/Mutasd a
+  debug naplót</b> menüpont kiválasztásával vagy a <b>Ctrl+D</b>
+  billentyűkombináció leütésével megjeleníthető. Ez egy másik fajta
+  napló, ami hibakereséshez lehet hasznos. Ha valamilyen problémát
+  tapasztalunk a program működésével kapcsolatban, e napló tartalmát
+  is mellékeljük a hibajelentéshez. Sokban segíthet a megoldás
+  megtalálásában.
+  </p>
+
+  <h2><a name="loadingPIREPs">PIREP-ek betöltése</a></h2>
+
+  <p>
+  Az elmentett PIREP-eket a programmal visszatölthetjük és
+  elküldhetjük. Erre akkor lehet szükség, ha például egy járat
+  teljesítése után közvetlenül nem tudjuk elküldeni a PIREP-et
+  valamilyen hálózati probléma miatt, vagy ha szándékosan Internet
+  kapcsolat nélkül repültük a járatot.
+  </p>
+
+  <p>
+  PIREP betöltéséhez válasszuk ki a <b>Fájl/PIREP betöltése...</b>
+  menüpontot vagy nyomjuk meg a <b>Ctrl+T</b>
+  billentyűkombinációt. Egy fájlválasztó ablak jelenik meg, amelyben
+  kiválaszthatjuk a betöltendő PIREP-et. A kiválasztás után a PIREP
+  betöltődik, és egy másik ablak jelenik meg a járat legfontosabb
+  adataival. A <b>PIREP elküldése...</b> gomb megnyomására a PIREP-et
+  a program megpróbálja elküldeni, és ennek eredményéről egy dialógus
+  ablakban tájékoztat minket.
+  </p>
+
+  <div align="center">
+    <img src="pirepLoaded.png" alt="A betöltött PIREP ablaka"/>
+  </div>
+
+  <p>
+  Előfordulhat, hogy egy elmentett PIREP-et alaposabban is meg
+  szeretnénk nézni, például ha az egy ellenőrző repülésről
+  készült. Ehhez nyomjuk meg a <b>PIREP megtekintése...</b>
+  gombot. Ennek hatására megjelenik a PIREP megtekintő ablak, amely az
+  adatokat három fül alá csoportosítja. Az <i>Adatok</i> fül a
+  járattal kapcsolatos adatokat tartalmazza. A <i>Megjegyzések és
+  hibák</i> fül a pilóta esetleges megjegyzéseit és hibajelenségekről
+  szóló beszámolóit tartalmazza. A <i>Napló</i> fülön pedig a repülési
+  napló olvasható.
+  </p>
+
+  <div align="center">
+    <img src="pirepViewer.png" alt="PIREP megtekintő ablak"/>
+  </div>
+
+  <h2><a name="checklistEditor">Ellenőrzőlisták szerkeszése</a></h2>
+
+  <img src="checklistEditor.png" alt="Ellenőrzőlista szerkesztő"/>
+
+  <p>
+  Egy ellenőrzőlista tulajdonképpen hangfájlok listája. Ha az
+  ellenőrzőlisták lejátszását engedélyeztük (lásd lent a <i>Beállítások</i>
+  ablak <a href="#prefsSounds">leírását</a>), és a járat
+  teljesítéséhez használt repülőgéphez tartozik ellenőrzőlista, akkor
+  a megfelelő gyorsbillentyű ismételt leütésével a listát alkotó
+  fájlok egyenként lejátszhatók.
+  </p>
+
+  <p>
+  Az ellenőrzőlista szerkesztő ablak az <b>Eszközök/Ellenőrzőlista
+  szerkesztő...</b> menüpont kiválasztásával, vagy a <b>Ctrl+E</b>
+  billentyűkombinációval jeleníthető meg. Az ablak felső részén
+  kiválaszthatjuk azt a repülőgép típust, amelynek az
+  ellenőrzőlistáját szerkeszteni óhajtjuk.
+  </p>
+
+  <p>
+  Az ablak jobb oldalán látható azoknak a fájloknak a listája, amelyek
+  az ellenőrzőlistát alkotják. Az egérrel fel-le húzhatjuk a fájlokat
+  a listában. Emellett a listából kijelölhetünk egy vagy több fájlt,
+  amelyeket aztán a <b>Törlés</b> gombbal törölhetünk, a <b>Mozgatás
+  felfelé</b> és a <b>Mozgatás lefelé</b> gombbal pedig fel és le
+  mozgathatunk.
+  </p>
+
+  <p>
+  Az ellenőrzőlistához úgy adhatunk hozzá további fájlokat, hogy a bal
+  oldali fájlválasztóban kijelöljük azokat, majd megnyomjuk
+  a <b>Listához hozzáadás</b> gombot. A kijelölt fájl(ok) a lista
+  végére kerül(nek).
+  </p>
+
+  <p>
+  A változtatásokat csak akkor jegyzi meg a program, ha azok
+  végeztével megnyomjuk az <b>OK</b> gombot. Ha azonban a járat
+  teljesítése már elkezdődött, az ellenőrzőlista változtatása a
+  folyamatban lévő repülés során nem tapasztalható (azaz a régi
+  ellenőrzőlistát hallhatjuk, vagy egyáltalán nem kapunk
+  ellenőrzőlistát, ha a járat megkezdésekor nem volt olyan).
+  </p>
+
+  <h2><a name="calloutsEditor">Megközelítési bemondások szerkesztése</a></h2>
+
+  <img src="calloutsEditor.png" alt="The megközelítési bemondások szerkesztője"/>
+
+  <p>
+  A megközelítési bemondások olyan, adott repülőgéptípushoz tartozó
+  hangfájlok, amelyeket a program a megközelítés során, bizonyos
+  magasságok elérésekor játszik le. E fájlok listáját szerkeszthetjük
+  a megközelítési bemondásokat szerkesztő ablakban, amelyet az
+  <b>Eszközök/Megközelítési bemondások szeresztése...</b> menüpont
+  kiválasztásával, vagy a <b>Ctrl+M</b> billentyűkombináció
+  leütésével jeleníthetünk meg.
+  </p>
+
+  <p>
+  Az ablak felső részén választhatjuk ki a repülőgép típusát. Alatta,
+  a bal oldalon két gombot, azoktól jobbra pedig a bemondások listáját
+  láthatjuk. A listában a fájloknak csak a neve látható, de ha az
+  egérmutatót a lista adott eleme fölött hagyjuk egy időre, megjelenik
+  a teljes elérési út. A listát mindig a magasság szerint rendezi a
+  program, de a sorrend átváltható a csökkenő és a növekvő között.
+  </p>
+
+  <p>
+  A <b>Bemondás hozzáadása</b> gomb használatakor egy fájlválasztó
+  ablak jelenik meg. A fájl a kiválasztása után bekerül a listába
+  valamilyen magassággal, amit azonnal lehet is szerkeszteni. Ha a
+  fájl neve tartalmaz valamilyen számot, akkor az lesz a megajánlott
+  magasság, egyébként a listában szereplő legkisebb és legnagyobb
+  magasság alapján választ a program. Nem
+  tartozhat ugyanaz a magasság egynél több fájlhoz. Ha olyan
+  magasságot állítunk be, ami már szerepel listában, egy dialógus
+  ablakban erről figyelmeztetést kapunk, és választhatunk, hogy a
+  program lecserélje a másik fájlt, vagy hogy folytatjuk a
+  szerkesztést. A lista egy eleméhez tartozó magasság szerkesztéséhez
+  jelöljük ki az adott sort, majd kattintsunk a magasságra.
+  </p>
+
+  <p>
+  Ha a listából kijelölünk egy vagy több elemet, a <b>Törlés</b>
+  gombbal azok törölhetők.
+  </p>
+
+  <p>
+  A változtatásokat csak akkor jegyzi meg a program, ha azok
+  végeztével megnyomjuk az <b>OK</b> gombot. Ha azonban a járat
+  teljesítése már elkezdődött, a bemondások listájának változtatása a
+  folyamatban lévő repülés során nem tapasztalható.
+  </p>
+
+  <h2><a name="prefs">A Beállítások ablak</a></h2>
+
+  </p>
+  A Beállítások ablakot az <b>Eszközök/Beállítások</b> menüpont
+  kiválasztásával vagy a <b>Ctrl+B</b> billentyűkombináció
+  alkalmazásával érhetjük el. Itt olyan paramétereket állíthatunk be,
+  amelyeket általában nem kell minden egyes járathoz külön
+  módosítani. Az ablakban több fül található a paraméterek logikus
+  csoportosítása céljából.
+  </p>
+
+  <h3><a name="prefsGeneral">Az <i>Általános</i> fül<a></h3>
+
+  <img src="prefsGeneral.png" alt="A Beállítások ablak Általános füle"/>
+
+  <p>
+  Itt néhány általános beállítás található, amelyek a program
+  különböző részeinek a működését befolyásolják. A <i>Grafikus
+  felület</i> keretben a program grafikus felületének viselkedésére
+  vonatkozó opciók találhatók. A <i>Nyelv</i> listában választhatjuk
+  ki, hogy milyen nyelvet használjon a program. Jelenleg a magyar és
+  az angol nyelvet támogatjuk. Az <i>alapértelmezett</i> lehetőség azt
+  jelenti, hogy ha az operációs rendszer nyelve valamelyik támogatott
+  nyelv, akkor a program is azon a nyelven fut, egyébként pedig
+  angolul. Ha ezt a beállítást megváltoztatjuk, a programot újra kell
+  indítani, hogy érvényre is jusson. Ha az <b>A főablak eltüntetése
+  minimalizálásakor</b> jelölőnégyzetet kijelöljük, akkor a főablak
+  minimalizálásakor az teljesen eltűnik (nem jelenik meg a többi
+  minimalizált ablak között). Az ablak a tálcaikon használatával
+  jeleníthető meg újra. Ha a <b>Kilépés az ablakzáró gomb
+  megnyomásakor</b> jelölőnégyzet ki van jelölve, a program az
+  ablakzáró gomb megnyomásának hatására megjeleníti a kilépési szándék
+  megerősítésére szolgáló ablakot, és a jóváhagyás után
+  kilép. Egyébként a főablak csak eltűnik, és a tálcaikon segítségével
+  újra megjeleníthető.
+  </p>
+
+  <p>
+  A <i>MAVA online rendszerek</i> keretben a loggernek a MAVA fent
+  leírt online rendszereivel,
+  a <a href="#onlineGateSystem">kapukezelő</a> és
+  az <a href="#onlineACARSSystem">ACARS</a> rendszerrel való
+  együttműködését engedélyezhetjük vagy tilthatjuk le. Javasolt ezek
+  engedélyezése.
+  </p>
+
+  <p>
+  A <i>Szimulátor</i> keretben találhatók azok a beállítások, amelyek
+  befolyásolják, hogy a program hogyan működik együtt a
+  szimulátorral. A legtöbb beállítás magától értetődő, de az
+  átlagolással kapcsolatosak némi magyarázatra szorulhatnak. A Flight
+  Simulator egyik jellegzetessége, hogy néha nagyon hirtelen, nem
+  egészen valószerű változásokat produkál a szélmozgásban. Ez azt
+  eredményezi, hogy a szimulált repülőgép nagyon magas sebességet
+  érzékel, amelynek hatására a robotpilóta adott esetben például
+  jelentősen megnöveli az emelkedés sebességét, hogy ellensúlyozza a
+  sebességnövekedést, vagy más hibás működést tapasztalunk. Mivel ezen
+  jelenségek ellen nehéz védekezni különböző fizetős termékek, mint
+  például az FSUIPC megvásárlása nélkül, a logger lehetőséget biztosít
+  arra, hogy az IAS és a vario értékét néhány másodpercnyi átlagolás
+  után vegye figyelembe egyes esetekben, így az ezekben az értékekben
+  tapasztalható kiugrások kiátlagolhatók bizonyos fokig. Ez a
+  lehetőség az <b>Az IAS/vario átlagolása N másodpercig</b>
+  beállításokkal szabályozható. A beállítandó másodpercek számával
+  szükséges lehet kísérletezni, de ha megnyomjuk az <b>OK</b> gombot,
+  a beállítást azonnal figyelembe veszi a program.
+  </p>
+
+  <p>
+  Ha a <b>PIREP mentése automatikusan</b> jelölődobozt kijelöljük, a
+  PIREP-et a program automatikusan elmenti a feljebb megadott
+  könyvtárba, ha befejezetük a járatot és megadtunk minden szükséges
+  adatot.
+  </p>
+
+  <h3><a name="prefsMessages">Az <i>Üzenetek</i> fül</a></h3>
+
+  <img src="prefsMessages.png" alt="A Beállítások ablak Üzenetek füle"/>
+
+  <p>
+  A program bizonyos események megtörténtekor azokról üzenetet tud
+  megjeleníteni a szimulátorban és/vagy hangjelzést ad. Ezen a fülön
+  ezt a funkciót állíthatjuk be.
+  <p>
+
+  <p>
+  A bal oldalon olvasható az üzenetek kategóriáinak listája. Ezek a következők:
+  </p>
+
+  <ul>
+    <li><b>Logger hibaüzenetek</b>: a logger belső működésével kapcsolatos
+    hibákról szóló üzenetek.</li>
+    <li><b>Információs üzenetek</b>: informatív üzenetek, például a
+    repülés fázisairól, az ellenőrzőlisták végéről, stb.</li>
+    <li><b>Repülés alatti fázis üzenetek</b>: a repülés olyan
+    fázisairól szóló üzenetek, amelyekben a levegőben vagyunk.</li>
+    <li><b>Hibaüzenetek</b>: a program által észlelt, de még nem NO GO
+    kategóriájú hibákról szóló üzenetek.</li>
+    <li><b>NO GO hibaüzenetek</b>: a program által észlelt NO GO
+    kategóriájú hibákról szóló üzenetek.</li>
+    <li><b>Kapukezelő rendszer üzenetei</b>:
+    az <a href="#onlineGateSystem">online kapukezelő rendszerrel</a>
+    kapcsolatos üzenetek. Ha például leszállunk Ferihegyen, a program
+    megjeleníti a nem foglalt kapuk és állóhelyek listáját, így
+    irányítás hiányában is el tudjuk dönteni, hová álljunk.</li>
+    <li><b>Környezeti üzenetek</b>: egyéb üzenetek, például a repülés
+    végén a célrepülőtéren üdvözlő üzenet.</li>
+    <li><b>Segítő üzenetek</b>: segítő üzenetek, például a
+    figyelmeztetés arról, hogy ne feledjük a sebességeket
+    a felszállás előtt megadni a Felszállás oldalon.</li>
+    <li><b>Látótávolság üzenetek</b>: a süllyedés és a leszállás
+    közben a látótávolságot tartalmazó üzenetek.</li>
+  </ul>
+
+  <p>
+  Mindegyik üzenetkategóriához két jelölőnégyzet tartozik. Ha a bal
+  oldalit (<i>Szimulátorban megjelenítés</i>) kijelöljök, az adott
+  kategóriába tartozó szöveges üzenetek megjelennek a
+  szimulátorban. Ha a jobb oldalit (<i>Hangjelzés</i>), akkor
+  amennyiben egy, az adott kategóriába tartozó üzenetet kiváltó
+  esemény következik be, figyelmeztető hangjelzést ad a program. Ezt
+  elsősorban a szöveges üzenetek mellé szánjuk, de a két jelölőnégyzet
+  egymástól függetlenül is állítható, így kijelölhetjük csak a
+  hangjelzést a szimulátorban való megjelenítés nélkül. Ez akkor lehet
+  hasznos, ha nem akarjuk a repülőgép szélvédőjét mindenféle
+  üzenetekkel elborítani, de mégis szeretnénk valamilyen jelzést kapni
+  arról, hogy gond lehet.
+  </p>
+
+  <h3><a name="prefsSounds">A <i>Hangok</i> fül</a></h3>
+
+  <img src="prefsSounds.png" alt="A Beállítások ablak Hangok füle"/>
+
+  <p>
+  Ezen a fülön állíthatjuk be, hogy az alkalmazás hogyan játssza le a
+  hangfájlokat.
+  </p>
+
+  <p>
+  A felső rész a háttérhangokra vonatkoznak. Ezek olyan előre
+  rögzített hangfájlok, amelyeket a repülés közben, bizonyos
+  körülmények fennállása esetén játszik le a program. Ilyenek például
+  a légiutaskísérők különböző bejelentései. A <b>Háttérhangok
+  engedélyezése</b> jelölőnégyzettel lehet engedélyezni
+  ezeket. Ha a <b>Pilóta vezérli a hangokat</b> jelölőnégyzetet
+  kijelöljük, a hangfájlok lejátszását a pilótának kell indítania egy
+  gyorsbillentyű megnyomásával. Természetesen egy adott hangfájl
+  lejátszásához a járat teljesítésének megfelelő fázisában kell
+  lennünk, és egyes esetekben más feltételeknek is teljesülniük
+  kell. Emellett egy fájlt csak egyszer játszhatunk le. Ha
+  bekapcsoljuk ezt a lehetőséget, a szimulátorban leütendő
+  gyorsbillentyűt is meg kell adnunk. A szám és betű billentyűk (0-9,
+  A-Z) közül választhatünk, esetleg kombinálva a <i>Ctrl</i> és
+  a <i>Shift</i> emelők közül valamelyikkel vagy mindkettővel. Ha nem
+  engedélyezzük a pilóta által történő vezérlést, a program
+  automatikusan játssza le a hangfájlokat.
+  </p>
+
+  <p>
+  Ha a <b>Megközelítési bemondások engedélyezése</b> jelölőnégyzetet
+  kijelöljük, és a használt repülőgép típushoz
+  <a href="#calloutsEditor">megadunk</a> megközelítési bemondásokat,
+  akkor azokat a program megközelítéskor le is fogja játszani.
+  </p>
+
+  <p>
+  Ha a <b>Spoiler hang bekapcsolása leszálláskor</b> jelölőnégyzetet
+  kijelöljük, a földetéréskor a spoilerek kinyílásakor egy jellegzetes
+  hangot hallunk.
+  </p>
+
+  <p>
+  Az alsó, <i>Ellenőrzőlisták</i> nevű részben az ellenőrzőlisták
+  lejátszával kapcsolatos beállításokat találjuk. Az ellenőrzőlisták
+  lejátszhatóságát a <b>Repülőgép-specifikus ellenőrzőlisták
+  engedélyezése</b> jelölőnégyzettel engedélyezhetjük. Engedélyezés
+  esetén meg kell adnunk egy másik gyorsbillentyűt, amelynek
+  megnyomásakor az ellenőrzőlistát alkotó fájlok közül mindig a soron
+  következők játssza le a program.
+  </p>
+
+  <h3><a name="prefsAdvanced">A <i>Haladó</i> fül</a></h3>
+
+  <img src="prefsAdvanced.png" alt="A Beállítások ablak Haladó füle"/>
+
+  <p>
+  Ezen a fülön olyan beállítások vannak, amelyeket normális esetben
+  nem kell megváltoztatnunk. Jelenleg ezek az automatikus frissítéssel
+  kapcsolatos beállítások. Ha a <b>Frissítsd a programot
+  automatikusan</b> jelölőnégyzet kijelölését megszüntetjük, a program
+  az indulásakor nem ellenőrzi, hogy van-e frissebb
+  változat. A <i>Frissítés URL-je</i> szövegmezőben látható az az URL,
+  ahonnan a frissítést letölti a program. A program fejlesztői
+  kérhetik, hogy ezt változtasd meg, mert például egy tesztverziót
+  szeretnének kipróbáltatni. Vagy szervezeti okok, például egy új
+  szerverre való költözés miatt kell megváltoztatni, stb.
+  </p>
+
+  <h2><a name="bugReportWindow">A Hibajelentés ablak</a></h2>
+
+  <img src="bugreport.png" alt="A Hibajelentés ablak"/>
+
+  <p>
+  A hibajelentés ablak segítségével a program használata során
+  tapasztalt, nem fatális problémákat jelenthetjük. Hibákat
+  jelenthetünk a MAVA fórum megfelelő topikjában, e-mailben vagy
+  saját kezűleg létrehozott tikettel a projekt honlapján. Azonban ezen
+  ablak használatával nem csak a tikettet hozzuk létre, hanem abba
+  automatikusan belekerül a napló és a debug napló szövege, ami
+  jelentősen megkönnyítheti a hiba megtalálását. Természetesen
+  előfordulhat, hogy a program úgy száll el, hogy ez az ablak nem
+  elérhető vagy rosszul működik. Ebben az esetben maradnak az egyéb
+  módszerek.
+  </p>
+
+  <p>
+  A hibajelentő ablakot az <b>Eszközök/Hibajelentés</b> menüpont
+  kiválasztásával vagy a <b>Ctrl+H</b> billentyűkombináció leütésével
+  jeleníthetjük meg. Az összefoglalást kötelező kitölteni a probléma
+  rövid, egy mondatos leírásával vagy címével. A <i>Leírás</i>t nem
+  szükséges kitölteni, de ha bármilyen egyéb, hasznos információ
+  eszünkbe jut, azt ide beírhatjuk. Mivel a program magától
+  hozzáfűzi a napló és a debug napló tartalmát, azokat ide ne másoljuk
+  be. Megadhatjuk továbbá az e-mail címünket is, hogy automatikusan
+  értesítést kapjunk a hibajelentés állapotáról, de ebben az esetben a
+  cím megjelenik a projekt honlapján, a hibajelentésben.
+  </p>
+
+  <p>
+  A <i>Küldés...</i> gomb megnyomásával elkészül a hibajelentés. Ha
+  sikerül létrehozni, erről üzenetet kapunk, amely tartalmazza a
+  hibajelentés azonosítóját is. Ezt célszerű feljegyezni, hogy a
+  későbbiekben hivatkozhassunk rá.
+  </p>
+
+  <h2><a name="monitorWindow">A Monitor ablak</a></h2>
+
+  <img src="monitorWindow.png" alt="A Monitor ablak"/>
+
+  <p>
+  A monitor ablakot elsősorban hibakeresésre lehet
+  használni. A <b>Nézet/Mutasd a monitor ablakot</b> menüpont
+  kiválasztásával vagy a <b>Ctrl+M</b> billentyűkombináció leütésével
+  lehet megjeleníteni. A tartalma repülés közben másodpercenként
+  frissül. Ha a logger valamit nem érzékel megfelelően, ennek az
+  ablaknak a segítségével dönthető el, hogy a probléma a szimulátorból
+  kiolvasott adatok átalakításával, vagy a már átalakított értékek
+  feldolgozásával van-e.
+  </p>
+
+</html>
Index: doc/manual/hu/index.html
===================================================================
--- doc/manual/hu/index.html	(revision 493)
+++ 	(revision )
@@ -1,1175 +1,0 @@
-<html>
-<head>
-  <title>MAVA Logger X Felhasználói kézikönyv</title>
-  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-</head>
-<body>
-  <div align="center"><h1>MAVA Logger X Felhasználói kézikönyv</h1></div>
-
-  <h2><a name="overview">Áttekintés</a></h2>
-
-  <p>
-  A MAVA Logger X a Malév Virtual légitársaság színeiben
-  történő szimulált járatok végrehajtását kíséri figyelemmel, és összegyűjti a járatról a
-  <a href="http://virtualairlines.hu">MAVA honlapjára</a> további
-  elemzés céljából elküldendő adatokat. Ez a kézikönyv leírja a
-  program használatát. A program képességeinek teljes kihasználásához
-  szükség van élő Internet kapcsolatra, még akkor is ha nem a VATSIM
-  vagy az IVAO hálózaton repülünk. Ezzel együtt azonban lehetséges
-  járatot teljesíteni hálózati kapcsolat nélkül is.
-  </p>
-
-  <p><a name="flightRating"/>
-  A járat teljesítésének követése közben a program folyamatosan
-  ellenőrzi, hogy a repülőgép konfigurációja megfelel-e a légitársaság
-  működési eljárásaiban meghatározott paramétereknek. Például a
-  repülőgép fényeit meghatározott szabályok szerint kell fel- és
-  lekapcsolni, nem haladhatunk meg bizonyos tömeg- és
-  sebességkorlátokat, s.í.t. Az elvárt paraméterektől való eltérések,
-  vagy hibák a kezdeti 100 pontot (vagy százalékot) meghatározott
-  mértékben csökkentik. Az eredmény a járat <i>pontszáma</i>. Néhány
-  eltérés annyira súlyos, hogy <i>NO GO</i> hibának tekintjük és a
-  járat elutasítát eredményezi.
-  </p>
-
-  <p>
-  A hibák mellett a program más paramétereket is figyel, amelyeket egy
-  szöveges <a href="#logTab"><i>napló</i></a>ba jegyez le. E naplót is
-  tartalmazza az elküldött PIREP (<b>PI</b>lot's <b>REP</b>ort), és a
-  Malév Virtual tapasztalt pilótái ezt is elemzik, illetve adott
-  esetben megjegyzést fűzhetnek hozzá. Így tökéletesíthetjük a járatok
-  teljesítésének színvonalát.
-  </p>
-
-  <p><a name="flightStages"/>
-  A program a járat teljesítését több <i>fázis</i>ra bontja. Az egyik
-  fázisról a következőre való átmenetet automatikusan érzékeli. Az
-  alábbiakban felsoroljuk e fázisokat és azokat a feltételeket,
-  amelyeknek teljesülniük kell az egy adott fázisba való belépéshez:
-  <ol>
-    <li><b>beszállás</b>: Ez a járat első fázisa.</li>
-    <li><b>hátratolás és kigurulás</b>: Ha a beszállási fázis alatt
-    felengedjük a parkoló fékeket vagy a guruló sebesség meghaladja az
-    5 csomót, a program ebbe a fázisba lép.</li>
-    <li><b>felszállás</b>: Ha kigurulás közben vagy megszakított
-    felszállás után felkapcsoljuk a villogót. Ha a repülőgép
-    villogójának állapota nem érzékelhető, a transzponder C módba
-    állítására is ebbe a fázisba kerül a program. Ha a repülőgép
-    egyáltalán nem rendelkezik villogóval, a program 50 csomós
-    sebesség túllépésekor elkezd figyelni, és ha 40 másodpercen belül
-    elemelkedünk, azt is felszállásnak veszi.</li>
-    <li><b>emelkedés</b>: Ha felszállás közben behúzzuk a futóműveket
-    vagy elérjük a reptérhez viszonyított 3000 láb magasságot.</li>
-    <li><b>megszakított felszállás</b>: Ha felszállás közben még a
-    földön vagyunk, és kikapcsoljuk mind a leszálló fényeket, mind a
-    villogót, vagy a sebesség 50 csomó alá csökken.</li>
-    <li><b>utazó</b>: Ha emelkedés közben az utazómagasságot 2000
-    lábnyira megközelítjük.</li>
-    <li><b>süllyedés</b>: Ha az utazó fázis közben a repülési magasság
-    több mint 2000 lábbal az utazó magasság alá csökken.</li>
-    <li><b>leszállás</b>: Ha süllyedés vagy átstartolás közben a
-    futóműveket kiengedjük és a reptérhez viszonyítva 2000 láb alá
-    csökken a magasság.</li>
-    <li><b>átstartolás</b>: Ha leszállás közben visszahúzzuk a futóműveket.</li>
-    <li><b>begurulás</b>: Ha leszállás után a repülőgép a földön gurul
-    és a sebessége 50 csomó alá csökken.</li>
-    <li><b>vége</b>: Ha parkolás közben a gázturbinák N<sub>1</sub>
-    paramétere 0,5 alá, vagy a dugattyús motorok fordulatszáma
-    0-ra csökken. Ez a járat teljesítésének utolsó fázisa.</li>
-  </ol>
-
-  <p>
-  A szimuláció élményének javítására a program a járat teljesítésének
-  egyes szakaszaiban megfelelő beállítás esetén
-  különféle <a href="#prefsSounds">hang</a> állományokat, mint például
-  a légiutaskísérők bejentéseit, játssza le. Ezen állományok a
-  programhoz tartoznak, és vagy automatikusan kerülnek lejátszásra,
-  vagy ha megnyomunk egy gyorsbillentyűt a szimulátorban. Emellett
-  előre felvett hangállományokból az egyes repülőgép
-  típusokhoz <a href="#checklistEditor">ellenőrzőlistákat</a>
-  állíthatunk össze. Az ellenőrzőlistákat alkotó hangfelvételeket egy
-  másik gyorsbillentyű lenyomásával játszhatjuk le egyenként. Ezzel
-  kapcsolatban további tudnivalók az
-  <a href="#prefsSounds">alábbiakban</a> olvashatók.
-  </p>
-
-  <p><a name="onlineACARSSystem"/>
-  A Malév Virtual rendelkezik egy <i>Online ACARS rendszerrel</i>,
-  amelyik a <a href="http://virtualairlines.hu">MAVA honlapján</a>
-  valamint egy
-  <a href="http://virtualairlines.hu/acars2/show.html">térképen</a>
-  is megjeleníti a folyamatban lévő járatok állapotát.
-  </p>
-
-  <p><a name="onlineGateSystem"/>
-  A Malév Virtual továbbá egy <i>Online kapukezelő rendszert</i> is
-  üzemeltet, amelynek adatbázisa tartalmazza a flottát alkotó
-  repülőgépek helyét. Egy adott repülőgép tartózkodhat a budapesti
-  ferihegyi repülőtéren, amikor is az adatbázis tartalmazza, hogy
-  a gép melyik kapun vagy állóhelyen áll. Ha ez a helyzet, és
-  Ferihegyről indul az éppen teljesített járat, a program
-  <a href="#connectPage">megjeleníti</a> a kapu vagy állóhely számát,
-  és a szimulátorban javasolt a megjelelölt pozícióra állítani a
-  gépet. Ha Ferihegyről indulunk, de a repülőgép máshol van (például
-  egy másik járat teljesítése miatt),
-  <a href="#gateSelectionPage">kiválaszthatjuk</a>, hogy honnan
-  szeretnénk indulni. Az Online kapukezelő rendszer adatbázisa külön
-  is <a href="#gatesTab">megjeleníthető</a> a programban.
-  </p>
-
-  <p>
-  A fenti két rendszer csak online repülés esetén használható.
-  </p>
-
-  <p>
-  A program automatikusan frissíti önmagát. Elinduláskor leellenőrzi,
-  hogy van-e a telepítettnél újabb változat. Ha igen, letölti azt, majd
-  újraindítja saját magát, immár az új változatban. A frissítés
-  nemcsak a hibajavítások beszerzése miatt fontos, hanem például azért
-  is, mert a program bővülhet újabb ellenőrzésekkel vagy a már meglévők
-  közül egyesek kifinomultabbá válhatnak, és ha túl régi változatot használunk, a
-  PIREP javítók akár amiatt is elutasíthatják a járatot.
-  </p>
-
-  <p>
-  A program tartalmaz egy <a href="#bugReportWindow">hibajelentő</a>
-  eszközt is, amivel a használata során előforduló problémákat jelenthetjük.
-  </p>
-
-  <h3><a name="gui">A grafikus felhasználói felület</a></h3>
-
-  <p>
-  Az alkalmazás felülete a megszokott elemekből (gombokból,
-  jelölőnégyzetekből, listákból, szövegbeviteli mezőkből, stb.) épül
-  fel. A legtöbb elem rendelkezik tooltippel, amelyek e kézikönyv
-  mellett további segítséget nyújtanak a program használatához. A
-  legtöbb elem a billentyűzetről is kezelhető, ha a címkéjében lévő
-  aláhúzott betűt vagy számot az <b>Alt</b> billentyűvel együtt
-  ütjük le.
-  </p>
-
-  <p>
-  A program legtöbbször használt része a főablak, amelyet az
-  alábbiakban részletesen leírunk. Ha az ablakot minimalizáljuk vagy
-  lecsukjuk, alapértelmezésben csupán eltűnik, de maga a program
-  tovább fut. A lenti képen is látható tálcaikon segítségével az
-  ablak újra megjeleníthető.
-  </p>
-
-  <div align="center">
-    <table>
-      <tr>
-        <td>
-          <img src="statusIcon1.png" alt="The status icon" hspace="20"/>
-        </td>
-        <td>
-          <img src="statusIcon2.png" alt="The status icon menu" hspace="20"/>
-        </td>
-    </table>
-  </div>
-
-  <p>
-  Ha rákkantintuk a tálcaikonra mikor a program ablak nem látszik,
-  akkor az megjelenik. Ha az ikon fölé visszuk az egérmutatót, majd
-  várunk, a repülés aktuális fázisa és pontszáma jelenik meg. A
-  tálcaikon jobbgombos menüje az alábbi pontokat tartalmazza:
-  <ul>
-    <li><b>Mutasd a főablakot</b>: a főablak megjelenítése vagy elrejtése.</li>
-    <li><b>Mutasd a monitor ablakot</b>: a <a href="#monitorWindow">monitor ablak</a>
-    megjelenítése vagy elrejtése.</li>
-    <li><b>Kilépés</b>: kilépés az alkalmazásból. A kilépési szándékot
-    a megjelenő ablakban meg kell erősíteni.</li>
-  </ul>
-  </p>
-
-  <p>
-  Az alkalmazásból a <b>Fájl/Kilépés</b> menüpont választásával vagy a
-  <b>Ctrl+K</b> billentyűkombinációval is kiléphetünk.
-  </p>
-
-  <p>
-  Ha elindítjuk a programot, de az már fut, akkor a már futó példány
-  főablaka jelenik meg ahelyett, hogy új példány indulna el.
-  </p>
-
-  <h2><a name="mainWindow">A főablak</a></h2>
-
-  <p>
-  A lenti ábra az alkalmazás főablakának a képe. A felső része a
-  megszokott menüsort tartalmazza, amelyről az alábbiakban olvasható
-  több tudnivaló. Az ablak középső része több fülből áll, amelyek
-  használatát a lentiekben részletesen leírjuk.
-  </p>
-
-  <a name="mainWindowShot"/>
-  <div align="center"><img src="mainWindow.png" alt="The main window"/></div>
-
-  <p>
-  Az ablak alsó része az állapotsor. Bal szélén látható a
-  szimulátorral való kapcsolat állapotát jelző ikon. Mivel a program
-  folyamatosan figyeli a repülőgép paramétereit, kommunikálnia kell a
-  szimulátorral. E kommunikációs csatorna állapotát az ikon színe jelzi.
-  </p>
-
-  <p>
-  Ha az szürke, a program nem áll kapcsolatban a szimulátorral. Ez
-  normális a járat teljesítése előtt és azután. Ha az ikon zöld színű,
-  a kapcsolat él és megfelelően működik. Ha az ikon piros, a kapcsolat
-  megszakadt. Ebben az esetben egy dialógus ablak jelenik meg. A
-  kapcsolat megszakadásának legvalószínúbb oka a szimulátor
-  elszállása. Ebben az esetben indítsuk azt újra és a repülést
-  állítsuk vissza, amennyira csak lehetséges, az elszállás előtti
-  állapotra. Ezután kattintsunk az <b>Újrakapcsolódás</b> gombra, és a
-  logger megpróbálja visszállítani a kapcsolatot a
-  szimulátorral. Mivel megőrzi a járat összes adatát, ott
-  folytathatjuk, ahol abbahagytuk.
-  </p>
-
-  <p>
-  Ha a kapcsolat megszakadásának más az oka, próbáljuk az okot
-  megszüntetni. Természetesen lehetséges, hogy maga a logger működik
-  hibásan, és ebben az esetben sajnos nincs más lehetőség, mint a
-  járat újrakezdése. Ebben az esetben feltétlenül értesítsük a
-  szerzőt, és az értesítésbe másoljuk be a <a href="#debugLog">debug
-  napló</a> tartalmát.
-  </p>
-
-  <p>
-  Ha a kapcsolat megszakadását jelző dialógus ablakban a <b>Mégse</b>
-  gombot nyomjuk meg, a logger alapállapotba kerül.
-  </p>
-
-  <p>
-  A kapcsolat állapotát jelző ikontól jobbra a járat aktuális
-  <a href="#flightStages">fázisa</a> olvasható, ha annak követése már
-  elkezdődött, egyébként egy gondolatjel. Ezt követi a szimulátor
-  belső ideje, ha már kapcsolódtunk hozzá, majd
-  a <a href="#flightRating">pontszám</a>.
-  </p>
-
-  <p>
-  Az állapotsor jobb oldala általában üres, de ha valamilyen
-  potenciálisan hosszú ideig tartó művelet (például a MAVA szerverével
-  való kommunikáció) van folyamatban, akkor arról itt jelenik meg
-  információ. Ennek időtartama alatt a kurzor foglalt állapotot jelez és a
-  főablak nagy része nem reagál.
-  </p>
-
-  <h3><a name="tabFlight">A Járat fül</a></h3>
-
-  <p>
-  A járat fül a legfontosabb. A sok programban megtalálható
-  varázslókhoz hasonlóan lapok sorozatából áll. E lapok nagy része a
-  a repülés előkészítésének lépésein vezet végig, míg az utolsó
-  néhányon olyan adatokat adhatunk meg, amelyek szükségesek a repülés
-  kiértékeléséhez és az összeállított PIREP-nek a MAVA szerverére való
-  elküldéséhez.
-  </p>
-
-  <p>
-  Minden lap tetején egy, a lap célját jelző cím olvasható. Ez alatt
-  egy rövid szöveg írja le, hogy mit tartalmaz a lap és/vagy mit kell
-  azzal a lappal kapcsolatban tennünk. E szöveg alatt találhatók a lényegi
-  információk és az esetleges adatbeviteli eszközök. Alul, jobb
-  oldalon pedig a gombsor látható.
-  </p>
-
-  <p>
-  A legötbb lap két gombot tartalmaz: <b>Előre</b>
-  és <b>Vissza</b>. Ezekkel lehet mozogni a lapok között. A legtöbb
-  esetben a <b>Vissza</b> gombbal visszamehetünk a korábban már látott
-  lapokhoz, bár azok egy részének a tartalma nem módosítható miután
-  az <b>Előre</b> gombbal már továbbléptünk róluk. Ez alól van néhány
-  kivétel, mint azt az alábbiakban részletezzük.
-  </p>
-
-  <p>
-  Sok lap tartalmaz még egy <b>Járat megszakítása</b> feliratú gombot
-  is. Erre kattintva az aktuális járat megszakítható és ha ebbéli
-  szándékunkat megerősítettük, visszakerülünk
-  a <a href="#flightSelectionPage">járatválasztás</a> oldalra, ha
-  korábban bejelentkeztünk a MAVA szerverére, vagy a bejelentkezés
-  oldalra egyébként.
-  </p>
-
-  <h4><a name="loginPage">A <i>Bejelentkezés</i> oldal</a></h4>
-
-  <p>
-  A program a Bejelentkezés oldallal indul (lásd a fenti
-  <a href="#mainWindowShot">képet</a>), ahol megadhatjuk a pilóta
-  azonosítónkat és a MAVA honlapján is használható
-  jelszavunkat. Mindkét adatot a rendelkezésünkre bocsájtják a Malév
-  Virtualhoz való belépéskor. A pilóta azonosító rendszerint <q>P</q>
-  betűvel kezdődik, amit három számjegy követ.
-  </p>
-
-  <p>
-  Ha kijelöljök az <b>Emlékezz a jelszóra</b> jelölőnégyzetet, a
-  jelszót elmenti a program, így nem kell azt mindig beírnunk. Fontos
-  figyelembe venni, hogy a jelszót olvasható formában menti el a
-  program a konfigurációs fájlba, így csak akkor használjuk ezt a
-  lehetőséget, ha a könyvtárunkhoz csak megbízható emberek férnek
-  hozzá. A pilóta azonosítót mindenképpen elmenti a program.
-  </p>
-
-  <p>
-  Ha az ellenőrző repülést szeretnénk elvégezni, jelöljük be az
-  <b>Ellenőrző repülés</b> jelölőnégyzetet. Ebben az esetben a jelszót
-  nem is kell, és nem is adhatjuk meg, mivel az ellenőrző repüléshez
-  arra nincs szükség.
-  </p>
-
-  <p>
-  A MAVA szerverére való bejelentkezéshez és a következő lap
-  eléréséhez nyomjuk meg a <b>Bejelentkezés</b> gombot.
-  </p>
-
-  <p>
-  Ha Internet kapcsolat nélkül szeretnénk repülni, használjuk
-  az <b>Offline repülés</b> gombot. Ezzel egyből a következő lapra
-  kerülünk anélkül, hogy a program megpróbálna belépni a MAVA
-  szerverére.
-  </p>
-
-  <h4><a name="flightSelectionPage">A <i>Járatválasztás</i> oldal</a></h4>
-
-  <img src="flightSelection.png" alt="A járatválasztás oldal"/>
-
-  <p>
-  Ezen az oldalon a korábban a MAVA honlapján foglalt járatok listáját
-  találjuk, amenyiben
-  sikeresen <a href="#loginPage">bejelentkeztünk</a>. Ha offline
-  repülést választottunk, a lista üres.
-  </p>
-
-  <p>
-  Ha a listából kijelölünk egy járatot, akkor azt a <b>Járat
-  mentése</b> gombbal elmenthetjük. Ez akkor lehet hasznos, ha egy
-  későbbi időpontban, offline szeretnénk repülni. A repülés
-  előkészítése során a loggerrel bejelentkezhetünk a MAVA szerverére
-  és lekérhetjük a foglalt járatok listáját. Ezután a később offline
-  végrehajtani kívánt járatot elmenthetjük, majd a tényleges
-  végrehajtáskor visszatölthetjük.
-  </p>
-
-  <p>
-  Szükség lehet a járatlista frissítésére. Például elképzelhető, hogy
-  elfelejtettük lefoglalni a teljesíteni kívánt járatot. Ekkor a
-  foglalást megtehetjük a MAVA honlapján, majd a <b>Járatlista
-  frissítése</b> gombra kattintva frissíthetjük a listát.
-  </p>
-
-  <p>
-  A <b>Járat betöltése fájlból</b> gombra kattintva egy járatot
-  tölthetünk be. Ekkor egy fájlválasztó dialógus ablak jelenik meg,
-  ahol kiválaszthatjuk a betölteni kivánt járat fájlt (amelynek
-  kiterjesztése általában <code>.vaflight</code>). Ez leginkább
-  offline vagy ellenőrző repüléskor hasznos.
-  </p>
-
-  <p>
-  Válasszunk egy járatot a listából, majd nyomjuk meg az <b>Előre</b>
-  gombot a kiválasztott járat teljesítésének elkezdéséhez.
-  </p>
-
-  <h4><a name="gateSelectionPage">Az <i>LHBP kapuválasztás</i> oldal</a></h4>
-
-  <img src="gateSelection.png" alt="Az LHBP kapuválasztás oldal"/>
-
-  <p>
-  Ez az oldal csak akkor jelenik meg, ha a járat a budapesti
-  ferihegyi repülőtérről indul és nem lehet eldönteni, hogy annak
-  melyik kapujáról vagy állóhelyéről.
-  </p>
-
-  <p>
-  Válasszuk ki a megfelelő számot a listából, majd nyomjuk meg
-  az <b>Előre</b> gombot.
-  </p>
-
-  <h4><a name="connectPage">A <i>Kapcsolódás a szimulátorhoz</i> oldal</a></h4>
-
-  <img src="connect.png" alt="A Kapcsolódás a szimulátorhoz oldal"/>
-
-  <p>
-  Ez az oldal a járat néhány fontos adatát tartalmazza, mint a
-  használandó repülőgép típusát és lajstromjelét, az induló
-  repülőteret és esetleg a kapu vagy állóhely számát.
-  </p>
-
-  <p>
-  A szimulátorban válasszuk ki a jelzett repülőgépet és parkoljuk le
-  az induló repülőtéren, majd a loggerben nyomjuk meg
-  a <b>Kapcsolódás</b> gombot a szimulátorral való kapcsolat
-  kiépítéséhez. Ha az nem sikerül, erről egy dialógus ablakban
-  tájékoztat a program, amelynek segítéségvle a hiba elhárítása
-  után a <b>Próbáld újra</b> gombbal a kapcsolat létrehozására újabb
-  kísérlet tehető, míg a <b>Mégse</b> gombbal visszamehetünk a
-  járatválasztó vagy a bejelentkező oldalra.
-  </p>
-
-  <p>
-  A kapcsolat sikeres létrehozása után a járat követése még nem
-  kezdődik el azonnal, de a logger már ekkor is lekérdezhet bizonyos
-  adatokat.
-  </p>
-
-  <h4><a name="payloadPage">A <i>Terhelés</i> oldal</a></h4>
-
-  <img src="payload.png" alt="A Terhelés oldal"/>
-
-  <p>
-  Ezen az oldalon a járattal szállított hasznos teher összetevőit
-  láthatjuk valamint a kiszámított Zero-Fuel Weight (ZFW) értékét. Az
-  összes bemeneti adat szerkeszthető, de általában csak a
-  teherszállítmány tömegét szükséges megadni, ha az 0-tól eltérő.
-  A <b>ZFW a szimulátorból</b> gomb megnyomásának hatására a program a
-  szimulátorból lekérdezi a ZFW értékét és megjeleníti azt. Ha az
-  túlzottan eltér a számított értéktől, akkor ez utóbbi piros színnel
-  jelenik meg. Állítsuk be a szimulátorban a hasznos terhet. Ha ezt
-  elfelejtjük, abból NO GO hiba lesz.
-  </p>
-
-  <p>
-  Ha végeztünk az oldal kitöltésével, nyomjuk meg az <b>Előre</b>
-  gombot. Ekkor a <a href="#helpTab"><i>Segítség</i></a> fül használhatóvá
-  válik, ls igénybe is vehetjük, ha a szimulátorban nem sikerült
-  megfelelően beállítani a hasznos terhet. A fül részletesebb leírását
-  lásd az <a href="#helpTab">alábbiakban</a>.
-  </p>
-
-  <h4><a name="timePage">A <i>Menetrend</i> oldal</a></h4>
-
-  <img src="time.png" alt="A Menetrend oldal"/>
-
-  <p>
-  Ez az oldal tartalmazza a járat indulási és érkezési idejét
-  UTC-ben. Az <b>Idő a szimulátorból</b> gomb megnyomásának hatására a
-  program lekérdezi a szimulátor aktuális idejét. A járat
-  valós fényviszonyainak megjelenítése érdekében a szimulátor idejének
-  meg kell egyeznie a járatéval. Javasolt az időt az indulási idő
-  előtt 15 perccel korábbra állítani, hogy legyen elég időnk a repülés
-  előkészítésére.
-  </p>
-
-  <p>
-  Ha a szimulátorban beállítottuk a megfelelő időt, nyomjuk meg az
-  <b>Előre</b> gombot.
-  </p>
-
-  <h4><a name="fuelPage">Az <i>Üzemanyag</i> oldal</a></h4>
-
-  <img src="fuel.png" alt="Az Üzemanyag oldal"/>
-
-  <p>
-  Ezen az oldalon a repülőgép üzemanyagtartályainak grafikus képét
-  láthatjuk. A sárgás szín az egyes tartályok aktuális
-  üzemanyagszintjét jelzi, a zöldeskék csúszka pedig a kívánt szintet,
-  amelyet az egyes ábrák alatt számmal (kilogrammban) is láthatunk.
-  </p>
-
-  <p>
-  A kívánt mennyiséget megadhatjuk számmal, vagy beállíthatjuk a
-  zöldeskék csúszkákkal is, bár ez a módszer kevésbé pontos. A
-  csúszkát mozgathatjuk a tartályt jelképező ábrába való kattintással,
-  vagy húzhatjuk is, ha az egér gombját lenyomva tartjuk. Ha az egér
-  rendelkezik görgővel, azzal is módosíthatjuk a kívánt mennyiséget,
-  ha az egérmutatót az ábrán tartjuk. A görgő minden lépése 10
-  kilogrammal növeli vagy csökkenti a mennyiséget. Ha görgetés közben
-  lenyomva tartjuk a <b>Shift</b> gombot, a változás 100, ha pedig
-  a <b>Ctrl</b> gombot tartjuk lenyomva, a változás 1 kg.
-  </p>
-
-  <p>
-  Ha beállítottuk az összes tartályt, nyomjuk meg az <b>Előre</b>
-  gombot. Ekkor elkezdődik az üzemanyag szivattyúzása. Ennek
-  folyamatát a sárgás oszlopok magasságának növekedése vagy csökkenése
-  jelzi (elképzelhető, hogy egyes tartályokból ki kell szivattyúzni az
-  üzemanyagot). A pumpálás viszonylag rövid ideig, néhány másodpercig tart.
-  </p>
-
-  <h4><a name="routePage">Az <i>Útvonal</i> oldal</a></h4>
-
-  <img src="route.png" alt="Az Útvonal oldal"/>
-
-  <p>
-  Ezen az oldalon az utazószintet és az útvonaltervet láthatjuk és
-  szerkeszthetjük. Az utazószint kezdeti értéke FL240, de az útvonalat
-  a foglalt járatból veszi a program. Állítsuk be a szintet a
-  tervezettre, és szükség esetén módosítsuk az útvonalat. Ha például
-  egyes légterekbe belépve szükség lehet az utazószint módosítására,
-  azt adjuk meg itt.
-  </p>
-
-  <p>
-  Ha megtettük a szükséges módosításokat, nyomjuk meg az <b>Előre</b>
-  gombot a továbblépéshez. Ha később visszatérünk erre az oldalra, az
-  adatokat szerkeszthetjük.
-  </p>
-
-  <h4><a name="briefingPage">Az <i>Eligazítás</i> oldalak</a></h4>
-
-  <img src="briefing.png" alt="Az Eligazítás oldalak"/>
-
-  <p>
-  Ezen a két oldalon az induló illetve az érkező repülőtér NOTAM-jait
-  és METAR-ját olvashatjuk. A METAR-t szerkeszthetjük ha a hálózatról
-  más időjárást kapunk, vagy nem a valós időjárási viszonyok mellett
-  repülünk. Az érkező repülőtér METAR-ját a program frissíti a
-  leszállási fázisba való belépéskor, hacsak előtte nem szerkesztettük
-  azt. A METAR-ok a repülés teljes időtartama alatt szerkeszthetők. Ha
-  azonban így teszünk, annak okát a <a href="#flightInfoTab"><i>Járat
-  info</i></a> fül <i>Megjegyzések</i> rovatában jelezzük.
-  </p>
-
-  <p>
-  A második (az érkezési repülőtérhez tartozó) eligazítási oldalon
-  a megfelelő gomb megnyomásával erősítsük meg, hogy készen állunk a
-  repülésre. Ezzel elkezdődik a járat teljesítésének követése a
-  beszállás fázissal.
-  </p>
-
-  <h4><a name="takeoffPage">A <i>Felszállás</i> oldal</a></h4>
-
-  <img src="takeoff.png" alt="A Felszállás oldal"/>
-
-  <p>
-  Ezen az oldalon kell beírni a felszállásra használt futópálya
-  számát, az alkalmazott szabványos műszeres indulási eljárást,
-  valamint a felszállási sebességeket. Noha bármikor szerkeszthetjük
-  ezeket az adatokat, javasolt azokat a felszállás előtt beírni.
-  <p>
-
-  <p>
-  Ha valamelyik Tupoljev vagy Jak típussal repülünk, a
-  sebességeket kilométer per órában kell megadni.
-  </p>
-
-  <p>
-  A flotta legtöbb típusának esetében meg kell adni a felszállási
-  teljesítménycsökkentés mértékét is. Ennek pontos formája és értéke a
-  típustól függ.
-  </p>
-
-  <p>
-  Azt is kiválaszthatjuk, hogy bekapcsoltunk-e valamilyen
-  jegesedésgátló berendezést (a pitot csövek fűtésétől eltekintve). A
-  legtöbb repülőgépnél azonban a program tudja érzékelni a beállítást,
-  és ha a jegedesedésgátló be van kapcsolva, a jelölődoboz
-  automatikusan kijelölésre kerül. Ha mi magunk kijelöljük, a program
-  magától nem szüntetni meg a kijelölést (hacsak nem ébred öntudatra
-  majd valamikor).
-
-  <p>
-  A következő oldalra felszállás után az <b>Előre</b> gomb
-  megnyomásával léphetünk tovább, ha minden adatot beírtunk.
-  </p>
-
-  <h4><a name="cruisePage">Az <i>Utazó</i> oldal</a></h4>
-
-  <img src="cruise.png" alt="Az Utazó oldalon"/>
-
-  <p>
-  Ezen az oldalon az <a href="#routePage">Útvonal oldal</a>on
-  beállított utazószint látható. Ha a légtérre vonatkozó előírások,
-  step climb, vagy bármely más megalapozott ok miatt módosítani kell
-  az utazószintent, itt kell megadni az új értéket, majd annak
-  elérésekor megnyomni a <b>Frissít</b> gombot.
-  </p>
-
-  <p>
-  Ha már tervezzük a leszállást, az <b>Előre</b> gomb megnyomásával a
-  következő oldalra léphetünk.
-  </p>
-
-  <h4><a name="landingPage">A <i>Leszállás</i> oldal</a></h4>
-
-  <img src="landing.png" alt="A Leszállás oldal"/>
-
-  <p>
-  Ezen az oldalon a tervbe vett szabványos érkezési és/vagy bevezetési
-  eljárás nevét, a megközelítés típusát
-  (pl. <q>ILS</q>, <q>VOR</q>, <q>VISUAL</q>, stb.) és a
-  köszöbátlépési sebességet (V<sub>ref</sub>) kell megadni. Az
-  eljárások esetén mindig a tervezettet adjuk meg, és ha például az
-  irányítástól eltérőt, netán vektorokat kaptunk, azt a megjegyzésben
-  tüntessük fel. Az adatokat repülés közben vagy akár leszállás után
-  is megadhatjuk. Ha Tupoljev vagy Jak típussal repülönk, a sebességet
-  km/órában kell megadni.
-  </p>
-
-  <p>
-  Ez az oldal is tartalmaz egy, a jegesedésgátló berendezések
-  működésére vonatkozó kijelölődobozt, amelyre ugyanazok érvényések,
-  mint a <a href="#takeoffPage">Felszállás oldal</a>on található
-  társára.
-  </p>
-
-  <p>
-  Ha minden adatot megadtunk, nyomjuk meg az <b>Előre</b> gombot. Ez
-  csak akkor használható, ha a járat teljesítése véget ért.
-  </p>
-
-  <h4><a name="finishPage">A <i>Lezárás</i> oldal</a></h4>
-
-  <img src="finish.png" alt="A Lezárás oldal"/>
-
-  <p>
-  Ez a járat varázsló utolsó oldala. Tartalmazza a járat
-  összesítését: a pontszámot, a repült és blokk időt, a repült távot
-  és az eltüzelt üzemanyag mennyiségét.
-  </p>
-
-  <p>
-  Emellett néhány adatot is meg kell adnunk. Ki kell választani a
-  járat típusát (menetrendszerint, old-timer, VIP vagy charter), és
-  hogy online repülés volt-e. Ha a ferihegyi repülőtérre érkezünk, ki
-  kell választani annak a kapunak vagy állóhelynek a számát, ahol a
-  repülőgépet leparkoltuk.
-  </p>
-
-  <p>
-  Ha minden szükséges adatot megadtunk és a programot megfelelően
-  <a href="#prefsGeneral">konfiguráltuk</a>, a PIREP automatikusan
-  elmentődik.
-  </p>
-
-  <p>
-  Ha minden adatot megadtunk, ellenőrizhetjük a korábbi oldalakon vagy
-  más füleken megadottakat, majd elmenthetjük vagy elküldhetjük az
-  elkészített PIREP-et az alul lévő, erre a célre szolgáló két gomb
-  valamelyikének a megnyomásával. Az elmentett PIREP-et később
-  betölthetjük, és megpróbálhatjuk elküldeni, hogy korábban az nem
-  sikerült. Ha a PIREP-et sikeresen elküldjük, az a Malév Virtual
-  kijelölt PIREP javítói számára értékelhetővé válik.
-  </p>
-
-  <p>
-  Az <b>Új járat...</b> gomb megnyomásával egy új járat teljesítését
-  kezdhetjük el. Ha még nem mentettük el és nem is küldtük el a
-  PIREP-et, szándékunk megerősítését kéri a logger. Új
-  járat kezdésekor a <a href="#flightSelectionPage">járatválasztás
-  oldalra</a> kerülünk, ha korábban sikeresen bejelentkeztünk a MAVA
-  szerverére, egyébként pedig a <a href="#loginPage">bejelentkezés
-  oldalra</a>.
-  </p>
-
-  <h3><a name="flightInfoTab">A Járat info fül</a></h3>
-
-  <img src="flightInfoTab.png" alt="A Járat info fül"/>
-
-  <p>
-  Ezen az oldalon további információt adhatunk a járattal
-  kapcsolatban, ha szükséges.
-  </p>
-
-  <p>
-  A <i>Megjegyzések</i> szövegmezőbe olyan információt írhatunk be,
-  amit szeretnénk a PIREP javító tudomására hozni. Például, hogy miért
-  változtattuk meg METAR-t, miért engedtük ki véletlenül a futóművet
-  (rossz gombot nyomtunk meg a billentyűzeten), stb.
-  </p>
-
-  <p>
-  A <i>Hibajelenségek</i> szövegmező a repülőgéppel kapcsolatban
-  tapasztalt hibák leírását tartalmazhatja. Például, hogy leállt az
-  egyik hajtómű, és (ha ismert) miért, hogy a fékszárnyakat nem
-  sikerült kiengedni vagy visszahúzni, stb.
-  </p>
-
-  <p>
-  A <i>Késés kódok</i> táblázatban kijelölhetjük a késés okát vagy okait,
-  ha volt ilyen. A táblázat csak akkor érhető el, ha már
-  kiválasztottuk teljesíteni kívánt járatot, ugyanis a tartalma függ a
-  repülőgép típusától.
-  </p>
-
-  <h3><a name="helpTab">A Segítség fül</a></h3>
-
-  <img src="helpTab.png" alt="A Segítség fül"/>
-
-  <p>
-  Ez a fül segít a repülőgép hasznos terhének kiszámításában. Azután
-  használható, hogy a <a href="#payloadPage"><i>Terhelés</i></a>
-  lapot, pontosabban ott a teherszállítmány tömegét véglegesítettük. A
-  segítség igénybe vételéhez jelöljük ki a <b>Használom a
-  segítséget</b> négyzetet. Ekkor a fülön látható adatok kitöltésre
-  kerülnek és a szimulátorból is letölthetjük az adatokat. A segítség
-  igénybevételének ténye bekerül a
-  repülési <a href="#logTab">naplóba</a>, így a PIREP javítója tudni
-  fog róla.
-  </p>
-
-  <p>
-  A legfontosabb információ a <i>Hasznos teher:</i> címke után
-  olvasható, ugyanis ezt kell a szimulátorban beállítani mint a
-  repülőgép hasznos terhét. A <b>Szimulátor adatok</b> gomb
-  megnyomására a program lekérdezi és megjeleníti a szimulátorból
-  kiolvasott adatokat. Ha azok a megengedettnél nagyobb mértékben
-  térnek el a kiszámított adatoktól, piros színnel, egyébként zölden
-  jelennek meg.
-  </p>
-
-  <p>
-  A teljes tömeget és bizonyos maximális tömegeket szintén megjelenít a
-  program, így hozzávetőlegesen azt is ellenőrizhetjük, hogy a
-  maximumokat nem fogjuk-e túllépni a repülés során.
-  </p>
-
-  <h3><a name="logTab">A Napló fül</a></h3>
-
-  <img src="logTab.png" alt="A Napló fül"/>
-
-  <p>
-  Ez a repülési napló, amit a PIREP javítók elemezni fognak. A
-  tartalmát a program automatikusan állítja elő, és a legtöbb sor
-  elején az a szimulátorbeli időpont olvasható, amelyhez a sorban
-  olvasható információ tartozik.
-  </p>
-
-  <p>
-  Bár a napló tartalma elsősorban a PIREP javítók számára szükséges,
-  jól jöhet akkor is, ha a dolgok hirtelen nagyon gyorsan kezdenek
-  zajlani, és nem tudjuk követni az összes hibaüzenetet (ha egyáltalán
-  engedélyeztük azokat). Később, ha a helyzet normalizálódott,
-  megnézhetjük a naplót, hogy pontosan mi is történt, miért kaptunk
-  annyi hibapontot. Például úgy is dönthetünk, hogy abbahagyjuk a
-  repülést, ha úgy gondoljuk, hogy egyes hibák túl kínosak :) A gyors
-  felismerhetőség érdekében a hibaüzeneteket tartalmazó sorokat
-  kiemeli a program.
-  </p>
-
-  <h3><a name="gatesTab">A Kapuk fül</a></h3>
-
-  <img src="gatesTab.png" alt="A Kapuk fül"/>
-
-  <p>
-  Ez a fül a MAVA <a href="#onlineGateSystem">online kapukezelő
-  rendszerétől</a> lekérdezett adatokat jeleníti meg. Amikor a
-  programnak szüksége van ezekre az adatokra, e fül adatait is
-  frissíti magától, de kézzel is kérhetünk frissítést az <b>Adatok
-  frissítése</b> gomb megnyomásával.
-  </p>
-
-  <p>
-  A bal oldalon a flotta állapotát láthatjuk. A lista az egyes repülőgépek
-  lajstromjelét és állapotát tartalmazza, legalábbis amit erről a
-  kapukezelő rendszer adatbázisa tárol. A két legfontosabb állapot
-  az <i>LHBP-nn</i> és a <i>TÁVOL</i>. Az előbbi ezt jelzi, hogy a
-  repülőgép a budapesti ferihegyi repülőtéren az <i>nn</i> számú
-  kapunál vagy állóhelyen parkol, míg az utóbbi arra utal, hogy a
-  repülőgép egy másik repülőtéren tartózkodik. Másik lehetséges
-  állapot a <i>PARKOL</i>, ami azt jelenti, hogy a repülőgép valahogy
-  a ferihegyi repülőtéren áll, de nem tudjuk (vagy legalábbis a
-  kapukezelő rendszer nem tudja), hol. Az is előfordulhat, hogy több
-  repülőgép parkol ugyanott Ferihegyen. Ebben az esetben ezek
-  lajstromjele és állapota pirossal szerepel.
-  </p>
-
-  <p>
-  Jobb oldalt a kapuk és állóhelyek száma látható. A szám fekete, ha
-  az annak megfelelő helyen nem áll repülőgép, egyébként narancssárga.
-  </p>
-
-  <h3><a name="debugLog">A Debug napló</a></h3>
-
-  <img src="debugLogTab.png" alt="A Debug napló fül"/>
-
-  <p>
-  Ez a fül alapértelmezésben nem látható, de a <b>Nézet/Mutasd a
-  debug naplót</b> menüpont kiválasztásával vagy a <b>Ctrl+D</b>
-  billentyűkombináció leütésével megjeleníthető. Ez egy másik fajta
-  napló, ami hibakereséshez lehet hasznos. Ha valamilyen problémát
-  tapasztalunk a program működésével kapcsolatban, e napló tartalmát
-  is mellékeljük a hibajelentéshez. Sokban segíthet a megoldás
-  megtalálásában.
-  </p>
-
-  <h2><a name="loadingPIREPs">PIREP-ek betöltése</a></h2>
-
-  <p>
-  Az elmentett PIREP-eket a programmal visszatölthetjük és
-  elküldhetjük. Erre akkor lehet szükség, ha például egy járat
-  teljesítése után közvetlenül nem tudjuk elküldeni a PIREP-et
-  valamilyen hálózati probléma miatt, vagy ha szándékosan Internet
-  kapcsolat nélkül repültük a járatot.
-  </p>
-
-  <p>
-  PIREP betöltéséhez válasszuk ki a <b>Fájl/PIREP betöltése...</b>
-  menüpontot vagy nyomjuk meg a <b>Ctrl+T</b>
-  billentyűkombinációt. Egy fájlválasztó ablak jelenik meg, amelyben
-  kiválaszthatjuk a betöltendő PIREP-et. A kiválasztás után a PIREP
-  betöltődik, és egy másik ablak jelenik meg a járat legfontosabb
-  adataival. A <b>PIREP elküldése...</b> gomb megnyomására a PIREP-et
-  a program megpróbálja elküldeni, és ennek eredményéről egy dialógus
-  ablakban tájékoztat minket.
-  </p>
-
-  <div align="center">
-    <img src="pirepLoaded.png" alt="A betöltött PIREP ablaka"/>
-  </div>
-
-  <p>
-  Előfordulhat, hogy egy elmentett PIREP-et alaposabban is meg
-  szeretnénk nézni, például ha az egy ellenőrző repülésről
-  készült. Ehhez nyomjuk meg a <b>PIREP megtekintése...</b>
-  gombot. Ennek hatására megjelenik a PIREP megtekintő ablak, amely az
-  adatokat három fül alá csoportosítja. Az <i>Adatok</i> fül a
-  járattal kapcsolatos adatokat tartalmazza. A <i>Megjegyzések és
-  hibák</i> fül a pilóta esetleges megjegyzéseit és hibajelenségekről
-  szóló beszámolóit tartalmazza. A <i>Napló</i> fülön pedig a repülési
-  napló olvasható.
-  </p>
-
-  <div align="center">
-    <img src="pirepViewer.png" alt="PIREP megtekintő ablak"/>
-  </div>
-
-  <h2><a name="checklistEditor">Ellenőrzőlisták szerkeszése</a></h2>
-
-  <img src="checklistEditor.png" alt="Ellenőrzőlista szerkesztő"/>
-
-  <p>
-  Egy ellenőrzőlista tulajdonképpen hangfájlok listája. Ha az
-  ellenőrzőlisták lejátszását engedélyeztük (lásd lent a <i>Beállítások</i>
-  ablak <a href="#prefsSounds">leírását</a>), és a járat
-  teljesítéséhez használt repülőgéphez tartozik ellenőrzőlista, akkor
-  a megfelelő gyorsbillentyű ismételt leütésével a listát alkotó
-  fájlok egyenként lejátszhatók.
-  </p>
-
-  <p>
-  Az ellenőrzőlista szerkesztő ablak az <b>Eszközök/Ellenőrzőlista
-  szerkesztő...</b> menüpont kiválasztásával, vagy a <b>Ctrl+E</b>
-  billentyűkombinációval jeleníthető meg. Az ablak felső részén
-  kiválaszthatjuk azt a repülőgép típust, amelynek az
-  ellenőrzőlistáját szerkeszteni óhajtjuk.
-  </p>
-
-  <p>
-  Az ablak jobb oldalán látható azoknak a fájloknak a listája, amelyek
-  az ellenőrzőlistát alkotják. Az egérrel fel-le húzhatjuk a fájlokat
-  a listában. Emellett a listából kijelölhetünk egy vagy több fájlt,
-  amelyeket aztán a <b>Törlés</b> gombbal törölhetünk, a <b>Mozgatás
-  felfelé</b> és a <b>Mozgatás lefelé</b> gombbal pedig fel és le
-  mozgathatunk.
-  </p>
-
-  <p>
-  Az ellenőrzőlistához úgy adhatunk hozzá további fájlokat, hogy a bal
-  oldali fájlválasztóban kijelöljük azokat, majd megnyomjuk
-  a <b>Listához hozzáadás</b> gombot. A kijelölt fájl(ok) a lista
-  végére kerül(nek).
-  </p>
-
-  <p>
-  A változtatásokat csak akkor jegyzi meg a program, ha azok
-  végeztével megnyomjuk az <b>OK</b> gombot. Ha azonban a járat
-  teljesítése már elkezdődött, az ellenőrzőlista változtatása a
-  folyamatban lévő repülés során nem tapasztalható (azaz a régi
-  ellenőrzőlistát hallhatjuk, vagy egyáltalán nem kapunk
-  ellenőrzőlistát, ha a járat megkezdésekor nem volt olyan).
-  </p>
-
-  <h2><a name="calloutsEditor">Megközelítési bemondások szerkesztése</a></h2>
-
-  <img src="calloutsEditor.png" alt="The megközelítési bemondások szerkesztője"/>
-
-  <p>
-  A megközelítési bemondások olyan, adott repülőgéptípushoz tartozó
-  hangfájlok, amelyeket a program a megközelítés során, bizonyos
-  magasságok elérésekor játszik le. E fájlok listáját szerkeszthetjük
-  a megközelítési bemondásokat szerkesztő ablakban, amelyet az
-  <b>Eszközök/Megközelítési bemondások szeresztése...</b> menüpont
-  kiválasztásával, vagy a <b>Ctrl+M</b> billentyűkombináció
-  leütésével jeleníthetünk meg.
-  </p>
-
-  <p>
-  Az ablak felső részén választhatjuk ki a repülőgép típusát. Alatta,
-  a bal oldalon két gombot, azoktól jobbra pedig a bemondások listáját
-  láthatjuk. A listában a fájloknak csak a neve látható, de ha az
-  egérmutatót a lista adott eleme fölött hagyjuk egy időre, megjelenik
-  a teljes elérési út. A listát mindig a magasság szerint rendezi a
-  program, de a sorrend átváltható a csökkenő és a növekvő között.
-  </p>
-
-  <p>
-  A <b>Bemondás hozzáadása</b> gomb használatakor egy fájlválasztó
-  ablak jelenik meg. A fájl a kiválasztása után bekerül a listába
-  valamilyen magassággal, amit azonnal lehet is szerkeszteni. Ha a
-  fájl neve tartalmaz valamilyen számot, akkor az lesz a megajánlott
-  magasság, egyébként a listában szereplő legkisebb és legnagyobb
-  magasság alapján választ a program. Nem
-  tartozhat ugyanaz a magasság egynél több fájlhoz. Ha olyan
-  magasságot állítunk be, ami már szerepel listában, egy dialógus
-  ablakban erről figyelmeztetést kapunk, és választhatunk, hogy a
-  program lecserélje a másik fájlt, vagy hogy folytatjuk a
-  szerkesztést. A lista egy eleméhez tartozó magasság szerkesztéséhez
-  jelöljük ki az adott sort, majd kattintsunk a magasságra.
-  </p>
-
-  <p>
-  Ha a listából kijelölünk egy vagy több elemet, a <b>Törlés</b>
-  gombbal azok törölhetők.
-  </p>
-
-  <p>
-  A változtatásokat csak akkor jegyzi meg a program, ha azok
-  végeztével megnyomjuk az <b>OK</b> gombot. Ha azonban a járat
-  teljesítése már elkezdődött, a bemondások listájának változtatása a
-  folyamatban lévő repülés során nem tapasztalható.
-  </p>
-
-  <h2><a name="prefs">A Beállítások ablak</a></h2>
-
-  </p>
-  A Beállítások ablakot az <b>Eszközök/Beállítások</b> menüpont
-  kiválasztásával vagy a <b>Ctrl+B</b> billentyűkombináció
-  alkalmazásával érhetjük el. Itt olyan paramétereket állíthatunk be,
-  amelyeket általában nem kell minden egyes járathoz külön
-  módosítani. Az ablakban több fül található a paraméterek logikus
-  csoportosítása céljából.
-  </p>
-
-  <h3><a name="prefsGeneral">Az <i>Általános</i> fül<a></h3>
-
-  <img src="prefsGeneral.png" alt="A Beállítások ablak Általános füle"/>
-
-  <p>
-  Itt néhány általános beállítás található, amelyek a program
-  különböző részeinek a működését befolyásolják. A <i>Grafikus
-  felület</i> keretben a program grafikus felületének viselkedésére
-  vonatkozó opciók találhatók. A <i>Nyelv</i> listában választhatjuk
-  ki, hogy milyen nyelvet használjon a program. Jelenleg a magyar és
-  az angol nyelvet támogatjuk. Az <i>alapértelmezett</i> lehetőség azt
-  jelenti, hogy ha az operációs rendszer nyelve valamelyik támogatott
-  nyelv, akkor a program is azon a nyelven fut, egyébként pedig
-  angolul. Ha ezt a beállítást megváltoztatjuk, a programot újra kell
-  indítani, hogy érvényre is jusson. Ha az <b>A főablak eltüntetése
-  minimalizálásakor</b> jelölőnégyzetet kijelöljük, akkor a főablak
-  minimalizálásakor az teljesen eltűnik (nem jelenik meg a többi
-  minimalizált ablak között). Az ablak a tálcaikon használatával
-  jeleníthető meg újra. Ha a <b>Kilépés az ablakzáró gomb
-  megnyomásakor</b> jelölőnégyzet ki van jelölve, a program az
-  ablakzáró gomb megnyomásának hatására megjeleníti a kilépési szándék
-  megerősítésére szolgáló ablakot, és a jóváhagyás után
-  kilép. Egyébként a főablak csak eltűnik, és a tálcaikon segítségével
-  újra megjeleníthető.
-  </p>
-
-  <p>
-  A <i>MAVA online rendszerek</i> keretben a loggernek a MAVA fent
-  leírt online rendszereivel,
-  a <a href="#onlineGateSystem">kapukezelő</a> és
-  az <a href="#onlineACARSSystem">ACARS</a> rendszerrel való
-  együttműködését engedélyezhetjük vagy tilthatjuk le. Javasolt ezek
-  engedélyezése.
-  </p>
-
-  <p>
-  A <i>Szimulátor</i> keretben találhatók azok a beállítások, amelyek
-  befolyásolják, hogy a program hogyan működik együtt a
-  szimulátorral. A legtöbb beállítás magától értetődő, de az
-  átlagolással kapcsolatosak némi magyarázatra szorulhatnak. A Flight
-  Simulator egyik jellegzetessége, hogy néha nagyon hirtelen, nem
-  egészen valószerű változásokat produkál a szélmozgásban. Ez azt
-  eredményezi, hogy a szimulált repülőgép nagyon magas sebességet
-  érzékel, amelynek hatására a robotpilóta adott esetben például
-  jelentősen megnöveli az emelkedés sebességét, hogy ellensúlyozza a
-  sebességnövekedést, vagy más hibás működést tapasztalunk. Mivel ezen
-  jelenségek ellen nehéz védekezni különböző fizetős termékek, mint
-  például az FSUIPC megvásárlása nélkül, a logger lehetőséget biztosít
-  arra, hogy az IAS és a vario értékét néhány másodpercnyi átlagolás
-  után vegye figyelembe egyes esetekben, így az ezekben az értékekben
-  tapasztalható kiugrások kiátlagolhatók bizonyos fokig. Ez a
-  lehetőség az <b>Az IAS/vario átlagolása N másodpercig</b>
-  beállításokkal szabályozható. A beállítandó másodpercek számával
-  szükséges lehet kísérletezni, de ha megnyomjuk az <b>OK</b> gombot,
-  a beállítást azonnal figyelembe veszi a program.
-  </p>
-
-  <p>
-  Ha a <b>PIREP mentése automatikusan</b> jelölődobozt kijelöljük, a
-  PIREP-et a program automatikusan elmenti a feljebb megadott
-  könyvtárba, ha befejezetük a járatot és megadtunk minden szükséges
-  adatot.
-  </p>
-
-  <h3><a name="prefsMessages">Az <i>Üzenetek</i> fül</a></h3>
-
-  <img src="prefsMessages.png" alt="A Beállítások ablak Üzenetek füle"/>
-
-  <p>
-  A program bizonyos események megtörténtekor azokról üzenetet tud
-  megjeleníteni a szimulátorban és/vagy hangjelzést ad. Ezen a fülön
-  ezt a funkciót állíthatjuk be.
-  <p>
-
-  <p>
-  A bal oldalon olvasható az üzenetek kategóriáinak listája. Ezek a következők:
-  </p>
-
-  <ul>
-    <li><b>Logger hibaüzenetek</b>: a logger belső működésével kapcsolatos
-    hibákról szóló üzenetek.</li>
-    <li><b>Információs üzenetek</b>: informatív üzenetek, például a
-    repülés fázisairól, az ellenőrzőlisták végéről, stb.</li>
-    <li><b>Repülés alatti fázis üzenetek</b>: a repülés olyan
-    fázisairól szóló üzenetek, amelyekben a levegőben vagyunk.</li>
-    <li><b>Hibaüzenetek</b>: a program által észlelt, de még nem NO GO
-    kategóriájú hibákról szóló üzenetek.</li>
-    <li><b>NO GO hibaüzenetek</b>: a program által észlelt NO GO
-    kategóriájú hibákról szóló üzenetek.</li>
-    <li><b>Kapukezelő rendszer üzenetei</b>:
-    az <a href="#onlineGateSystem">online kapukezelő rendszerrel</a>
-    kapcsolatos üzenetek. Ha például leszállunk Ferihegyen, a program
-    megjeleníti a nem foglalt kapuk és állóhelyek listáját, így
-    irányítás hiányában is el tudjuk dönteni, hová álljunk.</li>
-    <li><b>Környezeti üzenetek</b>: egyéb üzenetek, például a repülés
-    végén a célrepülőtéren üdvözlő üzenet.</li>
-    <li><b>Segítő üzenetek</b>: segítő üzenetek, például a
-    figyelmeztetés arról, hogy ne feledjük a sebességeket
-    a felszállás előtt megadni a Felszállás oldalon.</li>
-    <li><b>Látótávolság üzenetek</b>: a süllyedés és a leszállás
-    közben a látótávolságot tartalmazó üzenetek.</li>
-  </ul>
-
-  <p>
-  Mindegyik üzenetkategóriához két jelölőnégyzet tartozik. Ha a bal
-  oldalit (<i>Szimulátorban megjelenítés</i>) kijelöljök, az adott
-  kategóriába tartozó szöveges üzenetek megjelennek a
-  szimulátorban. Ha a jobb oldalit (<i>Hangjelzés</i>), akkor
-  amennyiben egy, az adott kategóriába tartozó üzenetet kiváltó
-  esemény következik be, figyelmeztető hangjelzést ad a program. Ezt
-  elsősorban a szöveges üzenetek mellé szánjuk, de a két jelölőnégyzet
-  egymástól függetlenül is állítható, így kijelölhetjük csak a
-  hangjelzést a szimulátorban való megjelenítés nélkül. Ez akkor lehet
-  hasznos, ha nem akarjuk a repülőgép szélvédőjét mindenféle
-  üzenetekkel elborítani, de mégis szeretnénk valamilyen jelzést kapni
-  arról, hogy gond lehet.
-  </p>
-
-  <h3><a name="prefsSounds">A <i>Hangok</i> fül</a></h3>
-
-  <img src="prefsSounds.png" alt="A Beállítások ablak Hangok füle"/>
-
-  <p>
-  Ezen a fülön állíthatjuk be, hogy az alkalmazás hogyan játssza le a
-  hangfájlokat.
-  </p>
-
-  <p>
-  A felső rész a háttérhangokra vonatkoznak. Ezek olyan előre
-  rögzített hangfájlok, amelyeket a repülés közben, bizonyos
-  körülmények fennállása esetén játszik le a program. Ilyenek például
-  a légiutaskísérők különböző bejelentései. A <b>Háttérhangok
-  engedélyezése</b> jelölőnégyzettel lehet engedélyezni
-  ezeket. Ha a <b>Pilóta vezérli a hangokat</b> jelölőnégyzetet
-  kijelöljük, a hangfájlok lejátszását a pilótának kell indítania egy
-  gyorsbillentyű megnyomásával. Természetesen egy adott hangfájl
-  lejátszásához a járat teljesítésének megfelelő fázisában kell
-  lennünk, és egyes esetekben más feltételeknek is teljesülniük
-  kell. Emellett egy fájlt csak egyszer játszhatunk le. Ha
-  bekapcsoljuk ezt a lehetőséget, a szimulátorban leütendő
-  gyorsbillentyűt is meg kell adnunk. A szám és betű billentyűk (0-9,
-  A-Z) közül választhatünk, esetleg kombinálva a <i>Ctrl</i> és
-  a <i>Shift</i> emelők közül valamelyikkel vagy mindkettővel. Ha nem
-  engedélyezzük a pilóta által történő vezérlést, a program
-  automatikusan játssza le a hangfájlokat.
-  </p>
-
-  <p>
-  Ha a <b>Megközelítési bemondások engedélyezése</b> jelölőnégyzetet
-  kijelöljük, és a használt repülőgép típushoz
-  <a href="#calloutsEditor">megadunk</a> megközelítési bemondásokat,
-  akkor azokat a program megközelítéskor le is fogja játszani.
-  </p>
-
-  <p>
-  Ha a <b>Spoiler hang bekapcsolása leszálláskor</b> jelölőnégyzetet
-  kijelöljük, a földetéréskor a spoilerek kinyílásakor egy jellegzetes
-  hangot hallunk.
-  </p>
-
-  <p>
-  Az alsó, <i>Ellenőrzőlisták</i> nevű részben az ellenőrzőlisták
-  lejátszával kapcsolatos beállításokat találjuk. Az ellenőrzőlisták
-  lejátszhatóságát a <b>Repülőgép-specifikus ellenőrzőlisták
-  engedélyezése</b> jelölőnégyzettel engedélyezhetjük. Engedélyezés
-  esetén meg kell adnunk egy másik gyorsbillentyűt, amelynek
-  megnyomásakor az ellenőrzőlistát alkotó fájlok közül mindig a soron
-  következők játssza le a program.
-  </p>
-
-  <h3><a name="prefsAdvanced">A <i>Haladó</i> fül</a></h3>
-
-  <img src="prefsAdvanced.png" alt="A Beállítások ablak Haladó füle"/>
-
-  <p>
-  Ezen a fülön olyan beállítások vannak, amelyeket normális esetben
-  nem kell megváltoztatnunk. Jelenleg ezek az automatikus frissítéssel
-  kapcsolatos beállítások. Ha a <b>Frissítsd a programot
-  automatikusan</b> jelölőnégyzet kijelölését megszüntetjük, a program
-  az indulásakor nem ellenőrzi, hogy van-e frissebb
-  változat. A <i>Frissítés URL-je</i> szövegmezőben látható az az URL,
-  ahonnan a frissítést letölti a program. A program fejlesztői
-  kérhetik, hogy ezt változtasd meg, mert például egy tesztverziót
-  szeretnének kipróbáltatni. Vagy szervezeti okok, például egy új
-  szerverre való költözés miatt kell megváltoztatni, stb.
-  </p>
-
-  <h2><a name="bugReportWindow">A Hibajelentés ablak</a></h2>
-
-  <img src="bugreport.png" alt="A Hibajelentés ablak"/>
-
-  <p>
-  A hibajelentés ablak segítségével a program használata során
-  tapasztalt, nem fatális problémákat jelenthetjük. Hibákat
-  jelenthetünk a MAVA fórum megfelelő topikjában, e-mailben vagy
-  saját kezűleg létrehozott tikettel a projekt honlapján. Azonban ezen
-  ablak használatával nem csak a tikettet hozzuk létre, hanem abba
-  automatikusan belekerül a napló és a debug napló szövege, ami
-  jelentősen megkönnyítheti a hiba megtalálását. Természetesen
-  előfordulhat, hogy a program úgy száll el, hogy ez az ablak nem
-  elérhető vagy rosszul működik. Ebben az esetben maradnak az egyéb
-  módszerek.
-  </p>
-
-  <p>
-  A hibajelentő ablakot az <b>Eszközök/Hibajelentés</b> menüpont
-  kiválasztásával vagy a <b>Ctrl+H</b> billentyűkombináció leütésével
-  jeleníthetjük meg. Az összefoglalást kötelező kitölteni a probléma
-  rövid, egy mondatos leírásával vagy címével. A <i>Leírás</i>t nem
-  szükséges kitölteni, de ha bármilyen egyéb, hasznos információ
-  eszünkbe jut, azt ide beírhatjuk. Mivel a program magától
-  hozzáfűzi a napló és a debug napló tartalmát, azokat ide ne másoljuk
-  be. Megadhatjuk továbbá az e-mail címünket is, hogy automatikusan
-  értesítést kapjunk a hibajelentés állapotáról, de ebben az esetben a
-  cím megjelenik a projekt honlapján, a hibajelentésben.
-  </p>
-
-  <p>
-  A <i>Küldés...</i> gomb megnyomásával elkészül a hibajelentés. Ha
-  sikerül létrehozni, erről üzenetet kapunk, amely tartalmazza a
-  hibajelentés azonosítóját is. Ezt célszerű feljegyezni, hogy a
-  későbbiekben hivatkozhassunk rá.
-  </p>
-
-  <h2><a name="monitorWindow">A Monitor ablak</a></h2>
-
-  <img src="monitorWindow.png" alt="A Monitor ablak"/>
-
-  <p>
-  A monitor ablakot elsősorban hibakeresésre lehet
-  használni. A <b>Nézet/Mutasd a monitor ablakot</b> menüpont
-  kiválasztásával vagy a <b>Ctrl+M</b> billentyűkombináció leütésével
-  lehet megjeleníteni. A tartalma repülés közben másodpercenként
-  frissül. Ha a logger valamit nem érzékel megfelelően, ennek az
-  ablaknak a segítségével dönthető el, hogy a probléma a szimulátorból
-  kiolvasott adatok átalakításával, vagy a már átalakított értékek
-  feldolgozásával van-e.
-  </p>
-
-</html>
Index: doc/overview.dox
===================================================================
--- doc/overview.dox	(revision 474)
+++ doc/overview.dox	(revision 474)
@@ -0,0 +1,249 @@
+/*! \mainpage MAVA Logger X Developers' Documentation
+ *
+ * \section intro Introduction
+ *
+ * This (partially generated) documentation describes the MAVA Logger
+ * X from a developer's perspective. Its purpose is to give enough
+ * information, so that a developer could understand how the software
+ * works in general, and easily understand the code to be able to make
+ * modifications to it.
+ *
+ * Note, that to be able to understand the code most effectively, it
+ * is important to either use the application actively, or to read its
+ * user documentation carefully.
+ *
+ * \section overview Overview
+ *
+ * The application was written in
+ * <a href="http://python.org">Python 2</a>. The Python wrapper
+ * <a href="http://gtk.org">Gtk+</a> toolkit was used for the graphical
+ * user interface. The program is designed to run on both Windows and
+ * Linux, though as of this writing only the Windows version can be
+ * used practically. However, Linux distributions move towards Gtk+ 3
+ * as the primary toolkit, while it has no reliable port for Windows
+ * yet. Therefore it was decided to support both Gtk+ 2 and 3
+ * depending on the platform. For Gtk+ 2 the
+ * <a href="http://pygtk.org">PyGTK</a> wrapper is used, while for Gtk+
+ * 3 the <a href="https://live.gnome.org/PyGObject">PyGObject</a>
+ * bindings. See the mlx.gui.common module for information on how the
+ * differences between these toolkits are handled.
+ *
+ * At present only Microsoft Flight Simulator 2004 and X (also,
+ * perhaps, Prepar3D) are supported, and are accessed via the
+ * <a href="http://www.schiratti.com/dowson.html">FSUIPC</a>
+ * interface. The author has created a Python mapping for it, which
+ * has been submitted for inclusion into the SDK, so it will hopefully
+ * appear in its next version. It is planned to support X-Plane in the
+ * near future (hopefully by the end of 2012) on both Linux and
+ * Windows.
+ *
+ * \subsection overview_devenv Development environment
+ *
+ * The software is primarily being developed on Linux, but is possible
+ * to perform development on Windows as well. You need to have Python
+ * 2.7.x installed as well as one of the above mentioned wrappers for
+ * Gtk+ and Gtk+ itself. Since Python is an interpreted language,
+ * there is no need for any special build system.
+ *
+ * Python and Gtk+ are readily available on most Linux distributions,
+ * but some links are probably useful for Windows users:
+ * \li Python has its own Windows installers: http://www.python.org/download/releases
+ * \li PyGTK provides convenient all-in-one installers including Gtk+
+ *     itself: http://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/2.24
+ * \li The Windows version uses some Python extensions: http://sourceforge.net/projects/pywin32/files
+ * \li To create install packages, you also need py2exe: <a href="http://www.py2exe.org/">http://www.py2exe.org</a>,
+ * \li as well as the Nullsoft Install System: http://nsis.sourceforge.net/Main_Page
+ *
+ * The install package can be created by running the \c makeinst.bat
+ * file. It contains some absolute paths, so check those befure
+ * running the batch file. Windows is needed currently to create an
+ * install package.
+ *
+ * On Linux you can use the \c makesdist.sh script to create the
+ * archive that you can extract on Windows. This archive goes in to
+ * the \c dist subdirectory, and contains everything needed (from the
+ * logger) to create the package.
+ *
+ * \section arch Architecture
+ *
+ * The two major parts of the application are the GUI and the rest of
+ * it (let's call it the "business logic").
+ * The main interface for the GUI is the mlx.gui.gui.GUI class, which
+ * is referenced from the business logic only from the
+ * mlx.flight.Flight class. The rest of the business logic uses the
+ * actual instance of this class to access values entered into the
+ * GUI by the user.
+ *
+ * The program uses a few threads. The main thread is reserved for the
+ * GUI, which has two implications:
+ *
+ * -# No GUI operations should be executed directly from another
+ *    thread. Instead, use \c gobject.idle_add to "inject" the
+ *    operation into the main thread.
+ * -# To ensure the responsiveness of the GUI, only operations
+ *    that take a short time should be executed in the GUI thread.
+ *
+ * \subsection arch_buslog Business Logic
+ *
+ * The business logic part deals with the connection towards the
+ * simulator. The mlx.fsuipc module implements this connection using
+ * the FSUIPC interface. Its \ref mlx.fsuipc.Simulator "Simulator"
+ * class creates a \ref mlx.fsuipc.Handler "Handler" object, which
+ * starts its own thread, in which the FSUIPC requests are called. In
+ * case of reading data from FSUIPC, the data is passed to a callback
+ * function, which is called in this thread. This should be considered
+ * when the retrieved data is processed on the GUI in same way
+ * (e.g. displayed). The main interface towards the simulator is the
+ * \ref mlx.fsuipc.Simulator "Simulator" class, so if another
+ * simulator is to be supported, a class with the same (or at least
+ * sufficiently similar) public interface should be implemented.
+ *
+ * The most important function of the program is the
+ * continuous monitoring of the aircraft's parameters and some other
+ * data. The monitoring is started using the \ref
+ * mlx.fsuipc.Simulator.startMonitoring "startMonitoring" function of
+ * the simulator object. If started, it calls the \ref
+ * mlx.acft.Aircraft.handleState "handleState" function of the
+ * mlx.acft.Aircraft instance used. The mlx.acft module contains one
+ * child class of \ref mlx.acft.Aircraft "Aircraft" for each aircraft
+ * type in the MAVA fleet. These subclasses contain the type-specific
+ * behaviour, but the main handling logic is in the \ref
+ * mlx.acft.Aircraft "Aircraft" class.
+ *
+ * Upon calling its \c handleState function, it calculates the
+ * smoothed values of IAS and VS, and then calls each "checker". A
+ * checker is an instance of a subclass of mlx.checks.StateChecker,
+ * which checks a one or a few parameters that are important from some
+ * aspect of the correct execution of a flight. For example, a checker
+ * may check if the \ref mlx.checks.StrobeLightsChecker
+ * "strobe lights" are switched on and off at the right stages of the
+ * flight. But some checkers simply log some \ref
+ * mlx.checks.AltimeterLogger "value" whenever it changes
+ * in an "interesting" way, or \ref mlx.checks.ACARSSender "send the
+ * ACARS" periodically.
+ *
+ * There is also a \ref mlx.checks.StageChecker "checker" which
+ * detects the changes in the stage of the flight, and calls the
+ * \ref mlx.acft.Aircraft.setStage "setStage" function of the
+ * aircraft, if there is a change. It first calls the
+ * \ref mlx.flight.Flight "flight"'s \ref mlx.flight.Flight.setStage
+ * "setStage" function, which notifies the GUI and the \ref
+ * mlx.logger.Logger "logger" of this change, and records the block
+ * and flight times. Then the aircraft's \c setStage function logs
+ * some values in case of certain stages, such as the takeoff weights
+ * and speeds when the takeoff stage is entered. After calling the
+ * checkers, the \c handleState function of the aircraft calls the
+ * \ref mlx.flight.Flight.handleState "function" with the same name of
+ * the flight. It again records some statistical data, such as the
+ * flown distance and the amount of fuel used, and calls the \ref
+ * mlx.soundsched.SoundScheduler "sound scheduler" to check if some
+ * backround sound should be played. If the check list hotkey is
+ * pressed, the \ref mlx.soundsched.ChecklistScheduler
+ * "checklist scheduler" is notified too.
+ *
+ * As mentioned, there is a \ref mlx.logger.Logger "logger" in the
+ * application, which contains the textual log lines as well as the
+ * faults and their scores.
+ *
+ * The business logic part contains many other components, but they
+ * are quite simple and are built around the principles mentioned
+ * above. Consult the documentation and the code of the relevant
+ * modules for more information.
+ *
+ * \subsection arch_gui GUI
+ *
+ * As mentioned, the GUI is implemented using Gtk+. This toolkit
+ * provides the Glade graphical user interface designer, but due to
+ * the requirement of supporting both Gtk+ 2 and 3, and due to a so-so
+ * experience with Glade in an earlier project, it was decided to not
+ * use it. Instead, the GUI elements are created and handled by
+ * hand-written code.
+ *
+ * The central class of the graphical user interface is
+ * mlx.gui.gui.GUI. Upon creation, it creates the rest of the GUI,
+ * sets up the menus and shortcuts, etc. It also maintains the
+ * connection to the simulator and creates the \ref mlx.flight.Flight
+ * "flight" and \ref mlx.acft.Aircraft "aircraft" objects as
+ * needed.
+ *
+ * To understand the operation of the GUI, one should be familiar with
+ * Gtk+, but otherwise it is pretty straighforward. See the
+ * documentation of the relevant modules for more information.
+ *
+ * \section newtype Adding a new aircraft type
+ *
+ * While new aircraft types will probably not be added too often, here
+ * is a checklist about what should be modified when such a
+ * requirement arises.
+ *
+ * First, it is worth to know what data you need to add the new type:
+ *
+ * \li the aircraft's type name and its ICAO code
+ * \li the following weights: DOW, MZFW, MTOW, MLW
+ * \li the flap settings and their speed limits
+ * \li the speed limit for extending/retracting the gear (VLE)
+ * \li the number and types of the fuel tanks
+ * \li the type code the MAVA website uses to identify the type
+ * \li if the plane has reversers, what is the operating limit speed,
+ *     if any
+ * \li does the plane support the notion of a takeoff derate, and if
+ *     so, what data should be given
+ * \li what lights does the plane have
+ *
+ * If you have the data, you can add the type by modifying the source
+ * files as per the checklist below:
+ *
+ * -# \c src/mlx/const.py: look for the constants named AIRCRAFT_xxx.
+ *    Add the new type at the end of the list of those constants, with
+ *    a number 1 greater than the number of the last existing
+ *    type. The part of the constant's name after the underscore (xxx
+ *    above) should be the ICAO code of the aircraft type.
+ * -# \c src/mlx/const.py: below this list of constants, you can find
+ *    an array named \c aircraftTypes. Add the type constant to it.
+ * -# \c src/mlx/const.py: further below you can find a dictionary
+ *    mapping te aircraft type to the corresponding ICAO codes. Add
+ *    the new type to it.
+ * -# \c src/mlx/acft.py: add a new subclass of \ref
+ *    mlx.acft.Aircraft. Its name should be the ICAO code. Check an
+ *    existing aircraft and add the same variables containing the
+ *    weights, the flap speed limits and the gear speed limit. There
+ *    may be some other member variables or functions that should be
+ * -# \c src/mlx/acft.py: there is a dictionary named \c _classes
+ *    towards the end of the file. Add the type to it.
+ * -# \c src/mlx/web.py: the \ref mlx.web.BookedFlight class contains
+ *    two dictionaries, the mapping between the types and the values the MAVA
+ *    website uses to identify the type. Add the appropriate values
+ *    here.
+ * -# \c src/mlx/fsuipc.py: add a subclass of \ref
+ *    mlx.fsuipc.GenericAircraftModel for the new type named the ICAO
+ *    code of the type followed by the word \c Model. Implement its
+ *    constructor to supply the base class with the flaps notches
+ *    (starting with 0), the array of constants describing the fuel
+ *    tanks the model has, and the number of engines. Also implement
+ *    the name of the model, which should be something like
+ *    "FSUIPC/Generic ...". If necessary implement other functions or
+ *    set other members.
+ * -# \c src/mlx/fsuipc.py: add the new type and model class to the
+ *    dictionary named \c _genericModels towards the end of the file.
+ * -# \c src/mlx/fsuipc.py: if you have a model that has some
+ *    non-generic characteristics, create a specific class for
+ *    it. This class should be a subclass of the generic class
+ *    created, and it should be registered at the bottom of the file,
+ *    as the other models are.
+ * -# \c src/mlx/gui/common.py: this file contains a dictionary called
+ *    \c mlx.gui.common.aircraftNames. Add the new type it it. It
+ *    contains the mapping from the type constants to their
+ *    language-specific names. The string ID is "aircraft_" followed by
+ *    the lower-cased ICAO code.
+ * -# \c locale/hu/mlx.po, locale/en/mlx.po: the beginning of this
+ *    file contains mapping from the string ID previously used to the
+ *    actual name of the aircraft. Add the new type as appropriate.
+ * -# \c dcdatagen.py: this program generates some source and message
+ *    files related to the delay codes. Currently there are two
+ *    tables, one for old-timer types and the other for the "modern" types.
+ *    The file contains a list of lists called \c typeGroups. Add the
+ *    type's ICAO code the appropriate list.
+ *
+ * When all the changes have been made, run \c make in the root
+ * directory to update some source files.
+ */
Index: doc/overview.dox
===================================================================
--- doc/overview.dox	(revision 474)
+++ 	(revision )
@@ -1,249 +1,0 @@
-/*! \mainpage MAVA Logger X Developers' Documentation
- *
- * \section intro Introduction
- *
- * This (partially generated) documentation describes the MAVA Logger
- * X from a developer's perspective. Its purpose is to give enough
- * information, so that a developer could understand how the software
- * works in general, and easily understand the code to be able to make
- * modifications to it.
- *
- * Note, that to be able to understand the code most effectively, it
- * is important to either use the application actively, or to read its
- * user documentation carefully.
- *
- * \section overview Overview
- *
- * The application was written in
- * <a href="http://python.org">Python 2</a>. The Python wrapper
- * <a href="http://gtk.org">Gtk+</a> toolkit was used for the graphical
- * user interface. The program is designed to run on both Windows and
- * Linux, though as of this writing only the Windows version can be
- * used practically. However, Linux distributions move towards Gtk+ 3
- * as the primary toolkit, while it has no reliable port for Windows
- * yet. Therefore it was decided to support both Gtk+ 2 and 3
- * depending on the platform. For Gtk+ 2 the
- * <a href="http://pygtk.org">PyGTK</a> wrapper is used, while for Gtk+
- * 3 the <a href="https://live.gnome.org/PyGObject">PyGObject</a>
- * bindings. See the mlx.gui.common module for information on how the
- * differences between these toolkits are handled.
- *
- * At present only Microsoft Flight Simulator 2004 and X (also,
- * perhaps, Prepar3D) are supported, and are accessed via the
- * <a href="http://www.schiratti.com/dowson.html">FSUIPC</a>
- * interface. The author has created a Python mapping for it, which
- * has been submitted for inclusion into the SDK, so it will hopefully
- * appear in its next version. It is planned to support X-Plane in the
- * near future (hopefully by the end of 2012) on both Linux and
- * Windows.
- *
- * \subsection overview_devenv Development environment
- *
- * The software is primarily being developed on Linux, but is possible
- * to perform development on Windows as well. You need to have Python
- * 2.7.x installed as well as one of the above mentioned wrappers for
- * Gtk+ and Gtk+ itself. Since Python is an interpreted language,
- * there is no need for any special build system.
- *
- * Python and Gtk+ are readily available on most Linux distributions,
- * but some links are probably useful for Windows users:
- * \li Python has its own Windows installers: http://www.python.org/download/releases
- * \li PyGTK provides convenient all-in-one installers including Gtk+
- *     itself: http://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/2.24
- * \li The Windows version uses some Python extensions: http://sourceforge.net/projects/pywin32/files
- * \li To create install packages, you also need py2exe: <a href="http://www.py2exe.org/">http://www.py2exe.org</a>,
- * \li as well as the Nullsoft Install System: http://nsis.sourceforge.net/Main_Page
- *
- * The install package can be created by running the \c makeinst.bat
- * file. It contains some absolute paths, so check those befure
- * running the batch file. Windows is needed currently to create an
- * install package.
- *
- * On Linux you can use the \c makesdist.sh script to create the
- * archive that you can extract on Windows. This archive goes in to
- * the \c dist subdirectory, and contains everything needed (from the
- * logger) to create the package.
- *
- * \section arch Architecture
- *
- * The two major parts of the application are the GUI and the rest of
- * it (let's call it the "business logic").
- * The main interface for the GUI is the mlx.gui.gui.GUI class, which
- * is referenced from the business logic only from the
- * mlx.flight.Flight class. The rest of the business logic uses the
- * actual instance of this class to access values entered into the
- * GUI by the user.
- *
- * The program uses a few threads. The main thread is reserved for the
- * GUI, which has two implications:
- *
- * -# No GUI operations should be executed directly from another
- *    thread. Instead, use \c gobject.idle_add to "inject" the
- *    operation into the main thread.
- * -# To ensure the responsiveness of the GUI, only operations
- *    that take a short time should be executed in the GUI thread.
- *
- * \subsection arch_buslog Business Logic
- *
- * The business logic part deals with the connection towards the
- * simulator. The mlx.fsuipc module implements this connection using
- * the FSUIPC interface. Its \ref mlx.fsuipc.Simulator "Simulator"
- * class creates a \ref mlx.fsuipc.Handler "Handler" object, which
- * starts its own thread, in which the FSUIPC requests are called. In
- * case of reading data from FSUIPC, the data is passed to a callback
- * function, which is called in this thread. This should be considered
- * when the retrieved data is processed on the GUI in same way
- * (e.g. displayed). The main interface towards the simulator is the
- * \ref mlx.fsuipc.Simulator "Simulator" class, so if another
- * simulator is to be supported, a class with the same (or at least
- * sufficiently similar) public interface should be implemented.
- *
- * The most important function of the program is the
- * continuous monitoring of the aircraft's parameters and some other
- * data. The monitoring is started using the \ref
- * mlx.fsuipc.Simulator.startMonitoring "startMonitoring" function of
- * the simulator object. If started, it calls the \ref
- * mlx.acft.Aircraft.handleState "handleState" function of the
- * mlx.acft.Aircraft instance used. The mlx.acft module contains one
- * child class of \ref mlx.acft.Aircraft "Aircraft" for each aircraft
- * type in the MAVA fleet. These subclasses contain the type-specific
- * behaviour, but the main handling logic is in the \ref
- * mlx.acft.Aircraft "Aircraft" class.
- *
- * Upon calling its \c handleState function, it calculates the
- * smoothed values of IAS and VS, and then calls each "checker". A
- * checker is an instance of a subclass of mlx.checks.StateChecker,
- * which checks a one or a few parameters that are important from some
- * aspect of the correct execution of a flight. For example, a checker
- * may check if the \ref mlx.checks.StrobeLightsChecker
- * "strobe lights" are switched on and off at the right stages of the
- * flight. But some checkers simply log some \ref
- * mlx.checks.AltimeterLogger "value" whenever it changes
- * in an "interesting" way, or \ref mlx.checks.ACARSSender "send the
- * ACARS" periodically.
- *
- * There is also a \ref mlx.checks.StageChecker "checker" which
- * detects the changes in the stage of the flight, and calls the
- * \ref mlx.acft.Aircraft.setStage "setStage" function of the
- * aircraft, if there is a change. It first calls the
- * \ref mlx.flight.Flight "flight"'s \ref mlx.flight.Flight.setStage
- * "setStage" function, which notifies the GUI and the \ref
- * mlx.logger.Logger "logger" of this change, and records the block
- * and flight times. Then the aircraft's \c setStage function logs
- * some values in case of certain stages, such as the takeoff weights
- * and speeds when the takeoff stage is entered. After calling the
- * checkers, the \c handleState function of the aircraft calls the
- * \ref mlx.flight.Flight.handleState "function" with the same name of
- * the flight. It again records some statistical data, such as the
- * flown distance and the amount of fuel used, and calls the \ref
- * mlx.soundsched.SoundScheduler "sound scheduler" to check if some
- * backround sound should be played. If the check list hotkey is
- * pressed, the \ref mlx.soundsched.ChecklistScheduler
- * "checklist scheduler" is notified too.
- *
- * As mentioned, there is a \ref mlx.logger.Logger "logger" in the
- * application, which contains the textual log lines as well as the
- * faults and their scores.
- *
- * The business logic part contains many other components, but they
- * are quite simple and are built around the principles mentioned
- * above. Consult the documentation and the code of the relevant
- * modules for more information.
- *
- * \subsection arch_gui GUI
- *
- * As mentioned, the GUI is implemented using Gtk+. This toolkit
- * provides the Glade graphical user interface designer, but due to
- * the requirement of supporting both Gtk+ 2 and 3, and due to a so-so
- * experience with Glade in an earlier project, it was decided to not
- * use it. Instead, the GUI elements are created and handled by
- * hand-written code.
- *
- * The central class of the graphical user interface is
- * mlx.gui.gui.GUI. Upon creation, it creates the rest of the GUI,
- * sets up the menus and shortcuts, etc. It also maintains the
- * connection to the simulator and creates the \ref mlx.flight.Flight
- * "flight" and \ref mlx.acft.Aircraft "aircraft" objects as
- * needed.
- *
- * To understand the operation of the GUI, one should be familiar with
- * Gtk+, but otherwise it is pretty straighforward. See the
- * documentation of the relevant modules for more information.
- *
- * \section newtype Adding a new aircraft type
- *
- * While new aircraft types will probably not be added too often, here
- * is a checklist about what should be modified when such a
- * requirement arises.
- *
- * First, it is worth to know what data you need to add the new type:
- *
- * \li the aircraft's type name and its ICAO code
- * \li the following weights: DOW, MZFW, MTOW, MLW
- * \li the flap settings and their speed limits
- * \li the speed limit for extending/retracting the gear (VLE)
- * \li the number and types of the fuel tanks
- * \li the type code the MAVA website uses to identify the type
- * \li if the plane has reversers, what is the operating limit speed,
- *     if any
- * \li does the plane support the notion of a takeoff derate, and if
- *     so, what data should be given
- * \li what lights does the plane have
- *
- * If you have the data, you can add the type by modifying the source
- * files as per the checklist below:
- *
- * -# \c src/mlx/const.py: look for the constants named AIRCRAFT_xxx.
- *    Add the new type at the end of the list of those constants, with
- *    a number 1 greater than the number of the last existing
- *    type. The part of the constant's name after the underscore (xxx
- *    above) should be the ICAO code of the aircraft type.
- * -# \c src/mlx/const.py: below this list of constants, you can find
- *    an array named \c aircraftTypes. Add the type constant to it.
- * -# \c src/mlx/const.py: further below you can find a dictionary
- *    mapping te aircraft type to the corresponding ICAO codes. Add
- *    the new type to it.
- * -# \c src/mlx/acft.py: add a new subclass of \ref
- *    mlx.acft.Aircraft. Its name should be the ICAO code. Check an
- *    existing aircraft and add the same variables containing the
- *    weights, the flap speed limits and the gear speed limit. There
- *    may be some other member variables or functions that should be
- * -# \c src/mlx/acft.py: there is a dictionary named \c _classes
- *    towards the end of the file. Add the type to it.
- * -# \c src/mlx/web.py: the \ref mlx.web.BookedFlight class contains
- *    two dictionaries, the mapping between the types and the values the MAVA
- *    website uses to identify the type. Add the appropriate values
- *    here.
- * -# \c src/mlx/fsuipc.py: add a subclass of \ref
- *    mlx.fsuipc.GenericAircraftModel for the new type named the ICAO
- *    code of the type followed by the word \c Model. Implement its
- *    constructor to supply the base class with the flaps notches
- *    (starting with 0), the array of constants describing the fuel
- *    tanks the model has, and the number of engines. Also implement
- *    the name of the model, which should be something like
- *    "FSUIPC/Generic ...". If necessary implement other functions or
- *    set other members.
- * -# \c src/mlx/fsuipc.py: add the new type and model class to the
- *    dictionary named \c _genericModels towards the end of the file.
- * -# \c src/mlx/fsuipc.py: if you have a model that has some
- *    non-generic characteristics, create a specific class for
- *    it. This class should be a subclass of the generic class
- *    created, and it should be registered at the bottom of the file,
- *    as the other models are.
- * -# \c src/mlx/gui/common.py: this file contains a dictionary called
- *    \c mlx.gui.common.aircraftNames. Add the new type it it. It
- *    contains the mapping from the type constants to their
- *    language-specific names. The string ID is "aircraft_" followed by
- *    the lower-cased ICAO code.
- * -# \c locale/hu/mlx.po, locale/en/mlx.po: the beginning of this
- *    file contains mapping from the string ID previously used to the
- *    actual name of the aircraft. Add the new type as appropriate.
- * -# \c dcdatagen.py: this program generates some source and message
- *    files related to the delay codes. Currently there are two
- *    tables, one for old-timer types and the other for the "modern" types.
- *    The file contains a list of lists called \c typeGroups. Add the
- *    type's ICAO code the appropriate list.
- *
- * When all the changes have been made, run \c make in the root
- * directory to update some source files.
- */
