Qt Architect (formerly known as the Qt Dialog Editor or dlgedit)

by: 	Jeff Harris (jtharris@primenet.com)  and 
	Klaus Ebner (klaus@gaspode.ndh.com)

Introduction:


	Qt Architect is a graphical dialog editor for the Qt widget set.
It allows for the graphical creation and placement of widgets onto a
dialog.  Various properties for the widget can also be set.  Widgets
may be mapped to variables so that you can control them once the
dialog is launched.  After the dialog is created on the screen, the
files for the dialog are created.  


Compilation and Installation:

	To compile Qt Architect, the following are needed:

		Qt 1.31
		gmake, GNU's make
		flex 
		a C++ compiler


	Currently, a source code distribution is available as well as
a Linux binary.  Simply uncompress and untar the file.  It will create
a Qt Architect directory and several sub-directories.

	To build Qt Architect, edit Makefile.common to update the necessary
paths and run make depend and then make in the Qt Architect directory.  The
makefiles in the directories currently compile with debugging
information.  As a result, a lot of disk space, over 30 Megs, is used,
so be forewarned.  The Qt Architect executable, qtarch, is between 6 and 8 Megs
unstripped.

	To install Qt Architect, edit the Makefile to change INSTALLDIR to
where you want Qt Architect to be installed to.  By default, it installs
the executable in /usr/local/bin and other files in
/usr/local/lib/qtarch.  Run make install to perform the installation.


Running Qt Architect:


	After Qt Architect is built, it can be run by executing qtarch.
The program should be run from within the directory that you want the
generated source files to be created.  This behavior will be changed
soon.  Any dialog files on the command line will be opened automatically.
Also, if the option '-g' is given, the dialog files on the command line
will have their source files generated.

	To add widgets to your dialog, select the New menu item and
then the type of widget you wish to create or use the toolbar.  The widget
will appear in the upper-left corner of the dialog.  The widget can be
moved by clicking and dragging while the cursor is the cross hairs.
Clicking and dragging over one of the eight greyed boxes will cause
the widget to be resized.  Multiple widgets can be selected and manipulated 
by holding down the control key while selecting and moving.

	Properties for the widget can be changed by selecting the
widget, clicking on it, and then choosing the Options->Properties menu
item.  Alternatively, you can right mouse click on widget to bring up
a menu and select Properties.  Once the properties dialog is opened,
use the Attribute type combo box to select which type of properties to
change.  When all your changes are finished, press OK.

	The size of the dialog itself can be changed by clicking on
the background and resizing the window.    

	The layout for the widgets initially has a 10 pixel grid that
the widgets snap to.  This behavior can be changed by selecting the
Options->Grid menu item.

	Information about the files to be generated must be entered.
Open the property dialog for the dialog window and go to the File
Generation page.  In the first edit box, type in the name for your
class.  The other fields will be filled in with some
default values.  These can be changed at will.  The Dialog data class
name is the name of the class that will contain members for your
mapped widgets.  The dialog class is derived from its data
class.   The data class can no longer be a member of the dialog class,
as in previous versions since signal/slot connections wouldn't work.
To see an example of how the files interact, see the source for
Qt Architect, especially the prop directory which contains all the property
dialogs used.

	To generate the files, select Dialog->Generate Files from the
dialog window.  You will be prompted to generate either the dialog
class or its data or both.  If Qt Architect finds the dialog class files,
it will not overwrite them by default since you will probably add code
to the files.  Buttons contained inside of a QButtonGroup will be automatically
inserted into the group.  The buttons must have variables mapped to them.

	File saving and loading works as you might expect it to.
There is no warning, yet, about exiting with unsaved changes.  Qt Architect
saves to .dlg files for dialogs and .prj for projects.  These files
are text files that contain all the information needed for your
widgets.  It is safe to modify these files on your own, but I do not
recommend it.


Bug reports:


	If you should happen to find a bug in Qt Architect, please send me,
Jeff, a report and possible a patch if you feel up to it.  


Contributions:

	
	If you would like to contribute to Qt Architect, please do so.  I
ask that you contact me before starting on a feature to make sure no
one else is working on it.  A list of things that need to be done are
in the file TODO, but don't feel limited to just those.


License and copyright:


	We, Jeff Harris and Klaus Ebner, are the owner of the source for
Qt Architect.  We intend for the source to remain freely available to the Qt
community.  Qt Architect is distributed under the Gnu General Public
License.  Qt Architect can be freely distributed, providing that this file
be contained in the distribution.
