* 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/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/generator/qt45.qtp
+ contrib/hbqt/qth/HBQPlainTextEdit.qth
* contrib/hbqt/qth/QApplication.qth
* contrib/hbqt/qth/QPlainTextEdit.qth
* contrib/hbqt/qtgui/filelist.mk
* contrib/hbqt/qtgui/QApplication.cpp
* contrib/hbqt/qtgui/QPlainTextEdit.cpp
+ contrib/hbqt/qtgui/HBQPlainTextEdit.cpp
+ contrib/hbqt/qtgui/THBQPlainTextEdit.prg
* contrib/hbqt/filelist.mk
* contrib/hbqt/hbqt.h
* contrib/hbqt/hbqt_garbage.h
* contrib/hbide/hbide.prg
* contrib/hbide/ideactions.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideeditor.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/ideobject.prg
* contrib/hbide/ideprojmanager.prg
* contrib/hbide/idesources.prg
+ Added HBQPlainTextEdit() class which implements some constructs
which were not possible in pure prg code. The underlying code has
been borrowed from TextEdit.c of QWriter - a work of
Gancov Kostya <kossne@mail.ru>, a big thank you. The code has been
extensively formatted and changed to adopt to Harbour standards.
The direct benefits by adopting this class are:
:
* Current line highlighting is absolutely ok now.
* Line numbers display is extremely fast and optimized.
* Book-marks are shown at the left of line-numbers.
* Parenthesis matching is absolutely delightful.
* To Upper/Lower implementation is accurate spanning many lines.
* Stream commenting is made possible.
* Book-marks management is smooth.
In IDE book-marks are implemented in different way than
most IDE's offer. Here is the description:
* Click on "Toggle Mark" icon on the toolbar.
* A small dot will appear on the left of current line.
* Look at status-bar, a small colored pushbutton will appear.
* Navigate the document as usual.
* Click on the colored push button staying in statusbar.
* The editing cursor will stay at book-mark represented by
that colored button and current line will appear highlighted
with the same color as that of button.
* Navigate to another location and click again on "Toggle Mark" icon.
* A new dot and one more colored button will appear in the statusbar.
* You can create 6 book marks as such and all will have different colors.
* You can click on any of desired usage.
* To delete a book-mark click on the button then "Toggle Mark"
* One button at the right will disappear.
* All tabs will contain their own book-marks.
* And every split window will have its own.
* Navigating different tabs or split windows will rearrange the
buttons according to its own settings.
; QUESTION : Is it worth the effort to save book-marks settings for next session?
* 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
* contrib/hbqt/qth/QTextCodec.qth
* contrib/hbqt/qtcore/*
* contrib/hbqt/qtgui/*
* contrib/hbqt/qtnetwork/*
+ Implemented Linguistic Translation Mechanism base call.
The next step is to feed translations into Qt's engine.
This means any string sent to QWidgets will be translated
through the language set with hbqt_SetCodecForTr( cCodec ).
The translated string is in the context of the widget it
is being applied to.
TODO: Feed the translations from outer source.
* 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.
* INSTALL
+ Added more generic link for QT OSS downloads.
* contrib/hbqt/*
* Regenerated.
(Please list only '* contrib/hbqt/*' to avoid growing ChangeLog
with several hundred entries each time the generator changes)
* contrib/hbide/hbide.prg
* contrib/hbqt/generator/qt45.qtp
* contrib/hbqt/hbqt.h
* contrib/hbqt/hbqt_garbage.h
* contrib/hbqt/qtgui/filelist.mk
+ contrib/hbqt/qtgui/QPlainTextEdit.cpp
+ contrib/hbqt/qtgui/TQPlainTextEdit.prg
+ contrib/hbqt/qth/QPlainTextEdit.qth
* contrib/hbxbp/xbplistbox.prg
* contrib/hbxbp/xbptabpage.prg
+ Added QPlainTextEdit class.
This class is now used in HBIDE instead of QTextEdit as it is
highly optimized for large text documents and is considerably faster.
+ Implemented tooltips for XbpListBox() class while mouse is hovered
upon an item. The expression is manifest i HBIDE's <Function List> exactly
as is with xMate.