* contrib/hbqt/qtcore/hbqt_misc.prg
+ Implemented: object local "Slots" and "Events" management.
Now no need to setup slots and events variable. These are
automatically created on demand.
EVENTS:
oWnd := QMainWindow():new()
Earlier:
pEvents := Qt_Events_New()
oWnd:installEventFilter( ::pEvents )
Qt_Events_Connect( ::pEvents, oWnd, QEventClose, {|| MsgBox( "Closing" ) } )
Now:
oWnd:connect( QEvent_Close, {|| MsgBox( "Closing" ) } )
SLOTS:
oBtn := QPushButton():new()
Earlier:
pSlots := Qt_Slots_New()
Qt_Slots_Connect( pSlots, oBtn, "clicked()", {|| ... } )
Now:
oBtn:connect( "clicked()", {|| ... } )
This implementation fixes very old demand to isolate this glitch.
* contrib/hbqt/tests/demoqt.prg
% Demonstrates the new Slots and Events management protocol.
Still a part of old proto is also retained for comparison.
* contrib/hbide/hbide.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/idereportsmanager.prg
+ Renamed: IdeReportsManager() class to HbpReportsManager().
Also made this class totally independant to hbIDE engine.
This opens up the way to shift it to hbQT itself.
The only limitation is images. We need a way to include
a minimal set of images in hbQT ( if it makes sense ) so that
this component be invoked from any application just by supplying
a parent to host it, just like a COM component.
* harbour/contrib/sddmy/sddmy.c
* extended RDDINFO( RDDI_CONNECT, ) to support all parameters of MySql
connect, i.e. port, unix socket name, and client flags were added.
* package/mpkg_win_nightly.bat
+ Upload logs even if build failed.
; NOTE: On current build machine mingw suffers transient "segmentation
fault" failures. It may be a sign of hardware or OS problem.
This means missing nightly binaries for no apparent reason.
* contrib/hbide/hbide.prg
! SET DATE ANSI
* INSTALL
* Minor.
* contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.cpp
* contrib/hbide/resources/f-image.png
+ contrib/hbide/resources/r-page.png
+ contrib/hbide/resources/r-report.png
* contrib/hbide/hbide.qrc
* contrib/hbide/idemisc.prg
* contrib/hbide/idereportsmanager.prg
+ Implemented: ideReports Manager:
* "Objects" tree now showsup type of object icon.
* Rotate selected object clock wise and anti-clock wise.
Currently it is 10 deg per click. Later an interface
to rotate precisely to be introduced.
Rotated objects keep the exact aspect ratio. This is
testified on barcode which reads the correct string
after 90, 180, 270 and 360 deg rotation.
* Atarted API to separate this component from direct calls
to hbIDE to gather various info from the application.
Right now these are the images which now call app_image()
instead of hbide_image(). app_image() function will
reside in application so that this class be linked with
application independently of hbIDE.
* contrib/hbqt/qtgui/doc/en/class_hbqgraphicsitem.txt
* contrib/hbqt/qtgui/g/HBQGraphicsItem.cpp
* contrib/hbqt/qtgui/g/THBQGraphicsItem.prg
* contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.cpp
* contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.h
* contrib/hbqt/qtgui/qth/HBQGraphicsItem.qth
* contrib/hbide/idereportsmanager.prg
+ Implemented: ideReport Designer:
* Barcode 3of9 - the code belongs to someone I have no
idea now. Please speak out who he is so that I post
due credit to him. I had adopted this code for Vouch32
family of libraries many years back. Now adopted to
hbQT + hbIDE.
* Simple bar-chart.
Both above implementations are quick ones and I see a
lot of avenues for improvement which are scheduled to
be addressed later.
* harbour/contrib/hbwin/olecore.c
! added missing call to Release() method in __OleGetActiveObject()
function. It should fix problem reported by Daniel Garcia-Gil.
* contrib/hbqt/hbqt.ch
* contrib/hbqt/qtgui/doc/en/class_hbqgraphicsitem.txt
* contrib/hbqt/qtgui/g/HBQGraphicsItem.cpp
* contrib/hbqt/qtgui/g/THBQGraphicsItem.prg
* contrib/hbqt/qtgui/qth/HBQGraphicsItem.qth
* contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.cpp
* contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.h
* contrib/hbqt/qtgui/hbqt_hbqgraphicsscene.cpp
* contrib/hbide/hbide.qrc
* contrib/hbide/resources/f-image.png
+ contrib/hbide/resources/toback.png
+ contrib/hbide/resources/tofront.png
* contrib/hbide/idereportsmanager.prg
+ Advanced: ideReports Designer - many artifacts implemented:
* Synchronized "Objects" tree and objects on the "Page(s)".
Clicking either way is reflected to the other.
* Activated magnets - while dragging an object provides
guiding lines from other objects which are helpful in alignment.
* Corrected reszing behavior. Now handles are located with ease.
* Text display management improved.
* Added more methods to control futuristic features.
* Many other small improvements difficult to explain.
* contrib/hbide/idemisc.prg
* contrib/hbide/idereportsmanager.prg
% Dragging the icons on left-toolbar of ideReports Designer
place a rectangular object on the page, experimentations.
* contrib/hbqt/qtgui/hbqt_hbqgraphicsrectitem.cpp
* contrib/hbqt/qtgui/hbqt_hbqgraphicsrectitem.h
+ A lot of structural changes.
* contrib/hbide/idereportsmanager.prg
* contrib/hbide/idetoolbar.prg
+ Advanced: "Page" management and "objects" placement.
Page presented is now true to A4 size with margins.
Objects placement is achieved to be dropped exactly at the cursor position.
To play with: try to drag "Rect" node in "Data" tree onto page surface.
Use multiple iterations, move at will the rectangles.
* harbour/include/hbpp.h
* harbour/src/pp/ppcore.c
+ added new result marker <@> which creates token significant for PP but
invisible for compiler.
This extenssion allows to resolve problem with circular rules in very
easy way, i.e.
#command function <!name!>( [@]<!par1!> [:= <val1>] ;
[, [@]<!parN!> [:= <valN>]] ) => ;
function <name>( <par1> [, <parN> ] ) <@>
+ package/mpkg_win_nightly.bat
+ Added nightly binary builder script. Relocatable.
Makes unified Windows build. Regular target builds
also supported.
Unified build currently has mingw and bcc enabled.
- package/winuni/mpkg_win_uni_extra_copy.bat
* package/winuni/mpkg_win_uni.bat
* package/winuni/mpkg_win_uni.nsi
+ Made it fully configurable, removed any hard-wired
version numbers, .nsi now fully modular, manual steps
no more required.
- package/mpkg_nightly.sh
+ package/mpkg_src_nightly.sh
* Renamed.
* utils/hbmk2/hbmk2.prg
+ Added extension to license. Pls read it, especially projects
including hbmk2 or modified version of hbmk2 (f.e. MiniGUI).
Help text and documentation is now covered by Creative Commons
Attribution-ShareAlike 3.0.
Plus some restriction to not tear hbmk2 off of Harbour Project,
to clearly show modified nature and always distribute modified
source.
My intent is to leave hbmk2 as coherent part of Harbour,
possibly unmodified and my name not stripped.
* config/global.mk
% Minor opt.
* package/mpkg_nightly.sh
! Harmless typo.
* package/winuni/RELNOTES
* Updated.
* INSTALL
+ Some binary link.
* utils/hbmk2/hbmk2.prg
! Changed the way links are installed. This should fix it
for win platform.
* Will now delete link before trying to create it in install phase.
* contrib/hbqt/qtgui/g/QGraphicsScene.cpp
* contrib/hbqt/qtgui/qth/QGraphicsScene.qth
% Fixed: GPF on exit. QGraphicsScene:addItem() is owned by the scene.
* include/hbcomp.h
* src/macro/macro.yyc
* src/macro/macro.y
* src/macro/macrolex.c
* src/compiler/hbmain.c
* src/compiler/complex.c
* src/compiler/harbour.yyc
* src/compiler/harbour.y
* Changed prefix used for bison generated function prefix
(hb_comp -> hb_comp_yy, hb_macro -> hb_macro_yy)
; Pls review.
This avoids collision between hb_macroError/hb_macroerror
for obsolete tools like bcc implib which uses case-insensitive
symbol lookup by default)
* package/winuni/mpkg_win_uni_extra_copy.bat
+ Added trick to generate special implib for core .dlls so
that now bcc can use the regular Harbour one and doesn't
need the special '-bcc' postfixed version to be shipped.
An ugly trick for an obsolete compiler.
(release process now requires bcc implib tool because of this)
* utils/hbmk2/hbmk2.prg
+ Added -c option to implib calls. This fixes implib generation
for certain .dlls, like OpenSSL.
* contrib/hbqt/utils/qtgui.qtp
* contrib/hbqt/qtcore/g/QByteArray.cpp
* contrib/hbqt/qtcore/qth/QByteArray.qth
* contrib/hbqt/qtgui/qth/QMouseEvent.qth
+ contrib/hbqt/qtgui/qth/HBQGraphicsRectItem.qth
+ contrib/hbqt/qtgui/doc/en/class_hbqgraphicsrectitem.txt
+ contrib/hbqt/qtgui/g/HBQGraphicsRectItem.cpp
+ contrib/hbqt/qtgui/g/THBQGraphicsRectItem.prg
* contrib/hbqt/qtgui/g/QMouseEvent.cpp
* contrib/hbqt/qtgui/g/hbqtgui.h
* contrib/hbqt/qtgui/g/filelist.hbm
+ contrib/hbqt/qtgui/hbqt_hbqabstractitemmodel.cpp
+ contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.cpp
+ contrib/hbqt/qtgui/hbqtgui.hbm
+ Added: one more class and set constructors right for others.
* contrib/hbide/hbide.prg
* contrib/hbide/ideactions.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideobject.prg
* contrib/hbide/idereportsmanager.prg
* contrib/hbide/idethemes.prg
* contrib/hbide/idetoolbar.prg
% Fixed: a bug in "Highlighting Themes" - reported on FWH forums.
+ Implemented: "Toggle Animation" and "Toggle Statusbar" <View> menu options
now show toggle indicators in the menu also.
+ Advanced: drag and drop from QTreeWidget() and QToolButto().
These are the building blocks for Harbour's Report Generator ( thought-of ).
+ contrib/hbqt/qtgui/doc/en/class_hbqgraphicsitem.txt
+ contrib/hbqt/qtgui/g/HBQGraphicsItem.cpp
+ contrib/hbqt/qtgui/g/hbqtgui.h
+ contrib/hbqt/qtgui/g/THBQGraphicsItem.prg
* contrib/hbqt/qtgui/g/filelist.hbm
+ contrib/hbqt/qtgui/qth/HBQGraphicsItem.qth
+ contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.cpp
+ contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.h
* contrib/hbqt/qtgui/hbqtgui.hbm
* contrib/hbqt/utils/qtgui.qtp
+ Added: HBQGraphicsItem() inheriting QGraphicsItem.
It is necessary to recieve many events which otherwise are
not possible via plain .prg code.
* harbour/include/hbpp.h
! typo in comment
* harbour/src/pp/ppcore.c
! fixed to not include file by #pragma __*streaminclude <file> | ...
used inside code disabled by #if* condition, i.e.
#if 0
#pragma __streaminclude "file.unknown" | ? %s
#endif
! fixed memory leak and unclosed file handle when too long file was
included by #pragma __*streaminclude <file> | ...
! fixed line numbering in code using
#pragma __*streaminclude <file> | ...
! fixed possible wrong preprocessing or even GPF in code using
#pragma __*streaminclude <file> | ...
indirectly (i.e. by some other PP directives) or more then once
in single line (i.e. using ';' as directive separator)
* contrib/hbqt/qtcore/hbqt_hbslots.cpp
* contrib/hbqt/qtcore/hbqt_hbslots.h
+ Added: one more signal to manage QGraphicsScene.
* contrib/hbqt/qtgui/qth/QGraphicsView.qth
* contrib/hbqt/qtgui/g/QGraphicsView.cpp
% Fallen back to my original method of pointer propogation up its parent.
I was hoping to get success with Bacco's patched "p->type" implementation.
TODO: clean other QGraphics* classes.
* contrib/hbide/idereportsmanager.prg
+ Started: QGraphics* based ideReportManager's implementation.
* contrib/hbxbp/xbptreeview.prg
! Changed: context-menu implementation protocol.
* contrib/hbide/idedocks.prg
* contrib/hbide/ideedit.prg
* contrib/hbide/idetoolbar.prg
! Fixed: many artifacts reported on FWH forum.
% Applied: IdeToolbar() class to editors area top and left toolbars.