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.
257 lines
11 KiB
257 lines
11 KiB
Imports MindFusion.Controls
|
|
Imports MindFusion.Diagramming
|
|
Imports MindFusion.Diagramming.WinForms
|
|
|
|
Public Class frmColorDialog
|
|
|
|
Private Node As Object
|
|
Public NodeType As Integer
|
|
Dim d As MindFusion.Diagramming.Diagram
|
|
|
|
Public Sub New(ByRef Node As Object, ByVal NodeType As Integer, ByRef din As MindFusion.Diagramming.Diagram)
|
|
InitializeComponent()
|
|
Me.Node = Node
|
|
Me.NodeType = NodeType
|
|
d = din
|
|
End Sub
|
|
|
|
Private Sub frmColorDialog_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown, txtText.KeyDown
|
|
If e.KeyCode = Keys.Escape Then
|
|
Me.Close()
|
|
End If
|
|
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
|
|
If NodeType = 2 Then
|
|
If d.Selection.Nodes.Count > 0 And d.Selection.Nodes.Count > 1 Then Me.txtText.Enabled = False Else Me.txtText.Enabled = True
|
|
Else
|
|
If NodeType = 0 And d.Selection.Links.Count > 0 And d.Selection.Links.Count > 1 Then Me.txtText.Enabled = False Else Me.txtText.Enabled = True
|
|
End If
|
|
|
|
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.ColorPicker4.Color = Node.pen.brush.color
|
|
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.txtText.Select()
|
|
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
|
|
For Each l As Object In d.Selection.Links
|
|
'LinkNode
|
|
l.Pen = New MindFusion.Drawing.Pen(New MindFusion.Drawing.SolidBrush(Me.ColorPicker4.Color), Me.ComboBox2.Text)
|
|
l.Brush = New MindFusion.Drawing.SolidBrush(Me.ColorPicker1.Color)
|
|
l.HeadPen.Brush = Node.Brush
|
|
If Me.txtText.Enabled = True Then l.Text = Me.txtText.Text
|
|
If Me.rbsingle.Checked Then
|
|
l.baseshape = MindFusion.Diagramming.ArrowHead.None
|
|
Else
|
|
l.baseshape = Node.headshape
|
|
End If
|
|
|
|
If Me.cboxShadow.Checked = False Then
|
|
l.ShadowOffsetX = 0
|
|
l.ShadowOffsetY = 0
|
|
l.ShadowColor = Color.Transparent
|
|
Else
|
|
l.ShadowColor = Me.ColorPicker3.Color
|
|
l.ShadowOffsetX = 1
|
|
l.ShadowOffsetY = 1
|
|
End If
|
|
Next
|
|
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
|
|
For Each n As ShapeNode In d.Selection.Nodes
|
|
n.Pen = New MindFusion.Drawing.Pen(New MindFusion.Drawing.SolidBrush(Me.ColorPicker4.Color), Me.ComboBox2.Text)
|
|
If Me.cboxGradient.Checked = True Then
|
|
n.Brush = New MindFusion.Drawing.LinearGradientBrush(Me.ColorPicker1.Color, Me.ColorPicker2.Color, 30)
|
|
Else
|
|
n.Brush = New MindFusion.Drawing.SolidBrush(Me.ColorPicker1.Color)
|
|
End If
|
|
If Me.cboxShadow.Checked = True Then
|
|
n.ShadowOffsetX = 1
|
|
n.ShadowOffsetY = 1
|
|
n.ShadowColor = Me.ColorPicker3.Color
|
|
Else
|
|
n.ShadowOffsetX = 0
|
|
n.ShadowOffsetY = 0
|
|
Node.ShadowColor = Color.Transparent
|
|
End If
|
|
Next
|
|
If Me.txtText.Enabled = True Then
|
|
Node.text = Me.txtText.Text
|
|
End If
|
|
Exit Sub
|
|
|
|
|
|
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
|
|
|
|
|
|
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
|
|
Me.ColorDialog1.ShowDialog()
|
|
Me.ColorPicker1.Color = Me.ColorDialog1.Color
|
|
|
|
End Sub
|
|
End Class |