20000206-10:12 GMT+1 Antonio Linares <alinares@fivetech.com>

This commit is contained in:
Antonio Linares
2000-02-06 09:14:29 +00:00
parent 3d373af043
commit 86bba9ea98
2 changed files with 51 additions and 15 deletions

View File

@@ -1,3 +1,7 @@
20000206-10:12 GMT+1 Antonio Linares <alinares@fivetech.com>
* source/debug/debugger.prg
* Mouse support to select pulldown top items (just that for now)
20000205-17:00 GMT+1 Victor Szakats <info@szelvesz.hu>
* source/compiler/hbusage.c
+ The command line help screen uses the platform dependent switch
@@ -177,7 +181,6 @@
* doc/whatsnew.txt
% Synchronized with updates that were made to the build31 branch
* source/pp/pragma.c
* contrib/dot/pp_harb.ch
* tests/inline_c.prg

View File

@@ -356,18 +356,22 @@ METHOD HandleEvent() CLASS TDebugger
nKey = InKey( 0 )
do case
case nKey == K_LBUTTONDOWN
Alert( Str( MRow() ) + ", " + Str( MCol() ) )
case nKey == K_RBUTTONDOWN
Alert( "K_RBUTTONDOWN" )
case ::oPullDown:IsOpen()
::oPullDown:ProcessKey( nKey )
if ::oPullDown:nOpenPopup == 0 // Closed
::aWindows[ ::nCurrentWindow ]:SetFocus( .t. )
endif
case nKey == K_LBUTTONDOWN
if MRow() == 0
if ( nPopup := ::oPullDown:GetItemOrdByCoors( 0, MCol() ) ) != 0
SetCursor( SC_NONE )
::oPullDown:ShowPopup( nPopup )
endif
endif
case nKey == K_RBUTTONDOWN
case nKey == K_ESC
::RestoreAppStatus()
s_oDebugger := nil
@@ -404,8 +408,10 @@ METHOD HandleEvent() CLASS TDebugger
otherwise
if ( nPopup := ::oPullDown:GetHotKeyPos( AltToKey( nKey ) ) ) != 0
SetCursor( SC_NONE )
::oPullDown:ShowPopup( nPopup )
if ::oPullDown:nOpenPopup != nPopup
SetCursor( SC_NONE )
::oPullDown:ShowPopup( nPopup )
endif
endif
endcase
end
@@ -1076,6 +1082,7 @@ CLASS TDbMenu /* debugger menu */
METHOD Display()
METHOD EvalAction()
METHOD GetHotKeyPos( nKey )
METHOD GetItemOrdByCoors( nRow, nCol )
METHOD GoBottom()
METHOD GoDown() INLINE ::aItems[ ::nOpenPopup ]:bAction:GoRight()
METHOD GoLeft()
@@ -1175,9 +1182,11 @@ METHOD ClosePopup( nPopup ) CLASS TDbMenu
if nPopup != 0
oPopup = ::aItems[ nPopup ]:bAction
RestScreen( oPopup:nTop, oPopup:nLeft, oPopup:nBottom + 1, oPopup:nRight + 2,;
oPopup:cBackImage )
oPopup:cBackImage = nil
if oPopup:ClassName() == "TDBMENU"
RestScreen( oPopup:nTop, oPopup:nLeft, oPopup:nBottom + 1, oPopup:nRight + 2,;
oPopup:cBackImage )
oPopup:cBackImage = nil
endif
::aItems[ nPopup ]:Display( ::cClrPopup, ::cClrHotKey )
endif
@@ -1244,6 +1253,19 @@ METHOD GetHotKeyPos( cKey ) CLASS TDbMenu
return 0
METHOD GetItemOrdByCoors( nRow, nCol ) CLASS TDbMenu
local n
for n = 1 to Len( ::aItems )
if ::aItems[ n ]:nRow == nRow .and. nCol >= ::aItems[ n ]:nCol .and. ;
nCol <= ::aItems[ n ]:nCol + Len( ::aItems[ n ]:cPrompt ) - 2
return n
endif
next
return 0
METHOD GoBottom() CLASS TDbMenu
local oPopup
@@ -1301,7 +1323,6 @@ METHOD GoRight() CLASS TDbMenu
::ShowPopup( ::nOpenPopup := 1 )
endif
endif
// DispEnd()
return nil
@@ -1334,6 +1355,16 @@ METHOD ProcessKey( nKey ) CLASS TDbMenu
local nPopup
do case
case nKey == K_LBUTTONDOWN
if MRow() == 0
if ( nPopup := ::GetItemOrdByCoors( 0, MCol() ) ) != 0
if nPopup != ::nOpenPopup
::ClosePopup( ::nOpenPopup )
::ShowPopup( nPopup )
endif
endif
endif
case nKey == K_ESC
::Close()
@@ -1360,8 +1391,10 @@ METHOD ProcessKey( nKey ) CLASS TDbMenu
otherwise
if ( nPopup := ::GetHotKeyPos( AltToKey( nKey ) ) ) != 0
::Close()
::ShowPopup( nPopup )
if nPopup != ::nOpenPopup
::Close()
::ShowPopup( nPopup )
endif
endif
endcase