* contrib/hbide/ideprojmanager.prg
% Fixed: ( hopefully ) the OS path syndrome when a .hbp from
Windows is ported to *nixes.
* contrib/hbide/ideedit.prg
! Minor.
* contrib/hbide/idedocks.prg
+ Implemented: MDI Editing Area - LeftToolbar - Actions:
1. Show Maximized: turns all panels in maximized mode.
In this mode MDI and Stacked protocols are almost the same,
though, MDI mode has many other advantages than Stacked one.
2. Show Stacked Vertically: viewport is distributed in equal
parts vertically and each panel is assigned this much height.
Width of the panel is limited to viewport width. In this
mode "Stats" panel is not considered.
3. Show Stacked Horizontally: viewport is distributed in
equal parts horizontally and each panel is assigned this
much width. Height of the panels equals viewport height.
4. Zoom-in: If view mode is "Stacked Vertically | Horizontally",
then per zoom-in increases the height|width of the panel by
25% more than the current. Zoom-in and zoom-out are never in the
same ratio.
If hbIDE is closed in maximized state, it is presented the same
at next run. This is not true for Vertical|Horizontal stacked view.
The reason is size of the viewport is not determined at the time
of panel creation.
Icons on the toolbar are not representing the actions properly,
and hence are subject to change.
* contrib/hbide/idedocks.prg
* contrib/hbide/ideedit.prg
% A hacked fix: to context menu actions inside editor, reported at FWH forum.
% Fixed: switching over to non-MDI mode from MDI mode was
raising RTE.
+ contrib/hbct/hbct.hbx
+ Added automatically generated extern puller code.
* contrib/hbct/ctextern.prg
* contrib/hbct/ctextern.ch
* Changed to simply include hbct.hbx for backward compatibility.
* contrib/make.hbs
! Fixed to exclude HB_GT_*_DEFAULT symbols.
! Fixed RTE for projects which have no output name, f.e.
because they are unsupported on given platform/compiler.
; NOTE: libname.hbx is not good as if compiled the object name
will collide with often used libname.prg.
* contrib/make.hbs
+ Will now automatically generate EXTERN lists for libs if
using HB_REBUILD_EXTERN=yes setting and GCC compiler.
Pls note that after regeneration a new build pass is
required to reflect the changes in final binaries.
NOTE: I chose the .hbx extension for EXPORT code.
Pls comment on it (adding a postfix to regular
.prg or .ch extension is not an option as it won't
fit the 8.3 filename limit).
* Changed --hbinfo call to pass parameters just like the
"real" hbmk2 call, to get correct information about
the project.
% Minor optimizations.
* utils/hbmk2/hbmk2.prg
+ --hbinfo extended to return 'outputname'.
* INSTALL
+ Documented HB_REBUILD_EXTERN
* contrib/hbct/hbct.hbp
+ contrib/hbct/ctextern.prg
+ Added extern puller .prg (suggested by Przemek)
This fixes dynamic loading of hbct dynamic lib.
We need a system which keeps these files updated for
every contribs.
* contrib/hbct/video.c
! Fixed to always define functions (not just in dos targets)
! Fixed warnings that came up along the way.
! Fixed to return compatible type on non-dos.
* contrib/hbct/ctextern.ch
+ Updated with current function list.
* contrib/make.hbs
! Fixed to propagate make options also to "contained"
projects. Currently these are the HBQT subprojects
referenced from hbqt.hbp container project file.
Before f.e. clean option was not effective on these
projects.
* contrib/hbqt/utils/hbqtgen.prg
* contrib/hbqt/qtgui/g/hbqtgui_extern.ch
* contrib/hbqt/qtwebkit/g/hbqtwebkit_extern.ch
* contrib/hbqt/qtcore/g/hbqtcore_extern.ch
* contrib/hbqt/qtnetwork/g/hbqtnetwork_extern.ch
* contrib/hbqt/qscintilla/g/hbqscintilla_extern.ch
* contrib/hbqt/qtdesigner/g/hbqtdesigner_extern.ch
* Use EXTERNAL instead of REQUEST to be in sync with rest
of files in Harbour.
* contrib/hbqt/qtgui/hbqtgui.hbc
* contrib/hbqt/qtwebkit/hbqtwebkit.hbc
* contrib/hbqt/qtcore/hbqtcore.hbc
* contrib/hbqt/qtnetwork/hbqtnetwork.hbc
* contrib/hbqt/qscintilla/hbqscintilla.hbc
* contrib/hbqt/qtdesigner/hbqtdesigner.hbc
- Deleted hack not required anymore after '2010-08-03 09:07 UTC+0200 Viktor Szakats'
* contrib/hbqt/hbqt.hbp
- Commented qtwebkit and qtdesigner sub-components. qtwebkit
still isn't available on several systems (Linux f.e.), so pbly extra
dependency detection should be added, and qtdesigner is not used.
Seeing lack of positive reaction about these components (and recent
moves whatsoever), it's better to concentrate on more interesting
things now and not waste more CPU/brain cycles on that.
BTW if someone is interested in them, they can be built using .hbp file,
pls send patches if you find them broken.
* include/hbgtcore.h
* include/hbapifs.h
* include/hbapi.h
+ Added HB_EXPORT flag to these functions: (required by xhb, gtwvg and minizip)
hb_gt_ItemBase()
hb_gt_gcMark()
hb_gt_winapi_setClipboard()
hb_gt_winapi_getClipboard()
hb_gt_winapi_getKbdState()
hb_gt_winapi_setKbdState()
hb_gt_winapi_tone()
hb_fsAttrFromRaw()
hb_fsAttrToRaw()
hb_fsAttrEncode()
hb_fsAttrDecode()
hb_fopen()
hb_gcCollect()
hb_gcCollectAll()
; TOFIX: I didn't want to add these as they look heavily internal (some even
marked as such, they are all used by xhb lib:
hb_stackBaseOffset()
hb_stackItem()
hb_stackBaseProcOffset()
hb_stackWithObjectOffset()
* contrib/gtalleg/gtalleg.hbm
! Fixed missing -a implib flag for bcc.
* contrib/hbqt/qscintilla/hbqscintilla.hbc
+ Added lib dependency name.
* contrib/hbide/hbide.prg
! Fix to prev.
* utils/hbmk2/hbmk2.prg
+ Added trick to filter out target lib name from input lib list -hblib
mode and to filter out target implib name from input lib list in
-hbdyn mode. This fixes problems when linking -hbdyn by speccing both
project .hbp and .hbc files. I'm still thinking of a better solution
to solve this problem.
* contrib/make.hbs
! Fixed recent bug in filter processing.
* include/hbapi.h
+ Added HB_EXPORT to hb_releaseCPU(), hb_idle*() and hb_cmdarg*() functions.
* contrib/hbide/idemisc.prg
* contrib/hbide/hbide.ch
* contrib/hbide/hbide.prg
* Cleanup.
+ contrib/hbide/updown_v.ui
+ Added: widget to expose <Next><Previous>Top><Bottom><Highlight> buttons
for selected text.
* contrib/hbide/hbide.hbp
* contrib/hbide/idebrowse.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/idemisc.prg
% Swapped: editing MDI area's top-toolbar actions with
left-toolbar. Now the visual elements are synchrinized
with how we are used to view these actions.
+ Implemented: in MDI editors mode, actions to navigate
selection for <Next><Prev..> etc exposed via left toolbar.
These actions are shown enabled only if there is active
selection text is visible, either by double clicking on a
word or by virtue of Find/Replace dialog. It fixes the
visual irritating artifact discussed recently.
+ Implemented: MDI editing panels are now remembered for
their last state for the next run. It effectively means
that if a panel(s) are left maximized, minimized, cascaded,
tiled, under tabbed view or subwindowed view, next run
correctly position all of them. This is on top of your
own layout which you would have saved earlier, which can ever
be brought back by clicking on "View as arranged" icon.
* contrib/hbqt/utils/hbqtgen.prg
+ Will now generate hbqt*_extern.ch with REQUEST for all
classed contained in given lib.
+ contrib/hbqt/qtgui/g/hbqtgui_extern.ch
+ contrib/hbqt/qtwebkit/g/hbqtwebkit_extern.ch
+ contrib/hbqt/qtcore/g/hbqtcore_extern.ch
+ contrib/hbqt/qtnetwork/g/hbqtnetwork_extern.ch
+ contrib/hbqt/qscintilla/g/hbqscintilla_extern.ch
+ contrib/hbqt/qtdesigner/g/hbqtdesigner_extern.ch
* contrib/hbqt/qtgui/hbqtgui.hbp
* contrib/hbqt/qtwebkit/hbqtwebkit.hbp
* contrib/hbqt/qtcore/hbqtcore.hbp
* contrib/hbqt/qtnetwork/hbqtnetwork.hbp
* contrib/hbqt/qscintilla/hbqscintilla.hbp
* contrib/hbqt/qtdesigner/hbqtdesigner.hbp
+ Added hbqt*_extern.ch files.
+ contrib/hbxbp/hbxbp_extern.ch
* contrib/hbxbp/hbxbp.hbp
+ Added REQUEST list for hbxbp.
* contrib/hbide/idemisc.prg
- Deleted usrrdd hack not mentioned in ChangeLog.
+ Changed to use new hbqt*_extern.ch and hbxbp_extern.ch files
instead of rolling a private list of external lib functions.
* src/rdd/usrrdd/usrrdd.c
+ Readded old mistyped function name guarded with HB_LEGACY_LEVEL3.
WARNING: Change UR_SUPER_WRITEBHEADER() to UR_SUPER_WRITEDBHEADER()
in your code.
* include/hbapidbg.h
+ Added HB_EXPORT to the complete hb_dbg*() API set.
This should fix -shared -b builds on win/wce when
using non-mingw compiler.
* src/vm/hvm.c
* Formatting.
* contrib/make.hbs
! Fixed minor but fatal problem in .hdb creation for contribs.
+ Will now create docs also for projects referenced from
project list, but not actually on it (qt sub-projects).
* utils/hbmk2/hbmk2.prg
! Fixed regression where -head=native would miss the header dir options
when doing the header detection.
+ Added TOFIX about (experimental) -autohbc not working with -inc option.
* contrib/hbqt/qtgui/qth/QMainWindow.qth
* contrib/hbqt/qtgui/qth/QGridLayout.qth
* contrib/hbqt/qtgui/qth/QTableWidget.qth
* contrib/hbqt/qtgui/qth/QWidget.qth
* contrib/hbqt/qtgui/qth/QLayout.qth
* contrib/hbqt/qtgui/qth/QToolBar.qth
* contrib/hbqt/qtgui/qth/QListWidget.qth
* contrib/hbqt/qtgui/qth/QTreeWidgetItem.qth
* contrib/hbqt/qtgui/qth/QBoxLayout.qth
* contrib/hbqt/qtgui/qth/QTabWidget.qth
* contrib/hbqt/qtgui/qth/QMenu.qth
* contrib/hbqt/qtgui/qth/QTreeWidget.qth
* contrib/hbqt/qtgui/hbqt_hbqabstractitemmodel.cpp
* contrib/hbqt/qtcore/hbqt.h
* contrib/hbqt/qtcore/hbqt_destruct.cpp
* contrib/hbqt/qtcore/hbqt_base.cpp
* contrib/hbqt/utils/hbqtgen.prg
* Renamed QT_G_FUNC* and QGC_POINTER to have HBQT prefix
and be little bit more convenient, though new names are
still not perfect.
* contrib/hbqt/qtgui/g/*
* contrib/hbqt/qtcore/g/*
* contrib/hbqt/qtnetwork/g/*
* contrib/hbqt/qscintilla/g/*
* contrib/hbqt/qtdesigner/g/*
* contrib/hbqt/qtwebkit/g/*
* Regenerated.
; TOFIX: qt docs are not currently converted to .hbd.
I will deal this in the future, anyhow nobody
uses .hbd yet, so it not a loss.
* harbour/src/rdd/dbcmd53.c
* removed one redundant casting
* harbour/package/mpkg_rpm.sh
! move source code archive to RPM directory structure to
not leave it after creating RPMs
* harbour/package/mpkg_src.sh
! fixed to work correctly after moving from root directory
- harbour/package/harbour-win.spec
+ harbour/package/harbour-win.spec.in
* harbour/package/mpkg_rpm_win.sh
- harbour/package/harbour-wce.spec
+ harbour/package/harbour-wce.spec.in
* harbour/package/mpkg_rpm_wce.sh
! renamed cross build .spec files to fix -ta option
To keep this functionality working only one file in tar archive
can have .spec extension
+ contrib/hbqt/hbqt_common.hbc
* contrib/hbqt/hbqt_common.hbm
* contrib/hbqt/hbqtcore.hbc
- contrib/hbqt/hbqtcore.hbp
- contrib/hbqt/hbqtcores.hbp
- contrib/hbqt/hbqtcore_filelist.hbm
+ contrib/hbqt/qtgui/hbqtgui.hbc
+ contrib/hbqt/qtgui/hbqtgui.hbm
+ contrib/hbqt/qtgui/hbqtgui.hbp
+ contrib/hbqt/qtgui/hbqtguis.hbp
- contrib/hbqt/hbqtgui_filelist.hbm
+ contrib/hbqt/qtcore/hbqtcore.hbc
+ contrib/hbqt/qtcore/hbqtcore.hbm
+ contrib/hbqt/qtcore/hbqtcore.hbp
+ contrib/hbqt/qtcore/hbqtcores.hbp
- contrib/hbqt/hbqtgui.hbp
- contrib/hbqt/hbqtguis.hbp
- contrib/hbqt/hbqtnetwork.hbp
- contrib/hbqt/hbqtnetworks.hbp
+ contrib/hbqt/qtnetwork/hbqtnetwork.hbc
+ contrib/hbqt/qtnetwork/hbqtnetwork.hbp
+ contrib/hbqt/qtnetwork/hbqtnetworks.hbp
* contrib/hbplist
* Moved as much as possible make logic to components.
(left central .hbc file to make autofind happy
and hide internal layout details from users)
! Missed some files form prev commits.
+ contrib/hbqt/hbqt.hbp
+ Readded central make file to make it easy to build all
sub-components at once.
- contrib/hbqt/generator2
+ contrib/hbqt/generator/hbqtgen2.prg
+ contrib/hbqt/generator/QtGui.txt
+ contrib/hbqt/generator/QtCore.txt
+ contrib/hbqt/generator/QtNetwork.txt
* Moved generator2 code to generator dir.
* contrib/hbqt/generator/qtcore.qtp
* contrib/hbqt/generator/qtgui.qtp
- contrib/hbqt/qtcore/THBQAbstractItemModel.prg
- contrib/hbqt/qtcore/HBQAbstractItemModel.cpp
+ contrib/hbqt/qtgui/THBQAbstractItemModel.prg
+ contrib/hbqt/qtgui/HBQAbstractItemModel.cpp
* contrib/hbqt/qtgui/filelist.hbm
* contrib/hbqt/qtcore/filelist.hbm
* contrib/hbqt/qtgui/hbqtgui_garbage.h
* contrib/hbqt/qtcore/hbqtcore_garbage.h
* contrib/hbqt/hbqtgui_filelist.hbm
* contrib/hbqt/hbqtcore_filelist.hbm
* Moved GUI dependent classes to hbqtgui.
* contrib/hbqt/hbqt_common.hbm
* contrib/hbqt/hbqtcore.hbc
+ Added my copyright.
* contrib/hbqt/hbqtcore.hbc
+ Added TOFIX about slots subsystem making qtgui references.
* contrib/hbqt/generator/hbqtgen.prg
- Deleted more inactive code.
* contrib/hbqt/hbqt_errorsys.prg
* contrib/hbqt/THbQtUI.prg
* contrib/hbqt/hbqtgui_filelist.hbm
* contrib/hbqt/hbqtcore_filelist.hbm
* contrib/hbqt/hbqt_misc.prg
! Fixed to throw RTE instead of displaying uncontrollable msgbox.
* QT errorsys now calls hbqt_messagebox() directly.
% hbqt_messagebox() moved inside errorsys code and made static.
! Moved QT errorsys to hbqtgui subsystem. Overriding default
errorsys is only required for apps using QT GUI subsystem.
; I didn't test the actual code, so there might be stupid typos
left, pls test me.
* contrib/hbqt/doc/en/*
* Changed after regeneration (due to some last minute changes in
prev commit)
* utils/hbmk2/hbmk2.prg
% normalize rebased sources paths (mingw, *nix/gcc).
- contrib/hbqt/generator/qt45.qtp
+ contrib/hbqt/generator/qtcore.qtp
+ contrib/hbqt/generator/qtnetwork.qtp
+ contrib/hbqt/generator/qtgui.qtp
* Split monolithic .qtp to components.
! Moved QUiLoader to qtgui (from qtcore) to fix circular component
dependency.
* contrib/hbqt/generator/hbqtgen.prg
+ Rewrote to avoid internal tricks to detect which class belongs to
which component.
+ Changed to create GC related functions on a per-component bases
(instead of monolithic hbqt_garbage.h).
* Changed to save documents using core hbdoc API.
% Deleted some unused functions and variables.
; After these changes the generator doesn't have any hard-coded
information about components, so it can be extended with new
one via new .qth files.
* contrib/hbqt/qtgui/*
* contrib/hbqt/qtcore/*
* contrib/hbqt/qtnetwork/*
* contrib/hbqt/doc/en/*
* Regenerated.
- contrib/hbqt/qtcore/TQUiLoader.prg
- contrib/hbqt/qtcore/QUiLoader.cpp
+ contrib/hbqt/qtgui/QUiLoader.cpp
+ contrib/hbqt/qtgui/TQUiLoader.prg
! Moved QUiLoader to qtgui (from qtcore) to fix circular component
dependency.
* contrib/hbqt/qth/QUrl.qth
! Fixed to not inherit from class present in qtgui.
(fixes dependency)
* contrib/hbqt/hbqt.h
- contrib/hbqt/hbqt_garbage.h
* contrib/hbqt/hbqt_hbevents.h
* contrib/hbqt/hbqt_hbslots.h
+ contrib/hbqt/qtcore/hbqtcore_garbage.h
+ contrib/hbqt/qtgui/hbqtgui_garbage.h
+ contrib/hbqt/qtnetwork/hbqtnetwork_garbage.h
- Deleted central header for GC functions.
+ Added per component GC function header.
- contrib/hbqt/filelist.hbm
- contrib/hbqt/hbqt.hbc
- contrib/hbqt/hbqt.hbp
- contrib/hbqt/hbqtmain.hbp
- contrib/hbqt/hbqtmains.hbp
- Deleted central hbqt holder project and .hbc file.
+ contrib/hbqt/hbqtcore.hbc
* contrib/hbqt/hbqtcore.hbp
* contrib/hbqt/hbqtcores.hbp
* contrib/hbqt/hbqtgui.hbp
* contrib/hbqt/hbqtguis.hbp
+ contrib/hbqt/hbqtgui_filelist.hbm
* contrib/hbqt/hbqtnetwork.hbp
* contrib/hbqt/hbqtnetworks.hbp
+ contrib/hbqt/hbqtcore_filelist.hbm
+ Merged qtmain lib content to qtcore and qtgui. This finally
drops the need for an additional wrapper lib compared to qt ones,
and it fixes build dependencies.
Formerly libs had circular dependencies, now qtcore is the
main lib and other qt* libs depend on this central one.
* contrib/hbqt/hbqt_common.hbm
+ Added qtcore to header path list.
* contrib/hbqt/tests/hbmk.hbm
* contrib/hbqt/tests/wvtqt.hbp
* contrib/hbxbp/hbxbp.hbc
* Updated to include per component .hbc files instead of
central hbqt.hbc.
* contrib/hbplist
* Changed central hbqt project to its three components.
* contrib/hbxbp/tests/wvtqt.hbp
! Fixed hbc reference.
; After these changes, the qt lib layout is much cleaner and
it makes it possible to build .dll versions of them. Except
still one issue.
; TODO: Further cleanup to file layout. Componentize docs,
qth files, move files in central dir to component dirs.
; TOFIX: hbqtcore references qtgui in QMESSAGEBOX() which is a
hbqtgui function. This has to be fixed. hbqtcore.dll is
not build because of this.
The easiest would be to rewrite HBQT_MESSAGEBOX() in
C++ to use QMessageBox QT class directly and place
this function into hbqtcore.
Pritpal, can you do it?
; TOFIX: If this is done it would be also good to fix hbqtcore -> qtgui
dependencies. Currently this is QMessageBox plus some stuff
referenced from hbqt_hbqabstractitemmodel.cpp. This latter
can pbly be solved by moving this HB class to hbqtgui.
* contrib/gtwvg/wvgscrlb.prg
% Reversed the order of structures to comply with current scenario.
* contrib/hbide/setup.ui
+ Added: checkbox: Edits MDI.
* contrib/hbide/hbide.prg
* contrib/hbide/ideactions.prg
* contrib/hbide/idebrowse.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/idesaveload.prg
* contrib/hbide/idetools.prg
+ Implemented: MDI interface for editing panels.
This implementation is on top of existing one and is switchable
through "Setup->Edits MDI". For now it is "ON" by default just
to give a first-hand experience to the user and show advantages
it has over existing one.
LAYOUT: Editing area is comprised of :
1. Top toolbar
Collection of actions which affect the presentation of
panels, windows hosting them and editors.
2. Left toolbar
Collection of actions which affect editing instances.
3. MDI Area
Hosting panels inside MDI windows.
4. Various panels in MDI area, each separate in a MDI window:
a. <Stats>
Holds: <Welcome> and <FAQ> tabs.
b. <Main> panel, the default one, always present.
c. <User-defined Panel 1>
<User-defined Panel 2>
<User-defined Panel n>
Holds: n number of editing instances each per tab in a tabbed widget.
Every panel has the same behavior as before.
All features are exactly the same as before.
ADVANTAGES: allows to view and edit multiple sources simultaneous.
: better organization of sources across logical development units.
Regression is possible though every care has been taken for accuracy.
Toggling MDI to Stacked mode is not in-place, hbIDE needs to be exetuted
again to take this change active.
* utils/hbmk2/hbmk2.prg
* Changed to not give fatal error if cmdline (or .hbp)
didn't contain any sources. Just warn. Required for hbqt.hbp,
which is a holder project without own output.
; NOTE: BTW HBQT fails very badly on any dynamic lib creating
attempt, and the reason is that it's still a monolithic
lib under the surface, just split some files into separate
libs to avoid cmdline length.