Handle the ".[]" syntax in method signature popup. A few enhancements in the procedure popup.
[DEVELOPMENT ENVIRONMENT] * NEW: Procedure popup: Underline the startup method in the procedure list. * NEW: Procedure popup: Don't show the "STATIC" button in a module. * NEW: Code editor: The ".[]" syntax is now handled when displaying method signatures.
This commit is contained in:
parent
78b6bfbf92
commit
899c3138e2
2 changed files with 15 additions and 11 deletions
|
@ -1827,7 +1827,7 @@ Private Sub GetExpressionStart(aExpr As String[], aType As Integer[]) As Integer
|
|||
|
||||
End
|
||||
|
||||
Public Function GetExpressionType(aExpr As String[], aType As Integer[], bPointAfter As Boolean) As String
|
||||
Public Function GetExpressionType(aExpr As String[], aType As Integer[], bPointAfter As Boolean, Optional sAfter As String) As String
|
||||
|
||||
Dim iInd As Integer
|
||||
Dim aWait As New String[]
|
||||
|
@ -1918,6 +1918,7 @@ Public Function GetExpressionType(aExpr As String[], aType As Integer[], bPointA
|
|||
Return
|
||||
Endif
|
||||
Else
|
||||
If sAfter = "[" Then Return sType
|
||||
Return
|
||||
Endif
|
||||
Else If sPattern = ")" Then
|
||||
|
@ -2093,7 +2094,7 @@ Private Function GetExpressionSignature(aExpr As String[], aType As Integer[]) A
|
|||
$hSymbol = Null
|
||||
$iArgSignature = 0
|
||||
|
||||
For iInd = aExpr.Count - 1 To 0 Step -1
|
||||
For iInd = aExpr.Count - 1 DownTo 0
|
||||
|
||||
sPattern = aExpr[iInd]
|
||||
If sPattern = ")" Then
|
||||
|
@ -2126,8 +2127,8 @@ Private Function GetExpressionSignature(aExpr As String[], aType As Integer[]) A
|
|||
|
||||
aExpr.Remove(iInd, -1)
|
||||
aType.Remove(iInd, -1)
|
||||
|
||||
sType = GetExpressionType(aExpr, aType, False)
|
||||
|
||||
sType = GetExpressionType(aExpr, aType, False, sPattern)
|
||||
'IF NOT $hSymbol THEN
|
||||
If sType Then
|
||||
If sPattern = "(" Then
|
||||
|
|
|
@ -8,6 +8,7 @@ Private $sClass As String
|
|||
Private $sFind As String
|
||||
Private $fTimerFind As Float
|
||||
Private $hModule As FEditor
|
||||
Private $bStatic As Boolean
|
||||
Private $bNoFilter As Boolean
|
||||
|
||||
Static Public Sub Popup(hModule As FEditor, sClass As String, aProc As String[], iCurrent As Integer, X As Integer, Y As Integer, W As Integer, H As Integer) As Integer
|
||||
|
@ -32,6 +33,10 @@ Public Sub Init(hModule As FEditor, sClass As String, aProc As String[], iCurren
|
|||
|
||||
panFilter.Visible = $sClass
|
||||
sepFilter.Visible = $sClass
|
||||
If $sClass Then
|
||||
$bStatic = File.Ext($hModule.Path) = "module"
|
||||
btnShowStatic.Visible = Not $bStatic
|
||||
Endif
|
||||
|
||||
FilterProc
|
||||
|
||||
|
@ -216,15 +221,13 @@ Public Sub gvwProc_Draw(X As Integer, Y As Integer, Width As Integer, Height As
|
|||
|
||||
If hSymbol And If hSymbol.NotPublic Then Paint.Background = Color.Merge(Paint.Background, Color.TextBackground, 0.3)
|
||||
|
||||
If $sClass = Project.Startup And If sName = "Main" Then
|
||||
Paint.Font.Underline = True
|
||||
Endif
|
||||
|
||||
If $aFilter[Row] = $iInit Then Paint.DrawTextShadow(sName, X + 2, Y, Width - 4, Height, Align.Left)
|
||||
Paint.DrawText(sName, X + 2, Y, Width - 4, Height, Align.Left)
|
||||
|
||||
' If Row = $iInit Then
|
||||
' Paint.Rectangle(X + 0.5, Y + 0.5, Width - 1, Height - 1)
|
||||
' Paint.Background = Color.SelectedBackground
|
||||
' Paint.Stroke
|
||||
' Endif
|
||||
|
||||
End
|
||||
|
||||
Private Sub FilterProc()
|
||||
|
@ -253,7 +256,7 @@ Private Sub FilterProc()
|
|||
Endif
|
||||
|
||||
If panFilter.Visible Then
|
||||
bShowStatic = btnShowStatic.Value
|
||||
bShowStatic = $bStatic Or btnShowStatic.Value
|
||||
bShowPublic = btnShowPublic.Value
|
||||
bShowPrivate = btnShowPrivate.Value
|
||||
bShowEvent = btnShowEvent.Value
|
||||
|
|
Loading…
Reference in a new issue