// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only

/*!
    \page uic.html
    \title User Interface Compiler (uic)
    \ingroup qttools
    \keyword uic

    \omit KEEP THIS FILE SYNCHRONIZED WITH uic.1 \endomit

    This page documents the \e{User Interface Compiler} for the \l{Qt Widgets}
    module. The \c uic reads an XML format user interface definition
    (\c .ui) file as generated by \l{Qt Designer Manual}{Qt
    Designer} and creates a corresponding C++ header file.

    Usage:
    \snippet snippets/code/doc_src_uic.qdoc 0

    \section1 Options

    The following table lists the command-line options recognized by
    \c uic.

    \table
    \header \li Option \li Description
    \row \li \c{-h, --help}                    \li Displays help on commandline options.
    \row \li \c{-v, --version}                 \li Displays version information.
    \row \li \c{-d, --dependencies}            \li Display the dependencies.
    \row \li \c{-o, --output <file>}           \li Place the output into \c{<file>}
    \row \li \c{-a, --no-autoconnection}       \li Do not generate a call to \c{QObject::connectSlotsByName()}.
    \row \li \c{-p, --no-protection}           \li Disable header protection.
    \row \li \c{-n, --no-implicit-includes}    \li Disable generation of \c{#include-directives}.
    \row \li \c{--postfix <postfix>}           \li Postfix to add to all generated classnames.
    \row \li \c{--tr, --translate <function>}  \li Use <function> for i18n.
    \row \li \c{--include <include-file>}      \li Add #include \c{<include-file>} to \c{<file>}.
    \row \li \c{-g, --generator <python|cpp>}  \li Select generator.
    \row \li \c{--idbased}                     \li Use id based function for i18n
    \row \li \c{--from-imports}                \li Python: generate imports relative to \c{'.'}
    \endtable

    \section1 Examples

    If you use \c qmake, \c uic will be invoked automatically for
    header files.

    Here are useful makefile rules if you only use GNU make:

    \snippet snippets/code/doc_src_uic.qdoc 1

    If you want to write portably, you can use individual rules of the
    following form:

    \snippet snippets/code/doc_src_uic.qdoc 2

    You must also remember to add \c{ui_foo.h} to your \c HEADERS
    (substitute your favorite name).
*/
