2010-01-22 17:10 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)

* contrib/hbxbp/xbpdataref.prg
    % Formatting.
  * contrib/hbxbp/xbpgeneric.prg
    ! Little refinment in MsgBox().
  * contrib/hbxbp/xbpwindow.prg
    ! A major fix to not allow XbpDialog() to invalidate buffers.
  * contrib/hbxbp/xbpdialog.prg
    + Implemented :setModal() method.

    ; Angel now your submitted application will run out of the box.
      You may need one or two changes.
         oSLE1:oWIDGET:selectAll()
         SetAppFocus(oSLE1)

         oDlg:showModal()

         nEvent := 0 
         DO WHILE ! lExit .AND. ! lOk .AND. nEvent <> xbeP_Close 
            nEvent := AppEvent( @mp1, @mp2, @oXbp ) 
            oXbp:handleEvent( nEvent, mp1, mp2 ) 
         ENDDO 

         oSle1:getdata()   //// DOESN'T WORK
         oSle2:getdata()   //// GIVES ME DATA OF FIRST SLE !!!!
         SetAppFocus(SetAppWindow())

         oDlg:Destroy()   //RECURSIVE RUNTIME ERROR !!
         //oDlg:hide()
    
       NOTE: See how a little interest of you have fixed many artifacts !!!
This commit is contained in:
Pritpal Bedi
2010-01-23 01:17:58 +00:00
parent 0d7315a55d
commit 6949f4979c
5 changed files with 49 additions and 11 deletions

View File

@@ -17,6 +17,38 @@
past entries belonging to author(s): Viktor Szakats.
*/
2010-01-22 17:10 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/hbxbp/xbpdataref.prg
% Formatting.
* contrib/hbxbp/xbpgeneric.prg
! Little refinment in MsgBox().
* contrib/hbxbp/xbpwindow.prg
! A major fix to not allow XbpDialog() to invalidate buffers.
* contrib/hbxbp/xbpdialog.prg
+ Implemented :setModal() method.
; Angel now your submitted application will run out of the box.
You may need one or two changes.
oSLE1:oWIDGET:selectAll()
SetAppFocus(oSLE1)
oDlg:showModal()
nEvent := 0
DO WHILE ! lExit .AND. ! lOk .AND. nEvent <> xbeP_Close
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
oSle1:getdata() //// DOESN'T WORK
oSle2:getdata() //// GIVES ME DATA OF FIRST SLE !!!!
SetAppFocus(SetAppWindow())
oDlg:Destroy() //RECURSIVE RUNTIME ERROR !!
//oDlg:hide()
NOTE: See how a little interest of you have fixed many artifacts !!!
2010-01-23 01:30 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/memvars.c
! fixed RELEASE ALL [LIKE | EXCEPT <skeleton>] command - thanks to

View File

@@ -87,14 +87,14 @@ CLASS XbpDataRef
DATA sl_editBuffer
DATA sl_buffer
ACCESS editBuffer INLINE ::sl_editBuffer
ASSIGN editBuffer( xData ) INLINE ::sl_editBuffer := xData
ACCESS editBuffer INLINE ::sl_editBuffer
ASSIGN editBuffer( xData ) INLINE ::sl_editBuffer := xData
METHOD getData()
METHOD setData( xValue, mp2 )
METHOD undo()
METHOD validate( xParam ) SETGET
METHOD validate( xParam ) SETGET
ENDCLASS

View File

@@ -93,7 +93,7 @@ CLASS XbpDialog FROM XbpWindow
METHOD close() INLINE NIL
METHOD showModal() INLINE NIL
METHOD showModal()
METHOD setTitle( cTitle ) INLINE ::title := cTitle, ::oWidget:setWindowTitle( cTitle )
METHOD getTitle() INLINE ::oWidget:windowTitle()
@@ -165,7 +165,7 @@ METHOD XbpDialog:create( oParent, oOwner, aPos, aSize, aPresParams, lVisible )
::show()
ENDIF
SetAppWindow( Self )
//SetAppWindow( Self ) /* This should never be done here, it is programmers responsibility */
/* Install Event Loop per Dialog Basis */
::oEventLoop := QEventLoop():new( ::pWidget )
@@ -232,6 +232,16 @@ METHOD XbpDialog:configure( oParent, oOwner, aPos, aSize, aPresParams, lVisible
/*----------------------------------------------------------------------*/
METHOD XbpDialog:showModal()
::hide()
::oWidget:setWindowModality( 2 )
::show()
RETURN .t.
/*----------------------------------------------------------------------*/
METHOD XbpDialog:setFrameState( nState )
LOCAL lSuccess := .T.
LOCAL nCurState := ::getFrameState()

View File

@@ -282,7 +282,7 @@ FUNCTION MsgBox( cMsg, cTitle )
oMB:setText( /* "<b>" + */ cMsg /* + "</b>" */ )
oMB:setIcon( QMessageBox_Information )
IF hb_isObject( SetAppWindow() )
oMB:setParent( SetAppWindow():pWidget )
oMB:setParent( SetAppWindow():oWidget )
ENDIF
oMB:setWindowFlags( Qt_Dialog )
oMB:setWindowTitle( cTitle )

View File

@@ -516,7 +516,7 @@ METHOD XbpWindow:destroy()
hbxbp_SetEventLoop( NIL )
::oEventLoop:exit( 0 )
::oEventLoop:pPtr := 0
SetAppWindow( XbpObject():new() )
//SetAppWindow( XbpObject():new() ) /* Can play havoc on */
::oMenu := NIL
ENDIF
@@ -538,10 +538,6 @@ METHOD XbpWindow:destroy()
::XbpPartHandler:destroy()
::clearSlots()
IF cXbp == "XBPDIALOG"
hbxbp_ClearEventBuffer()
ENDIF
::oWidget:pPtr := 0
::oWidget := NIL