* harbour/include/hbapi.h
* harbour/src/common/hbver.c
+ added BOOL hb_iswin9x( void ) C function
* harbour/src/rtl/version.c
+ added HB_OSISWIN9X() PRG function
* harbour/src/rtl/gttone.c
% simplified the code using hb_iswin9x() function
TODO: Check if WinCE support WinNT file IO functions and if yes then
replace in src/rtl/filesys.c 'if( hb_iswinnt() )' with
'if( !hb_iswin9x() )'
* harbour/contrib/hbwin/win_tprn.prg
* harbour/contrib/hbwin/win_prn1.c
+ added ::AskProperties in WIN_PRN class
If it is assigned .t. prior to calling ::Create(), a DocumentProperties
dialog is displayed. By Budyanto Dj. borrowed from xHarbour.
NOTE: this modification does not contain win9x hack present in
xHarbour. Please make tests and update this code if necessary
* contrib/hbwin/win_prn1.c
* contrib/hbwin/hbwapi.h
+ Added public functions to return and retrieve HDC and HPEN
handles. This makes it possible to use these in 3rd party
code and other parts of hbwin lib. F.e. to create pure
wrappers for GDI functions.
+ win_prn1.c now uses hbwapi_ret_*() functions to return
HDC and HPEN handles.
* Renamed static GC related functions.
! WIN_SETPEN() fixed to retrieve pointer from _2nd_ param.
(it was 1st previously, pls review me)
! WIN_SETPEN() fixed to not allocate new GC pointer if
an existing GC pointer was passed as 2nd parameter.
(please review me)
* contrib/hbwin/mapi.c
* contrib/hbwin/wapi_commctrl.c
! Fixed to compile with Cygwin.
[TOMERGE 2.0]
* contrib/hbwin/win_prn1.c
- Deleted unnecessary winspool.h header.
* contrib/hbwin/win_prn2.c
* contrib/hbwin/win_prn3.c
- Deleted winspool.h header for LCC compiler.
We don't support LCC compiler in Harbour.
! Cleaned windows.h inclusion.
* contrib/hbfimage/fi_winfu.c
* contrib/hbfimage/fi_wrp.c
* Formatting.
+ TOFIX added to use GC collected pointers.
* harbour/include/dbinfo.ch
* harbour/include/hbrdddbf.h
* harbour/src/rdd/dbf1.c
* harbour/src/rdd/dbfntx/dbfntx1.c
* harbour/src/rdd/dbfnsx/dbfnsx1.c
* renamed DB_DBFLOCK_XHB64 => DB_DBFLOCK_HB64
* harbour/contrib/hbwin/win_tprn.prg
* updated some comments and formatting
* harbour/contrib/xhb/Makefile
+ harbour/contrib/xhb/xhw32prn.prg
+ added WIN32PRN class, it inherits from WIN_PRN class hiding some
differences between Harbour and xHarbour in paper size setting and
separated horizontal and vertical alignment setting
* contrib/hbwin/win_tprn.prg
! Using constant.
* Minor formatting/cleanup.
* contrib/hbhpdf/harupdf.c
! HPDF_Page_GetMiterLimit() fixed to return double instead of long.
As suggested by Saulius.
[TOMERGE 2.0]
* Formatting.
* contrib/hbwin/hbwin.ch
+ Added HB_WINFONT_* constants for WIN_ENUMFONTS() returned
array positions.
+ Now possible to disable legacy defintions by defining
HB_WIN_NO_LEGACY. This paves the way to include this file
in .c files.
* contrib/hbwin/win_prn1.c
! WIN_ENUMFONTS() fixed to return empty array (instead of NIL)
in error cases.
* contrib/hbwin/win_reg.prg
* contrib/hbwin/win_os.prg
* contrib/hbwin/win_tprn.prg
* contrib/hbwin/wapi_winbase.c
* contrib/hbwin/hbwin.h
* contrib/hbwin/hbwin.ch
* contrib/hbwin/tests/testprn.prg
* contrib/hbwin/tests/testcom1.prg
* contrib/hbwin/tests/testcom2.prg
* contrib/hbwin/tests/testreg.prg
* contrib/hbwin/tests/testmapi.prg
* contrib/hbwin/win_com.c
* contrib/hbwin/win_prn1.c
* MM_TO_INCH macro moved from hbwin.ch to win_tprn.prg.
(INCOMPATIBLE is someone happened to use this in app code)
+ Prefixed all Windows constants with WIN_ in hbwin.ch.
+ Prefixed all hbwin specific constants with HB_ in hbwin.ch.
+ Retained all old legacy / deprecated hbwin.ch constants
for compatibility. Users are encourages to use the new
ones, as the old ones will be deleted in the future.
* Changed WIN_MULDIV() to use hb_retni() (instead of hb_retnl())
* WIN_MULDIV() renamed to WAPI_MULDIV() and moved
to wapi source. (INCOMPATIBLE, although it's unlikely anyone
is using WIN_MULDIV() so I didn't keep it.)
+ Added some additional printing related Windows constants.
+ Added comments to hbwin.ch saying which constant is used
in which WIN_*() function.
* HB_WIN_MAPI_* constants renamed to WIN_MAPI_*.
(I haven't dealt with compatibility as this is brand new
functions with not much users yet)
+ Marked all hbwin.ch deprecated macros with HB_LEGACY_LEVEL3
! Fixed to use hbwin.ch constants in few remaining places in testprn.prg
; Now it's possible to include hbwin.ch in .c files.
; QUESTION: Why RGB_* color constants aren't using pure colors?
If there is no special reason, I think it should be
changed to pure ones (with 0xFF components).
* src/compiler/hbgenerr.c
* Formatting.
* contrib/hbwin/win_tprn.prg
! Fixed to not refer to legacy function WIN_GETEXEFILENAME().
Probably this was causing the link-time symbol collision
problem once reported by Mindaugas.
* contrib/hbwin/hbwin.ch
+ Added WIN_RGB() macro to replace RGB(). Latter is now
deprectaed.
* ChangeLog
+ TOMERGE added to prev entry.
* contrib/hbhpdf/harupdf.c
! HPDF_Page_TextWidth() fixed to return double instead of long.
As suggested by Francesco Perillo.
* contrib/hbwin/hbwin.ch
* contrib/hbwin/tests/testprn.prg
+ Renamed FORM_* to WIN_PRN_DMPAPER*.
(old constants are still there for compatibility.
+ Added new WIN_PRN_DMPAPER* constants. (the list is far
from complete, but my first goal was to be about in sync
with hbhpdf)
* contrib/hbqt/generator/hbqtgen.prg
* contrib/hbqt/generator/qt45.qtp
* contrib/hbqt/hbqt.h
* contrib/hbqt/hbqt_base.cpp
* contrib/hbqt/hbqt_garbage.h
* contrib/hbqt/hbqt_hbdbfmodel.cpp
* contrib/hbqt/hbqt_hbevents.cpp
* contrib/hbqt/hbqt_hbqmainwindow.cpp
* contrib/hbqt/hbqt_hbqsyntaxhighlighter.cpp
* contrib/hbqt/hbqt_hbqsyntaxhighlighter.h
* contrib/hbqt/hbqt_hbqtableview.cpp
* contrib/hbqt/hbqt_hbslots.cpp
+ contrib/hbqt/qth/HBQTextBlockUserData.qth
* contrib/hbqt/qth/QAbstractTextDocumentLayout.qth
* contrib/hbqt/qth/QApplication.qth
* contrib/hbqt/qth/QClipboard.qth
* contrib/hbqt/qth/QComboBox.qth
* contrib/hbqt/qth/QCursor.qth
* contrib/hbqt/qth/QDragEnterEvent.qth
* contrib/hbqt/qth/QDragLeaveEvent.qth
* contrib/hbqt/qth/QDropEvent.qth
* contrib/hbqt/qth/QFocusEvent.qth
* contrib/hbqt/qth/QGradient.qth
* contrib/hbqt/qth/QKeyEvent.qth
* contrib/hbqt/qth/QLabel.qth
* contrib/hbqt/qth/QLayoutItem.qth
* contrib/hbqt/qth/QLineEdit.qth
* contrib/hbqt/qth/QMoveEvent.qth
* contrib/hbqt/qth/QPaintDevice.qth
+ contrib/hbqt/qth/QPaintEngine.qth
* contrib/hbqt/qth/QPrintEngine.qth
* contrib/hbqt/qth/QResizeEvent.qth
* contrib/hbqt/qth/QSplitter.qth
* contrib/hbqt/qth/QStandardItemModel.qth
* contrib/hbqt/qth/QStyleHintReturn.qth
* contrib/hbqt/qth/QStyleHintReturnMask.qth
* contrib/hbqt/qth/QStyleHintReturnVariant.qth
* contrib/hbqt/qth/QTextBlock.qth
* contrib/hbqt/qth/QTextCursor.qth
+ contrib/hbqt/qth/QTextList.qth
* contrib/hbqt/qth/QWheelEvent.qth
* contrib/hbqt/qth/QWidget.qth
* contrib/hbqt/tests/demoqt.prg
* contrib/hbxbp/tests/demoxbp.prg
* contrib/hbxbp/xbpgeneric.prg
* contrib/hbxbp/xbpmenubar.prg
* contrib/hbqt/qtcore/*.cpp
* contrib/hbqt/qtgui/*.cpp
* contrib/hbqt/qtnetwork/*.cpp
! This commit change some rules to parse .qth files to
prepare the wrappers to be encapsulated in hb_retptrGC
envelop. It also attempts to pin-point the spots where
mem-leak could occur. Only very few calls are left to
plain hb_retptr() which eventually will be handled
the other way.
Only delete ( Q* ) p; is retained. Other two methods are
eliminated. Demos are updated to respect it.
demoQT and demoXBP now consume very less memory when new
dialogs are opened. It means memory management has
improved with this commit. Anyhow still I can see
memory growing specially in browser navigation. As I
remember sometime in past I could manage the sonstant memory,
but now I do not remember at what stage we were on Qt.
Though all the three variants, demoQT, demoXBP, hbIDE are
working properly, still there could be regression, please test.
* contrib/hbbtree/test/test.prg
* moved existing code into procedures in preparation for
introducing more robust testing; a work in progress
* contrib/hbbtree/test/test.hbp
* added switches to reduce memory footprint and standard gt
* harbour/contrib/hbwin/hbwin.ch
* harbour/contrib/hbwin/win_tprn.prg
* harbour/contrib/hbwin/win_prn1.c
+ added support for custom paper size - based on code borrowed from
xHarbour by Peter Rees and Budyanto Dj.
Unlike in xHarbour to use custom page size it's necessary to set
:FormType to FORM_CUSTOM
* contrib/hbct/Makefile
+ contrib/hbct/diskhb.prg
- contrib/hbct/diskhb.c
+ GETVOLINFO() rewritten in pure .prg code. It means it will
work on all OSes which we have core support for.
This currently means dos and win. OS/2 and other systems
still have this as TODO. Anyone to add them?
* contrib/hbct/files.c
- Deleted no longer necessary OS/2 and Windows specific headers.
* contrib/hbct/print.c
! Fixed PRINTSEND() to return permanent zero (instead of NIL)
on non-win/djgpp targets.
* contrib/hbct/ctnet.c
* contrib/hbct/disk.c
! Fixed all functions to be present in non-win builds and
return permanent error.
! NETDISK() fixed to not throw two RTEs in a rare case.
* harbour/contrib/hbwin/win_tprn.prg
* updated some comments
* harbour/contrib/hbwin/win_prn1.c
! replaced yet another constant value by DMORIENT_LANDSCAPE macro
* contrib/hbnetio/tests/netiotst.prg
! Fixed to REQUEST dir related functions to avoid RTE.
- contrib/hbnetio/tests/data
- Deleted. Now it's created by RPC call.
* contrib/hbwin/tests/testprn.prg
* Formatting.
* contrib/hbwin/win_prn1.c
! Using constants for dmOrientation.
* harbour/contrib/hbwin/win_tprn.prg
+ added automatic destructors to avoid resource leak
+ added support for late new page initialization by:
oWinPrn:newPage( .T. )
it allows to eliminate blank page when nothing is printed after
:newPage() method
* contrib/hbide/hbide.prg
* contrib/hbide/ideactions.prg
* contrib/hbide/ideeditor.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/ideobject.prg
* contrib/hbide/idethemes.prg
! Fixed: to ensure that next invocation correctly sets the last
working codec. [ Marco Bra ]
! Fixed: to correctly dispay the last line nos while inserting
or deleting bottom lines. [ Marco Bra ]
! Enabled HBQT_RELEASE_WITH_DELETE protocol for hbIDE.
* harbour/contrib/hbwin/win_prn1.c
* changed 7-th parameter of WIN_TEXTOUT() function to operate on
TA_* constant value instead of custom 0, 1, 2
* modified WIN_SETBKMODE() to return current BkMode setting when called
without 2-nd parameter
* harbour/contrib/hbwin/win_tprn.prg
+ added BkMode member to WIN_PRN class
* modified TextOut(), TextOutAt() and TextAtFont() methods to use
nAlign as windows TA_* value instead of custom 0, 1, 2 and set
default alignment to ( TA_BOTTOM + TA_LEFT )
* formatting
* harbour/contrib/hbnetio/netiosrv.c
! fixed c&p typo - it should fix problem reported by Viktor in netiostv
* harbour/contrib/hbwin/win_prn1.c
* casting
* contrib/hbct/disk.c
! TRUENAME() compiler time error fixed for non-win OS after recent change.
* contrib/hbct/diskhb.c
! GETVOLINFO() fixed to return empty string on non-win OS.
* harbour/contrib/hbwin/win_tprn.prg
! removed left by mistake unused variable
* save only numeric parameters in SetColor() method.
QUESTION: TextOut() method uses 4-th parameter to control text
alignment but it uses own constant values:
0 == left, 1 == right, 2 == centered
instead of TA_* constants. Should we keep it or rather
use windows constant values adding also support for vertical
alignment? In current xHarbour code this parameter was changed
to accept windows constants and 5-th parameter was added which
is OR-ed with the 4-th one but for me this part is redundant.
* harbour/contrib/hbwin/win_prn1.c
% minor optimization
* src/vm/set.c
! ULONG -> HB_FATTR. Missed this occurrence of this ULONG
in previous global modification pass.
Error reported by Istvan Bisz.
* contrib/hbct/Makefile
* contrib/hbct/disk.c
+ contrib/hbct/diskhb.c
! Cleaned the way Windows headers are included.
* Cleaned TRUENAME(), GETVOLINFO() and VOLSERIAL().
+ Using new UNICODE macros in TRUENAME(), GETVOLINFO() and VOLSERIAL().
! GETVOLINFO(), which is not a CT function, got moved
to a separate source file to avoid name collisions.
; TOFIX: It should be moved to xhb lib eventually.
* contrib/hbct/ctnet.c
* Cleaned NETREDIR() and NETRMTNAME() functions.
+ Reworked NETREDIR() and NETRMTNAME() functions to use new UNICODE macros.
+ Extended return buffer in network functions to 128 (from 80).
+ NETRMTNAME() got support to return embedded zeros in name string.
+ Documented a hidden xhb extension in NETREDIR().
% hb_WNetErrorHandler() static function merged into NETREDIR().
; TOFIX: Above hidden extension in NETREDIR() very much looks like
a debugging feature, so I left a TOFIX to convert it to
HB_TRACE() call.
; Please test them.
* contrib/hbsqlit3/hbsqlit3.c
* contrib/hbmisc/dates2.c
- Deleted two functions which were recently made static,
and it turned out they're not even used by Harbour.
Warning reported by Istvan Bisz.
* src/vm/hashfunc.c
* src/vm/asort.c
* src/rtl/cdpapi.c
* contrib/xhb/xhbat.c
* contrib/xhb/txtline.c
* LONG -> HB_ISIZ
* contrib/xhb/bkgtsks.c
* SHORT -> int
* contrib/xhb/hbcomprs.c
* contrib/xhb/xhberrc.c
* LONG -> long
* harbour/include/hbclass.ch
* enable strict parameters validation in method declaration and
implementation when warning level (-w?) is 3 or higher
* small modification in error messages
* harbour/contrib/hbwin/win_prn1.c
! fixed WIN_FILLRECT() to return logical value (result of FillRect()
function)
+ extended WIN_SETPEN() to accept previously created by this function
HPEN handles
! fixed WIN_SETCOLOR() to return previously allocated color.
This function is used in such context in WIN_PRN class.
* harbour/contrib/hbwin/win_tprn.prg
+ added PageNumber member
! fixed printer output detection to respect also graphic primitives
! fixed SetColor() not changed to win_SetColor() when code was ported
from xHarbour
* include/hbdefs.h
+ Marked BOOL, TRUE and FALSE as HB_LEGACY_LEVEL3.
This means these types will disappear from Harbour after next
major release.
Please start to migrate to the new, pure Harbour replacement
types for portable Harbour code:
HB_BOOL, HB_TRUE, HB_FALSE.
Notice that you still may (and should) use BOOL, TRUE, FALSE
when dealing with Windows API (and some other 3rd party APIs),
where these are valid types in their own context.
* include/clipdefs.h
+ Added BOOL, TRUE and FALSE as Clipper compatibility type.
TRUE equals to 1 here for better Clipper compatibility
(was: !0)
* contrib/hbide/hbide.prg
* contrib/hbide/ideeditor.prg
* contrib/hbide/idesources.prg
* contrib/hbqt/hbqt.h
* contrib/hbqt/hbqt_hbqsyntaxhighlighter.cpp
* contrib/hbqt/hbqt_hbqsyntaxhighlighter.h
* contrib/hbqt/hbqt_hbslots.cpp
+ Implemented "Set Mark" and "Goto Mark" toolbar actions.
This implementation has a little glitch which I am lookking
to be realized with subclassing. But the prototype is in place.
! Fixed a bug reported by Marco Bra.
* contrib/hbide/hbide.ch
* contrib/hbide/hbide.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideeditor.prg
* contrib/hbide/ideobject.prg
* contrib/hbide/idesaveload.prg
+ Implemented current line highliting.
Currently it is ON by default. Later when all components
will be in place then it will fall under generic category
in thought of "Setup" dialog.
+ Implemented to show number of selection characters in status-bar.
Requested by: Rodrigo Machado.
+ Implemented to retain last selected codec from the main menu
to be populated at next run. It is also displayed
in the status-bar.
; Please comment.