/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
** $QT_END_LICENSE$
**
****************************************************************************/

/*!
    \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).
*/
