Changes for build 098
Third version of HBasic object model.
One major problem in the last two version was handling widgets in the
object tree correctly. The problem was that a widget had to be derived
from one parent widget to be displayed on the screen and one
parent in the HBasic object tree.
In the first version (0.9.6) I tried to declare a special class
HBObject (which had been derived from QObject) to manage the properties,
methods and events of the objects. This fails because Qt widgets are
also derived from QObject. Inheriting some class in my HBObject model
two times from QOBject leads to different problems handling the methods
and properties.
In the second version I tried to use QObject as a base class for all
classes in the HBObject model. Subobjects and list of objects (like all
projects or reports) have been stored as children in the QOBject
structure. The problem here was that Qt tries to create and manage
children of the QObject class itself for complex widgets like QListView,
QTabView, QScrollView and some other.
In the current version everything seems to work correctly and I
therefore hope there will be no more changes in the base structure of
the HBObject mode. There are still many changes in the objects of the
HBasic IDE itself before they may all be used as objects within HBasic.
The following image shows the updated package manager which displays a
part of the HBasic object tree.
New types of database queries
Queries may not only select data but also insert, update or delete rows
of data within a database table. One open problem here is how to handle
the different SQL statements required by different databases to create a
new table or insert new data into an existing table. If anybody can tell
me which SQL statement doesn't work or which I should use for a special
database backend send me an E-mail.
Created new widget for sheet editor
Previous versions of the sheet editor used the QTable widget from
the Qt library. Since I think that this widget was not flexible enough
to be prepared for future changes I have started to implement my own
table widget to edit sheet data.
Click the right mouse button within the sheet editor to start one of
the new edit functions for the sheet.