Sync with latest script

pull/1/head
Timothy Pearson 13 years ago
parent 143f194af0
commit e02e31c8b9

@ -121,7 +121,7 @@
- (removePostedEvents): New overriding function. This function only
removes events that has specified event type. The implementation
is copied from original version of the function and modified to
accept event_type. This function is retquired by postIMEvent()
accept event_type. This function is required by postIMEvent()
- (setActiveWindow): Enclose immodule specific code by #if
defined(Q_WS_X11)
@ -138,12 +138,12 @@
- Remove #include "qinputcontext.h" to reduce compilation dependency
- Add 'class QWidget' declaration
- Remove inappropriate #ifndef QT_NO_STRINGLIST. QStringList is now
retquired feature for immodule. See also changes of qfeatures.h
required feature for immodule. See also changes of qfeatures.h
* src/input/qinputcontextfactory.cpp
- Add #include "qinputcontext.h"
- Remove unnecessary #include "qpopupmenu.h"
- Remove inappropriate #ifndef QT_NO_STRINGLIST. QStringList is now
retquired feature for immodule. See also changes of qfeatures.h
required feature for immodule. See also changes of qfeatures.h
* src/tools/qfeatures.h
- Define QT_NO_IM if QT_NO_STRINGLIST is defined
@ -492,7 +492,7 @@
- Follow Trolltech's coding style for Qt3
- Remove unnecessary headers
- (UNITIZE): Moved from qsimpleinputcontext.cpp. QT_ prefix is not
retquired since a macro does not pollute symbol space
required since a macro does not pollute symbol space
- (struct _ComposeTableElement): Rename to QComposeTableElement
- (struct QComposeTableElement): Renamed from _ComposeTableElement
- (struct _ComposeTable): Rename to QComposeTable
@ -553,7 +553,7 @@
2004-08-10 YamaKen <yamaken@bp.iij4u.or.jp>
* This commit changes the XIM input method into plugin. A little
modification is still retquired to work. See next commit information
modification is still required to work. See next commit information
* src/input/qinputcontextfactory.cpp
- Remove XIM dependency
@ -581,7 +581,7 @@
- New file
* plugins/src/inputmethods/xim/qximinputcontext.h
- Moved from src/input/qximinputcontext_p.h. No code changes have
been applied. A little modification is retquired to work. See next
been applied. A little modification is required to work. See next
commit information
* plugins/src/inputmethods/xim/qximinputcontext_x11.cpp
- Moved from src/input/qximinputcontext_x11.cpp. No code changes have
@ -606,7 +606,7 @@
- (setHolderWidget): New override function
* src/input/qximinputcontext_x11.cpp
- (QXIMInputContext): Split most part of the initialization code
into setHolderWidget() to allow null widget. This is retquired to
into setHolderWidget() to allow null widget. This is required to
make imsw-none working properly
- (setHolderWidget): New function
@ -1034,7 +1034,7 @@
- (class QInputContext): Modify the class description comment
- (filterEvent): Mark the argument as /* const */ to make it const
in future
- (reset): Add a retquirement to the function description comment for
- (reset): Add a requirement to the function description comment for
reimplementation
* src/kernel/qapplication_x11.cpp
@ -1581,7 +1581,7 @@
* src/kernel/qwidget_x11.cpp
- (setMicroFocusHint): Replace relative coordinate with
global one for qic->setMicroFocus(). This is retquired to
global one for qic->setMicroFocus(). This is required to
share particular IM plugin code with Qt/Embedded
* src/widgets/qlineedit.cpp
@ -1679,7 +1679,7 @@
* src/kernel/qinputcontext.h
- Remove several pointers to QWidget to share concrete IM
implementation code with Qt/Embedded. The IM model of
Qt/Embedded retquires that widgets and input contexts are
Qt/Embedded requires that widgets and input contexts are
existing in another process
- (QInputContext): Remove the QWidget * arg
- (focusWidget, ownerWidget):
@ -1723,7 +1723,7 @@
- (filterEvent): Follow API change of removal of keywidget
- (sendIMEvent): Add #ifdef to isolate Qt/X11 dependent code
- (sendIMError): New function to hide ownerWidget() from
derived QInputContext. This is retquired to share particular
derived QInputContext. This is required to share particular
IM plugin code with Qt/Embedded
- (setFocus, unsetFocus): Follow API change
@ -1739,7 +1739,7 @@
focusInputContext()
- (getInputContext): Return input context only if
isInputMethodEnabled() widget, otherwise returns 0. This
is retquired for proper focus transition handling
is required for proper focus transition handling
- (unfocusInputContext): Follow API change of
QInputContext::unsetFocus()
@ -1942,7 +1942,7 @@
invocation to follow API change
- (translateKeyEventInternal):
* Add new arg statefulTranslation to enable duplicate call
within single event loop. This is retquired to support both
within single event loop. This is required to support both
QInputContext::filterEvent() and RTL extensions
* Restore accidencially omitted qt_mode_switch_remove_mask
handling

@ -117,9 +117,9 @@ above, provided that you also meet all of these conditions:
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not retquired to print an announcement.)
the Program is not required to print an announcement.)
These retquirements apply to the modified work as a whole. If
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
@ -185,7 +185,7 @@ However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not retquired to accept this License, since you have not
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by

@ -51,7 +51,7 @@ giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL retquires that modified versions be marked as
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
@ -148,7 +148,7 @@ programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to retquire,
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
@ -224,7 +224,7 @@ terms of section 4, provided that you also meet all of these conditions:
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This retquirement modifies the retquirement in section 4 to
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
@ -283,7 +283,7 @@ in one of these ways:
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not retquire recipients to copy the
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
@ -291,7 +291,7 @@ in one of these ways:
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these retquirements.
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
@ -316,7 +316,7 @@ commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information retquired to install
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
@ -329,13 +329,13 @@ part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this retquirement does not apply
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The retquirement to provide Installation Information does not include a
retquirement to continue to provide support service, warranty, or updates
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
@ -345,7 +345,7 @@ protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must retquire no special password or key for
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
@ -361,7 +361,7 @@ this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to retquire their own
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
@ -410,7 +410,7 @@ where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above retquirements apply either way.
the above requirements apply either way.
8. Termination.
@ -442,10 +442,10 @@ material under section 10.
9. Acceptance Not Required for Having Copies.
You are not retquired to accept this License in order to receive or
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not retquire acceptance. However,
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
@ -489,7 +489,7 @@ by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the retquirements of
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
@ -511,7 +511,7 @@ publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the retquirements of this License, to extend the patent
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
@ -564,7 +564,7 @@ permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special retquirements of the GNU Affero General Public License,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.

@ -65,7 +65,7 @@ and development of free software which uses the Software.
6. You may develop application programs, reusable components and other
software items that link with the original or modified versions of the
Software. These items, when distributed, are subject to the following
retquirements:
requirements:
a. You must ensure that all recipients of machine-executable forms of
these items are also able to receive and use the complete

@ -99,7 +99,7 @@ immodule for Qt
- set "iiimqcf" that has its own input method switching framework as
default, and disable input method selection menu in the context
menu. Such configuration is retquired by some system integrators to
menu. Such configuration is required by some system integrators to
provide unified user interface for global input method switching
over the desktop

@ -52,7 +52,7 @@ Build & Install
+ configure options have been changed for internal reasons. See 'How
to install' section of README.immodule
- This version of immodule retquires corresponding version of each
- This version of immodule requires corresponding version of each
input method plugins (i.e. update your additional input method
plugins)
@ -93,7 +93,7 @@ New features
- QInputContext proxying
Some methods of QInputContext have been changed to enable
QInputContext proxying. This feature is retquired to implement
QInputContext proxying. This feature is required to implement
pluggable input method switcher.
@ -102,7 +102,7 @@ General
+ QInputContext has been source compatible with Qt4 version. Basic
input method plugin can be source compatible without #ifdef. Only
pluggable popup menu retquires #ifdef'ed different code. In addition,
pluggable popup menu requires #ifdef'ed different code. In addition,
be careful about use of classes that is deprecated in Qt4.
- Our two development tree for Qt3 'Binary Compatible' and 'ALL' have
@ -146,7 +146,7 @@ API Changes in qt-x11-immodule-unified-qt3.3.3-20040910
* QInputContext()
Added 'parent' arg to be compatible with Qt4. Since the arg
defaults to 0, no modification of plugins are retquired.
defaults to 0, no modification of plugins are required.
* language()
* identifierName()

@ -1,5 +1,5 @@
/* Sample program for configure to test IPv6 support on target
platforms. We check for the retquired IPv6 data structures. */
platforms. We check for the required IPv6 data structures. */
#if defined(__hpux)
#define _HPUX_SOURCE

@ -60,7 +60,7 @@ for L in $LIBS; do
if [ "x$F_REASON" = "xthreads" ]; then
echo
echo "WARNING: $FOUND_LIB is threaded!"
echo "The Qt OpenGL module retquires Qt to be configured with -thread."
echo "The Qt OpenGL module requires Qt to be configured with -thread."
echo
else
[ "$VERBOSE" = "yes" ] && echo " Could not find $L lib anywhere in $LIBDIRS"

@ -75,7 +75,7 @@ if [ "$XCURSOR" = "yes" ]; then
elif [ "$XCURSOR_MAJOR" != "1" ]; then
XCURSOR=no
[ "$VERBOSE" = "yes" ] && \
echo " Found Xcursor version $XCURSOR_MAJOR.$XCURSOR_MINOR, version 1.0 or higher retquired."
echo " Found Xcursor version $XCURSOR_MAJOR.$XCURSOR_MINOR, version 1.0 or higher required."
else
[ "$VERBOSE" = "yes" ] && \
echo " Found Xcursor version $XCURSOR_MAJOR.$XCURSOR_MINOR"

@ -78,7 +78,7 @@ if [ "$XRANDR" = "yes" ]; then
elif [ "$XRANDR_MAJOR" != "1" -o "$XRANDR_MINOR" -lt "1" ]; then
XRANDR=no
[ "$VERBOSE" = "yes" ] && \
echo " Found XRandR version $XRANDR_MAJOR.$XRANDR_MINOR, version 1.1 or higher retquired."
echo " Found XRandR version $XRANDR_MAJOR.$XRANDR_MINOR, version 1.1 or higher required."
else
[ "$VERBOSE" = "yes" ] && \
echo " Found XRandR version $XRANDR_MAJOR.$XRANDR_MINOR"

2
configure vendored

@ -2330,7 +2330,7 @@ Qt/Embedded only:
-depths list ....... Comma-separated list of supported bit-per-pixel
depths, from: 4, 8, 16, 24, and 32.
(8bpp is retquired by the VGA16 driver)
(8bpp is required by the VGA16 driver)
-qt-gfx-<driver> ... Enable a graphics <driver> in the Qt Library.
-plugin-gfx-<driver> Enable graphics <driver> as a plugin to be

@ -16,7 +16,7 @@
** and the KDE Free Qt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing retquirements will be met:
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:

@ -16,7 +16,7 @@
** and the KDE Free Qt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing retquirements will be met:
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:

@ -16,7 +16,7 @@
** and the KDE Free Qt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing retquirements will be met:
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:

@ -16,7 +16,7 @@
** and the KDE Free Qt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing retquirements will be met:
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:
@ -244,7 +244,7 @@ will implement later.
Now that we have done the File menu we shift our focus back to the
menu bar and insert a separator. From now on further menu bar entries
will be aligned to the right if the windows system style retquires it.
will be aligned to the right if the windows system style requires it.
\printline help
\printuntil whatsThis

@ -16,7 +16,7 @@
** and the KDE Free Qt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing retquirements will be met:
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:
@ -52,7 +52,7 @@ QCanvasItem QCanvasItems \endlink. Canvas items can have an arbitrary
shape, size and content, can be freely moved around in the canvas,
and can be checked for collisions. Canvas items can be set to move
across the canvas automatically and animated canvas items are
supported with QCanvasSprite. (If you retquire 3D graphics see Qt's
supported with QCanvasSprite. (If you require 3D graphics see Qt's
\link opengl.html OpenGL module \endlink.)
The canvas module uses a document/view model. The \l QCanvasView class

@ -16,7 +16,7 @@
** and the KDE Free Qt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing retquirements will be met:
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:
@ -207,7 +207,7 @@ existing code which uses these classes will continue to work.
\section2 Regular Expressions
Qt has always provided regular expression support, but that support
was pretty much limited to what was retquired in common GUI control
was pretty much limited to what was required in common GUI control
elements such as file dialogs. Qt 3.0 introduces a new regular
expression engine, QRegExp, that supports most of Perl's regex
features and is Unicode based. The most useful additions are support

@ -16,7 +16,7 @@
** and the KDE Free Qt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing retquirements will be met:
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:

@ -16,7 +16,7 @@
** and the KDE Free Qt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing retquirements will be met:
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:

@ -16,7 +16,7 @@
** and the KDE Free Qt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing retquirements will be met:
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:

@ -16,7 +16,7 @@
** and the KDE Free Qt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing retquirements will be met:
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:

@ -16,7 +16,7 @@
** and the KDE Free Qt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing retquirements will be met:
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:

@ -16,7 +16,7 @@
** and the KDE Free Qt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing retquirements will be met:
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:

@ -16,7 +16,7 @@
** and the KDE Free Qt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing retquirements will be met:
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:

@ -16,7 +16,7 @@
** and the KDE Free Qt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing retquirements will be met:
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:

@ -16,7 +16,7 @@
** and the KDE Free Qt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing retquirements will be met:
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:

@ -16,7 +16,7 @@
** and the KDE Free Qt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing retquirements will be met:
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:

@ -16,7 +16,7 @@
** and the KDE Free Qt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing retquirements will be met:
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:
@ -43,7 +43,7 @@
This document lists the platform-specific files needed to distribute
Qt applications. We do not include any compiler-specific files that
may also be retquired. (See also, \link winsystem.html Window
may also be required. (See also, \link winsystem.html Window
System-specific Notes\endlink.)
\tableofcontents
@ -85,7 +85,7 @@ version is prefixed with \e {-mt}.
\section2 Distributing Plugins
You must include any plugin files retquired by the application.
You must include any plugin files required by the application.
Plugins must be put into a subdirectory under a directory known to
Qt as a plugin directory. The subdirectory must have the name of the

@ -16,7 +16,7 @@
** and the KDE Free Qt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing retquirements will be met:
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:

@ -16,7 +16,7 @@
** and the KDE Free Qt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing retquirements will be met:
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:

@ -16,7 +16,7 @@
** and the KDE Free Qt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing retquirements will be met:
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:
@ -129,7 +129,7 @@ typically 2-20KB in size; they can be mmap'd direct from disk in order
to save memory). If a QPF font is found which matches a font request
no new QRenderedFont need be created for it. It's possible to strip out
all QFontFactory support and simply use QPFs if your font needs are modest
(for instance, if you only retquire a few fixed point sizes). Note that
(for instance, if you only require a few fixed point sizes). Note that
no best-match loading is performed with QPFs, as opposed to those
loaded via QFontManager, so if you don't have the correct QPF for a point
size, text in that size will simply not be displayed.

@ -16,7 +16,7 @@
** and the KDE Free Qt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing retquirements will be met:
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:

@ -16,7 +16,7 @@
** and the KDE Free Qt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing retquirements will be met:
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:

@ -229,7 +229,7 @@ project. Can we transfer the license to another developer?
Yes. Qt licences are for the individual use of named developers. If
the developer associated with a licence leaves the organization, or
moves on to another project that does not retquire a Qt license,
moves on to another project that does not require a Qt license,
another developer can take over the licence. You can change the name
of the developer using a licence at any time, but after a change you
must wait at least six (6) months before changing again.
@ -342,7 +342,7 @@ software pool to do so without paying license fees.
Although it is possible to write free software for internal
use, it is difficult to ensure that such software is used and
distributed legally. For example, if your free software
retquires any modules that impose conditions on you that
requires any modules that impose conditions on you that
contradict the conditions of the GNU GPL, including, but not
limited to, software patents, commercial license agreements,
copyrighted interface definitions or any sort of

@ -16,7 +16,7 @@
** and the KDE Free Qt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing retquirements will be met:
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:

@ -16,7 +16,7 @@
** and the KDE Free Qt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing retquirements will be met:
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:

@ -16,7 +16,7 @@
** and the KDE Free Qt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing retquirements will be met:
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:

@ -16,7 +16,7 @@
** and the KDE Free Qt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing retquirements will be met:
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:

@ -16,7 +16,7 @@
** and the KDE Free Qt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing retquirements will be met:
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:

@ -16,7 +16,7 @@
** and the KDE Free Qt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing retquirements will be met:
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:

@ -16,7 +16,7 @@
** and the KDE Free Qt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing retquirements will be met:
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:

@ -106,7 +106,7 @@ is presented, which includes using a thin MC++ wrapper class around
the normal TQt/C++ class. Then, the automated way is presented, which
utilizes the <a href="activeqt.html#ActiveTQt">ActiveTQt</a> framework as a generic bridge. The advantage of
the first method is that it gives the application developer full
control, while the second method retquires less coding and relieves the
control, while the second method requires less coding and relieves the
developer of dealing with the conversion between managed and normal
data objects.
<p> The impatient reader, who right away wants to see a <a href="qpushbutton.html">TQPushButton</a> and a
@ -405,7 +405,7 @@ available to .NET. This has the positive side effect that the same
API is automatically available in <a href="http://www.trolltech.com/products/qsa">TQSA</a>, the cross platform
scripting solution for TQt applications, and to COM clients in general.
<p> When using the "IJW" method, in priciple the only limitation is the
time retquired to write the wrapper classes and data type conversion
time required to write the wrapper classes and data type conversion
functions.
<p> <h3> Performance Considerations
</h3>

@ -59,7 +59,7 @@ type library wll have version x.y.
<td valign="top">Unregister the COM server <em>dll</em>
</table></center>
<p> It is usually never necessary to invoke IDC manually, as the
<tt>qmake</tt> build system takes care of adding the retquired post
<tt>qmake</tt> build system takes care of adding the required post
processing steps to the build process. See the
<a href="qaxserver.html#4">ActiveTQt build system</a>
documentation for details.

@ -51,7 +51,7 @@ VBScript, Perl and Python to program the controls loaded. Example
script files using the TQAxWidget2 class are available in the <tt>scripts</tt>
subdirectory.
<p> Note that the qmake project of this example includes a resource file
<tt>testcon.rc</tt> with a version resource. This is retquired by some
<tt>testcon.rc</tt> with a version resource. This is required by some
ActiveX controls (ie. Shockwave ActiveX Controls), which might crash
or misbehave otherwise if such version information is missing.
<p> To build the tool you must first build the

@ -81,7 +81,7 @@ body { background: #ffffff; color: black; }
<li><p>Start Page- This property specifies which page <em>TQt Assistant</em> should initially display when the profile is used. Usually, this is the HTML file which contains the documentation's table of contents. This property also describes the default location to go to when pressing the home button in <em>TQt Assistant</em>'s main user interface. The start page is specified relative to the location of the profile. The property name is <tt>startpage</tt></p>
<li><p>About Menu Text- This property describes the text that appears in the <b>Help</b> menu, e.g. About Application. The property name is <tt>aboutmenutext</tt></p>
<li><p>About URL- This property can be used to point to an HTML file that describes the contents in the About dialog that is opened for the <b>Help</b> menu, e.g. About Application. The url is specified relative to the location of the profile. The property name is <tt>abouturl</tt></p>
<li><p><em>TQt Assistant</em> Documentation- This property describes the location of the <em>TQt Assistant</em> documentation. This is retquired since <em>TQt Assistant</em> provides self help, such as the full text search help and the <em>TQt Assistant</em> Manual option in the <b>Help</b> menu. The location is a directory relative to the location of the profile. The property name is <tt>assistantdocs</tt>.</p>
<li><p><em>TQt Assistant</em> Documentation- This property describes the location of the <em>TQt Assistant</em> documentation. This is required since <em>TQt Assistant</em> provides self help, such as the full text search help and the <em>TQt Assistant</em> Manual option in the <b>Help</b> menu. The location is a directory relative to the location of the profile. The property name is <tt>assistantdocs</tt>.</p>
</ul><p>To define a profile, one needs to specify a <em>TQt Assistant</em> Document Profile, usually abbreviated <tt>.adp</tt>. The profile is an extension of the Documentation Content File described above. We add a <tt>profile</tt> tag containing <tt>property</tt> tags to the format.</p>
<p>An example of a document profile file is shown below:</p>
<p><tt>helpdemo.adp</tt></p>

@ -39,7 +39,7 @@ body { background: #ffffff; color: black; }
shape, size and content, can be freely moved around in the canvas,
and can be checked for collisions. Canvas items can be set to move
across the canvas automatically and animated canvas items are
supported with <a href="qcanvassprite.html">TQCanvasSprite</a>. (If you retquire 3D graphics see TQt's
supported with <a href="qcanvassprite.html">TQCanvasSprite</a>. (If you require 3D graphics see TQt's
<a href="opengl.html">OpenGL module</a>.)
<p> The canvas module uses a document/view model. The <a href="qcanvasview.html">TQCanvasView</a> class
is used to show a particular view of a canvas. Multiple views can operate

@ -75,7 +75,7 @@ tools are usually located in the <tt>bin</tt> subdirectory of TQt distributions.
Either run <tt>"$QTDIR"/bin/moc</tt> and <tt>"$QTDIR"/bin/uic</tt> or add <tt>"$QTDIR"/bin</tt>
to your <tt>PATH</tt> and run <a href="moc.html#moc">moc</a> and <tt>uic</tt>. If you use <tt>qmake</tt> the
appropriate lines will be added to your Makefiles so that <em>uic</em> and
<em>moc</em> will be executed as retquired.
<em>moc</em> will be executed as required.
<p> <dt>Static or shared libraries - Link time
<p> <dd>Programmers need to link with the TQt static or shared libraries. The TQt
libraries are usually located in the <tt>lib</tt> subdirectory of TQt distributions.

@ -136,7 +136,7 @@ TQLayoutIterator CardLayout::iterator()
It must be implemented. It is used by <a href="qlayout.html#add">TQLayout::add</a>(), by the <a href="qlayout.html">TQLayout</a>
constructor that takes a layout as parent, and it is used to implement
the <a href="qlayout.html#autoAdd">auto-add</a> feature. If your layout
has advanced placement options that retquire parameters, you must
has advanced placement options that require parameters, you must
provide extra access functions such as <a href="qgridlayout.html#addMultiCell">TQGridLayout::addMultiCell</a>().
<p> <pre>
void CardLayout::addItem( <a href="qlayoutitem.html">TQLayoutItem</a> *item )

@ -32,12 +32,12 @@ body { background: #ffffff; color: black; }
<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><p align="right">[<a href="designer-manual.html">Home</a>] [<a href="designer-manual-2.html">Next: Quick Start</a>]</p>
<h2 align="center">Preface</h2>
<h3><a name="1"></a>Introduction</h3>
<p>This manual presents <em>TQt Designer</em>, a tool for designing and implementing user interfaces built with the TQt multiplatform GUI toolkit. <em>TQt Designer</em> makes it easy to experiment with user interface design. At any time you can generate the code retquired to reproduce the user interface from the files <em>TQt Designer</em> produces, changing your design as often as you like. If you used an earlier version you will find yourself immediately productive in the new version since the interface is very similar. And you will also find new widgets and new and improved functionality which have been developed as a result of your feedback.</p>
<p>This manual presents <em>TQt Designer</em>, a tool for designing and implementing user interfaces built with the TQt multiplatform GUI toolkit. <em>TQt Designer</em> makes it easy to experiment with user interface design. At any time you can generate the code required to reproduce the user interface from the files <em>TQt Designer</em> produces, changing your design as often as you like. If you used an earlier version you will find yourself immediately productive in the new version since the interface is very similar. And you will also find new widgets and new and improved functionality which have been developed as a result of your feedback.</p>
<p><em>TQt Designer</em> helps you build user interfaces with layout tools that move and scale your widgets (<em>controls</em> in Windows terminology) automatically at runtime. The resulting interfaces are both functional and attractive, comfortably suiting your users' operating environments and preferences. <em>TQt Designer</em> supports TQt's signals and slots mechanism for type-safe communication between widgets. <em>TQt Designer</em> includes a code editor which you can use to embed your own custom slots inside the generated code. Those who prefer to separate generated code from hand crafted code can continue to use the subclassing approach pioneered in the first version of <em>TQt Designer</em>.<!-- index Controls!Widgets --></p>
<p>The manual introduces you to <em>TQt Designer</em> by leading you through the development of example applications. The first seven chapters are tutorials, each designed to be as self-contained as possible. Every chapter, except the first three, assumes that you are familiar with the material in chapters two and three which cover the basics of building a TQt application with <em>TQt Designer</em>. Here's a brief overview of the chapters:</p>
<ul><li><p>Chapter one, <a href="designer-manual-2.html">Quick Start</a>, is a fast hands-on tutorial that takes you through the creation of a short, simple dialog application. The aim of this chapter is to give you a feel for how <em>TQt Designer</em> works, with explanations and details deferred to later chapters.</p>
<li><p>Chapter two, <a href="designer-manual-3.html">Creating a Main Window Application</a>, introduces <em>TQt Designer</em> and takes you step by step through the creation of a small but fully functional application. Along the way you will learn how to create a main window with menus, toolbars and a status bar. Most of the application's implementation will be covered, but the custom dialogs are deferred until chapter three. In the course of this chapter you will use the form and property editors to customize the application. You'll also learn how to use TQt's signals and slots mechanism and <em>TQt Designer</em>'s built-in code editor to make the application functional. We will also explain how to use <tt>qmake</tt> to generate a Makefile so that you can compile and run the application.</p>
<li><p>In chapter three, <a href="designer-manual-4.html">Creating Dialogs</a>, we will create the custom dialogs retquired by the main window application created in chapter two. In addition to demonstrating various ways of creating dialogs, you will also learn how to lay out forms using the layout tools.</p>
<li><p>In chapter three, <a href="designer-manual-4.html">Creating Dialogs</a>, we will create the custom dialogs required by the main window application created in chapter two. In addition to demonstrating various ways of creating dialogs, you will also learn how to lay out forms using the layout tools.</p>
<li><p>Chapter four, <a href="designer-manual-5.html#the-designer-approach">The Designer Approach</a>, provides information on the <em>TQt Designer</em> approach to developing applications, and explains some of the rationale behind <em>TQt Designer</em>.</p>
<li><p>Chapter five, <a href="designer-manual-6.html">Subclassing and Dynamic Dialogs</a>, will show you how to subclass a form; this allows you to clearly separate the user interface from the underlying code that implements its functionality. Additional information on <tt>qmake</tt> and <tt>uic</tt> is included in this chapter. This chapter will also explain how you can dynamically load dialogs from<!-- index .ui --> <tt>.ui</tt> files into your application using <a href="qwidgetfactory.html">TQWidgetFactory</a> and how to access the widgets and sub-widgets of these dialogs.</p>
<li><p>Chapter six, <a href="designer-manual-7.html">Creating Custom Widgets</a>, explains how you can create your own custom widgets. Both the simple method, that was introduced with the first version of <em>TQt Designer</em>, and the new more powerful method using plugins, are explained.</p>
@ -46,7 +46,7 @@ body { background: #ffffff; color: black; }
</ul><p>The remaining chapters provide reference material that explains <em>TQt Designer</em>'s <a href="designer-manual-11.html#reference-menu-options">menu options</a>, <a href="designer-manual-12.html#reference-toolbar-buttons">toolbars</a>, <a href="designer-manual-10.html#reference-key-bindings">key bindings</a>, <a href="designer-manual-13.html#reference-dialogs">dialogs</a>, <a href="designer-manual-14.html#reference-wizards">wizards</a>, and <a href="designer-manual-15.html#reference-windows">windows</a> in detail.</p>
<h3><a name="2"></a>What You Should Know</h3>
<p>This manual assumes that you have some basic knowledge of C++ and the TQt GUI toolkit. If you need to learn more about C++ or TQt there are a vast number of C++ books available, and a small but increasing number of TQt books. TQt comes with extensive online documentation and many example applications that you can try.</p>
<p>The Enterprise Edition of TQt includes the TQt SQL module. In <a href="designer-manual-8.html">Creating Database Applications</a> we demonstrate how to build SQL applications with <em>TQt Designer</em>; this chapter retquires some knowledge of SQL and relational databases.</p>
<p>The Enterprise Edition of TQt includes the TQt SQL module. In <a href="designer-manual-8.html">Creating Database Applications</a> we demonstrate how to build SQL applications with <em>TQt Designer</em>; this chapter requires some knowledge of SQL and relational databases.</p>
<h3><a name="3"></a>What's New in <em>TQt Designer</em> for TQt 3.0?</h3>
<p>This version of <em>TQt Designer</em> has a great deal more functionality than its predecessor. For example, the code for custom slots can be edited directly in <em>TQt Designer</em>; main windows with actions, toolbars and menus can be created; layouts that incorporate splitters can be used; and plugins allow you to package any number of custom widgets and make them available to <em>TQt Designer</em>. Many other enhancements have been incorporated, from small improvements in the user interface to improved efficiency, for example the ability to share pixmaps across all the forms in an application.</p>
<p>This version of <em>TQt Designer</em> introduces project files which make it easy to switch between all the forms in an application, and to maintain a common set of database settings and images. Although subclassing is fully supported, writing code directly in <em>TQt Designer</em> offers a number of benefits which are covered in <a href="designer-manual-5.html#the-designer-approach">The Designer Approach</a> chapter. A new library, <tt>libtqui</tt>, has also been introduced which allows you to load dialogs dynamically at runtime from <em>TQt Designer</em>'s <tt>.ui</tt> files. This allows you to provide your application's users with considerable interface customizability without them needing to use C++.</p>

@ -127,7 +127,7 @@ body { background: #ffffff; color: black; }
</p>
<blockquote><p align="center"><em>Edit Functions</em></p></blockquote>
<p>Click <b>Edit|Slots</b> to invoke the <em>Edit Functions</em> dialog. Use this dialog to edit or create slots and functions which are used in conjunction with signals to provide communication between objects.</p>
<p>When this dialog is invoked, all existing slots and functions are shown in the listview. The column headers Function, Return Type, Specifier, Access, Type, and In Use provide details about each function that is listed. Click on any of the column headers to sort the functions. To create a new function, click the <b>New Function</b> button. The new function has a default name that you should replace by typing the new name in the 'Function' line edit. The 'Return Type' is also a default that can be changed by typing in the line edit. To change the 'Specifier' or 'Access', click the combobox and choose the retquired specifier or access. To change the type of a function (function or slot), click the Type combobox. To remove a function, click the function you want to delete, and then click the <b>Delete Function</b> button.</p>
<p>When this dialog is invoked, all existing slots and functions are shown in the listview. The column headers Function, Return Type, Specifier, Access, Type, and In Use provide details about each function that is listed. Click on any of the column headers to sort the functions. To create a new function, click the <b>New Function</b> button. The new function has a default name that you should replace by typing the new name in the 'Function' line edit. The 'Return Type' is also a default that can be changed by typing in the line edit. To change the 'Specifier' or 'Access', click the combobox and choose the required specifier or access. To change the type of a function (function or slot), click the Type combobox. To remove a function, click the function you want to delete, and then click the <b>Delete Function</b> button.</p>
<p>Click <b>OK</b> to save all changes made to the functions. Click <b>Cancel</b> to leave the dialog without making any changes to the functions.</p>
<a name="dialog-view-connections"></a><h4><a name="4-2"></a>View and Edit Connections Dialog</h4>
<p align="center"><img align="middle" src="qs-editconn1.png" width="608" height="391">
@ -142,10 +142,10 @@ body { background: #ffffff; color: black; }
<blockquote><p align="center"><em>Form Settings</em></p></blockquote>
<p>Click <b>Edit|Form Settings</b> to invoke the <em>Form Settings</em> dialog. Use this dialog to save the form's settings, pixmap, and layout properties.</p>
<h5><a name="4-3-1"></a>Settings</h5>
<p>In the Settings section, you can change or add the name of the class that will be created by typing in the 'Class Name' line edit. Note that the default name is the form name, but it can be changed. You can also enter text to the 'Comment' and 'Author' line edits or leave them blank, since they are not retquired.</p>
<p>In the Settings section, you can change or add the name of the class that will be created by typing in the 'Class Name' line edit. Note that the default name is the form name, but it can be changed. You can also enter text to the 'Comment' and 'Author' line edits or leave them blank, since they are not required.</p>
<h5><a name="4-3-2"></a>Pixmaps</h5>
<p>The default (for projects) is 'Project Imagefile'. This is the recommended option. Images are handled automatically, with <em>TQt Designer</em> storing the images in a subdirectory, and <tt>uic</tt> producing code that contains the images and the necessary supporting code. Each image is stored just once, no matter how many forms it is used in.</p>
<p>If you do not want <em>TQt Designer</em> to handle the images, (or are not using a project) choose either 'Save Inline' or 'Use Function'. 'Save Inline' saves the pixmaps in the <tt>.ui</tt> files. The disadvantage of this approach is that it stores images in the forms in which they're used, meaning that images cannot be shared across forms. Click 'Use Function' to use your own icon-loader function for loading pixmaps. Type the function's name (with no signature) in the 'Use Function' line edit. This function will be used in the generated code for loading pixmaps. Your function will be called with the text you put in the pixmap property (e.g. the image name) whenever an image is retquired.</p>
<p>If you do not want <em>TQt Designer</em> to handle the images, (or are not using a project) choose either 'Save Inline' or 'Use Function'. 'Save Inline' saves the pixmaps in the <tt>.ui</tt> files. The disadvantage of this approach is that it stores images in the forms in which they're used, meaning that images cannot be shared across forms. Click 'Use Function' to use your own icon-loader function for loading pixmaps. Type the function's name (with no signature) in the 'Use Function' line edit. This function will be used in the generated code for loading pixmaps. Your function will be called with the text you put in the pixmap property (e.g. the image name) whenever an image is required.</p>
<h5><a name="4-3-3"></a>Layouts</h5>
<p>Click the 'Default Margin' spinbox or the 'Default Spacing' spinbox to change the default layout settings of the current form.</p>
<p>To use the functions in the generated code to dynamically retrieve values for the layout's default margin and spacing, check the Use Functions chechbox. In the Margin and Spacing line edits, specify the function names (no signatures or parantheses) which should be used to retrieve the margin and spacing.</p>
@ -233,7 +233,7 @@ body { background: #ffffff; color: black; }
<h3><a name="7"></a>The Tools Dialog</h3>
<a name="dialog-edit-custom-widgets"></a><h4><a name="7-1"></a>Edit Custom Widgets Dialog</h4>
<p>The <em>Edit Custom Widgets</em> dialog is invoked by clicking <b>Tools|Custom|Edit Custom Widgets</b>. Use this dialog to create custom widgets.</p>
<p>Custom widgets are created in code. They may contain a combination of existing widgets but with additional functionality, slots and signals, or they may be written from scratch, or a mixture of both. A custom widget is often a specialization (subclass) of another widget or a combination of widgets working together or a blend of both these approaches. If you simply want a collection of widgets in a particular configuration it is easiest to create them, select them as a group, and copy and paste them as retquired within <em>TQt Designer</em>. Custom widgets are generally created when you need to add new functionality to existing widgets or groups of widgets. To add create a new widget, click the <b>New Widget</b> button. You will find more information about adding new widgets in the 'Definitions Section'. To load a file which contains descriptions of custom widgets, click the <b>Load Descriptions</b> button. Clicking this button invokes the <em>Open Dialog</em>. To save the descriptions of the listed custom widgets, click the <b>Save Descriptions</b> button, which invokes the <em>Save As Dialog</em>. To delete a widget, click the widget in the listbox and then click the <b>Delete Widget</b> button.</p>
<p>Custom widgets are created in code. They may contain a combination of existing widgets but with additional functionality, slots and signals, or they may be written from scratch, or a mixture of both. A custom widget is often a specialization (subclass) of another widget or a combination of widgets working together or a blend of both these approaches. If you simply want a collection of widgets in a particular configuration it is easiest to create them, select them as a group, and copy and paste them as required within <em>TQt Designer</em>. Custom widgets are generally created when you need to add new functionality to existing widgets or groups of widgets. To add create a new widget, click the <b>New Widget</b> button. You will find more information about adding new widgets in the 'Definitions Section'. To load a file which contains descriptions of custom widgets, click the <b>Load Descriptions</b> button. Clicking this button invokes the <em>Open Dialog</em>. To save the descriptions of the listed custom widgets, click the <b>Save Descriptions</b> button, which invokes the <em>Save As Dialog</em>. To delete a widget, click the widget in the listbox and then click the <b>Delete Widget</b> button.</p>
<p>Click <b>Close</b> to leave the Edit Custom Widgets dialog.</p>
<h5><a name="7-1-1"></a>The Definition Tab</h5>
<p align="center"><img align="middle" src="rd-cwidgdef.png" width="720" height="412">

@ -43,7 +43,7 @@ body { background: #ffffff; color: black; }
<p align="center"><img align="middle" src="qd-mainwinwzdpage2.png" width="658" height="418">
</p>
<h4><a name="2-2"></a>Setup Toolbar</h4>
<p>The 'Setup Toolbar' wizard page is used to populate a toolbar with actions from each of the default action categories. Click the Category combobox to select which set of actions you wish to work on. The Actions listbox lists the actions available for the current category. The Toolbar listbox lists the toolbar buttons you want to create. Click the blue left and right arrow buttons to move actions into or out of the Toolbar list box. Click the blue up and down arrow buttons to move actions up and down within the Toolbar list box. Note that the '&lt;Separator&gt;' item in the Actions list box may be moved to the Toolbar list box as often as retquired and will cause a separator to appear in the finished toolbar.</p>
<p>The 'Setup Toolbar' wizard page is used to populate a toolbar with actions from each of the default action categories. Click the Category combobox to select which set of actions you wish to work on. The Actions listbox lists the actions available for the current category. The Toolbar listbox lists the toolbar buttons you want to create. Click the blue left and right arrow buttons to move actions into or out of the Toolbar list box. Click the blue up and down arrow buttons to move actions up and down within the Toolbar list box. Note that the '&lt;Separator&gt;' item in the Actions list box may be moved to the Toolbar list box as often as required and will cause a separator to appear in the finished toolbar.</p>
<p>Click <b>Back</b> if you want to return to the 'Choose available menus and toolbars' wizard page. Click <b>Finish</b> to populate the main window and to exit the wizard. Click <b>Cancel</b> on any of the wizard pages to leave the wizard without making any changes.</p>
<h3><a name="3"></a>Data Table Wizard</h3>
<p>The Data Table Wizard is automatically invoked by clicking the datatable widget and placing it on the form. The datatable widget is used to create tabular views of database data.</p>

@ -123,7 +123,7 @@ body { background: #ffffff; color: black; }
** and the KDE Free TQt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing retquirements will be met:
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:
@ -185,7 +185,7 @@ body { background: #ffffff; color: black; }
</pre>
<a name="exportmacro"></a><h4><a name="1-7"></a>exportmacro</h4>
<p>This tag is only relevant to Windows users.</p>
<p>If you have a class that retquires some Windows-specific export macro, e.g. for classes in a DLL that need to be declared like this: <tt>class win_specific_declaration_goes_here Class</tt>, you can use the <tt>&lt;exportmacro&gt;</tt> tag. (In standard TQt we use the <tt>Q_EXPORT</tt> macro, e.g. <tt>class Q_EXPORT TQWidget</tt>.) If you use this tag you must also:</p>
<p>If you have a class that requires some Windows-specific export macro, e.g. for classes in a DLL that need to be declared like this: <tt>class win_specific_declaration_goes_here Class</tt>, you can use the <tt>&lt;exportmacro&gt;</tt> tag. (In standard TQt we use the <tt>Q_EXPORT</tt> macro, e.g. <tt>class Q_EXPORT TQWidget</tt>.) If you use this tag you must also:</p>
<ol type=1><li><p><a href="designer-manual-16.html#1-11">include</a> the file which contains the macro definition;</p>
<li><p>add the export macro to the form -- this is achieved by entering the macro's name in the 'export macro' sub-property of the form's name property.</p>
</ol><p>Following these steps will ensure that <a href="uic.html">uic</a> will create the correct <tt>class YOUR_MACRO Form</tt> declarations.</p>

<
@ -87,7 +87,7 @@ body { background: #ffffff; color: black; }
<p align="center"><img align="middle" src="mw-menuwiz.png" width="616" height="420">
</p>
<blockquote><p align="center"><em>Main Window Wizard- Choosing menus and toolbars</em></p></blockquote>
<li><!-- index Creating Toolbars --><!-- index Toolbars, Creating --><!-- index Toolbar Buttons!Adding --><!-- index Adding!Toolbar Buttons --><!-- index Separator!Menu item --><!-- index Separator!Toolbar button --><p>The <em>Setup Toolbar</em> wizard page is used to populate a toolbar with actions from each of the default action categories. The Category combobox is used to select which set of actions you wish to choose from. The Actions list box lists the actions available for the current category. The Toolbar listbox lists the toolbar buttons you want to create. The blue left and right arrow buttons are used to move actions into or out of the Toolbar list box. The blue up and down arrow buttons are used to move actions up and down within the Toolbar list box. Note that the '&lt;Separator&gt;' item in the Actions list box may be moved to the Toolbar list box as often as retquired and will cause a separator to appear in the finished toolbar.</p>
<li><!-- index Creating Toolbars --><!-- index Toolbars, Creating --><!-- index Toolbar Buttons!Adding --><!-- index Adding!Toolbar Buttons --><!-- index Separator!Menu item --><!-- index Separator!Toolbar button --><p>The <em>Setup Toolbar</em> wizard page is used to populate a toolbar with actions from each of the default action categories. The Category combobox is used to select which set of actions you wish to choose from. The Actions list box lists the actions available for the current category. The Toolbar listbox lists the toolbar buttons you want to create. The blue left and right arrow buttons are used to move actions into or out of the Toolbar list box. The blue up and down arrow buttons are used to move actions up and down within the Toolbar list box. Note that the '&lt;Separator&gt;' item in the Actions list box may be moved to the Toolbar list box as often as required and will cause a separator to appear in the finished toolbar.</p>
<p>Copy the New, Open, and Save Actions to the Toolbar list box. Copy a &lt;Separator&gt; to the Toolbar list box. Change the Category to Edit and copy the Cut, Copy, and Find actions to the Toolbar list box. Click <b>Next</b> and then click <b>Finish</b>.</p>
<p>Click <b>File|Save</b> and save the form as <tt>mainform.ui</tt>.</p>
<p align="center"><img align="middle" src="mw-settoolwiz.png" width="616" height="420">
@ -126,8 +126,8 @@ body { background: #ffffff; color: black; }
<p align="center"><img align="middle" src="mw-objexplor.png" width="328" height="465">
</p>
<blockquote><p align="center"><em>Object Explorer</em></p></blockquote>
<!-- index Code Editing --><!-- index Subclassing --><!-- index Forward declarations --><!-- index Includes --><!-- index Adding!Code --><!-- index Adding!Forward declarations --><!-- index Adding!Includes --><!-- index Adding!Class variables --><!-- index Class variables --><!-- index Deleting!Forward declarations --><!-- index Deleting!Includes --><!-- index Deleting!Class variables --><!-- index Forms!Forward declarations --><!-- index Forms!Class variables --><!-- index Forms!Code editing --><!-- index Forms!destructor --><!-- index Forms!constructor --><p>In the original version of <em>TQt Designer</em> if you wanted to provide code for a form you had to subclass the form and put your code in the subclass. This version fully supports the subclassing approach, but now provides an alternative: placing your code directly into forms. Writing code in <em>TQt Designer</em> is not quite the same as subclassing, for example you cannot get direct access to the form's constructor or destructor. If you need code to be executed by the constructor create a slot called<!-- index init() --> <tt>void init()</tt>; if it exists it will be called from the constructor. Similarly, if you need code to be executed before destruction create a slot called<!-- index destroy() --> <tt>void destroy()</tt>. You can also add your own class variables which will be put in the generated constructor's code, and you can add forward declarations and any includes you retquire. To add a variable or declaration, right click the appropriate item, e.g. Class Variables, then click <b>New</b> then enter your text, e.g. <tt>TQString m_filename</tt>. If one or more items exist, right click to pop up a menu that has New, Edit and Delete options. If you want to enter multiple items, e.g. multiple include files or multiple data members, it is easiest to right click in the relevant section, then click <b>Edit</b> to invoke an Edit dialog. To edit code, just click the name of a function to invoke the code editor. Code editing and creating slots are covered later in the chapter.</p>
<!-- index Subclassing --><p>If you subclass the form you create your own<!-- index .cpp --> <tt>.cpp</tt> files which can contain your own constructor, destructor, functions, slots, declarations and variables as your retquirements dictate. (See <a href="designer-manual-6.html#1">Subclassing</a> for more information.)</p>
<!-- index Code Editing --><!-- index Subclassing --><!-- index Forward declarations --><!-- index Includes --><!-- index Adding!Code --><!-- index Adding!Forward declarations --><!-- index Adding!Includes --><!-- index Adding!Class variables --><!-- index Class variables --><!-- index Deleting!Forward declarations --><!-- index Deleting!Includes --><!-- index Deleting!Class variables --><!-- index Forms!Forward declarations --><!-- index Forms!Class variables --><!-- index Forms!Code editing --><!-- index Forms!destructor --><!-- index Forms!constructor --><p>In the original version of <em>TQt Designer</em> if you wanted to provide code for a form you had to subclass the form and put your code in the subclass. This version fully supports the subclassing approach, but now provides an alternative: placing your code directly into forms. Writing code in <em>TQt Designer</em> is not quite the same as subclassing, for example you cannot get direct access to the form's constructor or destructor. If you need code to be executed by the constructor create a slot called<!-- index init() --> <tt>void init()</tt>; if it exists it will be called from the constructor. Similarly, if you need code to be executed before destruction create a slot called<!-- index destroy() --> <tt>void destroy()</tt>. You can also add your own class variables which will be put in the generated constructor's code, and you can add forward declarations and any includes you require. To add a variable or declaration, right click the appropriate item, e.g. Class Variables, then click <b>New</b> then enter your text, e.g. <tt>TQString m_filename</tt>. If one or more items exist, right click to pop up a menu that has New, Edit and Delete options. If you want to enter multiple items, e.g. multiple include files or multiple data members, it is easiest to right click in the relevant section, then click <b>Edit</b> to invoke an Edit dialog. To edit code, just click the name of a function to invoke the code editor. Code editing and creating slots are covered later in the chapter.</p>
<!-- index Subclassing --><p>If you subclass the form you create your own<!-- index .cpp --> <tt>.cpp</tt> files which can contain your own constructor, destructor, functions, slots, declarations and variables as your requirements dictate. (See <a href="designer-manual-6.html#1">Subclassing</a> for more information.)</p>
</blockquote>
<h4><a name="4-3"></a>Adding Custom Actions</h4>
<p>We want to provide the user with actions that are specific to our application. We want to provide the ability to switch between the two views we will be offering, and allow the user to add colors and set their preferred options. We'll prepare the way by creating a new menu for the view options and by adding a separator to the toolbar.</p>
@ -301,7 +301,7 @@ body { background: #ffffff; color: black; }
<p align="center"><img align="middle" src="mw-conn4.png" width="600" height="407">
</p>
<h4><a name="6-5"></a>Editing the Code: Setting Up</h4>
<p>There is quite a lot of code to include in the application, but this does not mean that a lot of typing is retquired! All the code is reproduced here so, if you're reading an electronic copy, you can simply cut and paste. If you're reading a print copy, all the code is provided in <tt>/tools/designer/examples/colortool</tt>; simply open the relevant <tt>.ui.h</tt> files and copy and paste from there into your own version of the project.</p>
<p>There is quite a lot of code to include in the application, but this does not mean that a lot of typing is required! All the code is reproduced here so, if you're reading an electronic copy, you can simply cut and paste. If you're reading a print copy, all the code is provided in <tt>/tools/designer/examples/colortool</tt>; simply open the relevant <tt>.ui.h</tt> files and copy and paste from there into your own version of the project.</p>
<blockquote>
<p align="center"><b> Cutting &amp; Pasting Into the Code Editor</b></p>
<p>If you cut and paste code from this manual, because we've indented the code for readability, the code will be over-indented in <em>TQt Designer</em>. This is easily solved. Simply select the function containing the pasted code (either with the mouse, or <b>Shift+Arrow</b>s) and press <b>Tab</b>: this will make <em>TQt Designer</em> fix the indentation. Note that you must select the <em>entire</em> function, including its name and parameters.</p>
@ -421,7 +421,7 @@ body { background: #ffffff; color: black; }
}
}
</pre>
<p>This function is at the heart of the application. It visually presents the data to the user. If the table is "dirty" (e.g. if the user has added or deleted colors in the icon view, or has opened a color file) we will populate the table. We start by deleting the contents of every cell. Next we change the number of rows to equal the number of colors in the colors map. For each color we want to display a little square that shows the color, so we create a pixmap of the retquired size.</p>
<p>This function is at the heart of the application. It visually presents the data to the user. If the table is "dirty" (e.g. if the user has added or deleted colors in the icon view, or has opened a color file) we will populate the table. We start by deleting the contents of every cell. Next we change the number of rows to equal the number of colors in the colors map. For each color we want to display a little square that shows the color, so we create a pixmap of the required size.</p>
<p>We now create an iterator for our colors map, and iterate over every color. The colors map has the user's color names as its keys, and <a href="qcolor.html">TQColor</a> instances as values. We retrieve the color and fill our pixmap with that color. We then set the "Name" column (column <tt>COL_NAME</tt>), to have the color's name (<tt>it.key()</tt>) and the pixmap we've just filled with that color. <a href="qcolor.html">TQColor</a>'s <tt>name()</tt> function returns a string that is the hex representation of a color, e.g. "#12AB2F"; we retrieve this and set the second ("Hex") column to this value.</p>
<p>If the user wants to see if which colors are web colors we create a <a href="qchecktableitem.html">TQCheckTableItem</a>, and check it if it is a web color. (We'll cover <tt>isWebColor()</tt> shortly.) We then insert this <a href="qchecktableitem.html">TQCheckTableItem</a> into the "Web" column.</p>
<p>Having populated the table we call <tt>adjustColumn()</tt> to ensure that each column is just wide enough to show its widest entry, and show or hide the "Web" column depending on the user's preference.</p>
@ -762,7 +762,7 @@ Captures: cap(1) cap(2) cap(3) cap(4)
<p>This is the second revision of this function. Now we only exit if the user has had the opportunity to save any unsaved changes. (We'll make a third and final version of this function later, when we deal with saving user settings.)</p>
<p>Try making and running the program. If you have <tt>rgb.txt</tt> on your system try loading it and saving it under a new name for testing purposes. If you don't have this file, save the standard colors and use those. In the next section we'll cover adding and deleting colors so that you can create your own color files. (If it doesn't build see the <a href="designer-manual-4.html#6">Troubleshooting</a> section.)</p>
<h4><a name="6-28"></a>Editing the Code: The Edit Options</h4>
<p>Adding a new color, finding a color and handling user options all retquire custom dialogs, so we'll defer them until chapter three when we deal with dialogs.</p>
<p>Adding a new color, finding a color and handling user options all require custom dialogs, so we'll defer them until chapter three when we deal with dialogs.</p>
<h4><a name="6-29"></a>editCut()</h4>
<pre> void MainForm::editCut()
{