Commit Graph

13 Commits

Author SHA1 Message Date
Pritpal Bedi
0a69f3201d 2008-06-28 11:37 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/gtwvg/gtwvg.c
  * contrib/gtwvg/gtwvg.h
  * contrib/gtwvg/hbgtwvg.ch
    + Implemented application to run as a System Tray Icon.
    ; IMPLEMENTATION:
      Hb_GtInfo( HB_GTI_SPEC, HB_GTS_SYSTRAYICON, ;
                 { nMode /*NIM_ADD/MODIFY/DELETE*/, ;
                    nIconType /*NIT_FILE/RESOURCEBYNAME/RESOURCEBYID*/, ;
                     cnFileNameOrResourceName|Id, ;
                      cTooltip } )

      Right-click on SysTrayIcon will restore the appln in its original state.

    : TOKNOW: Does it qualify for GTWVT? 

  * tests/wvtext.prg
    ! Modified to show the SysTrayIcon feature if linked with GTWVG.
      Link Guarded againt __GTWVG__ define.
2008-06-28 18:51:05 +00:00
Viktor Szakats
e708033e0e 2008-06-13 19:19 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/gtwvt/gtwvt.h
   * source/rtl/gtwvt/gtwvt.c
   * tests/wvtext.prg
     + Added hb_gtInfo( HB_GTI_SELECTCOPY, <cMenuText> )
       to set the menu text ("Mark and Copy" on startup).
       cMenuText mustn't be zero length. Setting the menu text 
       also enables select&copy automatically. The call 
       will return the previously set menu text. To get 
       the menu text without setting a new one, use: 
       hb_gtInfo( HB_GTI_SELECTCOPY, "" )
       This is good if someone wants to adapt the menu 
       text to the OS's or app's language.

   * doc/en/hb_apiit.txt
   * include/hbapi.h
   * include/hbapiitm.h
   * source/rtl/gtwin/gtwin.c
   * source/rtl/hbgtcore.c
   * source/rtl/gtgui/gtgui.c
   * source/rtl/gtwvt/gtwvt.c
   * source/vm/macro.c
   * source/vm/debug.c
   * source/vm/itemapi.c
   * source/vm/hvm.c
   * source/vm/arrays.c
   * source/vm/extend.c
   * source/rdd/dbfntx/dbfntx1.c
   * source/rdd/sdf1.c
   * source/rdd/dbfcdx/dbfcdx1.c
   * source/rdd/delim1.c
   * source/rdd/dbf1.c
   * source/rdd/dbffpt/dbffpt1.c
   * contrib/hbw32/w32_ole.c
   * contrib/gtwvg/gtwvg.c
   * contrib/rddads/ads1.c
   * contrib/hbmisc/spd.c
   * contrib/hbbmcdx/bmdbfcdx1.c
   * contrib/examples/rdddbt/dbfdbt1.c
     * I did a mistake in 1999 by giving the name hb_itemPutCPtr() 
       to the function which would have to be correctly named 
       hb_itemPutCLPtr() (notice the 'L' for 'length').
       So, now this was renamed to hb_itemPutCLPtr(), and stub was 
       added with the old name, and Harbour code was changed to use 
       the new one. I've also added hb_itemPutCPtr2() as a version 
       not requiring len parameter, the proper name would be hb_itemPutCPtr() 
       for this, but we cannot use without breakin compatiblity.

       IMPORTANT: I'd strongly suggest all 3rd parties to update 
       their code to use the call hb_itemPutCLPtr() instead of 
       hb_itemPutCLPtr().

       The final goal would be to have hb_itemPutCPtr() with two 
       parameters instead of the hakish looking hb_itemPutCPtr2().

       I'd welcome any opinions how to reach this goal. I didn't want to 
       break compatiblity with 3rd parties this time, but IMO we may do 
       it in 1.1, or even before 1.0.

     ! The above also fixes the (potential) problem when hb_retc_buffer()'s 
       szText parameter was evaluated twice if HB_API_MACROS was #defined.
2008-06-13 17:26:48 +00:00
Pritpal Bedi
8520cab552 2008-06-13 10:56 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com)
* harbour/source/rtl/gtwvt/gtwvt.c
   * harbour/source/rtl/gtfunc.c
   * harbour/include/hbapigt.h
     + Added Palette implementation by color index.
       Hb_GtInfo( HB_GTI_PALETTE, nIndex[, nNewRGB ] ) -> nOldRGB
   
   * harbour/tests/wvtext.prg
     * Updated to demonstrate above functionality.
2008-06-12 18:01:04 +00:00
Pritpal Bedi
8d4e65a1a0 2008-06-13 09:12 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com
* harbour/source/rtl/gtwvt/gtwvt.c
   * harbour/include/hbgtinfo.ch
     + Added functionality to change Palette. 
       Hb_GtInfo( HB_GTI_PALETTE, aNewPalette ) -> aOldPalette
       <aNewPalette> must be of 16 elements containg RGB colors.

   * harbour/tests/wvtext.prg
     * Updated to demonstrate palette info.
     ; TODO : Hb_GtInfo( HB_GTI_PALETTEBYINDEX, nIndex[, nNewRGB ] ) -> nOldRGB
       Needs deeper modifications in GT core. Needs additional parameter 
       in core setup. Will commit today.
2008-06-12 16:21:57 +00:00
Pritpal Bedi
03a9c90ebe 2008-06-11 13:30 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com
* harbour/tests/wvtext.prg
     + Added Massimo's contribution.
2008-06-11 20:25:40 +00:00
Pritpal Bedi
c04afe2af3 2008-06-11 12:30 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com
* harbour/source/rtl/gtwvt/gtwvt.c
   * harbour/source/rtl/gtwvt/gtwvt.h
   * harbour/include/hbgtinfo.ch
     + Added HB_GTI_CLOSABLE
       Hb_GtInfo( HB_GTI_CLOSABLE, TRUE|FALSE ) -> lPrevState
       TRUE enables the "X" button, FALSE disbles it.
     + Added functionality to respond to WM_CLOSE message. 
       If application returns 1 then application is exited.
    
   * harbour/tests/wvtext.prg
     + Added functionality to demonstrate above feature.
2008-06-11 19:35:37 +00:00
Viktor Szakats
0a4b1fcdb6 2008-06-11 19:19 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbgtinfo.ch
   * source/rtl/gtwvt/gtwvt.c
     ! Fixed stupid typo from me. This is why maximized size 
       didn't want to get right.
     ! Fixed to not reposition non-maximized windows while 
       resizing them and their top/left corner was off screen.
     ! Fixed to not allow font screen below a certain limit 
       (3x4 pixels). This fixes some of the more obvious cases 
       when window gets trashed.
     ! Fixed to not resize the windows when toggling the 
       resizing feature using HB_GTI_RESIZABLE.
     + Added to disable maximize icon after maximizing and 
       reenable it on the first resize attempt.
     - Removed TIMER related stuff as it's very difficult 
       (or impossible) to support on other platforms.
       Timer support could be added to hbw32.lib, though.
     * Some cleanups.
     ; Remaining TOFIXes:
       - Window trashing when settling on a size which 
         cannot be properly filled with the console. Try with 
         vertically or horizontally narrow window shapes.
       - Mark&Copy is still trashing when swapping directions 
         with the selection compared to the starting position.

   * tests/wvtext.prg
     ! Added missing SVN keywords properties.
     ! Added missing SVN eol property.
     ! Fixed to use the default font to have a more common 
       ground for testing.
     + Added markers to the corners to easily spot chopped 
       borders.

   * contrib/xhb/Makefile
   * contrib/xhb/common.mak
     - Removed some xhb specific non-standard headers from 
       the list of those getting installed to the Harbour central 
       include dir. Only hbcompat.ch, hbcompat.h and xhb.ch 
       goes now to the official include dir. After this change 
       has been merged with RC1, xhb.lib may be included in 
       the default build.
       [TOMERGE RC1]

   * contrib/hbw32/tests/testdll.prg
     + Added some more DLL calling samples.
2008-06-11 17:39:35 +00:00
Viktor Szakats
a5ac639119 2008-06-09 07:36 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* tests/wvtext.prg
   * include/hbgtinfo.ch
   * include/hbgtcore.h
   * source/rtl/hbgtcore.c
   * source/rtl/gtwvt/gtwvt.c
     * Changed the way notifications work. It's now platform 
       neutral and more simple.
       hb_gtInfo( HB_GTI_NOTIFIERBLOCK, {|nEvent, ...| myhandler( nEvent, mycustomdata, ... ) })
       may be used to set it. Use NIL to disable it. The purpose of 
       this is to be able to get notifications from GT related
       user interactions not initiated inside the apps UI world.
       F.e. to save screen size after the user has changed it, 
       or to have a last chance to commit tables, set flags, etc 
       when user (or OS) closed the app window.
     + Added basic support to handle return values from notifier.
     ! Added missing SVN header to wvtext.prg
     ; TOFIX: New TIMER stuff in GTWVT should be replace by 
              a platform neutral solution, which is probably MT.
              (see also "background events")
     ; TOFIX: Is there a way to force "non-full content" resize 
              on the window level? This way we could avoid 
              current trashing while resizing.
2008-06-09 06:07:59 +00:00
Viktor Szakats
c6e89d45a8 2008-06-09 06:25 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* tests/wvtext.prg
   * include/hbgtinfo.ch
   * include/hbgtcore.h
   * source/rtl/gtwvt/gtwvt.h
   * source/rtl/gtwvt/gtwvt.c
     ! Fixed a few warnings.
     ! Fixed bad selection behaviour when starting the 
       selection (to not let it "stick" to the upper left corned).
     - Removed predefined symbols as a way to control GT 
       behaviour.
     * HB_GTI_MARKCOPY -> HB_GTI_SELECTCOPY to use more generic 
       terminology.
     * HB_GTI_RESIZEABLE -> HB_GTI_RESIZABLE
2008-06-09 04:39:36 +00:00
Pritpal Bedi
22169dced0 2008-06-08 20:12 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com
* harbour/source/rtl/gtwvt/gtwvt.c
     * More fixes on resizing. Now appears to be behaving correctly. Please test.

   * harbour/tests/wvtext.pr
     * Formatting and typos.
2008-06-09 03:15:08 +00:00
Pritpal Bedi
6c50fbe3a3 2008-06-08 16:03 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com
* harbour/source/rtl/gtwvt/gtwvt.c
   * harbour/source/rtl/gtwvt/gtwvt.h
   * harbour/source/rtl/hbgtcore.c
   * harbour/include/hbgtinfo.ch
     + HB_GTI_MARKCOPY
       Added feature to toggle "Mark and Copy" Sysmenu option with:
          Hb_GtInfo( HB_GTI_MARKCOPY, TRUE|FALSE ) -> lPrevState

       Removed necessity to have Hb_NoCopyConsole() to not include it.
       Now appln always HAS this SysMenu option. 

     + HB_GTI_RESIZEABLE
       Added feature to toggle resizing of appln window as:
          Hb_GtInfo( HB_GTI_RESIZEABLE, TRUE|FALSE ) -> lPrevState

       Function Hb_NoResizeableWindow() still hold good for startup.
       You always can activate/deactivate this feature from within appln.

       Few more optimizations while resizing, still work in progress.  
       
   * harbour/tests/wvtext.prg
     * Updated to demonstrate above functionality.
2008-06-08 23:14:43 +00:00
Pritpal Bedi
664df2ff4f 2008-06-08 08:57 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com
* harbour/source/rtl/gtwvt/gtwvt.c
     + Added functionality to disable "Mark and Copy" prompt in the SysMenu.
       Include Function Hb_NoCopyConsole() if you do not want this functionality.

     + Added funtionality to resize the console window with mouse operations.
       /*
          Resizing of console is enabled by default. 
          To supress this behavior include a dummy function Hb_NoResizableWindow()

          Resizing is available in both directions. I mean horizontal as well as verticle.
          Maximize button is also enabled. Click it to see to your surprize that now
          console window will provide you DOS like terminal.

          However there is a bug in maximized operation, last row does not show up correct.
          I feel it belongs to some miscalculation, but what that is I am unable to locate, so far.
          Please experiment.
       */
   * harbour/tests/wvtext.prg
     * Updated to new HB_GT*_ constants and new functionality.
2008-06-08 15:58:32 +00:00
Pritpal Bedi
1e9b0b7f3e 2008-06-06 20:45 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com)
* harbour/source/rtl/hbgtcore.c
   * harbour/include/hbgtcore.h
   * harbour/include/hbgtinfo.ch
   * harbour/source/rtl/gtwvt/gtwvt.c
   * harbour/source/rtl/gtwvt/gtwvt.h
     + Added building blocks for CallBacks to be set with Hb_GtInfo( GTI_* ).
   * harbour/tests/wvtext.prg
     + Test program to taste few of the callbacks.

     /* This also sets the ground for futuristic multi-window GT 
        I have kept MW GT code out of current implementation.
        This implementation does not interfere nor affects current functionality.

        A work in progress.

        Viktor, I have found a way to implement 'consol shearing, working on it
        and for that to happen these building blocks are a must.

        Przemek, please review the structure of <PHB_PGT>. I have added a few members.
        Please bear with my meagre knowledge if I did something stupid, just correct it.
     */
2008-06-07 04:31:50 +00:00