jj: first pass of entitydesigner
This commit is contained in:
parent
468faa37ea
commit
1e0bccdb48
18
EDMI_ClientSuite/ClassUtils.vb
Normal file
18
EDMI_ClientSuite/ClassUtils.vb
Normal file
@ -0,0 +1,18 @@
|
||||
Public Class ClassUtils
|
||||
''' <summary>
|
||||
''' Generates a random short (8 characters) guid
|
||||
''' </summary>
|
||||
''' <returns>The generated guid as a String</returns>
|
||||
Public Shared Function ShortGUID() As String
|
||||
Return Guid.NewGuid().ToString().GetHashCode().ToString("x")
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' Converts a String value to the given Enum
|
||||
''' </summary>
|
||||
''' <typeparam name="T">The Enum Type</typeparam>
|
||||
''' <param name="value">The string value to convert</param>
|
||||
Public Shared Function ToEnum(Of T)(value As String) As T
|
||||
Return [Enum].Parse(GetType(T), value)
|
||||
End Function
|
||||
End Class
|
||||
@ -72,6 +72,7 @@
|
||||
<Reference Include="DevExpress.XtraGrid.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraLayout.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.XtraPrinting.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.XtraVerticalGrid.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="FirebirdSql.Data.FirebirdClient, Version=6.4.0.0, Culture=neutral, PublicKeyToken=3750abcc3150b00c, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\FirebirdSql.Data.FirebirdClient.6.4.0\lib\net452\FirebirdSql.Data.FirebirdClient.dll</HintPath>
|
||||
</Reference>
|
||||
@ -165,6 +166,7 @@
|
||||
<ItemGroup>
|
||||
<Compile Include="ClassInit.vb" />
|
||||
<Compile Include="ClassLayout.vb" />
|
||||
<Compile Include="ClassUtils.vb" />
|
||||
<Compile Include="Connected Services\NetworkService_DDEDM\Reference.vb">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
@ -176,6 +178,14 @@
|
||||
<Compile Include="DockManagerTest.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="EntityDesigner\ClassControlBuilder.vb" />
|
||||
<Compile Include="EntityDesigner\ClassControlUtils.vb" />
|
||||
<Compile Include="EntityDesigner\frmEntityDesigner.Designer.vb">
|
||||
<DependentUpon>frmEntityDesigner.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="EntityDesigner\frmEntityDesigner.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="frmDashboard.Designer.vb">
|
||||
<DependentUpon>frmDashboard.vb</DependentUpon>
|
||||
</Compile>
|
||||
@ -228,11 +238,17 @@
|
||||
<Compile Include="UserControls\ProcessManagerOverview.vb">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="UserControls\SnapPanel.vb">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="DockManagerTest.resx">
|
||||
<DependentUpon>DockManagerTest.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="EntityDesigner\frmEntityDesigner.resx">
|
||||
<DependentUpon>frmEntityDesigner.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="frmDashboard.resx">
|
||||
<DependentUpon>frmDashboard.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
||||
50
EDMI_ClientSuite/EntityDesigner/ClassControlBuilder.vb
Normal file
50
EDMI_ClientSuite/EntityDesigner/ClassControlBuilder.vb
Normal file
@ -0,0 +1,50 @@
|
||||
Public Class ClassControlBuilder
|
||||
#Region "State"
|
||||
Private _DesignMode As Boolean
|
||||
#End Region
|
||||
|
||||
#Region "Constants"
|
||||
Private DEFAULT_SIZE As Size = New Size(200, 27)
|
||||
|
||||
Private DEFAULT_TEXT As String = "Unnamed Control"
|
||||
#End Region
|
||||
|
||||
Public Sub New(DesignMode As Boolean)
|
||||
_DesignMode = DesignMode
|
||||
End Sub
|
||||
|
||||
Private Function GetRandomControlName(Name As String)
|
||||
Return $"{Name}-{ClassUtils.ShortGUID()}"
|
||||
End Function
|
||||
|
||||
Public Function CreateLabel() As Label
|
||||
Dim Metadata As New ClassControlUtils.ControlMetadata() With {
|
||||
.Id = 4711
|
||||
}
|
||||
|
||||
Dim oLabel As New Label() With {
|
||||
.Name = GetRandomControlName("Label"),
|
||||
.Text = DEFAULT_TEXT,
|
||||
.AutoSize = False,
|
||||
.Size = DEFAULT_SIZE,
|
||||
.Tag = Metadata
|
||||
}
|
||||
|
||||
Return oLabel
|
||||
End Function
|
||||
|
||||
Public Function CreateTextbox() As TextBox
|
||||
Dim Metadata As New ClassControlUtils.ControlMetadata() With {
|
||||
.Id = 4711
|
||||
}
|
||||
|
||||
Dim oTextbox As New TextBox() With {
|
||||
.Name = GetRandomControlName("Textbox"),
|
||||
.Size = DEFAULT_SIZE,
|
||||
.Tag = Metadata
|
||||
}
|
||||
|
||||
Return oTextbox
|
||||
End Function
|
||||
|
||||
End Class
|
||||
10
EDMI_ClientSuite/EntityDesigner/ClassControlUtils.vb
Normal file
10
EDMI_ClientSuite/EntityDesigner/ClassControlUtils.vb
Normal file
@ -0,0 +1,10 @@
|
||||
Public Class ClassControlUtils
|
||||
Public Enum ControlType
|
||||
Label = 0
|
||||
TextBox = 1
|
||||
End Enum
|
||||
|
||||
Public Class ControlMetadata
|
||||
Public Id As Integer
|
||||
End Class
|
||||
End Class
|
||||
146
EDMI_ClientSuite/EntityDesigner/frmEntityDesigner.Designer.vb
generated
Normal file
146
EDMI_ClientSuite/EntityDesigner/frmEntityDesigner.Designer.vb
generated
Normal file
@ -0,0 +1,146 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
|
||||
Partial Class frmEntityDesigner
|
||||
Inherits DevExpress.XtraEditors.XtraForm
|
||||
|
||||
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
|
||||
<System.Diagnostics.DebuggerNonUserCode()>
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Wird vom Windows Form-Designer benötigt.
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
|
||||
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
|
||||
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
|
||||
<System.Diagnostics.DebuggerStepThrough()>
|
||||
Private Sub InitializeComponent()
|
||||
Me.SplitContainerMain = New DevExpress.XtraEditors.SplitContainerControl()
|
||||
Me.PanelMain = New EDMI_ClientSuite.SnapPanel()
|
||||
Me.TabControlDetail = New DevExpress.XtraTab.XtraTabControl()
|
||||
Me.TabPageProperties = New DevExpress.XtraTab.XtraTabPage()
|
||||
Me.PropertyGridControl1 = New DevExpress.XtraVerticalGrid.PropertyGridControl()
|
||||
Me.TabPageControls = New DevExpress.XtraTab.XtraTabPage()
|
||||
Me.btnTextbox = New System.Windows.Forms.Button()
|
||||
Me.btnLabel = New System.Windows.Forms.Button()
|
||||
CType(Me.SplitContainerMain, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.SplitContainerMain.SuspendLayout()
|
||||
CType(Me.TabControlDetail, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.TabControlDetail.SuspendLayout()
|
||||
Me.TabPageProperties.SuspendLayout()
|
||||
CType(Me.PropertyGridControl1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.TabPageControls.SuspendLayout()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'SplitContainerMain
|
||||
'
|
||||
Me.SplitContainerMain.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.SplitContainerMain.Location = New System.Drawing.Point(0, 0)
|
||||
Me.SplitContainerMain.Name = "SplitContainerMain"
|
||||
Me.SplitContainerMain.Panel1.Controls.Add(Me.PanelMain)
|
||||
Me.SplitContainerMain.Panel1.Text = "Panel1"
|
||||
Me.SplitContainerMain.Panel2.Controls.Add(Me.TabControlDetail)
|
||||
Me.SplitContainerMain.Panel2.Text = "Panel2"
|
||||
Me.SplitContainerMain.Size = New System.Drawing.Size(800, 450)
|
||||
Me.SplitContainerMain.SplitterPosition = 583
|
||||
Me.SplitContainerMain.TabIndex = 0
|
||||
Me.SplitContainerMain.Text = "SplitContainerControl1"
|
||||
'
|
||||
'PanelMain
|
||||
'
|
||||
Me.PanelMain.AllowDrop = True
|
||||
Me.PanelMain.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.PanelMain.GridSize = 8
|
||||
Me.PanelMain.Location = New System.Drawing.Point(0, 0)
|
||||
Me.PanelMain.Name = "PanelMain"
|
||||
Me.PanelMain.ShowGrid = True
|
||||
Me.PanelMain.Size = New System.Drawing.Size(583, 450)
|
||||
Me.PanelMain.TabIndex = 0
|
||||
'
|
||||
'TabControlDetail
|
||||
'
|
||||
Me.TabControlDetail.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.TabControlDetail.Location = New System.Drawing.Point(0, 0)
|
||||
Me.TabControlDetail.Name = "TabControlDetail"
|
||||
Me.TabControlDetail.SelectedTabPage = Me.TabPageProperties
|
||||
Me.TabControlDetail.Size = New System.Drawing.Size(205, 450)
|
||||
Me.TabControlDetail.TabIndex = 1
|
||||
Me.TabControlDetail.TabPages.AddRange(New DevExpress.XtraTab.XtraTabPage() {Me.TabPageControls, Me.TabPageProperties})
|
||||
'
|
||||
'TabPageProperties
|
||||
'
|
||||
Me.TabPageProperties.Controls.Add(Me.PropertyGridControl1)
|
||||
Me.TabPageProperties.Name = "TabPageProperties"
|
||||
Me.TabPageProperties.Size = New System.Drawing.Size(203, 425)
|
||||
Me.TabPageProperties.Text = "Properties"
|
||||
'
|
||||
'PropertyGridControl1
|
||||
'
|
||||
Me.PropertyGridControl1.Cursor = System.Windows.Forms.Cursors.Hand
|
||||
Me.PropertyGridControl1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.PropertyGridControl1.Location = New System.Drawing.Point(0, 0)
|
||||
Me.PropertyGridControl1.Name = "PropertyGridControl1"
|
||||
Me.PropertyGridControl1.Size = New System.Drawing.Size(203, 425)
|
||||
Me.PropertyGridControl1.TabIndex = 0
|
||||
'
|
||||
'TabPageControls
|
||||
'
|
||||
Me.TabPageControls.Controls.Add(Me.btnTextbox)
|
||||
Me.TabPageControls.Controls.Add(Me.btnLabel)
|
||||
Me.TabPageControls.Name = "TabPageControls"
|
||||
Me.TabPageControls.Size = New System.Drawing.Size(262, 425)
|
||||
Me.TabPageControls.Text = "Controls"
|
||||
'
|
||||
'btnTextbox
|
||||
'
|
||||
Me.btnTextbox.Location = New System.Drawing.Point(15, 48)
|
||||
Me.btnTextbox.Name = "btnTextbox"
|
||||
Me.btnTextbox.Size = New System.Drawing.Size(122, 23)
|
||||
Me.btnTextbox.TabIndex = 1
|
||||
Me.btnTextbox.Text = "Textbox"
|
||||
Me.btnTextbox.UseVisualStyleBackColor = True
|
||||
'
|
||||
'btnLabel
|
||||
'
|
||||
Me.btnLabel.Location = New System.Drawing.Point(15, 19)
|
||||
Me.btnLabel.Name = "btnLabel"
|
||||
Me.btnLabel.Size = New System.Drawing.Size(122, 23)
|
||||
Me.btnLabel.TabIndex = 0
|
||||
Me.btnLabel.Text = "Label"
|
||||
Me.btnLabel.UseVisualStyleBackColor = True
|
||||
'
|
||||
'frmEntityDesigner
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(800, 450)
|
||||
Me.Controls.Add(Me.SplitContainerMain)
|
||||
Me.Name = "frmEntityDesigner"
|
||||
Me.Text = "Entitäten Designer"
|
||||
CType(Me.SplitContainerMain, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.SplitContainerMain.ResumeLayout(False)
|
||||
CType(Me.TabControlDetail, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.TabControlDetail.ResumeLayout(False)
|
||||
Me.TabPageProperties.ResumeLayout(False)
|
||||
CType(Me.PropertyGridControl1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.TabPageControls.ResumeLayout(False)
|
||||
Me.ResumeLayout(False)
|
||||
|
||||
End Sub
|
||||
|
||||
Friend WithEvents SplitContainerMain As DevExpress.XtraEditors.SplitContainerControl
|
||||
Friend WithEvents TabControlDetail As DevExpress.XtraTab.XtraTabControl
|
||||
Friend WithEvents TabPageProperties As DevExpress.XtraTab.XtraTabPage
|
||||
Friend WithEvents PropertyGridControl1 As DevExpress.XtraVerticalGrid.PropertyGridControl
|
||||
Friend WithEvents TabPageControls As DevExpress.XtraTab.XtraTabPage
|
||||
Friend WithEvents PanelMain As SnapPanel
|
||||
Friend WithEvents btnTextbox As Button
|
||||
Friend WithEvents btnLabel As Button
|
||||
End Class
|
||||
120
EDMI_ClientSuite/EntityDesigner/frmEntityDesigner.resx
Normal file
120
EDMI_ClientSuite/EntityDesigner/frmEntityDesigner.resx
Normal file
@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
128
EDMI_ClientSuite/EntityDesigner/frmEntityDesigner.vb
Normal file
128
EDMI_ClientSuite/EntityDesigner/frmEntityDesigner.vb
Normal file
@ -0,0 +1,128 @@
|
||||
|
||||
|
||||
Public Class frmEntityDesigner
|
||||
Private _IsMouseDown As Boolean = False
|
||||
Private _IsMouseMoving As Boolean = False
|
||||
|
||||
Private _BeginPosition As Point = Nothing
|
||||
Private _EndPosition As Point = Nothing
|
||||
Private _LastCursorPosition As Point = Nothing
|
||||
|
||||
Private _CurrentControl As Control = Nothing
|
||||
Private _ControlBuilder As ClassControlBuilder = Nothing
|
||||
|
||||
Private Sub frmEntityDesigner_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
' Assign Control Types to DragDrop Buttons
|
||||
btnLabel.Tag = ClassControlUtils.ControlType.Label
|
||||
btnTextbox.Tag = ClassControlUtils.ControlType.TextBox
|
||||
|
||||
|
||||
_ControlBuilder = New ClassControlBuilder(DesignMode:=True)
|
||||
End Sub
|
||||
|
||||
|
||||
#Region "Control Buttons Events"
|
||||
Private Sub btnControl_MouseDown(sender As Object, e As MouseEventArgs) Handles btnLabel.MouseDown, btnTextbox.MouseDown
|
||||
_IsMouseDown = True
|
||||
End Sub
|
||||
|
||||
Private Sub btnControl_MouseMove(sender As Button, e As MouseEventArgs) Handles btnLabel.MouseMove, btnTextbox.MouseMove
|
||||
If _IsMouseDown Then
|
||||
Dim oButton = sender
|
||||
Dim oType As ClassControlUtils.ControlType = oButton.Tag
|
||||
|
||||
oButton.DoDragDrop(oType.ToString, DragDropEffects.Copy)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub SnapPanelMain_DragEnter(sender As Object, e As DragEventArgs) Handles PanelMain.DragEnter
|
||||
If (e.Data.GetDataPresent(DataFormats.Text)) Then
|
||||
e.Effect = DragDropEffects.Copy
|
||||
Else
|
||||
e.Effect = DragDropEffects.None
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub SnapPanelMain_DragDrop(sender As Object, e As DragEventArgs) Handles PanelMain.DragDrop
|
||||
Dim data As String = e.Data.GetData(DataFormats.Text)
|
||||
Dim type = ClassUtils.ToEnum(Of ClassControlUtils.ControlType)(data)
|
||||
|
||||
HandleDragDrop(type)
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
#Region "Control Events"
|
||||
Private Sub Control_MouseDown(sender As Control, e As MouseEventArgs)
|
||||
If e.Button = MouseButtons.Left Then
|
||||
_CurrentControl = sender
|
||||
_BeginPosition = e.Location
|
||||
|
||||
' Set the mode flag to signal the MouseMove event handler that it
|
||||
' needs to now calculate new positions for our control
|
||||
_IsMouseMoving = True
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub Control_MouseMove(sender As Control, e As MouseEventArgs)
|
||||
If _CurrentControl Is Nothing Or Not _IsMouseMoving Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
Cursor = Cursors.Hand
|
||||
|
||||
Dim oControl = sender
|
||||
Dim oCursorPosition As Point = PanelMain.PointToClient(Cursor.Position)
|
||||
Dim oNewPosition As New Point(oCursorPosition.X - _BeginPosition.X, oCursorPosition.Y - _BeginPosition.Y)
|
||||
|
||||
' If control will be moved out the of bounds of the panel at TOP/LEFT side, exit.
|
||||
If oNewPosition.X < 0 Or oNewPosition.Y < 0 Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
oControl.Location = oNewPosition
|
||||
End Sub
|
||||
|
||||
Private Sub Control_MouseUp(sender As Object, e As MouseEventArgs)
|
||||
If Not _IsMouseMoving Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
_IsMouseMoving = False
|
||||
_EndPosition = e.Location
|
||||
|
||||
Cursor = Cursors.Default
|
||||
End Sub
|
||||
|
||||
Private Sub SetEventHandlers(Control As Control)
|
||||
AddHandler Control.MouseDown, AddressOf Control_MouseDown
|
||||
AddHandler Control.MouseMove, AddressOf Control_MouseMove
|
||||
AddHandler Control.MouseUp, AddressOf Control_MouseUp
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
Private Sub HandleDragDrop(type As ClassControlUtils.ControlType)
|
||||
Dim oCursorPosition As Point = PanelMain.PointToClient(Cursor.Position)
|
||||
Dim oControl As Control = Nothing
|
||||
|
||||
Select Case type
|
||||
Case ClassControlUtils.ControlType.Label
|
||||
oControl = _ControlBuilder.CreateLabel()
|
||||
Case ClassControlUtils.ControlType.TextBox
|
||||
oControl = _ControlBuilder.CreateTextbox()
|
||||
Case Else
|
||||
MsgBox($"Unknown Control Type {type.ToString}")
|
||||
Exit Sub
|
||||
End Select
|
||||
|
||||
' Set Location to current cursor position
|
||||
oControl.Location = oCursorPosition
|
||||
|
||||
' Attach Eventhandlers
|
||||
SetEventHandlers(oControl)
|
||||
|
||||
' Add the control to the panel
|
||||
PanelMain.Controls.Add(oControl)
|
||||
End Sub
|
||||
|
||||
|
||||
End Class
|
||||
@ -1,5 +1,6 @@
|
||||
DevExpress.XtraBars.Docking2010.DocumentManager, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
DevExpress.XtraTabbedMdi.XtraTabbedMdiManager, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
DevExpress.XtraBars.Docking.DockManager, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
DevExpress.XtraTabbedMdi.XtraTabbedMdiManager, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
DevExpress.XtraBars.Docking2010.DocumentManager, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
DevExpress.XtraVerticalGrid.PropertyGridControl, DevExpress.XtraVerticalGrid.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
|
||||
56
EDMI_ClientSuite/UserControls/SnapPanel.vb
Normal file
56
EDMI_ClientSuite/UserControls/SnapPanel.vb
Normal file
@ -0,0 +1,56 @@
|
||||
Public Class SnapPanel
|
||||
Inherits Panel
|
||||
|
||||
Private _ShowGrid As Boolean = True
|
||||
Private _GridSize As Integer = 16
|
||||
|
||||
Private Property AutoScaleMode As AutoScaleMode
|
||||
|
||||
Public Property GridSize As Integer
|
||||
Get
|
||||
Return _GridSize
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
_GridSize = value
|
||||
Refresh()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property ShowGrid As Boolean
|
||||
Get
|
||||
Return _ShowGrid
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
_ShowGrid = value
|
||||
Refresh()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Protected Overrides Sub OnControlAdded(e As System.Windows.Forms.ControlEventArgs)
|
||||
AddHandler e.Control.LocationChanged, AddressOf AlignToGrid
|
||||
AddHandler e.Control.DragDrop, AddressOf AlignToGrid
|
||||
MyBase.OnControlAdded(e)
|
||||
End Sub
|
||||
|
||||
Protected Overrides Sub OnControlRemoved(e As System.Windows.Forms.ControlEventArgs)
|
||||
RemoveHandler e.Control.LocationChanged, AddressOf AlignToGrid
|
||||
RemoveHandler e.Control.DragDrop, AddressOf AlignToGrid
|
||||
MyBase.OnControlRemoved(e)
|
||||
End Sub
|
||||
|
||||
Protected Overrides Sub OnPaint(e As System.Windows.Forms.PaintEventArgs)
|
||||
If _ShowGrid Then
|
||||
ControlPaint.DrawGrid(e.Graphics, ClientRectangle, New Size(_GridSize, _GridSize), BackColor)
|
||||
End If
|
||||
MyBase.OnPaint(e)
|
||||
End Sub
|
||||
|
||||
Private Sub AlignToGrid(sender As Object, e As EventArgs)
|
||||
If _ShowGrid Then
|
||||
Dim item As Control = CType(sender, Control)
|
||||
Dim x As Integer = Math.Round(item.Left / _GridSize) * _GridSize
|
||||
Dim y As Integer = Math.Round(item.Top / _GridSize) * _GridSize
|
||||
item.Location = New Point(x, y)
|
||||
End If
|
||||
End Sub
|
||||
End Class
|
||||
88
EDMI_ClientSuite/frmMain.Designer.vb
generated
88
EDMI_ClientSuite/frmMain.Designer.vb
generated
@ -32,11 +32,18 @@ Partial Class frmMain
|
||||
Me.BarButtonDock1 = New DevExpress.XtraBars.BarButtonItem()
|
||||
Me.SkinDropDownButtonItem1 = New DevExpress.XtraBars.SkinDropDownButtonItem()
|
||||
Me.BarButtonDashboard = New DevExpress.XtraBars.BarButtonItem()
|
||||
Me.BarButtonEntityDesigner = New DevExpress.XtraBars.BarButtonItem()
|
||||
Me.BarButtonDeleteControl = New DevExpress.XtraBars.BarButtonItem()
|
||||
Me.RibbonPageCategoryEntityDesigner = New DevExpress.XtraBars.Ribbon.RibbonPageCategory()
|
||||
Me.RibbonPageControlActions = New DevExpress.XtraBars.Ribbon.RibbonPage()
|
||||
Me.RibbonPageGroup5 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
|
||||
Me.RibbonPageStart = New DevExpress.XtraBars.Ribbon.RibbonPage()
|
||||
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
|
||||
Me.RibbonPageGroup3 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
|
||||
Me.RibbonPageView = New DevExpress.XtraBars.Ribbon.RibbonPage()
|
||||
Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
|
||||
Me.RibbonPageWorkflow = New DevExpress.XtraBars.Ribbon.RibbonPage()
|
||||
Me.RibbonPageGroup4 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
|
||||
Me.RibbonStatusBar = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
|
||||
Me.DocumentManager = New DevExpress.XtraBars.Docking2010.DocumentManager(Me.components)
|
||||
Me.TabbedView1 = New DevExpress.XtraBars.Docking2010.Views.Tabbed.TabbedView(Me.components)
|
||||
@ -48,9 +55,6 @@ Partial Class frmMain
|
||||
Me.DockPanelProcessManager = New DevExpress.XtraBars.Docking.DockPanel()
|
||||
Me.DockPanel2_Container = New DevExpress.XtraBars.Docking.ControlContainer()
|
||||
Me.ProcessManagerOverview = New EDMI_ClientSuite.ProcessManagerOverview()
|
||||
Me.RibbonPageWorkflow = New DevExpress.XtraBars.Ribbon.RibbonPage()
|
||||
Me.RibbonPageGroup4 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
|
||||
Me.BarButtonItem2 = New DevExpress.XtraBars.BarButtonItem()
|
||||
CType(Me.RibbonControl, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.MainMenu, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.DocumentManager, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
@ -67,10 +71,11 @@ Partial Class frmMain
|
||||
'
|
||||
Me.RibbonControl.ApplicationButtonDropDownControl = Me.MainMenu
|
||||
Me.RibbonControl.ExpandCollapseItem.Id = 0
|
||||
Me.RibbonControl.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl.ExpandCollapseItem, Me.BarButtonExit, Me.BarButtonUserSettings, Me.LabelCurrentUser, Me.LabelCurrentMachine, Me.LabelCurrentVersion, Me.BarButtonItem1, Me.BarButtonDock1, Me.SkinDropDownButtonItem1, Me.BarButtonDashboard, Me.BarButtonItem2})
|
||||
Me.RibbonControl.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl.ExpandCollapseItem, Me.BarButtonExit, Me.BarButtonUserSettings, Me.LabelCurrentUser, Me.LabelCurrentMachine, Me.LabelCurrentVersion, Me.BarButtonItem1, Me.BarButtonDock1, Me.SkinDropDownButtonItem1, Me.BarButtonDashboard, Me.BarButtonEntityDesigner, Me.BarButtonDeleteControl})
|
||||
Me.RibbonControl.Location = New System.Drawing.Point(0, 0)
|
||||
Me.RibbonControl.MaxItemId = 13
|
||||
Me.RibbonControl.MaxItemId = 14
|
||||
Me.RibbonControl.Name = "RibbonControl"
|
||||
Me.RibbonControl.PageCategories.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageCategory() {Me.RibbonPageCategoryEntityDesigner})
|
||||
Me.RibbonControl.PageHeaderItemLinks.Add(Me.SkinDropDownButtonItem1)
|
||||
Me.RibbonControl.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPageStart, Me.RibbonPageView, Me.RibbonPageWorkflow})
|
||||
Me.RibbonControl.Size = New System.Drawing.Size(1139, 146)
|
||||
@ -144,6 +149,43 @@ Partial Class frmMain
|
||||
Me.BarButtonDashboard.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonDashboard.ImageOptions.LargeImage"), System.Drawing.Image)
|
||||
Me.BarButtonDashboard.Name = "BarButtonDashboard"
|
||||
'
|
||||
'BarButtonEntityDesigner
|
||||
'
|
||||
Me.BarButtonEntityDesigner.Caption = "Entitäten Designer"
|
||||
Me.BarButtonEntityDesigner.Id = 12
|
||||
Me.BarButtonEntityDesigner.ImageOptions.Image = CType(resources.GetObject("BarButtonItem2.ImageOptions.Image"), System.Drawing.Image)
|
||||
Me.BarButtonEntityDesigner.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItem2.ImageOptions.LargeImage"), System.Drawing.Image)
|
||||
Me.BarButtonEntityDesigner.Name = "BarButtonEntityDesigner"
|
||||
'
|
||||
'BarButtonDeleteControl
|
||||
'
|
||||
Me.BarButtonDeleteControl.Caption = "Delete Control"
|
||||
Me.BarButtonDeleteControl.Id = 13
|
||||
Me.BarButtonDeleteControl.ImageOptions.Image = CType(resources.GetObject("BarButtonDeleteControl.ImageOptions.Image"), System.Drawing.Image)
|
||||
Me.BarButtonDeleteControl.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonDeleteControl.ImageOptions.LargeImage"), System.Drawing.Image)
|
||||
Me.BarButtonDeleteControl.Name = "BarButtonDeleteControl"
|
||||
'
|
||||
'RibbonPageCategoryEntityDesigner
|
||||
'
|
||||
Me.RibbonPageCategoryEntityDesigner.AutoStretchPageHeaders = True
|
||||
Me.RibbonPageCategoryEntityDesigner.Name = "RibbonPageCategoryEntityDesigner"
|
||||
Me.RibbonPageCategoryEntityDesigner.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPageControlActions})
|
||||
Me.RibbonPageCategoryEntityDesigner.Text = "Entitäten Designer"
|
||||
Me.RibbonPageCategoryEntityDesigner.Visible = False
|
||||
'
|
||||
'RibbonPageControlActions
|
||||
'
|
||||
Me.RibbonPageControlActions.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup5})
|
||||
Me.RibbonPageControlActions.Name = "RibbonPageControlActions"
|
||||
Me.RibbonPageControlActions.Text = "Control Actions"
|
||||
Me.RibbonPageControlActions.Visible = False
|
||||
'
|
||||
'RibbonPageGroup5
|
||||
'
|
||||
Me.RibbonPageGroup5.ItemLinks.Add(Me.BarButtonDeleteControl)
|
||||
Me.RibbonPageGroup5.Name = "RibbonPageGroup5"
|
||||
Me.RibbonPageGroup5.Text = "RibbonPageGroup5"
|
||||
'
|
||||
'RibbonPageStart
|
||||
'
|
||||
Me.RibbonPageStart.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup3})
|
||||
@ -174,6 +216,18 @@ Partial Class frmMain
|
||||
Me.RibbonPageGroup2.Name = "RibbonPageGroup2"
|
||||
Me.RibbonPageGroup2.Text = "RibbonPageGroup2"
|
||||
'
|
||||
'RibbonPageWorkflow
|
||||
'
|
||||
Me.RibbonPageWorkflow.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup4})
|
||||
Me.RibbonPageWorkflow.Name = "RibbonPageWorkflow"
|
||||
Me.RibbonPageWorkflow.Text = "Workflow"
|
||||
'
|
||||
'RibbonPageGroup4
|
||||
'
|
||||
Me.RibbonPageGroup4.ItemLinks.Add(Me.BarButtonEntityDesigner)
|
||||
Me.RibbonPageGroup4.Name = "RibbonPageGroup4"
|
||||
Me.RibbonPageGroup4.Text = "RibbonPageGroup4"
|
||||
'
|
||||
'RibbonStatusBar
|
||||
'
|
||||
Me.RibbonStatusBar.ItemLinks.Add(Me.LabelCurrentUser)
|
||||
@ -276,24 +330,6 @@ Partial Class frmMain
|
||||
Me.ProcessManagerOverview.Size = New System.Drawing.Size(337, 163)
|
||||
Me.ProcessManagerOverview.TabIndex = 0
|
||||
'
|
||||
'RibbonPageWorkflow
|
||||
'
|
||||
Me.RibbonPageWorkflow.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup4})
|
||||
Me.RibbonPageWorkflow.Name = "RibbonPageWorkflow"
|
||||
Me.RibbonPageWorkflow.Text = "Workflow"
|
||||
'
|
||||
'RibbonPageGroup4
|
||||
'
|
||||
Me.RibbonPageGroup4.ItemLinks.Add(Me.BarButtonItem2)
|
||||
Me.RibbonPageGroup4.Name = "RibbonPageGroup4"
|
||||
Me.RibbonPageGroup4.Text = "RibbonPageGroup4"
|
||||
'
|
||||
'BarButtonItem2
|
||||
'
|
||||
Me.BarButtonItem2.Caption = "Entitäten Designer"
|
||||
Me.BarButtonItem2.Id = 12
|
||||
Me.BarButtonItem2.Name = "BarButtonItem2"
|
||||
'
|
||||
'frmMain
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
@ -352,5 +388,9 @@ Partial Class frmMain
|
||||
Friend WithEvents ProcessManagerOverview As ProcessManagerOverview
|
||||
Friend WithEvents RibbonPageWorkflow As DevExpress.XtraBars.Ribbon.RibbonPage
|
||||
Friend WithEvents RibbonPageGroup4 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
|
||||
Friend WithEvents BarButtonItem2 As DevExpress.XtraBars.BarButtonItem
|
||||
Friend WithEvents BarButtonEntityDesigner As DevExpress.XtraBars.BarButtonItem
|
||||
Friend WithEvents RibbonPageCategoryEntityDesigner As DevExpress.XtraBars.Ribbon.RibbonPageCategory
|
||||
Friend WithEvents RibbonPageControlActions As DevExpress.XtraBars.Ribbon.RibbonPage
|
||||
Friend WithEvents RibbonPageGroup5 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
|
||||
Friend WithEvents BarButtonDeleteControl As DevExpress.XtraBars.BarButtonItem
|
||||
End Class
|
||||
|
||||
@ -340,72 +340,75 @@
|
||||
</data>
|
||||
<data name="BarButtonDashboard.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAt0RVh0VGl0
|
||||
bGUASG9tZTsedGQ4AAADTElEQVQ4T22Tf0zMYRzHH2U2y6/Mj0jJUFMMU+bXJvNPE5IsM2pS8qPzI45K
|
||||
SUsqtX5wqlFZQpcpXel0aqHGHw0TM9EVd3Xuru5Xdd/73g/l7fl++SPju72+n2ff53m/nuezZ19yrWUL
|
||||
KWwO/M3TQFIgCyT0mXD5wUb/gqZA5FOiC+cF0G/OFKc/TDhe7k7iytwJGXDUE61dQjS2OqK21tI54pRY
|
||||
7r+2pDUESstddJmvIqV6JdJvlr3Nu/0GOaWvkS569ZxbFyOaT4jKKiZK6z2iZCv58Kkbq9cWSIMgNxfj
|
||||
cK4/oq4uR4f+PIQVvpC2ScAwLM5nPwNdOzEyZx4hPUwJ6WaKuLBzTJbfuqyaLXhvysT2s54orryDtOvp
|
||||
CDrthmeaKAhKvNHQWofT6U85waS9l90IeWfK4MP7kpduuHh/Azp057BT6Imy6vvoVQzgc68at6ruYVv8
|
||||
XNQrghFdsAjRF0ScwGVXMhVw4Z0nvDYJS9fghfYwdiV4oqLmAVQaI0Ysdgwzdnzt0+NWtRjBZ+aiSr4e
|
||||
EdkeCNjjupVmJ5Kg2AWbBKIVeNIfhtCkBbgreYh+tQlDjAMm8w8YKYZhKlHqUSquppLZKP/si/A0NwTs
|
||||
nrGZRGZ6QVDsg4grCyFrk0KpHoJhyAH98G90lAGTHRqDDXKFEY+aJQhP8cTBXA/sueDBtUImU+YIUutg
|
||||
YVlojXYacOBRmPtfqHQ2KAes0BnNOCQUc0F6BcSFlHUt4yQuqYUvMTb2E9/1dqj0NtTt9QDTWQTmnYgf
|
||||
qw20DY2VtuRAfEYLJ5gG0FLycSEnmJKc18YLuF2+aa1oOLAYIx3ZMDTGoGH/Yl7wpZ/FIG3vZBp/jdN5
|
||||
Af+itoSc53CM/kSPmoX8OwtplA+G2pKhq4+kY2/0DdrwUWHhRXGpTVzIdbxgujCzFVb7GLr6LPiktEAW
|
||||
6wejTIDBmnDIjvrxp+r8ykBB67GUJ1xo5njBjPiMZoywo/hAd3n/jUFL3EroJZHQikPoeBV66cneyM3o
|
||||
VrGITZL+I3A5klD78kSaDIJLMsRdbML1MB8UhnojP8QbuTuW4EhSI2ITHyMmsRERp6pe0czU8QLuV53S
|
||||
3t6+mdZZf5j9H+ZQuLlpFGcA5Bf/aUmHDJTX8gAAAABJRU5ErkJggg==
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAC3RFWHRUaXRsZQBIb21lOx50
|
||||
ZDgAAADUSURBVDhPnZE9DoJAEIWxtfFkJl7AOwCNHQlmW6O30cTCRlAvY/zDdpw3YcgusLCx+GB4O+9L
|
||||
yEbGGB8TZsPkms3XBwL6DZqhBcpbBstAJKECu3xkynrOuZyNCdrlKTNjHAm/m85YWc8gKVZmJxIrbwRD
|
||||
ZUUkjCPBI6SsdCQIcVUIwFBZgUT3MwRLZl8HuqQLbezzE7PQAL/hLFTXhB5FKnwuSZ8AHecWnIU3l+7n
|
||||
VHiVvQKZIyIS7BDz9xbTs0yF6hp3BNrzCjwEC8bwCoLpCP6Doh9wyB/S6rhfgQAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="BarButtonDashboard.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
rkJggg==
|
||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAC3RFWHRUaXRsZQBIb21lOx50
|
||||
ZDgAAAE6SURBVFhH7ZLNDcIwDEZBzMUIcO8CDMAIVSfgR+KEhIAZYADm4cIVEeyqrpzETts0lEsPT22+
|
||||
2vkeEhNjzF+pX4qiiGFaIX0LkkJgBpyBA9BZoq8All8BU9FZoo+AWy5KLPK74VBOxApo5UQt8QsBqXwH
|
||||
nJyslIDSV0oBrRx/LX7zJJb5bc4lILPu7CIQKuczQQk48ztbC0jlW0D6xwcl4N2abyPQpZxQJeBpzTYJ
|
||||
xJQTogRg7YYE+pQTjRKaQIpyIighCaQsJ1QJSeDChpC+5YQksZcEVsCHDaUoJ1CC7n0DmSSAoMQGwEF+
|
||||
AUGXNKHtHoEMz5oAH3azMn8+1kFwxtmpd/nZE+DQsJRLpRyccfcQLfcCZBQYBUICbXD3EC33AqS6SPwW
|
||||
yygQI5ActwfxgqERwyERw+Ewky+3HJlMr7zcTAAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="BarButtonItem2.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAADXRFWHRUaXRsZQBXaXphcmQ7
|
||||
ySU3BgAAATVJREFUOE+lk81Kw0AURoOv1Bdw5c6HKCiIPwh9ABcSxIUE1KUrdyriSsuAgmIUBBHcuBJ3
|
||||
Ndg0VNuFiE3m897pJM4k0yB44Esmyb1nZkLiAfhXioHv+6iJ1OeG2cyxBAVS6sEv/DwIgpeyxOscNKco
|
||||
MzJLuQ6jQYT4YkONTfQE32WJOpDgMTpZRhLu4vVoHnTNxRYsMENYgp1YLKF3voJ+2ELnsAmZjbjIiUsQ
|
||||
xGIR/ZuWytvpgtpG9jXkwgqWgJqnKWlyuVoIeDXR8RyS621ayfjdmJQFm5R2V6ypmbttWsndHkT4gOdo
|
||||
wIUVKlsYR6J3taVe4tntExdgdl04JU4B30w/P/B+v6+auJlxSSYKFPojqpPUCwxySZ5c8mcBM0lCVAWu
|
||||
MGWJxhaYoSJXGhQWGD8TvB9sYiYvp9hqZQAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="BarButtonItem2.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAADXRFWHRUaXRsZQBXaXphcmQ7
|
||||
ySU3BgAAAjpJREFUWEfFlE1LW0EUht2U4i/oX3DXhav+BaH/wE0Fq6G1opsq3Uk2IsFNt6HgqoVSWzV+
|
||||
YKuiblqE2m0lFqlNriYmCCaSmOT4niQj9+N478w13r7wMHdOZuY8XCa3i4j+K2IxSsRilIjFKBGLing8
|
||||
Tob8BX2A93qQeohFBTZh0A+vTyQSV8lksg9T91mOuUIsKsIIpNNpUSIyAY4kcWeBSu53++n22Ne7JbQE
|
||||
jt8/6wePbDVqVMtU3Juj4w8DPPWNXYDTlqiyhK7ACqiBDRArH32n7JdxOknFCHMs8Y9bgKMk8JvnYjKO
|
||||
CZpMcLPct1dkLQ1TdmGI8ngu7I5rC/iQwRJHP8YxQZMnmU+DzYZudAT8whKIox/jmKDJA3BZ2BnzCPAb
|
||||
Kf54R416DUvNoyswaC0Oe5orWCK3MU31ygWWmyVQAM17QCm/OSo2Z/Jbo3SyHCMrNUG1izy26cdXAI0f
|
||||
gv3T1ReUWx+5uXiK07WXxHfDSk3S+a+PVC38wTazBAk8BjMgCebBNmgoAf4GVM4OsZTo6dRqczSN1h2w
|
||||
A4G3Fv8lv+KNbM+i1MpB5rwpwaNJwgh0W8tvKPv5OV3+++loGkbCWICpFo9w81/je1zHtPX6w0qEEgBU
|
||||
K53x0Iy7qYlEKIH2JkfCSnRMgGNvyqPCT6KjAhx38yCJjgtwTCTuRYCjKxFaIAhOkIRtraeHp3AbODCI
|
||||
XiCJ9ErnKcSiBA7SQZRwn2VHLErgIF3cEpG+AYWS4FE8rwV1XQOqvYU8ut/neQAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="BarButtonDeleteControl.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
|
||||
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAApdEVYdFRpdGxlAFJlbW92ZTtEZWxldGU7QmFycztS
|
||||
aWJib247U3RhbmRhcmQ7Y1ZIMAAAAMJJREFUOE+Nk0sKAjEQRHM4YVZ6CS8gfhBGHK/pSRRXbRWkJOlO
|
||||
q4sHSf0YBlLMrNy3qzWYef4HZC/s8KzyCxi4+rAHmVvNsrOhcKqCSEfgqSz2Ms7OCCPQfPlIvQ2kIzgP
|
||||
y+QzUIN+ZAFpmXQDBAE/0tKVSXcRCI5GQpkEgSDsP5sso2wQEByVRRjpLgj48gGEH9t2vpYbLx35WRbQ
|
||||
hiM0+DBaI5QFPD8yU5zAowppWSCjkSeYJHJk58MZyPIBTmZW3tJAnMwmSptiAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="BarButtonDeleteControl.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
|
||||
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAApdEVYdFRpdGxlAFJlbW92ZTtEZWxldGU7QmFycztS
|
||||
aWJib247U3RhbmRhcmQ7Y1ZIMAAAAW5JREFUWEfFlk1KBDEUhGfmAg56JTcuHEGP4FFFFMVZz1Vcxaom
|
||||
D57pek1ehLj4FilSP9Dd0LtSyr8ixZlIcSZSvDzf/okm6+DPLVKsQVfgBdzVczcu5x68gqPP90gRBpZ/
|
||||
gAK+QWpEzWA5vcz4BHLESsDFA+BqGo3sCF9uMHPf9v06GLj4BNqA3hGqnOcH1bUSCC6Tx2psg7ZGpMqJ
|
||||
FGEwMiPS5USKMHl6RgyVEynC2LI1YricSBFmRTRiuJxIEQERaoQnVU6kiJAtohFLOZCZEVJkyAbqmduA
|
||||
5cVUmRFSZEhAVG4sI1RmhBQRoojedqV1j5AiAnrL+czDT1Rlt0gR5t5yuzM8QoowZsqNoRFShIlE5Sfg
|
||||
iz3pEVKEYaTcSI1YCbi4B2/V6AN6yg014h10/5Bcg69qzJZbhh9xBjdtD1kJBJcJR3B1qpy4HI5ghiwn
|
||||
UrQgwP9Df+6iycr/ls9EijOR4kykOBMpzqPsfgDZ5w1jF/MagwAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="DocumentManager.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
|
||||
@ -88,7 +88,10 @@ Public Class frmMain
|
||||
frm.Show()
|
||||
End Sub
|
||||
|
||||
Private Sub BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem2.ItemClick
|
||||
|
||||
Private Sub BarButtonEntityDesigner_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonEntityDesigner.ItemClick
|
||||
Dim frm As New frmEntityDesigner()
|
||||
frm.MdiParent = DocumentManager.MdiParent
|
||||
frm.Show()
|
||||
RibbonPageCategoryEntityDesigner.Visible = True
|
||||
End Sub
|
||||
End Class
|
||||
Loading…
x
Reference in New Issue
Block a user