You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
224 lines
9.4 KiB
224 lines
9.4 KiB
Imports MindFusion.Controls
|
|
Public Class frmColorDialog
|
|
|
|
Private Node As Object
|
|
Private NodeType As Integer
|
|
|
|
Public Sub New(ByRef Node As Object, ByVal NodeType As Integer)
|
|
InitializeComponent()
|
|
Me.Node = Node
|
|
Me.NodeType = NodeType
|
|
End Sub
|
|
|
|
Private Sub frmColorDialog_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
|
|
'Me.GrpLine.Visible = False
|
|
Me.rbsingle.Visible = False
|
|
Me.rbdouble.Visible = False
|
|
Me.Label4.Visible = False
|
|
Select Case NodeType
|
|
Case 0
|
|
Me.GrpLine.Visible = True
|
|
'LinkNode
|
|
Me.rbsingle.Visible = True
|
|
Me.rbdouble.Visible = True
|
|
Me.Label4.Visible = True
|
|
|
|
If Node.BaseShape = MindFusion.Diagramming.ArrowHead.None Then
|
|
Me.rbsingle.Checked = True
|
|
Me.rbdouble.Checked = False
|
|
Else
|
|
Me.rbsingle.Checked = False
|
|
Me.rbdouble.Checked = True
|
|
End If
|
|
Me.ComboBox2.Text = Node.Pen.width
|
|
Dim b As MindFusion.Drawing.SolidBrush = Me.Node.Brush
|
|
|
|
|
|
Me.ColorPicker1.Color = Node.Pen.Color
|
|
Me.ColorPicker2.Color = Node.Pen.Color
|
|
Me.ColorPicker3.Color = Node.ShadowColor
|
|
Me.cboxGradient.Checked = False
|
|
Me.cboxGradient.Visible = False
|
|
Me.ColorPicker2.Visible = False
|
|
If Me.Node.ShadowOffsetX = 0 Then
|
|
Me.cboxShadow.Checked = False
|
|
Else
|
|
Me.cboxShadow.Checked = True
|
|
End If
|
|
Me.txtText.Text = Me.Node.Text
|
|
Case 1
|
|
'ContainerNode
|
|
Try
|
|
Dim p As MindFusion.Drawing.Pen = Node.pen
|
|
Me.ComboBox2.Text = p.Width
|
|
Dim b As MindFusion.Drawing.LinearGradientBrush = Me.Node.Brush
|
|
Dim cols() As System.Drawing.Color = b.LinearColors
|
|
Me.ColorPicker1.Color = cols(0)
|
|
Me.ColorPicker2.Color = cols(1)
|
|
If cols(0) <> cols(1) Then
|
|
Me.cboxGradient.Checked = True
|
|
Me.ColorPicker2.Visible = True
|
|
Else
|
|
Me.cboxGradient.Checked = False
|
|
Me.ColorPicker2.Visible = False
|
|
End If
|
|
Catch ex As Exception
|
|
Dim b As MindFusion.Drawing.SolidBrush = Me.Node.Brush
|
|
Me.ColorPicker1.Color = b.Color
|
|
Me.ColorPicker2.Color = b.Color
|
|
Me.ColorPicker2.Visible = False
|
|
End Try
|
|
If Me.Node.ShadowOffsetX = 0 Then
|
|
Me.cboxShadow.Checked = False
|
|
Me.ColorPicker3.Color = Me.Node.shadowcolor
|
|
Else
|
|
Me.cboxShadow.Checked = True
|
|
Me.ColorPicker3.Color = Me.Node.shadowcolor
|
|
|
|
End If
|
|
Me.txtText.Text = Node.caption
|
|
Case 2
|
|
'ShapeNode
|
|
Dim p As MindFusion.Drawing.Pen = Node.pen
|
|
Me.ComboBox2.Text = p.Width
|
|
Try
|
|
Dim b As MindFusion.Drawing.LinearGradientBrush = Me.Node.Brush
|
|
Dim cols() As System.Drawing.Color = b.LinearColors
|
|
Me.ColorPicker1.Color = cols(0)
|
|
Me.ColorPicker2.Color = cols(1)
|
|
If cols(0) <> cols(1) Then
|
|
Me.cboxGradient.Checked = True
|
|
Me.ColorPicker2.Visible = True
|
|
Else
|
|
Me.cboxGradient.Checked = False
|
|
Me.ColorPicker2.Visible = False
|
|
End If
|
|
Catch ex As Exception
|
|
Dim b As MindFusion.Drawing.SolidBrush = Me.Node.Brush
|
|
Me.ColorPicker1.Color = b.Color
|
|
Me.ColorPicker2.Color = b.Color
|
|
Me.ColorPicker2.Visible = False
|
|
End Try
|
|
If Me.Node.ShadowOffsetX = 0 Then
|
|
Me.cboxShadow.Checked = False
|
|
Me.ColorPicker3.Color = Me.Node.shadowcolor
|
|
Else
|
|
Me.cboxShadow.Checked = True
|
|
Me.ColorPicker3.Color = Me.Node.shadowcolor
|
|
End If
|
|
Me.txtText.Text = Node.text
|
|
|
|
End Select
|
|
Me.txtText.Focus()
|
|
Me.Panel1.Refresh()
|
|
End Sub
|
|
|
|
Private Sub ColorPicker1_ColorChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ColorPicker1.ColorChanged, ColorPicker2.ColorChanged
|
|
Me.Panel1.Refresh()
|
|
Me.Panel2.Refresh()
|
|
End Sub
|
|
|
|
Private Sub cboxGradient_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboxGradient.CheckedChanged
|
|
If Me.cboxGradient.Checked = True Then
|
|
Me.ColorPicker2.Visible = True
|
|
Else
|
|
Me.ColorPicker2.Visible = False
|
|
End If
|
|
Me.Panel1.Refresh()
|
|
End Sub
|
|
|
|
|
|
Private Sub Panel1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Panel1.Paint
|
|
If Me.cboxGradient.Checked = True Then
|
|
Dim B As Brush
|
|
Try
|
|
B = New Drawing2D.LinearGradientBrush(Me.ClientRectangle, Me.ColorPicker1.Color, Me.ColorPicker2.Color, Drawing2D.LinearGradientMode.ForwardDiagonal, True)
|
|
e.Graphics.FillRectangle(B, Me.Panel1.ClientRectangle)
|
|
Catch
|
|
Finally
|
|
If Not B Is Nothing Then
|
|
B.Dispose()
|
|
End If
|
|
End Try
|
|
Else
|
|
Me.Panel1.BackColor = Me.ColorPicker1.Color
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub Panel2_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Panel2.Paint
|
|
Me.Panel2.BackColor = Me.ColorPicker3.Color
|
|
End Sub
|
|
|
|
Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click
|
|
Select Case Me.NodeType
|
|
Case 0
|
|
'LinkNode
|
|
Node.Pen = New MindFusion.Drawing.Pen(New MindFusion.Drawing.SolidBrush(Me.ColorPicker4.Color), Me.ComboBox2.Text)
|
|
Node.Brush = New MindFusion.Drawing.SolidBrush(Me.ColorPicker1.Color)
|
|
Node.HeadPen.Brush = Node.Brush
|
|
Node.Text = Me.txtText.Text
|
|
If Me.rbsingle.Checked Then
|
|
Node.baseshape = MindFusion.Diagramming.ArrowHead.None
|
|
Else
|
|
Node.baseshape = Node.headshape
|
|
End If
|
|
|
|
If Me.cboxShadow.Checked = False Then
|
|
Node.ShadowOffsetX = 0
|
|
Node.ShadowOffsetY = 0
|
|
Node.ShadowColor = Color.Transparent
|
|
Else
|
|
Node.ShadowColor = Me.ColorPicker3.Color
|
|
Node.ShadowOffsetX = 1
|
|
Node.ShadowOffsetY = 1
|
|
End If
|
|
Case 1
|
|
'ContainerNode
|
|
Node.Pen = New MindFusion.Drawing.Pen(New MindFusion.Drawing.SolidBrush(Me.ColorPicker4.Color), Me.ComboBox2.Text)
|
|
Dim x As New MindFusion.Diagramming.ContainerNode
|
|
|
|
If Me.cboxGradient.Checked = True Then
|
|
Me.Node.Brush = New MindFusion.Drawing.LinearGradientBrush(Me.ColorPicker1.Color, Me.ColorPicker2.Color, 30)
|
|
Else
|
|
Me.Node.Brush = New MindFusion.Drawing.SolidBrush(Me.ColorPicker1.Color)
|
|
End If
|
|
If Me.cboxShadow.Checked = True Then
|
|
Me.Node.ShadowOffsetX = 1
|
|
Me.Node.ShadowOffsetY = 1
|
|
Me.Node.ShadowColor = Me.ColorPicker3.Color
|
|
Else
|
|
Me.Node.ShadowOffsetX = 0
|
|
Me.Node.ShadowOffsetY = 0
|
|
Node.ShadowColor = Color.Transparent
|
|
End If
|
|
Node.caption = Me.txtText.Text
|
|
Case 2
|
|
'ShapeNode
|
|
Node.Pen = New MindFusion.Drawing.Pen(New MindFusion.Drawing.SolidBrush(Me.ColorPicker4.Color), Me.ComboBox2.Text)
|
|
If Me.cboxGradient.Checked = True Then
|
|
Me.Node.Brush = New MindFusion.Drawing.LinearGradientBrush(Me.ColorPicker1.Color, Me.ColorPicker2.Color, 30)
|
|
Else
|
|
Me.Node.Brush = New MindFusion.Drawing.SolidBrush(Me.ColorPicker1.Color)
|
|
End If
|
|
If Me.cboxShadow.Checked = True Then
|
|
Me.Node.ShadowOffsetX = 1
|
|
Me.Node.ShadowOffsetY = 1
|
|
Me.Node.ShadowColor = Me.ColorPicker3.Color
|
|
Else
|
|
Me.Node.ShadowOffsetX = 0
|
|
Me.Node.ShadowOffsetY = 0
|
|
Node.ShadowColor = Color.Transparent
|
|
End If
|
|
Node.text = Me.txtText.Text
|
|
End Select
|
|
End Sub
|
|
|
|
Private Sub ColorPicker3_ColorChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ColorPicker3.ColorChanged
|
|
Me.Panel2.Refresh()
|
|
End Sub
|
|
|
|
Private Sub ComboBox2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox2.SelectedIndexChanged
|
|
|
|
End Sub
|
|
End Class |