2008-11-23 17:28 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)

* harbour/contrib/gtwvg/Makefile
  * harbour/contrib/gtwvg/common.mak
    + wvgtoolb.prg 

  * harbour/contrib/gtwvg/hbgtwvg.ch
  * harbour/contrib/gtwvg/wvgdlg.prg
  * harbour/contrib/gtwvg/wvgmenub.prg
  * harbour/contrib/gtwvg/wvgphdlr.prg
  + harbour/contrib/gtwvg/wvgtoolb.prg
    ! Initial commit.
  * harbour/contrib/gtwvg/wvgwnd.prg
    
    ! Usual cleanup plus new functions/members etc.
This commit is contained in:
Pritpal Bedi
2008-11-24 01:28:12 +00:00
parent d8655db0a9
commit 39b634fbb7
9 changed files with 370 additions and 11 deletions

View File

@@ -8,6 +8,21 @@
2008-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org)
*/
2008-11-23 17:28 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* harbour/contrib/gtwvg/Makefile
* harbour/contrib/gtwvg/common.mak
+ wvgtoolb.prg
* harbour/contrib/gtwvg/hbgtwvg.ch
* harbour/contrib/gtwvg/wvgdlg.prg
* harbour/contrib/gtwvg/wvgmenub.prg
* harbour/contrib/gtwvg/wvgphdlr.prg
+ harbour/contrib/gtwvg/wvgtoolb.prg
! Initial commit.
* harbour/contrib/gtwvg/wvgwnd.prg
! Usual cleanup plus new functions/members etc.
2008-11-23 15:00 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* harbour/contrib/gtwvg/Makefile
* harbour/contrib/gtwvg/common.mak

View File

@@ -25,6 +25,8 @@ PRG_SOURCES=\
wvgax.prg \
wvgdlg.prg \
wvgmenub.prg \
wvgtoolb.prg \
PRG_HEADERS=\
hbgtwvg.ch \

View File

@@ -19,6 +19,7 @@ LIB_OBJS = \
$(OBJ_DIR)wvgax$(OBJEXT) \
$(OBJ_DIR)wvgdlg$(OBJEXT) \
$(OBJ_DIR)wvgmenub$(OBJEXT) \
$(OBJ_DIR)wvgtoolb$(OBJEXT) \
\
$(OBJ_DIR)gtwvg$(OBJEXT) \
$(OBJ_DIR)wvgcore$(OBJEXT) \

View File

@@ -138,7 +138,45 @@
#define objTypeWindow 2
#define objTypeActiveX 3
#define objTypeDialog 4
#define objTypeToolBar 5
#define objTypeToolBarButton 6
#define objTypeMenu 7
#define WVGALIGN_TOP 0
#define WVGALIGN_LEFT 0
#define WVGALIGN_HCENTER 1
#define WVGALIGN_RIGHT 2
#define WVGALIGN_VCENTER 4
#define WVGALIGN_BOTTOM 8
#define WVGALIGN_WORDBREAK 16
#define WVGFRAME_NONE 0
#define WVGFRAME_RECT 1
#define WVGFRAME_BOX 2
#define WVGFRAME_RAISED 16
#define WVGFRAME_RECESSED 32
#define WVGFRAME_THICK 128
#define WVGTOOLBAR_STYLE_STANDARD 0
#define WVGTOOLBAR_STYLE_FLAT 1
#define WVGTOOLBAR_BUTTON_UNPRESSED 0
#define WVGTOOLBAR_BUTTON_PRESSED 1
#define WVGTOOLBAR_BUTTON_DEFAULT 0
#define WVGTOOLBAR_BUTTON_TOGGLE 1
#define WVGTOOLBAR_BUTTON_BUTTONGROUP 2
#define WVGTOOLBAR_BUTTON_SEPARATOR 3
#define WVGTOOLBAR_BUTTON_PLACEHOLDER 4
#define WVGTOOLBAR_BUTTON_DROPDOWN 5
#define WVGTOOLBAR_STDIMAGES_SMALL 0
#define WVGTOOLBAR_STDIMAGES_LARGE 1
#define WVGTOOLBAR_VIEWIMAGES_SMALL 4
#define WVGTOOLBAR_VIEWIMAGES_LARGE 5
#define WVGTOOLBAR_EXPLORERIMAGES_SMALL 8
#define WVGTOOLBAR_EXPLORERIMAGES_LARGE 9
//----------------------------------------------------------------------//
#endif
#endif // _HBGTWVG_CH

View File

@@ -77,6 +77,8 @@ CLASS WvgDialog FROM WvgWindow
DATA oMenu
DATA drawingArea
METHOD init()
METHOD create()
METHOD configure()
@@ -88,12 +90,14 @@ METHOD init( oParent, oOwner, aPos, aSize, aPresParams, lVisible ) CLASS WvgDial
::WvgWindow:init( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
::className := 'WVGDIALOG'
::resizeMode := 0
::mouseMode := 0
::objType := objTypeDialog
::className := 'WVGDIALOG'
::resizeMode := 0
::mouseMode := 0
::objType := objTypeDialog
::style := WS_THICKFRAME+WS_OVERLAPPED+WS_CAPTION+WS_SYSMENU+WS_MINIMIZEBOX+WS_MAXIMIZEBOX;
::style := WS_THICKFRAME+WS_OVERLAPPED+WS_CAPTION+WS_SYSMENU+WS_MINIMIZEBOX+WS_MAXIMIZEBOX;
::drawingArea := Self
RETURN Self
//----------------------------------------------------------------------//

View File

@@ -252,7 +252,7 @@ METHOD delItem( nItemNum ) CLASS wvgMenuBar
// { xCaption, bAction, nStyle, nAttrb }
//
METHOD addItem( aItem, p2, p3, p4 ) CLASS wvgMenuBar
LOCAL nItemIndex, nMenuItemID, cCaption
LOCAL nItemIndex, cCaption
LOCAL xCaption, bAction, nStyle, nAttrib
if PCount() == 1 .and. valtype( aItem ) == 'A'

View File

@@ -233,9 +233,9 @@ METHOD setParent( oWvg ) CLASS WvgPartHandler
//----------------------------------------------------------------------//
METHOD notifier( nEvent, xParams ) CLASS WvgPartHandler
Local xResult, n, aPos
Local aPos
LOCAL nReturn := 0
LOCAL aMenuItem, bBlock, nPos
LOCAL aMenuItem
DO CASE

View File

@@ -0,0 +1,293 @@
/*
* $Id$
*/
/*
* Harbour Project source code:
* Source file for the Wvg*Classes
*
* Copyright 2008 Pritpal Bedi <pritpal@vouchcac.com>
* http://www.harbour-project.org
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this software; see the file COPYING. If not, write to
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
* Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/).
*
* As a special exception, the Harbour Project gives permission for
* additional uses of the text contained in its release of Harbour.
*
* The exception is that, if you link the Harbour libraries with other
* files to produce an executable, this does not by itself cause the
* resulting executable to be covered by the GNU General Public License.
* Your use of that executable is in no way restricted on account of
* linking the Harbour library code into it.
*
* This exception does not however invalidate any other reasons why
* the executable file might be covered by the GNU General Public License.
*
* This exception applies only to the code released by the Harbour
* Project under the name Harbour. If you copy code from other
* Harbour Project or Free Software Foundation releases into a copy of
* Harbour, as the General Public License permits, the exception does
* not apply to the code that you add in this way. To avoid misleading
* anyone as to the status of such modified files, you must delete
* this exception notice from them.
*
* If you write modifications of your own for Harbour, it is your choice
* whether to permit this exception to apply to your modifications.
* If you do not wish that, delete this exception notice.
*
*/
//----------------------------------------------------------------------//
//----------------------------------------------------------------------//
//----------------------------------------------------------------------//
//
// EkOnkar
// ( The LORD is ONE )
//
// Xbase++ xbpToolBar Compatible Class
//
// Pritpal Bedi <pritpal@vouchcac.com>
// 23Nov2008
//
//----------------------------------------------------------------------//
//----------------------------------------------------------------------//
//----------------------------------------------------------------------//
#include 'hbclass.ch'
#include 'common.ch'
#include 'hbgtinfo.ch'
#include 'hbgtwvg.ch'
#include 'wvtwin.ch'
#include 'inkey.ch'
//----------------------------------------------------------------------//
CLASS WvgToolBar INHERIT WvgActiveXControl
DATA appearance
DATA style INIT WVGTOOLBAR_STYLE_STANDARD
DATA allowCustomize INIT .T.
DATA enabled INIT .T.
DATA showToolTips INIT .T.
DATA borderStyle INIT WVGFRAME_NONE
DATA wrappable INIT .T.
DATA buttonWidth INIT 0
DATA buttonHeight INIT 0
DATA textAlign INIT WVGALIGN_BOTTOM
DATA imageWidth INIT 0
DATA imageHeight INIT 0
DATA transparentColor INIT 0
DATA aItems INIT {}
METHOD new()
METHOD create()
METHOD configure()
METHOD destroy()
METHOD addItem()
METHOD delItem()
METHOD getItem()
METHOD numItems() INLINE Len( ::aItems )
METHOD clear()
METHOD customize()
METHOD loadImageSet()
METHOD saveToolbar()
METHOD restToolbar()
METHOD setPosAndSize()
METHOD setSize()
DATA sl_buttonClick
DATA sl_change
DATA sl_buttonMenuClick
DATA sl_buttonDropDown
METHOD buttonClick() SETGET
METHOD change() SETGET
METHOD buttonMenuClick() SETGET
METHOD buttonDropDown() SETGET
ENDCLASS
//----------------------------------------------------------------------//
METHOD new( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
DEFAULT oParent TO ::oParent
DEFAULT oOwner TO ::oOwner
DEFAULT aPos TO ::aPos
DEFAULT aSize TO ::aSize
DEFAULT aPresParams TO ::aPresParams
DEFAULT lVisible TO ::visible
::oParent := oParent
::oOwner := oOwner
::aPos := aPos
::aSize := aSize
::aPresParams := aPresParams
::visible := lVisible
::WvgActiveXControl:new( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
RETURN Self
//----------------------------------------------------------------------//
METHOD create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
DEFAULT oParent TO ::oParent
DEFAULT oOwner TO ::oOwner
DEFAULT aPos TO ::aPos
DEFAULT aSize TO ::aSize
DEFAULT aPresParams TO ::aPresParams
DEFAULT lVisible TO ::visible
::oParent := oParent
::oOwner := oOwner
::aPos := aPos
::aSize := aSize
::aPresParams := aPresParams
::visible := lVisible
RETURN Self
//----------------------------------------------------------------------//
METHOD configure( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
DEFAULT oParent TO ::oParent
DEFAULT oOwner TO ::oOwner
DEFAULT aPos TO ::aPos
DEFAULT aSize TO ::aSize
DEFAULT aPresParams TO ::aPresParams
DEFAULT lVisible TO ::visible
::oParent := oParent
::oOwner := oOwner
::aPos := aPos
::aSize := aSize
::aPresParams := aPresParams
::visible := lVisible
RETURN Self
//----------------------------------------------------------------------//
METHOD destroy()
RETURN NIL
//----------------------------------------------------------------------//
METHOD addItem()
RETURN Self
//----------------------------------------------------------------------//
METHOD delItem()
RETURN Self
//----------------------------------------------------------------------//
METHOD getItem()
RETURN Self
//----------------------------------------------------------------------//
METHOD clear()
RETURN Self
//----------------------------------------------------------------------//
METHOD customize()
RETURN Self
//----------------------------------------------------------------------//
METHOD loadImageSet()
RETURN Self
//----------------------------------------------------------------------//
METHOD saveToolbar()
RETURN Self
//----------------------------------------------------------------------//
METHOD restToolbar()
RETURN Self
//----------------------------------------------------------------------//
METHOD setPosAndSize()
RETURN Self
//----------------------------------------------------------------------//
METHOD setSize()
RETURN Self
//----------------------------------------------------------------------//
METHOD buttonClick( xParam )
IF hb_isBlock( xParam ) .or. hb_isNil( xParam )
::sl_buttonClick := xParam
ENDIF
RETURN Self
//----------------------------------------------------------------------//
METHOD change( xParam )
IF hb_isBlock( xParam ) .or. hb_isNil( xParam )
::sl_change := xParam
ENDIF
RETURN Self
//----------------------------------------------------------------------//
METHOD buttonMenuClick( xParam )
IF hb_isBlock( xParam ) .or. hb_isNil( xParam )
::sl_buttonMenuClick := xParam
ENDIF
RETURN Self
//----------------------------------------------------------------------//
METHOD buttonDropDown( xParam )
IF hb_isBlock( xParam ) .or. hb_isNil( xParam )
::sl_buttonDropDown := xParam
ENDIF
RETURN Self
//----------------------------------------------------------------------//

View File

@@ -476,14 +476,20 @@ METHOD setPresParam() CLASS WvgWindow
//----------------------------------------------------------------------//
METHOD currentPos() CLASS WvgWindow
LOCAL aRect
RETURN Self
aRect := Win_GetWindowRect( ::hWnd )
RETURN { aRect[ 1 ], aRect[ 2 ] }
//----------------------------------------------------------------------//
METHOD currentSize() CLASS WvgWindow
LOCAL aRect
RETURN Self
aRect := Win_GetClientRect( ::hWnd )
RETURN { aRect[ 3 ] - aRect[ 1 ], aRect[ 4 ] - aRect[ 2 ] }
//----------------------------------------------------------------------//