Imports System.Windows.Forms
Public Class ItemPropertiesDialog
Private PreviewItem As FillableItem
Public ReadOnly Property OutlineWidth() As Single
Get
Return nudWidth.Value
End Get
End Property
Public ReadOnly Property OutlineColor() As Color
Get
Return pnlColor.BackColor
End Get
End Property
Public ReadOnly Property DrawOutline() As Boolean
Get
Return chbDrawOutline.Checked
End Get
End Property
Public ReadOnly Property FillColor() As Color
Get
Return pnlFillColor.BackColor
End Get
End Property
Public ReadOnly Property Fill() As Boolean
Get
Return chbFill.Checked
End Get
End Property
Sub New(ByVal Item As FillableItem)
Me.InitializeComponent()
nudWidth.Value = Item.Width
pnlColor.BackColor = Item.Color
chbDrawOutline.Checked = Item.DrawOutline
pnlFillColor.BackColor = Item.FillColor
chbFill.Checked = Item.Fill
nudBlendAngle.Value = Item.BlendAngle
pnlBlendColor.BackColor = Item.BlendColor
chbBlend.Checked = Item.Blend
PreviewItem = Item
End Sub
Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
Me.DialogResult = System.Windows.Forms.DialogResult.OK
Me.Close()
End Sub
Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click
Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
Me.Close()
End Sub
Private Sub pnlColor_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles pnlColor.Click, pnlFillColor.Click, pnlBlendColor.Click
sender.BackColor = My.Forms.Form1.imgSavedColor.BackColor
End Sub
Private Sub pnlColor_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pnlColor.DoubleClick, pnlFillColor.DoubleClick, pnlBlendColor.DoubleClick
Dim BColor As New ColorDialog
BColor.FullOpen = True
BColor.Color = sender.BackColor
If BColor.ShowDialog = Windows.Forms.DialogResult.OK Then
sender.BackColor = BColor.Color
End If
End Sub
Private Sub imgPreview_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles imgPreview.Paint
Dim R As New Rectangle(0, 0, imgPreview.Width - 1, imgPreview.Height - 1)
e.Graphics.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias
PreviewItem.DrawPreview(e.Graphics, R)
End Sub
Private Sub nudWidth_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles nudWidth.ValueChanged
If Me.PreviewItem Is Nothing Then
Exit Sub
End If
Me.PreviewItem.Width = nudWidth.Value
imgPreview.Refresh()
End Sub
Private Sub pnlColor_BackColorChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pnlColor.BackColorChanged, pnlFillColor.BackColorChanged, pnlBlendColor.BackColorChanged
If Me.PreviewItem Is Nothing Then
Exit Sub
End If
If sender Is pnlColor Then
Me.PreviewItem.Color = pnlColor.BackColor
ElseIf sender Is pnlFillColor Then
Me.PreviewItem.FillColor = pnlFillColor.BackColor
Else
Me.PreviewItem.BlendColor = pnlBlendColor.BackColor
End If
imgPreview.Refresh()
End Sub
Private Sub chbDrawOutline_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chbDrawOutline.CheckedChanged, chbFill.CheckedChanged
If Me.PreviewItem Is Nothing Then
Exit Sub
End If
If sender Is chbDrawOutline Then
Me.PreviewItem.DrawOutline = chbDrawOutline.Checked
Else
Me.PreviewItem.Fill = chbFill.Checked
End If
imgPreview.Refresh()
End Sub
Private Sub nudBlendAngle_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles nudBlendAngle.ValueChanged
If Me.PreviewItem Is Nothing Then
Exit Sub
End If
Me.PreviewItem.BlendAngle = nudBlendAngle.Value
imgPreview.Refresh()
End Sub
Private Sub chbBlend_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chbBlend.CheckedChanged
If Me.PreviewItem Is Nothing Then
Exit Sub
End If
Me.PreviewItem.Blend = chbBlend.Checked
imgPreview.Refresh()
End Sub
End Class