- extras/guestbk/cgi.ch
- extras/guestbk/guestbk.hbp
- extras/guestbk/guestbk.txt
* .gitattributes
* contrib/hbgd/tests/counter.prg
* contrib/hbhttpd/core.prg
* contrib/hbgd/tests/digits/57chevy.gif -> contrib/hbgd/tests/imgs_in/57chevy.gif
* contrib/hbgd/tests/digits/7seg.gif -> contrib/hbgd/tests/imgs_in/7seg.gif
* contrib/hbgd/tests/digits/brsd.gif -> contrib/hbgd/tests/imgs_in/brsd.gif
* contrib/hbgd/tests/digits/digib.gif -> contrib/hbgd/tests/imgs_in/digib.gif
* contrib/hbgd/tests/digits/fdb.gif -> contrib/hbgd/tests/imgs_in/fdb.gif
* contrib/hbgd/tests/digits/jelly.gif -> contrib/hbgd/tests/imgs_in/jelly.gif
* contrib/hbgd/tests/digits/odb.gif -> contrib/hbgd/tests/imgs_in/odb.gif
* contrib/hbgd/tests/digits/odw.gif -> contrib/hbgd/tests/imgs_in/odw.gif
* contrib/hbgd/tests/digits/pdg.gif -> contrib/hbgd/tests/imgs_in/pdg.gif
* contrib/hbgd/tests/digits/pdw.gif -> contrib/hbgd/tests/imgs_in/pdw.gif
* contrib/hbhttpd/tests/tpl/_main.tpl -> contrib/hbhttpd/tests/tpl/_main.html
* contrib/hbhttpd/tests/tpl/app/account/edit.tpl -> contrib/hbhttpd/tests/tpl/app/account/edit.html
* contrib/hbhttpd/tests/tpl/app/account.tpl -> contrib/hbhttpd/tests/tpl/app/account.html
* contrib/hbhttpd/tests/tpl/app/cart.tpl -> contrib/hbhttpd/tests/tpl/app/cart.html
* contrib/hbhttpd/tests/tpl/app/login.tpl -> contrib/hbhttpd/tests/tpl/app/login.html
* contrib/hbhttpd/tests/tpl/app/logout.tpl -> contrib/hbhttpd/tests/tpl/app/logout.html
* contrib/hbhttpd/tests/tpl/app/main.tpl -> contrib/hbhttpd/tests/tpl/app/main.html
* contrib/hbhttpd/tests/tpl/app/register.tpl -> contrib/hbhttpd/tests/tpl/app/register.html
* contrib/hbhttpd/tests/tpl/app/shopping.tpl -> contrib/hbhttpd/tests/tpl/app/shopping.html
* extras/gtwvw/docs/funclist.txt -> contrib/gtwvw/doc/funclist.txt
* extras/gtwvw/docs/gtwvw.txt -> contrib/gtwvw/doc/gtwvw.txt
* extras/gtwvw/docs/whatsnew.txt -> contrib/gtwvw/doc/ChangeLog.txt
* extras/gtwvw/gtwvw.hbc -> contrib/gtwvw/gtwvw.hbc
* extras/gtwvw/gtwvw.hbx -> contrib/gtwvw/gtwvw.hbx
* extras/gtwvw/gtwvwd.c -> contrib/gtwvw/gtwvwd.c
* extras/gtwvw/hbgtwvw.h -> contrib/gtwvw/hbgtwvw.h
* extras/gtwvw/hbole.h -> contrib/gtwvw/hbole.h
* extras/gtwvw/tests/_wvwmous.prg -> contrib/gtwvw/tests/_wvwmous.prg
* extras/gtwvw/tests/def2.bmp -> contrib/gtwvw/tests/def2.bmp
* extras/gtwvw/tests/dia_excl.ico -> contrib/gtwvw/tests/dia_excl.ico
* extras/gtwvw/tests/drawimg.prg -> contrib/gtwvw/tests/drawimg.prg
* extras/gtwvw/tests/ebtest7.prg -> contrib/gtwvw/tests/eb7.prg
* extras/gtwvw/tests/hbmk.hbm -> contrib/gtwvw/tests/hbmk.hbm
* extras/gtwvw/tests/vouch1.bmp -> contrib/gtwvw/tests/vouch1.bmp
* extras/gtwvw/tests/vouch1.gif -> contrib/gtwvw/tests/vouch1.gif
* extras/gtwvw/wvt2wvw.ch -> contrib/gtwvw/wvt2wvw.ch
* extras/gtwvw/wvwcheck.c -> contrib/gtwvw/checkbox.c
* extras/gtwvw/wvwdraw.c -> contrib/gtwvw/wvwdraw.c
* extras/gtwvw/wvwedit.c -> contrib/gtwvw/editbox.c
* extras/gtwvw/wvwfuncs.c -> contrib/gtwvw/wvwutils.c
* extras/gtwvw/wvwmenu.c -> contrib/gtwvw/menubar.c
* extras/gtwvw/wvwpush.c -> contrib/gtwvw/pushbut.c
* extras/gtwvw/wvwstbar.c -> contrib/gtwvw/statbar.c
* extras/gtwvw/wvwtbar.c -> contrib/gtwvw/toolbar.c
* extras/guestbk/guestbk.html -> tests/guestbk.html
* extras/hbdoc/hbdoc.css -> contrib/hbdoc/hbdoc.css
* extras/gtwvw/gtwvw.hbp -> contrib/gtwvw/gtwvw.hbp
* extras/gtwvw/tests/cbtest1.prg -> contrib/gtwvw/tests/cb1.prg
* extras/gtwvw/tests/cbtest6.prg -> contrib/gtwvw/tests/cb6.prg
* extras/gtwvw/tests/inpfocus.prg -> contrib/gtwvw/tests/inpfocus.prg
* extras/gtwvw/tests/maincoor.prg -> contrib/gtwvw/tests/maincoor.prg
* extras/gtwvw/tests/maximize.prg -> contrib/gtwvw/tests/maximize.prg
* extras/gtwvw/tests/prog0.prg -> contrib/gtwvw/tests/prog0.prg
* extras/gtwvw/tests/prog1.prg -> contrib/gtwvw/tests/prog1.prg
* extras/gtwvw/tests/prog2.prg -> contrib/gtwvw/tests/prog2.prg
* extras/gtwvw/tests/readme.txt -> contrib/gtwvw/tests/readme.txt
* extras/gtwvw/tests/wvwtest9.prg -> contrib/gtwvw/tests/demo.prg
* extras/guestbk/_cgi.prg -> tests/cgi.prg
* extras/guestbk/_inifile.prg -> tests/inifile.prg
* extras/guestbk/guestbk.ini -> tests/guestbk.ini
* extras/guestbk/guestbk.prg -> tests/guestbk.prg
* extras/hbdoc/_genbase.prg -> contrib/hbdoc/_base.prg
* extras/hbdoc/_genhtml.prg -> contrib/hbdoc/_html.prg
* extras/hbdoc/_gentxt.prg -> contrib/hbdoc/_txt.prg
* extras/hbdoc/_genxml.prg -> contrib/hbdoc/_xml.prg
* extras/hbdoc/hbdoc.hbp -> contrib/hbdoc/hbdoc.hbp
* extras/hbdoc/hbdoc.prg -> contrib/hbdoc/hbdoc.prg
* more file/dir rename sync with 3.4 fork, plus some related file content
855 lines
29 KiB
Plaintext
855 lines
29 KiB
Plaintext
/*
|
|
* This doc used to contain what's new in GTWVW since the last release.
|
|
* Now it serves as a change log. Any changes to GTWVW should be listed
|
|
* in this doc.
|
|
*
|
|
* NOTES:
|
|
* Dates in this doc are dates of changes, not CVS commit dates.
|
|
* For some reasons the date of changes are sometimes [largely] different
|
|
* with the date of commiting to CVS.
|
|
*
|
|
* Budyanto Dj. <budyanto@centrin.net.id>
|
|
*/
|
|
|
|
2007-09-21 23:30 UTC+0700 Budyanto Dj. <budyanto@centrin.net.id>
|
|
* contrib/gtwvw/gtwvw.c
|
|
! WM_HSCROLL and WM_VSCROLL should be controlled by bTopMost || s_bAllowNonTop,
|
|
not by hb_wvw_gtAcceptingInput(). This may cause problem if WVW_SETFOCUS interferes.
|
|
Fixed.
|
|
! wvw_ebCreate() :: do NOT use ES_OEMCONVERT by default
|
|
|
|
2007-05-29 09:45 UTC+0700 Budyanto Dj. <budyanto@centrin.net.id>
|
|
* contrib/gtwvw/samples/wvwtest9.prg
|
|
Replace some typo wvt_* with wvw_*.
|
|
|
|
2007-05-25 23:00 UTC+0700 Budyanto Dj. <budyanto@centrin.net.id>
|
|
+ contrib/gtwvw/samples/ebtest7.prg
|
|
* sample on how to organize editboxes in commands similar to @..GET
|
|
This sample uses some code from Minigui for masking input in editbox.
|
|
* contrib/gtwvw/doc/whatsnew.txt
|
|
* note this change
|
|
|
|
2007-05-24 10:00 UTC+0700 Budyanto Dj. <budyanto@centrin.net.id>
|
|
* contrib/gtwvw/hbgtwvw.h
|
|
+ uiBusy in control_data to keep track on how many times a codeblock
|
|
is executed recursively.
|
|
+ some constants for EDITBOX
|
|
|
|
* contrib/gtwvw/gtwvw.c
|
|
! Fix wrong handling of HB_ITEM causing memory leak, for the following functions:
|
|
HB_FUNC( WVW_CLIENTTOSCREEN )
|
|
HB_FUNC( WVW_GETXYFROMROWCOL )
|
|
HB_FUNC( WVW_GETROWCOLFROMXY )
|
|
HB_FUNC( WVW_GETFONTINFO )
|
|
HB_FUNC( WVW_GETPALETTE )
|
|
HB_FUNC( WVW_SAVESCREEN )
|
|
HB_FUNC( WVW_GETCURSORPOS )
|
|
HB_FUNC( WVW_GETPAINTRECT )
|
|
HB_FUNC( WVW_XBINFO )
|
|
HB_FUNC( WIN_GETCLIENTRECT )
|
|
Thanks to Pritpal Bedi for noticing these errors.
|
|
|
|
+ support native EDITBOX
|
|
wvw_ebCreate()
|
|
wvw_ebDestroy()
|
|
wvw_ebSetFocus()
|
|
wvw_ebIsFocused()
|
|
wvw_ebEnable()
|
|
wvw_ebEditable()
|
|
wvw_ebSetCodeblock()
|
|
wvw_ebSetFont()
|
|
wvw_ebIsMultiline()
|
|
wvw_ebGetText()
|
|
wvw_ebSetText()
|
|
wvw_ebGetSel()
|
|
wvw_ebSetSel()
|
|
Note that SETKEY is still in effect during editbox editing,
|
|
thus this editbox is expected to be able to replace standard @..GET
|
|
(or MemoLine() if it is multiline editbox).
|
|
I have also tested that a proper editbox callback can be written to
|
|
handle masked input as in @...GET..PICTURE..
|
|
|
|
+ wvw_pbIsFocused()
|
|
|
|
+ wvw_AllowNonTopEvent()
|
|
To set whether control's codeblock is allowed to be executed from
|
|
non topmost window.
|
|
(default is FALSE, the old behaviour)
|
|
|
|
+ wvw_RecurseCBlock()
|
|
To set whether control's codeblock is allowed to do recursive action.
|
|
(default is FALSE, the old behaviour)
|
|
|
|
* contrib/gtwvw/doc/whatsnew.txt
|
|
* notes on changes applied.
|
|
|
|
|
|
2006-07-25 18:15 UTC+0700 Budyanto Dj. <budyanto@centrin.net.id>
|
|
* contrib/gtwvw/hbgtwvw.h
|
|
* contrib/gtwvw/gtwvw.c
|
|
* Revert Fransesco's last change, restore the old behaviour of ALT+C.
|
|
This is a temporary solution until hb_gtHandleClose() is fixed.
|
|
Fransesco, I hope you don't mind.
|
|
* hb_wvw_gtDrawImage()
|
|
Rewritten. Now supports displaying transparent image if
|
|
bTransp parameter is TRUE.
|
|
* hb_wvw_gtRenderPicture()
|
|
Modified to support displaying transparent image if
|
|
bTransp parameter is TRUE.
|
|
* HB_FUNC( WVW_DRAWIMAGE )
|
|
Added lTransp optional parameter.
|
|
Supports displaying images with proportional height/width ratio.
|
|
+ .prg callable wvw_SetMaxBMCache()
|
|
This is to get/set maximum number of bitmap cache for WVW_DRAWIMAGE.
|
|
+ .prg callable wvw_NumBMCache()
|
|
This is to get current number of bitmap cached by WVW_DRAWIMAGE.
|
|
* contrib/gtwvw/doc/whatsnew.txt
|
|
* notes about this change.
|
|
+ contrib/gtwvw/samples/drawimg.prg
|
|
+ contrib/gtwvw/samples/wutil.prg
|
|
+ contrib/gtwvw/samples/wutil.ch
|
|
* A sample about this new feature.
|
|
|
|
Notes on wvw_DrawImage()
|
|
/*
|
|
(1) Transparency
|
|
if bTransparent is .t., top-left pixel is used as the transparent color,
|
|
|
|
(2) Image dimension
|
|
if nBottom is NIL, then image height will be proportional to original image.
|
|
if nRight is NIL, then image width will be proportional to original image.
|
|
if nBottom and nRight are BOTH NIL then original image dimension is used
|
|
|
|
(3) Caching
|
|
This function will now CACHE the image.
|
|
See also wvw_SetMaxBMCache() and wvw_NumBMCache()
|
|
*/
|
|
|
|
|
|
2006-06-16 23:20 UTC+0700 Budyanto Dj. <budyanto@centrin.net.id>
|
|
* contrib/gtwvw/gtwvw.c
|
|
* Added the long forgotten sixth parameter of wvw_DrawBoxRaised().
|
|
|
|
2006-01-19 23:25 UTC+0700 Budyanto Dj. <budyanto@centrin.net.id>
|
|
* contrib/gtwvw/gtwvw.c
|
|
* contrib/gtwvw/doc/whatsnew.txt
|
|
* contrib/wvtgui/wvtcore.c
|
|
! Fixed resources leak in wv*_drawline() and wv*_drawoutline().
|
|
Reported and tested by Lajos Mihalffy on gtwvw.
|
|
|
|
2005-10-31 23:55 UTC+0700 Budyanto Dj. <budyanto@centrin.net.id>
|
|
* contrib/gtwvw/gtwvw.c
|
|
* wvw_pbCreate() now support bitmap on buttons.
|
|
! wvw_pbSetFocus() and wvw_cbSetFocus() was always returning .f., fixed.
|
|
|
|
2005-10-19 18:00 UTC+0700 Budyanto Dj. <budyanto@centrin.net.id>
|
|
* contrib/gtwvw/hbgtwvw.h
|
|
+ include "hbstack.h"
|
|
|
|
* contrib/gtwvw/gtwvw.c
|
|
+ #define HB_NO_DEFAULT_API_MACROS
|
|
! replace &HB_VM_STACK.Return with hb_stackReturnItem()
|
|
|
|
|
|
2005-10-18 09:55 UTC+0700 Budyanto Dj. <budyanto@centrin.net.id>
|
|
* contrib/gtwvw/gtwvw.c
|
|
! Typo fixed in gt_VertLine() causing incorrect DispBox() in MainCoord mode
|
|
* contrib/gtwvw/doc/whatsnew.txt
|
|
* change recorded
|
|
|
|
2005-10-06 09:20 UTC+0700 Budyanto Dj. <budyanto@centrin.net.id>
|
|
* contrib/gtwvw/hbgtwvw.h
|
|
* contrib/gtwvw/gtwvw.c
|
|
! Fixed all callback calls to use hb_vmPushState()/hb_vmPopState().
|
|
* Applying the proper codeblock handling, as suggested by Przemek.
|
|
As a side effect, I rename GLOBAL_DATA member cbFunc/cbFuncModal
|
|
into pcbFunc/pcbFuncModal. They now store pointer to codeblock,
|
|
not the codeblock itself.
|
|
The same thing with CONTROL_DATA's hiCodeBlock --> phiCodeBlock.
|
|
|
|
=========================================================================
|
|
2005-08-30 23:45 UTC+0700 Budyanto Dj. <budyanto@centrin.net.id> :: BEGIN
|
|
|
|
=============
|
|
MAXIMIZE MODE
|
|
=============
|
|
Gtwvw now allows its`windows to be in MAXIMIZED mode.
|
|
Please notice, however, that there are some things need to be addressed when
|
|
implementing this mode.
|
|
|
|
To implement this mode, app should have a special callback function WVW_SIZE.
|
|
This function is called by Gtwvw AFTER a window size is changed, as when the
|
|
window is maximized or restored.
|
|
|
|
See the sample prog doc/maximize.prg on how to apply a simple WVW_SIZE function.
|
|
|
|
Some new/modified supporting functions in this area of interest:
|
|
|
|
+ wvw_UnreachedBr( [nWinNum], [nBottomPixels], [nRightPixels] )
|
|
get unreached pixels below MaxRow() to nBottomPixels
|
|
and on the right of maxcols() to nRightPixels.
|
|
|
|
+ wvw_MaxMaxRow() : returns maximum possible MaxRow()
|
|
|
|
+ wvw_MaxMaxCol() : returns maximum possible MaxCol()
|
|
|
|
* wvw_Maximize()
|
|
! This function now really maximizes the window, provided
|
|
user has the WVW_SIZE function.
|
|
(This is different with gtwvt's WVT_MAXIMIZE which really does a RESTORE).
|
|
|
|
+ wvw_Restore()
|
|
* Restores a window
|
|
|
|
+ wvw_EnableMaximize()
|
|
* Enables the Maximize/Restore button.
|
|
|
|
|
|
==================
|
|
WINDOW POSITIONING
|
|
==================
|
|
|
|
Some new functions regarding window positioning:
|
|
|
|
+ wvw_SetDefCentreWindow() to change default CentreWindow setting.
|
|
CentreWindow==.t. will cause subsequent opened windows be centered vertically and horizontally.
|
|
|
|
+ wvw_SetDefHCentreWindow() to change default HCentreWindow setting.
|
|
HCentreWindow==.t. will cause subsequent opened windows be centered horizontally.
|
|
|
|
+ wvw_SetDefVCentreWindow() to change default VCentreWindow setting.
|
|
VCentreWindow==.t. will cause subsequent opened windows be centered vertically.
|
|
|
|
* wvw_XReposWindow() now has an optional param lAnchored (default is .t.).
|
|
If it's .f. then subwindows will be positioned according to each CentreWindow setting.
|
|
|
|
/*
|
|
DefCentreWindow, DefHCentreWindow, DefVCentreWindow are default setting used when opening a new subwindow.
|
|
if DefCentreWindow == .t.
|
|
newly open subwindow will be placed centered both vertically and horizontally in respect to Main Window
|
|
else
|
|
if DefHCentreWindow == .t.
|
|
newly open subwindow will be horizontally centered in respect to Main Window
|
|
endif
|
|
if DefVCentreWindow == .t.
|
|
newly open subwindow will be vertically centered in respect to Main Window
|
|
endif
|
|
endif
|
|
*/
|
|
|
|
|
|
=========
|
|
SCROLLBAR
|
|
=========
|
|
|
|
Some changes regarding scrollbar:
|
|
! fix problem of missed WM_LBUTTONUP causing "sticky" scrollbar
|
|
! if "sticky" scrollbar still occurs, WM_CHAR will stop it
|
|
! etc.
|
|
|
|
+ wvw_xbInfo( [nWinNum], XBid )
|
|
return an array {nMin, nMax, nPageSize, nPos, nTrackPos } of scrollbar XBid
|
|
return an empty array {} if invalid parameter passed.
|
|
|
|
* WM_RBUTTON* on scrollbar is now disabled.
|
|
|
|
|
|
========
|
|
COMBOBOX
|
|
========
|
|
|
|
* all arrow keys are now passed to parent window,
|
|
regardless of Ctrl, Alt, and Shift states.
|
|
(only in WVW_CB_KBD_CLIPPER)
|
|
|
|
|
|
=============
|
|
MISCELLANEOUS
|
|
=============
|
|
|
|
* wvw_DrawLabelObj() added aOffset optional parm
|
|
|
|
* gtWndProc handles unreached area "better"
|
|
will repaint it on MaxCol()/MaxRow() event
|
|
|
|
* WM_CLOSE on Main Window is now followed by K_ESC,
|
|
thus in a case where SetCancel() is .f. an app can still handle this event.
|
|
|
|
2005-08-30 23:45 UTC+0700 Budyanto Dj. <budyanto@centrin.net.id> :: END
|
|
=========================================================================
|
|
|
|
2005-08-01 23:15 UTC+0700 Budyanto Dj. <budyanto@centrin.net.id>
|
|
* contrib/gtwvw/gtwvw.c
|
|
* source/rtl/gtwvt/gtwvt.c
|
|
! Fix resource leak in gtResetWindowSize(). A severe bug for Win98.
|
|
|
|
2005-07-22 14:20 UTC-0300 Luiz Rafael Culik<culikr at uol.com.br>
|
|
* source/rtl/gtwvt/gtwvt.c
|
|
contrib/gtwvw/gtwvt.c
|
|
contrib/wvtwin/wvtcore.c
|
|
contrib/wvtwin/wvtutils.c
|
|
! all Windows structures like RECT/POINT/LOGFONT/LOGBRUSH now are initialized to an empty structure.
|
|
|
|
2005-06-30 23:10 UTC+0700 Budyanto Dj. <budyanto@centrin.net.id>
|
|
* contrib/gtwvw/gtwvw.c
|
|
! Fix calculation of iNextPos in hb_wvw_gtAddCharToInputQueue()
|
|
and hb_wvw_gtGetCharFromInputQueue(). Resolves problem
|
|
reported of lost input characters.
|
|
Many Thanks to Peter Rees.
|
|
|
|
2005-06-19
|
|
* gtwvw.c
|
|
+ wvw_xbShow() to show/hide scrollbar, code by Julio Cesar Cantillo Molina.
|
|
|
|
2005-04-27
|
|
* hbgtwvw.h
|
|
* gtwvw.c
|
|
+ hb_wvw_gtSetLastMenuEvent()
|
|
+ wvw_SetLastMenuEvent() callable from .prg
|
|
|
|
2005-04-18:
|
|
* gtwvw.c
|
|
! hb_wvw_gtSetFont() gave wrong return value when it failed.
|
|
|
|
2005-04-07:
|
|
* gtwvw.c
|
|
! bugfix:: gt_Puts(): truncate a too long string in case of MainCoord Mode.
|
|
|
|
2005-03-31 04:10 UTC+0700 Andi Jahja <xharbour@cbn.net.id>
|
|
* contrib/gtwvw/hbgtwvw.h
|
|
! minor modification for __DMC__
|
|
|
|
2005-02-27 21:10 UTC+0700 Andi Jahja <xharbour@cbn.net.id>
|
|
* contrib/gtwvw/gtwvw.c
|
|
* some files i overlooked for the recent changes
|
|
(
|
|
* move initialization for __DMC__ to hbinit.h
|
|
+ HB_CPP_STARTUP, to write initialization of CPP the common way
|
|
+ HB_MSC_STARTUP, to write initialization of MSVC the current way
|
|
)
|
|
|
|
2005-02-24:
|
|
* contrib/gtwvw/hbgtwvw.h
|
|
* contrib/gtwvw/gtwvw.c
|
|
* changes to enable compilation with DigitalMars C++ (aka
|
|
Symantec C++ : http://www.digitalmars.com). Was abandoned
|
|
by Symantec some time ago and enjoy further development
|
|
from DigitalMars. It is another speedy compiler for xHarbour.
|
|
|
|
2005-02-22:
|
|
Changes by Andi Jahja:
|
|
* gtwvw.c
|
|
* initialization in var declaration, to avoid warnings.
|
|
|
|
2005-02-20:
|
|
Changes by Andi Jahja:
|
|
* gtwvw.c
|
|
+ #include <conio.h> for WATCOMC compiler
|
|
- PackedDibGetColorTablePtr , unused function
|
|
- PackedDibGetColorTableEntry, unused function
|
|
- gt_xPutch, unused function
|
|
* hb_Inp9x, hb_Outp9x: XCC, WATCOMC, MINGW32 compiler support
|
|
* gt_Tone: WATCOMC, MINGW32 compiler support
|
|
* hbgtwvw.h:
|
|
* changes required by some C compilers
|
|
|
|
2005-01-14
|
|
+ contrib/gtwvw/samples/cbtest1.prg
|
|
+ contrib/gtwvw/samples/cbtest2.prg
|
|
* Samples on how to use GTWVW combobox.
|
|
|
|
2005-01-13:
|
|
* gtwvw.c
|
|
+ wvw_cbIsDropped() new function
|
|
! hb_wvw_gtCBProc(): Handle ALT-F4 to avoid GPF if it is pressed when CB on focus
|
|
|
|
2005-01-13:
|
|
* gtwvw.c
|
|
! Fixed a hidden bug:
|
|
HB_GT_FUNC( mouse_SetPos ) was using X for row, and Y for col (!).
|
|
|
|
2005-01-12:
|
|
* gtwvw.c
|
|
* hbgtwvw.h
|
|
* Many type castings by Andi Jahja to allow GTWVW to be compiled in
|
|
MSVC/OW/PellesC/XCC/MinGW32. Thanks!!!
|
|
|
|
2004-12-31:
|
|
* gtwvw.c
|
|
Sync with =Id: gtwvt.c,v 1.140 2004-12-28 20:32:33 ptsarenko Exp =
|
|
* use CF_OEMTEXT parameter for clipboard functions for OEM charsets
|
|
by Pavel Tsarenko.
|
|
|
|
2004-12-23:
|
|
* gtwvw.c
|
|
! HB_FUNC( WVW_SETICON ) should pass hb_parc(3) instead of hb_parcx(3) to
|
|
hb_wvw_gtSetWindowIcon() in order to allow proper NULL checking there.
|
|
(hb_parcx(3) never returns NULL, even if param 3 is NIL.
|
|
|
|
2004-12-22:
|
|
Combobox (dropdown listbox) is introduced.
|
|
This feature is accessible throug the WVW_CB* functions.
|
|
(See IMPORTANT NOTES below regarding wvw_cbAddString() and wvw_CBSetCurSel())
|
|
|
|
Side Effects:
|
|
* WVW_ID_BASE_PUSHBUTTON is now 64000 (was 65000).
|
|
It means we may not have Menu Id >= 64000 now.
|
|
|
|
New .prg callable Functions: (combobox functions):
|
|
+ wvw_cbCreate( [nWinNum], nTop, nLeft, nWidth, aText, bBlock, nListLines, ;
|
|
nReserved, nKbdType, aOffset)
|
|
+ wvw_cbDestroy( [nWinNum], nCBid )
|
|
+ wvw_cbSetFocus( [nWinNum], nComboId )
|
|
+ wvw_cbIsFocused( [nWinNum], nComboId )
|
|
+ wvw_cbEnable( [nWinNum], nComboId, [lEnable] )
|
|
+ wvw_cbSetCodeblock( [nWinNum], nCBid, bBlock )
|
|
+ wvw_cbSetFont([nWinNum], cFontFace, nHeight, nWidth, nWeight, nQUality,;
|
|
lItalic, lUnderline, lStrikeout
|
|
+ wvw_cbSetIndex( [nWinNum], nCBid, nIndex )
|
|
+ wvw_cbGetIndex( [nWinNum], nCBid )
|
|
+ wvw_cbFindString( [nWinNum], nCBid, cString )
|
|
+ wvw_cbGetCurText( [nWinNum], nCBid )
|
|
|
|
IMPORTANT NOTICE:
|
|
* wvw_cbAddString() and wvw_CBSetCurSel() are NOT part of the above WVW_CB* functions family.
|
|
These two functions are adopted from gtwvt (long time ago), and I keep these names to
|
|
keep gtwvw's "historical links" to gtwvt unbroken.
|
|
|
|
TODO:
|
|
Create a sample of how to integrate combobox into regular GET system.
|
|
|
|
2004-11-25:
|
|
Synchronizing with:
|
|
=Id: hbgtwvt.h,v 1.32 2004-11-23 17:04:20 lf_sfnet Exp =
|
|
=Id: gtwvt.c,v 1.138 2004-11-25 01:54:13 guerra000 Exp =
|
|
=Id: wvtutils.c,v 1.19 2004-11-23 17:04:23 lf_sfnet Exp =
|
|
(wvtcore.c is not changed since last sync:
|
|
=Id: wvtcore.c,v 1.10 2004-08-30 14:10:20 vouchcac Exp =
|
|
)
|
|
|
|
------------------
|
|
Summary of changes
|
|
------------------
|
|
Applying the following change from gtwvt by Lorenzo Fiorini:
|
|
* hbgtwvw.ch
|
|
* wvtutils.c
|
|
* gtwvt.c
|
|
* added support for named icons in the resources
|
|
|
|
-------
|
|
Details
|
|
-------
|
|
* hbgtwvw.ch
|
|
* change in hb_wvw_gtSetWindowIcon() prototype (added lpicon parm)
|
|
|
|
* gtwvw.c
|
|
* hb_wvw_gtSetWindowIcon() added one optional parm
|
|
* wvw_SetIcon() added one optional parm
|
|
|
|
|
|
2004-11-23:
|
|
* gtwvw.c:
|
|
+ HB_GT_FUNC( gt_ProcessMessages )
|
|
|
|
2004-11-23:
|
|
* gtwvw.c:
|
|
* FlashWindowEx is replaced with FlashWindow to make gtwvw
|
|
work in Win95
|
|
|
|
2004-11-14:
|
|
* hbgtwvw.h
|
|
* WIN_DATA:
|
|
+ int iLSpaceColor; /* line space color */
|
|
* gtwvw.c:
|
|
+ static int s_iDefLSpaceColor = -1;
|
|
* hb_wvw_gtFillLineSpace(): use pWindowData->iLSpaceColor, or not
|
|
+ wvw_SetDefLSpaceColor()
|
|
+ wvw_SetLSpaceColor()
|
|
|
|
/**************************** BETA1-3 published at this point **/
|
|
|
|
2004-11-01:
|
|
* gtwvw.c
|
|
! wvw_DrawLabelObj(): bottom point +1, right point +1
|
|
|
|
2004-10-26:
|
|
Synchronizing with:
|
|
=Id: gtwvt.c,v 1.135 2004-10-24 09:43:45 oh1 Exp =
|
|
|
|
* gtwvw.c
|
|
* blank char for screen ' ' --> hb_ctGetClearB()
|
|
+ GTI_VIEWMAXWIDTH
|
|
+ GTI_VIEWMAXHEIGHT
|
|
These don't seem to be correctly implemented.
|
|
See gtwin about what they should do.
|
|
|
|
/****************************************************************
|
|
* Release Date: 2004-10-25 (CVS contrib)
|
|
* Prev Release: 2004-09-26
|
|
****************************************************************/
|
|
|
|
2004-10-25:
|
|
* hbgtwvw.h
|
|
* lpwAlign() and nCopyAnsiToWideChar() are now static
|
|
* gtwvw.c
|
|
* lpwAlign() and nCopyAnsiToWideChar() are now static
|
|
+ some #define by Lorenzo Fiorini
|
|
- some unused functions and variables
|
|
- some castings
|
|
This is to get rid of warnings in mingw32 as reported by Lorenzo Fiorini.
|
|
|
|
|
|
2004-10-18:
|
|
Synchronizing with: (Beta1-2)
|
|
=Id: hbgtwvt.h,v 1.31 2004-09-28 03:25:07 vouchcac Exp =
|
|
=Id: gtwvt.c,v 1.133 2004-09-28 03:25:17 vouchcac Exp =
|
|
=Id: wvtutils.c,v 1.18 2004-09-28 03:25:18 vouchcac Exp =
|
|
(wvtcore.c is not changed since last sync:
|
|
=Id: wvtcore.c,v 1.10 2004-08-30 14:10:20 vouchcac Exp =
|
|
)
|
|
|
|
------------------
|
|
Summary of changes
|
|
------------------
|
|
|
|
Adopting Modal Dialog, original work of Pritpal Bedi in gtwvt.
|
|
Like Modeless Dialog, this is attached to Main Window (by default).
|
|
There is an option, however, to attach it to other window by specifying
|
|
the window's handle.
|
|
|
|
* gtwvw.c
|
|
+ HB_FUNC( WVW_CREATEDIALOGMODAL )
|
|
|
|
|
|
2004-10-14:
|
|
* gtwvw.c:
|
|
! wvw_pbEnable(): after wvw_pbEnable(..., ..., .f.) focus should be
|
|
set to parent window, otherwise no input is accepted. Fixed.
|
|
Thanks to Fabio for reporting it.
|
|
|
|
|
|
2004-09-30:
|
|
* gtwvw.c:
|
|
* wvw_tbAddButton() new parm lMap3Dcolors
|
|
This is to support transparent toolbar button
|
|
(applicable to 256 color bitmap only).
|
|
|
|
|
|
/****************************************************************
|
|
* Release Date: 2004-09-26
|
|
* Prev Release: 2004-07-25
|
|
****************************************************************/
|
|
|
|
Contents
|
|
|
|
- WARNING: Your program may need to change!
|
|
|
|
- New Native Controls
|
|
= Push Buttons
|
|
= Progress Bar
|
|
|
|
- New Callback Functions
|
|
|
|
- New/Revised Functions
|
|
|
|
- Bugfix and Enhancements
|
|
|
|
- Adopted (and Adapted) Features from GTWVT
|
|
|
|
- Epilogue
|
|
|
|
|
|
/*-------------------------------------------------------------------*/
|
|
/* */
|
|
/* WARNING: Your program may need to change! */
|
|
/* */
|
|
/*-------------------------------------------------------------------*/
|
|
|
|
-------------------
|
|
wvw_DrawRoundRect()
|
|
-------------------
|
|
|
|
If you use this function, you may need to make a change:
|
|
|
|
Previously:
|
|
|
|
wvw_DrawRoundRect( nWinNum, nTop, nLeft, nBottom, nRight, ;
|
|
nRoundHeight, nRoundWidth )
|
|
|
|
Now:
|
|
|
|
wvw_DrawRoundRect( nWinNum, nTop, nLeft, nBottom, nRight, ;
|
|
aOffset, ; <-- new optional parm following GTWVT's
|
|
nRoundHeight, nRoundWidth )
|
|
|
|
|
|
----------------------------------------
|
|
Toolbar, Menu Command Id vs Push Buttons
|
|
----------------------------------------
|
|
|
|
This release introduces native push buttons. Internally pushbuttons use
|
|
command id 65000 and above. Therefore, do NOT use menu/toolbar commands
|
|
with id >= 65000.
|
|
|
|
You are further recommended not to use high numbered id (say >= 40000),
|
|
because future GTWVW may need that for its internal use.
|
|
|
|
|
|
-------------------------------
|
|
wvw_SetPen() and wvw_SetBrush()
|
|
-------------------------------
|
|
|
|
First parameter of wvw_SetPen() and wvw_SetBrush() are nWinNum.
|
|
This is still true in current release. However, it is now ignored,
|
|
because now the same PENs and BRUSHes are now used by all window.
|
|
There is no more specific PENs and BRUSHes for specific window.
|
|
|
|
I have to do this change, because previous release of GTWVW causes
|
|
GDI leak because of this PENs and BRUSHes stuff...
|
|
|
|
|
|
|
|
/*-------------------------------------------------------------------*/
|
|
/* */
|
|
/* New Native Controls */
|
|
/* */
|
|
/*-------------------------------------------------------------------*/
|
|
|
|
------------
|
|
Push Buttons
|
|
------------
|
|
|
|
You can now create pushbutton very easily. Simply define where do you
|
|
want it to sit, and what action do you want it to do when it's clicked
|
|
by means of a codeblock.
|
|
|
|
In previous version, we had to use wvwmouse.prg to simulate pushbuttons
|
|
using wvw_DrawBoxRaised(). We also had to handle 'OnMouseHover', 'OnMouseOut',
|
|
'OnPressed', etc, to simulate the pressed/released state of the button.
|
|
By using native push buttons, we don't have to worry about all that anymore.
|
|
Windows will take care about it.
|
|
|
|
If we are using Windows XP style, pushbuttons will automatically behave
|
|
as they should in Windows XP: round shaped, hot when mouse hovers, etc.
|
|
|
|
Push button functions are prefixed with wvw_pb*, for example:
|
|
wvw_pbCreate()
|
|
wvw_pbDestroy()
|
|
wvw_pbSetFont()
|
|
etc
|
|
|
|
------------
|
|
Progress Bar
|
|
------------
|
|
|
|
Progress Bar is one of the simplest controls. Gtwvw now uses native
|
|
progress bar. It is a preferred method instead of the simulated one
|
|
using wvw_DrawProgressBar().
|
|
|
|
Progress bar functions are prefixed with wvw_pg*, for example:
|
|
wvw_pgCreate()
|
|
wvw_pgDestroy()
|
|
wvw_pgSetRange()
|
|
wvw_pgSetPos()
|
|
etc.
|
|
|
|
|
|
/*-------------------------------------------------------------------*/
|
|
/* */
|
|
/* New Callback Functions */
|
|
/* */
|
|
/*-------------------------------------------------------------------*/
|
|
|
|
----------------
|
|
WVW_INPUTFOCUS()
|
|
----------------
|
|
|
|
If exists, this function is called by GTWVW whenever input occurs on
|
|
non topmost window. (Currently GTWVW allows only topmost window, that
|
|
is the last window opened, to accept input.)
|
|
|
|
For example, assume your program is displaying Main Window and another
|
|
window. If at this point the user click the Main Window and select
|
|
some menu item, GTWVW will reject to handle this event because Main
|
|
Window is not currently topmost.
|
|
|
|
Typically GTWVW will produce an asterisk sound and flash the topmost
|
|
window to tell user which window is expecting input.
|
|
|
|
In current GTWVW, prior to do that GTWVW will call WVW_INPUTFOCUS()
|
|
function, if exists, and inspect its return value. If it returns .t.,
|
|
then GTWVW do nothing, assuming the event has been handled properly
|
|
by WVW_INPUTFOCUS().
|
|
|
|
If no WVW_INPUTFOCUS() exists, or if it returns .f., GTWVW will do
|
|
the usual response: asterisk sound and flashing window.
|
|
|
|
See inpfocus.prg sample program demonstrating this feature.
|
|
|
|
|
|
/*-------------------------------------------------------------------*/
|
|
/* */
|
|
/* New/Revised Functions */
|
|
/* */
|
|
/*-------------------------------------------------------------------*/
|
|
|
|
+ wvw_SetWinStyle(): get/set window style
|
|
|
|
* wvw_DrawBoxRecessed(): optional parm lTight can now be passed as aOffset
|
|
|
|
+ wvw_NoStartupSubWindow(): disable/enabling displaying window when we open it.
|
|
(this is the adaptation of Main Window's
|
|
ANNOUNCE NOSTARTUPWINDOW
|
|
adopted from GTWVT)
|
|
|
|
+ wvw_ShowWindow(): show/hide a window.
|
|
|
|
* wvw_nOpenWindow(): has new optional parms allowing prg to define prefered
|
|
window style and parent window.
|
|
|
|
+ wvw_NoClose(): disable CLOSE 'X' button
|
|
|
|
! wvw_sbAddPart(): now more accurate when measuring expected panel width.
|
|
|
|
+ wvw_tbIndex2Cmd(): convert toolbar button's index to command id.
|
|
+ wvw_tbCmd2Index(): and vice versa.
|
|
|
|
+ WVW_PB* : pushbutton functions
|
|
|
|
+ WVW_PG* : progress bar functions
|
|
|
|
- wvw_DeleteObject(): removed as GTWVT's. See also win_DeleteObject()
|
|
|
|
|
|
/*-------------------------------------------------------------------*/
|
|
/* */
|
|
/* Bugfix and Enhancements */
|
|
/* */
|
|
/*-------------------------------------------------------------------*/
|
|
|
|
---------------
|
|
Windows 98's DC
|
|
---------------
|
|
|
|
Thanks to Anatole Kolotovkin who reported this bug in Win98, where
|
|
GDI objects are display incorrectly after opening some 5 windows or
|
|
more. (In WinXP this bug doesn't occur.)
|
|
|
|
This bug has now been fixed in current release.
|
|
|
|
|
|
--------
|
|
GDI Leak
|
|
--------
|
|
|
|
Some GDI objects (PENs and BRUSHes) mysteriously persist, even after
|
|
the objects are successfully deleted.
|
|
|
|
This has now been fixed. But as a side effect, GTWVW does not support
|
|
specific window's PENs and BRUSHes anymore. PENs and BRUSHes are now
|
|
application-wide.
|
|
|
|
|
|
-------------------------------
|
|
Other bugfixes and enhancements
|
|
-------------------------------
|
|
|
|
There are also many other minor bugfixes and enhancements.
|
|
Some of the enhancements are additional aOffset parameter to
|
|
WVW_Draw* functions.
|
|
|
|
|
|
/*-------------------------------------------------------------------*/
|
|
/* */
|
|
/* Adopted (and Adapted) Features from GTWVT */
|
|
/* */
|
|
/*-------------------------------------------------------------------*/
|
|
|
|
======================================================================
|
|
Synchronizing with: (xHarbour Beta1-1 aka 0.99.1)
|
|
=Id: hbgtwvt.h,v 1.30 2004-09-15 03:52:49 bdj Exp =
|
|
=Id: gtwvt.c,v 1.132 2004-09-21 04:04:58 peterrees Exp =
|
|
=Id: wvtutils.c,v 1.17 2004-09-15 03:52:49 bdj Exp =
|
|
(wvtcore.c is not changed since last sync)
|
|
======================================================================
|
|
|
|
------------------
|
|
Summary of changes
|
|
------------------
|
|
|
|
* handling of ANSI to OEM conversion (and vice versa)
|
|
* new gt_info() set/get: GTI_MOUSESTATUS and GTI_FONTNAME
|
|
! fix handling of codeblock as wndproc of DlgProcMLess
|
|
! fix inkey code for K_SH_BS
|
|
* some changes in defaults:
|
|
* font height: 20 (was 12)
|
|
* font width : 10 (was 8)
|
|
* font face : Courier New (was Terminal)
|
|
* some castings
|
|
|
|
These are based on revisions by Lorenzo Fiorini, Peter Rees, Paul Tucker
|
|
and myself in GTWVT.
|
|
|
|
|
|
======================================================================
|
|
Synchronizing with:
|
|
=Id: gtwvt.c,v 1.127 2004-08-31 12:57:28 vouchcac Exp =
|
|
=Id: wvtcore.c,v 1.10 2004-08-30 14:10:20 vouchcac Exp =
|
|
=Id: wvtutils.c,v 1.13 2004-08-30 14:10:20 vouchcac Exp =
|
|
Changelog:
|
|
=Id: ChangeLog,v 1.3412 2004-09-06 20:01:01 druzus Exp =
|
|
Last Entry:
|
|
2004-09-06 22:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
|
======================================================================
|
|
|
|
-----------------------------------
|
|
APPLIED CHANGES ADOPTED FROM GTWVT:
|
|
-----------------------------------
|
|
+ Support Modeless Dialog (attached to Main Window).
|
|
This is adopted from original work of Pritpal Bedi on GTWVT.
|
|
! Bugfix in Clipboard function, copied from the fix by Pritpal Bedi on GTWVT.
|
|
+ some new GTI_ functions, adopted from Lorenzo Fiorini's work on GTWVT.
|
|
+ gt_gfxPrimitive() function, adopted from original work of Mauricio Abre
|
|
on GTWVT
|
|
! Improvement in internal point to char conversion, adopted from
|
|
Peter Rees' work on GTWVT
|
|
* If app has ANNOUNCE HB_NOSTARTUPWINDOW Main Window is not displayed
|
|
until after the app ready and call wvw_ShowWindow(0).
|
|
This may result in a better visual effect as opposed to watching
|
|
the window resized or prepared during window initialization.
|
|
(Some app may also choose to never show the Main Window.)
|
|
This is adopted from original idea of Pritpal Bedi on GTWVT.
|
|
+ New Function wvw_NoStartupSubWindow() to get similar feature on subwindows.
|
|
If this feature is used, app must call wvw_ShowWindow([nWinNum], 1)
|
|
or simply wvw_ShowWindow([nWinNum]) to display the previously opened
|
|
window.
|
|
* Some castings and optimizations.
|
|
* Some changes in some EXPORTed C functions.
|
|
(All .prg / HB_FUNC functions are not affected)
|
|
* aOffset parameter to more primitive GUI drawing functions
|
|
(following the changes on GTWVT by Pritpal Bedi)
|
|
|
|
*****************************************************************
|
|
WARNING!!!
|
|
wvw_DrawRoundRect() parameter is shifted because of insertion of
|
|
a new parameter aOffset.
|
|
*****************************************************************
|
|
|
|
* Some changes to Tooltip functions
|
|
(adopted from Pritpal Bedi's work on GTWVT)
|
|
|
|
+ New .prg / HB_FUNC functions: (adopted from Pritpal Bedi's on GTWVT)
|
|
+ HB_FUNC( WVW_UPDATEWINDOW )
|
|
+ HB_FUNC( WVW_DRAWCOLORRECT ) (similar to WVW_FillRectangle)
|
|
+ DlgModeless functions
|
|
+ many WIN_* functions, general window API wrapper functions
|
|
|
|
- Removed .prg / HB_FUNC functions:
|
|
- wvw_DeleteObject()
|
|
(following GTWVT. Use win_DeleteObject() instead)
|
|
|
|
-----------------------------------------------
|
|
CHANGES ON GTWVT THAT ARE NOT ADOPTED ON GTWVW:
|
|
-----------------------------------------------
|
|
* "second layer of GUI"
|