From e09b2610645cda92937bdee2838ae2fe790c936b Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Wed, 18 Nov 2020 16:26:34 +0100 Subject: [PATCH] ZooFlow: Replace old winforms treeview with Devexpress TreeList --- .../frmAdministrationZooFlow.Designer.vb | 103 +++++++++++------- GUIs.ZooFlow/frmAdministrationZooFlow.resx | 16 ++- GUIs.ZooFlow/frmAdministrationZooFlow.vb | 30 ++--- 3 files changed, 94 insertions(+), 55 deletions(-) diff --git a/GUIs.ZooFlow/frmAdministrationZooFlow.Designer.vb b/GUIs.ZooFlow/frmAdministrationZooFlow.Designer.vb index bf8b4e4b..d1ee4b1f 100644 --- a/GUIs.ZooFlow/frmAdministrationZooFlow.Designer.vb +++ b/GUIs.ZooFlow/frmAdministrationZooFlow.Designer.vb @@ -1,9 +1,9 @@ - _ + Partial Class frmAdministrationZooFlow Inherits DevExpress.XtraBars.Ribbon.RibbonForm 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. - _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) Try If disposing AndAlso components IsNot Nothing Then @@ -20,13 +20,9 @@ Partial Class frmAdministrationZooFlow '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. - _ + Private Sub InitializeComponent() Me.components = New System.ComponentModel.Container() - Dim TreeNode1 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Business Entities") - Dim TreeNode2 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Attributes") - Dim TreeNode3 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("IDB", New System.Windows.Forms.TreeNode() {TreeNode1, TreeNode2}) - Dim TreeNode4 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Knoten2") Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmAdministrationZooFlow)) Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl() Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage() @@ -34,14 +30,20 @@ Partial Class frmAdministrationZooFlow Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar() Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage() - Me.TreeViewMain = New System.Windows.Forms.TreeView() Me.ImageList1 = New System.Windows.Forms.ImageList(Me.components) Me.XtraTabControl1 = New DevExpress.XtraTab.XtraTabControl() Me.XtraTabPage1 = New DevExpress.XtraTab.XtraTabPage() Me.XtraTabPage2 = New DevExpress.XtraTab.XtraTabPage() + Me.TreeList1 = New DevExpress.XtraTreeList.TreeList() + Me.TreeListColumn1 = New DevExpress.XtraTreeList.Columns.TreeListColumn() + Me.SvgImageCollection1 = New DevExpress.Utils.SvgImageCollection(Me.components) + Me.DpiAwareImageCollection1 = New DevExpress.Utils.DPIAwareImageCollection(Me.components) CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.XtraTabControl1, System.ComponentModel.ISupportInitialize).BeginInit() Me.XtraTabControl1.SuspendLayout() + CType(Me.TreeList1, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.SvgImageCollection1, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.DpiAwareImageCollection1, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' 'RibbonControl1 @@ -83,31 +85,6 @@ Partial Class frmAdministrationZooFlow Me.RibbonPage2.Name = "RibbonPage2" Me.RibbonPage2.Text = "RibbonPage2" ' - 'TreeViewMain - ' - Me.TreeViewMain.Dock = System.Windows.Forms.DockStyle.Left - Me.TreeViewMain.ImageIndex = 0 - Me.TreeViewMain.ImageList = Me.ImageList1 - Me.TreeViewMain.Location = New System.Drawing.Point(0, 159) - Me.TreeViewMain.Name = "TreeViewMain" - TreeNode1.ImageKey = "Building_16xMD.png" - TreeNode1.Name = "Knoten1" - TreeNode1.SelectedImageIndex = 1 - TreeNode1.Text = "Business Entities" - TreeNode2.ImageKey = "Hammer_Builder_16xLG.png" - TreeNode2.Name = "Knoten3" - TreeNode2.SelectedImageIndex = 2 - TreeNode2.Text = "Attributes" - TreeNode3.ImageIndex = 0 - TreeNode3.Name = "Knoten0" - TreeNode3.Text = "IDB" - TreeNode4.Name = "Knoten2" - TreeNode4.Text = "Knoten2" - Me.TreeViewMain.Nodes.AddRange(New System.Windows.Forms.TreeNode() {TreeNode3, TreeNode4}) - Me.TreeViewMain.SelectedImageIndex = 0 - Me.TreeViewMain.Size = New System.Drawing.Size(153, 269) - Me.TreeViewMain.TabIndex = 2 - ' 'ImageList1 ' Me.ImageList1.ImageStream = CType(resources.GetObject("ImageList1.ImageStream"), System.Windows.Forms.ImageListStreamer) @@ -119,32 +96,74 @@ Partial Class frmAdministrationZooFlow 'XtraTabControl1 ' Me.XtraTabControl1.Dock = System.Windows.Forms.DockStyle.Fill - Me.XtraTabControl1.Location = New System.Drawing.Point(153, 159) + Me.XtraTabControl1.Location = New System.Drawing.Point(175, 159) Me.XtraTabControl1.Name = "XtraTabControl1" Me.XtraTabControl1.SelectedTabPage = Me.XtraTabPage1 - Me.XtraTabControl1.Size = New System.Drawing.Size(647, 269) + Me.XtraTabControl1.Size = New System.Drawing.Size(625, 269) Me.XtraTabControl1.TabIndex = 5 Me.XtraTabControl1.TabPages.AddRange(New DevExpress.XtraTab.XtraTabPage() {Me.XtraTabPage1, Me.XtraTabPage2}) ' 'XtraTabPage1 ' Me.XtraTabPage1.Name = "XtraTabPage1" - Me.XtraTabPage1.Size = New System.Drawing.Size(645, 246) + Me.XtraTabPage1.Size = New System.Drawing.Size(623, 246) Me.XtraTabPage1.Text = "Business Entities" ' 'XtraTabPage2 ' Me.XtraTabPage2.Name = "XtraTabPage2" - Me.XtraTabPage2.Size = New System.Drawing.Size(645, 246) + Me.XtraTabPage2.Size = New System.Drawing.Size(333, 144) Me.XtraTabPage2.Text = "XtraTabPage2" ' + 'TreeList1 + ' + Me.TreeList1.Columns.AddRange(New DevExpress.XtraTreeList.Columns.TreeListColumn() {Me.TreeListColumn1}) + Me.TreeList1.Dock = System.Windows.Forms.DockStyle.Left + Me.TreeList1.Location = New System.Drawing.Point(0, 159) + Me.TreeList1.MenuManager = Me.RibbonControl1 + Me.TreeList1.Name = "TreeList1" + Me.TreeList1.BeginUnboundLoad() + Me.TreeList1.AppendNode(New Object() {"IDB"}, -1) + Me.TreeList1.AppendNode(New Object() {"Attributes"}, 0, 2, 2, -1, "IDB_ATTRIBUTES") + Me.TreeList1.AppendNode(New Object() {"Business Entities"}, 0, 1, 1, -1, "IDB_ENTITIES") + Me.TreeList1.AppendNode(New Object() {"Globix"}, -1) + Me.TreeList1.AppendNode(New Object() {"Clipboard Watcher"}, -1) + Me.TreeList1.EndUnboundLoad() + Me.TreeList1.OptionsBehavior.Editable = False + Me.TreeList1.OptionsBehavior.ReadOnly = True + Me.TreeList1.OptionsView.ShowColumns = False + Me.TreeList1.OptionsView.ShowHorzLines = False + Me.TreeList1.OptionsView.ShowIndicator = False + Me.TreeList1.OptionsView.ShowVertLines = False + Me.TreeList1.SelectImageList = Me.SvgImageCollection1 + Me.TreeList1.Size = New System.Drawing.Size(175, 269) + Me.TreeList1.TabIndex = 8 + ' + 'TreeListColumn1 + ' + Me.TreeListColumn1.Caption = "TreeListColumn1" + Me.TreeListColumn1.FieldName = "TreeListColumn1" + Me.TreeListColumn1.Name = "TreeListColumn1" + Me.TreeListColumn1.Visible = True + Me.TreeListColumn1.VisibleIndex = 0 + ' + 'SvgImageCollection1 + ' + Me.SvgImageCollection1.Add("shopping_box", "image://svgimages/icon builder/shopping_box.svg") + Me.SvgImageCollection1.Add("bo_organization", "image://svgimages/business objects/bo_organization.svg") + Me.SvgImageCollection1.Add("bo_appearance", "image://svgimages/business objects/bo_appearance.svg") + ' + 'DpiAwareImageCollection1 + ' + Me.DpiAwareImageCollection1.Stream = CType(resources.GetObject("DpiAwareImageCollection1.Stream"), DevExpress.Utils.DPIAwareImageCollectionStreamer) + ' 'frmAdministrationZooFlow ' 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.XtraTabControl1) - Me.Controls.Add(Me.TreeViewMain) + Me.Controls.Add(Me.TreeList1) Me.Controls.Add(Me.RibbonStatusBar1) Me.Controls.Add(Me.RibbonControl1) Me.Name = "frmAdministrationZooFlow" @@ -154,6 +173,9 @@ Partial Class frmAdministrationZooFlow CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.XtraTabControl1, System.ComponentModel.ISupportInitialize).EndInit() Me.XtraTabControl1.ResumeLayout(False) + CType(Me.TreeList1, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.SvgImageCollection1, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.DpiAwareImageCollection1, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) Me.PerformLayout() @@ -165,9 +187,12 @@ Partial Class frmAdministrationZooFlow Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup Friend WithEvents RibbonStatusBar1 As DevExpress.XtraBars.Ribbon.RibbonStatusBar Friend WithEvents RibbonPage2 As DevExpress.XtraBars.Ribbon.RibbonPage - Friend WithEvents TreeViewMain As TreeView Friend WithEvents ImageList1 As ImageList Friend WithEvents XtraTabControl1 As DevExpress.XtraTab.XtraTabControl Friend WithEvents XtraTabPage1 As DevExpress.XtraTab.XtraTabPage Friend WithEvents XtraTabPage2 As DevExpress.XtraTab.XtraTabPage + Friend WithEvents TreeList1 As DevExpress.XtraTreeList.TreeList + Friend WithEvents TreeListColumn1 As DevExpress.XtraTreeList.Columns.TreeListColumn + Friend WithEvents SvgImageCollection1 As DevExpress.Utils.SvgImageCollection + Friend WithEvents DpiAwareImageCollection1 As DevExpress.Utils.DPIAwareImageCollection End Class diff --git a/GUIs.ZooFlow/frmAdministrationZooFlow.resx b/GUIs.ZooFlow/frmAdministrationZooFlow.resx index 14ea33d5..caf8630b 100644 --- a/GUIs.ZooFlow/frmAdministrationZooFlow.resx +++ b/GUIs.ZooFlow/frmAdministrationZooFlow.resx @@ -125,7 +125,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAC8 - CQAAAk1TRnQBSQFMAgEBAwEAARgBAAEYAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + CQAAAk1TRnQBSQFMAgEBAwEAATABAAEwAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA @@ -167,6 +167,20 @@ AQcB+AEfBAAB8AEHAfgBHwQAAfABBwH4AR8EAAHwAQcB+AEfBAAB8AEHAfgBHwIAAYABAAHwAQcB+AEf AgABgAEAAfABBwH8AT8CAAH8AQAB8AEHAcABEQIAAfwBAAHwAQcBwAEBAgAB/AEAAfABBwHAAQECAAH8 AQAB8AEHAcABAQIAAfwBAAL/AcABAQIAAfwBAAL/AcABAwIACw== + + + + 127, 17 + + + 293, 17 + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYxOS4yLCBWZXJzaW9uPTE5LjIu + My4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAAADBE + ZXZFeHByZXNzLlV0aWxzLkRQSUF3YXJlSW1hZ2VDb2xsZWN0aW9uU3RyZWFtZXIAAAAAAgAAAAs= \ No newline at end of file diff --git a/GUIs.ZooFlow/frmAdministrationZooFlow.vb b/GUIs.ZooFlow/frmAdministrationZooFlow.vb index ea47aa1f..342785e7 100644 --- a/GUIs.ZooFlow/frmAdministrationZooFlow.vb +++ b/GUIs.ZooFlow/frmAdministrationZooFlow.vb @@ -1,21 +1,6 @@ Public Class frmAdministrationZooFlow Private _TABIndex As Integer - Private Sub frmAdministrationZooFlow_Load(sender As Object, e As EventArgs) Handles MyBase.Load - End Sub - - Private Sub TreeView1_AfterSelect(sender As Object, e As TreeViewEventArgs) Handles TreeViewMain.AfterSelect - Dim selnode As TreeNode = TreeViewMain.SelectedNode - If Not IsNothing(selnode) Then - Select Case selnode.Text - Case "Business Entities" - _TABIndex = 0 - Case "Attributes" - _TABIndex = 1 - End Select - DisplayTabs() - End If - End Sub Sub DisplayTabs() Try Dim oindex = 0 @@ -30,4 +15,19 @@ End Try End Sub + + Private Sub TreeList1_FocusedNodeChanged(sender As Object, e As DevExpress.XtraTreeList.FocusedNodeChangedEventArgs) Handles TreeList1.FocusedNodeChanged + If e.Node Is Nothing OrElse e.Node.Tag Is Nothing Then + Exit Sub + End If + + Select Case e.Node.Tag.ToString + Case "IDB_ATTRIBUTES" + _TABIndex = 0 + Case "IDB_ENTITIES" + _TABIndex = 1 + End Select + + DisplayTabs() + End Sub End Class \ No newline at end of file