COMPONENTS
Previous
Next
A component is anything you see while in the layout area of QtEZ, including the
top level component who parents the others. A component
will change the cursor based on what action you will take on it, they can be
resized and moved (obvious from the cursor shape). A selected component will
have 8 squares surrounding the border of the component. By clicking on one it
becomes the active component so it can have its
source or attributes modified. You can
delete a component by hitting delete upon activating the component you wish
to delete. To switch through focus you can tab through the components on your
layout screen. By clicking on a component with left mousebutton you bring the
component to the top of the heap (making it all visible), however at sometimes
it may be desired to send it to the back, to do this click with the middle
mouse button (left+right chord on some computers) or alt+b. If you can right
click on one to bring up a menu of options, including getting information about
the component. Especially interesting if curious who made a third party dynamic
library for QtEZ. You can 'lock down' a component onto a dialog, so you won't
accidently move it this, however, will not result in a unmovable object at runtime
it is simply a means to prevent movement in the QtEZ environment.
The toolbar (from the menubar click windows |
toolbar) will drop components onto the top most top level component. There are
not all Qt widgets available, yet. Work will
be put into implimenting more in the near future. There are now images on the
ToolBar, this is so I can fit more onto it - you'll find there are popup's
describing what each image represents. To use the new toolbar you will need to
either: double click on an image, this will pop an image onto the current parent
in a default location, or you can push a button so it's in and then draw a square
on the parent you want it to go on, and the new component will take on those
dementions.
The images on the toolbar were created & donated by
Ionut Borcoman.
You can align children components to a snap-to by changing the snap-to attribute
in the attribute table of one of the top level components. Each component is
unique and will display a facsimile of the widget inside the component (with
the exception of certain ones which display just a graphical representation
of a widget that will not later be seen in the finished program).
To dump the source code of a component to file (c++ is currently the only
supported
language) you select on the menubar file | save as source, this will bring up
the source saving dialog. The dialog has two text boxes you can type in, the top
one is the directory to store the object in. The second is to type the class
name in. QtEZ will guess at the most reasonable file names (namely
entered_class_name.h and .cpp) if these files exist then it will ask to overwrite
and will allow you to give a new filename if not. You can tell which component
it is asking about based on the label at top which displays the name of the
component effected by your response. The top most widget (first on
the lists in the source editor or attribute editor) will ask a path like
described above but it's path will also be where it will put main.h, main.cc,
and the Makefile. main.h contents are available in the
globals editor. It will also ask to overwrite
these files at the end.
All components have a name attribute on the attribute dialog, and it is
designed so that this name will be unique to each and every component in a
project, however if you choose a name that already exists, then a dialog will
popup asking if you wish to make this name an array, if you chose yes then this
and all elements with that same name will fall into an array, in order of
creation. Each item remains a pointer though, just falls under the same name
with it's indicated index in its name.
Components can be dynamically included now. To do this you need to create a
file in your QtEZ temp directory (~/QtEZ/) called .QtEZLd in this file you will
list each component you are adding one per line in the syntax:
string;/path/to/file.qtl
string being what you wish
it to be titled on the toolbar, and the path is the place where the shared
component library can be found. More technical issues on creating components
will be completed at some point - if this is of great interest to you, then
please contact the author he would love to have some input as what to create
and/or help completing the task of making this a full development environment.
There are currently two dynamic components being distributed with QtEZ, both
of which deal with sockets. There is a wizard coming along for easily creation
of components.
Any component can be another component's parent. This allows you to move just
the parent component all it's children will have geometry in releation to
the parents, allowing easy manipulation of sets of widgets.