/*! \page uic.html \title User Interface Compiler (uic) \omit KEEP THIS FILE SYNCHRONIZED WITH uic.1 \endomit This page documents the \e{User Interface Compiler} for the Qt GUI toolkit. The \e uic reads a user interface definition (.ui) file in XML as generated by \link designer-manual.book Qt Designer\endlink and creates corresponding C++ header or source files. It can also generate an image file to embed raw image data in C++ source code. \section1 Options \section2 File Generation Options Generate declaration: \code uic [options] \endcode Generate implementation: \code uic [options] -impl \endcode \list \i \ - name of the declaration file \endlist Generate image collection: \code uic [options] -embed ... \endcode \list \i \ - project name \i \ - image files \endlist For convenience, \e uic can also generate declaration or implementation stubs for subclasses. Generate subclass declaration: \code uic [options] -subdecl \endcode \list \i \ - name of the subclass to generate \i \ - declaration file of the baseclass \endlist Generate subclass implementation: \code uic [options] -subimpl \endcode \list \i \ - name of the subclass to generate \i \ - declaration file of the subclass \endlist \section2 General Options \list \i \c{-o file} - write output to 'file' rather than to stdout. \i \c{-nofwd} - omit forward declarations of custom classes in the generated header file. This is necessary if typedef classes are used. \i \c{-tr func} - use \c{func(sourceText, comment)} rather than trUtf8(sourceText, comment) for internationalization. \i \c{-pch file} - add \c{#include "file"} as the first statement in the implementation file. \endlist \section1 Usage \e uic is almost always invoked by \c{make (1)}, rather than by hand. Here are useful makefile rules if you only use GNU make: \code %.h: %.ui uic $< -o $@ %.cpp: %.ui uic -impl $*.h $< -o $@ \endcode If you want to write portably, you can use individual rules of the following form: \code NAME.h: NAME.ui uic $< -o $@ NAME.cpp: NAME.ui uic -impl $*.h $< -o $@ \endcode You must also remember to add \c{NAME.cpp} to your SOURCES (substitute your favorite name) variable and \c{NAME.o} to your OBJECTS variable. (While we prefer to name our C++ source files .cpp, the \e uic doesn't care, so you can use .C, .cc, .CC, .cxx or even .c++ if you prefer.) */