- contrib/gtqtc/gtqtc.cpp
+ contrib/gtqtc/gtqtc1.cpp
* contrib/gtqtc/gtqtc.hbp
* renamed file gtqtc.cpp -> gtqtc1.cpp
It fixes dynamic library creation by HBMK2 which tires to link
gtqtc.o file twice adding second copy indirectly for gtqtc.hbx
* harbour/contrib/rddads/ads1.c
+ run error on invalid SQL query, ex.,
DBUSEAREA(,, "SELECT * FOM syntax_error")
* changed ADS error description to be much more informative
+ contrib/gtqtc/gtqtc.cpp
+ contrib/gtqtc/gtqtc.h
+ contrib/gtqtc/gtqtc.hbc
+ contrib/gtqtc/gtqtc.hbp
+ contrib/gtqtc/gtqtc.hbx
+ contrib/gtqtc/hbmk2_qtmoc.hb
* contrib/hbplist.txt
+ added new QT based GT driver: GTQTC.
This implementation is slightly based on GTQTC created by
Pritpal Bedi - many thanks.
Now GTQTC supports nearly all GT features existing in all other GTs,
i.e.
fullscreen mode:
hb_gtInfo( HB_GTI_ISFULLSCREEN, <lFullScreen> )
automatic fullscreen switch after ALT+ENTER:
hb_gtInfo( HB_GTI_ALTENTER, <lEnable> )
maximized mode controlled by user:
hb_gtInfo( HB_GTI_MAXIMIZED, <lEnable> )
clipboard selection with SHIFT + MouseLeftButton:
hb_gtInfo( HB_GTI_SELECTCOPY, <lEnable> )
terminal window resizing:
hb_gtInfo( HB_GTI_RESIZABLE, <lCanResize> )
both resize modes
a) change number of rowas and columns:
hb_gtInfo( HB_GTI_RESIZEMODE, HB_GTI_RESIZEMODE_ROWS )
b) keep number of rows and clomuns and update font size
hb_gtInfo( HB_GTI_RESIZEMODE, HB_GTI_RESIZEMODE_FONT )
blocking ALT+F4 and [X] window buttons:
hb_gtInfo( HB_GTI_CLOSABLE, <lCanClose> )
all cursor shapes and setting cursor blink rate:
hb_gtInfo( HB_GTI_CURSORBLINKRATE, <nMilliSec> )
window positioning in screen pixels:
hb_gtInfo( HB_GTI_SETPOS_XY, <aNewPosXY> ) -> <aPrevPosXY>
mouse positioning in screen pixels:
hb_gtInfo( HB_GTI_MOUSEPOS_XY ) -> <aPosXY>
full control on font behavior with:
a) box characters shown as predefined internally pixmapos:
hb_gtinfo( HB_GTI_FONTATTRIBUTE,
hb_bitOr( HB_GTI_FONTA_DRAWBOX,
hb_gtinfo( HB_GTI_FONTATTRIBUTE ) ) )
b) forcing fixed size font metric:
hb_gtinfo( HB_GTI_FONTATTRIBUTE,
hb_bitOr( HB_GTI_FONTA_FIXMETRIC,
hb_gtinfo( HB_GTI_FONTATTRIBUTE ) ) )
c) independent character cell clearing:
hb_gtinfo( HB_GTI_FONTATTRIBUTE,
hb_bitOr( HB_GTI_FONTA_CLRBKG,
hb_gtinfo( HB_GTI_FONTATTRIBUTE ) ) )
d) displaying control characters ( ASC( x ) < 32 ) in row form:
hb_gtinfo( HB_GTI_FONTATTRIBUTE,
hb_bitOr( HB_GTI_FONTA_CTRLCHARS,
hb_gtinfo( HB_GTI_FONTATTRIBUTE ) ) )
and many others like palette settings (HB_GTI_PALETTE), displaying
pictures (HB_GTI_DISPIMAGE), keyboard modifiers (HB_GTI_KBDSHIFTS),
clipboard reading and setting (HB_GTI_CLIPBOARDDATA) or icon and
window title settings (HB_GTI_ICONFILE, HB_GTI_WINTITLE)
GTQTC also supports GFX graphic primitives (hb_gfx*()) and it operates
on new Harbour extended mouse and keyboard key codes.
The console window is shown when some user outputs appears so
it can be linked with GT GUI application been invisible by default.
It's pure QT code so now is the most portable Harbour GT driver which
can be used on platforms where we haven't native any GT so far or
current GTs like GTXWC do not have native appearance.
Because it uses only high level GUI interface then it should be quite
easy to convert it to other GUI libraries, i.e. GTK.
* harbour/contrib/rddads/adsfunc.c
* ADSREGCALLBACK() implemented using AdsRegisterCallbackFunction() instead
of obsolete AdsRegisterProgressCallback(). This enables draw progress
bar for both indexing and SQL query processing.
; implementation unchanged for old ADS versions (<= 6.1)
* bin/check.hb
* bin/commit.hb
! added executable attribute
* doc/xhb-diff.txt
! xBase++ -> Xbase++, Harbor -> Harbour
* utils/hbmk2/hbmk2.prg
+ show project name in error messages
! applied Viktor fixes:
2013-04-17 03:45 UTC+0200 Viktor Szakats (harbour syenar.net)
! fixed to not leave temp .lnk file on disk with -hbdyn[vm]
targets in win/gcc compiler family
! fixed win/tcc to not use gcc style .lnk files when creating
-hbdyn[vm] targets
! added workaround for linker stderr messages redirected to stdout.
It's not perfect but for sure much better then previous behavior.
Now recently created problems like broken *nix builds can be well
seen in stderr output.
* include/hbapi.h
* include/hbapigt.h
* include/hbvm.h
* src/rtl/inkeyapi.c
* src/vm/cmdarg.c
* src/vm/hvm.c
* replaced hb_cmdargProcessVM() with hb_cmdargProcess() and removed
unused for long time custom user cancel key functionality.
- removed dummy hb_inkeySetCancelKeys() C function.
- removed not used for long time HVM C functions and macros:
hb_vmFlagEnabled(), hb_vmFlagSet(), hb_vmFlagClear(),
HB_VMFLAG_HARBOUR, HB_VMFLAG_ARRSTR
* include/hbgtinfo.ch
+ added new HB_GTI_* actions:
HB_GTI_WINHANDLE - Get console window low level handle
HB_GTI_MOUSEPOS_XY - Get mouse position in pixels
HB_GTI_DISPIMAGE - Display image with given name
* include/hbapigt.h
* src/rtl/inkeyapi.c
+ added new C function: int hb_inkeyKeyMod( int iKey )
+ added code for translation from extended key codes to
standard Clipper ones
* include/harbour.hbx
* src/rtl/inkey.c
+ added new PRG function hb_keyMod( <nExtKey> ) -> <nModifiers>
It extract keyboard modifiers (HB_KF_*) from extended key code.
* include/hbgtcore.h
* src/rtl/hbgtcore.c
+ added new macros for generating extended key codes with keyboard
modifiers for ASCII and UNICODE characters
% strip repeated extended key codes for mouse move
! use standard key codes in extended ALERT() GT method
* include/inkey.ch
+ added key modifiers/flags for extended key codes: HB_KF_*
+ added extended key codes: HB_KX_*
- removed unused HB_K_MULTICODE macro
* src/rtl/gttrm/gttrm.c
* replaced old keyboard and mouse code with new one using
extended key codes for keyboard and mouse
+ added support for keyboard modifiers in GPM events
+ added support for keyboard modifiers in terminal mouse events
* src/rtl/gtwvt/gtwvt.h
* src/rtl/gtwvt/gtwvt.c
! invert selection region in WinCE builds
! fixed selection in fullscreen or maximized modes with margins
* do not add EOL to one line selections
+ added support for painting box drawing characters.
This mode can be enabled by:
hb_gtInfo( HB_GTI_FONTATTRIBUTE, HB_GTI_FONTA_DRAWBOX )
and it causes that GTWVT draws all box characters as pixmap
regardles of used font.
So far this functionality existed only in GTXWC.
+ added support for HB_GTI_FONTA_FIXMETRIC and HB_GTI_FONTA_CLRBKG
So far this functionality existed only in GTXWC.
+ added support for HB_GTI_WINHANDLE
! do not add EOL at the end of one line selection
* src/rtl/gtxwc/gtxwc.h
* src/rtl/gtxwc/gtxwc.c
* replaced old keyboard and mouse code with new one using
extended key codes for keyboard and mouse
* renamed HB_GTXWC_* box drawing macros to HB_BOXCH_* ones
* do not add EOL to one line selections
! fixed few keypad keycodes
* use cursor blinking rate HB_GTI_CURSORBLINKRATE for whole
show/hide period not only half of them. If someone use this
GTI action in his code then now he should double passed
value. [incompatible]
! fixed return value for HB_GTI_SETPOS_ROWCOL
* few minor cleanups
* tests/gtkeys.prg
* replaced old keyboard and mouse code with new one using
extended key codes for keyboard and mouse
+ added description for some key codes
+ added some initial HB_GTI_* actions
+ change cursor size by K_INS
+ display terminal size after HB_K_RESIZE
+ display mouse position after mouse key codes
! display all characters created by hb_keyChar()
! fixed formatting
* src/rdd/dbf1.c
* added more general protection against GPF in not fully
initialized workarea
* harbour/contrib/rddads/adsx.c
! fixed adsSeek() if seek string length is less than index key length
* harbour/src/compiler/hbopt.c
! improved BEGIN/END SEQUENCE support in code trace optimizer. Problem
of false positive warning 'Variable is assigned but not used' is solved
in cases like:
FUNC TEST()
LOCAL n := 1
BEGIN SEQUENCE
IF n == 1
n := 2
BREAK
ENDIF
n := 3
END SEQUENCE
RETURN n
; TODO: test for more complicated cases like nested BEGIN/END SEQUENCE
* harbour/src/rdd/dbf1.c
* added :GetValue() GPF protection if area is "half opened" (ex.,
enumerating field values in error handler on area open failure).
More general solution for "half opened" workareas is welcome
* .gitignore
! removed executable file permission
* package/mpkg_src.sh
! added executable file permission
* contrib/hbct/screen2.c
% use STR API for parameters instead of using local conversions
* contrib/hbct/token1.c
% small simplification
* contrib/hbnetio/netiosrv.c
+ respect timeout parameter also in send operation
* contrib/make.hb
! moved project name normalization and directory verification to
AddProject() function. It fixes HB_BUILD_ADDONS envvar functionality.
* doc/xhb-diff.txt
+ added new paragraph: DECLARATION AND INITIALIZATION OF VARIABLES
* src/rtl/hbcom.c
* added 3-rd parameter to TIOCEXCL and TIOCNXCL ioctl() codes
to pacify valgrind warnings
* include/hbexpra.c
! fixed compilation with HB_USE_ENUM_FUNCTIONS macro
* include/hbapicls.h
* include/hbcompdf.h
* include/hbexpra.c
* src/compiler/harbour.y
* src/vm/classes.c
+ added support for :__enumIsFirst() iterator message. It's opposite
to recently added :__enumIsLast()
+ added support for overloading :__enumIsFirst() and :__enumIsLast()
functionality in custom FOR EACH implementations
* include/hbcompdf.h
* include/hbexpra.c
* src/compiler/harbour.y
+ added support for reverting :__enumIsFirst() and :__enumIsLast()
messages in descendant FOR EACH loops. It's disabled now by 2 #if 0
but I think it should be discussed. Should we keep it enable it?
The answer is not trivial when FOR EACH is used to iterate some
objects. In general such names are confusing.
* src/compiler/harbour.yyc
* src/compiler/harbour.yyh
* regenerated using bison 2.5
* tests/foreach.prg
+ added :__enumIsFirst() to test code
* tests/foreach2.prg
! typo in comment
* config/postinst.hb
! updated dir where .po files are looked for
for util .hbl creation
* contrib/make.hb
! fixed to convert dirseps and missing trim before
existence check of hbplist.txt items
* contrib/hbhpdf/3rd/libhpdf/hpdfimap.c
* contrib/hbhpdf/3rd/libhpdf/libhpdf.dif
+ patched to build with libpng 1.6 w/o warning
identical to this upstream patch:
f1817baea4
* bin/commit.hb
! fixed to add shebang to newly created commit hook
* bin/check.hb
! exclude maskimag.png from processing
! typo in png processor name
! minor syntax clarification
* contrib/hbhpdf/tests/files/maskimag.png
! restored original version, as any optimized version will
cause libharu to GPF (visible when running the demo)
2013-04-09 17:47 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/gtwvg/wvgwin.c
! Fixed: Loading of resource of type icon if pulled from a resource
file.
* contrib/hbhpdf/3rd/libhpdf/hpdfimap.c
* contrib/hbhpdf/3rd/libhpdf/libhpdf.dif
+ patched to build with libpng 1.6 w/o warning
identical to this upstream patch:
f1817baea4
* bin/commit.hb
! fixed to add shebang to newly created commit hook
* bin/check.hb
! exclude maskimag.png from processing
! typo in png processor name
! minor syntax clarification
* contrib/hbhpdf/tests/files/maskimag.png
! restored original version, as any optimized version will
cause libharu to GPF (visible when running the demo)
* bin/check.hb
* deleted one more contrib exception
* contrib/make.hb
* do not try to build contribs/addons that don't exist
* contrib/hbmisc/tests/pe.prg
- contrib/hbmisc/tests/sample.txt
* avoid storing non-ASCII, non-UTF8 file on disk
* load above if no parameter given
! use hb_MemoWrit() to write result
* bin/commit.hb
+ implement prepare-commit hook, which fills the commit message with the last changelog entry
+ try to minimize the commit msg when committing single changes
+ generalized code to add git hooks
* bin/check.hb
! fixed --fixup-case when used with single file
+ deleted few more exceptions (contribs in particular)
* tests/clipper.ch
+ added few items
+ tests/bldtest/bldtext.hbp
+ added hbmk2 build file
* tests/hbpptest/compare.bat -> tests/hbpptest/compare.hb
* tests/hbpptest/pp_test.prg -> tests/hbpptest/_pp_test.prg
* converted batch file to Harbour script
* updated comments
- contrib/hbhpdf/tests/files/cp932.txt
- contrib/hbhpdf/tests/files/cp936.txt
- contrib/hbhpdf/tests/files/elic_jp.txt
- contrib/hbhpdf/tests/files/euc.txt
- contrib/hbhpdf/tests/files/sjis.txt
- turns out these were not used. deleted.
* contrib/hbnetio/tests/netiomt1.prg
* contrib/hbnetio/tests/netiot02.prg
* contrib/hbnetio/tests/netiot03.prg
* contrib/hbnetio/tests/netiotst.prg
* hbformat, fix case, manual corrections
(I like the former style better, because it's much
easier to type and looks much less antique than
std code format, but for now consistency won)
* contrib/xhb/thtm.prg
* code slightly altered to avoid embedded JS code to be
case fixed
* config/postinst.hb
* minor
* doc/howtorep.txt
* README.md
! updated link to hbmk2 doc
* updated steps for committing to emphasis in bin/commit
script than trying to describe some of the rules
* bin/commit.hb
+ do not add new empty entry template if one already
exist, replace existing one instead
+ put last changelog entry to clipboard on pre-commit
* bin/check.hb
* refined and sorted exceptions for case checking
* bin/check.hb
- tests/fixcase.hb
- deleted stdalong case fixer, now part of bin/check.hb
(call it it --fixup-case option for same functionality)
* doc/oldnews.txt
* doc/pp.txt
* casing fixes
* bin/check.hb
* tests/fixcase.hb
! fixed another loop of regexp search and replace to only
change exactly the item it found. It will fix some
weird cases experienced in the past,
f.e. in extras/httpsrv/uhttpd.prg
* contrib/Makefile
! do not ignore failures in contribs in GNU Make build process
(this will ensure a 'build failed' status in Travis)
* bin/check.hb
* tests/fixcase.hb
! fixed to the way search hits are replaced. Now it replaces
only what it found and where it found it, instead of previous
brute-force method of replacing each similar hit in the file,
causing the errors experienced in 2013-04-05 16:24 UTC+0200.
(plus also few similar cases in the past)
* tests/fixcase.hb
! fixed to do comment only fix on .c files even when run in
single file mode
* contrib/hbct/trig.c
! another fix
* contrib/hbwin/wapi_winuser.c
* deleted comment in some foreign programming language
* src/rtl/hbmd5.c
* cleaned comment