diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 332721d7ba..8adc14795e 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -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 ] command - thanks to diff --git a/harbour/contrib/hbxbp/xbpdataref.prg b/harbour/contrib/hbxbp/xbpdataref.prg index d7bef68b3a..c028696166 100644 --- a/harbour/contrib/hbxbp/xbpdataref.prg +++ b/harbour/contrib/hbxbp/xbpdataref.prg @@ -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 diff --git a/harbour/contrib/hbxbp/xbpdialog.prg b/harbour/contrib/hbxbp/xbpdialog.prg index ee525ebf91..8d8b606928 100644 --- a/harbour/contrib/hbxbp/xbpdialog.prg +++ b/harbour/contrib/hbxbp/xbpdialog.prg @@ -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() diff --git a/harbour/contrib/hbxbp/xbpgeneric.prg b/harbour/contrib/hbxbp/xbpgeneric.prg index 738950db85..4e7fa6f2a2 100644 --- a/harbour/contrib/hbxbp/xbpgeneric.prg +++ b/harbour/contrib/hbxbp/xbpgeneric.prg @@ -282,7 +282,7 @@ FUNCTION MsgBox( cMsg, cTitle ) oMB:setText( /* "" + */ cMsg /* + "" */ ) oMB:setIcon( QMessageBox_Information ) IF hb_isObject( SetAppWindow() ) - oMB:setParent( SetAppWindow():pWidget ) + oMB:setParent( SetAppWindow():oWidget ) ENDIF oMB:setWindowFlags( Qt_Dialog ) oMB:setWindowTitle( cTitle ) diff --git a/harbour/contrib/hbxbp/xbpwindow.prg b/harbour/contrib/hbxbp/xbpwindow.prg index 75c764e92c..c76b8d2771 100644 --- a/harbour/contrib/hbxbp/xbpwindow.prg +++ b/harbour/contrib/hbxbp/xbpwindow.prg @@ -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