* contrib/hbxbp/xbpparthandler.prg
* contrib/hbxbp/xbpwindow.prg
+ Implemented: Xbase++ compatible :moveWithOwner feature.
Any dialog with :moveWithOwner set to TRUE will move together
with its owner if user moves the window which owns them.
* contrib/hbqt/qtcore/qth/HBQEvents.qth
- Removed: tracelogs.
* contrib/hbqt/qtgui/hbqt_hbqabstractitemmodel.cpp
! Optimizations only.
* contrib/hbxbp/xbpbrowse.prg
* contrib/hbxbp/xbpdialog.prg
* contrib/hbxbp/xbpgeneric.prg
* contrib/hbxbp/xbpparthandler.prg
+ Implemented: Xbase++ compatible MDI engine.
Now Xbase++ code can be compiled and run with this feature, Shum ?
TODO: fix some small artifacts when XbpDialog() is made a MDI client.
Resuming it back to desktop it is ok.
* src/rtl/gtxwc/gtxwc.c
% undone small optimization in 2011-04-04 10:48 UTC+0200 Przemyslaw Czerpak
because it caused random app stalls where the app would only
continue if some input events were manually made. Cursor
blinking also only happened on input events.
I've seen this issue on Ubuntu 10.10 and latest OS X.
After this patch, it works OK again.
Przemek, please review this patch, most probably there is
a solution which keeps the optimization and avoids this problem.
* contrib/hbqt/qtcore/hbqtcore.h
* contrib/hbqt/qtgui/hbqt_hbqabstractitemmodel.cpp
* contrib/hbqt/qtgui/hbqtgui.h
! Updated: HBQT_TYPE_Q*Class with latest values.
* contrib/hbxbp/xbpbrowse.prg
! Optimized to hold QIcon's and QColor's in hashes.
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
! QEvent:Close now returns TRUE to the calling loop.
Now this is the responsibility of the user code to
set an event to be accepted or ignored.
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
! Restore the point of execution when QEvent::Close is set to
ignore(). This might have impact on user code where it is
set to any other value.
* contrib/hbqt/qtgui/qth/QColor.qth
! Fixed constructor.
TODO: to review constructor code in all .qth's.
* harbour/src/common/hbdate.c
! Fixed OS/2 compilation, it was not using gettimeofday() and so
hb_dateMilliSeconds() had a one second resolution effectively
killing thread switching.
* harbour/src/vm/hvm.c
* extended item references created by hb_vmPushItemRef() so they
can be used to create reference chain and detached in executed
PRG code. Such reference chain is cleanly break when original
reference item is removed from HVM stack.
* contrib/hbqt/qtgui/qth/HBQAbstractItemModel.qth
! Formatting.
* contrib/hbide/ideprojmanager.prg
! Fixed: to "build a source" witout any environment set.
Now hbmk2 is called from the folder where source
resides. This feature assumes that hbMK2 is
correctly executed, i.e., hbIDE is started from
a console which is tuned to that effect.
Alternatively, if a default project is defined,
current environment overrides the above protocol.
In the process hbmk.hbm residing in that folder
is processed as usual by hbMK2. It means, in a
folder one can keep all the source examples
alongwith a hbmk.hbm and build those sources
just by opening it.
* contrib/hbqt/qtcore/qth/HBQString.qth
* contrib/hbqt/qtcore/qth/QByteArray.qth
* contrib/hbqt/qtcore/qth/QLocale.qth
* contrib/hbqt/qtcore/qth/QVariant.qth
* contrib/hbqt/qtgui/qth/QLabel.qth
* contrib/hbqt/qtgui/qth/QLCDNumber.qth
* contrib/hbqt/qtgui/qth/QMatrix.qth
* contrib/hbqt/qtgui/qth/QPainter.qth
* contrib/hbqt/qtgui/qth/QTransform.qth
* contrib/hbqt/qtgui/qth/QWidget.qth
* contrib/hbqt/qtnetwork/qth/QHttp.qth
- Commented out: methods of duplicating parameters (Harbour types)
to go through the modified generator engine.
* contrib/hbqt/hbmk2_qt.hbs
! Restructured: c++ code which now handles arguments efficiently.
hbIDE seems to be working fine but regression cannot be ruled out.
NOTE: code is now less tolerent to number and type of arguments.
;TOREVIEW: all c++ source files one-by-one to detect wrong
constructs which might be waiting to be fixed.
* harbour/src/rtl/gtxwc/gtxwc.c
% small optimization
! added hack for multiple window resizing when user executes
series of setmode() function. I'll look for cleaner solution
in some spare time.
* contrib/hbqt/qtgui/hbqtgui.ch
+ Added: QFormLayout_* constants.
* contrib/hbqt/qtgui/qth/QWidget.qth
! Modified: :setParent( QWidget * w ) => :setParent( QWidget * w = 0 )
It is undocumented change but perhaps Qt has ommitted. Works fine.
So to set the parent of a widget to nil is now easier.
* contrib/hbqt/hbmk2_qt.hbs
! Code cleanup.
! Minor formatting.
! zimproved handelling of default parameters.
; ROUND # 1: More to follow.
* contrib/hbqt/hbmk2_qt.hbs
! Optimized: hb_itemReturn( hb_stackSelfItem() );
is now inserted at the end of multi-functions methods.
It will produce significantly reduced .cpp in size.
* contrib/hbqt/qtgui/hbqt_hbqgraphicsscene.cpp
* contrib/hbqt/qtgui/hbqt_hbqtableview.cpp
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
! Minor: class object encapsulated in new item.
* contrib/hbqt/qtcore/hbqt_pointer.cpp
! Minor optimization.
* contrib/hbqt/qtgui/qth/QBrush.qth
+ Added: some HBQT_TYPE_ constants which cannot be included
when generated auto.
* contrib/hbqt/qtgui/qth/QPainter.qth
! Started: to rewrite manually all classes as current
engine is not good enough to do it auto.
* contrib/hbide/hbqreportsmanager.prg
! Achieved: Reports Manager is reworking again.
* contrib/hbqt/hbmk2_qt.hbs
! Changed the way constant HBQT_TYPE_Q*Class was constructed.
Now Q*Class name is taken alone is submitted to hb_crc32().
* harbour/src/vm/itemapi.c
! fixed compilation in MT mode with some C compilers using
HB_STACK_TLS_PRELOAD
* updated also hb_itemParamStore() function to set NIL to item passed
by reference when is called with NULL pItem parameter.
* harbour/src/vm/itemapi.c
* set NIL to item passed by reference when hb_itemParamStoreForward()
or hb_itemParamStoreRelease() is called with NULL pItem parameter.
* harbour/contrib/hbnetio/netiosrv.c
! fixed possible memory leak when
NETIO_SRVSTATUS( ..., NETIO_SRVINFO_PEERADDRESS, ... )
is called without 3-rd parameter passed by reference
* harbour/examples/gtwvw/gtwvw.c
* replaced repeated TONE code with hb_gt_winapi_tone()
+ added MOUSE_GETPOS() method
* harbour/examples/gtwvw/wvwtbar.c
! fixed to compile with Harbour
* contrib/hbide/hbqreportsmanager.prg
* contrib/hbide/idedocks.prg
* contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.cpp
! Minors.
* contrib/hbqt/qtgui/qth/QPainter.qth
! Rewritten: manually :fillrect() which does not overload
proper method with same number and types of arguments.
TOFIX: hbmk2_qt.hbs to entertain this construct.
* contrib/hbqt/hbmk2_qt.hbs
* contrib/hbqt/qtcore/hbqt.h
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
* contrib/hbqt/qtcore/hbqt_pointer.cpp
* contrib/hbqt/qtcore/qth/HBQEvents.qth
* contrib/hbqt/qtcore/qth/HBQSlots.qth
* contrib/hbqt/qtgui/hbqt_hbqabstractitemmodel.cpp
* contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.cpp
* contrib/hbqt/qtgui/hbqt_hbqgraphicsscene.cpp
* contrib/hbqt/qtgui/hbqt_hbqplaintextedit.cpp
* contrib/hbqt/qtgui/hbqt_hbqtableview.cpp
* contrib/hbqt/qtgui/qth/HBQAbstractItemModel.qth
* contrib/hbqt/qtgui/qth/HBQGraphicsItem.qth
* contrib/hbqt/qtgui/qth/HBQGraphicsScene.qth
* contrib/hbqt/qtgui/qth/HBQPlainTextEdit.qth
* contrib/hbqt/qtgui/qth/HBQTableView.qth
! Fixed: implemented correct GC memory collection. Thanks to Przemek
to have shown me the way.
! Fixed: some code has been changed
PLEASE be sure to do a full "make clean" before compiling
* contrib/gtwvg/tests/demowvg.prg
* contrib/gtwvg/tests/wvgmodal.prg
* contrib/gtwvg/tests/wvgtbrowser.prg
* contrib/gtwvg/tests/wvgutilities.prg
! Fixed: many artifacts which got broken with GT changes
in a couple of years.
+ Added: a menu option which to execute a modal Harbour Gt
window on top of a GUI window.
+ contrib/gtwvg/tests/demowvg1.prg
+ Added: a highly simplified demo for beginners to understand
the underlying concepts how GUI controls can be exploited
with CUI output. Press F2 which navigaing the GETS.
This demo used GTWVG's inbuilt GUI controls handelling
mechanism instead of devising one's own.
This mechanism was introduced in GTWVG mush later
that demowvg.prg was written. In future I will try to
rewrite the demowvg.prg with in-built protocol.
* utils/hbmk2/hbmk2.prg
+ Continue if there were no input files specified. This
can be useful in some situations.
* Show warning about no input files only when -info option is used.
+ Consider resource files as valid input files when showing
above warning.
* src/rtl/gtwin/gtwin.c
% Replaced kbd modifier readout with a more efficient
version. It contains hack required to make core
low-level function to work correctly with win consoles.
Patch co-developed with Przemek.
* contrib/hbtip/sendmail.prg
! Implemented fix to enclose attachment filenames in
dbl quotes as suggested by George Frehner.
Pls test.
* contrib/hbtip/mail.prg
* Formatting.
* harbour/include/hbgtinfo.ch
! fixed wrong decimal value defined for HB_GTI_KBD_RALT.
* translated HB_GTI_KBD_* values from decimal to hex numbers
to avoid such mistakes in the future.
* contrib/hbide/idebrowse.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideedit.prg
* contrib/hbide/ideprojmanager.prg
! Optimized: destructors.
* contrib/hbxbp/xbpwindow.prg
! Minor.
* contrib/hbqt/qtcore/qth/QStringList.qth
! Uncommented: many methods, commented one.
* contrib/hbqt/hbmk2_qt.hbs
+ Implemented: QList< * > generating a list of Harbour objects.
Now no more raw pointers generated with hb_retptr() in hbQT.
Please review and test.
WARNING: third party libs should check their sources to
entertain this change.
* src/rtl/gtwin/gtwin.c
- Fully disabled palette setting feature due to bad side effects
reported by Mindaugas.
Maybe it could be reenabled in some cases, pls refine it if you
need this feature. Pls also retest, I have a hard time replicating
this side-effect on my system.
* INSTALL
* Updated. mingw tdm 4.5.2 works fine again.
* examples/hbdoc2/gentpl.prg
! Fixed typo reported on users' list by Emmer.
* harbour/src/rtl/hbznet.c
% use Z_PARTIAL_FLUSH instead of Z_SYNC_FLUSH in hb_znetFlush()
It should reduce a little bit the size of compressed data stream.