More Logging for Config Module, Add ControlPatcher, Add More UIConfig Items
This commit is contained in:
parent
c6537536f5
commit
bad7cea8d6
@ -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
|
||||
|
||||
|
||||
40
EDMI_ClientSuite/ClassControlPatcher.vb
Normal file
40
EDMI_ClientSuite/ClassControlPatcher.vb
Normal file
@ -0,0 +1,40 @@
|
||||
''' <summary>
|
||||
''' Applies Modifications to a certain type of controls
|
||||
''' </summary>
|
||||
''' <example>
|
||||
''' 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)
|
||||
''' </example>
|
||||
''' <typeparam name="T">The control to Patch</typeparam>
|
||||
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
|
||||
@ -1,3 +1,5 @@
|
||||
Public Class ClassUIConfig
|
||||
Public Property SkinName As String = "Office 2016 Colorful"
|
||||
|
||||
Public Property FrmEdit_Splitter As Integer = 300
|
||||
End Class
|
||||
|
||||
@ -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
|
||||
@ -119,14 +119,15 @@
|
||||
<Compile Include="ClassCommonCommands.vb" />
|
||||
<Compile Include="ClassConfig.vb" />
|
||||
<Compile Include="ClassConstants.vb" />
|
||||
<Compile Include="ClassControlPatcher.vb" />
|
||||
<Compile Include="ClassDragDrop.vb" />
|
||||
<Compile Include="ClassErrorHandler.vb" />
|
||||
<Compile Include="ClassLayout.vb" />
|
||||
<Compile Include="ClassService.vb" />
|
||||
<Compile Include="ClassTimer.vb" />
|
||||
<Compile Include="ClassUIConfig.vb" />
|
||||
<Compile Include="ClassUIUtils.vb" />
|
||||
<Compile Include="ClassUtils.vb" />
|
||||
<Compile Include="ControlDefaults\ClassGridControl.vb" />
|
||||
<Compile Include="DockManagerTest.Designer.vb">
|
||||
<DependentUpon>DockManagerTest.vb</DependentUpon>
|
||||
</Compile>
|
||||
|
||||
64
EDMI_ClientSuite/ControlDefaults/ClassGridControl.vb
Normal file
64
EDMI_ClientSuite/ControlDefaults/ClassGridControl.vb
Normal file
@ -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
|
||||
|
||||
''' <summary>
|
||||
''' Set a view to readonly
|
||||
''' </summary>
|
||||
Private Shared Sub ReadonlyGridViewSettings(ByRef View As GridView)
|
||||
View.OptionsBehavior.Editable = False
|
||||
View.OptionsBehavior.ReadOnly = True
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' Set view Multiselect with checkboxes
|
||||
''' </summary>
|
||||
Private Shared Sub CheckboxSelectGridViewSettings(ByRef View As GridView)
|
||||
View.OptionsSelection.MultiSelectMode = GridMultiSelectMode.CheckBoxRowSelect
|
||||
View.OptionsSelection.MultiSelect = True
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' Set default settings for view
|
||||
''' </summary>
|
||||
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
|
||||
@ -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
|
||||
'
|
||||
|
||||
@ -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
|
||||
'
|
||||
|
||||
@ -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
|
||||
|
||||
49
EDMI_ClientSuite/UserManager/frmEdit.Designer.vb
generated
49
EDMI_ClientSuite/UserManager/frmEdit.Designer.vb
generated
@ -23,6 +23,7 @@ Partial Class frmEdit
|
||||
<System.Diagnostics.DebuggerStepThrough()>
|
||||
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
|
||||
|
||||
@ -117,4 +117,68 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="BarButtonItem1.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAC3RFWHRUaXRsZQBTYXZlO/no
|
||||
+QkAAABYSURBVDhPY/j//z9FGExMzlq/F4j/gzCUD2ajYzS5vSA+zABcilDE0OVAfPoYAMPY1GI1AB9G
|
||||
V4shSAqmvgEgNjF41AA8BpCKkQ3Yji5JBN4ON4B8/J8BAL6u0wsmtxusAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="BarButtonItem1.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAC3RFWHRUaXRsZQBTYXZlO/no
|
||||
+QkAAAENSURBVFhH7ZfRCcMwDESzWaBfmaXrdJDO0T0CGcPVidicheQm0DgE8vHAlY6nI38dUkqn4g57
|
||||
4g57Uv14Pd+j8BESgTnDuyark2dwj3zTFlgonOHjVthkddr5wjdtARsGfDzKAN2zJ3JinikP4IUFFRNe
|
||||
BuiePZET80x5AC8sqJjwMkD37ImcmGfKA3hhQcWElwG6Z0/kxDxTHsALCyomvAzQPXsiJ+aZ8gBeWFAx
|
||||
4WVcIme+By5ZoAn7Iifvf4aPgG/eBVoFHgJmu2AfeeHaXaASb4V9jOzuAneBu8D1CkxCJd8C+8gL1+4C
|
||||
h8E3bYHZhg9g5pu2AD6V99/gX8A98c2qwBm4w564w36k4QtaC2pTkRLrNgAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="BarButtonItem2.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAG3RFWHRUaXRsZQBBZGQ7UGx1
|
||||
cztCYXJzO1JpYmJvbjuVBjMvAAAAYElEQVQ4T92MUQqAMAxDd0Ev5am8XbTSlEwyRBwIfrzRpelrAF5h
|
||||
Q7KsG5KYbceG5EeCnG3HhkQFI86HxadMFRTxJ1q85NXtAiXzEuiOzBOMOEqdQHfEhoSCOP5GcA/aDplf
|
||||
q/kc1pC+AAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="BarButtonItem2.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAG3RFWHRUaXRsZQBBZGQ7UGx1
|
||||
cztCYXJzO1JpYmJvbjuVBjMvAAAAj0lEQVRYR+3OUQqEMAxFUTfoplyVu4vNhyDpRR4Sokg+DsKdafsW
|
||||
M3sVxkoYK2GshLESRsW67XYVf1dhVPSAHtAD/j0gXp4lvuOm4OhwhviOm4KjwxniO24Kjg5niO+4KaiU
|
||||
yxUYFTRgfG9dz58wKsaF3xvwBEZFD6AB44v/vYNR0QOyYKyEsRLGShjr2HIAeeWOhN7Trl4AAAAASUVO
|
||||
RK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="BarButtonItem3.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAKXRFWHRUaXRsZQBSZW1vdmU7
|
||||
RGVsZXRlO0JhcnM7UmliYm9uO1N0YW5kYXJkO2NWSDAAAADCSURBVDhPjZNLCgIxEERzOGFWegkvIH4Q
|
||||
Rhyv6UkUV20VpCTpTquLB0n9GAZSzKzct6s1mHn+B2Qv7PCs8gsYuPqwB5lbzbKzoXCqgkhH4Kks9jLO
|
||||
zggj0Hz5SL0NpCM4D8vkM1CDfmQBaZl0AwQBP9LSlUl3EQiORkKZBIEg7D+bLKNsEBAclUUY6S4I+PIB
|
||||
hB/bdr6WGy8d+VkW0IYjNPgwWiOUBTw/MlOcwKMKaVkgo5EnmCRyZOfDGcjyAU5mVt7SQJzMJkqbYgAA
|
||||
AABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="BarButtonItem3.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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=
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
@ -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
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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..")
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user