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.
ITSM/.svn/pristine/18/18866af9475c8cd94a27fd7acd9...

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