* harbour/contrib/gtwvg/gtwvg.h
* harbour/contrib/gtwvg/hbgtwvg.ch
* harbour/contrib/gtwvg/gtwvg.c
* harbour/contrib/gtwvg/wvgcore.c
* harbour/contrib/gtwvg/wvgcuig.c
* harbour/contrib/gtwvg/wvgcrt.prg
! Fixed many artifacts. Probbaly it is difficult to jot down all.
* contrib/hbole/tests/testole.prg
+ Readded CDO and OO open examples (working).
* utils/hbmk2/hbmk2.hbm
+ Added .hbl file generation.
* utils/hbmk2/hbmk2.prg
+ Added translator info to banner.
! Minor fix to now display job # if single-threaded compilation is done.
(Thanks for __enumBase() trick to Przemek)
* Some steps to better support xhb shared mode (untested).
+ Added filter support for .prg and .c/.cpp input files.
(This also means that input files with '{' '}' char pairs in them
aren't supported anymore).
! Minor terminology fix in one of the rare error messages.
; TODO: ? Adding GNU Make support to .pot -> .hbl generation, plus
we'd also need to develop a common rule for naming and
placement for these translation files. Current hbmk2 method
cannot be considered final.
+ utils/hbmk2/hbmk2.hu_HU.pot
+ Added Hungarian translation (not complete/final yet).
* harbour/contrib/hbole/oleauto.prg
* harbour/contrib/hbole/olecore.c
* added runtime error on descend FOR EACH ICollection enumeration
* added a few more runtime errors
* fixed reference counter managament if OLE object is used as
parameter for another OLE function call
+ implemented array parameter support
TODO/TOCHECK: multidimentional array support
* harbour/contrib/hbole/tests/testole.prg
* changed test to work with current hbole library
+ added new OppenOffice tests
* contrib/hbqt/generator/hbqtgen.prg
* contrib/hbqt/hbqt.h
* contrib/gtqtc/gtqtc.h
* contrib/gtqtc/Makefile
! Fixed to use no dir when including qglobal.h. This fixes
darwin compile error.
* utils/hbmk2/hbmk2.prg
! Fixed static lib output extension for rest of compilers (*nix/gcc).
! Fixed 'lib' prefix handling for static lib output names when dir
was present in the name.
* Now -inc files will be put into .hbmk/* dirs.
! Disabled -map option for *nix gcc as it doesn't seem supported
(probably isn't needed on these platforms anyway).
% Cleaned code redundancy in forming output names.
; TOFIX: gcc/darwin complains that -s switch is obsolete and being ignored.
* COPYING
+ Added Creative Commons Attribution-ShareAlike 3.0 Unported (CC-by-sa)
license section. To be used for misc text, documentation and typically
everything which isn't source/program code. Currently these files
(in part or whole) are covered by this license:
INSTALL
ChangeLog
doc/whatsnew.txt
; TODO: If this works out well, IMO we should apply this license to
all non-code parts of our repository. /doc, /man sections
and some files in the root specifically. We can also cover
the homepage content with this license.
* INSTALL
+ Added CC-by-sa license.
* doc/whatsnew.txt
* ChangeLog
+ Added CC-by-sa license. I've covered all my past entries with
this license, besides these, only the new entries will fall
under the license.
* contrib/hbblat/blatwrp.c
! Fixed extern declaration to work in C++ mode.
* source/lang/msgtrwin.c
* source/lang/msgtr857.c
! Typos in comments.
* source/vm/set.c
+ Added copyright for few functions (hb_osEncode()/hb_osDecode()).
* utils/hbmk2/hbmk2.prg
! Fixed RTE in Harbour-only (-gh) mode.
* harbour/ChangeLog
* removed TOVERIFY note - Viktor checked it.
* harbour/contrib/hbct/ctwin.c
! redraw windows after each WCENTER() call
* harbour/contrib/rddads/ads1.c
+ added support for ADS_VARCHAR_FOX and ADS_VARBINARY_FOX fields
in ADS_VFP tables
* harbour/include/dbinfo.ch
* harbour/include/hbrdddbf.h
* harbour/include/hbrddcdx.h
* harbour/include/hbrddnsx.h
* harbour/include/hbrddntx.h
* harbour/source/rdd/dbf1.c
* harbour/source/rdd/workarea.c
+ added support for VFP tables with VARCHAR and VARBINARY fields
+ added support for VFP tables with NULLABLE fields
+ added new dbFieldInfo() action to check if given field is NULL, f.e.:
? dbFieldInfo( DBS_ISNULL, FieldPos( <cFieldName> ) )
The above modifications were not tested with real VFP files. I do
not have VFP. VFP users should make some real life tests with tables
created by VFP.
* harbour/contrib/rddads/ads1.c
! fixed very bad bug in code compiled for ADS_LIB_VERSION < 600
in ANSI<->OEM translations - the HVM item value was overloaded
with translation results
+ added direct support for ADS_TIME, ADS_TIMESTAMP and ADS_MODTIME
fields and HVM TIMESTAMP values in field get/put operations, seek
and scopes.
Warning! Support for timestamp values in VFP tables is limited
and does not fully respect whole Harbour timestamp arithmetic, f.e.
timestamp values read from index keys are rounded to whole seconds
or setting scopes to data values on timestamp indexes does not work
like in native RDDs or in ADT tables.
TOVERIFY: please check in which ACE version Ads[SG]etMilliseconds()
functions were added and if necessary add
#if ADS_LIB_VERSION >= ???
protection. I do not have older ACE headers and I cannot
make it myself.
To ADS users: please make some real life tests and report problems
if any.
* harbour/contrib/gtqtc/gtqtc.cpp
! Fixed a very important issue of focussing. Now F3 and F4
correctly set the focus to window in question.
The flickering cannot be avoided as QT hides the window
before setting the flags until I come up with another way.
* harbour/contrib/gtqtc/gtqtc.cpp
* harbour/contrib/gtqtc/tests/wvtext.cpp
+ Implemented all BOX characters including B_THIN and B_FAT.
B_THIN protocol respects the aspect ratio means half column
characters are exactly of size column width.
/* Press F9 to view all box types. */
* harbour/contrib/gtqtc/gtqtc.cpp
* harbour/contrib/gtqtc/moc_gtqtc.cpp
* harbour/contrib/gtqtc/gtqtc.h
* harbour/contrib/gtqtc/tests/wvtext.cpp
+ Implemented destructors. Now opening/closing new windows
release memory properly. There is a small leakage remains yet,
about 40 kb per window, but I am not been able to figure out
what action causes it. May be in future...
! Optimized "Mark & Copy" operation. Now previous buffer is used
instead of creating a new image.
! "Mark & Copy" operation now do not generate INKEY() events.
Important until we find a solution via SysMenu.
/*
So far I did not receive any input from anybody.
Does it mean this project do carry little importance
to be pushed forward ?
*/
* harbour/contrib/gtqtc/gtqtc.cpp
* harbour/contrib/gtqtc/gtqtc.h
+ Implemented "Mark & Copy" operation.
Just drag the mouse while left button is pressed.
I could not access SysMenu to initiate this operation
as is implemented in GTWVG but still it is a much needed
feature to have it.
* harbour/contrib/gtqtc/gtqtc.cpp
* harbour/contrib/gtqtc/gtqtc.h
+ Implemented Box Characters independant of fonts and OS.
At this moment only B_SINGLE.
This feature relies on the DispBox()* functions which
sets the attributes in GT. Final goal should be recognizing
Box characters from the char itself, but it may be trivival to
handle as Harbour must be heading for UNICODE.
Przemek, your attention to this fact is requested.
* harbour/contrib/gtqtc/tests/wvtext.prg
! Tweaked for inkey( 0.1 ). No more GPFs now. Play freely.
* harbour/contrib/gtqtc/gtqtc.cpp
* harbour/contrib/gtqtc/gtqtc.h
* harbour/contrib/gtqtc/moc_gtqtc.cpp
* harbour/contrib/gtqtc/tests/wvtext.prg
! Code cleanup.
! Adopted KDE's calss variable naming convention.
Class variables now begin with "_" (underscore character).
Please follow this convention strictly.
+ IMPLEMENTED : hb_gtInfo( HB_GTI_RESIZEMODE, HB_GTI_RESIZEMODE_ROWS ).
! Tweaked caret implementation.
! Renamed :consoleArea => :drawingArea. More natural for hbqtxbp.lib.
/* Please try like this:
1.
- Execute wvtext.exe
- Press F10 -> New Window
- Press <ESC> -> Boooooom GPF (inkey(0))
2.
- Execute wvtext.exe
- Press F10 -> New Window
- Click on Main Window
- Click on New Window
- Press <ESC> -> Normal Exit
I am trying to find why to click on Main Window for
closing the New Window. I have not been able to reach any
logical reasoning. Help is requested.
Play : Resize New Window - Browser expands by rows and columns.
*/
* harbour/contrib/hbole/olecore.c
* harbour/contrib/hbole/oleauto.prg
+ implemented FOR EACH enumeration. The code was proposed by
Przemyslaw on mailing list. Some fixes applied.
* INSTALL
* Changed QT examples according to 4.5.1 new default dir layout.
* contrib/gtqtc/tests/demoqtc.prg
! Removed zip dependency.
* contrib/gtqtc/tests/wvtext.prg
! Fixed non-lower case filename.
! Fixed wrong reference to test .ico file.
BTW, is .ico portable? I doubt, so we should probably
switch to .png in context of QT.
! Fixed wrong reference to test.dbf.
* contrib/hbqt/tests/hbqt.hbp
* contrib/gtqtc/tests/gtqtc.hbp
+ Added support for HB_QT_DIR envvar to find QT libs.
This is the same envvar which is needed for Harbour
builds, so you may already have it set up.
; TODO: If this works out well, I'll add the same method
for other contribs too.
* utils/hbmk2/hbmk2.prg
+ libpaths will now be checked for existance before being
added to the list.
* contrib/hbqt/tests/hbqt.hbp
* Minor adjustment to supc++ lib inclusion filter.
- contrib/gtqtc/tests/hbqt.hbp
+ contrib/gtqtc/tests/gtqtc.hbp
- Removed .hbp with wrong name. This file also contained
local, environment dependent QT libpath.
Please don't add such lines to SVN !!
Instead use a local .hbp file which points to the QT path
in your environment:
--- qt_path.hbp
{win}libpaths=C:\devl\Qt\2009.01\qt\lib
--- (don't commit this file, keep it local !)
or, add the same line to your local hbmk.cfg file.
+ Added new .hbp file with multiplatform content.
* harbour/contrib/gtqtc/gtqtc.cpp
* harbour/contrib/gtqtc/gtqtc.h
* harbour/contrib/gtqtc/moc_gtqtc.cpp
! IMPLEMENTED : MT protocol. GTQTC now responds to it but
there are still glitches. I think this is the
result of improper implementation of C++ code
and QT's underlying SIGNAL/SLOT mechanism.
! FIXED : SetMode()
Resizing behavior, now it is acceptable.
Cursor blinking rate, now responds quickly.
Code cleanup.
* harbour/contrib/gtqtc/tests/hbqt.hbp
! Updated for MT compilation.
* harbour/contrib/gtqtc/tests/demoqtc.prg
* harbour/contrib/gtqtc/tests/wvtext.prg
! GTQTC is now MT compliant. You may experience bumps
as QT event loop has not been adapted to Harbour's completely.
There are glitches which are under investigations, but
proof of fruitation is there. Play with wvtext.exe, Press F10
for new window, please copy /tests/tests.dbf to this folder first.
Try to open many windows.
NOTE: You will have to click main window twice to make it
respond to key events. Still I do not know why it does not
get the keyboard focus with one click.
Try to close the windows with ESC or clicking on the X button.
/* I NEED YOUR INTEREST AND EFFORTS TO MAKE THIS PROJECT A SUCCESS */
/* */
/* Przemek, please review the code and guide me what way it should go */
* utils/hbmk2/hbmk2.prg
! Fixed to find headers in originating file directory.
This may need further tweaking. This works a little
differently in Harbour and C compilers and hbmk2 tries
to mimic both. Possible that it's still not fully
compatible, if you know something pls speak up.
+ Added -incpath= option and incpaths= .hbp option. This
is now the preferred method to add headers paths. All
path will be added to both Harbour and C compiler.
Important: a synonym for this switch is simply -i, just
like before, but now the path will be also added to
C compiler command line.
* From now on Harbour include dir will always be the first
one on the include path list passed to compilers. Before
in Harbour it was always first, in C compilers it was
always last. (disregarding include dirs passed directly
to compiler, which will always come first, but isn't
recommended). The ordering is thus this:
compiler ... flags harbourincludedir incpaths ...
- Deleted include path option detection, from now on
only those paths will be scanned wich were passed to
hbmk2 via -incpath/-i options.
% Added -kmo optimization for hbmk2 source.
+ -info and -quiet will now work in .hbm files.
(they will not control some close-to-startup messages
if specified this way though)
* external/libhpdf/Makefile
* external/libpng/Makefile
+ Enabled for darwin.
* contrib/hbqt/generator/hbqtgen.prg
! Recent fix to hbqt.h applied to generator.
* utils/hbmk2/hbmk2.hbm
- Removed no longer needed -km switch.
* utils/hbmk2/examples/hmg.hbp
* utils/hbmk2/examples/hwgui.hbp
* utils/hbmk2/examples/fwh.hbp
% Updated to use -incpaths=
* utils/hbmk2/examples/fwh.hbp
* Updated to work like similar hwgui and hmg files.
; QUESTION: Is hbwin lib required for FWH?
* harbour/contrib/hbqt/hbqt.h
! fixed QT directory names in #include directives for case sensitive
file systems
* harbour/source/vm/cmdarg.c
! fixed HB_CMDLINE() to work with linear not square cost.
* utils/hbmk2/hbmk2.prg
+ Added experimental support for header directory autodetection.
This means that you can pass a list of possible dirs to use
when a .c header cannot be found in explicitly passed locations.
! Fixed to always disable -shared with -hbdyn.
! Added hbmaindllp in -hbdyn mode on win|wce.
! Fix in -nohbp parameter handling.
+ Added support for macros in -L, -*flag=, -workdir=
+ Added -stop command line parameter which stops execution.
Can be used in conjunction with arch/comp filters to stop
execution on certain platforms/compilers.
! Fixed to not create workdir in some unlikely combination of options.
! Fixed typo causing newer headers not being detected in resource files.
+ Now 'unix' can also be used in filters to check for any *nix platform.
% Excluding some well-known headers from parsing (windows.h, ole2, os2.h
currently)
; Above changes makes it possible to use hbmk2 to build our contribs.
The only missing feature is 'install', what is a simple copy.
---
-ohbpgsql
# just for the sake of an example, not needed for real hbpgsql.
-stop{dos}
-inctrypath=${HB_INC_PGSQL}
-inctrypath={unix}/usr/include
-inctrypath={unix}/usr/local/pgsql/include
-inctrypath={unix}/usr/local/pgsql/include/libpq
-inctrypath={unix}/usr/include/pgsql
-inctrypath={unix}/usr/include/postgresql
-inctrypath={unix}/postgres/include
-inctrypath={unix}/opt/local/include/postgresql83
postgres.c
pgrdd.prg
tpostgre.prg
---
* contrib/hbole/oleinit.c
* contrib/hbole/hbwinole.h
* Cleanups in header usage and content. This should fix
missing hb_oleInit() symbol on some compilers.
* contrib/examples/pp/hbpptbl.c
- Removed HB_EXTENSION protected two lines.
* harbour/contrib/gtqtc/gtqtc.h
* harbour/contrib/gtqtc/gtqtc.cpp
* harbour/contrib/gtqtc/moc_gtqtc.cpp
* harbour/contrib/gtqtc/tests/hbqt.hbp
+ IMPLEMENTED : Resizing - Though some more refinement is necessary
but as a proof of concept it is working.
Window is now centered upon startup.
* harbour/contrib/gtqtc/Makefile
! Adopted along hbqt/Makefile pattern.
+ harbour/contrib/gtqtc/tests/wvtext.prg
+ Added harbour/tests/wvtext.prg here also.
Change in only HB_GT_QTC_DEFAULT.
This facilitates the comparison between GTWVT and GTQTC
+ Added harbour/tests/tests.ico
Used as hb_gtInfo( HB_GTI_ICONFILE, 'tests.ico' )
* harbour/contrib/gtqtc/gtqtc.h
* harbour/contrib/gtqtc/gtqtc.cpp
* harbour/contrib/gtqtc/moc_gtqtc.cpp
+ IMPLEMENTED :
Fired Events : HB_GTE_SETFOCUS | HB_GTE_KILLFOCUS | HB_GTE_RESIZE
Cursor : SC_NONE | SC_NORMAL | SC_SPECIAL1 | SC_SPECIAL2
! IMPROVED : Many artifacts.
* harbour/contrib/gtqtc/tests/demoqtc.prg
! Modified to demonstarte above changes.
NOTE: GTQTC is complete on base level. Only few gliches remain for
cursor management under certain circumstances. The lib is
tested on Winsow XP and QT 4.5 (2009.01). I am sure there
may be few issues coming up more you test on different
platforms.
So I am looking for feedback especially from *nix users.
(::) At this point I will request Przemek to review gtqtc.c.h
and point me to optimization it may require.
* harbour/contrib/gtqtc/gtqtc.h
* harbour/contrib/gtqtc/gtqtc.cpp
* harbour/contrib/gtqtc/moc_gtqtc.cpp
! Fixed more Windows specific contents. It should compile
on *nixes now [ Qt::WindowCloseButtonHint could be the exception ]
+ Implemented timer event.
+ Implemented PALETTE functionality of GTWVT.
+ Implemented drawing console output to an image first and then
rendered onto the screen. This requirement is initiated because
nowhere I found a way to mimic blinking CARET.
The proof of concept is implemened through part of image
rendering in a timer event. It may introduce some overhead
but please be noted that we have to live with it until we
reach a proper solution.
Rendered to image and then flushed to screen is a powerful
feature of QT and we may take use of it in many ways in future.
Probably QTWVG will exploit it to maximum if we do not
plan some extenstions in GTQTC.
* harbour/contrib/gtqtc/tests/demoqtc.prg
! Demonstrated implemented facts as above.
Note the BLINKING block on the console, may be,
implemented as a replacement to windows caret.
* utils/hbmk2/hbmk2.prg
+ Added -opt/-noopt switch (plus .hbp param) to control
C compiler optimizations.
+ Added C compiler optimizations to all compilers identical
to the ones used to build Harbour. Specifically MinGW,
MSVC got new switches, bcc got -6, owatcom got fully
synced.
+ Added internal support for C++ mode selection for all
compilers.
+ Added -debug support for all compilers where it was missing
(most).
! Synced poccarm switch with Harbour build.
- utils/hbmk2/examples/minigui.hbp
+ utils/hbmk2/examples/hmg.hbp
+ Harbour MiniGUI hbmk2 param file updated
and instructions added. Now it's possible
to build hmg apps using hbmk2 very easily,
see instructions in file.
* utils/hbmk2/examples/hwgui.hbp
+ hwgui hbmk2 param file updated and
instructions added. Now it's possible
to build hwgui apps using hbmk2 very easily,
see instructions in file.
* source/vm/itemapi.c
* source/rtl/hbffind.c
* contrib/hbct/atnum.c
! Fixed macro related warnings.
* harbour/contrib/gtqtc/gtqtc.cpp
* harbour/contrib/gtqtc/gtqtc.h
! Fix to many unsuppoted defines on *nixes.
Przemek, please compile again. Probably by now it will
only 'WindowCloseButtonHint' error may appear. But reading
the documents QT nowhere specifies that it is platform
dependant member. Can you please comment out
#define QT_VERSION 0x040500 in hbqt.h and compile again.
It is left-over residual.
* harbour/contrib/gtqtc/gtqtc.cpp
* harbour/contrib/gtqtc/gtqtc.h
* harbour/contrib/gtqtc/moc_gtqtc.cpp
* harbour/contrib/gtqtc/tests/demoqtc.prg
! More complete.
No more (IMO) Windows specific calls.
Please let me know if it compiles fine on *nixes ?
* utils/hbmk2/hbmk2.prg
+ libpaths= can now have relative paths specified, and in this
case the path will be adjusted by absolute path of host .hbp.
This makes it possible to point hbmk2 to a .hbp file in a
foreign dir, and let it pick up local lib dirs automatically.
+ .hbp files passed without absolute paths will now inherit
the .hbm path if applicable.
+ Will now echo all explicitly specified .hbp filenames on
screen in -info mode.
+ Added echo= support in .hbp files. The parameter will be
echoed to stdout as is.
+ Added macro support for following .hbp lines:
libpaths=, prgflags=, cflags=, ldflags=, echo=.
Supported macros are:
${hb_root}: hbmk2 base dir
${hb_parent}: .hbp file dir
${hb_arch}: architecture
${hb_comp}: compiler
${<envvar>}: any envvar
+ .hbp files are now searched in libpaths, too.
; NOTE: With above changes it's possible to refer to a 3rd
party lib solely by pointing to its .hbp file, from
that point all lib/include paths can be automatically
picked up. Here's an example for hwgui, the file
needs to be places in hwgui root dir:
---
{win}prgflags=-i${hb_parent}include
{win}cflags=-I${hb_parent}include
{win}libpaths=${hb_parent}lib
{win}libs=hwgui hwg_qhtm procmisc hbxml
{win}gt=gtgui
---
Any hwgui apps can be compiled with this command:
hbmk2 appname.prg C:\hwgui\hwgui.hbp
* contrib/hbtip/tests/dnldftp.prg
% Minor opt.
* harbour/source/rtl/gtwvt/gtwvt.c
* harbour/contrib/gtwvg/gtwvg.c
! Fixed a long standing bug - window mismanaged when clicking on titlebar.
Processed WM_NCLBUTTONDCLK: