* contrib/hbqt/qtcore/*.cpp
* contrib/hbqt/qtgui/*.cpp
* contrib/hbqt/qtnetwork/*.cpp
! Regenerated sources with changes in logging format and addition.
* contrib/hbqt/generator/hbqtgen.prg
* contrib/hbqt/qth/QList.qth
* contrib/hbqt/qth/QObject.qth
* Re0generated: contrib/hbqt/qtgui/?.cpp
* Re-generated: contrib/hbqt/qtcore/?.cpp
+ Eliminated any occurance of hb_retptr(*) calls.
Now all objects which are created with "new" or are
returned as a method call are encapsulated in GC
pointer. This is a step closer to find-out the potential
GPFs.
* contrib/hbqt/generator/hbqtgen.prg
* contrib/hbqt/hbqt_garbage.h
* contrib/hbqt/hbqt_hbevents.cpp
* contrib/hbqt/hbqt_hbevents.h
* contrib/hbqt/hbqt_hbqmainwindow.cpp
* contrib/hbqt/hbqt_hbslots.cpp
+ contrib/hbqt/qth/HBQMainWindow.qth
* contrib/hbqt/tests/demoqt.prg
* contrib/hbxbp/hbpprocess.prg
* contrib/hbxbp/xbp3state.prg
* contrib/hbxbp/xbpbrowse.prg
* contrib/hbxbp/xbpcheckbox.prg
* contrib/hbxbp/xbpcombobox.prg
* contrib/hbxbp/xbpdialog.prg
* contrib/hbxbp/xbpfiledialog.prg
* contrib/hbxbp/xbpfontdialog.prg
* contrib/hbxbp/xbphtmlviewer.prg
* contrib/hbxbp/xbplistbox.prg
* contrib/hbxbp/xbpmenubar.prg
* contrib/hbxbp/xbpprintdialog.prg
* contrib/hbxbp/xbprtf.prg
* contrib/hbxbp/xbpscrollbar.prg
* contrib/hbxbp/xbpsle.prg
* contrib/hbxbp/xbpspinbutton.prg
* contrib/hbxbp/xbpstatusbar.prg
* contrib/hbxbp/xbptabpage.prg
* contrib/hbxbp/xbptoolbar.prg
* contrib/hbxbp/xbptreeview.prg
* contrib/hbxbp/xbpwindow.prg
* contrib/hbide/hbide.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideeditor.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/ideprojmanager.prg
* contrib/hbide/idethemes.prg
! This commit has cleaned Qt wrappers not to
hold any GC collectible pointer inside. Events
and Slots protocol is completely re-structured.
% Improved HB_TRACE() logs. Now Qt wrappers can be
generated with relevant filter if env variable
HBQT_BUILD_TR_LEVEL=HB_TR_ALWAYS|ERROR|etc
defalt being TR_LEVEL_DEBUG. The formatting is
also improved.
% Signals are fired with exact same parametres
found in Qt documentation. Eearlier first parameter
was object pointer followed by slots's parameters.
This facilitates for the speed and better code
maintenance.
! Intensive debugging has shown that - operator new() -
is always called from cpp stub generated by hbMK2
but for operater delete(), behavior is inconsistent.
All classes derived from QObject() never call delete()
in the stub, some classes, which Qt defines as "on the
stack" call our stub and hence memory is released.
Perhaps this is the main reason, I cannot get back
all the momory if another dialog is opened and closed.
All claases which are derived from Qt class, viz., HbQ*
are released properly. Looking at this behavior it
comes to mind if all classes are sub-classed? A very
huge job nevertheless which I may take later.
* contrib/hbqt/qtcore/*.cpp
* contrib/hbqt/qtgui/*.cpp
* contrib/hbqt/qtnetwork/*.cpp
;NOTE : Regression is possible. Please report any issues.
* contrib/hbqt/hbqt.h
* contrib/hbqt/hbqt_base.cpp
* contrib/hbqt/hbqt_destruct.cpp
* contrib/hbqt/hbqt_garbage.h
* contrib/hbqt/hbqt_hbdbfmodel.cpp
* contrib/hbqt/hbqt_hbevents.cpp
* contrib/hbqt/hbqt_hbevents.h
* contrib/hbqt/hbqt_hbqsyntaxhighlighter.cpp
* contrib/hbqt/hbqt_hbqsyntaxhighlighter.h
* contrib/hbqt/hbqt_hbqtableview.cpp
* contrib/hbqt/hbqt_hbslots.cpp
* contrib/hbqt/hbqt_hbslots.h
* contrib/hbqt/qth/HBQTextBlockUserData.qth
* contrib/hbqt/qth/QAbstractItemModel.qth
* contrib/hbqt/qth/QSyntaxHighlighter.qth
* contrib/hbqt/qth/QTableView.qth
+ contrib/hbqt/qth/HBQTableView.qth
+ contrib/hbqt/qth/HBDbfModel.qth
+ contrib/hbqt/qth/HBQSyntaxHighLighter.qth
+ Separated parts to auto/static generation.
+ contrib/hbqt/qth/HBEvents.qth
+ contrib/hbqt/qth/HBSlots.qth
+ Prepared to bring Events/Slots management on OO level.
Stll not activated as I have some technical issues on
c++ level. Just a matter of time...
* contrib/hbqt/generator/hbqtgen.prg
* contrib/hbqt/generator/qt45.qtp
+ This commit is generally towards separation of static/auto
generated parts of classes which has been hanging in for
manual updates to the structures indivisually if changes
were made effective overhaul.
* contrib/hbqt/qtcore/*
* contrib/hbqt/qtgui/*
* contrib/hbqt/qtnetwork/*
* contrib/hbqt/generator/hbqtgen.prg
* contrib/hbqt/generator/qt45.qtp
* contrib/hbqt/hbqt.h
* contrib/hbqt/hbqt_base.cpp
* contrib/hbqt/hbqt_garbage.h
* contrib/hbqt/hbqt_hbdbfmodel.cpp
* contrib/hbqt/hbqt_hbevents.cpp
* contrib/hbqt/hbqt_hbqmainwindow.cpp
* contrib/hbqt/hbqt_hbqsyntaxhighlighter.cpp
* contrib/hbqt/hbqt_hbqsyntaxhighlighter.h
* contrib/hbqt/hbqt_hbqtableview.cpp
* contrib/hbqt/hbqt_hbslots.cpp
+ contrib/hbqt/qth/HBQTextBlockUserData.qth
* contrib/hbqt/qth/QAbstractTextDocumentLayout.qth
* contrib/hbqt/qth/QApplication.qth
* contrib/hbqt/qth/QClipboard.qth
* contrib/hbqt/qth/QComboBox.qth
* contrib/hbqt/qth/QCursor.qth
* contrib/hbqt/qth/QDragEnterEvent.qth
* contrib/hbqt/qth/QDragLeaveEvent.qth
* contrib/hbqt/qth/QDropEvent.qth
* contrib/hbqt/qth/QFocusEvent.qth
* contrib/hbqt/qth/QGradient.qth
* contrib/hbqt/qth/QKeyEvent.qth
* contrib/hbqt/qth/QLabel.qth
* contrib/hbqt/qth/QLayoutItem.qth
* contrib/hbqt/qth/QLineEdit.qth
* contrib/hbqt/qth/QMoveEvent.qth
* contrib/hbqt/qth/QPaintDevice.qth
+ contrib/hbqt/qth/QPaintEngine.qth
* contrib/hbqt/qth/QPrintEngine.qth
* contrib/hbqt/qth/QResizeEvent.qth
* contrib/hbqt/qth/QSplitter.qth
* contrib/hbqt/qth/QStandardItemModel.qth
* contrib/hbqt/qth/QStyleHintReturn.qth
* contrib/hbqt/qth/QStyleHintReturnMask.qth
* contrib/hbqt/qth/QStyleHintReturnVariant.qth
* contrib/hbqt/qth/QTextBlock.qth
* contrib/hbqt/qth/QTextCursor.qth
+ contrib/hbqt/qth/QTextList.qth
* contrib/hbqt/qth/QWheelEvent.qth
* contrib/hbqt/qth/QWidget.qth
* contrib/hbqt/tests/demoqt.prg
* contrib/hbxbp/tests/demoxbp.prg
* contrib/hbxbp/xbpgeneric.prg
* contrib/hbxbp/xbpmenubar.prg
* contrib/hbqt/qtcore/*.cpp
* contrib/hbqt/qtgui/*.cpp
* contrib/hbqt/qtnetwork/*.cpp
! This commit change some rules to parse .qth files to
prepare the wrappers to be encapsulated in hb_retptrGC
envelop. It also attempts to pin-point the spots where
mem-leak could occur. Only very few calls are left to
plain hb_retptr() which eventually will be handled
the other way.
Only delete ( Q* ) p; is retained. Other two methods are
eliminated. Demos are updated to respect it.
demoQT and demoXBP now consume very less memory when new
dialogs are opened. It means memory management has
improved with this commit. Anyhow still I can see
memory growing specially in browser navigation. As I
remember sometime in past I could manage the sonstant memory,
but now I do not remember at what stage we were on Qt.
Though all the three variants, demoQT, demoXBP, hbIDE are
working properly, still there could be regression, please test.
* contrib/hbqt/generator/hbqtgen.prg
! Fixed to use 'hbqt_gcRelease_*' instead of 'release_*' names
for public release callbacks.
* contrib/hbqt/qth/QApplication.qth
! Fixed static vars to be prefixed with s_.
* contrib/hbqt/*
* Regenerated.