- contrib/hbide/dbstruct.ui
- contrib/hbide/tables.ui
* contrib/hbide/hbide.hbp
* contrib/hbide/misc.prg
- Deleted: two more resources which have already been moved to
xbpaddons library.
+ contrib/hbide/idedbu
+ contrib/hbide/idedbu/idedbu.hbc
+ contrib/hbide/idedbu/idedbu.hbp
+ contrib/hbide/idedbu/dbstruct.ui
+ contrib/hbide/idedbu/dbu.prg
+ contrib/hbide/idedbu/dbu.qrc
+ contrib/hbide/idedbu/fetchdate.ui
+ contrib/hbide/idedbu/resources
+ contrib/hbide/idedbu/tables.ui
- contrib/hbxbp/dbu.prg
- contrib/hbxbp/resources
- contrib/hbxbp/resources/closetab.png
- contrib/hbxbp/resources/database_accept.png
- contrib/hbxbp/resources/database_add.png
- contrib/hbxbp/resources/database_down.png
- contrib/hbxbp/resources/database_lock.png
- contrib/hbxbp/resources/database_next.png
- contrib/hbxbp/resources/database_previous.png
- contrib/hbxbp/resources/database_process.png
- contrib/hbxbp/resources/database_remove.png
- contrib/hbxbp/resources/database_search.png
- contrib/hbxbp/resources/database_up.png
- contrib/hbxbp/resources/database.png
- contrib/hbxbp/resources/dbf_p1.png
- contrib/hbxbp/resources/dbf_p10.png
- contrib/hbxbp/resources/dbf_p2.png
- contrib/hbxbp/resources/dbf_p3.png
- contrib/hbxbp/resources/dbf_p4.png
- contrib/hbxbp/resources/dbf_p5.png
- contrib/hbxbp/resources/dbf_p6.png
- contrib/hbxbp/resources/dbf_p7.png
- contrib/hbxbp/resources/dbf_p8.png
- contrib/hbxbp/resources/dbf_p9.png
- contrib/hbxbp/resources/dbstruct.png
- contrib/hbxbp/resources/dc_delete.png
- contrib/hbxbp/resources/find.png
- contrib/hbxbp/resources/form.png
- contrib/hbxbp/resources/formview.png
- contrib/hbxbp/resources/fullscreen.png
- contrib/hbxbp/resources/gotoline3.png
- contrib/hbxbp/resources/open3.png
- contrib/hbxbp/resources/panel_7.png
- contrib/hbxbp/resources/panel_8.png
- contrib/hbxbp/resources/save3.png
- contrib/hbxbp/resources/sort.png
- contrib/hbxbp/resources/table.png
- contrib/hbxbp/resources/view_cascaded.png
- contrib/hbxbp/resources/view_docks.png
- contrib/hbxbp/resources/view_horzstacked.png
- contrib/hbxbp/resources/view_organized.png
- contrib/hbxbp/resources/view_refresh.png
- contrib/hbxbp/resources/view_tabbed.png
- contrib/hbxbp/resources/view_tiled.png
- contrib/hbxbp/resources/view_vertstacked.png
- contrib/hbxbp/resources/view_zoomin.png
- contrib/hbxbp/resources/view_zoomout.png
- contrib/hbxbp/xbp.qrc
- contrib/hbxbp/xbpdbstruct.ui
- contrib/hbxbp/xbpfetchdate.ui
- contrib/hbxbp/xbptables.ui
* contrib/hbide/hbide.hbp
* contrib/hbxbp/generic.prg
* contrib/hbxbp/hbxbp.hbp
* HBIDE submodule DBU moved under HBIDE.
Such module (complete with its own UI theme, GUI resources
hard-wired texts) has nothing to do in a generic library.
I can hardly imagine what the goal was with this move.
It's also good idea to consult/ask questions before
making such code rearrangement.
Untested.
; TOFIX: Some more stuff (code) has been added to hbxbp,
I didn't deal with those.
; TOFIX: Someone please remove the duplicate resources
from hbide/resources.
Also, please make use of 'svn move' when moving
around objects inside the repository tree, otherwise
such thing will happen and history is also lost
along the way.
* contrib/hbqt/hbmk2_qt.hb
* contrib/hbqt/qtgui/qth/QWidget.qth
+ Enabled: "WId" casted calls.
WARNING: These are portable to the extent that Qt does not
throw error. But what you do with the WId is non portable.
So be careful.
* contrib/gtwvg/crt.prg
! Fixed: regression caused by redirection of "?" command.
Changed: ? " " => CLS
This fixes nasty behavior of WvgCRT() not showing up altogether.
Took roughly four hours to debug.
* contrib/gtwvg/toolbar.prg
+ Added code to pass <pBitmap> as a pointer to bitmap in memory.
+ contrib/hbxbp/resources
+ contrib/hbxbp/resources/closetab.png
+ contrib/hbxbp/resources/database.png
+ contrib/hbxbp/resources/database_accept.png
+ contrib/hbxbp/resources/database_add.png
+ contrib/hbxbp/resources/database_down.png
+ contrib/hbxbp/resources/database_lock.png
+ contrib/hbxbp/resources/database_next.png
+ contrib/hbxbp/resources/database_previous.png
+ contrib/hbxbp/resources/database_process.png
+ contrib/hbxbp/resources/database_remove.png
+ contrib/hbxbp/resources/database_search.png
+ contrib/hbxbp/resources/database_up.png
+ contrib/hbxbp/resources/dbf_p1.png
+ contrib/hbxbp/resources/dbf_p10.png
+ contrib/hbxbp/resources/dbf_p2.png
+ contrib/hbxbp/resources/dbf_p3.png
+ contrib/hbxbp/resources/dbf_p4.png
+ contrib/hbxbp/resources/dbf_p5.png
+ contrib/hbxbp/resources/dbf_p6.png
+ contrib/hbxbp/resources/dbf_p7.png
+ contrib/hbxbp/resources/dbf_p8.png
+ contrib/hbxbp/resources/dbf_p9.png
+ contrib/hbxbp/resources/dbstruct.png
+ contrib/hbxbp/resources/dc_delete.png
+ contrib/hbxbp/resources/find.png
+ contrib/hbxbp/resources/form.png
+ contrib/hbxbp/resources/formview.png
+ contrib/hbxbp/resources/fullscreen.png
+ contrib/hbxbp/resources/gotoline3.png
+ contrib/hbxbp/resources/open3.png
+ contrib/hbxbp/resources/panel_7.png
+ contrib/hbxbp/resources/panel_8.png
+ contrib/hbxbp/resources/save3.png
+ contrib/hbxbp/resources/sort.png
+ contrib/hbxbp/resources/table.png
+ contrib/hbxbp/resources/view_cascaded.png
+ contrib/hbxbp/resources/view_docks.png
+ contrib/hbxbp/resources/view_horzstacked.png
+ contrib/hbxbp/resources/view_organized.png
+ contrib/hbxbp/resources/view_refresh.png
+ contrib/hbxbp/resources/view_tabbed.png
+ contrib/hbxbp/resources/view_tiled.png
+ contrib/hbxbp/resources/view_vertstacked.png
+ contrib/hbxbp/resources/view_zoomin.png
+ contrib/hbxbp/resources/view_zoomout.png
+ contrib/hbxbp/xbp.qrc
+ Added: various images for HbpDBU() class implementation.
* contrib/hbxbp/hbxbp.hbp
+ Added: dbu.prg, xbpdbstruct.ui, xbpfethdate.ui, xbptables.ui.
* contrib/hbxbp/hbxbp.hbx
* Regenerated.
+ contrib/hbxbp/dbu.prg
* contrib/hbxbp/dialog.prg
* contrib/hbxbp/generic.prg
* contrib/hbxbp/toolbar.prg
+ contrib/hbxbp/xbpdbstruct.ui
+ contrib/hbxbp/xbpfetchdate.ui
+ contrib/hbxbp/xbptables.ui
+ Implemented: HbpDBU() class which was developed for HbIDE initially.
Now this class is self contained object like a COM object which can
be embedded into your HbQt/HbXBP based applications. The syntax to
embed in your applications is like :
oWidget := QWidget()
oLayout := QHBoxLayout( oWidget )
oWidget:setLayout( oLayout )
oDBU := HbpDBU():new()
oDBU:qtObject := oWidget
oDBU:create( , , {0,0}, {100,100}, , .T. )
And you will see the DBU will all its bells and whisles inside oWidget.
oWidget can be any container of your application, but it must have a
layout set on it. Layout can be any. But if it is QGridlayout then
row/column 0,0 is consumed with rowspan/columnsspan 1,1.
It is usable as it was usable in HbIDE, but a lot of improvements/features
are planned lurking on my drawingboard. So just for now, you can play.
* contrib/hbide/actions.prg
- Deprecated: ideDBU opening inside dock widget. Removed this action from
<Main Menu><View> and also from <Dock Widgets Toolbar>.
! Fixed: Selection Mode toggle action not working in Selected-text Toolbar.
- contrib/hbide/browse.prg
- Removed: ideDBU source.
* contrib/hbide/docks.prg
% Adjusted: toggle actions.
* contrib/hbide/hbqtoolbar.prg
% Few refinements.
* contrib/hbide/main.prg
* contrib/hbide/parts.prg
* contrib/hbide/hbide.hbp
- Removed: browse.prg.
TODO: to remove resources consumed by ideDBU.
* harbour/src/compiler/hbmain.c
! fixed bug intorduced in my last commit when - PCODE ofr empty
strings "" were not generated if -km switch was not used
! fixed possible problem with allocating variable using dynamic
buffer for variable name
* minor code cleanup
* harbour/include/hbexprb.c
* harbour/include/hbcomp.h
* harbour/include/hbcompdf.h
* harbour/src/compiler/hbusage.c
* harbour/src/compiler/harbour.yyc
* harbour/src/compiler/harbour.y
* harbour/src/compiler/ppcomp.c
* harbour/src/compiler/hbmain.c
* harbour/src/compiler/cmdcheck.c
* harbour/doc/cmpopt.txt
* harbour/doc/xhb-diff.txt
+ added new harbour compiler switch:
-kd => accept macros with declared symbols
This switch allows to use declared symbols like LOCALs, STATICs
and FIELDs in macros and macrocodeblocks (every evaluated).
; Please do not confuse different things. Above modification
does not mean to that such variables are visible for macro
compiler. It only allows to write code like:
cbVar := {|| &cLocal + cPrivate }
or:
cbVar := {|| &cLocalPref.func&cPriv1( cPriv2 ) }
or:
? &cLocalPref.func&cPriv1( cPriv2 )
etc.
If possible then for macrocodeblocks Harbour compiler tries to
generate early eval code in which macros are expanded when codeblock
is created. Otherwise macros are expanded each time codeblocks are
evaluated.
For more information look at harbour/doc/xhb-diff.txt section:
MACROS WITH DECLARED SYMBOLS
* contrib/hbpgsql/tests/dbf2pg.prg
! avoid OEM/ANSI conversion.Will now convert from
current CP to UTF8.
+ CP can be set using '-cp <CP>' cmdline option.
* contrib/hbwin/hbwin.hbx
! updated
+ contrib/hbwin/oemansi.c
* contrib/hbwin/hbwin.hbp
* contrib/hbwin/hbwin.hbx
+ added WIN_OEMTOANSI() and WIN_ANSITOOEM(). These are
compatible with current core HB_OEMTOANSI()/HB_ANSITOOEM()
Usage of them is not recommended.
* contrib/hbxpp/oemansix.c
* CONVTOANSICP()/CONVTOOEMCP() changed to use local
implementation instead of relying on now deprecated
core OEM/ANSI functions
* src/rtl/oemansi.c
* HB_OEMTOANSI()/HB_ANSITOOEM() Windows-specific functions
deprecated with HB_LEGACY_LEVEL4 (meaning they will
disappear after next stable release). Either avoid
these calls completely (recommended) or change them to
hbwin or hbxbp equivalents.
* contrib/hbtip/thtml.prg
* contrib/hbtip/hbtip.hbx
* deprecated HtmlToAnsi(), HtmlToOem(), AnsiToHtml(), OemToHtml()
functions with HB_LEGACY_LEVEL4.
+ added TIP_STRTOHTML(), TIP_HTMLTOSTR() functions which cover
major above functionality, but in a portable and CP agnostic
way. Code untested, if you need it, test it and provide feedback
and/or fix.
* harbour/contrib/hbwin/hbwinole.h
* harbour/contrib/hbwin/olecore.c
+ added new public C functions:
VARIANT * hb_oleItemGetVariant( PHB_ITEM pItem );
PHB_ITEM hb_oleItemPutVariant( PHB_ITEM pItem, VARIANT * pVariant,
HB_BOOL fMove );
+ added new PRG functions:
create variant pointer item of given OLE type <nVariantType> and
initialize it with <xInitValue>
__oleVariant( <nVariantType> [, <xInitValue>] ) -> <pVariant>
extract Harbour value from variant pointer item
__oleVariantValue( <pVariant> ) -> <xAnyValue>
return OLE type of given variant pointer item
__oleVariantType( <pVariant> ) -> <nVariantType>
+ added support for variant pointer items passed as parameters to
OLE methods
! removed AddRef() sent to object returned by QueryInterface()
when VT_UNKNOWN Variant was updated. QueryInterface() should
already increase reference count for the returned object.
* modified default translation rule for VT_[U]I8 | VT_ARRAY variants.
Now they are converted to harbour strings items without any CP
translations. Before such variants were converted to array of
integers.
Warning! this modification is not backward compatible. If some
needs previous behavior then he should change create conversion
functions.
; Please test it. I made all this modifications in Linux without
any real tests.
* contrib/gtwvg/gtwvg.c
+ hb_gtInfo( HB_GTI_SETPOSANDSIZE ) returns the existing position
and size: { nX, nY, nWidth, nHeight } in pixels.
* contrib/hbqt/hbmk2_qt.hb
+ someObject:setHtml( cHtmlCode ) now reads the html text correctly
off a .ui file. This makes possible to draft html pages in
Qt creator itself and assigned to an relevant object, like
QLabel, QTextEdit, QTextBrowser, etc.
* utils/hbmk2/hbmk2.prg
* hbmk_OutStdRaw() and hb_OutErrRaw() hbmk2 plugin
API functions parameter list modified so that now they
expect hbmk context as first parameter.
INCOMPATIBLE.
! made sure that hbmk_OutStdRaw() and hbmk_OutErrRaw()
won't emit output in --hbinfo mode.
* contrib/hbqt/hbmk2_qt.hb
* utils/hbmk2/examples/plug_bis.hb
* updated as per above incompatible change
* contrib/make.hb
* minor
* utils/hbmk2/hbmk2.prg
! keep -trace mode turned off in --hbinfo mode, otherwise
some plugins (f.e. HBQT plugin) might litter the output
with their own messages, making the JSON output corrupt.
Thus problem might have caused that dependencies were
wrongly detected when HBQT was involved in the
dependency tree. Thanks to Lautaro for the report.
! further steps made that stray output is minimized in
--hbinfo mode. (though some raw plugin API call may
still generate output, it's yet to be done, and it will
API compatibility breakage in few calls)
* contrib/hbxbp/toolbar.prg
+ Added: to send a QIcon() along the text for a toolbar button.
* contrib/hbxbp/treeview.prg
! Minor. :setCaption() was not setting :caption value.
* harbour/include/hbpcode.h
! force PCODEs enumeration from zero - some compilers may
use different value what can cause problems with casting to bytes
* harbour/contrib/xhb/regexrpl.prg
! fixed hb_regexReplace() - hack for older HB_REGEXALL() code
could cause RTE
* contrib/hbexpat/3rd/expat/expat.dif
* contrib/hbexpat/3rd/expat/expat.h
* contrib/hbexpat/3rd/expat/expat.hbp
* contrib/hbexpat/3rd/expat/xmlparse.c
* contrib/hbexpat/3rd/expat/xmlrole.c
* contrib/hbexpat/3rd/expat/xmltok_i.c
* contrib/hbexpat/3rd/expat/xmltok.c
+ updated to 2.1.0 (from 2.0.1) using 3rdpatch
; fallouts possible on some platforms
* contrib/hbexpat/core.c
* contrib/hbexpat/hbexpat.hbx
+ added wrapper for (new in 2.1.0) XML_SETHASHSALT() function
* contrib/gtwvg/hbgtwvg.ch
+ Added: constants HB_GTE_CREATED and HB_GTE_CLOSED.
* contrib/gtwvg/gtwvg.c
* contrib/gtwvg/gtwvg.h
+ Implemented: two more events fired at PRG code, one when window
is created and another when window is closed. The events supply
a two element array: 1. Window Handle No 2. Thread Number.
These events will greatly help develop a rewarding GUI applns.
* contrib/gtwvg/parthdlr.prg
* contrib/gtwvg/crt.prg
+ Added: slot :notifierBlock( ... ) SETGET which accepts a block
from the application code which pass on designated events back.
* contrib/gtwvg/hbgtwvg.ch
! Fixed: wrong contant values for HB_GTS_SW_* constants.
* contrib/hbqt/hbmk2_qt.hb
+ Added: code to set right C++ callable function when a dock widget
was added to QMainWindow object.
+ doc/en/hbflock.txt
+ tests/tflock.prg
+ Documentation and test code for Harbour file locking functions
Contributed by Doug.
* tests/tflock.prg
* Code fixed to build in -w3 mode and simplified.
* contrib/hbformat/hbfmtcls.prg
! Fixed to indent OTHERWISE statement properly
! Fixed to not pad '++', '--' and '->' operators
! Fixed not uppercasing FOR/NEXT keywords
! Fixed not recognizing 'CREATE CLASS' as class declaration statement
! Fixed to not indent '//' comments
! Fixed to not add space between characters of codeblock operator '{|'
; Patches by Maurizio la Cecilia.
* contrib/hbformat/hbfmtcls.prg
% minor rework to not avoid using '=' (SET EXACT dependent)
operator and OTHERWISE/ELSE to be handled with adding
exception cases. Maurizio, please verify me.
* tests/db_brows.prg
* tests/testcdx.prg
* modified after testing new hbformat with them
* harbour/utils/hbmk2/hbmk2.prg
* harbour/config/win/bcc.mk
+ added support for BCC6.5 - please verify me.
; unicows library does not support BCC 6.5. BCC users who want
to compile Harbour should delete harbour/lib/3rd/win/bcc directory.
TODO: add build time option to disable unicows in windows harbour
builds
+ contrib/hbqt/tests/qtwvg.hbp
+ contrib/hbqt/tests/qtwvg.prg
+ Added: demonstration code to exploit the power of Qt with existing
GTWVT/GTWVG based applications. This demo opens a HbQt dialog
from where n number of GTWVG dialogs can be opened. This protocol
requires that your applications are MT based, at least for the
main application window to appear. Examine the code and adopt it
to your own advantage. This protocol opens up a vast horizon
for our console applications, believe me.
* harbour/config/dos/watcom.mk
* harbour/utils/hbmk2/hbmk2.prg
! cleaned and synced optimization flags which interacts with calling
convention
* harbour/src/3rd/zlib/zconf.h
! added missing export attribute in OS2 dll builds
* harbour/src/3rd/zlib/zlib.dif
* rediffed
* harbour/src/compiler/hbmain.c
* minor modification to pacify warning generated by some compilers
* harbour/src/rtl/gete.c
! added missing #include "hbapicdp.h" in DOS and OS2 builds
* harbour/src/rtl/gtdos/gtdos.c
! fixed typo
* harbour/contrib/3rd/sqlite3/sqlite3.hbp
! set SQLITE_OS_OTHER in Watcom OS2 builds - it does not support
PTHREAD and some OS extensions used in default SQLite builds
* harbour/src/rdd/workarea.c
! set FOUND flag in child workareas when non index but
record number relation is used - Clipper compatible behavior.
Many thanks to Davor Siklic for information about the problem
and self contain code example.