* contrib/gtwvg/gtwvg.c
* contrib/gtwvg/gtwvg.h
* Synced color RGB values with GTWVT.
* contrib/hbgd/hbgd.hbc
! Fixed to reference hbct lib. hbgd requires it for
some math functions.
* contrib/hbxpp/Makefile
* contrib/hbxpp/hbxpp.ch
+ contrib/hbxpp/xppopc.c
+ contrib/hbxpp/xppop.prg
+ contrib/hbxpp/tests/opover.prg
+ Added support for 'string[ n ]' syntax.
Note, you have to #include "hbxpp.ch" to activate it.
(of course you can pick the logic and copy it to app
code, it's only two lines)
(copied and adapted from existing xhb lib implementation)
* contrib/xhb/xhbmsgs.c
! Fixed HB_LONG -> HB_ISIZ
* contrib/hbxpp/hbxppext.ch
* Updated.
* contrib/hbqt/gtqtc/gtqtc.cpp
* contrib/hbqt/gtqtc/gtqtc.h
* contrib/hbqt/gtqtc/Makefile
! Fixed to work with current location and non-UNICODE builds.
+ contrib/hbide/resources/harbour_splash.png
* contrib/hbide/resources/themesex.ui
* contrib/hbide/resources/themesex.uic
* contrib/hbide/hbide.prg
* contrib/hbide/ideactions.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideobject.prg
* contrib/hbide/idesaveload.prg
* contrib/hbide/idethemes.prg
+ Splash screen popping up at the startup before main
window is displayed. Your comments are welcome.
! Enabled menu options which were accidentally got disabled some
time back, do not remember - why.
! Themes: centralized "Set as Default" option in "Images" dialog.
Removed from <Setup> menu option.
! Some more rationalizations.
* contrib/hbziparc/hbziparc.prg
! Fixed HB_ZIPFILE() not working properly with a password set.
* include/hbgtinfo.ch
! Fixed comment for HB_GTI_PALETTE.
* harbour/contrib/hbxpp/tthreadx.prg
+ added paramter validation in THREAD:setInterval() and
THREAD:setStartTime()
+ added support for THREAD:startTime
* updated TODO notes
* src/pp/ppcore.c
* src/compiler/cmdcheck.c
* src/compiler/hbusage.c
* include/hbpp.h
- Deleted -kl option. "multiline strings" converted back
to build-time option. It's not a documented option anymore,
usage is not recommended. See 2010-02-24 20:04 UTC+0100
for valid alternatives.
* harbour/src/vm/hvm.c
+ added internal PRG function __QUITCANCEL()
* harbour/contrib/hbxpp/Makefile
+ harbour/contrib/hbxpp/sleepx.prg
+ added xbase++ compatible prg function SLEEP( <nHSeconds> ) -> NIL
* harbour/contrib/hbxpp/tthreadx.prg
! renamed TTHREAD class to THREAD and TSIGNAL to SIGNAL - I had to
wrongly understood xbase++ documentation sent to the least.
! made THREAD:threadSelf() method exported
+ added full support for THREAD:QUIT( [<xResult>] [,<nRestart>] )
! initialize THREAD:startCount and ThreadObject() value before executing
THREAD:atStart[()] method and codeblock
% simplified emulation of xbase++ like behavior of THREAD:atStart[()]
and THREAD:atEnd[()], in such context it's not necessary to use
__ClsMsgType()
% simplified THREAD:execute() method calling
+ added proper THREAD:deltaTime setting
! do not use THREAD:startTime to store thread start time
! fixed thread restarting when THREAD:interval is set to use
calculated THREAD:deltaTime instead of fixed delay defined
by THREAD:interval
* contrib/hbide/resources/docviewgenerator.ui
* contrib/hbide/resources/docviewgenerator.uic
* contrib/hbide/resources/environments.ui
* contrib/hbide/resources/environments.uic
* contrib/hbide/resources/finddialog.uic
* contrib/hbide/resources/findinfiles.uic
* contrib/hbide/resources/findinfilesex.ui
* contrib/hbide/resources/findinfilesex.uic
* contrib/hbide/resources/findsource.uic
* contrib/hbide/resources/mainwindow.uic
* contrib/hbide/resources/projectproperties.uic
* contrib/hbide/resources/projectpropertiesex.ui
* contrib/hbide/resources/projectpropertiesex.uic
* contrib/hbide/resources/searchreplace.ui
* contrib/hbide/resources/searchreplace.uic
* contrib/hbide/resources/searchreplacepanel.ui
* contrib/hbide/resources/searchreplacepanel.uic
* contrib/hbide/resources/selectionlist.uic
* contrib/hbide/resources/selectproject.uic
* contrib/hbide/resources/skeletons.ui
* contrib/hbide/resources/skeletons.uic
* contrib/hbide/resources/themes.uic
* contrib/hbide/resources/themesex.ui
* contrib/hbide/resources/themesex.uic
! A thourough uniform naming protocol adapted.
+ contrib/hbide/resources/harbourhelp.png
+ contrib/hbide/resources/projectstree.png
+ contrib/hbide/resources/richtext.png
+ contrib/hbide/resources/syntaxhiliter.png
+ contrib/hbide/resources/tabs.png
* contrib/hbide/resources/blockcomment.png
+ contrib/hbide/resources/codeskeletons.png
* contrib/hbide/resources/dc_function.png
+ Added more images.
* contrib/hbqt/hbqt_hbslots.cpp
* contrib/hbqt/hbqt_hbslots.h
+ Added slots for QDockWidget().
* contrib/hbqt/THbQtUI.prg
! Refined destructor.
* contrib/hbide/hbide.prg
* contrib/hbide/ideactions.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/ideharbourhelp.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/ideobject.prg
* contrib/hbide/ideprojmanager.prg
* contrib/hbide/idesaveload.prg
* contrib/hbide/idethemes.prg
+ This commit is mainly uplifts and rationlizes the menus,
toolbars, and docking widgets plus a big consideration of
parent child relationship is achieved.
* Implemented: right-side toolbar which contains the toggle
icons for docking widgets. The same functionality is available
also in <Docks> main-menu option.
* Menu options are reworked and all actions pertaining to docking
widgets are removed from there. The same is applied to
top-toolbar also. All actions pertaining to block operations
are cornered at the left-side toolbar. Thus menus, toolbars are
in perfect synchronization.
* Harbour-help is now loaded on demand. Only when help icon is
toggled on the right-toolbar.
* hbIDE icon is changed as I committed before. No one forwarded
his opinions, so I assume it is appropriate image.
; NOTE: This commit now presents hbIDE to the external world
with almost-profession look and feel, so we can spread the word.
; This commit is with heavy changes so regression is possible.
Please speak-out if you find something weired.
* src/pp/ppcore.c
* src/compiler/cmdcheck.c
* src/compiler/hbusage.c
* include/hbpp.h
+ Marked "multiline strings" feature as deprecated,
with HB_LEGACY_LEVEL3.
It's recommended to fix such code to be compatible
with Clipper (and other compatible) languages.
F.e.:
---
cVar := "line 1;
line 2;
line 3"
---
to standard:
--- F.e.:
cVar := "line 1" +;
"line 2" +;
"line 3"
---
or to another Harbour extension:
---
#pragma __cstream|cVar := %s
line 1
line 2
line 3
ENDTEXT
---
('+' operator will be optimized out by the compiler,
so there won't be any performance drop.)
* utils/hbmk2/hbmk2.prg
* Formatting.
* src/pp/ppcore.c
* src/compiler/cmdcheck.c
* src/compiler/hbusage.c
* include/hbpp.h
* include/hbsetup.h
* HB_USER_CFLAGS=-DHB_PP_MULTILINE_STRING feature converted
to compiler switch '-kl'.
INCOMPATIBLE. Users needing this feature now can use
standard Harbour builds by simply adding -kl Harbour
compiler flag. Old build-time macro is not supported
anymore.
* include/hbdefs.h
* include/hbapigt.h
* src/rtl/fstemp.c
* src/rtl/fserr.c
* src/rtl/filesys.c
* src/rtl/console.c
* src/rtl/hbproces.c
* HB_IO_WIN -> HB_OS_WIN
* src/rtl/fserr.c
- Deleted code sections which could only be active
in 16-bit MS-DOS (MSC and BCC) compilers, or
never.
* src/rtl/hbdyn.c
! Fixed signedness warning shown by Cygwin.
* src/rtl/filesys.c
% Cleaned double inclusion of windows.h.
! Fixed for Cygwin. Latest Cygwin allows to enable
some previously inactivated code sections. Also
avoiding some new warnings on this target.
- Deleted code section which is superfluous after
merging HB_OS_WIN and HB_IO_WIN modes.
; TODO: Clean the rest.
; TODO: Use native Windows API in the remaining places.
* include/hbdefs.h
! Disabled drive letter for __CYGWIN__.
Latest version don't define the related
CRTL functions, so it was giving warnings in
filesys.c.
* src/rtl/hbproces.c
- Deleted code section which was now redundant
(covering non-HB_IO_WIN && HB_OS_WIN case)
* contrib/hbwin/win_prn1.c
* Formatting.
* src/vm/estack.c
* src/vm/garbage.c
* src/vm/fm.c
* src/vm/thread.c
+ Readded those OS/2 INCL_ macros which were needed
in C++ mode.
* harbour/src/rtl/filesys.c
! fixed typo and casting due to wrong OS2 API documentation
* use DosQueryCurrentDir() instead of DosQCurDir() macro
TOFIX: Current HVM cannot be compiled by OS2 Watcom
* harbour/bin/hb-func.sh
* updated new contrib libraries
* harbour/contrib/xhb/regexrpl.prg
! fixed hb_RegexReplace() to respect lCaseSensitive and lNewLine flags
* harbour/src/rtl/filesys.c
% use in OS2 builds system API functions instead of CRTL ones
to get/set current drive
% use in OS2 builds system API function DosQueryCurrentDisk() to
check if disk drives are available in hb_fsIsDrv() function
! use in OS2 builds system API function DosQCurDir() to extract current
directory. It fixed buffer overflow due to ignored buffer size in
GCC OS2 builds and makes MT safe getting current directory for non
current drive.
+ contrib/hbide/resources/hbide.png
+ Added icon to be displayable in hbIDE windows title-bar.
Please visualize and forward any suggesstion. If possible
you can redesign it.
* contrib/hbqt/hbqt_hbslots.cpp
! Applied patch provided by Francek.
This removes the 128 nesting loop limit in MSVC.
* contrib/hbide/ideharbourhelp.prg
! Fixed many artifacts, mainly on DocViewer navigation.
* harbour/src/vm/dynlibhb.c
! casting for OS2 builds
* harbour/src/rtl/hbinet.c
! added automatic WINSOCK initialization in HB_INETIFINFO() function
* harbour/contrib/hbwin/olecore.c
% small optimization in OLE method calls
(use static buffer for message name)
* source/contrib/hbxpp/tthreadx.prg
* changed ::start() method to execute ::atStart/::atEnd methods/codeblocks
when present.
* changed ::threadID() from method to iVar
! ::startCount should be incremented at every execution
* ::threadSelf() method moved to HIDDEN section
* src/vm/estack.c
* src/vm/fm.c
* src/vm/garbage.c
% Deleted unnecessary OS/2 INCL_* constant definitions.
* src/vm/cmdarg.c
* src/vm/thread.c
* src/vm/dynlibhb.c
+ Added comment for some exception where OS/2 INCL_ constants
hace to be defined before Harbour headers. (because hbstack.h
will include os2.h through hbthread.h in MT build-pass)
* src/vm/extrap.c
* src/common/hbgete.c
* src/common/hbffind.c
* src/common/hbver.c
* src/common/hbfsapi.c
* src/rtl/filesys.c
* src/rtl/diskspac.c
* src/rtl/gtos2/gtos2.c
* src/rtl/cputime.c
* src/rtl/disksphb.c
* contrib/hbtpathy/tpos2.c
* contrib/hbmzip/hbmzip.c
* contrib/hbqt/hbqt.h
% OS/2 '#define INCL_*' lines moved right before os2.h is included.
Now that os2.h isn't included by Harbour headers, this is possible.
* include/hbdefs.h
+ <windows.h>/<os2.h> header inclusion (along with HB_OS_WIN_USED
macro) is now guarded with HB_LEGACY_LEVEL3.
* include/hbsetup.ch
* include/hbdefs.h
* include/clipdefs.h
+ HB_LEGACY_OFF will now turn off legacy types as well.
This means that HB_LEGACY_TYPES_OFF macro usage
is now clean.
* utils/hbmk2/examples/contribf.hbc
! hbbmcdx -> rddbmcdx
* include/Makefile
- Deleted hbzlib.h (wrapper for zlib.h)
(INCOMPATIBLE, if someone used this, should be fixed by
replacing hbzlib.h with zlib.h in #include directive)
* contrib/hbide/idedocks.prg
* contrib/hbide/resources/docviewgenerator.ui
* contrib/hbide/resources/docviewgenerator.uic
! Enabled "floating" properties for right-hand docking widgets.
Now it is possible to sheer them out of main frame and/or
tabify.
! Changed the "Contents" tab-page maximum-width.
* contrib/hbide/ideobject.prg
! :connect()/disconnect() now returns failure or success.
* contrib/hbide/ideharbourhelp.prg
% Fixed the night-haunter exiting GPF. Qt the beast.
This all belongs to parent child relationship, which,
if not handlled properly can kill the application.
It is a moment to take sigh of relief, at least for now.
* src/rtl/gtwvt/gtwvt.h
* src/rtl/gtwvt/gtwvt.c
! Fixed to use standard VGA RGB values, just like in GTXWC.
! Fixed color constant names (no "bright white" anymore).
* include/hbdefs.h
% Minor cleanup.
* contrib/hbqt/hbqt_hbdbfmodel.cpp
* contrib/hbqt/hbqt_hbqsyntaxhighlighter.cpp
* contrib/hbqt/hbqt_hbqtableview.cpp
* contrib/hbqt/hbqt_hbevents.cpp
* contrib/hbqt/hbqt_destruct.cpp
* contrib/hbqt/hbqt_utils.cpp
* contrib/hbqt/hbqt_hbqmainwindow.cpp
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
* contrib/hbqt/hbqt_base.cpp
* contrib/hbqt/hbqt_hbslots.cpp
* Cleaned header inclusion order after adding hbapi.h to hbqt.h.
* config/os2/gcc.mk
! Fixed to use '-Wl,' trick proposed by Przemek, to forward obj list
script filename directly to linker.
This gets around the problem where gcc tries to pass expanded
scripts to subprocesses (ld) via cmdline, thus imposing a 32K
limit also to script files.
* config/os2/gcc.mk
+ Attempt to fix direct ld usage to create Harbour .dlls.
Please make tests for all versions of gcc/gccomf targets.
* INSTALL
- Deleted TCPV4 header instructions for OS/2. (they still
works, it just got less emphasis with this)
* include/hbdefs.h
! Fixed to not #include <dos.h> unconditionally. This should
be done by specific source code, if needed. INCOMPATIBLE,
if source code relied on this behavior. From now on it,
should include dos.h manually.
* src/vm/thread.c
* src/common/hbver.c
* src/rtl/gtdos/gtdos.c
* src/rtl/isprint.c
* src/rtl/diskspac.c
* src/rtl/disksphb.c
* src/rtl/net.c
* contrib/hbct/print.c
! Fixed to #include <dos.h> manually.
* src/rtl/fstemp.c
! Fixed recent warning for dos targets.
* contrib/hbct/video.c
! Fixed old unused variable warning for dos/watcom targets.
* INSTALL
+ Documented that OS/2 Warp 4 is supported (instead of generic OS/2).
* src/vm/extrap.c
* src/vm/dynlibhb.c
* src/common/hbgete.c
* src/common/hbffind.c
* src/common/hbver.c
* src/rtl/filesys.c
* src/rtl/diskspac.c
* src/rtl/gtos2/gtos2.c
* src/rtl/cputime.c
* src/rtl/disksphb.c
* include/hbthread.h
* contrib/hbmzip/hbmzip.c
! Fixed to setup all OS/2 INCL_* constants and
to #include os2.h by themselves, and not to rely
on Harbour headers to do this job for them.
; TODO: Do the same for dos.h.
* doc/hdr_tpl.txt
- Deleted local changelog.
! Fixes to .prg function docs
+ Update copyright year to 2010.
+ Added fact that $SEEALSO$ should be comma separated.
+ Added .c function example (far from perfect)
* examples/hbdoc2/tmplates.prg
* doc/hdr_tpl.txt
+ Added $VERSION$ tag. (pls update HBIDE. We haven't finalized
the format yet, to it's little bit premature to create
new and new parsers/generators for it yet)
* include/hbdefs.h
! Fixed to not unconditionally include OS/2 headers with
an arbitrary selection of INCL_ macros.
Now OS/2 headers will only be included if legacy types
are requested (off by default), and no INCL_ macros
are defined. This latter change may affect 3rd party
code written for OS/2, so I'm marking it INCOMPATIBLE.
* contrib/hbqt/generator/hbqtgen.prg
* contrib/hbqt/hbqt.h
* Changed to #include hbapi.h from hbqt.h. It needs it,
so this is the clean way. Changed generator to leave
out hbapi.h from each source file and refer to hbqt.h
only. (untested)
+ Added logic to #include OS/2 headers with some INCL_
macros defined, to make QT on OS/2 happy. (copied them
from the dev. list)
; TODO: Regenerate HBQT sources.
* utils/hbtest/hbtest.prg
! Cleaned old problem reported by Chen. It seems like
a feature which was never finished, and it's not even
hugely needed, so I deleted it.
* config/global.mk
+ Will now provide HB_COMP_PATH_PUB value for os2-gcc, os2-gccomf
compilers. This value can be used to manually form ld.exe
command line.
(NOTE: This may be deleted in the future, when sorting
out line-length limit problems for these compilers.
* contrib/hbide/ideharbourhelp.prg
+ Implemented: presentation of documents per "Category" field.
; QUESTION: is it worth to populate the tree with sub-category.
In my opinion, a function can belong to many categories.
If yes, what method to adopt?
* contrib/hbqt/hbqt_hbslots.cpp
* contrib/hbqt/hbqt_hbslots.h
+ Added slots for QTextBrowser()
* contrib/hbide/ideharbourhelp.prg
+ Implemented: navigation in "See Also" slot.
Functions contained in "See Also" are highlighted as a link
where single-click presents the relevant document.
;NOTE: "See Also" functions must ever be delimited with ",".
;GPF: Present at exit.
* contrib/hbqt/hbqt_hbslots.cpp
* contrib/hbqt/hbqt_hbslots.h
+ Added slots covering QListWidget().
+ contrib/hbide/resources/dc_pdffile.png
* contrib/hbide/resources/docviewgenerator.ui
* contrib/hbide/resources/docviewgenerator.uic
+ Added "Export to PDF Document" icon.
* contrib/hbide/hbide.prg
* contrib/hbide/ideharbourhelp.prg
+ Implemented: printing of html document - activated via Print toolbar icon.
: export as PDF document - activated via PDF toolbar icon.
: syntax-highlighter for "Examples", "Tests" editors.
: font Courier new set for "Examples", "Tests", "Arguments" editors.
: Home, backward, forward, up navigation.
: indexed search - activated via "Index" tab on left pane.
: set to load whole tree at first invocation.
: tree navigation simplified, honors single click.
: added pages for Root, Paths, Files, nodes.
; Now usability of the hbIDE's documentation viewer has increased many folds.
I am wondering we have a lot f documentation in place but was invisible.
Today I could feel comfortable and hope in coming future almost all of you
will contribute for this noble cause.
; Basic functionality of the viewer is almost there. So I will be concentrating
on the "Generator/Writer" templates part. Goal is to provide very easy
mechanism for a writer
* to select a source,
* the function(s) within that source,
* create basic template skeletons filled with meaningful material
for selected functions,
* and slots to save them.
; The search engine follows the standard way.
* Click on "Index" left-pane tab,
* Start typing in function edit box,
* As you type, the incremental search is performed and
relevant function is brought in focus.
The search is case insensitive.
* Press enter while in edit control and have function
documentation visible in the viewer.
* Alternatively you can navigate the Functions list,
double-click on one yoy are interested in.
; GPF is still there, struggling.
; Please forward shortcomings.
* doc/hdr_tpl.txt
! Fixed to use comma (',') separator in $SEEALSO$ section.
% Deleted '*' from each line.
* Formatting. (CamelCase for functions, uppercase for
commands, .T./.F. for logical values)
+ contrib/hbide/resources/dc_delete.png
+ contrib/hbide/resources/dc_down.png
+ contrib/hbide/resources/dc_folder.png
+ contrib/hbide/resources/dc_function.png
+ contrib/hbide/resources/dc_home.png
+ contrib/hbide/resources/dc_left.png
+ contrib/hbide/resources/dc_plus.png
+ contrib/hbide/resources/dc_print.png
+ contrib/hbide/resources/dc_quit.png
+ contrib/hbide/resources/dc_refresh.png
+ contrib/hbide/resources/dc_right.png
+ contrib/hbide/resources/dc_textdoc.png
+ contrib/hbide/resources/dc_textdocument.png
+ contrib/hbide/resources/dc_up.png
+ contrib/hbide/resources/docviewgenerator.ui
+ contrib/hbide/resources/docviewgenerator.uic
* contrib/hbide/resources/help.png
+ contrib/hbide/resources/searchreplace.ui
+ contrib/hbide/resources/searchreplace.uic
+ Added few more images and redefined a prev one.
* contrib/hbqt/THbQtUI.prg
+ Added some more hbqt.ch defined constants in the engine.
* contrib/hbide/hbide.ch
* contrib/hbide/hbide.hbp
* contrib/hbide/hbide.prg
* contrib/hbide/ideactions.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/ideharbourhelp.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/ideobject.prg
* contrib/hbide/ideprojmanager.prg
* contrib/hbide/idesaveload.prg
* contrib/hbide/idestylesheets.prg
+ Implemented an html viewer for Harbour's documentation .txt
files with slots to make it a "writer" too if it fits the purpose.
! Reimplemented the "Search-Replace" user interface and working.
A work-in-progrss which I will explain later.
; Harbour Documentation Viewer - How to Invoke
* Close any docking pane is visible at the right panel.
* Point to <Docks> option on <Main Menu> and click on
<Document Viewer>
* A right-side "Document Viewer" window will appear.
* Provide Harbour's installation root path in
"Harbour Installation Root:" field, i.e., C:\harbour
* OR alternatively, you can choose one by clicking
"Harbour Installation Root Path" icon on the right of
field.
* Click "Refresh" icon on the toolbar of "Document Viewer"
window" only once and wait a couple of seconds.
* "Contents" tab will be populated with /doc and /doc/en
folders.
* Double-click on one to expand - you will be able to
view .txt file names.
* Double-click on some .txt node, wait a couple of seconds,
and you will be able to see "functions" nodes.
* Double-click on the function's node and you will be
presented with html display in the "View" tab on the right.
* Navigate other tabs on the right, you will understand the
contents.
* Next time hbIDE will remember Harbour's installation root path.
* :( On exit expect to receive a GPF, investigating.
Right now only "Viewer" part is ready per preliminary stages.
I have a lot of ideas on my drawing-board and would like to
hear your opinions. Basic components to write a document are
also in place, but I need to gather more info and what else
can be included.
In the next several days I will be focussing on this tool.
Bacco and Vailton, please bear with me, as this interface
is the basic requirement of hbIDE which I had kept postponed
till now. A stand alone viewer and writer has its own purpose,
space, and audience.
* harbour/ChangeLog
! fixed typo
* harbour/src/rtl/hbsocket.c
+ implemented MS-Windows version of hb_socketGetIFaces()
Thanks to Mindaugas for info about SIO_GET_INTERFACE_LIST.
Warning: support for above action in WSAIoctl() was added in Win98
so this code probably does not work in Win95.
Please test.
TODO: 1) add support for IP6
2) add support for Win95
3) add support for fNoAliases switch
4) add support for MAC address setting
I hope that MS-Windows developers/users can implement some points
from above list. I.e. 3 and 4 can be implemented using information
returned by GetAdaptersInfo() function.
* include/hbextern.ch
+ Added __CLSMSGTYPE function.
* config/os2/gcc.mk
* Changed to use 'ld' tools directly when creating
Harbour dynamic libraries.
; Please test, it's possible that some option have to be
deleted, changed, or some system/compiler libs added
manually to make it work.