2010-04-25 01:32 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbxbp/xbp3state.prg
* contrib/hbxbp/xbpappevent.prg
* contrib/hbxbp/xbpbitmap.prg
* contrib/hbxbp/xbpbrowse.prg
* contrib/hbxbp/xbpcheckbox.prg
* contrib/hbxbp/xbpcombobox.prg
* contrib/hbxbp/xbpdataref.prg
* contrib/hbxbp/xbpdialog.prg
* contrib/hbxbp/xbpfiledialog.prg
* contrib/hbxbp/xbpfontdialog.prg
* contrib/hbxbp/xbphtmlviewer.prg
* contrib/hbxbp/xbplistbox.prg
* contrib/hbxbp/xbpmenubar.prg
* contrib/hbxbp/xbpmle.prg
* contrib/hbxbp/xbppushbutton.prg
* contrib/hbxbp/xbpradiobutton.prg
* contrib/hbxbp/xbprtf.prg
* contrib/hbxbp/xbpscrollbar.prg
* contrib/hbxbp/xbpsle.prg
* contrib/hbxbp/xbpspinbutton.prg
* contrib/hbxbp/xbpstatusbar.prg
* contrib/hbxbp/xbptabpage.prg
* contrib/hbxbp/xbptoolbar.prg
* contrib/hbxbp/xbptreeview.prg
* contrib/hbxbp/xbpwindow.prg
! Reworked callbacl Slots/Methods which are now INHERITable in
the sub-classes derived from Xbp Part.
! Slots ae now recognized through the slot identifier string.
! Deleted redundant parts and made code more cleaner and uniform in
method calling conventions.
This is first round of reforms, more will follow.
This commit is contained in:
@@ -17,6 +17,40 @@
|
||||
past entries belonging to author(s): Viktor Szakats.
|
||||
*/
|
||||
|
||||
2010-04-25 01:32 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
|
||||
* contrib/hbxbp/xbp3state.prg
|
||||
* contrib/hbxbp/xbpappevent.prg
|
||||
* contrib/hbxbp/xbpbitmap.prg
|
||||
* contrib/hbxbp/xbpbrowse.prg
|
||||
* contrib/hbxbp/xbpcheckbox.prg
|
||||
* contrib/hbxbp/xbpcombobox.prg
|
||||
* contrib/hbxbp/xbpdataref.prg
|
||||
* contrib/hbxbp/xbpdialog.prg
|
||||
* contrib/hbxbp/xbpfiledialog.prg
|
||||
* contrib/hbxbp/xbpfontdialog.prg
|
||||
* contrib/hbxbp/xbphtmlviewer.prg
|
||||
* contrib/hbxbp/xbplistbox.prg
|
||||
* contrib/hbxbp/xbpmenubar.prg
|
||||
* contrib/hbxbp/xbpmle.prg
|
||||
* contrib/hbxbp/xbppushbutton.prg
|
||||
* contrib/hbxbp/xbpradiobutton.prg
|
||||
* contrib/hbxbp/xbprtf.prg
|
||||
* contrib/hbxbp/xbpscrollbar.prg
|
||||
* contrib/hbxbp/xbpsle.prg
|
||||
* contrib/hbxbp/xbpspinbutton.prg
|
||||
* contrib/hbxbp/xbpstatusbar.prg
|
||||
* contrib/hbxbp/xbptabpage.prg
|
||||
* contrib/hbxbp/xbptoolbar.prg
|
||||
* contrib/hbxbp/xbptreeview.prg
|
||||
* contrib/hbxbp/xbpwindow.prg
|
||||
! Reworked callbacl Slots/Methods which are now INHERITable in
|
||||
the sub-classes derived from Xbp Part.
|
||||
! Slots ae now recognized through the slot identifier string.
|
||||
! Deleted redundant parts and made code more cleaner and uniform in
|
||||
method calling conventions.
|
||||
|
||||
This is first round of reforms, more will follow.
|
||||
|
||||
2010-04-24 13:35 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* src/rtl/achoice.prg
|
||||
! REVERTED: Fixed typo in ACHOICE() K_UP handling, which caused a
|
||||
|
||||
@@ -86,13 +86,10 @@ CLASS Xbp3State INHERIT XbpWindow, XbpDataRef
|
||||
METHOD configure( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
METHOD destroy()
|
||||
METHOD handleEvent( nEvent, mp1, mp2 )
|
||||
|
||||
METHOD setCaption( xCaption )
|
||||
|
||||
ACCESS selected INLINE ::sl_lbClick
|
||||
ASSIGN selected( bBlock ) INLINE ::sl_lbClick := bBlock
|
||||
|
||||
METHOD exeBlock( iState )
|
||||
METHOD selected( ... ) SETGET
|
||||
METHOD execSlot( cSlot, p )
|
||||
|
||||
ENDCLASS
|
||||
|
||||
@@ -112,7 +109,7 @@ METHOD Xbp3State:create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
|
||||
::oWidget := QCheckBox():New( ::oParent:oWidget )
|
||||
|
||||
::Connect( ::pWidget, "stateChanged(int)", {|i| ::exeBlock( i ) } )
|
||||
::Connect( ::pWidget, "stateChanged(int)", {|i| ::execSlot( "stateChanged(int)", i ) } )
|
||||
|
||||
::oWidget:setTriState( .t. )
|
||||
|
||||
@@ -152,14 +149,15 @@ METHOD Xbp3State:hbCreateFromQtPtr( oParent, oOwner, aPos, aSize, aPresParams, l
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD Xbp3State:exeBlock( iState )
|
||||
|
||||
::sl_editBuffer := IF( iState == 2, 1, IF( iState == 1, 2, iState ) )
|
||||
|
||||
IF hb_isBlock( ::sl_lbClick )
|
||||
eval( ::sl_lbClick, ::sl_editBuffer, NIL, self )
|
||||
ENDIF
|
||||
METHOD Xbp3State:execSlot( cSlot, p )
|
||||
|
||||
SWITCH cSlot
|
||||
CASE "stateChanged(int)"
|
||||
::sl_editBuffer := iif( p == 2, 1, iif( p == 1, 2, p ) )
|
||||
::selected( ::sl_editBuffer )
|
||||
EXIT
|
||||
ENDSWITCH
|
||||
|
||||
RETURN nil
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -200,3 +198,15 @@ METHOD Xbp3State:setCaption( xCaption )
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD Xbp3State:selected( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_lbClick := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 1 .AND. hb_isBlock( ::sl_lbClick )
|
||||
eval( ::sl_lbClick, a_[ 1 ], NIL, Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
|
||||
@@ -445,23 +445,23 @@ FUNCTION XbpQKeyEventToAppEvent( pEvent )
|
||||
c := hbqt_QTranslateKey( kbm, Qt_Key_QuoteDbl, Qt_Key_QuoteDbl, xbeK_ALT_QUOTE, Qt_Key_QuoteDbl )
|
||||
EXIT
|
||||
CASE Qt_Key_Space
|
||||
c := ' ' ; EXIT
|
||||
c := ' ' ; EXIT
|
||||
CASE Qt_Key_Exclam
|
||||
c := '!' ; EXIT
|
||||
c := '!' ; EXIT
|
||||
CASE Qt_Key_NumberSign
|
||||
c := '#' ; EXIT
|
||||
c := '#' ; EXIT
|
||||
CASE Qt_Key_Dollar
|
||||
c := '$' ; EXIT
|
||||
c := '$' ; EXIT
|
||||
CASE Qt_Key_Percent
|
||||
c := '%' ; EXIT
|
||||
c := '%' ; EXIT
|
||||
CASE Qt_Key_Ampersand
|
||||
c := '&' ; EXIT
|
||||
c := '&' ; EXIT
|
||||
CASE Qt_Key_Apostrophe
|
||||
c := Qt_Key_Apostrophe ; EXIT
|
||||
c := Qt_Key_Apostrophe ; EXIT
|
||||
CASE Qt_Key_ParenLeft
|
||||
c := '(' ; EXIT
|
||||
c := '(' ; EXIT
|
||||
CASE Qt_Key_ParenRight
|
||||
c := ')' ; EXIT
|
||||
c := ')' ; EXIT
|
||||
CASE Qt_Key_Comma
|
||||
c := hbqt_QTranslateKey( kbm, ',', ',', xbeK_ALT_COMMA, ',' )
|
||||
EXIT
|
||||
@@ -469,18 +469,18 @@ FUNCTION XbpQKeyEventToAppEvent( pEvent )
|
||||
c := hbqt_QTranslateKey( kbm, '.', '.', xbeK_ALT_PERIOD, '.' )
|
||||
EXIT
|
||||
CASE Qt_Key_Colon
|
||||
c := '' ; EXIT
|
||||
c := '' ; EXIT
|
||||
CASE Qt_Key_Semicolon
|
||||
c := ';' ; EXIT
|
||||
c := ';' ; EXIT
|
||||
CASE Qt_Key_Less
|
||||
c := '<' ; EXIT
|
||||
c := '<' ; EXIT
|
||||
CASE Qt_Key_Greater
|
||||
c := '>' ; EXIT
|
||||
c := '>' ; EXIT
|
||||
CASE Qt_Key_Question
|
||||
c := hbqt_QTranslateKey( kbm, '?', '?', '?', xbeK_CTRL_QUESTION )
|
||||
EXIT
|
||||
CASE Qt_Key_At
|
||||
c := '@' ; EXIT
|
||||
c := '@' ; EXIT
|
||||
|
||||
CASE Qt_Key_Meta /* On Mac OS X, this corresponds to the Control keys. On Windows keyboards, this key is mapped to the Windows key. */
|
||||
c := xbeK_ ; EXIT
|
||||
|
||||
@@ -76,17 +76,18 @@
|
||||
|
||||
CLASS XbpBitmap
|
||||
|
||||
ACCESS bits INLINE ::oWidget:depth()
|
||||
DATA bufferOffset INIT 0
|
||||
ACCESS planes INLINE 0
|
||||
DATA transparentColor INIT GRA_CLR_INVALID
|
||||
ACCESS xSize INLINE ::oWidget:width()
|
||||
ACCESS ySize INLINE ::oWidget:height()
|
||||
|
||||
DATA oWidget
|
||||
DATA oPS
|
||||
DATA cImageFileName
|
||||
|
||||
ACCESS bits INLINE ::oWidget:depth()
|
||||
ACCESS planes INLINE 0
|
||||
ACCESS xSize INLINE ::oWidget:width()
|
||||
ACCESS ySize INLINE ::oWidget:height()
|
||||
|
||||
METHOD new() INLINE Self
|
||||
METHOD create( oPS )
|
||||
METHOD configure() VIRTUAL
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
* EkOnkar
|
||||
* ( The LORD is ONE )
|
||||
*
|
||||
* Xbase++ Compatible XbpRtf Class
|
||||
* Xbase++ Compatible XbpBrowse Class
|
||||
*
|
||||
* Pritpal Bedi <pritpal@vouchcac.com>
|
||||
* 10Jul2009
|
||||
@@ -76,6 +76,13 @@
|
||||
#include "gra.ch"
|
||||
#include "appevent.ch"
|
||||
|
||||
#include "button.ch"
|
||||
#include "color.ch"
|
||||
#include "error.ch"
|
||||
#include "inkey.ch"
|
||||
#include "setcurs.ch"
|
||||
#include "tbrowse.ch"
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#define HBQT_BRW_CELLVALUE 1001
|
||||
@@ -93,43 +100,25 @@
|
||||
#define HBQT_BRW_DATALIGN 1013
|
||||
#define HBQT_BRW_CELLDECORATION 1014
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
//
|
||||
// XbpBrowse
|
||||
//
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#define HB_CLS_NOTOBJECT
|
||||
|
||||
#include "hbclass.ch"
|
||||
|
||||
#include "button.ch"
|
||||
#include "color.ch"
|
||||
#include "common.ch"
|
||||
#include "error.ch"
|
||||
#include "inkey.ch"
|
||||
#include "setcurs.ch"
|
||||
#include "tbrowse.ch"
|
||||
|
||||
#define _TBCI_COLOBJECT 1 // column object
|
||||
#define _TBCI_COLWIDTH 2 // width of the column
|
||||
#define _TBCI_COLPOS 3 // column position on screen
|
||||
#define _TBCI_CELLWIDTH 4 // width of the cell
|
||||
#define _TBCI_CELLPOS 5 // cell position in column
|
||||
#define _TBCI_COLSEP 6 // column separator
|
||||
#define _TBCI_SEPWIDTH 7 // width of the separator
|
||||
#define _TBCI_HEADING 8 // column heading
|
||||
#define _TBCI_FOOTING 9 // column footing
|
||||
#define _TBCI_HEADSEP 10 // heading separator
|
||||
#define _TBCI_FOOTSEP 11 // footing separator
|
||||
#define _TBCI_DEFCOLOR 12 // default color
|
||||
#define _TBCI_FROZENSPACE 13 // space after frozen columns
|
||||
#define _TBCI_LASTSPACE 14 // space after last visible column
|
||||
#define _TBCI_SIZE 14 // size of array with TBrowse column data
|
||||
#define _TBCI_COLOBJECT 1 // column object
|
||||
#define _TBCI_COLWIDTH 2 // width of the column
|
||||
#define _TBCI_COLPOS 3 // column position on screen
|
||||
#define _TBCI_CELLWIDTH 4 // width of the cell
|
||||
#define _TBCI_CELLPOS 5 // cell position in column
|
||||
#define _TBCI_COLSEP 6 // column separator
|
||||
#define _TBCI_SEPWIDTH 7 // width of the separator
|
||||
#define _TBCI_HEADING 8 // column heading
|
||||
#define _TBCI_FOOTING 9 // column footing
|
||||
#define _TBCI_HEADSEP 10 // heading separator
|
||||
#define _TBCI_FOOTSEP 11 // footing separator
|
||||
#define _TBCI_DEFCOLOR 12 // default color
|
||||
#define _TBCI_FROZENSPACE 13 // space after frozen columns
|
||||
#define _TBCI_LASTSPACE 14 // space after last visible column
|
||||
#define _TBCI_SIZE 14 // size of array with TBrowse column data
|
||||
|
||||
#define _TBC_SETKEY_KEY 1
|
||||
#define _TBC_SETKEY_BLOCK 2
|
||||
@@ -307,7 +296,7 @@ EXPORTED:
|
||||
|
||||
METHOD new( nTop, nLeft, nBottom, nRight ) // constructor, NOTE: This method is a Harbour extension [vszakats]
|
||||
METHOD create( oParent, oOwner, aPos, aSize, aPresParams, lVisible ) // constructor, NOTE: This method is a Harbour extension [vszakats]
|
||||
METHOD exeBlock( nEvent, p1, p2, p3 ) // executes view events
|
||||
METHOD execSlot( nEvent, p1, p2, p3 ) // executes view events
|
||||
METHOD supplyInfo( nMode, nInfo, p2, p3 ) // supplies cell parameters to Qt engine
|
||||
METHOD configure( nMode ) // mark that the internal settings of the TBrowse object should be reconfigured
|
||||
METHOD handleEvent( nEvent, mp1, mp2 )
|
||||
@@ -512,9 +501,9 @@ METHOD XbpBrowse:buildLeftFreeze()
|
||||
//
|
||||
//::oLeftFooterView:hide()
|
||||
|
||||
::connect( ::oLeftView , "mousePressEvent()" , {|p| ::exeBlock( 31, p ) } )
|
||||
::connect( ::oLeftHeaderView, "sectionPressed(int)", {|i| ::exeBlock( 31, i ) } )
|
||||
::connect( ::oLeftFooterView, "sectionPressed(int)", {|i| ::exeBlock( 31, i ) } )
|
||||
::connect( ::oLeftView , "mousePressEvent()" , {|p| ::execSlot( 31, p ) } )
|
||||
::connect( ::oLeftHeaderView, "sectionPressed(int)", {|i| ::execSlot( 31, i ) } )
|
||||
::connect( ::oLeftFooterView, "sectionPressed(int)", {|i| ::execSlot( 31, i ) } )
|
||||
|
||||
RETURN Self
|
||||
|
||||
@@ -558,9 +547,9 @@ METHOD XbpBrowse:buildRightFreeze()
|
||||
::oRightFooterModel := HBDbfModel():new( {|p1,p2,p3,p4| ::supplyInfo( 162, p1, p2, p3, p4 ) } )
|
||||
::oRightFooterView:setModel( ::oRightFooterModel )
|
||||
|
||||
::connect( ::oRightView , "mousePressEvent()" , {|p| ::exeBlock( 31, p ) } )
|
||||
::connect( ::oRightHeaderView, "sectionPressed(int)", {|i| ::exeBlock( 31, i ) } )
|
||||
::connect( ::oRightFooterView, "sectionPressed(int)", {|i| ::exeBlock( 31, i ) } )
|
||||
::connect( ::oRightView , "mousePressEvent()" , {|p| ::execSlot( 31, p ) } )
|
||||
::connect( ::oRightHeaderView, "sectionPressed(int)", {|i| ::execSlot( 31, i ) } )
|
||||
::connect( ::oRightFooterView, "sectionPressed(int)", {|i| ::execSlot( 31, i ) } )
|
||||
|
||||
RETURN Self
|
||||
|
||||
@@ -587,27 +576,27 @@ METHOD XbpBrowse:create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
::oTableView:setSelectionBehavior( IF( ::cursorMode == XBPBRW_CURSOR_ROW, QAbstractItemView_SelectRows, QAbstractItemView_SelectItems ) )
|
||||
|
||||
/* Connect Keyboard Events */
|
||||
::connect( ::oTableView, "keyPressEvent()" , {|p | ::exeBlock( 1, p ) } )
|
||||
::connect( ::oTableView, "mousePressEvent()" , {|p | ::exeBlock( 2, p ) } )
|
||||
::connect( ::oTableView, "mouseDoubleClickEvent()" , {|p | ::exeBlock( 3, p ) } )
|
||||
::connect( ::oTableView, "wheelEvent()" , {|p | ::exeBlock( 4, p ) } )
|
||||
::connect( ::oTableView, "scrollContentsBy(int,int)" , {|p,p1| ::exeBlock(11, p, p1 ) } )
|
||||
::connect( ::oTableView, "keyPressEvent()" , {|p | ::execSlot( 1, p ) } )
|
||||
::connect( ::oTableView, "mousePressEvent()" , {|p | ::execSlot( 2, p ) } )
|
||||
::connect( ::oTableView, "mouseDoubleClickEvent()" , {|p | ::execSlot( 3, p ) } )
|
||||
::connect( ::oTableView, "wheelEvent()" , {|p | ::execSlot( 4, p ) } )
|
||||
::connect( ::oTableView, "scrollContentsBy(int,int)" , {|p,p1| ::execSlot(11, p, p1 ) } )
|
||||
|
||||
/* Finetune Horizontal Scrollbar */
|
||||
::oTableView:setHorizontalScrollBarPolicy( Qt_ScrollBarAlwaysOff )
|
||||
//
|
||||
::oHScrollBar := QScrollBar():new()
|
||||
::oHScrollBar:setOrientation( Qt_Horizontal )
|
||||
::connect( ::oHScrollBar, "actionTriggered(int)" , {|i| ::exeBlock( 103, i ) } )
|
||||
::connect( ::oHScrollBar, "sliderReleased()" , {|i| ::exeBlock( 104, i ) } )
|
||||
::connect( ::oHScrollBar, "actionTriggered(int)" , {|i| ::execSlot( 103, i ) } )
|
||||
::connect( ::oHScrollBar, "sliderReleased()" , {|i| ::execSlot( 104, i ) } )
|
||||
|
||||
/* Replace Vertical Scrollbar with our own */
|
||||
::oTableView:setVerticalScrollBarPolicy( Qt_ScrollBarAlwaysOff )
|
||||
//
|
||||
::oVScrollBar := QScrollBar():new()
|
||||
::oVScrollBar:setOrientation( Qt_Vertical )
|
||||
::connect( ::oVScrollBar, "actionTriggered(int)" , {|i| ::exeBlock( 101, i ) } )
|
||||
::connect( ::oVScrollBar, "sliderReleased()" , {|i| ::exeBlock( 102, i ) } )
|
||||
::connect( ::oVScrollBar, "actionTriggered(int)" , {|i| ::execSlot( 101, i ) } )
|
||||
::connect( ::oVScrollBar, "sliderReleased()" , {|i| ::execSlot( 102, i ) } )
|
||||
|
||||
/* Veritical Header because of Performance boost */
|
||||
::oVHeaderView := QHeaderView()
|
||||
@@ -619,8 +608,8 @@ METHOD XbpBrowse:create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
::oHeaderView:configure( ::oTableView:horizontalHeader() )
|
||||
::oHeaderView:setHighlightSections( .F. )
|
||||
//
|
||||
::connect( ::oHeaderView, "sectionPressed(int)" , {|i | ::exeBlock( 111, i ) } )
|
||||
::connect( ::oHeaderView, "sectionResized(int,int,int)", {|i,i1,i2| ::exeBlock( 121, i, i1, i2 ) } )
|
||||
::connect( ::oHeaderView, "sectionPressed(int)" , {|i | ::execSlot( 111, i ) } )
|
||||
::connect( ::oHeaderView, "sectionResized(int,int,int)", {|i,i1,i2| ::execSlot( 121, i, i1, i2 ) } )
|
||||
|
||||
/* .DBF Manipulation Model */
|
||||
::oDbfModel := HBDbfModel():new( {|p1,p2,p3,p4| ::supplyInfo( 141, p1, p2, p3, p4 ) } )
|
||||
@@ -748,11 +737,11 @@ METHOD XbpBrowse:destroy()
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpBrowse:exeBlock( nEvent, p1, p2, p3 )
|
||||
METHOD XbpBrowse:execSlot( nEvent, p1, p2, p3 )
|
||||
LOCAL oWheelEvent, oMouseEvent, i, nRow, nRowPos, nCol, nColPos, oPoint
|
||||
|
||||
HB_SYMBOL_UNUSED( p2 )
|
||||
//HB_TRACE( HB_TR_DEBUG, " XbpBrowse:exeblock:", nEvent, 0, memory( 1001 ) )
|
||||
//HB_TRACE( HB_TR_DEBUG, " XbpBrowse:execSlot:", nEvent, 0, memory( 1001 ) )
|
||||
DO CASE
|
||||
CASE nEvent == 1 /* Keypress Event */
|
||||
SetAppEvent( xbeP_Keyboard, XbpQKeyEventToAppEvent( p1 ), NIL, self )
|
||||
|
||||
@@ -86,12 +86,10 @@ CLASS XbpCheckBox INHERIT XbpWindow, XbpDataRef
|
||||
METHOD configure( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
METHOD destroy()
|
||||
METHOD handleEvent( nEvent, mp1, mp2 )
|
||||
METHOD exeBlock( iState )
|
||||
|
||||
METHOD execSlot( cSlot, p )
|
||||
METHOD setCaption( xCaption )
|
||||
|
||||
ACCESS selected INLINE ::sl_lbClick
|
||||
ASSIGN selected( bBlock ) INLINE ::sl_lbClick := bBlock
|
||||
|
||||
METHOD selected( ... ) SETGET
|
||||
|
||||
ENDCLASS
|
||||
|
||||
@@ -110,7 +108,7 @@ METHOD XbpCheckBox:create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
::xbpWindow:create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
|
||||
::oWidget := QCheckBox():New( ::oParent:oWidget )
|
||||
::Connect( ::pWidget, "stateChanged(int)", {|i| ::exeBlock( i ) } )
|
||||
::Connect( ::pWidget, "stateChanged(int)", {|i| ::execSlot( "stateChanged(int)", i ) } )
|
||||
|
||||
::setPosAndSize()
|
||||
IF ::visible
|
||||
@@ -142,12 +140,14 @@ METHOD XbpCheckBox:hbCreateFromQtPtr( oParent, oOwner, aPos, aSize, aPresParams,
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpCheckBox:exeBlock( iState )
|
||||
METHOD XbpCheckBox:execSlot( cSlot, p )
|
||||
|
||||
::sl_editBuffer := iState <> 0
|
||||
IF hb_isBlock( ::sl_lbClick )
|
||||
eval( ::sl_lbClick, iState <> 0, NIL, self )
|
||||
ENDIF
|
||||
SWITCH cSlot
|
||||
CASE "stateChanged(int)"
|
||||
::sl_editBuffer := p <> 0
|
||||
::selected( ::sl_editBuffer )
|
||||
EXIT
|
||||
ENDSWITCH
|
||||
|
||||
RETURN nil
|
||||
|
||||
@@ -189,3 +189,14 @@ METHOD XbpCheckBox:setCaption( xCaption )
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpCheckBox:selected( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_lbClick := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 1 .AND. hb_isBlock( ::sl_lbClick )
|
||||
eval( ::sl_lbClick, a_[ 1 ], NIL, Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
@@ -73,7 +73,6 @@
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
//CLASS XbpComboBox INHERIT XbpSLE, XbpListBox
|
||||
CLASS XbpComboBox INHERIT XbpWindow
|
||||
|
||||
DATA type INIT XBPCOMBO_DROPDOWN
|
||||
@@ -85,7 +84,7 @@ CLASS XbpComboBox INHERIT XbpWindow
|
||||
METHOD configure( oParent, oOwner, aPos, aSize, aPresParams, lVisible ) VIRTUAL
|
||||
METHOD destroy()
|
||||
METHOD handleEvent( nEvent, mp1, mp2 ) VIRTUAL
|
||||
METHOD exeBlock( nMsg, p1 )
|
||||
METHOD execSlot( cSlot, p )
|
||||
|
||||
METHOD listBoxFocus( lFocus ) VIRTUAL // -> lOldFocus
|
||||
METHOD sleSize() VIRTUAL // -> aOldSize
|
||||
@@ -107,21 +106,17 @@ CLASS XbpComboBox INHERIT XbpWindow
|
||||
|
||||
|
||||
DATA oSLE
|
||||
ACCESS XbpSLE INLINE ::oSLE
|
||||
DATA oLB
|
||||
ACCESS XbpSLE INLINE ::oSLE
|
||||
ACCESS XbpListBox INLINE ::oLB
|
||||
|
||||
DATA sl_itemMarked
|
||||
ACCESS itemMarked INLINE ::sl_itemMarked
|
||||
ASSIGN itemMarked( bBlock ) INLINE ::sl_itemMarked := bBlock
|
||||
|
||||
DATA sl_itemSelected
|
||||
ACCESS itemSelected INLINE ::sl_itemSelected
|
||||
ASSIGN itemSelected( bBlock ) INLINE ::sl_itemSelected := bBlock
|
||||
|
||||
DATA sl_xbePDrawItem
|
||||
ACCESS drawItem INLINE ::sl_xbePDrawItem
|
||||
ASSIGN drawItem( bBlock ) INLINE ::sl_xbePDrawItem := bBlock
|
||||
DATA sl_drawItem
|
||||
|
||||
METHOD itemMarked( ... ) SETGET
|
||||
METHOD itemSelected( ... ) SETGET
|
||||
METHOD drawItem( ... ) SETGET
|
||||
|
||||
ENDCLASS
|
||||
|
||||
@@ -140,20 +135,17 @@ METHOD XbpComboBox:create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
::xbpWindow:create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
|
||||
::oSLE := XbpSLE():new():create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
|
||||
::oLB := XbpListBox():new():create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
|
||||
::oWidget := QComboBox():New( ::pParent )
|
||||
|
||||
::oWidget:setLineEdit( ::XbpSLE:oWidget:pPtr )
|
||||
|
||||
::oWidget:setEditable( ::XbpSLE:editable )
|
||||
|
||||
::oWidget:setFrame( ::XbpSLE:border )
|
||||
|
||||
::connect( ::pWidget, "highlighted(int)" , {|i| ::exeBlock( 1, i ) } )
|
||||
* ::connect( ::pWidget, "currentIndexChanged(int)", {|i| ::exeBlock( 2, i ) } )
|
||||
::connect( ::pWidget, "activated(int)" , {|i| ::exeBlock( 2, i ) } )
|
||||
::connect( ::pWidget, "highlighted(int)" , {|i| ::execSlot( "highlighted(int)" , i ) } )
|
||||
::connect( ::pWidget, "activated(int)" , {|i| ::execSlot( "activated(int)" , i ) } )
|
||||
* ::connect( ::pWidget, "currentIndexChanged(int)", {|i| ::execSlot( "currentIndexChanged(int)", i ) } )
|
||||
|
||||
::setPosAndSize()
|
||||
IF ::visible
|
||||
@@ -181,15 +173,15 @@ METHOD XbpComboBox:hbCreateFromQtPtr( oParent, oOwner, aPos, aSize, aPresParams,
|
||||
IF ::visible
|
||||
::show()
|
||||
ENDIF
|
||||
::oWidget:setLineEdit( ::XbpSLE:oWidget:pPtr )
|
||||
::oWidget:setLineEdit( ::XbpSLE:oWidget )
|
||||
::oWidget:setEditable( ::XbpSLE:editable )
|
||||
::oWidget:setFrame( ::XbpSLE:border )
|
||||
|
||||
ENDIF
|
||||
|
||||
::connect( ::pWidget, "highlighted(int)" , {|i| ::exeBlock( 1, i ) } )
|
||||
::connect( ::pWidget, "activated(int)" , {|i| ::exeBlock( 2, i ) } )
|
||||
* ::connect( ::pWidget, "currentIndexChanged(int)", {|i| ::exeBlock( 2, i ) } )
|
||||
::connect( ::oWidget, "highlighted(int)" , {|i| ::execSlot( "highlighted(int)" , i ) } )
|
||||
::connect( ::oWidget, "activated(int)" , {|i| ::execSlot( "activated(int)" , i ) } )
|
||||
* ::connect( ::oWidget, "currentIndexChanged(int)", {|i| ::execSlot( "currentIndexChanged(int)", i ) } )
|
||||
|
||||
::AddAsChild( SELF )
|
||||
RETURN Self
|
||||
@@ -204,21 +196,51 @@ METHOD XbpComboBox:destroy()
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpComboBox:exeBlock( nMsg, p1 )
|
||||
METHOD XbpComboBox:execSlot( cSlot, p )
|
||||
|
||||
HB_SYMBOL_UNUSED( p1 )
|
||||
HB_SYMBOL_UNUSED( p )
|
||||
|
||||
DO CASE
|
||||
CASE nMsg == 1
|
||||
IF hb_isBlock( ::sl_itemMarked )
|
||||
eval( ::sl_itemMarked, NIL, NIL, self )
|
||||
ENDIF
|
||||
CASE nMsg == 2
|
||||
IF hb_isBlock( ::sl_itemSelected )
|
||||
eval( ::sl_itemSelected, NIL, NIL, self )
|
||||
ENDIF
|
||||
CASE cSlot == "highlighted(int)"
|
||||
::itemMarked()
|
||||
CASE cSlot == "activated(int)"
|
||||
::itemSelected()
|
||||
CASE cSlot == "currentIndexChanged(int)"
|
||||
ENDCASE
|
||||
|
||||
RETURN .t.
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpComboBox:itemMarked( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_itemMarked := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 0 .AND. hb_isBlock( ::sl_itemMarked )
|
||||
eval( ::sl_itemMarked, NIL, NIL, Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpComboBox:itemSelected( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_itemSelected := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 0 .AND. hb_isBlock( ::sl_itemSelected )
|
||||
eval( ::sl_itemSelected, NIL, NIL, Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpComboBox:drawItem( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_xbePDrawItem := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 2 .AND. hb_isBlock( ::sl_xbePDrawItem )
|
||||
eval( ::sl_xbePDrawItem, a_[ 1 ], a_[ 2 ], Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
@@ -81,19 +81,14 @@ CLASS XbpDataRef
|
||||
DATA sl_undo INIT NIL
|
||||
DATA undoBuffer INIT NIL
|
||||
DATA sl_validate INIT NIL
|
||||
|
||||
METHOD new()
|
||||
|
||||
DATA sl_editBuffer
|
||||
DATA sl_buffer
|
||||
|
||||
ACCESS editBuffer INLINE ::sl_editBuffer
|
||||
ASSIGN editBuffer( xData ) INLINE ::sl_editBuffer := xData
|
||||
|
||||
METHOD new()
|
||||
METHOD getData()
|
||||
METHOD setData( xValue, mp2 )
|
||||
METHOD undo()
|
||||
|
||||
METHOD editBuffer( xData ) SETGET
|
||||
METHOD validate( xParam ) SETGET
|
||||
|
||||
ENDCLASS
|
||||
@@ -211,7 +206,7 @@ METHOD XbpDataRef:undo()
|
||||
|
||||
METHOD XbpDataRef:validate( xParam )
|
||||
|
||||
IF PCount() == 0 .and. hb_isBlock( ::sl_validate )
|
||||
IF PCount() == 0 .AND. hb_isBlock( ::sl_validate )
|
||||
RETURN eval( ::sl_validate, self )
|
||||
ELSEIF hb_isBlock( xParam )
|
||||
::sl_validate := xParam
|
||||
@@ -220,3 +215,14 @@ METHOD XbpDataRef:validate( xParam )
|
||||
RETURN .t.
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpDataRef:editBuffer( xData )
|
||||
|
||||
IF !( xData == NIL )
|
||||
::sl_editBuffer := xData
|
||||
ENDIF
|
||||
|
||||
RETURN ::sl_editBuffer
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
|
||||
@@ -93,13 +93,12 @@ CLASS XbpDialog FROM XbpWindow
|
||||
DATA origin INIT XBPDLG_ORIGIN_OWNER
|
||||
DATA sysMenu INIT .T.
|
||||
|
||||
|
||||
METHOD new( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
METHOD create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
METHOD hbCreateFromQtPtr( oParent, oOwner, aPos, aSize, aPresParams, lVisible, pQtObject )
|
||||
METHOD configure( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
METHOD handleEvent( nEvent, mp1, mp2 ) VIRTUAL
|
||||
METHOD exeBlock( nEvent, pEvent )
|
||||
METHOD execEvent( nEvent, pEvent )
|
||||
|
||||
METHOD close() INLINE NIL
|
||||
METHOD destroy()
|
||||
@@ -114,7 +113,6 @@ CLASS XbpDialog FROM XbpWindow
|
||||
METHOD calcClientRect() INLINE { 0, 0, ::oWidget:width(), ::oWidget:height() }
|
||||
METHOD calcFrameRect() INLINE { ::oWidget:x(), ::oWidget:y(), ;
|
||||
::oWidget:x()+::oWidget:width(), ::oWidget:y()+::oWidget:height() }
|
||||
|
||||
DATA aMaxSize
|
||||
METHOD maxSize( aSize ) SETGET
|
||||
DATA aMinSize
|
||||
@@ -211,8 +209,6 @@ METHOD XbpDialog:create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
::show()
|
||||
ENDIF
|
||||
|
||||
//SetAppWindow( Self ) /* This should never be done here, it is programmers responsibility */
|
||||
|
||||
/* Install Event Loop per Dialog Basis */
|
||||
::oEventLoop := QEventLoop():new( ::pWidget )
|
||||
hbxbp_SetEventLoop( ::oEventLoop )
|
||||
@@ -222,9 +218,9 @@ METHOD XbpDialog:create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
|
||||
::connectWindowEvents()
|
||||
//
|
||||
::connectEvent( ::pWidget, QEvent_Close , {|e| ::exeBlock( QEvent_Close , e ) } )
|
||||
::connectEvent( ::pWidget, QEvent_WindowActivate , {|e| ::exeBlock( QEvent_WindowActivate , e ) } )
|
||||
::connectEvent( ::pWidget, QEvent_WindowDeactivate, {|e| ::exeBlock( QEvent_WindowDeactivate, e ) } )
|
||||
::connectEvent( ::pWidget, QEvent_Close , {|e| ::execEvent( QEvent_Close , e ) } )
|
||||
::connectEvent( ::pWidget, QEvent_WindowActivate , {|e| ::execEvent( QEvent_WindowActivate , e ) } )
|
||||
::connectEvent( ::pWidget, QEvent_WindowDeactivate, {|e| ::execEvent( QEvent_WindowDeactivate, e ) } )
|
||||
|
||||
RETURN Self
|
||||
|
||||
@@ -243,8 +239,6 @@ METHOD XbpDialog:hbCreateFromQtPtr( oParent, oOwner, aPos, aSize, aPresParams, l
|
||||
METHOD XbpDialog:destroy()
|
||||
LOCAL qtObj
|
||||
|
||||
HB_TRACE( HB_TR_ALWAYS, ". " )
|
||||
HB_TRACE( HB_TR_ALWAYS, ". " )
|
||||
HB_TRACE( HB_TR_ALWAYS, ". " )
|
||||
HB_TRACE( HB_TR_ALWAYS, "<<<<<<<<<< XbpDialog:destroy B >>>>>>>>>>" )
|
||||
|
||||
@@ -266,14 +260,12 @@ METHOD XbpDialog:destroy()
|
||||
|
||||
HB_TRACE( HB_TR_ALWAYS, "<<<<<<<<<< XbpDialog:destroy E >>>>>>>>>>" )
|
||||
HB_TRACE( HB_TR_ALWAYS, ". " )
|
||||
HB_TRACE( HB_TR_ALWAYS, ". " )
|
||||
HB_TRACE( HB_TR_ALWAYS, ". " )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpDialog:exeBlock( nEvent, pEvent )
|
||||
METHOD XbpDialog:execEvent( nEvent, pEvent )
|
||||
|
||||
HB_SYMBOL_UNUSED( pEvent )
|
||||
|
||||
|
||||
@@ -87,7 +87,7 @@ CLASS XbpFileDialog INHERIT XbpWindow
|
||||
|
||||
METHOD new( oParent, oOwner, aPos )
|
||||
METHOD create( oParent, oOwner, aPos )
|
||||
METHOD exeBlock( nEvent, p1 )
|
||||
METHOD execSlot( cSlot, p )
|
||||
METHOD destroy()
|
||||
METHOD open( cDefaultFile, lCenter, lAllowMultiple, lCreateNewFiles )
|
||||
METHOD saveAs( cDefaultFile, lFileList, lCenter )
|
||||
@@ -112,30 +112,30 @@ METHOD XbpFileDialog:create( oParent, oOwner, aPos )
|
||||
|
||||
::oWidget := QFileDialog():new( ::pParent )
|
||||
//::oWidget:setStyle( AppDesktop():style() )
|
||||
::setStyle()
|
||||
//::setStyle()
|
||||
//::setColorBG( GraMakeRGBColor( { 255,255,255 } ) )
|
||||
//::setColorFG( GraMakeRGBColor( { 0,0,0 } ) )
|
||||
|
||||
::connect( ::pWidget, "accepted()" , {|p| ::exeBlock( 1, p ) } )
|
||||
::connect( ::pWidget, "finished(int)" , {|p| ::exeBlock( 2, p ) } )
|
||||
::connect( ::pWidget, "rejected()" , {|p| ::exeBlock( 3, p ) } )
|
||||
::connect( ::pWidget, "currentChanged(QString)" , {|p| ::exeBlock( 4, p ) } )
|
||||
::connect( ::pWidget, "directoryEntered(QString)" , {|p| ::exeBlock( 5, p ) } )
|
||||
::connect( ::pWidget, "fileSelected(QString)" , {|p| ::exeBlock( 6, p ) } )
|
||||
::connect( ::pWidget, "filesSelected(QStringList)", {|p| ::exeBlock( 7, p ) } )
|
||||
::connect( ::pWidget, "filterSelected(QString)" , {|p| ::exeBlock( 8, p ) } )
|
||||
::connect( ::oWidget, "accepted()" , {|p| ::execSlot( "accepted()" , p ) } )
|
||||
::connect( ::oWidget, "finished(int)" , {|p| ::execSlot( "finished(int)" , p ) } )
|
||||
::connect( ::oWidget, "rejected()" , {|p| ::execSlot( "rejected()" , p ) } )
|
||||
::connect( ::oWidget, "currentChanged(QString)" , {|p| ::execSlot( "currentChanged(QString)" , p ) } )
|
||||
::connect( ::oWidget, "directoryEntered(QString)" , {|p| ::execSlot( "directoryEntered(QString)" , p ) } )
|
||||
::connect( ::oWidget, "fileSelected(QString)" , {|p| ::execSlot( "fileSelected(QString)" , p ) } )
|
||||
::connect( ::oWidget, "filesSelected(QStringList)", {|p| ::execSlot( "filesSelected(QStringList)", p ) } )
|
||||
::connect( ::oWidget, "filterSelected(QString)" , {|p| ::execSlot( "filterSelected(QString)" , p ) } )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpFileDialog:exeBlock( nEvent, p1 )
|
||||
METHOD XbpFileDialog:execSlot( cSlot, p )
|
||||
LOCAL nRet := XBP_ALLOW
|
||||
|
||||
HB_SYMBOL_UNUSED( p1 )
|
||||
HB_SYMBOL_UNUSED( p )
|
||||
|
||||
DO CASE
|
||||
CASE nEvent == 3
|
||||
CASE cSlot == "rejected()"
|
||||
IF hb_isBlock( ::sl_quit )
|
||||
nRet := eval( ::sl_quit, 0, 0, Self )
|
||||
ENDIF
|
||||
|
||||
@@ -119,32 +119,25 @@ CLASS XbpFontDialog INHERIT XbpWindow
|
||||
|
||||
METHOD new( oParent, oOwner, oScreenPS, oPrinterPS, aPos )
|
||||
METHOD create( oParent, oOwner, oScreenPS, oPrinterPS, aPos )
|
||||
METHOD exeBlock( nEvent, p1 )
|
||||
METHOD execSlot( cSlot, p )
|
||||
METHOD display( nMode )
|
||||
METHOD destroy()
|
||||
METHOD XbpFontObject()
|
||||
|
||||
DATA sl_activateApply
|
||||
ACCESS activateApply INLINE ::sl_activateApply
|
||||
ASSIGN activateApply( bBlock ) INLINE ::sl_activateApply := bBlock
|
||||
|
||||
DATA sl_activateCancel
|
||||
ACCESS activateCancel INLINE ::sl_activateCancel
|
||||
ASSIGN activateCancel( bBlock ) INLINE ::sl_activateCancel := bBlock
|
||||
|
||||
DATA sl_activateOk
|
||||
ACCESS activateOk INLINE ::sl_activateOk
|
||||
ASSIGN activateOk( bBlock ) INLINE ::sl_activateOk := bBlock
|
||||
|
||||
DATA sl_activateReset
|
||||
ACCESS activateReset INLINE ::sl_activateReset
|
||||
ASSIGN activateReset( bBlock ) INLINE ::sl_activateReset := bBlock
|
||||
|
||||
METHOD activateApply( ... ) SETGET
|
||||
METHOD activateCancel( ... ) SETGET
|
||||
METHOD activateOk( ... ) SETGET
|
||||
METHOD activateReset( ... ) SETGET
|
||||
|
||||
DATA oScreenPS
|
||||
DATA oPrinterPS
|
||||
DATA aPos INIT { 0, 0 }
|
||||
DATA ok INIT .f.
|
||||
|
||||
DATA oFont
|
||||
|
||||
ENDCLASS
|
||||
@@ -200,28 +193,26 @@ METHOD XbpFontDialog:create( oParent, oOwner, oScreenPS, oPrinterPS, aPos )
|
||||
::oWidget:setWindowTitle( ::title )
|
||||
ENDIF
|
||||
|
||||
::connect( ::pwidget, "accepted()" , {|p| ::exeBlock( 1, p ) } )
|
||||
::connect( ::pwidget, "finished(int)" , {|p| ::exeBlock( 2, p ) } )
|
||||
::connect( ::pwidget, "rejected()" , {|p| ::exeBlock( 3, p ) } )
|
||||
::connect( ::pwidget, "currentFontChanged(QFont)", {|p| ::exeBlock( 4, p ) } )
|
||||
::connect( ::pwidget, "fontSelected(QFont)" , {|p| ::exeBlock( 5, p ) } )
|
||||
::connect( ::pwidget, "accepted()" , {|p| ::execSlot( "accepted()" , p ) } )
|
||||
::connect( ::pwidget, "finished(int)" , {|p| ::execSlot( "finished(int)" , p ) } )
|
||||
::connect( ::pwidget, "rejected()" , {|p| ::execSlot( "rejected()" , p ) } )
|
||||
::connect( ::pwidget, "currentFontChanged(QFont)", {|p| ::execSlot( "currentFontChanged(QFont)", p ) } )
|
||||
::connect( ::pwidget, "fontSelected(QFont)" , {|p| ::execSlot( "fontSelected(QFont)" , p ) } )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpFontDialog:exeBlock( nEvent, p1 )
|
||||
METHOD XbpFontDialog:execSlot( cSlot, p )
|
||||
LOCAL nRet := XBP_ALLOW
|
||||
|
||||
HB_SYMBOL_UNUSED( p1 )
|
||||
|
||||
HB_SYMBOL_UNUSED( p )
|
||||
|
||||
DO CASE
|
||||
CASE nEvent == 1
|
||||
IF hb_isBlock( ::sl_activateOk )
|
||||
eval( ::sl_activateOk, ::XbpFontObject(), NIL, Self )
|
||||
ENDIF
|
||||
CASE cSlot == "accepted()"
|
||||
::activateOk( ::XbpFontObject() )
|
||||
|
||||
CASE nEvent == 3
|
||||
CASE cSlot == "rejected()"
|
||||
IF hb_isBlock( ::sl_quit )
|
||||
nRet := eval( ::sl_quit, 0, 0, Self )
|
||||
ENDIF
|
||||
@@ -231,10 +222,9 @@ METHOD XbpFontDialog:exeBlock( nEvent, p1 )
|
||||
::oWidget:accept()
|
||||
ENDIF
|
||||
|
||||
CASE nEvent == 4 /* SIMULATE sl_activateApply for timebeing */
|
||||
IF hb_isBlock( ::sl_activateApply )
|
||||
eval( ::sl_activateApply, ::XbpFontObject(), NIL, self )
|
||||
ENDIF
|
||||
CASE cSlot == "currentFontChanged(QFont)" /* SIMULATE sl_activateApply for timebeing */
|
||||
::activateApply( ::XbpFontObject() )
|
||||
|
||||
ENDCASE
|
||||
|
||||
RETURN nRet
|
||||
@@ -280,6 +270,50 @@ METHOD XbpFontDialog:destroy()
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpFontDialog:activateApply( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_activateApply := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 1 .AND. hb_isBlock( ::sl_activateApply )
|
||||
eval( ::sl_activateApply, a_[ 1 ], NIL, Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpFontDialog:activateCancel( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_activateCancel := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 2 .AND. hb_isBlock( ::sl_activateCancel )
|
||||
eval( ::sl_activateCancel, a_[ 1 ], a_[ 2 ], Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpFontDialog:activateOk( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_activateOk := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 1 .AND. hb_isBlock( ::sl_activateOk )
|
||||
eval( ::sl_activateOk, a_[ 1 ], NIL, Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpFontDialog:activateReset( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_activateReset := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 2 .AND. hb_isBlock( ::sl_activateReset )
|
||||
eval( ::sl_activateReset, a_[ 1 ], a_[ 2 ], Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpFontDialog:XbpFontObject()
|
||||
LOCAL oXbp
|
||||
|
||||
|
||||
@@ -98,7 +98,7 @@ CLASS XbpHTMLViewer INHERIT XbpWindow
|
||||
METHOD new( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
METHOD create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
METHOD destroy()
|
||||
METHOD exeBlock( nEvent, p1 )
|
||||
METHOD execSlot( cSlot, p )
|
||||
|
||||
METHOD setHTML( cHTML ) INLINE ::oWidget:setHTML( cHTML )
|
||||
|
||||
@@ -157,15 +157,15 @@ METHOD XbpHTMLViewer:create( oParent, oOwner, aPos, aSize, aPresParams, lVisible
|
||||
#if 0 /* Discontinued till QWebKit is integrated separately - Pritpal */
|
||||
::oWidget := QWebView():new( ::pParent )
|
||||
|
||||
::Connect( ::oWidget, "iconChanged()" , {|p| ::exeBlock( 1, p ) } )
|
||||
::Connect( ::oWidget, "linkClicked(QUrl)" , {|p| ::exeBlock( 2, p ) } )
|
||||
::Connect( ::oWidget, "loadFinished(bool)" , {|p| ::exeBlock( 3, p ) } )
|
||||
::Connect( ::oWidget, "loadProgress(int)" , {|p| ::exeBlock( 4, p ) } )
|
||||
::Connect( ::oWidget, "loadStarted()" , {|p| ::exeBlock( 5, p ) } )
|
||||
::Connect( ::oWidget, "titleChanged(QString)" , {|p| ::exeBlock( 6, p ) } )
|
||||
::Connect( ::oWidget, "urlChanged(QUrl)" , {|p| ::exeBlock( 7, p ) } )
|
||||
::Connect( ::oWidget, "selectionChanged()" , {|p| ::exeBlock( 8, p ) } )
|
||||
::Connect( ::oWidget, "statusBarMessage(QString)", {|p| ::exeBlock( 9, p ) } )
|
||||
::Connect( ::oWidget, "iconChanged()" , {|p| ::execSlot( "iconChanged()" , p ) } )
|
||||
::Connect( ::oWidget, "linkClicked(QUrl)" , {|p| ::execSlot( "linkClicked(QUrl)" , p ) } )
|
||||
::Connect( ::oWidget, "loadFinished(bool)" , {|p| ::execSlot( "loadFinished(bool)" , p ) } )
|
||||
::Connect( ::oWidget, "loadProgress(int)" , {|p| ::execSlot( "loadProgress(int)" , p ) } )
|
||||
::Connect( ::oWidget, "loadStarted()" , {|p| ::execSlot( "loadStarted()" , p ) } )
|
||||
::Connect( ::oWidget, "titleChanged(QString)" , {|p| ::execSlot( "titleChanged(QString)" , p ) } )
|
||||
::Connect( ::oWidget, "urlChanged(QUrl)" , {|p| ::execSlot( "urlChanged(QUrl)" , p ) } )
|
||||
::Connect( ::oWidget, "selectionChanged()" , {|p| ::execSlot( "selectionChanged()" , p ) } )
|
||||
::Connect( ::oWidget, "statusBarMessage(QString)", {|p| ::execSlot( "statusBarMessage(QString)", p ) } )
|
||||
#if 0
|
||||
::mapEvent( evNavigateComplete, {| cURL | ::xNavigateComplete( cURL ) } )
|
||||
#endif
|
||||
@@ -203,39 +203,39 @@ METHOD XbpHTMLViewer:destroy()
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpHTMLViewer:exeBlock( nEvent, p1 )
|
||||
METHOD XbpHTMLViewer:execSlot( cSlot, p )
|
||||
|
||||
DO CASE
|
||||
CASE nEvent == 1
|
||||
CASE cSlot == "iconChanged()"
|
||||
IF hb_isBlock( ::sl_beforeNavigate )
|
||||
eval( ::sl_beforeNavigate, /*cURL*/, NIL, Self )
|
||||
ENDIF
|
||||
CASE nEvent == 2
|
||||
CASE nEvent == 3
|
||||
CASE cSlot == "linkClicked(QUrl)"
|
||||
CASE cSlot == "loadFinished(bool)"
|
||||
IF hb_isBlock( ::sl_documentComplete )
|
||||
eval( ::sl_documentComplete, /*cURI*/, p1, Self )
|
||||
eval( ::sl_documentComplete, /*cURI*/, p, Self )
|
||||
ENDIF
|
||||
CASE nEvent == 4
|
||||
CASE cSlot == "loadProgress(int)"
|
||||
IF hb_isBlock( ::sl_progressChange )
|
||||
eval( ::sl_progressChange, p1, 100, Self )
|
||||
eval( ::sl_progressChange, p, 100, Self )
|
||||
ENDIF
|
||||
CASE nEvent == 5
|
||||
CASE nEvent == 6
|
||||
CASE cSlot == "loadStarted()"
|
||||
CASE cSlot == "titleChanged(QString)"
|
||||
IF hb_isBlock( ::sl_titleChange )
|
||||
eval( ::sl_titleChange, p1, NIL, Self )
|
||||
eval( ::sl_titleChange, p, NIL, Self )
|
||||
ENDIF
|
||||
CASE nEvent == 7
|
||||
CASE nEvent == 8
|
||||
CASE cSlot == "urlChanged(QUrl)"
|
||||
CASE cSlot == "selectionChanged()"
|
||||
::cSelectedText := ::oWidget:selectedText()
|
||||
HB_TRACE( HB_TR_DEBUG, ::cSelectedText )
|
||||
CASE nEvent == 9
|
||||
CASE cSlot == "statusBarMessage(QString)"
|
||||
IF hb_isBlock( ::sl_statusTextChange )
|
||||
eval( ::sl_statusTextChange, p1, NIL, Self )
|
||||
eval( ::sl_statusTextChange, p, NIL, Self )
|
||||
ENDIF
|
||||
ENDCASE
|
||||
|
||||
RETURN nil
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpHTMLViewer:navigate( cURL )
|
||||
|
||||
@@ -91,7 +91,7 @@ CLASS XbpListBox INHERIT XbpWindow, XbpDataRef
|
||||
METHOD configure( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
METHOD destroy()
|
||||
METHOD handleEvent( nEvent, mp1, mp2 )
|
||||
METHOD exeBlock( nMode, pModel )
|
||||
METHOD execSlot( cSlot, p )
|
||||
|
||||
METHOD setStyle()
|
||||
|
||||
@@ -120,32 +120,22 @@ CLASS XbpListBox INHERIT XbpWindow, XbpDataRef
|
||||
|
||||
|
||||
DATA sl_hScroll
|
||||
ACCESS hScroll INLINE ::sl_hScroll
|
||||
ASSIGN hScroll( bBlock ) INLINE ::sl_hScroll := bBlock
|
||||
|
||||
DATA sl_vScroll
|
||||
ACCESS vScroll INLINE ::sl_vScroll
|
||||
ASSIGN vScroll( bBlock ) INLINE ::sl_vScroll := bBlock
|
||||
|
||||
DATA sl_itemMarked
|
||||
ACCESS itemMarked INLINE ::sl_itemMarked
|
||||
ASSIGN itemMarked( bBlock ) INLINE ::sl_itemMarked := bBlock
|
||||
|
||||
DATA sl_itemSelected
|
||||
ACCESS itemSelected INLINE ::sl_itemSelected
|
||||
ASSIGN itemSelected( bBlock ) INLINE ::sl_itemSelected := bBlock
|
||||
|
||||
DATA sl_drawItem
|
||||
ACCESS drawItem INLINE ::sl_drawItem
|
||||
ASSIGN drawItem( bBlock ) INLINE ::sl_drawItem := bBlock
|
||||
|
||||
DATA sl_measureItem
|
||||
ACCESS measureItem INLINE ::sl_measureItem
|
||||
ASSIGN measureItem( bBlock ) INLINE ::sl_measureItem := bBlock
|
||||
|
||||
DATA nCurSelected INIT 0
|
||||
METHOD getCurItem() INLINE ::getItem( ::nCurSelected )
|
||||
|
||||
METHOD getCurItem() INLINE ::getItem( ::nCurSelected )
|
||||
|
||||
METHOD itemMarked( ... ) SETGET
|
||||
METHOD itemSelected( ... ) SETGET
|
||||
METHOD drawItem( ... ) SETGET
|
||||
METHOD measureItem( ... ) SETGET
|
||||
METHOD hScroll( ... ) SETGET
|
||||
METHOD vScroll( ... ) SETGET
|
||||
|
||||
ENDCLASS
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -183,9 +173,9 @@ METHOD XbpListBox:create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
::connectEvent( ::pWidget, QEvent_ContextMenu, {|e| ::grabEvent( QEvent_ContextMenu, e ) } )
|
||||
|
||||
/* Signal-slots */
|
||||
::Connect( ::pWidget, "clicked(QModelIndex)" , {|i| ::exeBlock( 1, i ) } )
|
||||
::Connect( ::pWidget, "doubleClicked(QModelIndex)", {|i| ::exeBlock( 2, i ) } )
|
||||
::Connect( ::pWidget, "entered(QModelIndex)" , {|i| ::exeBlock( 3, i ) } )
|
||||
::Connect( ::pWidget, "clicked(QModelIndex)" , {|p| ::execSlot( "clicked(QModelIndex)" , p ) } )
|
||||
::Connect( ::pWidget, "doubleClicked(QModelIndex)", {|p| ::execSlot( "doubleClicked(QModelIndex)", p ) } )
|
||||
::Connect( ::pWidget, "entered(QModelIndex)" , {|p| ::execSlot( "entered(QModelIndex)" , p ) } )
|
||||
|
||||
::oStrList := QStringList():new( ::pWidget )
|
||||
::oStrModel := QStringListModel():new( ::pWidget )
|
||||
@@ -208,31 +198,26 @@ METHOD XbpListBox:hbCreateFromQtPtr( oParent, oOwner, aPos, aSize, aPresParams,
|
||||
IF hb_isPointer( pQtObject )
|
||||
::oWidget := QListView()
|
||||
::oWidget:pPtr := pQtObject
|
||||
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpListBox:exeBlock( nMode, pModel )
|
||||
METHOD XbpListBox:execSlot( cSlot, p )
|
||||
LOCAL oModel
|
||||
|
||||
IF hb_isPointer( pModel )
|
||||
oModel := QModelIndex():configure( pModel )
|
||||
IF hb_isPointer( p )
|
||||
oModel := QModelIndex():configure( p )
|
||||
::nCurSelected := oModel:row()+1
|
||||
::sl_editBuffer := oModel:row()+1
|
||||
ENDIF
|
||||
IF nMode == 1
|
||||
IF hb_isBlock( ::sl_itemMarked )
|
||||
eval( ::sl_itemMarked, NIL, NIL, self )
|
||||
ENDIF
|
||||
ELSEIF nMode == 2
|
||||
IF hb_isBlock( ::sl_itemSelected )
|
||||
eval( ::sl_itemSelected, NIL, NIL, self )
|
||||
ENDIF
|
||||
ELSEIF nMode == 3 // mouse cursor is on
|
||||
// set the tooltip
|
||||
|
||||
IF cSlot == "clicked(QModelIndex)"
|
||||
::itemMarked()
|
||||
ELSEIF cSlot == "doubleClicked(QModelIndex)"
|
||||
::itemSelected()
|
||||
ELSEIF cSlot == "entered(QModelIndex)"
|
||||
::oWidget:setToolTip( ::oStrList:at( ::nCurSelected - 1 ) )
|
||||
ENDIF
|
||||
|
||||
@@ -271,6 +256,72 @@ METHOD XbpListBox:destroy()
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpListBox:itemMarked( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_itemMarked := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 0 .AND. hb_isBlock( ::sl_itemMarked )
|
||||
eval( ::sl_itemMarked, NIL, NIL, Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpListBox:itemSelected( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_itemSelected := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 0 .AND. hb_isBlock( ::sl_itemSelected )
|
||||
eval( ::sl_itemSelected, NIL, NIL, Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpListBox:drawItem( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_xbePDrawItem := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 2 .AND. hb_isBlock( ::sl_xbePDrawItem )
|
||||
eval( ::sl_xbePDrawItem, a_[ 1 ], a_[ 2 ], Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpListBox:measureItem( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_measureItem := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 2 .AND. hb_isBlock( ::sl_measureItem )
|
||||
eval( ::sl_measureItem, a_[ 1 ], a_[ 2 ], Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpListBox:hScroll( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_hScroll := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 0 .AND. hb_isBlock( ::sl_hScroll )
|
||||
eval( ::sl_hScroll, NIL, NIL, Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpListBox:vScroll( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_vScroll := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 0 .AND. hb_isBlock( ::sl_vScroll )
|
||||
eval( ::sl_vScroll, NIL, NIL, Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpListBox:setStyle()
|
||||
LOCAL s, txt_:={}
|
||||
|
||||
|
||||
@@ -97,6 +97,7 @@
|
||||
|
||||
CLASS xbpMenuBar INHERIT xbpWindow
|
||||
|
||||
CLASSVAR nMenuItemID INIT 0
|
||||
DATA hMenu
|
||||
|
||||
DATA sl_beginMenu
|
||||
@@ -109,14 +110,10 @@ CLASS xbpMenuBar INHERIT xbpWindow
|
||||
|
||||
DATA aMenuItems INIT {}
|
||||
DATA aOrgItems INIT {}
|
||||
|
||||
CLASSVAR nMenuItemID INIT 0
|
||||
DATA nPass INIT 0
|
||||
|
||||
DATA caption INIT ""
|
||||
DATA nItemID INIT 0
|
||||
DATA aIds INIT {}
|
||||
|
||||
DATA className INIT "XbpMenuBar"
|
||||
|
||||
METHOD new( oParent, aPresParams, lVisible )
|
||||
@@ -124,7 +121,7 @@ CLASS xbpMenuBar INHERIT xbpWindow
|
||||
METHOD hbCreateFromQtPtr( oParent, aPresParams, lVisible, pQtObject )
|
||||
METHOD configure( oParent, aPresParams, lVisible )
|
||||
METHOD destroy()
|
||||
METHOD exeBlock( nMenuItemID )
|
||||
METHOD execSlot( cSlot, p )
|
||||
|
||||
METHOD delAllItems()
|
||||
METHOD delItem( aItem )
|
||||
@@ -132,7 +129,6 @@ CLASS xbpMenuBar INHERIT xbpWindow
|
||||
METHOD addItem( aItem )
|
||||
METHOD insItem( nItemIndex, aItem )
|
||||
METHOD setItem( nItemIndex, aItem )
|
||||
METHOD exeHovered( nMenuItemID )
|
||||
METHOD checkItem( nItemIndex, lCheck )
|
||||
METHOD enableItem( nItemIndex )
|
||||
METHOD disableItem( nItemIndex )
|
||||
@@ -141,13 +137,13 @@ CLASS xbpMenuBar INHERIT xbpWindow
|
||||
METHOD isItemEnabled( nItemIndex )
|
||||
METHOD selectItem( nItemIndex )
|
||||
|
||||
METHOD beginMenu( xParam ) SETGET
|
||||
METHOD endMenu( xParam ) SETGET
|
||||
METHOD itemMarked( xParam ) SETGET
|
||||
METHOD itemSelected( xParam ) SETGET
|
||||
METHOD drawItem( xParam ) SETGET
|
||||
METHOD measureItem( xParam ) SETGET
|
||||
METHOD onMenuKey( xParam ) SETGET
|
||||
METHOD beginMenu( ... ) SETGET
|
||||
METHOD endMenu( ... ) SETGET
|
||||
METHOD itemMarked( ... ) SETGET
|
||||
METHOD itemSelected( ... ) SETGET
|
||||
METHOD drawItem( ... ) SETGET
|
||||
METHOD measureItem( ... ) SETGET
|
||||
METHOD onMenuKey( ... ) SETGET
|
||||
|
||||
METHOD setStyle()
|
||||
METHOD numItems() INLINE len( ::aMenuItems )
|
||||
@@ -307,8 +303,8 @@ METHOD xbpMenuBar:placeItem( xCaption, bAction, nStyle, nAttrb, nMode, nPos )
|
||||
oAction:setShortcut( oKey )
|
||||
ENDIF
|
||||
|
||||
::Connect( oAction, "triggered(bool)", {|| ::exeBlock( nMenuItemID ) } )
|
||||
::Connect( oAction, "hovered()" , {|| ::exeHovered( nMenuItemID ) } )
|
||||
::Connect( oAction, "triggered(bool)", {|| ::execSlot( "triggered(bool)", nMenuItemID ) } )
|
||||
::Connect( oAction, "hovered()" , {|| ::execSlot( "hovered()" , nMenuItemID ) } )
|
||||
|
||||
DO CASE
|
||||
CASE nAttrb == XBPMENUBAR_MIA_CHECKED
|
||||
@@ -341,8 +337,8 @@ METHOD xbpMenuBar:placeItem( xCaption, bAction, nStyle, nAttrb, nMode, nPos )
|
||||
|
||||
oAction := xCaption
|
||||
|
||||
::Connect( oAction, "triggered(bool)", {|| ::exeBlock( nMenuItemID ) } )
|
||||
::Connect( oAction, "hovered()" , {|| ::exeHovered( nMenuItemID ) } )
|
||||
::Connect( oAction, "triggered(bool)", {|| ::execSlot( "triggered(bool)", nMenuItemID ) } )
|
||||
::Connect( oAction, "hovered()" , {|| ::execSlot( "hovered()" , nMenuItemID ) } )
|
||||
|
||||
DO CASE
|
||||
CASE nAttrb == XBPMENUBAR_MIA_CHECKED
|
||||
@@ -454,39 +450,6 @@ METHOD xbpMenuBar:setItem( nItemIndex, aItem )
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD xbpMenuBar:exeBlock( nMenuItemID )
|
||||
LOCAL nIndex := ascan( ::aMenuItems, {|e_| e_[ 2 ] == nMenuItemID } )
|
||||
|
||||
IF nIndex > 0
|
||||
IF hb_isBlock( ::aMenuItems[ nIndex,4 ] )
|
||||
eval( ::aMenuItems[ nIndex,4 ] )
|
||||
ELSE
|
||||
IF hb_isBlock( ::sl_itemSelected )
|
||||
eval( ::sl_itemSelected, nIndex, NIL, Self )
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN nil
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD xbpMenuBar:exeHovered( nMenuItemID )
|
||||
LOCAL nIndex
|
||||
|
||||
IF !empty( nMenuItemID )
|
||||
nIndex := ascan( ::aMenuItems, {|e_| iif( hb_isNumeric( e_[ 2 ] ), e_[ 2 ] == nMenuItemID, .f. ) } )
|
||||
|
||||
IF nIndex > 0
|
||||
IF hb_isBlock( ::sl_itemMarked )
|
||||
eval( ::sl_itemMarked, nIndex, NIL, Self )
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
RETURN nil
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD xbpMenuBar:checkItem( nItemIndex, lCheck )
|
||||
LOCAL lChecked
|
||||
|
||||
@@ -568,79 +531,104 @@ METHOD xbpMenuBar:selectItem( nItemIndex )
|
||||
/* Callback Methods */
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD xbpMenuBar:beginMenu( xParam )
|
||||
METHOD xbpMenuBar:execSlot( cSlot, p )
|
||||
LOCAL nIndex
|
||||
|
||||
if hb_isBlock( xParam ) .or. hb_isNil( xParam )
|
||||
::sl_beginMenu := xParam
|
||||
RETURN NIL
|
||||
endif
|
||||
IF cSlot == "triggered(bool)"
|
||||
if ( nIndex := ascan( ::aMenuItems, {|e_| e_[ 2 ] == p } ) ) > 0
|
||||
IF hb_isBlock( ::aMenuItems[ nIndex,4 ] )
|
||||
eval( ::aMenuItems[ nIndex,4 ] )
|
||||
ELSE
|
||||
::itemSelected( nIndex )
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
ELSEIF cSlot == "hovered()"
|
||||
IF !empty( p )
|
||||
IF ( nIndex := ascan( ::aMenuItems, {|e_| iif( hb_isNumeric( e_[ 2 ] ), e_[ 2 ] == p, .f. ) } ) ) > 0
|
||||
::itemMarked( nIndex )
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
ENDIF
|
||||
|
||||
RETURN nil
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD xbpMenuBar:beginMenu( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_beginMenu := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 0 .AND. hb_isBlock( ::sl_beginMenu )
|
||||
eval( ::sl_beginMenu, NIL, NIL, Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD xbpMenuBar:endMenu( xParam )
|
||||
|
||||
if hb_isBlock( xParam ) .or. hb_isNil( xParam )
|
||||
::sl_endMenu := xParam
|
||||
RETURN NIL
|
||||
endif
|
||||
|
||||
METHOD XbpMenuBar:endMenu( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_endMenu := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 0 .AND. hb_isBlock( ::sl_endMenu )
|
||||
eval( ::sl_endMenu, NIL, NIL, Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD xbpMenuBar:itemMarked( xParam )
|
||||
|
||||
if hb_isBlock( xParam ) .or. hb_isNil( xParam )
|
||||
::sl_itemMarked := xParam
|
||||
RETURN NIL
|
||||
endif
|
||||
|
||||
METHOD XbpMenuBar:itemMarked( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_itemMarked := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 1 .AND. hb_isBlock( ::sl_itemMarked )
|
||||
eval( ::sl_itemMarked, a_[ 1 ], NIL, Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpMenuBar:itemSelected( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_itemSelected := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 1 .AND. hb_isBlock( ::sl_itemSelected )
|
||||
eval( ::sl_itemSelected, a_[ 1 ], NIL, Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpMenuBar:drawItem( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_drawItem := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 2 .AND. hb_isBlock( ::sl_drawItem )
|
||||
eval( ::sl_drawItem, a_[ 1 ], a_[ 2 ], Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD xbpMenuBar:itemSelected( xParam )
|
||||
|
||||
if hb_isBlock( xParam ) .or. hb_isNil( xParam )
|
||||
::sl_itemSelected := xParam
|
||||
RETURN NIL
|
||||
endif
|
||||
|
||||
METHOD XbpMenuBar:measureItem( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_measureItem := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 2 .AND. hb_isBlock( ::sl_measureItem )
|
||||
eval( ::sl_measureItem, a_[ 1 ], a_[ 2 ], Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD xbpMenuBar:drawItem( xParam )
|
||||
|
||||
if hb_isBlock( xParam ) .or. hb_isNil( xParam )
|
||||
::sl_drawItem := xParam
|
||||
RETURN NIL
|
||||
endif
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD xbpMenuBar:measureItem( xParam )
|
||||
|
||||
if hb_isBlock( xParam ) .or. hb_isNil( xParam )
|
||||
::sl_measureItem := xParam
|
||||
RETURN NIL
|
||||
endif
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD xbpMenuBar:onMenuKey( xParam )
|
||||
|
||||
if hb_isBlock( xParam ) .or. hb_isNil( xParam )
|
||||
::sl_onMenuKey := xParam
|
||||
RETURN NIL
|
||||
endif
|
||||
|
||||
METHOD XbpMenuBar:onMenuKey( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_onMenuKey := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 1 .AND. hb_isBlock( ::sl_onMenuKey )
|
||||
eval( ::sl_onMenuKey, a_[ 1 ], NIL, Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
@@ -90,7 +90,7 @@ CLASS XbpMLE INHERIT XbpWindow, XbpDataRef
|
||||
METHOD configure( oParent, oOwner, aPos, aSize, aPresParams, lVisible ) VIRTUAL
|
||||
METHOD destroy()
|
||||
METHOD handleEvent( nEvent, mp1, mp2 )
|
||||
METHOD exeBlock()
|
||||
METHOD execSlot( cSlot, p )
|
||||
METHOD setStyle()
|
||||
|
||||
METHOD clear() VIRTUAL
|
||||
@@ -109,23 +109,16 @@ CLASS XbpMLE INHERIT XbpWindow, XbpDataRef
|
||||
METHOD pos() VIRTUAL
|
||||
|
||||
DATA sl_undo INIT .T.
|
||||
ACCESS undo INLINE IF( ::sl_undo, NIL, NIL )
|
||||
ASSIGN undo() INLINE ::sl_undo := .t.
|
||||
|
||||
METHOD setEditable( lYes ) INLINE ::xDummy := ::oWidget:readOnly(), ;
|
||||
::oWidget:setReadOnly( !lYes ), ::xDummy
|
||||
METHOD setWrap( lWrap ) INLINE ::xDummy := ::oWidget:lineWrapMode(),;
|
||||
::oWidget:setLineWrapMode( IF( lWrap,1,0 ) ),;
|
||||
::xDummy == 1
|
||||
|
||||
DATA sl_hScroll
|
||||
ACCESS hScroll INLINE ::sl_hScroll
|
||||
ASSIGN hScroll( bBlock ) INLINE ::sl_hScroll := bBlock
|
||||
|
||||
DATA sl_vScroll
|
||||
ACCESS vScroll INLINE ::sl_vScroll
|
||||
ASSIGN vScroll( bBlock ) INLINE ::sl_vScroll := bBlock
|
||||
|
||||
METHOD undo( ... ) SETGET
|
||||
METHOD hScroll( ... ) SETGET
|
||||
METHOD vScroll( ... ) SETGET
|
||||
|
||||
METHOD setEditable( lYes )
|
||||
METHOD setWrap( lWrap )
|
||||
|
||||
ENDCLASS
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -206,12 +199,62 @@ METHOD XbpMLE:hbCreateFromQtPtr( oParent, oOwner, aPos, aSize, aPresParams, lVis
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpMLE:exeBlock()
|
||||
METHOD XbpMLE:execSlot( cSlot, p )
|
||||
|
||||
HB_SYMBOL_UNUSED( cSlot )
|
||||
HB_SYMBOL_UNUSED( p )
|
||||
|
||||
RETURN .t.
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpMLE:hScroll( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_hScroll := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 2 .AND. hb_isBlock( ::sl_hScroll )
|
||||
eval( ::sl_hScroll, NIL, NIL, Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpMLE:vScroll( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_vScroll := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 0 .AND. hb_isBlock( ::sl_vScroll )
|
||||
eval( ::sl_vScroll, NIL, NIL, Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpMLE:undo( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_undo := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 1 .AND. hb_isBlock( ::sl_undo )
|
||||
eval( ::sl_undo, a_[ 1 ], NIL, Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpMLE:setWrap( lWrap )
|
||||
::xDummy := ::oWidget:lineWrapMode()
|
||||
::oWidget:setLineWrapMode( iif( lWrap, 1, 0 ) )
|
||||
RETURN ::xDummy == 1
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpMLE:setEditable( lYes )
|
||||
::xDummy := ::oWidget:readOnly()
|
||||
::oWidget:setReadOnly( !lYes )
|
||||
RETURN ! ::xDummy
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpMLE:handleEvent( nEvent, mp1, mp2 )
|
||||
|
||||
HB_SYMBOL_UNUSED( nEvent )
|
||||
@@ -235,9 +278,6 @@ METHOD XbpMLE:setStyle()
|
||||
|
||||
aadd( txt_, ' ' )
|
||||
aadd( txt_, ' QTextEdit { ' )
|
||||
//aadd( txt_, ' background-color: white; ' )
|
||||
//aadd( txt_, ' background-image: url(new.png); ' )
|
||||
//aadd( txt_, ' background-attachment: scroll; ' )
|
||||
aadd( txt_, ' background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, ' )
|
||||
aadd( txt_, ' stop:0 white, stop:1 darkgray); ' )
|
||||
aadd( txt_, ' } ' )
|
||||
|
||||
@@ -85,6 +85,8 @@ CLASS XbpPushButton INHERIT XbpWindow
|
||||
DATA drawMode INIT XBP_DRAW_NORMAL
|
||||
DATA default INIT .F.
|
||||
DATA cancel INIT .F.
|
||||
|
||||
DATA sl_draw
|
||||
|
||||
METHOD new( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
METHOD create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
@@ -92,15 +94,14 @@ CLASS XbpPushButton INHERIT XbpWindow
|
||||
METHOD configure( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
METHOD destroy()
|
||||
METHOD handleEvent( nEvent, mp1, mp2 )
|
||||
METHOD exeBlock( nMode, p )
|
||||
METHOD execSlot( cSlot, p )
|
||||
METHOD setStyle() VIRTUAL
|
||||
|
||||
METHOD setFocus()
|
||||
|
||||
METHOD setCaption( xCaption, cDll )
|
||||
|
||||
METHOD activate( xParam ) SETGET
|
||||
METHOD draw( xParam ) SETGET
|
||||
|
||||
METHOD activate( ... ) SETGET
|
||||
METHOD draw( ... ) SETGET
|
||||
|
||||
ENDCLASS
|
||||
|
||||
@@ -132,8 +133,8 @@ METHOD XbpPushButton:create( oParent, oOwner, aPos, aSize, aPresParams, lVisible
|
||||
::oWidget:setDefault( .t. )
|
||||
ENDIF
|
||||
|
||||
::Connect( ::pWidget, "clicked()", {|| ::exeBlock( 1 ) } )
|
||||
::Connect( ::pWidget, "pressed()", {|| ::exeBlock( 1 ) } )
|
||||
::Connect( ::pWidget, "clicked()", {|| ::execSlot( "clicked()" ) } )
|
||||
::Connect( ::pWidget, "pressed()", {|| ::execSlot( "pressed()" ) } )
|
||||
|
||||
::oParent:AddChild( SELF )
|
||||
RETURN Self
|
||||
@@ -163,21 +164,19 @@ METHOD XbpPushButton:hbCreateFromQtPtr( oParent, oOwner, aPos, aSize, aPresParam
|
||||
|
||||
ENDIF
|
||||
|
||||
::Connect( ::pWidget, "clicked()", {|| ::exeBlock() } )
|
||||
::Connect( ::pWidget, "clicked()", {|| ::execSlot( "clicked()" ) } )
|
||||
|
||||
::addAsChild()
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpPushButton:exeBlock( nMode, p )
|
||||
METHOD XbpPushButton:execSlot( cSlot, p )
|
||||
|
||||
DO CASE
|
||||
CASE nMode == 1
|
||||
IF hb_isBlock( ::sl_lbClick )
|
||||
eval( ::sl_lbClick, NIL, NIL, self )
|
||||
ENDIF
|
||||
CASE nMode == 201 /* QEvent_KeyPressed */
|
||||
CASE cSlot == "clicked()" .OR. cSlot == "pressed()"
|
||||
::activate()
|
||||
CASE cSlot == "keyPressed()"
|
||||
IF XbpQKeyEventToAppEvent( p ) == xbeK_ENTER
|
||||
::oWidget:click()
|
||||
ENDIF
|
||||
@@ -242,22 +241,24 @@ METHOD XbpPushButton:setCaption( xCaption, cDll )
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpPushButton:activate( xParam )
|
||||
|
||||
IF hb_isBlock( xParam ) .or. ( xParam == NIL )
|
||||
::sl_lbClick := xParam
|
||||
ENDIF
|
||||
|
||||
METHOD XbpPushButton:activate( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_lbClick := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 0 .AND. hb_isBlock( ::sl_lbClick )
|
||||
eval( ::sl_lbClick, NIL, NIL, Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpPushButton:draw( xParam )
|
||||
|
||||
IF hb_isBlock( xParam ) .or. ( xParam == NIL )
|
||||
::sl_paint := xParam
|
||||
ENDIF
|
||||
|
||||
METHOD XbpPushButton:draw( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_draw := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 2 .AND. hb_isBlock( ::sl_draw )
|
||||
eval( ::sl_draw, a_[ 1 ], a_[ 2 ], Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
@@ -86,12 +86,11 @@ CLASS XbpRadioButton INHERIT XbpWindow, XbpDataRef
|
||||
METHOD configure( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
METHOD destroy()
|
||||
METHOD handleEvent( nEvent, mp1, mp2 )
|
||||
METHOD exeBlock()
|
||||
METHOD execSlot( cSlot, p )
|
||||
|
||||
METHOD setCaption( xCaption )
|
||||
|
||||
ACCESS selected INLINE ::sl_lbClick
|
||||
ASSIGN selected( bBlock ) INLINE ::sl_lbClick := bBlock
|
||||
METHOD selected( ... ) SETGET
|
||||
|
||||
ENDCLASS
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -110,7 +109,7 @@ METHOD XbpRadioButton:create( oParent, oOwner, aPos, aSize, aPresParams, lVisibl
|
||||
|
||||
::oWidget := QRadioButton():New( ::oParent:oWidget )
|
||||
|
||||
::connect( ::pWidget, "clicked()", {|| ::exeBlock() } )
|
||||
::connect( ::pWidget, "clicked()", {|| ::execSlot( "clicked()" ) } )
|
||||
|
||||
::setPosAndSize()
|
||||
IF ::visible
|
||||
@@ -134,20 +133,21 @@ METHOD XbpRadioButton:hbCreateFromQtPtr( oParent, oOwner, aPos, aSize, aPresPara
|
||||
IF hb_isPointer( pQtObject )
|
||||
::oWidget := QRadioButton()
|
||||
::oWidget:pPtr := pQtObject
|
||||
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpRadioButton:exeBlock()
|
||||
METHOD XbpRadioButton:execSlot( cSlot, p )
|
||||
|
||||
::sl_editBuffer := .t.
|
||||
IF hb_isBlock( ::sl_lbClick )
|
||||
eval( ::sl_lbClick, ::sl_editBuffer, NIL, self )
|
||||
ENDIF
|
||||
HB_SYMBOL_UNUSED( p )
|
||||
|
||||
IF cSlot == "clicked()"
|
||||
::sl_editBuffer := .t.
|
||||
::selected( ::sl_editBuffer )
|
||||
ENDIF
|
||||
|
||||
RETURN nil
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -188,3 +188,14 @@ METHOD XbpRadioButton:setCaption( xCaption )
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpRadioButton:selected( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_lbClick := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 1 .AND. hb_isBlock( ::sl_lbClick )
|
||||
eval( ::sl_lbClick, a_[ 1 ], NIL, Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
@@ -82,7 +82,7 @@ CLASS XbpRtf INHERIT XbpWindow
|
||||
METHOD configure()
|
||||
METHOD destroy()
|
||||
METHOD handleEvent( nEvent, mp1, mp2 ) VIRTUAL
|
||||
METHOD exeBlock( nEvent, p1 )
|
||||
METHOD execSlot( cSlot, p )
|
||||
METHOD setStyle() VIRTUAL
|
||||
|
||||
DATA appearance INIT XBP_APPEARANCE_3D
|
||||
@@ -171,13 +171,13 @@ METHOD XbpRtf:create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
|
||||
::oWidget := QTextEdit():new( ::pParent )
|
||||
|
||||
* ::connect( ::pWidget, "copyAvailable(bool)" , {|p| ::exeBlock( 1, p ) } )
|
||||
::connect( ::pWidget, "currentCharFormatChanged(QTextCharFormat)", {|p| ::exeBlock( 2, p ) } )
|
||||
::connect( ::pWidget, "cursorPositionChanged()" , {|p| ::exeBlock( 3, p ) } )
|
||||
::connect( ::pWidget, "redoAvailable(bool)" , {|p| ::exeBlock( 4, p ) } )
|
||||
::connect( ::pWidget, "undoAvailable(bool)" , {|p| ::exeBlock( 5, p ) } )
|
||||
::connect( ::pWidget, "textChanged()" , {|p| ::exeBlock( 6, p ) } )
|
||||
::connect( ::pWidget, "selectionChanged()" , {|p| ::exeBlock( 7, p ) } )
|
||||
* ::connect( ::oWidget, "copyAvailable(bool)" , {|p| ::execSlot( "copyAvailable(bool)" , p ) } )
|
||||
::connect( ::oWidget, "currentCharFormatChanged(QTextCharFormat)", {|p| ::execSlot( "currentCharFormatChanged(QTextCharFormat)", p ) } )
|
||||
::connect( ::oWidget, "cursorPositionChanged()" , {|p| ::execSlot( "cursorPositionChanged()", p ) } )
|
||||
::connect( ::oWidget, "redoAvailable(bool)" , {|p| ::execSlot( "redoAvailable(bool)" , p ) } )
|
||||
::connect( ::oWidget, "undoAvailable(bool)" , {|p| ::execSlot( "undoAvailable(bool)" , p ) } )
|
||||
::connect( ::oWidget, "textChanged()" , {|p| ::execSlot( "textChanged()" , p ) } )
|
||||
::connect( ::oWidget, "selectionChanged()" , {|p| ::execSlot( "selectionChanged()" , p ) } )
|
||||
|
||||
::setPosAndSize()
|
||||
IF ::visible
|
||||
@@ -189,7 +189,6 @@ METHOD XbpRtf:create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
::oTextCursor:pPtr := ::oWidget:textCursor()
|
||||
::oTextCharFormat:pPtr := ::oTextCursor:charFormat()
|
||||
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -208,23 +207,23 @@ METHOD XbpRtf:hbCreateFromQtPtr( oParent, oOwner, aPos, aSize, aPresParams, lVis
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpRtf:exeBlock( nEvent, p1 )
|
||||
METHOD XbpRtf:execSlot( cSlot, p )
|
||||
|
||||
HB_SYMBOL_UNUSED( p1 )
|
||||
HB_SYMBOL_UNUSED( p )
|
||||
|
||||
DO CASE
|
||||
CASE nEvent == 1
|
||||
CASE nEvent == 2
|
||||
CASE cSlot == "copyAvailable(bool)"
|
||||
CASE cSlot == "currentCharFormatChanged(QTextCharFormat)"
|
||||
|
||||
CASE nEvent == 3
|
||||
CASE cSlot == "cursorPositionChanged()"
|
||||
::oTextCursor:configure( ::oWidget:textCursor() )
|
||||
::oCurCursor := ::oTextCursor
|
||||
CASE nEvent == 4
|
||||
CASE nEvent == 5
|
||||
CASE nEvent == 6 /* Xbase++ Implements */
|
||||
::changed := .t. // .f. only at save
|
||||
CASE cSlot == "redoAvailable(bool)"
|
||||
CASE cSlot == "undoAvailable(bool)"
|
||||
CASE cSlot == "textChanged()" /* Xbase++ Implements */
|
||||
::changed := .t. /* .f. only at save */
|
||||
::change()
|
||||
CASE nEvent == 7 /* Xbase++ Implements */
|
||||
CASE cSlot == "selectionChanged()" /* Xbase++ Implements */
|
||||
::oTextCursor:configure( ::oWidget:textCursor() )
|
||||
::oCurCursor := ::oTextCursor
|
||||
::selChange()
|
||||
|
||||
@@ -89,10 +89,10 @@ CLASS XbpScrollBar INHERIT XbpWindow, XbpDataRef
|
||||
METHOD configure( oParent, oOwner, aPos, aSize, aPresParams, lVisible ) VIRTUAL
|
||||
METHOD destroy()
|
||||
|
||||
METHOD scroll( xParam ) SETGET
|
||||
METHOD scroll( ... ) SETGET
|
||||
|
||||
METHOD handleEvent( nEvent, mp1, mp2 )
|
||||
METHOD exeBlock( nAction )
|
||||
METHOD execSlot( cSlot, p )
|
||||
|
||||
METHOD setRange( aRange )
|
||||
METHOD setScrollBoxSize( nUnits )
|
||||
@@ -117,7 +117,7 @@ METHOD XbpScrollBar:create( oParent, oOwner, aPos, aSize, aPresParams, lVisible
|
||||
::oWidget:setOrientation( IF( ::type == XBPSCROLL_VERTICAL, 2, 1 ) )
|
||||
::oWidget:setTracking( ::autoTrack )
|
||||
|
||||
::connect( ::pWidget, "actionTriggered(int)", {|i| ::exeBlock( i ) } )
|
||||
::connect( ::pWidget, "actionTriggered(int)", {|i| ::execSlot( "actionTriggered(int)", i ) } )
|
||||
|
||||
::setPosAndSize()
|
||||
::setRange( ::range )
|
||||
@@ -145,14 +145,16 @@ METHOD XbpScrollBar:hbCreateFromQtPtr( oParent, oOwner, aPos, aSize, aPresParams
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpScrollBar:exeBlock( nAction )
|
||||
METHOD XbpScrollBar:execSlot( cSlot, p )
|
||||
LOCAL nCommand
|
||||
|
||||
HB_SYMBOL_UNUSED( cSlot )
|
||||
|
||||
IF !hb_isBlock( ::sl_xbeSB_Scroll )
|
||||
RETURN NIL
|
||||
ENDIF
|
||||
|
||||
SWITCH nAction
|
||||
SWITCH p
|
||||
CASE QAbstractSlider_SliderNoAction
|
||||
RETURN NIL
|
||||
CASE QAbstractSlider_SliderSingleStepAdd
|
||||
@@ -179,8 +181,7 @@ METHOD XbpScrollBar:exeBlock( nAction )
|
||||
ENDSWITCH
|
||||
|
||||
::sl_editBuffer := ::oWidget:value()
|
||||
|
||||
eval( ::sl_xbeSB_Scroll, { ::sl_editBuffer, nCommand }, NIL, self )
|
||||
::scroll( { ::sl_editBuffer, nCommand } )
|
||||
|
||||
RETURN NIL
|
||||
|
||||
@@ -204,12 +205,13 @@ METHOD XbpScrollBar:destroy()
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpScrollBar:scroll( xParam )
|
||||
|
||||
IF hb_isBlock( xParam )
|
||||
::sl_xbeSB_Scroll := xParam
|
||||
ENDIF
|
||||
|
||||
METHOD XbpScrollBar:scroll( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_xbeSB_Scroll := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 1 .AND. hb_isBlock( ::sl_xbeSB_Scroll )
|
||||
eval( ::sl_xbeSB_Scroll, a_[ 1 ], NIL, Self )
|
||||
ENDIF
|
||||
RETURN self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
@@ -92,7 +92,7 @@ CLASS XbpSLE INHERIT XbpWindow, XbpDataRef
|
||||
METHOD configure( oParent, oOwner, aPos, aSize, aPresParams, lVisible ) VIRTUAL
|
||||
METHOD destroy()
|
||||
METHOD handleEvent( nEvent, mp1, mp2 )
|
||||
METHOD exeBlock( nMsg, p1, p2 )
|
||||
METHOD execSlot( cSlot, p, p2 )
|
||||
|
||||
METHOD clear() INLINE ::oWidget:clear()
|
||||
METHOD copyMarked() INLINE ::oWidget:copy()
|
||||
@@ -107,18 +107,13 @@ CLASS XbpSLE INHERIT XbpWindow, XbpDataRef
|
||||
|
||||
METHOD setInsertMode( lInsertMode ) VIRTUAL
|
||||
|
||||
DATA sl_hScroll
|
||||
ACCESS hScroll INLINE ::sl_hScroll
|
||||
ASSIGN hScroll( bBlock ) INLINE ::sl_hScroll := bBlock
|
||||
|
||||
DATA sl_typeOut
|
||||
ACCESS typeOut INLINE ::sl_typeOut
|
||||
ASSIGN typeOut( bBlock ) INLINE ::sl_typeOut := bBlock
|
||||
|
||||
/* Harbour Extension */
|
||||
DATA sl_hScroll
|
||||
DATA sl_returnPressed
|
||||
ACCESS returnPressed INLINE ::sl_returnPressed
|
||||
ASSIGN returnPressed( bBlock ) INLINE ::sl_returnPressed := bBlock
|
||||
|
||||
METHOD typeOut( ... ) SETGET
|
||||
METHOD hScroll( ... ) SETGET
|
||||
METHOD returnPressed( ... ) SETGET
|
||||
|
||||
ENDCLASS
|
||||
|
||||
@@ -132,6 +127,19 @@ METHOD XbpSLE:new( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpSLE:hbCreateFromQtPtr( oParent, oOwner, aPos, aSize, aPresParams, lVisible, pQtObject )
|
||||
|
||||
::xbpWindow:create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
|
||||
IF hb_isPointer( pQtObject )
|
||||
::oWidget := QLineEdit()
|
||||
::oWidget:pPtr := pQtObject
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpSLE:create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
LOCAL es_:= { Qt_AlignLeft, Qt_AlignRight, Qt_AlignHCenter }
|
||||
|
||||
@@ -155,16 +163,16 @@ METHOD XbpSLE:create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
#if 0
|
||||
::oWidget:installEventFilter( ::pEvents )
|
||||
|
||||
::connectEvent( ::pWidget, QEvent_FocusIn , {|e| ::exeBlock( 7, e ) } )
|
||||
::connectEvent( ::pWidget, QEvent_FocusOut, {|e| ::exeBlock( 8, e ) } )
|
||||
::connectEvent( ::pWidget, QEvent_FocusIn , {|e| ::execSlot( "QEvent_FocusIn" , e ) } )
|
||||
::connectEvent( ::pWidget, QEvent_FocusOut, {|e| ::execSlot( "QEvent_FocusOut", e ) } )
|
||||
#endif
|
||||
|
||||
::connect( ::pWidget, "cursorPositionChanged(int,int)" , {|i,ii| ::exeBlock( 1, i, ii ) } )
|
||||
* ::connect( ::pWidget, "editingFinished()" , {| | ::exeBlock( 2 ) } )
|
||||
::connect( ::pWidget, "returnPressed()" , {| | ::exeBlock( 3 ) } )
|
||||
* ::connect( ::pWidget, "selectionChanged()" , {| | ::exeBlock( 4 ) } )
|
||||
::connect( ::pWidget, "textChanged(QString)" , {|s | ::exeBlock( 5, s ) } )
|
||||
::connect( ::pWidget, "textEdited(QString)" , {|s | ::exeBlock( 6, s ) } )
|
||||
::connect( ::oWidget, "cursorPositionChanged(int,int)" , {|i,ii| ::execSlot( "cursorPositionChanged(int,int)", i, ii ) } )
|
||||
* ::connect( ::oWidget, "editingFinished()" , {| | ::execSlot( "editingFinished()" ) } )
|
||||
::connect( ::oWidget, "returnPressed()" , {| | ::execSlot( "returnPressed()" ) } )
|
||||
* ::connect( ::oWidget, "selectionChanged()" , {| | ::execSlot( "selectionChanged()" ) } )
|
||||
::connect( ::oWidget, "textChanged(QString)" , {|s | ::execSlot( "textChanged(QString)", s ) } )
|
||||
::connect( ::oWidget, "textEdited(QString)" , {|s | ::execSlot( "textEdited(QString)" , s ) } )
|
||||
|
||||
::setPosAndSize()
|
||||
IF ::visible
|
||||
@@ -180,71 +188,40 @@ METHOD XbpSLE:create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpSLE:hbCreateFromQtPtr( oParent, oOwner, aPos, aSize, aPresParams, lVisible, pQtObject )
|
||||
METHOD XbpSLE:execSlot( cSlot, p, p2 )
|
||||
|
||||
::xbpWindow:create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
|
||||
IF hb_isPointer( pQtObject )
|
||||
::oWidget := QLineEdit()
|
||||
::oWidget:pPtr := pQtObject
|
||||
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpSLE:exeBlock( nMsg, p1, p2 )
|
||||
LOCAL lRet := .F.
|
||||
|
||||
//HB_TRACE( HB_TR_DEBUG, 'XbpSLE: '+hb_ntos( nMsg ) )
|
||||
HB_SYMBOL_UNUSED( p1 )
|
||||
HB_SYMBOL_UNUSED( p )
|
||||
|
||||
DO CASE
|
||||
CASE nMsg == 1 // "cursorPositionChanged(int,int)"
|
||||
IF hb_isBlock( ::sl_hScroll )
|
||||
eval( ::sl_hScroll, NIL, NIL, self )
|
||||
ENDIF
|
||||
CASE cSlot == "cursorPositionChanged(int,int)"
|
||||
::hScroll()
|
||||
IF p2 == ::bufferLength
|
||||
IF hb_isBlock( ::sl_typeOut )
|
||||
eval( ::sl_typeOut, NIL, NIL, Self )
|
||||
ENDIF
|
||||
::typeOut()
|
||||
ENDIF
|
||||
|
||||
CASE nMsg == 2 // "editingFinished()"
|
||||
CASE cSlot == "editingFinished()"
|
||||
|
||||
CASE nMsg == 3 // "returnPressed()"
|
||||
CASE cSlot == "returnPressed()"
|
||||
::sl_editBuffer := ::oWidget:text()
|
||||
#if 0
|
||||
PostAppEvent( xbeP_Keyboard, xbeK_TAB, , Self )
|
||||
#else
|
||||
IF hb_isBlock( ::sl_returnPressed )
|
||||
eval( ::sl_returnPressed, NIL, NIL, Self )
|
||||
ENDIF
|
||||
#endif
|
||||
::returnPressed()
|
||||
|
||||
CASE nMsg == 4 // "selectionChanged()"
|
||||
CASE cSlot == "selectionChanged()"
|
||||
|
||||
CASE nMsg == 5 // "textEdited(QString)"
|
||||
CASE cSlot == "textChanged(QString)"
|
||||
::changed := .t.
|
||||
|
||||
CASE nMsg == 6 // "textEdited(QString)"
|
||||
CASE cSlot == "textEdited(QString)"
|
||||
::changed := .t.
|
||||
|
||||
CASE nMsg == 7 // QEvent_FocusIn
|
||||
IF hb_isBlock( ::sl_setInputFocus )
|
||||
eval( ::sl_setInputFocus, NIL, NIL, Self )
|
||||
RETURN .T.
|
||||
ENDIF
|
||||
CASE cSlot == "QEvent_FocusIn"
|
||||
::setInputFocus()
|
||||
|
||||
CASE nMsg == 8 // QEvent_FocusOut
|
||||
IF hb_isBlock( ::sl_killInputFocus )
|
||||
eval( ::sl_killInputFocus, NIL, NIL, Self )
|
||||
ENDIF
|
||||
CASE cSlot == "QEvent_FocusOut"
|
||||
::killInputFocus()
|
||||
|
||||
ENDCASE
|
||||
|
||||
RETURN lRet
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
@@ -265,3 +242,36 @@ METHOD XbpSLE:destroy()
|
||||
RETURN NIL
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpSLE:returnPressed( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_returnPressed := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 0 .AND. hb_isBlock( ::sl_returnPressed )
|
||||
eval( ::sl_returnPressed, NIL, NIL, Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpSLE:hScroll( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_hScroll := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 0 .AND. hb_isBlock( ::sl_hScroll )
|
||||
eval( ::sl_hScroll, NIL, NIL, Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpSLE:typeOut( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_typeOut := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 0 .AND. hb_isBlock( ::sl_typeOut )
|
||||
eval( ::sl_typeOut, NIL, NIL, Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
@@ -78,7 +78,6 @@ CLASS XbpSpinButton INHERIT XbpWindow, XbpDataRef
|
||||
DATA fastSpin INIT .f.
|
||||
DATA master
|
||||
DATA padWithZero INIT .f.
|
||||
|
||||
DATA align INIT XBPSLE_LEFT
|
||||
DATA autoKeyboard INIT .T.
|
||||
DATA autoSize INIT .F.
|
||||
@@ -87,16 +86,17 @@ CLASS XbpSpinButton INHERIT XbpWindow, XbpDataRef
|
||||
DATA bufferLength INIT 32
|
||||
DATA editable INIT .T.
|
||||
DATA unReadable INIT .F.
|
||||
|
||||
DATA changed INIT .F.
|
||||
|
||||
DATA nOldValue INIT 0
|
||||
|
||||
METHOD new( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
METHOD create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
METHOD hbCreateFromQtPtr( oParent, oOwner, aPos, aSize, aPresParams, lVisible, pQtObject )
|
||||
METHOD configure( oParent, oOwner, aPos, aSize, aPresParams, lVisible ) VIRTUAL
|
||||
METHOD destroy()
|
||||
METHOD handleEvent( nEvent, mp1, mp2 )
|
||||
METHOD exeBlock( nMsg, p1, p2 )
|
||||
METHOD execSlot( cSlot, p )
|
||||
|
||||
METHOD clear() INLINE ::oWidget:clear()
|
||||
METHOD copyMarked() INLINE ::oWidget:copy()
|
||||
@@ -114,16 +114,12 @@ CLASS XbpSpinButton INHERIT XbpWindow, XbpDataRef
|
||||
METHOD setNumLimits( nMin, nMax ) INLINE ::oWidget:setRange( nMin, nMax )
|
||||
|
||||
DATA sl_xbeSpinDown
|
||||
ACCESS down INLINE ::sl_hScroll
|
||||
ASSIGN down( bBlock ) INLINE ::sl_hScroll := bBlock
|
||||
|
||||
DATA sl_xbeSpinUp
|
||||
ACCESS up INLINE ::sl_xbeSpinUp
|
||||
ASSIGN up( bBlock ) INLINE ::sl_xbeSpinUp := bBlock
|
||||
|
||||
DATA sl_xbeSpinEndSpin
|
||||
ACCESS endSpin INLINE ::sl_xbeSpinEndSpin
|
||||
ASSIGN endSpin( bBlock ) INLINE ::sl_xbeSpinEndSpin := bBlock
|
||||
|
||||
METHOD down( ... ) SETGET
|
||||
METHOD up( ... ) SETGET
|
||||
METHOD endSpin( ... ) SETGET
|
||||
|
||||
ENDCLASS
|
||||
|
||||
@@ -144,26 +140,21 @@ METHOD XbpSpinButton:create( oParent, oOwner, aPos, aSize, aPresParams, lVisible
|
||||
|
||||
::oWidget := QSpinBox():new( ::pParent )
|
||||
::oWidget:setKeyboardTracking( .t. )
|
||||
|
||||
IF ::fastSpin
|
||||
::oWidget:setAccelerated( .t. )
|
||||
ENDIF
|
||||
::oWidget:setReadOnly( ! ::editable )
|
||||
|
||||
::oWidget:setFrame( ::border )
|
||||
|
||||
::oWidget:setAlignment( es_[ ::align ] )
|
||||
|
||||
#if 0 ////////////////////////////////////
|
||||
#if 0
|
||||
::oWidget:installEventFilter( ::pEvents )
|
||||
|
||||
HB_TRACE( HB_TR_DEBUG, "XbpSpinButton:create 2" )
|
||||
::connectEvent( ::pWidget, QEvent_FocusIn , {|e| ::exeBlock( 7, e ) } )
|
||||
::connectEvent( ::pWidget, QEvent_FocusOut, {|e| ::exeBlock( 8, e ) } )
|
||||
::connectEvent( ::pWidget, QEvent_KeyPress, {|e| ::exeBlock( 9, e ) } )
|
||||
::connectEvent( ::oWidget, QEvent_FocusIn , {|| ::execSlot( "QEvent_FocusIn" ) } )
|
||||
::connectEvent( ::oWidget, QEvent_FocusOut, {|| ::execSlot( "QEvent_FocusOut" ) } )
|
||||
::connectEvent( ::oWidget, QEvent_KeyPress, {|| ::execSlot( "QEvent_KeyPress" ) } )
|
||||
#endif
|
||||
|
||||
::connect( ::pWidget, "valueChanged(int)" , {|| ::sl_editBuffer := ::oWidget:value() } )
|
||||
::connect( ::oWidget, "valueChanged(int)" , {|i| ::execSlot( "valueChanged(int)", i ) } )
|
||||
|
||||
::setPosAndSize()
|
||||
IF ::visible
|
||||
@@ -171,11 +162,7 @@ HB_TRACE( HB_TR_DEBUG, "XbpSpinButton:create 2" )
|
||||
ENDIF
|
||||
|
||||
::setData()
|
||||
#if 0
|
||||
IF hb_isBlock( ::datalink )
|
||||
eval( ::datalink )
|
||||
ENDIF
|
||||
#endif
|
||||
|
||||
::oParent:addChild( Self )
|
||||
RETURN Self
|
||||
|
||||
@@ -188,35 +175,34 @@ METHOD XbpSpinButton:hbCreateFromQtPtr( oParent, oOwner, aPos, aSize, aPresParam
|
||||
IF hb_isPointer( pQtObject )
|
||||
::oWidget := QSpinBox()
|
||||
::oWidget:pPtr := pQtObject
|
||||
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpSpinButton:exeBlock( nMsg, p1, p2 )
|
||||
METHOD XbpSpinButton:execSlot( cSlot, p )
|
||||
|
||||
HB_SYMBOL_UNUSED( p1 )
|
||||
HB_SYMBOL_UNUSED( p2 )
|
||||
|
||||
::sl_editBuffer := ::oWidget:value()
|
||||
HB_SYMBOL_UNUSED( p )
|
||||
|
||||
DO CASE
|
||||
CASE nMsg == 9 // valueChanged
|
||||
IF hb_isBlock( ::sl_keyboard )
|
||||
eval( ::sl_keyboard, NIL, NIL, self )
|
||||
ENDIF
|
||||
CASE cSlot == "valueChanged(int)"
|
||||
::sl_editBuffer := ::oWidget:value()
|
||||
IF p < ::nOldValue
|
||||
::down()
|
||||
ELSEIF p > ::nOldValue
|
||||
::up()
|
||||
ENDIF
|
||||
::nOldValue := ::sl_editBuffer
|
||||
|
||||
CASE cSlot == "QEvent_KeyPress"
|
||||
::keyboard()
|
||||
|
||||
CASE nMsg == 7 // QEvent_FocusIn
|
||||
IF hb_isBlock( ::sl_setInputFocus )
|
||||
eval( ::sl_setInputFocus, NIL, NIL, Self )
|
||||
ENDIF
|
||||
CASE cSlot == "QEvent_FocusIn"
|
||||
::setInputFocus()
|
||||
|
||||
CASE nMsg == 8 // QEvent_FocusOut
|
||||
IF hb_isBlock( ::sl_killInputFocus )
|
||||
eval( ::sl_killInputFocus, NIL, NIL, Self )
|
||||
ENDIF
|
||||
CASE cSlot == "QEvent_FocusOut"
|
||||
::killInputFocus()
|
||||
|
||||
ENDCASE
|
||||
|
||||
@@ -241,3 +227,37 @@ METHOD XbpSpinButton:destroy()
|
||||
RETURN NIL
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpSpinButton:down( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_xbeSpinDown := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 0 .AND. hb_isBlock( ::sl_xbeSpinDown )
|
||||
eval( ::sl_xbeSpinDown, NIL, NIL, Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpSpinButton:up( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_xbeSpinUp := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 0 .AND. hb_isBlock( ::sl_xbeSpinUp )
|
||||
eval( ::sl_xbeSpinUp, NIL, NIL, Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpSpinButton:endSpin( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_xbeSpinEndSpin := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 0 .AND. hb_isBlock( ::sl_xbeSpinEndSpin )
|
||||
eval( ::sl_xbeSpinEndSpin, NIL, NIL, Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
|
||||
@@ -86,14 +86,15 @@ CLASS XbpStatusBar INHERIT XbpWindow
|
||||
METHOD configure( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
METHOD destroy()
|
||||
METHOD handleEvent( nEvent, mp1, mp2 )
|
||||
METHOD exeBlock()
|
||||
METHOD execSlot( cSlot, p )
|
||||
|
||||
METHOD addItem( cCaption, xImage, cDLL, nStyle, cKey, nMode )
|
||||
METHOD delItem( nItemORcKey )
|
||||
METHOD getItem( nItemORcKey )
|
||||
METHOD clear()
|
||||
METHOD panelClick( xParam ) SETGET
|
||||
METHOD panelDblClick( xParam ) SETGET
|
||||
|
||||
METHOD panelClick( ... ) SETGET
|
||||
METHOD panelDblClick( ... ) SETGET
|
||||
|
||||
METHOD numItems() INLINE Len( ::aItems )
|
||||
|
||||
@@ -152,9 +153,12 @@ METHOD XbpStatusBar:hbCreateFromQtPtr( oParent, oOwner, aPos, aSize, aPresParams
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpStatusBar:exeBlock()
|
||||
METHOD XbpStatusBar:execSlot( cSlot, p )
|
||||
|
||||
RETURN nil
|
||||
HB_SYMBOL_UNUSED( cSlot )
|
||||
HB_SYMBOL_UNUSED( p )
|
||||
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
@@ -273,22 +277,24 @@ METHOD XbpStatusBar:clear()
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpStatusBar:panelClick( xParam )
|
||||
|
||||
IF hb_isBlock( xParam ) .or. hb_isNil( xParam )
|
||||
::sl_lbClick := xParam
|
||||
ENDIF
|
||||
|
||||
METHOD XbpStatusBar:panelClick( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_lbClick := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 1 .AND. hb_isBlock( ::sl_lbClick )
|
||||
eval( ::sl_lbClick, a_[ 1 ], NIL, Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpStatusBar:panelDblClick( xParam )
|
||||
|
||||
IF hb_isBlock( xParam ) .or. hb_isNil( xParam )
|
||||
::sl_lbDblClick := xParam
|
||||
ENDIF
|
||||
|
||||
METHOD XbpStatusBar:panelDblClick( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_lbDblClick := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 1 .AND. hb_isBlock( ::sl_lbDblClick )
|
||||
eval( ::sl_lbDblClick, a_[ 1 ], NIL, Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
@@ -90,16 +90,16 @@ CLASS XbpTabPage INHERIT XbpWindow
|
||||
METHOD configure( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
METHOD destroy()
|
||||
METHOD handleEvent( nEvent, mp1, mp2 )
|
||||
METHOD exeBlock( iIndex )
|
||||
METHOD execSlot( cSlot, p )
|
||||
|
||||
METHOD Minimize()
|
||||
METHOD Maximize()
|
||||
|
||||
DATA sl_tabActivate
|
||||
METHOD tabActivate( xParam ) SETGET
|
||||
METHOD tabActivate( ... ) SETGET
|
||||
/* Harbour extension */
|
||||
DATA sl_closeRequested
|
||||
METHOD closeRequested( xParam ) SETGET
|
||||
METHOD closeRequested( ... ) SETGET
|
||||
|
||||
ENDCLASS
|
||||
|
||||
@@ -185,8 +185,11 @@ METHOD XbpTabPage:destroy()
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpTabPage:exeBlock( iIndex )
|
||||
METHOD XbpTabPage:execSlot( cSlot, p )
|
||||
LOCAL iIndex := p
|
||||
|
||||
HB_SYMBOL_UNUSED( cSlot )
|
||||
|
||||
IF iIndex >= 0 .and. len( ::oParent:aTabs ) > 0
|
||||
IF hb_isBlock( ::oParent:aTabs[ iIndex+1 ]:sl_tabActivate )
|
||||
eval( ::oParent:aTabs[ iIndex+1 ]:sl_tabActivate, NIL, NIL, ::oParent:aTabs[ iIndex+1 ] )
|
||||
@@ -206,22 +209,24 @@ METHOD XbpTabPage:handleEvent( nEvent, mp1, mp2 )
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpTabPage:tabActivate( xParam )
|
||||
|
||||
IF hb_isBlock( xParam )
|
||||
::sl_tabActivate := xParam
|
||||
ENDIF
|
||||
|
||||
METHOD XbpTabPage:tabActivate( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_tabActivate := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 0 .AND. hb_isBlock( ::sl_tabActivate )
|
||||
eval( ::sl_tabActivate, NIL, NIL, Self )
|
||||
ENDIF
|
||||
RETURN self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpTabPage:closeRequested( xParam )
|
||||
|
||||
IF hb_isBlock( xParam )
|
||||
::sl_closeRequested := xParam
|
||||
ENDIF
|
||||
|
||||
METHOD XbpTabPage:closeRequested( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_closeRequested := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 0 .AND. hb_isBlock( ::sl_closeRequested )
|
||||
eval( ::sl_closeRequested, NIL, NIL, Self )
|
||||
ENDIF
|
||||
RETURN self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -255,7 +260,7 @@ CLASS XbpTabWidget INHERIT XbpWindow
|
||||
METHOD hbCreateFromQtPtr( oParent, oOwner, aPos, aSize, aPresParams, lVisible, pQtObject ) VIRTUAL
|
||||
METHOD configure( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
METHOD destroy()
|
||||
METHOD exeBlock( nMode, iIndex )
|
||||
METHOD execSlot( cSlot, p )
|
||||
|
||||
ENDCLASS
|
||||
|
||||
@@ -275,8 +280,8 @@ METHOD XbpTabWidget:create( oParent, oOwner, aPos, aSize, aPresParams, lVisible
|
||||
|
||||
::oWidget := QTabWidget():new( ::pParent )
|
||||
|
||||
::Connect( ::pWidget, "currentChanged(int)" , {|i| ::exeBlock( 1, i ) } )
|
||||
::Connect( ::pWidget, "tabCloseRequested(int)" , {|i| ::exeBlock( 2, i ) } )
|
||||
::Connect( ::pWidget, "currentChanged(int)" , {|i| ::execSlot( "currentChanged(int)" , i ) } )
|
||||
::Connect( ::pWidget, "tabCloseRequested(int)" , {|i| ::execSlot( "tabCloseRequested(int)", i ) } )
|
||||
|
||||
::setPosAndSize()
|
||||
IF ::visible
|
||||
@@ -304,8 +309,9 @@ METHOD XbpTabWidget:destroy()
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpTabWidget:exeBlock( nMode, iIndex )
|
||||
METHOD XbpTabWidget:execSlot( cSlot, p )
|
||||
LOCAL qTab, nIndex, oTab
|
||||
LOCAL iIndex := p
|
||||
|
||||
IF !empty( ::aChildren ) .and. iIndex >= 0 .and. iIndex < len( ::aChildren )
|
||||
qTab := ::oWidget:widget( iIndex )
|
||||
@@ -314,17 +320,11 @@ METHOD XbpTabWidget:exeBlock( nMode, iIndex )
|
||||
oTab := ::aChildren[ nIndex ]
|
||||
|
||||
DO CASE
|
||||
CASE nMode == 1
|
||||
//HB_TRACE( HB_TR_DEBUG, "Tab Index Changed", nIndex )
|
||||
IF hb_isBlock( oTab:sl_tabActivate )
|
||||
eval( oTab:sl_tabActivate, NIL, NIL, oTab )
|
||||
ENDIF
|
||||
CASE cSlot == "currentChanged(int)"
|
||||
oTab:tabActivate()
|
||||
|
||||
CASE nMode == 2
|
||||
//HB_TRACE( HB_TR_DEBUG, "Tab Close Requested", nIndex )
|
||||
IF hb_isBlock( oTab:sl_closeRequested )
|
||||
eval( oTab:sl_closeRequested, NIL, NIL, oTab )
|
||||
ENDIF
|
||||
CASE cSlot == "tabCloseRequested(int)"
|
||||
oTab:closeRequested()
|
||||
|
||||
ENDCASE
|
||||
ENDIF
|
||||
|
||||
@@ -106,7 +106,7 @@ CLASS XbpToolBar INHERIT XbpWindow
|
||||
METHOD hbCreateFromQtPtr( oParent, oOwner, aPos, aSize, aPresParams, lVisible, pQtObject )
|
||||
METHOD configure( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
METHOD destroy()
|
||||
METHOD exeBlock( oBtn )
|
||||
METHOD execSlot( cSlot, p )
|
||||
|
||||
METHOD addItem( cCaption, xImage, xDisabledImage, xHotImage, cDLL, nStyle, cKey, nMapRGB )
|
||||
METHOD delItem()
|
||||
@@ -119,10 +119,10 @@ CLASS XbpToolBar INHERIT XbpWindow
|
||||
METHOD setPosAndSize()
|
||||
METHOD setSize()
|
||||
|
||||
METHOD buttonClick( xParam ) SETGET
|
||||
METHOD change( xParam ) SETGET
|
||||
METHOD buttonMenuClick( xParam ) SETGET
|
||||
METHOD buttonDropDown( xParam ) SETGET
|
||||
METHOD buttonClick( ... ) SETGET
|
||||
METHOD change( ... ) SETGET
|
||||
METHOD buttonMenuClick( ... ) SETGET
|
||||
METHOD buttonDropDown( ... ) SETGET
|
||||
|
||||
METHOD sendToolbarMessage()
|
||||
METHOD setStyle()
|
||||
@@ -278,7 +278,7 @@ METHOD XbpToolbar:addItem( cCaption, xImage, xDisabledImage, xHotImage, cDLL, nS
|
||||
ENDIF
|
||||
|
||||
/* Attach codeblock to be triggered */
|
||||
::Connect( oBtn:oAction, "triggered(bool)", {|| ::exeBlock( oBtn ) } )
|
||||
::Connect( oBtn:oAction, "triggered(bool)", {|| ::execSlot( "triggered(bool)", oBtn ) } )
|
||||
|
||||
/* Attach Action with Toolbar */
|
||||
::oWidget:addAction( oBtn:oAction )
|
||||
@@ -291,12 +291,12 @@ METHOD XbpToolbar:addItem( cCaption, xImage, xDisabledImage, xHotImage, cDLL, nS
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpToolbar:exeBlock( oBtn )
|
||||
|
||||
IF hb_isBlock( ::sl_lbClick )
|
||||
eval( ::sl_lbClick, oBtn, NIL, self )
|
||||
ENDIF
|
||||
METHOD XbpToolbar:execSlot( cSlot, p )
|
||||
|
||||
IF cSlot == "triggered(bool)"
|
||||
::buttonClick( p )
|
||||
ENDIF
|
||||
|
||||
RETURN NIL
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -357,42 +357,46 @@ METHOD XbpToolbar:setSize()
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpToolbar:buttonClick( xParam )
|
||||
|
||||
IF hb_isBlock( xParam ) .or. hb_isNil( xParam )
|
||||
::sl_lbClick := xParam
|
||||
ENDIF
|
||||
|
||||
METHOD XbpToolbar:buttonClick( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_lbClick := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 1 .AND. hb_isBlock( ::sl_lbClick )
|
||||
eval( ::sl_lbClick, a_[ 1 ], NIL, Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpToolbar:change( xParam )
|
||||
|
||||
IF hb_isBlock( xParam ) .or. hb_isNil( xParam )
|
||||
::sl_change := xParam
|
||||
ENDIF
|
||||
|
||||
METHOD XbpToolbar:change( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_change := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 0 .AND. hb_isBlock( ::sl_change )
|
||||
eval( ::sl_change, NIL, NIL, Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpToolbar:buttonMenuClick( xParam )
|
||||
|
||||
IF hb_isBlock( xParam ) .or. hb_isNil( xParam )
|
||||
::sl_buttonMenuClick := xParam
|
||||
ENDIF
|
||||
|
||||
METHOD XbpToolbar:buttonMenuClick( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_buttonMenuClick := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 0 .AND. hb_isBlock( ::sl_buttonMenuClick )
|
||||
eval( ::sl_buttonMenuClick, NIL, NIL, Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpToolbar:buttonDropDown( xParam )
|
||||
|
||||
IF hb_isBlock( xParam ) .or. hb_isNil( xParam )
|
||||
::sl_buttonDropDown := xParam
|
||||
ENDIF
|
||||
|
||||
METHOD XbpToolbar:buttonDropDown( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_buttonDropDown := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 0 .AND. hb_isBlock( ::sl_buttonDropDown )
|
||||
eval( ::sl_buttonDropDown, NIL, NIL, Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
@@ -78,7 +78,6 @@ CLASS XbpTreeView INHERIT XbpWindow, XbpDataRef
|
||||
DATA alwaysShowSelection INIT .F.
|
||||
DATA hasButtons INIT .F.
|
||||
DATA hasLines INIT .F.
|
||||
|
||||
DATA aItems INIT {}
|
||||
|
||||
DATA oRootItem
|
||||
@@ -90,40 +89,32 @@ CLASS XbpTreeView INHERIT XbpWindow, XbpDataRef
|
||||
METHOD configure( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
METHOD destroy()
|
||||
METHOD handleEvent( nEvent, mp1, mp2 )
|
||||
METHOD ExeBlock( nMsg, p1, p2 )
|
||||
|
||||
METHOD execSlot( cSlot, p )
|
||||
METHOD setStyle()
|
||||
|
||||
METHOD itemFromPos( aPos )
|
||||
|
||||
DATA sl_itemCollapsed
|
||||
ACCESS itemCollapsed INLINE ::sl_itemCollapsed
|
||||
ASSIGN itemCollapsed( bBlock ) INLINE ::sl_itemCollapsed := bBlock
|
||||
|
||||
DATA sl_itemExpanded
|
||||
ACCESS itemExpanded INLINE ::sl_itemExpanded
|
||||
ASSIGN itemExpanded( bBlock ) INLINE ::sl_itemExpanded := bBlock
|
||||
|
||||
DATA sl_itemMarked
|
||||
ACCESS itemMarked INLINE ::sl_itemMarked
|
||||
ASSIGN itemMarked( bBlock ) INLINE ::sl_itemMarked := bBlock
|
||||
DATA sl_itemSelected
|
||||
|
||||
DATA oItemSelected
|
||||
DATA sl_itemSelected
|
||||
ACCESS itemSelected INLINE ::sl_itemSelected
|
||||
ASSIGN itemSelected( bBlock ) INLINE ::sl_itemSelected := bBlock
|
||||
|
||||
METHOD itemCollapsed( ... ) SETGET
|
||||
METHOD itemExpanded( ... ) SETGET
|
||||
METHOD itemMarked( ... ) SETGET
|
||||
METHOD itemSelected( ... ) SETGET
|
||||
|
||||
DATA hParentSelected
|
||||
DATA hItemSelected
|
||||
DATA textParentSelected INIT ""
|
||||
DATA textItemSelected INIT ""
|
||||
DATA textParentSelected INIT ""
|
||||
DATA textItemSelected INIT ""
|
||||
|
||||
#if 0
|
||||
METHOD setColorFG( nRGB ) INLINE WVG_TreeView_SetTextColor( ::hWnd, nRGB )
|
||||
METHOD setColorBG( nRGB ) INLINE WVG_TreeView_SetBkColor( ::hWnd, nRGB )
|
||||
METHOD setColorLines( nRGB ) INLINE WVG_TreeView_SetLineColor( ::hWnd, nRGB )
|
||||
|
||||
|
||||
METHOD showExpanded( lExpanded, nLevels ) INLINE Wvg_TreeView_ShowExpanded( ::hWnd, ;
|
||||
IF( hb_isNil( lExpanded ), .f., lExpanded ), nLevels )
|
||||
#endif
|
||||
@@ -171,17 +162,17 @@ METHOD XbpTreeView:create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
oW:pPtr := ::oWidget:invisibleRootItem()
|
||||
::oRootItem:oWidget := oW
|
||||
|
||||
* ::connect( ::pWidget, "currentItemChanged(QTWItem)" , {|p1,p2| ::exeBlock( 1, p1, p2 ) } )
|
||||
* ::connect( ::pWidget, "itemActivated(QTWItem)" , {|p1,p2| ::exeBlock( 2, p1, p2 ) } )
|
||||
* ::connect( ::pWidget, "itemChanged(QTWItem)" , {|p1,p2| ::exeBlock( 3, p1, p2 ) } )
|
||||
::connect( ::pWidget, "itemClicked(QTWItem)" , {|p1,p2| ::exeBlock( 4, p1, p2 ) } )
|
||||
::connect( ::pWidget, "itemCollapsed(QTWItem)" , {|p1,p2| ::exeBlock( 5, p1, p2 ) } )
|
||||
::connect( ::pWidget, "itemDoubleClicked(QTWItem)" , {|p1,p2| ::exeBlock( 6, p1, p2 ) } )
|
||||
::connect( ::pWidget, "itemEntered(QTWItem)" , {|p1,p2| ::exeBlock( 7, p1, p2 ) } )
|
||||
::connect( ::pWidget, "itemExpanded(QTWItem)" , {|p1,p2| ::exeBlock( 8, p1, p2 ) } )
|
||||
* ::connect( ::pWidget, "itemPressed(QTWItem)" , {|p1,p2| ::exeBlock( 9, p1, p2 ) } )
|
||||
* ::connect( ::pWidget, "itemSelectionChanged()" , {|p1,p2| ::exeBlock( 10, p1, p2 ) } )
|
||||
::connect( ::pWidget, "customContextMenuRequested(QPoint)", {|p1 | ::exeBlock( 21, p1 ) } )
|
||||
* ::connect( ::pWidget, "currentItemChanged(QTWItem)" , {|p1| ::execSlot( "currentItemChanged(QTWItem)", p1 ) } )
|
||||
* ::connect( ::pWidget, "itemActivated(QTWItem)" , {|p1| ::execSlot( "itemActivated(QTWItem)" , p1 ) } )
|
||||
* ::connect( ::pWidget, "itemChanged(QTWItem)" , {|p1| ::execSlot( "itemChanged(QTWItem)" , p1 ) } )
|
||||
::connect( ::pWidget, "itemClicked(QTWItem)" , {|p1| ::execSlot( "itemClicked(QTWItem)" , p1 ) } )
|
||||
::connect( ::pWidget, "itemCollapsed(QTWItem)" , {|p1| ::execSlot( "itemCollapsed(QTWItem)" , p1 ) } )
|
||||
::connect( ::pWidget, "itemDoubleClicked(QTWItem)" , {|p1| ::execSlot( "itemDoubleClicked(QTWItem)" , p1 ) } )
|
||||
::connect( ::pWidget, "itemEntered(QTWItem)" , {|p1| ::execSlot( "itemEntered(QTWItem)" , p1 ) } )
|
||||
::connect( ::pWidget, "itemExpanded(QTWItem)" , {|p1| ::execSlot( "itemExpanded(QTWItem)" , p1 ) } )
|
||||
* ::connect( ::pWidget, "itemPressed(QTWItem)" , {|p1| ::execSlot( "itemPressed(QTWItem)" , p1 ) } )
|
||||
* ::connect( ::pWidget, "itemSelectionChanged()" , {|p1| ::execSlot( "itemSelectionChanged()" , p1 ) } )
|
||||
::connect( ::pWidget, "customContextMenuRequested(QPoint)", {|p1| ::execSlot( "customContextMenuRequested(QPoint)", p1 ) } )
|
||||
|
||||
::setPosAndSize()
|
||||
IF ::visible
|
||||
@@ -206,49 +197,34 @@ METHOD XbpTreeView:hbCreateFromQtPtr( oParent, oOwner, aPos, aSize, aPresParams,
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpTreeView:ExeBlock( nMsg, p1, p2 )
|
||||
METHOD XbpTreeView:execSlot( cSlot, p )
|
||||
LOCAL oItem, n, qPt
|
||||
|
||||
HB_SYMBOL_UNUSED( nMsg )
|
||||
HB_SYMBOL_UNUSED( p1 )
|
||||
HB_SYMBOL_UNUSED( p2 )
|
||||
|
||||
IF hb_isPointer( p1 )
|
||||
IF ( n := ascan( ::aItems, {|o| hbqt_IsEqualGcQtPointer( o:oWidget:pPtr, p1 ) } ) ) > 0
|
||||
IF hb_isPointer( p )
|
||||
IF ( n := ascan( ::aItems, {|o| hbqt_IsEqualGcQtPointer( o:oWidget:pPtr, p ) } ) ) > 0
|
||||
oItem := ::aItems[ n ]
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
DO CASE
|
||||
CASE nMsg == 1 // "currentItemChanged(QTWItem)"
|
||||
CASE nMsg == 2 // "itemActivated(QTWItem)"
|
||||
CASE nMsg == 3 // "itemChanged(QTWItem)"
|
||||
CASE nMsg == 4 // "itemClicked(QTWItem)"
|
||||
IF hb_isBlock( ::sl_itemMarked )
|
||||
eval( ::sl_itemMarked, oItem, {0,0,0,0}, self )
|
||||
ENDIF
|
||||
CASE nMsg == 5 // "itemCollapsed(QTWItem)"
|
||||
IF hb_isBlock( ::sl_itemCollapsed )
|
||||
eval( ::sl_itemCollapsed, oItem, {0,0,0,0}, self )
|
||||
ENDIF
|
||||
CASE nMsg == 6 // "itemDoubleClicked(QTWItem)"
|
||||
IF hb_isBlock( ::sl_itemSelected )
|
||||
eval( ::sl_itemSelected, oItem, {0,0,0,0}, self )
|
||||
ENDIF
|
||||
CASE nMsg == 7 // "itemEntered(QTWItem)"
|
||||
CASE cSlot == "itemClicked(QTWItem)"
|
||||
::itemMarked( oItem, {0,0,0,0} )
|
||||
CASE cSlot == "itemCollapsed(QTWItem)"
|
||||
::itemCollapsed( oItem, {0,0,0,0} )
|
||||
CASE cSlot == "itemDoubleClicked(QTWItem)"
|
||||
::itemSelected( oItem, {0,0,0,0} )
|
||||
CASE cSlot == "itemExpanded(QTWItem)"
|
||||
::itemExpanded( oItem, {0,0,0,0} )
|
||||
CASE cSlot == "itemEntered(QTWItem)"
|
||||
::oWidget:setToolTip( iif( empty( oItem:tooltipText ), oItem:caption, oItem:tooltipText ) )
|
||||
|
||||
CASE nMsg == 8 // "itemExpanded(QTWItem)"
|
||||
IF hb_isBlock( ::sl_itemExpanded )
|
||||
eval( ::sl_itemExpanded, oItem, {0,0,0,0}, self )
|
||||
ENDIF
|
||||
CASE nMsg == 9 // "itemPressed(QTWItem)"
|
||||
CASE nMsg == 10 // "itemSelectionChanged()"
|
||||
|
||||
CASE nMsg == 21 // "contextmenu"
|
||||
qPt := QPoint():from( ::oWidget:mapToGlobal( p1 ) )
|
||||
CASE cSlot == "customContextMenuRequested(QPoint)"
|
||||
qPt := QPoint():from( ::oWidget:mapToGlobal( p ) )
|
||||
::hbContextMenu( { qPt:x(), qPt:y() } )
|
||||
|
||||
CASE cSlot == "itemPressed(QTWItem)"
|
||||
CASE cSlot == "itemSelectionChanged()"
|
||||
CASE cSlot == "currentItemChanged(QTWItem)"
|
||||
CASE cSlot == "itemActivated(QTWItem)"
|
||||
CASE cSlot == "itemChanged(QTWItem)"
|
||||
ENDCASE
|
||||
|
||||
RETURN .f.
|
||||
@@ -306,45 +282,49 @@ METHOD XbpTreeView:itemFromPos( aPos )
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
#if 0
|
||||
METHOD XbpTreeView:itemCollapsed( xParam )
|
||||
|
||||
IF hb_isBlock( xParam ) .or. ( xParam == NIL )
|
||||
::sl_paint := xParam
|
||||
ENDIF
|
||||
|
||||
METHOD XbpTreeView:itemCollapsed( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_itemCollapsed := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 2 .AND. hb_isBlock( ::sl_itemCollapsed )
|
||||
eval( ::sl_itemCollapsed, a_[ 1 ], a_[ 2 ], Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpTreeView:itemExpanded( xParam )
|
||||
|
||||
IF hb_isBlock( xParam ) .or. ( xParam == NIL )
|
||||
::sl_itemExpanded := xParam
|
||||
ENDIF
|
||||
|
||||
METHOD XbpTreeView:itemExpanded( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_itemExpanded := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 2 .AND. hb_isBlock( ::sl_itemExpanded )
|
||||
eval( ::sl_itemExpanded, a_[ 1 ], a_[ 2 ], Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
METHOD XbpTreeView:itemMarked( xParam )
|
||||
|
||||
IF hb_isBlock( xParam ) .or. ( xParam == NIL )
|
||||
::sl_itemMarked := xParam
|
||||
ENDIF
|
||||
|
||||
METHOD XbpTreeView:itemMarked( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_itemMarked := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 2 .AND. hb_isBlock( ::sl_itemMarked )
|
||||
eval( ::sl_itemMarked, a_[ 1 ], a_[ 2 ], Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
#endif
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
#if 0
|
||||
METHOD XbpTreeView:itemSelected( xParam )
|
||||
|
||||
IF hb_isBlock( xParam ) .or. ( xParam == NIL )
|
||||
::sl_itemSelected := xParam
|
||||
ENDIF
|
||||
|
||||
METHOD XbpTreeView:itemSelected( ... )
|
||||
LOCAL a_:= hb_aParams()
|
||||
IF len( a_ ) == 1 .AND. hb_isBlock( a_[ 1 ] )
|
||||
::sl_itemSelected := a_[ 1 ]
|
||||
ELSEIF len( a_ ) >= 2 .AND. hb_isBlock( ::sl_itemSelected )
|
||||
eval( ::sl_itemSelected, a_[ 1 ], a_[ 2 ], Self )
|
||||
ENDIF
|
||||
RETURN Self
|
||||
#endif
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* Class XbpTreeViewItem */
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
@@ -76,121 +76,26 @@
|
||||
|
||||
CLASS XbpWindow INHERIT XbpPartHandler
|
||||
|
||||
|
||||
METHOD init( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
METHOD create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
METHOD setQtProperty( cProperty )
|
||||
METHOD connect( pWidget, cSignal, bBlock )
|
||||
METHOD connectEvent( pWidget, nEvent, bBlock )
|
||||
METHOD configure( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
METHOD grabEvent( nEvent, pEvent )
|
||||
METHOD handleEvent( nEvent, mp1, mp2 )
|
||||
METHOD captureMouse( lCapture )
|
||||
METHOD invalidateRect( aRect )
|
||||
METHOD setStyleSheet( cNewSheet )
|
||||
METHOD setFont( oFont )
|
||||
METHOD setFontCompoundName( xFont )
|
||||
METHOD setModalState( nState )
|
||||
METHOD setPointer( cDllName, xResID, nType )
|
||||
METHOD setTrackPointer( lTrack )
|
||||
METHOD setPos( aPos, lPaint )
|
||||
METHOD setPosAndSize( aPos, aSize, lPaint )
|
||||
METHOD setSize( aSize, lPaint )
|
||||
METHOD isDerivedFrom( cClassORoObject )
|
||||
METHOD setPresParam( aPPNew )
|
||||
|
||||
METHOD enter( xParam ) SETGET
|
||||
METHOD leave( xParam ) SETGET
|
||||
METHOD lbClick( xParam ) SETGET
|
||||
METHOD lbDblClick( xParam ) SETGET
|
||||
METHOD lbDown( xParam ) SETGET
|
||||
METHOD lbUp( xParam ) SETGET
|
||||
METHOD mbClick( xParam ) SETGET
|
||||
METHOD mbDblClick( xParam ) SETGET
|
||||
METHOD mbDown( xParam ) SETGET
|
||||
METHOD mbUp( xParam ) SETGET
|
||||
METHOD motion( xParam ) SETGET
|
||||
METHOD rbClick( xParam ) SETGET
|
||||
METHOD rbDblClick( xParam ) SETGET
|
||||
METHOD rbDown( xParam ) SETGET
|
||||
METHOD rbUp( xParam ) SETGET
|
||||
METHOD wheel( xParam ) SETGET
|
||||
METHOD close( xParam ) SETGET
|
||||
METHOD helpRequest( xParam ) SETGET
|
||||
METHOD keyboard( xParam ) SETGET
|
||||
METHOD killDisplayFocus( xParam ) SETGET
|
||||
METHOD killInputFocus( xParam ) SETGET
|
||||
METHOD move( xParam ) SETGET
|
||||
METHOD paint( xParam ) SETGET
|
||||
METHOD quit( xParam, xParam1 ) SETGET
|
||||
METHOD resize( xParam, xParam1 ) SETGET
|
||||
METHOD setDisplayFocus( xParam ) SETGET
|
||||
METHOD setInputFocus( xParam ) SETGET
|
||||
METHOD dragEnter( xParam, xParam1 ) SETGET
|
||||
METHOD dragMotion( xParam ) SETGET
|
||||
METHOD dragLeave( xParam ) SETGET
|
||||
METHOD dragDrop( xParam, xParam1 ) SETGET
|
||||
METHOD hbContextMenu( xParam ) SETGET
|
||||
|
||||
METHOD Initialize( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
|
||||
METHOD isEnabled() INLINE ::is_enabled
|
||||
METHOD isVisible() INLINE !( ::is_hidden )
|
||||
|
||||
METHOD hbCreateFromQtPtr() VIRTUAL
|
||||
METHOD destroy()
|
||||
METHOD disable()
|
||||
METHOD enable()
|
||||
METHOD hide()
|
||||
METHOD lockPS()
|
||||
METHOD lockUpdate()
|
||||
METHOD show()
|
||||
METHOD toBack()
|
||||
METHOD toFront()
|
||||
METHOD unlockPS()
|
||||
METHOD winDevice()
|
||||
METHOD setColorBG( nRGB )
|
||||
METHOD setColorFG( nRGB )
|
||||
METHOD currentPos()
|
||||
METHOD currentSize()
|
||||
METHOD getHWND()
|
||||
METHOD getModalState()
|
||||
METHOD hasInputFocus()
|
||||
|
||||
METHOD setFocus()
|
||||
METHOD sendMessage()
|
||||
METHOD connectWindowEvents()
|
||||
METHOD disConnect()
|
||||
METHOD clearSlots()
|
||||
|
||||
CLASSDATA nProperty INIT 0
|
||||
|
||||
DATA qtProperty INIT ""
|
||||
DATA qtObject
|
||||
DATA isViaQtObject INIT .f.
|
||||
|
||||
/* Called in the initializer - Unique in the application */
|
||||
METHOD getProperty() INLINE "PROP" + hb_ntos( ++::nProperty )
|
||||
/* After object is physically created, set unique property to 1 */
|
||||
* METHOD setQtProperty()
|
||||
|
||||
DATA cargo INIT ""
|
||||
DATA styleSheet INIT ""
|
||||
* METHOD setStyleSheet()
|
||||
|
||||
/* CONFIGURATION */
|
||||
DATA animate INIT .F.
|
||||
DATA clipChildren INIT .F.
|
||||
DATA clipParent INIT .F.
|
||||
DATA clipSiblings INIT .T.
|
||||
DATA group INIT 0 /* XBP_NO_GROUP */
|
||||
DATA sizeRedraw INIT .F.
|
||||
DATA tabStop INIT .F.
|
||||
DATA visible INIT .T.
|
||||
DATA animate INIT .F.
|
||||
DATA clipChildren INIT .F.
|
||||
DATA clipParent INIT .F.
|
||||
DATA clipSiblings INIT .T.
|
||||
DATA group INIT 0 /* XBP_NO_GROUP */
|
||||
DATA sizeRedraw INIT .F.
|
||||
DATA tabStop INIT .F.
|
||||
DATA visible INIT .T.
|
||||
|
||||
/* RUNTIME DATA */
|
||||
DATA dropZone INIT .F.
|
||||
DATA dropZone INIT .F.
|
||||
DATA helpLink
|
||||
DATA tooltipText INIT ""
|
||||
DATA tooltipText INIT ""
|
||||
|
||||
/* CALLBACK SLOTS */
|
||||
DATA sl_enter
|
||||
@@ -249,29 +154,120 @@ CLASS XbpWindow INHERIT XbpPartHandler
|
||||
DATA nOldProc INIT 0
|
||||
DATA nWndProc
|
||||
DATA oMenu
|
||||
|
||||
DATA oWidget
|
||||
ACCESS pWidget INLINE IF( empty( ::oWidget ), NIL, ::oWidget:pPtr )
|
||||
ACCESS pParent INLINE IF( empty( ::oParent ), NIL, ::oParent:oWidget:pPtr )
|
||||
DATA cargo INIT ""
|
||||
DATA styleSheet INIT ""
|
||||
DATA oTabWidget
|
||||
DATA aTabs INIT {}
|
||||
DATA aTabs INIT {}
|
||||
DATA oPalette
|
||||
DATA xDummy
|
||||
DATA aConnections INIT {}
|
||||
DATA aEConnections INIT {}
|
||||
DATA lTrack INIT .f.
|
||||
DATA aConnections INIT {}
|
||||
DATA aEConnections INIT {}
|
||||
DATA lTrack INIT .f.
|
||||
DATA aPP
|
||||
METHOD setStyle() INLINE NIL
|
||||
ACCESS pSlots INLINE hbxbp_getSlotsPtr()
|
||||
ACCESS pEvents INLINE hbxbp_GetEventsPtr()
|
||||
DATA qLayout
|
||||
DATA nLayout
|
||||
|
||||
METHOD init( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
METHOD create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
METHOD setQtProperty( cProperty )
|
||||
METHOD connect( pWidget, cSignal, bBlock )
|
||||
METHOD connectEvent( pWidget, nEvent, bBlock )
|
||||
METHOD configure( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
METHOD grabEvent( nEvent, pEvent )
|
||||
METHOD handleEvent( nEvent, mp1, mp2 )
|
||||
METHOD captureMouse( lCapture )
|
||||
METHOD invalidateRect( aRect )
|
||||
METHOD setStyleSheet( cNewSheet )
|
||||
METHOD setFont( oFont )
|
||||
METHOD setFontCompoundName( xFont )
|
||||
METHOD setModalState( nState )
|
||||
METHOD setPointer( cDllName, xResID, nType )
|
||||
METHOD setTrackPointer( lTrack )
|
||||
METHOD setPos( aPos, lPaint )
|
||||
METHOD setPosAndSize( aPos, aSize, lPaint )
|
||||
METHOD setSize( aSize, lPaint )
|
||||
METHOD isDerivedFrom( cClassORoObject )
|
||||
METHOD setPresParam( aPPNew )
|
||||
|
||||
METHOD enter( xParam ) SETGET
|
||||
METHOD leave( xParam ) SETGET
|
||||
METHOD lbClick( xParam ) SETGET
|
||||
METHOD lbDblClick( xParam ) SETGET
|
||||
METHOD lbDown( xParam ) SETGET
|
||||
METHOD lbUp( xParam ) SETGET
|
||||
METHOD mbClick( xParam ) SETGET
|
||||
METHOD mbDblClick( xParam ) SETGET
|
||||
METHOD mbDown( xParam ) SETGET
|
||||
METHOD mbUp( xParam ) SETGET
|
||||
METHOD motion( xParam ) SETGET
|
||||
METHOD rbClick( xParam ) SETGET
|
||||
METHOD rbDblClick( xParam ) SETGET
|
||||
METHOD rbDown( xParam ) SETGET
|
||||
METHOD rbUp( xParam ) SETGET
|
||||
METHOD wheel( xParam ) SETGET
|
||||
METHOD close( xParam ) SETGET
|
||||
METHOD helpRequest( xParam ) SETGET
|
||||
METHOD keyboard( xParam ) SETGET
|
||||
METHOD killDisplayFocus( xParam ) SETGET
|
||||
METHOD killInputFocus( xParam ) SETGET
|
||||
METHOD move( xParam ) SETGET
|
||||
METHOD paint( xParam ) SETGET
|
||||
METHOD quit( xParam, xParam1 ) SETGET
|
||||
METHOD resize( xParam, xParam1 ) SETGET
|
||||
METHOD setDisplayFocus( xParam ) SETGET
|
||||
METHOD setInputFocus( xParam ) SETGET
|
||||
METHOD dragEnter( xParam, xParam1 ) SETGET
|
||||
METHOD dragMotion( xParam ) SETGET
|
||||
METHOD dragLeave( xParam ) SETGET
|
||||
METHOD dragDrop( xParam, xParam1 ) SETGET
|
||||
METHOD hbContextMenu( xParam ) SETGET
|
||||
|
||||
METHOD Initialize( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
|
||||
METHOD isEnabled() INLINE ::is_enabled
|
||||
METHOD isVisible() INLINE !( ::is_hidden )
|
||||
METHOD hbCreateFromQtPtr() VIRTUAL
|
||||
METHOD destroy()
|
||||
METHOD disable()
|
||||
METHOD enable()
|
||||
METHOD hide()
|
||||
METHOD lockPS()
|
||||
METHOD lockUpdate()
|
||||
METHOD show()
|
||||
METHOD toBack()
|
||||
METHOD toFront()
|
||||
METHOD unlockPS()
|
||||
METHOD winDevice()
|
||||
METHOD setColorBG( nRGB )
|
||||
METHOD setColorFG( nRGB )
|
||||
METHOD currentPos()
|
||||
METHOD currentSize()
|
||||
METHOD getHWND()
|
||||
METHOD getModalState()
|
||||
METHOD hasInputFocus()
|
||||
METHOD setFocus()
|
||||
METHOD sendMessage()
|
||||
METHOD connectWindowEvents()
|
||||
METHOD disConnect()
|
||||
METHOD clearSlots()
|
||||
|
||||
/* Called in the initializer - Unique in the application */
|
||||
METHOD getProperty() INLINE "PROP" + hb_ntos( ++::nProperty )
|
||||
/* After object is physically created, set unique property to 1 */
|
||||
* METHOD setQtProperty()
|
||||
|
||||
* METHOD setStyleSheet()
|
||||
METHOD setStyle() INLINE NIL
|
||||
METHOD className() INLINE __objGetClsName( Self )
|
||||
|
||||
/* Harbour Extension */
|
||||
DATA qLayout
|
||||
DATA nLayout
|
||||
METHOD hbLayout( nTypeLayout ) SETGET
|
||||
|
||||
ACCESS pWidget INLINE iif( empty( ::oWidget ), NIL, ::oWidget:pPtr )
|
||||
ACCESS pParent INLINE iif( empty( ::oParent ), NIL, ::oParent:oWidget:pPtr )
|
||||
ACCESS pSlots INLINE hbxbp_getSlotsPtr()
|
||||
ACCESS pEvents INLINE hbxbp_GetEventsPtr()
|
||||
|
||||
ENDCLASS
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -403,13 +399,10 @@ METHOD XbpWindow:disconnect()
|
||||
LOCAL e_
|
||||
|
||||
IF len( ::aConnections ) > 0
|
||||
//HB_TRACE( HB_TR_ALWAYS, " " )
|
||||
FOR EACH e_ IN ::aConnections
|
||||
::xDummy := Qt_Slots_DisConnect( ::pSlots, e_[ 1 ], e_[ 2 ] )
|
||||
//HB_TRACE( HB_TR_ALWAYS, ::xDummy, " Qt_Slots_DisConnect() ", e_[ 2 ] )
|
||||
NEXT
|
||||
::aConnections := {}
|
||||
//HB_TRACE( HB_TR_ALWAYS, " " )
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
@@ -421,7 +414,6 @@ METHOD XbpWindow:connectEvent( pWidget, nEvent, bBlock )
|
||||
|
||||
IF ( lSuccess := Qt_Events_Connect( ::pEvents, pWidget, nEvent, bBlock ) )
|
||||
aadd( ::aEConnections, { pWidget, nEvent } )
|
||||
// HB_TRACE( HB_TR_ALWAYS, "XbpWindow:connectEvent", nEvent, "Succeeded" )
|
||||
ELSE
|
||||
HB_TRACE( HB_TR_ALWAYS, "XbpWindow:connectEvent", nEvent, "Failed" )
|
||||
ENDIF
|
||||
@@ -439,10 +431,6 @@ METHOD XbpWindow:connectWindowEvents()
|
||||
::connectEvent( ::pWidget, QEvent_Enter , {|e| ::grabEvent( QEvent_Enter , e ) } )
|
||||
::connectEvent( ::pWidget, QEvent_Leave , {|e| ::grabEvent( QEvent_Leave , e ) } )
|
||||
::connectEvent( ::pWidget, QEvent_Wheel , {|e| ::grabEvent( QEvent_Wheel , e ) } )
|
||||
//
|
||||
::connectEvent( ::pWidget, QEvent_Move , {|e| ::grabEvent( QEvent_Move , e ) } )
|
||||
* ::connectEvent( ::pWidget, QEvent_Paint , {|e| ::grabEvent( QEvent_Paint , e ) } )
|
||||
* ::connectEvent( ::pWidget, QEvent_Resize , {|e| ::grabEvent( QEvent_Resize , e ) } )
|
||||
//
|
||||
::connectEvent( ::pWidget, QEvent_FocusIn , {|e| ::grabEvent( QEvent_FocusIn , e ) } )
|
||||
::connectEvent( ::pWidget, QEvent_FocusOut , {|e| ::grabEvent( QEvent_FocusOut , e ) } )
|
||||
@@ -452,10 +440,14 @@ METHOD XbpWindow:connectWindowEvents()
|
||||
::connectEvent( ::pWidget, QEvent_Drop , {|e| ::grabEvent( QEvent_Drop , e ) } )
|
||||
::connectEvent( ::pWidget, QEvent_WhatsThis , {|e| ::grabEvent( QEvent_WhatsThis , e ) } )
|
||||
::connectEvent( ::pWidget, QEvent_KeyPress , {|e| ::grabEvent( QEvent_KeyPress , e ) } )
|
||||
|
||||
//
|
||||
::connectEvent( ::pWidget, QEvent_ContextMenu , {|e| ::grabEvent( QEvent_ContextMenu , e ) } )
|
||||
//
|
||||
::connectEvent( ::pWidget, QEvent_Move , {|e| ::grabEvent( QEvent_Move , e ) } )
|
||||
* ::connectEvent( ::pWidget, QEvent_Paint , {|e| ::grabEvent( QEvent_Paint , e ) } )
|
||||
* ::connectEvent( ::pWidget, QEvent_Resize , {|e| ::grabEvent( QEvent_Resize , e ) } )
|
||||
|
||||
RETURN Self
|
||||
RETURN Self
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
@@ -476,10 +468,7 @@ METHOD XbpWindow:destroy()
|
||||
LOCAL e_
|
||||
#if 0
|
||||
HB_TRACE( HB_TR_ALWAYS, ". " )
|
||||
HB_TRACE( HB_TR_ALWAYS, ". " )
|
||||
HB_TRACE( HB_TR_ALWAYS, ". " )
|
||||
HB_TRACE( HB_TR_ALWAYS, hb_threadId(),"Destroy[ B ] "+pad(cCls,12)+ IF(empty(::cargo),'',str(::cargo) ), memory( 1001 ) )
|
||||
|
||||
LOCAL cCls := __ObjGetClsName( self ), cMsg
|
||||
cMsg := iif( cCls == "XBPWINDOW", ::oWidget:objectName(), IF( empty(::cargo),'',str(::cargo) ) )
|
||||
HB_TRACE( HB_TR_ALWAYS, hb_threadId(),"Destroy[ B ] "+pad(cCls,12)+ cMsg, memory( 1001 ) )
|
||||
@@ -517,9 +506,6 @@ HB_TRACE( HB_TR_ALWAYS, hb_threadId(),"Destroy[ B ] "+pad(cCls,12)+ cMsg, memor
|
||||
::oWidget := NIL
|
||||
#if 0
|
||||
HB_TRACE( HB_TR_ALWAYS, hb_threadId(),"Destroy[ E ] "+pad(__ObjGetClsName( self ),12)+ IF(empty(::cargo),'',str(::cargo) ), memory( 1001 ) )
|
||||
|
||||
HB_TRACE( HB_TR_ALWAYS, ". " )
|
||||
HB_TRACE( HB_TR_ALWAYS, ". " )
|
||||
HB_TRACE( HB_TR_ALWAYS, ". " )
|
||||
HB_TRACE( HB_TR_ALWAYS, hb_threadId(),"Destroy[ E ] "+pad(__ObjGetClsName( self ),12)+ IF(empty(::cargo),'',str(::cargo) ), memory( 1001 ) )
|
||||
#endif
|
||||
@@ -962,7 +948,6 @@ METHOD XbpWindow:setColorBG( nRGB )
|
||||
::setStyleSheet( "background-color: "+ cName +";" )
|
||||
ELSE
|
||||
::setStyleSheet( "background-color: "+ cName +";" )
|
||||
// ::setStyleSheet( cQTName +'['+ ::qtProperty +'="YES"] '+ "{ background-color: "+ cName +" ; }" )
|
||||
ENDIF
|
||||
ELSE
|
||||
oldRGB := Xbp_SetPresParam( ::aPresParams, XBP_PP_BGCLR )
|
||||
|
||||
Reference in New Issue
Block a user