* examples/hbextern/hbextern.hbp
* build flags
* examples/hbextern/hbextern.prg
* significant updates
; default params works mostly like original version
; TOFIX: produces this 'bad' code (harbour reports "hbextern.ch_(1019) Error E0025 Error in #if expression"
#if ZLIB_VERNUM >= 0x1230
EXTERNAL HB_GZDIRECT
#endif /* #if ZLIB_VERNUM >= 0x1230 */
% Question: do I upload a new hbextern.ch or can/should a user with more experience with it do so?
* source/rtl/gtwvt/gtwvt.c
! Fixed maximize button state when HB_GTI_RESIZABLE is set to .T.
before the window is drawn.
Please test.
% Cleaned windows style definitions in source.
* include/hbstack.h
* include/hbapi.h
* Formatting in comment.
* harbour/contrib/hbqt/generator/qt45.qtp
* harbour/contrib/hbqt/hbqt.h
* harbour/contrib/hbqt/Makefile_gen
+ harbour/contrib/hbqt/QSystemTrayIcon.prg
+ harbour/contrib/hbqt/hbqt_qsystemtrayicon.cpp
+ harbour/contrib/hbqt/qth/QSystemTrayIcon.qth
+ Added QSystemTrayIcon() class.
+ harbour/contrib/hbqt/tests/demoqt.prg
! Demonstrated the use to put application in system tray. Press
<System Tray> toolbar button. Then right-click on icon in system tray.
Every 10 seconds, a message will appear automatically.
* bin/postinst.bat
* Force English language hbmk2 in Harbour build.
* contrib/hbtip/client.prg
+ Added proxy support.
Borrowd from xhb, work of Luiz Rafael Culik.
Formatted, minor fixes applied, TRY/CATCH error handling
method swapped from simple bool retval method (which
is otherwise used in hbtip). Not tested yet.
* harbour/contrib/rddsql/sddmy/mysqldd.c
+ added support for MySQL TIMESTAMP, DATETIME and TIME types. These
types are mapped to @,8 and T,4 field types, and native harbour
timestamp type.
* harbour/include/hbextern.ch
+ added a dozen of Harbour functions
; NOTE: about 120 functions are still not included into this .ch:
SX_*(), USRRDD_*(), __DBG*(), __CLS*(), HB_COMPILE*(), etc.
* harbour/contrib/hbqt/hbqt.ch
+ New constants.
* harbour/contrib/hbqt/Makefile_gen
! Arrangement.
* harbour/contrib/hbxbp/Makefile
+ xbpstatic.prg
* harbour/contrib/hbxbp/gra.ch
* harbour/contrib/hbxbp/xbp.ch
* harbour/contrib/hbxbp/xbpgeneric.prg
* harbour/contrib/hbxbp/xbppushbutton.prg
+ harbour/contrib/hbxbp/xbpstatic.prg
* harbour/contrib/hbxbp/xbpwindow.prg
+ Implemented XbpStatic() class.
XBPSTATIC_TYPE_GROUPBOX
XBPSTATIC_TYPE_RAISEDBOX
XBPSTATIC_TYPE_RECESSEDBOX
XBPSTATIC_TYPE_RAISEDLINE
XBPSTATIC_TYPE_RECESSEDLINE
XBPSTATIC_TYPE_TEXT
Few components are scheduled for tomorrow.
* harbour/contrib/hbxbp/tests/demoxbp.prg
+ Demonstrated the above mentioned XbpStatic() parts.
Now the background and foreground colors are true to its values.
NOTE: Can someone please post message on QT developers forum
about a bug where QColor():name return #BBGGRR instead of #RRGGBB
which is documented. I used a workaround for this bug.
* harbour/include/hbapirdd.h
* harbour/source/rdd/workarea.c
* harbour/source/rdd/wafunc.c
* harbour/source/rdd/dbcmd.c
* harbour/source/rdd/hsx/hsx.c
* harbour/source/rdd/usrrdd/usrrdd.c
* modified RDD method declaration (DBENTRYP_*) to eliminate casting.
3-rd party RDD code have to be updated.
* modified some RDD structures to force more strict alignment.
Warning!!! AREA structured modified - all 3-rd party RDDs which
redefines AREA members instead of using AREA structure
directly have to be updated.
* harbour/include/hbrdddbf.h
* harbour/include/hbrddnsx.h
* harbour/include/hbrdddel.h
* harbour/include/hbrddsdf.h
* harbour/include/hbrddcdx.h
* harbour/include/hbrddntx.h
* harbour/source/rdd/delim1.c
* harbour/source/rdd/sdf1.c
* harbour/source/rdd/dbf1.c
* harbour/source/rdd/hbdbsort.c
* harbour/source/rdd/dbfcdx/dbfcdx1.c
* harbour/source/rdd/dbfnsx/dbfnsx1.c
* harbour/source/rdd/dbfntx/dbfntx1.c
* harbour/source/rdd/dbffpt/dbffpt1.c
* harbour/contrib/rddads/rddads.h
* harbour/contrib/rddads/ads1.c
* harbour/contrib/rddads/adsx.c
* harbour/contrib/rddads/adsfunc.c
* harbour/contrib/rddsql/hbrddsql.h
* harbour/contrib/rddsql/sqlbase.c
* harbour/contrib/rddsql/sqlmix.c
* harbour/contrib/rddsql/sddmy/mysqldd.c
* harbour/contrib/rddsql/sddpg/pgsqldd.c
* harbour/contrib/rddsql/sddfb/fbirddd.c
* harbour/contrib/rddsql/sddodbc/odbcdd.c
* harbour/contrib/hbbmcdx/bmdbfcdx.c
* harbour/contrib/hbbmcdx/hbbmcdx.h
* updated for new method declaration
* modified RDD AREA structures definition to use supper AREA structures
directly as 1-st member instead of redefining individual AREA members.
It resolves the synchronization problem so now modification in super
AREA structures does not force modifications in source code of
descendant RDDs. It also eliminates possible typos in manual structure
synchronization.
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
! Changed special language ID macro from ${lng} to %{hb_lng} to
avoid collision with normal macros.
* harbour/contrib/hbxbp/xbp.ch
* harbour/contrib/hbxbp/xbp3state.prg
* harbour/contrib/hbxbp/xbpcheckbox.prg
* harbour/contrib/hbxbp/xbpcombobox.prg
* harbour/contrib/hbxbp/xbpdialog.prg
* harbour/contrib/hbxbp/xbpmenubar.prg
* harbour/contrib/hbxbp/xbpmle.prg
* harbour/contrib/hbxbp/xbpradiobutton.prg
* harbour/contrib/hbxbp/xbpscrollbar.prg
* harbour/contrib/hbxbp/xbpsle.prg
* harbour/contrib/hbxbp/xbpspinbutton.prg
* harbour/contrib/hbxbp/xbpstatusbar.prg
* harbour/contrib/hbxbp/xbptabpage.prg
* harbour/contrib/hbxbp/xbptreeview.prg
* harbour/contrib/hbxbp/xbpwindow.prg
+ Added :setPointer() method to change the cursor shape for a widget.
! Advanced implementation of Presentation Parameters. Now the
base structure is almost like Xbase++ one. About to
generate a Style Sheet based on PresParametrs array.
! Code tweaked more organized.
* harbour/contrib/hbxbp/tests/demoxbp.prg
+ Demonstrated the use of Cursor Shapes.
* harbour/contrib/hbxbp/xbp.ch
* harbour/contrib/hbxbp/xbpdialog.prg
* harbour/contrib/hbxbp/xbpmle.prg
* harbour/contrib/hbxbp/xbpwindow.prg
+ Implemented fonts management.
:setFontCompoundName( "10.Tohama italics" )
Started XBP_PP_* implementation.
NOTE: This implementation is based on QT's powerful mechanism
of CSS inspired Cascading Style Sheets. It effectively
means that look-and-feel of the requested parameters are
guaranted to be rendered irrespective of the platform.
This also means that a "true" inheritance is achieved
in the widgets. For example, if you set the color and
font of a top-level dialog, all children of it will also
inherit it. Xbase++ also documents this behavior but
also notify that some of the widgets do not respond to
this request, i.e., XbpPushButton(), XbpTabPage(), etc.
But in Harbour-QT-Xbase++ it is possible, and, by
all means desirable.
Anyway, I am more interested what the group think. It will
be heartening if some real-time Xbase++ users participate
on the subject. I do not want to cook my own food.
* harbour/contrib/hbxbp/tests/demoxbp.prg
! Demonstrated to use fonts and inheritance. Please play.
* harbour/contrib/hbqt/hbqt.h
* harbour/contrib/hbqt/hbqt_qftp.cpp
* harbour/contrib/hbqt/hbqt_qhttp.cpp
* harbour/contrib/hbqt/qth/QFtp.qth
* harbour/contrib/hbqt/qth/QHttp.qth
* harbour/contrib/hbqt/TQFtp.prg
* harbour/contrib/hbqt/TQHttp.prg
! Fixed ( char * ) argument usage in QFtp and QHttp classes.
Infact <qint64 read( char * data, qint64 length )> are written
as is in the header. I could not find a solution to
auto generate it because of <length> argument which could
never be known to first parameter.
* harbour/contrib/hbxbp/Makefile
* harbour/contrib/hbxbp/xbp.ch
* harbour/contrib/hbxbp/appevent.ch
* harbour/contrib/hbxbp/xbpdialog.prg
* harbour/contrib/hbxbp/xbpgeneric.prg
* harbour/contrib/hbxbp/xbpsle.prg
* harbour/contrib/hbxbp/xbptreeview.prg
* harbour/contrib/hbxbp/xbpwindow.prg
! Rewrote the event management system exactly like
Xbase++. Now it is possible to sub-class methods and callback slots.
+ harbour/contrib/hbxbp/xbpappevent.prg
+ Added PRG level events conversion mechanism.
I wanted it to be C code for speed purposes, anyhow,
as agreed we do not want any C code in hbxbp.
* harbour/contrib/hbxbp/tests/demoxbp.prg
! Few experiments. You may viaualize some artifacts.
/* NOTE: I am struggling to receive events from another
thread of Harbour code in the event filter.
It seems default event dispatched can be
invoked only from main thread. Anybody to rescue ?
*/
* harbour/contrib/hbqt/generator/qt45.qtp
* harbour/contrib/hbqt/Makefile_gen
* harbour/contrib/hbqt/hbqt.ch
* harbour/contrib/hbqt/hbqt.h
+ harbour/contrib/hbqt/hbqt_qdragenterevent.cpp
+ harbour/contrib/hbqt/hbqt_qdragleaveevent.cpp
+ harbour/contrib/hbqt/hbqt_qdragmoveevent.cpp
+ harbour/contrib/hbqt/hbqt_qdropevent.cpp
+ harbour/contrib/hbqt/hbqt_qmoveevent.cpp
+ harbour/contrib/hbqt/hbqt_qresizeevent.cpp
+ harbour/contrib/hbqt/hbqt_qwheelevent.cpp
+ harbour/contrib/hbqt/TQDragEnterEvent.prg
+ harbour/contrib/hbqt/TQDragLeaveEvent.prg
+ harbour/contrib/hbqt/TQDragMoveEvent.prg
+ harbour/contrib/hbqt/TQDropEvent.prg
+ harbour/contrib/hbqt/TQMoveEvent.prg
+ harbour/contrib/hbqt/TQResizeEvent.prg
+ harbour/contrib/hbqt/TQWheelEvent.prg
+ harbour/contrib/hbqt/qth/QDragEnterEvent.qth
+ harbour/contrib/hbqt/qth/QDragLeaveEvent.qth
+ harbour/contrib/hbqt/qth/QDragMoveEvent.qth
+ harbour/contrib/hbqt/qth/QDropEvent.qth
+ harbour/contrib/hbqt/qth/QMoveEvent.qth
+ harbour/contrib/hbqt/qth/QResizeEvent.qth
+ harbour/contrib/hbqt/qth/QWheelEvent.qth
+ Added few more classes.
* harbour/contrib/hbqt/hbqt_slots.cpp
* harbour/contrib/hbqt/hbqt_qftp.cpp
* harbour/contrib/hbqt/hbqt_qhttp.cpp
! Result of #define hbqt_par_char( n ) ( ( char* ) hb_parcx( n ) )
NOTE: QT sources are generated dynamically so please do not make
changes to them directly. I do not know if above casting
will work or not but it is just to pacify the warnings.
Alternatively we can comment out the relevant functions in
/qth/QHttp.qth and /qth/QFtp.qth. I kept it like this
as if someone could test if it works.
* include/hbapifs.h
* source/rtl/filebuf.c
* source/rtl/filesys.c
* Changed file I/O buffer parameters from
'( [const] BYTE * )' to '( [const] void * )'
* utils/hbmk2/hbmk2.prg
+ Added ${hb_curdir} macro support.
+ Added ${hb_first} macro support (will return first source name
specced on cmdline)
+ Added support for 'sources=' line in .hbc files. This
will accept .prg, .c/.cpp, .po/.pot, object and resources.
For resources, also wildcards are supported. Files with
no extension will be considered .prg.
This also replaces former 'pos=' line.
This can be useful to put some central sources into all
project without using a lib (or when a lib isn't an option
for some reason).
- man
- Dir deleted.
* bin/postinst.bat
* mpkg_gnu.bat
+ Moved copying of root doc (ChangeLog, INSTALL) files
to postinst.bat.
* make_gnu.bat
! Minor fix to not accept extra cmdline parameters when
in full build mode.
* make_gnu.bat
+ Now make_gnu.bat will find embedded GNU Make even if it's
started from another directory. F.e. to rebuild only
one contrib or core lib, it's enough to go to that dir
and type:
..\..\make_gnu.bat
! More fixes to make build work on paths containing spaces.
* make_gnu_os2.cmd
* make_gnu.bat
* make_gnu.sh
* mpkg_win.nsi
* mpkg_gnu.bat
* Formatted header comment.
+ Added reference to INSTALL.
* source/common/hbhash.c
! Fixed error in prev commit.
(strange that MSVC didn't complain)
* mpkg_win.nsi
+ Added comment that this file shouldn't be used directly.
* source/rtl/hbmd5.c
+ HB_MD5(), HB_MD5FILE(): New logical parameter added, which
controls whether to return binary data or hexadecimal string.
The default is .T. which will return hexa string, to stay
compatible. Later we should switch the default to .F..
* mpkg_gnu.bat
* Updated requirement section.
* contrib/hbxbp/tests/demoxbp.prg
! Fixed the same warning again.
* Changed to actually close the window when using close icon
or Alt+F4.
; Thanks Priptal for the close fix, GPF is now gone.
* mpkg_gnu.bat
! Using shorter temp dir names to make DOS command.com happy,
so that it copies all libs with a little more chance.
It's recommended to use a short base dir for DOS builds.