[GB.FORM.EDITOR]

* NEW: Some little cosmetic changes in the preview bar.

git-svn-id: svn://localhost/gambas/trunk@8017 867c0c6c-44f3-4631-809d-bfa615b0a4ec
This commit is contained in:
Benoît Minisini 2016-12-19 13:28:11 +00:00
parent 84edb015f4
commit 80d79748f2

View file

@ -4857,6 +4857,7 @@ End
Public Sub SideBar_Draw()
Dim D As Integer = Desktop.Scale * 2
Dim NL, Row As Integer
Dim X, Y, W, H As Integer
Dim iBorder As Integer = IIf(System.RightToLeft, 0, 1)
@ -4871,24 +4872,33 @@ Public Sub SideBar_Draw()
Paint.DrawImage($imgSideBar, iBorder, 0)
'Border Line
Paint.LineWidth = 1
Paint.Background = $iMarginColor
If System.RightToLeft Then
Paint.MoveTo(Paint.Width - 1, 0)
Else
Paint.MoveTo(0, 0)
Endif
Paint.RelLineTo(0, Paint.Height)
Paint.Stroke
Paint.FillRect(If(System.RightToLeft, Paint.W - 1, 0), 0, 1, Paint.H, $iLimitColor)
' Paint.LineWidth = 1
' Paint.Background = $iLimitColor
' If System.RightToLeft Then
' Paint.MoveTo(Paint.Width - 1, 0)
' Else
' Paint.MoveTo(0, 0)
' Endif
' Paint.RelLineTo(0, Paint.Height)
' Paint.Stroke
'Arrow Buttons
If $iSideBarStyle > 0 Then
Paint.Background = Color.SetAlpha(Color.Background, 100)
Paint.Rectangle(iBorder, 0, Paint.Width - 1, 20)
Paint.Rectangle(iBorder, Paint.Height - 20, Paint.Width - 1, 20)
Paint.Fill
Style.PaintArrow(20, 0, 20, 20, Align.Top, If($iSideBarStyle = 1, Style.Hovered, 0))
Style.PaintArrow(20, Paint.Height - 20, 20, 20, Align.Bottom, If($iSideBarStyle = 2, Style.Hovered, 0))
If $hView.ScrollY > 0 Then
Paint.FillRect(iBorder, 0, Paint.W - 1, D, Color.Background)
Style.PaintArrow((Paint.W - D) / 2, 0, D, D, Align.Top) ' If($iSideBarStyle = 1, Style.Hovered, 0))
Endif
If $hView.ScrollY < $hView.ScrollHeight - $hView.ClientHeight Then
Paint.FillRect(iBorder, Paint.H - D, Paint.W - 1, D, Color.Background)
Style.PaintArrow((Paint.W - D) / 2, Paint.H - D, D, D, Align.Bottom) ', If($iSideBarStyle = 2, Style.Hovered, 0))
Endif
' Paint.Background = Color.SetAlpha(Color.Background, 0)
' Paint.Rectangle(iBorder, 0, Paint.Width - 1, D)
' Paint.Rectangle(iBorder, Paint.Height - D, Paint.Width - 1, D)
' Paint.Fill
' Style.PaintArrow(20, 0, 20, 20, Align.Top, If($iSideBarStyle = 1, Style.Hovered, 0))
' Style.PaintArrow(20, Paint.Height - 20, 20, 20, Align.Bottom, If($iSideBarStyle = 2, Style.Hovered, 0))
Endif
'ViewPort Rectangle
@ -4897,12 +4907,12 @@ Public Sub SideBar_Draw()
Paint.Rectangle(iBorder, $fBarLineHeight * Row, Paint.Width - 1, $fBarLineHeight * NL)
Paint.Background = Color.SetAlpha(Color.SelectedBackground, 200)
Paint.Fill()
Paint.MoveTo(iBorder, $fBarLineHeight * Row)
Paint.RelLineTo(Paint.Width - 1, 0)
Paint.MoveTo(iBorder, $fBarLineHeight * Row + $fBarLineHeight * NL)
Paint.RelLineTo(Paint.Width - 1, 0)
Paint.Background = Color.SelectedBackground
Paint.Stroke
' Paint.MoveTo(iBorder, $fBarLineHeight * Row)
' Paint.RelLineTo(Paint.Width - 1, 0)
' Paint.MoveTo(iBorder, $fBarLineHeight * Row + $fBarLineHeight * NL)
' Paint.RelLineTo(Paint.Width - 1, 0)
' Paint.Background = Color.SelectedBackground
' Paint.Stroke
'Draw the Tooltip
If $bSideBarMouseDown Then
@ -4926,12 +4936,13 @@ Public Sub SideBar_MouseMove()
Dim iCurLine As Integer
Dim iStyle As Integer
Dim X As Integer
Dim D As Integer = Desktop.Scale * 2
If Mouse.Y < 20 Then
If Mouse.Y < D Then
iStyle = 1
Else
If Mouse.Y > Last.ClientH - 20 Then
If Mouse.Y > Last.ClientH - D Then
iStyle = 2
Endif
Endif
@ -4955,7 +4966,8 @@ Public Sub SideBar_MouseMove()
If Not $hSideBarViewer.Visible Then $hTimerSideBarViewer.Start
If $hSideBarViewer.Visible Then
X = IIf(System.RightToLeft, $hSideBar.Left + $hSideBar.Width, $hSideBar.Left - $hView.Width / 2)
$hSideBarViewer.Move(X, Min(Max(0, Mouse.y - ($hView.Height / 5) / 2), $hSideBar.Height - $hSideBarViewer.Height)) ', $hView.Width / 2, $hView.Height / 5)
$hSideBarViewer.Move(X, Min(Max(1, Mouse.Y - ($hView.Height / 5) / 2), $hSideBar.Height - $hSideBarViewer.Height)) ', $hView.Width / 2, $hView.Height / 5)
$hSideBarViewer.Raise
iCurLine = Min(Max(0, Floor(((Mouse.y - $iMD)) / $fBarLineHeight)), $hDoc.Count)
If $hSideBarViewer.Tag <> iCurLine Then
$hSideBarViewer.Tag = iCurLine
@ -5117,7 +5129,7 @@ Private Sub ShowPreview_Write(Value As Boolean)
$hTimerSideBarViewer = New Timer As "TimerShowPreviewViewer"
$hTimerSideBarViewer.Delay = 200
$hSideBarViewer = New TextEditor($hPanel) As "SideBarViewer"
$hSideBarViewer = New TextEditor(Me) As "SideBarViewer"
$hSideBarViewer.Hide
$hSideBarViewer.ReadOnly = True
$hSideBarViewer.ShowCursor = False
@ -5129,7 +5141,7 @@ Private Sub ShowPreview_Write(Value As Boolean)
$hSideBarViewer.ScrollBar = Scroll.None
$hSideBar = New DrawingArea($hPanel) As "SideBar"
$hSideBar.Width = 60
$hSideBar.Width = Desktop.Scale * 8
$hSideBar.Background = $hStyles[Highlight.BackGround].Color
$hSideBar.Tracking = True
'$hSideBar.Visible = True
@ -5166,11 +5178,12 @@ End
Public Sub TimerShowPreviewViewer_Timer()
$hSideBarViewer.Move($hSideBar.Left - $hView.Width / 2, Min(Max(0, $iMY - ($hView.Height / 5) / 2), $hSideBar.Height - $hSideBarViewer.Height), $hView.Width / 2, $hView.Height / 5)
$hSideBarViewer.Move($hSideBar.Left - $hView.Width / 2, Min(Max(1, $iMY - ($hView.Height / 5) / 2), $hSideBar.Height - $hSideBarViewer.Height), $hView.Width / 2, $hView.Height / 5)
$iSideBarNBLines = Ceil(($hSideBarViewer.ClientH / $hSideBarViewer.LineHeight) / 2)
$hSideBarViewer.Font = Me.Font.Copy()
$hSideBarViewer.Font.Grade -= 2
$hSideBarViewer.Show
$hSideBarViewer.Raise
$hTimerSideBarViewer.Stop
End