diff --git a/Config/ConfigManager.vb b/Config/ConfigManager.vb
index 6897cd2c..0d97ca03 100644
--- a/Config/ConfigManager.vb
+++ b/Config/ConfigManager.vb
@@ -1,8 +1,6 @@
Imports System.IO
Imports System.Xml.Serialization
Imports DigitalData.Modules.Logging
-Imports DigitalData.Modules.Filesystem
-Imports System.Xml
Public Class ConfigManager(Of T)
Private Const USER_CONFIG_NAME As String = "UserConfig.xml"
@@ -51,22 +49,22 @@ Public Class ConfigManager(Of T)
_Serializer = New XmlSerializer(_Blueprint.GetType)
If Not Directory.Exists(UserConfigPath) Then
+ _Logger.Debug("UserConfigPath {0} did not exist and was created", UserConfigPath)
Directory.CreateDirectory(UserConfigPath)
-
- 'Throw New DirectoryNotFoundException($"Path {UserConfigPath} does not exist!")
End If
If Not _File.TestPathIsDirectory(UserConfigPath) Then
+ _Logger.Warn("UserConfigPath {0} is not a directory", UserConfigPath)
Throw New ArgumentException($"Path {UserConfigPath} is not a directory!")
End If
If Not Directory.Exists(ComputerConfigPath) Then
+ _Logger.Debug("ComputerConfigPath {0} did not exist and was created", ComputerConfigPath)
Directory.CreateDirectory(ComputerConfigPath)
-
- 'Throw New DirectoryNotFoundException($"Path {ComputerConfigPath} does not exist!")
End If
If Not _File.TestPathIsDirectory(ComputerConfigPath) Then
+ _Logger.Warn("ComputerConfigPath {0} is not a directory", ComputerConfigPath)
Throw New ArgumentException($"Path {ComputerConfigPath} is not a directory!")
End If
@@ -160,7 +158,10 @@ Public Class ConfigManager(Of T)
oConfig = _Serializer.Deserialize(oReader)
End Using
+ ' If oConfig is Nothing, a config file was created but nothing was written to it.
+ ' In this case we need to create oConfig from defaults so we have at least some config object
If oConfig Is Nothing Then
+ _Logger.Debug("Config file is valid but empty. Loading default values")
oConfig = Activator.CreateInstance(_Blueprint.GetType)
End If
diff --git a/EDMI_ClientSuite/ClassControlPatcher.vb b/EDMI_ClientSuite/ClassControlPatcher.vb
new file mode 100644
index 00000000..fb95cffc
--- /dev/null
+++ b/EDMI_ClientSuite/ClassControlPatcher.vb
@@ -0,0 +1,40 @@
+'''
+''' Applies Modifications to a certain type of controls
+'''
+'''
+''' Dim oGridPatcher = New ClassControlPatcher(Of GridControl)(Me)
+''' oGridPatcher.
+''' ProcessContainer(AddressOf ClassGridControl.DefaultGridSettings).
+''' ProcessContainer(AddressOf ClassGridControl.ReadOnlyGridSettings).
+''' ProcessControl(AddressOf ClassGridControl.CheckboxSelectGridSettings, GridNotAssignedToParent).
+''' ProcessControl(AddressOf ClassGridControl.CheckboxSelectGridSettings, GridAssignedToParent)
+'''
+''' The control to Patch
+Public Class ClassControlPatcher(Of T As Control)
+ Private ReadOnly _Container As Control
+
+ Public Sub New(Container As Control)
+ _Container = Container
+ End Sub
+
+ Public Function ProcessContainer(Action As Action(Of T)) As ClassControlPatcher(Of T)
+ Return ProcessContainer(_Container, Action)
+ End Function
+
+ Public Function ProcessControl(Action As Action(Of T), ByVal Control As Control) As ClassControlPatcher(Of T)
+ Action(Control)
+ Return Me
+ End Function
+ Private Function ProcessContainer(ByVal Container As Control, Action As Action(Of T)) As ClassControlPatcher(Of T)
+ For Each oControl As Control In Container.Controls
+
+ If oControl.[GetType]() = GetType(T) Then
+ Action(oControl)
+ Else
+ ProcessContainer(oControl, Action)
+ End If
+ Next
+
+ Return Me
+ End Function
+End Class
diff --git a/EDMI_ClientSuite/ClassUIConfig.vb b/EDMI_ClientSuite/ClassUIConfig.vb
index 1829fcb9..6ca092ab 100644
--- a/EDMI_ClientSuite/ClassUIConfig.vb
+++ b/EDMI_ClientSuite/ClassUIConfig.vb
@@ -1,3 +1,5 @@
Public Class ClassUIConfig
Public Property SkinName As String = "Office 2016 Colorful"
+
+ Public Property FrmEdit_Splitter As Integer = 300
End Class
diff --git a/EDMI_ClientSuite/ClassUIUtils.vb b/EDMI_ClientSuite/ClassUIUtils.vb
deleted file mode 100644
index 0c0e386d..00000000
--- a/EDMI_ClientSuite/ClassUIUtils.vb
+++ /dev/null
@@ -1,38 +0,0 @@
-Imports DevExpress.XtraGrid
-Imports DevExpress.XtraGrid.Views.Grid
-
-Public Class ClassUIUtils
-
- Public Shared Function ConfigureGridVieDefaults(View As GridView)
- View.OptionsView.ShowAutoFilterRow = True
- View.OptionsView.EnableAppearanceEvenRow = True
-
- With View.Appearance
- .EvenRow.BackColor = Color.Aquamarine
- .FilterPanel.BackColor = Color.Orange
- End With
-
- Return View
- End Function
-
- Public Shared Function ConfigureGridViewReadOnly(View As GridView)
- View.OptionsBehavior.Editable = False
- View.OptionsBehavior.ReadOnly = True
- Return View
- End Function
-
- Public Shared Function ConfigureGridControlDefaults(Grid As GridControl, Optional [ReadOnly] As Boolean = False) As GridControl
- For Each oView In Grid.Views
- Select Case oView.GetType
- Case GetType(GridView)
- oView = ConfigureGridVieDefaults(oView)
-
- If [ReadOnly] Then
- oView = ConfigureGridViewReadOnly(oView)
- End If
- End Select
- Next
-
- Return Grid
- End Function
-End Class
diff --git a/EDMI_ClientSuite/ClientSuite.vbproj b/EDMI_ClientSuite/ClientSuite.vbproj
index 251350b8..d5963203 100644
--- a/EDMI_ClientSuite/ClientSuite.vbproj
+++ b/EDMI_ClientSuite/ClientSuite.vbproj
@@ -119,14 +119,15 @@
+
-
+
DockManagerTest.vb
diff --git a/EDMI_ClientSuite/ControlDefaults/ClassGridControl.vb b/EDMI_ClientSuite/ControlDefaults/ClassGridControl.vb
new file mode 100644
index 00000000..b80293d7
--- /dev/null
+++ b/EDMI_ClientSuite/ControlDefaults/ClassGridControl.vb
@@ -0,0 +1,64 @@
+Imports DevExpress.XtraGrid
+Imports DevExpress.XtraGrid.Views.Grid
+
+Public Class ClassGridControl
+ Public Shared Sub DefaultGridSettings(grid As GridControl)
+ For Each oView In grid.Views
+ If TypeOf oView Is GridView Then
+ DefaultGridViewSettings(oView)
+ End If
+ Next
+ End Sub
+
+ Public Shared Sub ReadOnlyGridSettings(grid As GridControl)
+ For Each oView In grid.Views
+ If TypeOf oView Is GridView Then
+ ReadonlyGridViewSettings(oView)
+ End If
+ Next
+ End Sub
+
+ Public Shared Sub CheckboxSelectGridSettings(grid As GridControl)
+ For Each oView In grid.Views
+ If TypeOf oView Is GridView Then
+ CheckboxSelectGridViewSettings(oView)
+ End If
+ Next
+ End Sub
+
+ '''
+ ''' Set a view to readonly
+ '''
+ Private Shared Sub ReadonlyGridViewSettings(ByRef View As GridView)
+ View.OptionsBehavior.Editable = False
+ View.OptionsBehavior.ReadOnly = True
+ End Sub
+
+ '''
+ ''' Set view Multiselect with checkboxes
+ '''
+ Private Shared Sub CheckboxSelectGridViewSettings(ByRef View As GridView)
+ View.OptionsSelection.MultiSelectMode = GridMultiSelectMode.CheckBoxRowSelect
+ View.OptionsSelection.MultiSelect = True
+ End Sub
+
+ '''
+ ''' Set default settings for view
+ '''
+ Private Shared Sub DefaultGridViewSettings(ByRef View As GridView)
+ View.OptionsView.ShowAutoFilterRow = True
+
+ ' Color Settings
+ View.OptionsView.EnableAppearanceEvenRow = True
+ View.Appearance.EvenRow.BackColor = Color.Aquamarine
+ View.Appearance.FilterPanel.BackColor = Color.Orange
+
+ AddHandler View.RowStyle, AddressOf GridView_RowStyle
+ End Sub
+
+ Private Shared Sub GridView_RowStyle(sender As Object, e As RowStyleEventArgs)
+ If e.RowHandle = GridControl.AutoFilterRowHandle Then
+ e.Appearance.BackColor = Color.LightSalmon
+ End If
+ End Sub
+End Class
diff --git a/EDMI_ClientSuite/EntityDesigner/frmEntityDesigner.Designer.vb b/EDMI_ClientSuite/EntityDesigner/frmEntityDesigner.Designer.vb
index 1883c034..ea1a83f6 100644
--- a/EDMI_ClientSuite/EntityDesigner/frmEntityDesigner.Designer.vb
+++ b/EDMI_ClientSuite/EntityDesigner/frmEntityDesigner.Designer.vb
@@ -156,6 +156,7 @@ Partial Class frmEntityDesigner
Me.RibbonControl1.MaxItemId = 2
Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.PageCategories.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageCategory() {Me.RibbonPageCategory1})
+ Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
Me.RibbonControl1.Size = New System.Drawing.Size(800, 146)
Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1
'
@@ -177,13 +178,13 @@ Partial Class frmEntityDesigner
'
Me.RibbonPage3.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup3})
Me.RibbonPage3.Name = "RibbonPage3"
- Me.RibbonPage3.Text = "Control Actions"
+ Me.RibbonPage3.Text = "Aktionen"
'
'RibbonPageGroup3
'
Me.RibbonPageGroup3.ItemLinks.Add(Me.BarButtonItem1)
Me.RibbonPageGroup3.Name = "RibbonPageGroup3"
- Me.RibbonPageGroup3.Text = "RibbonPageGroup3"
+ Me.RibbonPageGroup3.Text = "Aktionen"
'
'RibbonStatusBar1
'
diff --git a/EDMI_ClientSuite/UserManager/UserControlAssignment.Designer.vb b/EDMI_ClientSuite/UserManager/UserControlAssignment.Designer.vb
index 2301f147..1a5fe2dd 100644
--- a/EDMI_ClientSuite/UserManager/UserControlAssignment.Designer.vb
+++ b/EDMI_ClientSuite/UserManager/UserControlAssignment.Designer.vb
@@ -84,8 +84,6 @@ Partial Class UserControlAssignment
'
Me.ViewNotAssignedToParent.GridControl = Me.GridNotAssignedToParent
Me.ViewNotAssignedToParent.Name = "ViewNotAssignedToParent"
- Me.ViewNotAssignedToParent.OptionsSelection.MultiSelect = True
- Me.ViewNotAssignedToParent.OptionsSelection.MultiSelectMode = DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.CheckBoxRowSelect
'
'PanelControl2
'
@@ -174,8 +172,6 @@ Partial Class UserControlAssignment
'
Me.ViewAssignedToParent.GridControl = Me.GridAssignedToParent
Me.ViewAssignedToParent.Name = "ViewAssignedToParent"
- Me.ViewAssignedToParent.OptionsSelection.MultiSelect = True
- Me.ViewAssignedToParent.OptionsSelection.MultiSelectMode = DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.CheckBoxRowSelect
'
'PanelControl3
'
diff --git a/EDMI_ClientSuite/UserManager/UserControlAssignment.vb b/EDMI_ClientSuite/UserManager/UserControlAssignment.vb
index da30d8d9..23d60722 100644
--- a/EDMI_ClientSuite/UserManager/UserControlAssignment.vb
+++ b/EDMI_ClientSuite/UserManager/UserControlAssignment.vb
@@ -33,15 +33,12 @@ Public Class UserControlAssignment
labelParentList.Text = TextParentList
' Load grid customizations
- GridParentList = ClassUIUtils.ConfigureGridControlDefaults(GridParentList, [ReadOnly]:=True)
-
- GridNotAssignedToParent = ClassUIUtils.ConfigureGridControlDefaults(GridNotAssignedToParent, [ReadOnly]:=True)
- ViewNotAssignedToParent.OptionsSelection.MultiSelectMode = GridMultiSelectMode.CheckBoxRowSelect
- ViewNotAssignedToParent.OptionsSelection.MultiSelect = True
-
- GridAssignedToParent = ClassUIUtils.ConfigureGridControlDefaults(GridAssignedToParent, [ReadOnly]:=True)
- ViewAssignedToParent.OptionsSelection.MultiSelectMode = GridMultiSelectMode.CheckBoxRowSelect
- ViewAssignedToParent.OptionsSelection.MultiSelect = True
+ Dim oGridPatcher = New ClassControlPatcher(Of GridControl)(Me)
+ oGridPatcher.
+ ProcessContainer(AddressOf ClassGridControl.DefaultGridSettings).
+ ProcessContainer(AddressOf ClassGridControl.ReadOnlyGridSettings).
+ ProcessControl(AddressOf ClassGridControl.CheckboxSelectGridSettings, GridNotAssignedToParent).
+ ProcessControl(AddressOf ClassGridControl.CheckboxSelectGridSettings, GridAssignedToParent)
' Load view layouts
Try
@@ -61,7 +58,6 @@ Public Class UserControlAssignment
Catch ex As Exception
End Try
-
End Sub
Private Function MaybeCopyToDataTable(RowCollection As EnumerableRowCollection(Of DataRow)) As DataTable
diff --git a/EDMI_ClientSuite/UserManager/frmEdit.Designer.vb b/EDMI_ClientSuite/UserManager/frmEdit.Designer.vb
index c50f1484..de0052b2 100644
--- a/EDMI_ClientSuite/UserManager/frmEdit.Designer.vb
+++ b/EDMI_ClientSuite/UserManager/frmEdit.Designer.vb
@@ -23,6 +23,7 @@ Partial Class frmEdit
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmEdit))
Me.SplitContainerControl1 = New DevExpress.XtraEditors.SplitContainerControl()
Me.GridList = New DevExpress.XtraGrid.GridControl()
Me.ViewList = New DevExpress.XtraGrid.Views.Grid.GridView()
@@ -32,9 +33,10 @@ Partial Class frmEdit
Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem()
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
- Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage()
+ Me.BarButtonItem2 = New DevExpress.XtraBars.BarButtonItem()
+ Me.BarButtonItem3 = New DevExpress.XtraBars.BarButtonItem()
CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerControl1.SuspendLayout()
CType(Me.GridList, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -95,36 +97,37 @@ Partial Class frmEdit
'RibbonControl1
'
Me.RibbonControl1.ExpandCollapseItem.Id = 0
- Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.BarButtonItem1})
+ Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.BarButtonItem1, Me.BarButtonItem2, Me.BarButtonItem3})
Me.RibbonControl1.Location = New System.Drawing.Point(0, 0)
- Me.RibbonControl1.MaxItemId = 2
+ Me.RibbonControl1.MaxItemId = 4
Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
+ Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
Me.RibbonControl1.Size = New System.Drawing.Size(1104, 146)
Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1
'
'BarButtonItem1
'
- Me.BarButtonItem1.Caption = "BarButtonItem1"
+ Me.BarButtonItem1.Caption = "Speichern"
Me.BarButtonItem1.Id = 1
+ Me.BarButtonItem1.ImageOptions.Image = CType(resources.GetObject("BarButtonItem1.ImageOptions.Image"), System.Drawing.Image)
+ Me.BarButtonItem1.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItem1.ImageOptions.LargeImage"), System.Drawing.Image)
Me.BarButtonItem1.Name = "BarButtonItem1"
'
'RibbonPage1
'
- Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup2})
+ Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1})
Me.RibbonPage1.Name = "RibbonPage1"
- Me.RibbonPage1.Text = "RibbonPage1"
+ Me.RibbonPage1.Text = "Aktionen"
'
'RibbonPageGroup1
'
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem1)
+ Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem2)
+ Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem3)
Me.RibbonPageGroup1.Name = "RibbonPageGroup1"
- Me.RibbonPageGroup1.Text = "RibbonPageGroup1"
- '
- 'RibbonPageGroup2
- '
- Me.RibbonPageGroup2.Name = "RibbonPageGroup2"
- Me.RibbonPageGroup2.Text = "RibbonPageGroup2"
+ Me.RibbonPageGroup1.ShowCaptionButton = False
+ Me.RibbonPageGroup1.Text = "Aktionen"
'
'RibbonStatusBar1
'
@@ -138,6 +141,22 @@ Partial Class frmEdit
Me.RibbonPage2.Name = "RibbonPage2"
Me.RibbonPage2.Text = "RibbonPage2"
'
+ 'BarButtonItem2
+ '
+ Me.BarButtonItem2.Caption = "Neu"
+ Me.BarButtonItem2.Id = 2
+ Me.BarButtonItem2.ImageOptions.Image = CType(resources.GetObject("BarButtonItem2.ImageOptions.Image"), System.Drawing.Image)
+ Me.BarButtonItem2.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItem2.ImageOptions.LargeImage"), System.Drawing.Image)
+ Me.BarButtonItem2.Name = "BarButtonItem2"
+ '
+ 'BarButtonItem3
+ '
+ Me.BarButtonItem3.Caption = "Löschen"
+ Me.BarButtonItem3.Id = 3
+ Me.BarButtonItem3.ImageOptions.Image = CType(resources.GetObject("BarButtonItem3.ImageOptions.Image"), System.Drawing.Image)
+ Me.BarButtonItem3.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItem3.ImageOptions.LargeImage"), System.Drawing.Image)
+ Me.BarButtonItem3.Name = "BarButtonItem3"
+ '
'frmEdit
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -148,8 +167,9 @@ Partial Class frmEdit
Me.Controls.Add(Me.RibbonControl1)
Me.Name = "frmEdit"
Me.Ribbon = Me.RibbonControl1
+ Me.ShowIcon = False
Me.StatusBar = Me.RibbonStatusBar1
- Me.Text = "frmEdit"
+ Me.Text = "Datensätze bearbeiten"
CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerControl1.ResumeLayout(False)
CType(Me.GridList, System.ComponentModel.ISupportInitialize).EndInit()
@@ -170,8 +190,9 @@ Partial Class frmEdit
Friend WithEvents RibbonControl1 As DevExpress.XtraBars.Ribbon.RibbonControl
Friend WithEvents RibbonPage1 As DevExpress.XtraBars.Ribbon.RibbonPage
Friend WithEvents RibbonPageGroup1 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
- 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 BarButtonItem1 As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents BarButtonItem2 As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents BarButtonItem3 As DevExpress.XtraBars.BarButtonItem
End Class
diff --git a/EDMI_ClientSuite/UserManager/frmEdit.resx b/EDMI_ClientSuite/UserManager/frmEdit.resx
index 1af7de15..d8bb8005 100644
--- a/EDMI_ClientSuite/UserManager/frmEdit.resx
+++ b/EDMI_ClientSuite/UserManager/frmEdit.resx
@@ -117,4 +117,68 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAC3RFWHRUaXRsZQBTYXZlO/no
+ +QkAAABYSURBVDhPY/j//z9FGExMzlq/F4j/gzCUD2ajYzS5vSA+zABcilDE0OVAfPoYAMPY1GI1AB9G
+ V4shSAqmvgEgNjF41AA8BpCKkQ3Yji5JBN4ON4B8/J8BAL6u0wsmtxusAAAAAElFTkSuQmCC
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAC3RFWHRUaXRsZQBTYXZlO/no
+ +QkAAAENSURBVFhH7ZfRCcMwDESzWaBfmaXrdJDO0T0CGcPVidicheQm0DgE8vHAlY6nI38dUkqn4g57
+ 4g57Uv14Pd+j8BESgTnDuyark2dwj3zTFlgonOHjVthkddr5wjdtARsGfDzKAN2zJ3JinikP4IUFFRNe
+ BuiePZET80x5AC8sqJjwMkD37ImcmGfKA3hhQcWElwG6Z0/kxDxTHsALCyomvAzQPXsiJ+aZ8gBeWFAx
+ 4WVcIme+By5ZoAn7Iifvf4aPgG/eBVoFHgJmu2AfeeHaXaASb4V9jOzuAneBu8D1CkxCJd8C+8gL1+4C
+ h8E3bYHZhg9g5pu2AD6V99/gX8A98c2qwBm4w564w36k4QtaC2pTkRLrNgAAAABJRU5ErkJggg==
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAG3RFWHRUaXRsZQBBZGQ7UGx1
+ cztCYXJzO1JpYmJvbjuVBjMvAAAAYElEQVQ4T92MUQqAMAxDd0Ev5am8XbTSlEwyRBwIfrzRpelrAF5h
+ Q7KsG5KYbceG5EeCnG3HhkQFI86HxadMFRTxJ1q85NXtAiXzEuiOzBOMOEqdQHfEhoSCOP5GcA/aDplf
+ q/kc1pC+AAAAAElFTkSuQmCC
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAG3RFWHRUaXRsZQBBZGQ7UGx1
+ cztCYXJzO1JpYmJvbjuVBjMvAAAAj0lEQVRYR+3OUQqEMAxFUTfoplyVu4vNhyDpRR4Sokg+DsKdafsW
+ M3sVxkoYK2GshLESRsW67XYVf1dhVPSAHtAD/j0gXp4lvuOm4OhwhviOm4KjwxniO24Kjg5niO+4KaiU
+ yxUYFTRgfG9dz58wKsaF3xvwBEZFD6AB44v/vYNR0QOyYKyEsRLGShjr2HIAeeWOhN7Trl4AAAAASUVO
+ RK5CYII=
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAKXRFWHRUaXRsZQBSZW1vdmU7
+ RGVsZXRlO0JhcnM7UmliYm9uO1N0YW5kYXJkO2NWSDAAAADCSURBVDhPjZNLCgIxEERzOGFWegkvIH4Q
+ Rhyv6UkUV20VpCTpTquLB0n9GAZSzKzct6s1mHn+B2Qv7PCs8gsYuPqwB5lbzbKzoXCqgkhH4Kks9jLO
+ zggj0Hz5SL0NpCM4D8vkM1CDfmQBaZl0AwQBP9LSlUl3EQiORkKZBIEg7D+bLKNsEBAclUUY6S4I+PIB
+ hB/bdr6WGy8d+VkW0IYjNPgwWiOUBTw/MlOcwKMKaVkgo5EnmCRyZOfDGcjyAU5mVt7SQJzMJkqbYgAA
+ AABJRU5ErkJggg==
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAKXRFWHRUaXRsZQBSZW1vdmU7
+ RGVsZXRlO0JhcnM7UmliYm9uO1N0YW5kYXJkO2NWSDAAAAFuSURBVFhHxZZNSgQxFIRn5gIOeiU3LhxB
+ j+BRRRTFWc9VXMWqJg+e6XpNXoS4+BYpUj/Q3dC7Usq/IsWZSHEmUrw83/6JJuvgzy1SrEFX4AXc1XM3
+ LucevIKjz/dIEQaWf4ACvkFqRM1gOb3M+ARyxErAxQPgahqN7AhfbjBz3/b9Ohi4+ATagN4RqpznB9W1
+ Egguk8dqbIO2RqTKiRRhMDIj0uVEijB5ekYMlRMpwtiyNWK4nEgRZkU0YricSBEBEWqEJ1VOpIiQLaIR
+ SzmQmRFSZMgG6pnbgOXFVJkRUmRIQFRuLCNUZoQUEaKI3naldY+QIgJ6y/nMw09UZbdIEebecrszPEKK
+ MGbKjaERUoSJROUn4Is96RFShGGk3EiNWAm4uAdv1egDesoNNeIddP+QXIOvasyWW4YfcQY3bQ9ZCQSX
+ CUdwdaqcuByOYIYsJ1K0IMD/Q3/uosnK/5bPRIozkeJMpDgTKc6j7H4A2ecNYxfzGoMAAAAASUVORK5C
+ YII=
+
+
\ No newline at end of file
diff --git a/EDMI_ClientSuite/UserManager/frmEdit.vb b/EDMI_ClientSuite/UserManager/frmEdit.vb
index 1ffbb539..25275bfc 100644
--- a/EDMI_ClientSuite/UserManager/frmEdit.vb
+++ b/EDMI_ClientSuite/UserManager/frmEdit.vb
@@ -1,4 +1,5 @@
Imports DevExpress.XtraEditors
+Imports DevExpress.XtraGrid
Imports DevExpress.XtraLayout
Public Class frmEdit
@@ -16,11 +17,16 @@ Public Class frmEdit
End Sub
Private Async Sub frmEdit_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- GridList = ClassUIUtils.ConfigureGridControlDefaults(GridList, [ReadOnly]:=True)
+ Dim oGridPatcher = New ClassControlPatcher(Of GridControl)(Me)
+ oGridPatcher.
+ ProcessContainer(AddressOf ClassGridControl.DefaultGridSettings).
+ ProcessContainer(AddressOf ClassGridControl.ReadOnlyGridSettings)
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
GridList.DataSource = _Datatable
+ SplitContainerControl1.SplitterPosition = My.UIConfig.FrmEdit_Splitter
+
Dim oUserLanguage = My.Application.User.Language
Await LoadLanguageTableAsync(oUserLanguage)
LoadFormLayout()
@@ -101,4 +107,9 @@ Public Class frmEdit
LayoutControlGroup1.AddItem(New EmptySpaceItem())
LayoutControlGroup1.LayoutMode = Utils.LayoutMode.Flow
End Sub
+
+ Private Sub SplitContainerControl1_SplitterPositionChanged(sender As Object, e As EventArgs) Handles SplitContainerControl1.SplitterPositionChanged
+ My.UIConfig.FrmEdit_Splitter = SplitContainerControl1.SplitterPosition
+ My.UIConfigManager.Save()
+ End Sub
End Class
\ No newline at end of file
diff --git a/EDMI_ClientSuite/UserManager/frmUserManager.Designer.vb b/EDMI_ClientSuite/UserManager/frmUserManager.Designer.vb
index 4dce2653..d0a6f786 100644
--- a/EDMI_ClientSuite/UserManager/frmUserManager.Designer.vb
+++ b/EDMI_ClientSuite/UserManager/frmUserManager.Designer.vb
@@ -36,6 +36,7 @@ Partial Class frmUserManager
Me.OfficeNavigationBar1 = New DevExpress.XtraBars.Navigation.OfficeNavigationBar()
Me.NavbarUser2Group = New DevExpress.XtraBars.Navigation.NavigationBarItem()
Me.NavbarGroup2Group = New DevExpress.XtraBars.Navigation.NavigationBarItem()
+ Me.UCGroupToGroup = New DigitalData.GUIs.ClientSuite.UserControlAssignment()
CType(Me.RibbonControl, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.OfficeNavigationBar1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
@@ -49,6 +50,7 @@ Partial Class frmUserManager
Me.RibbonControl.MdiMergeStyle = DevExpress.XtraBars.Ribbon.RibbonMdiMergeStyle.Always
Me.RibbonControl.Name = "RibbonControl"
Me.RibbonControl.PageCategories.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageCategory() {Me.RibbonPageCategoryUserManager})
+ Me.RibbonControl.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
Me.RibbonControl.Size = New System.Drawing.Size(1070, 146)
Me.RibbonControl.StatusBar = Me.RibbonStatusBar
'
@@ -134,14 +136,14 @@ Partial Class frmUserManager
'
'UCUserToGroup
'
- Me.UCUserToGroup.Dock = System.Windows.Forms.DockStyle.Fill
- Me.UCUserToGroup.Location = New System.Drawing.Point(0, 146)
+ Me.UCUserToGroup.Location = New System.Drawing.Point(335, 163)
Me.UCUserToGroup.Name = "UCUserToGroup"
- Me.UCUserToGroup.Size = New System.Drawing.Size(1070, 328)
+ Me.UCUserToGroup.Size = New System.Drawing.Size(391, 271)
Me.UCUserToGroup.TabIndex = 0
Me.UCUserToGroup.TextAssignedToParent = "Zugeordnete Benutzer zu Gruppe:"
Me.UCUserToGroup.TextNotAssignedToParent = "Nicht zugeordnete Benutzer:"
Me.UCUserToGroup.TextParentList = "Verfügbare Gruppen:"
+ Me.UCUserToGroup.Visible = False
'
'OfficeNavigationBar1
'
@@ -149,7 +151,6 @@ Partial Class frmUserManager
Me.OfficeNavigationBar1.Items.AddRange(New DevExpress.XtraBars.Navigation.NavigationBarItem() {Me.NavbarUser2Group, Me.NavbarGroup2Group})
Me.OfficeNavigationBar1.Location = New System.Drawing.Point(0, 474)
Me.OfficeNavigationBar1.Name = "OfficeNavigationBar1"
- Me.OfficeNavigationBar1.SelectedItem = Me.NavbarUser2Group
Me.OfficeNavigationBar1.Size = New System.Drawing.Size(1070, 45)
Me.OfficeNavigationBar1.TabIndex = 2
Me.OfficeNavigationBar1.Text = "OfficeNavigationBar1"
@@ -165,17 +166,30 @@ Partial Class frmUserManager
Me.NavbarGroup2Group.ShowPeekFormOnItemHover = DevExpress.Utils.DefaultBoolean.[True]
Me.NavbarGroup2Group.Text = "Gruppenzuordnung"
'
+ 'UCGroupToGroup
+ '
+ Me.UCGroupToGroup.Location = New System.Drawing.Point(22, 163)
+ Me.UCGroupToGroup.Name = "UCGroupToGroup"
+ Me.UCGroupToGroup.Size = New System.Drawing.Size(276, 234)
+ Me.UCGroupToGroup.TabIndex = 5
+ Me.UCGroupToGroup.TextAssignedToParent = "Zugeordnete Gruppen:"
+ Me.UCGroupToGroup.TextNotAssignedToParent = "Nicht zugeordnete Gruppen:"
+ Me.UCGroupToGroup.TextParentList = "Verfügbare Gruppen:"
+ Me.UCGroupToGroup.Visible = False
+ '
'frmUserManager
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(1070, 540)
+ Me.Controls.Add(Me.UCGroupToGroup)
Me.Controls.Add(Me.UCUserToGroup)
Me.Controls.Add(Me.OfficeNavigationBar1)
Me.Controls.Add(Me.RibbonStatusBar)
Me.Controls.Add(Me.RibbonControl)
Me.Name = "frmUserManager"
Me.Ribbon = Me.RibbonControl
+ Me.ShowIcon = False
Me.StatusBar = Me.RibbonStatusBar
Me.Text = "User Manager"
CType(Me.RibbonControl, System.ComponentModel.ISupportInitialize).EndInit()
@@ -201,4 +215,5 @@ Partial Class frmUserManager
Friend WithEvents OfficeNavigationBar1 As DevExpress.XtraBars.Navigation.OfficeNavigationBar
Friend WithEvents NavbarUser2Group As DevExpress.XtraBars.Navigation.NavigationBarItem
Friend WithEvents NavbarGroup2Group As DevExpress.XtraBars.Navigation.NavigationBarItem
+ Friend WithEvents UCGroupToGroup As UserControlAssignment
End Class
diff --git a/EDMI_ClientSuite/UserManager/frmUserManager.vb b/EDMI_ClientSuite/UserManager/frmUserManager.vb
index 720c1a23..67204187 100644
--- a/EDMI_ClientSuite/UserManager/frmUserManager.vb
+++ b/EDMI_ClientSuite/UserManager/frmUserManager.vb
@@ -22,6 +22,12 @@ Public Class frmUserManager
RibbonControl.SelectPage(RibbonPageUserManager)
End Sub
+ Private Sub frmUserManager_VisibleChanged(sender As Object, e As EventArgs) Handles Me.VisibleChanged
+ If Visible Then
+ RibbonControl.SelectPage(RibbonPageUserManager)
+ End If
+ End Sub
+
Private Async Function InitUserToGroupData() As Task
Dim oUserTable = Await GetAttributeListAsync("User")
Dim oGroupTable = Await GetAttributeListAsync("Group")
@@ -82,18 +88,22 @@ Public Class frmUserManager
Await UpdateUserToGroupData()
End Sub
- Private Sub OfficeNavigationBar1_ItemClick(sender As Object, e As DevExpress.XtraBars.Navigation.NavigationBarItemEventArgs) Handles OfficeNavigationBar1.ItemClick
-
- End Sub
-
Private Sub OfficeNavigationBar1_SelectedItemChanged(sender As Object, e As DevExpress.XtraBars.Navigation.NavigationBarItemEventArgs) Handles OfficeNavigationBar1.SelectedItemChanged
Select Case OfficeNavigationBar1.SelectedItem.Name
Case "NavbarUser2Group"
UCUserToGroup.Visible = True
UCUserToGroup.Dock = DockStyle.Fill
+
+ UCGroupToGroup.Visible = False
+ UCGroupToGroup.Dock = DockStyle.None
Case "NavbarGroup2Group"
+ UCGroupToGroup.Visible = True
+ UCGroupToGroup.Dock = DockStyle.Fill
+
UCUserToGroup.Visible = False
UCUserToGroup.Dock = DockStyle.None
End Select
End Sub
+
+
End Class
\ No newline at end of file
diff --git a/EDMI_ClientSuite/frmMain.vb b/EDMI_ClientSuite/frmMain.vb
index 64d14405..2be9643a 100644
--- a/EDMI_ClientSuite/frmMain.vb
+++ b/EDMI_ClientSuite/frmMain.vb
@@ -175,17 +175,15 @@ Public Class frmMain
End Sub
' Manually merge the status bars of the parent and child MDI forms.
- Private Sub RibbonControl1_Merge(ByVal sender As System.Object,
- ByVal e As RibbonMergeEventArgs) Handles RibbonControl.Merge
- Dim parentRRibbon As RibbonControl = TryCast(sender, RibbonControl)
- Dim childRibbon As RibbonControl = e.MergedChild
- parentRRibbon.StatusBar.MergeStatusBar(childRibbon.StatusBar)
+ Private Sub RibbonControl1_Merge(ByVal sender As System.Object, ByVal e As RibbonMergeEventArgs) Handles RibbonControl.Merge
+ Dim oParentRibbon As RibbonControl = TryCast(sender, RibbonControl)
+ Dim oChildRibbon As RibbonControl = e.MergedChild
+ oParentRibbon.StatusBar.MergeStatusBar(oChildRibbon.StatusBar)
End Sub
' Manually unmerge the status bars.
- Private Sub RibbonControl1_UnMerge(ByVal sender As System.Object,
- ByVal e As RibbonMergeEventArgs) Handles RibbonControl.UnMerge
- Dim parentRRibbon As RibbonControl = TryCast(sender, RibbonControl)
- parentRRibbon.StatusBar.UnMergeStatusBar()
+ Private Sub RibbonControl1_UnMerge(ByVal sender As System.Object, ByVal e As RibbonMergeEventArgs) Handles RibbonControl.UnMerge
+ Dim oParentRibbon As RibbonControl = TryCast(sender, RibbonControl)
+ oParentRibbon.StatusBar.UnMergeStatusBar()
End Sub
End Class
\ No newline at end of file
diff --git a/EDMI_ClientSuite/frmSplash.vb b/EDMI_ClientSuite/frmSplash.vb
index 6abc3a80..ffe23b80 100644
--- a/EDMI_ClientSuite/frmSplash.vb
+++ b/EDMI_ClientSuite/frmSplash.vb
@@ -64,7 +64,7 @@ Public NotInheritable Class frmSplash
_Worker.RunWorkerAsync()
End Sub
- Private Async Sub bw_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs)
+ Private Sub bw_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs)
Dim oService As New ClassService(My.LogConfig)
_Worker.ReportProgress(SetProgress(1), "Connecting to service..")