9f4f65617875be36069e4912b5a344af7d4e45f8
* contrib/gtwvg/gtwvg.hbp
+ Added: wvggenrc.prg
* contrib/gtwvg/gtwvg.h
+ Added: structure member - PHB_ITEM pNotifierGUI
* contrib/gtwvg/gtwvg.c
* contrib/gtwvg/wvgwin.c
* contrib/gtwvg/wvgwing.c
* contrib/gtwvg/hbgtwvg.ch
+ Added: event notification - HB_GTE_ANY
* contrib/gtwvg/wvg3stat.prg
* contrib/gtwvg/wvgax.prg
* contrib/gtwvg/wvgcheck.prg
* contrib/gtwvg/wvgclass.prg
* contrib/gtwvg/wvgcombo.prg
* contrib/gtwvg/wvgcrt.prg
* contrib/gtwvg/wvgcuig.c
* contrib/gtwvg/wvgdarea.prg
* contrib/gtwvg/wvgdatar.prg
* contrib/gtwvg/wvgdlg.prg
+ contrib/gtwvg/wvggenrc.prg
+ Implemented: Xbase++ compliant SetAppWindow() function.
The function simulates a WvgCRT() window from current
thread specific GT console if the function is called
without parameters and current thread has not posted
any application window. This facilitates hosting
WVG*Gui controls on pure GT invoked console.
* contrib/gtwvg/wvghtmlv.prg
* contrib/gtwvg/wvglistb.prg
* contrib/gtwvg/wvgmenub.prg
* contrib/gtwvg/wvgmle.prg
* contrib/gtwvg/wvgpaint.prg
+ Added: WVT_GetRGBColorByString( cClipperColorString, nForeBack )
Retrieves RGB color given the clipper color string from
active GT palette:
WVT_GetRGBColorByString( "W+/GR", 0 ) => nRGBForeColor
WVT_GetRGBColorByString( "W+/GR", 1 ) => nRGBBackColor
* contrib/gtwvg/wvgphdlr.prg
* contrib/gtwvg/wvgpushb.prg
* contrib/gtwvg/wvgradio.prg
* contrib/gtwvg/wvgscrlb.prg
* contrib/gtwvg/wvgsle.prg
* contrib/gtwvg/wvgstatb.prg
* contrib/gtwvg/wvgstatc.prg
* contrib/gtwvg/wvgsysw.prg
* contrib/gtwvg/wvgtoolb.prg
* contrib/gtwvg/wvgtreev.prg
* contrib/gtwvg/wvgwnd.prg
+ Restructured: GTWVG at GUI space.
Xbase++ compatible controls can be hosted on CUI console.
The only requirement is that the parent of such GUI
controls is an object created with WvgCRT(). If there
is no object of type WvgCRT() is in sight, in case of a
pure GT invoked console, a WvgCRT() object is created and
current console window handle is assigned to it. This is
achieved through SetAppWindow() function which is called
if a control's parent is supplied as NIL, in accordance
with Xbase++ documentation.
The events assigned and executed by such controls are not
posted to inkey() processing, instead, are executed directly.
Just before executing an assigned event, focus is imposed
on GT console and returned to GUI control after processing
the execution. This ensures that GT is always in focus while
GUI control executes an assignment.
+ Introduced: In accordance with console coordinate system, the
positioning and size parameters supplied at the time of
construction of GUI objects now support
aPos == { nRow, nColumn } and aSize == { nRows, nColumns }
protocol. This has been achieved by supplying all four values
in negative. Thus WVG engine checks for negativity of position
and size values and determines that coordinate system be
interpreted as row/column instead of x/y(s). For example,
WvgPushButton( , , { -10, -2 }, { -3, -10 } )
call will render the push button at 10,2,13,12 console area
in terms of rows and columns. These coordinates will be
maintained with resizing of console, etc.
To extend this coordinate system a step further, the pos
and size arrays can be populated with code blocks evaluating
to a negative numeric value. This implimentation facilitates
to ancor any GUI control to a specific postion always. Thus,
WvgPushButton( , , { {|| -( maxrow()-3 ) }, -2 }, { -10, -3 } )
will always position push button on last row-3 of the console
no matter how many rows the console is resized to.
+ Introduced: oWVG:SetColorFG/BG() now accept clipper color string
and renders the corresponding RGB color of active GT palette.
This facilitates the embedding of GUI controls on Clipper
complaint screen colors. Thus,
oStatic:setColorBG( "GR*" )
will render the background of text label as yellow.
IMPORTANT: The above concepts are on the top of existing ones
so no current functionality is lost.
* contrib/gtwvg/tests/demowvg.prg
* contrib/gtwvg/tests/wvgtbrowser.prg
* contrib/gtwvg/tests/wvgutilities.prg
* contrib/gtwvg/tests/wvgxbp.prg
+ Restructured: the code parts to demonstrate newly introduced
GTWVG concepts. Specialy look at main window's menu system,
push buttons at the bottom. Also look at
<Main Menu><Traditional><Browser - GTWVG - Threaded>.
This example is reworked entirely and is a testimony to
GTWVG power.
NOTE: more changes and code shifting and simplifying is
on the drawing board. Hopefully code will get an
an overhaul in coming days.
Description
Harbour Core — Reference source for Five development
Languages
C
80.3%
xBase
17.8%
Makefile
0.6%
C++
0.4%
Harbour
0.4%
Other
0.3%