Pritpal Bedi 9f4f656178 2011-12-06 23:28 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* 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.
2011-12-07 09:16:14 +00:00
Description
Harbour Core — Reference source for Five development
172 MiB
Languages
C 80.3%
xBase 17.8%
Makefile 0.6%
C++ 0.4%
Harbour 0.4%
Other 0.3%