From d35a29e3db44ed860d03902e164884e336d6d2c3 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Thu, 31 Jan 2019 16:58:47 +0100 Subject: [PATCH] jj --- EDMI_ClientSuite/EDMI_ClientSuite.vbproj | 12 ++-- .../frmEntityDesigner.Designer.vb | 39 +++++++---- EDMI_ClientSuite/License/LicenseSchema.xsd | 51 ++++++++++++++ .../{Settings => State}/LicenseState.vb | 0 .../{Settings => State}/ModuleState.vb | 0 .../{Settings => State}/UserState.vb | 2 +- EDMI_ClientSuite/frmConfigService.Designer.vb | 6 +- EDMI_ClientSuite/frmConfigService.vb | 9 +-- EDMI_ClientSuite/frmConfigUser.Designer.vb | 14 +++- EDMI_ClientSuite/frmConfigUser.resx | 9 +++ EDMI_ClientSuite/frmConfigUser.vb | 8 ++- EDMI_ClientSuite/frmMain.Designer.vb | 15 ++-- EDMI_ClientSuite/frmMain.resx | 68 +++++++------------ 13 files changed, 154 insertions(+), 79 deletions(-) create mode 100644 EDMI_ClientSuite/License/LicenseSchema.xsd rename EDMI_ClientSuite/{Settings => State}/LicenseState.vb (100%) rename EDMI_ClientSuite/{Settings => State}/ModuleState.vb (100%) rename EDMI_ClientSuite/{Settings => State}/UserState.vb (92%) diff --git a/EDMI_ClientSuite/EDMI_ClientSuite.vbproj b/EDMI_ClientSuite/EDMI_ClientSuite.vbproj index 600387f7..a8ec9152 100644 --- a/EDMI_ClientSuite/EDMI_ClientSuite.vbproj +++ b/EDMI_ClientSuite/EDMI_ClientSuite.vbproj @@ -13,6 +13,7 @@ WindowsForms v4.6.1 true + false publish\ true Disk @@ -25,7 +26,6 @@ true 0 1.0.0.%2a - false false true @@ -132,6 +132,7 @@ + @@ -263,9 +264,9 @@ True - - - + + + True True @@ -365,6 +366,9 @@ Designer + + Designer + MyApplicationCodeGenerator diff --git a/EDMI_ClientSuite/EntityDesigner/frmEntityDesigner.Designer.vb b/EDMI_ClientSuite/EntityDesigner/frmEntityDesigner.Designer.vb index ba5b306a..4885b865 100644 --- a/EDMI_ClientSuite/EntityDesigner/frmEntityDesigner.Designer.vb +++ b/EDMI_ClientSuite/EntityDesigner/frmEntityDesigner.Designer.vb @@ -22,15 +22,17 @@ Partial Class frmEntityDesigner 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. Private Sub InitializeComponent() - Me.PanelMain = New EDMI_ClientSuite.ControlSnapPanel() + Me.components = New System.ComponentModel.Container() + Me.PanelMain = New EDMI_ClientSuite.ControlSnapPanel(Me.components) Me.TabControlMain = New DevExpress.XtraTab.XtraTabControl() Me.TabPageControls = New DevExpress.XtraTab.XtraTabPage() + Me.btnCombobox = New System.Windows.Forms.Button() Me.btnTextbox = New System.Windows.Forms.Button() Me.btnLabel = New System.Windows.Forms.Button() Me.TabPageProperties = New DevExpress.XtraTab.XtraTabPage() Me.PropertyGridMain = New DevExpress.XtraVerticalGrid.PropertyGridControl() Me.SplitContainerControlMain = New DevExpress.XtraEditors.SplitContainerControl() - Me.btnCombobox = New System.Windows.Forms.Button() + Me.Label1 = New System.Windows.Forms.Label() CType(Me.TabControlMain, System.ComponentModel.ISupportInitialize).BeginInit() Me.TabControlMain.SuspendLayout() Me.TabPageControls.SuspendLayout() @@ -63,6 +65,7 @@ Partial Class frmEntityDesigner ' 'TabPageControls ' + Me.TabPageControls.Controls.Add(Me.Label1) Me.TabPageControls.Controls.Add(Me.btnCombobox) Me.TabPageControls.Controls.Add(Me.btnTextbox) Me.TabPageControls.Controls.Add(Me.btnLabel) @@ -70,20 +73,29 @@ Partial Class frmEntityDesigner Me.TabPageControls.Size = New System.Drawing.Size(222, 425) Me.TabPageControls.Text = "Controls" ' + 'btnCombobox + ' + Me.btnCombobox.Location = New System.Drawing.Point(3, 92) + Me.btnCombobox.Name = "btnCombobox" + Me.btnCombobox.Size = New System.Drawing.Size(216, 23) + Me.btnCombobox.TabIndex = 1 + Me.btnCombobox.Text = "Combobox" + Me.btnCombobox.UseVisualStyleBackColor = True + ' 'btnTextbox ' - Me.btnTextbox.Location = New System.Drawing.Point(15, 48) + Me.btnTextbox.Location = New System.Drawing.Point(3, 63) Me.btnTextbox.Name = "btnTextbox" - Me.btnTextbox.Size = New System.Drawing.Size(122, 23) + Me.btnTextbox.Size = New System.Drawing.Size(216, 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.Location = New System.Drawing.Point(3, 34) Me.btnLabel.Name = "btnLabel" - Me.btnLabel.Size = New System.Drawing.Size(122, 23) + Me.btnLabel.Size = New System.Drawing.Size(216, 23) Me.btnLabel.TabIndex = 0 Me.btnLabel.Text = "Label" Me.btnLabel.UseVisualStyleBackColor = True @@ -118,14 +130,14 @@ Partial Class frmEntityDesigner Me.SplitContainerControlMain.TabIndex = 1 Me.SplitContainerControlMain.Text = "SplitContainerControl1" ' - 'btnCombobox + 'Label1 ' - Me.btnCombobox.Location = New System.Drawing.Point(15, 77) - Me.btnCombobox.Name = "btnCombobox" - Me.btnCombobox.Size = New System.Drawing.Size(122, 23) - Me.btnCombobox.TabIndex = 1 - Me.btnCombobox.Text = "Combobox" - Me.btnCombobox.UseVisualStyleBackColor = True + Me.Label1.Dock = System.Windows.Forms.DockStyle.Top + Me.Label1.Location = New System.Drawing.Point(0, 0) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(222, 31) + Me.Label1.TabIndex = 2 + Me.Label1.Text = "Ziehen Sie zum Erstellen einen Controll-Button auf das Panel" ' 'frmEntityDesigner ' @@ -154,4 +166,5 @@ Partial Class frmEntityDesigner Friend WithEvents btnLabel As Button Friend WithEvents SplitContainerControlMain As DevExpress.XtraEditors.SplitContainerControl Friend WithEvents btnCombobox As Button + Friend WithEvents Label1 As Label End Class diff --git a/EDMI_ClientSuite/License/LicenseSchema.xsd b/EDMI_ClientSuite/License/LicenseSchema.xsd new file mode 100644 index 00000000..83b3b7be --- /dev/null +++ b/EDMI_ClientSuite/License/LicenseSchema.xsd @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/EDMI_ClientSuite/Settings/LicenseState.vb b/EDMI_ClientSuite/State/LicenseState.vb similarity index 100% rename from EDMI_ClientSuite/Settings/LicenseState.vb rename to EDMI_ClientSuite/State/LicenseState.vb diff --git a/EDMI_ClientSuite/Settings/ModuleState.vb b/EDMI_ClientSuite/State/ModuleState.vb similarity index 100% rename from EDMI_ClientSuite/Settings/ModuleState.vb rename to EDMI_ClientSuite/State/ModuleState.vb diff --git a/EDMI_ClientSuite/Settings/UserState.vb b/EDMI_ClientSuite/State/UserState.vb similarity index 92% rename from EDMI_ClientSuite/Settings/UserState.vb rename to EDMI_ClientSuite/State/UserState.vb index b43dddbb..c9b8360c 100644 --- a/EDMI_ClientSuite/Settings/UserState.vb +++ b/EDMI_ClientSuite/State/UserState.vb @@ -7,7 +7,7 @@ Public Class UserState Public UserName As String Public MachineName As String Public Language As String - + Public IsAdmin As Boolean ''' ''' Initialize user object with values that can be read from the environment diff --git a/EDMI_ClientSuite/frmConfigService.Designer.vb b/EDMI_ClientSuite/frmConfigService.Designer.vb index 907c4d8f..5404985e 100644 --- a/EDMI_ClientSuite/frmConfigService.Designer.vb +++ b/EDMI_ClientSuite/frmConfigService.Designer.vb @@ -117,9 +117,9 @@ Partial Class frmConfigService Me.txtPort.Size = New System.Drawing.Size(145, 20) Me.txtPort.TabIndex = 7 ' - 'frmServiceConfig + 'frmConfigService ' - Me.AcceptButton = Me.btnTest + Me.AcceptButton = Me.btnOK Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.CancelButton = Me.btnCancel @@ -135,7 +135,7 @@ Partial Class frmConfigService Me.Controls.Add(Me.btnCancel) Me.MaximizeBox = False Me.MinimizeBox = False - Me.Name = "frmServiceConfig" + Me.Name = "frmConfigService" Me.Text = "Dienst Kommunikation konfigurieren" CType(Me.txtIPAddress.Properties, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.txtPort.Properties, System.ComponentModel.ISupportInitialize).EndInit() diff --git a/EDMI_ClientSuite/frmConfigService.vb b/EDMI_ClientSuite/frmConfigService.vb index 791f99f7..ad9b758e 100644 --- a/EDMI_ClientSuite/frmConfigService.vb +++ b/EDMI_ClientSuite/frmConfigService.vb @@ -5,6 +5,8 @@ Public Class frmConfigService Private Sub frmServiceConfig_Load(sender As Object, e As EventArgs) Handles Me.Load _Init = New ClassInit() + + txtIPAddress.Focus() End Sub Private Async Sub btnTest_Click(sender As Object, e As EventArgs) Handles btnTest.Click @@ -17,8 +19,8 @@ Public Class frmConfigService oResult = Await _Init.TestConnectionAsync(oEndpointURL) If oResult = ConnectionTestResult.Successful Then + ' Save Endpoint URL My.Settings.ICMServiceAddress = oEndpointURL - 'My.Settings.Save() lblStatus.Text = "Verbindung hergestellt." Else Select Case oResult @@ -30,8 +32,7 @@ Public Class frmConfigService End If End Sub - Private Sub btnDelete_Click(sender As Object, e As EventArgs) - My.Settings.ICMServiceAddress = String.Empty - My.Settings.Save() + Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click + DialogResult = DialogResult.OK End Sub End Class \ No newline at end of file diff --git a/EDMI_ClientSuite/frmConfigUser.Designer.vb b/EDMI_ClientSuite/frmConfigUser.Designer.vb index a2dcc3e0..94f24f2a 100644 --- a/EDMI_ClientSuite/frmConfigUser.Designer.vb +++ b/EDMI_ClientSuite/frmConfigUser.Designer.vb @@ -24,6 +24,7 @@ Partial Class frmConfigUser Private Sub InitializeComponent() Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmConfigUser)) Me.TabPageSupport = New DevExpress.XtraTab.XtraTabPage() + Me.SimpleButton1 = New DevExpress.XtraEditors.SimpleButton() Me.btnAppFolder = New DevExpress.XtraEditors.SimpleButton() Me.btnLogFolder = New DevExpress.XtraEditors.SimpleButton() Me.Button4 = New System.Windows.Forms.Button() @@ -42,6 +43,7 @@ Partial Class frmConfigUser ' 'TabPageSupport ' + Me.TabPageSupport.Controls.Add(Me.SimpleButton1) Me.TabPageSupport.Controls.Add(Me.btnAppFolder) Me.TabPageSupport.Controls.Add(Me.btnLogFolder) Me.TabPageSupport.Controls.Add(Me.Button4) @@ -52,9 +54,18 @@ Partial Class frmConfigUser Me.TabPageSupport.Size = New System.Drawing.Size(703, 448) Me.TabPageSupport.Text = "Support" ' + 'SimpleButton1 + ' + Me.SimpleButton1.ImageOptions.Image = CType(resources.GetObject("SimpleButton1.ImageOptions.Image"), System.Drawing.Image) + Me.SimpleButton1.Location = New System.Drawing.Point(349, 100) + Me.SimpleButton1.Name = "SimpleButton1" + Me.SimpleButton1.Size = New System.Drawing.Size(164, 36) + Me.SimpleButton1.TabIndex = 21 + Me.SimpleButton1.Text = "AppData Ordner öffnen" + ' 'btnAppFolder ' - Me.btnAppFolder.ImageOptions.Image = CType(resources.GetObject("SimpleButton1.ImageOptions.Image"), System.Drawing.Image) + Me.btnAppFolder.ImageOptions.Image = CType(resources.GetObject("btnAppFolder.ImageOptions.Image"), System.Drawing.Image) Me.btnAppFolder.Location = New System.Drawing.Point(349, 58) Me.btnAppFolder.Name = "btnAppFolder" Me.btnAppFolder.Size = New System.Drawing.Size(164, 36) @@ -186,4 +197,5 @@ Partial Class frmConfigUser Friend WithEvents cmbLanguage As ComboBox Friend WithEvents btnLogFolder As DevExpress.XtraEditors.SimpleButton Friend WithEvents btnAppFolder As DevExpress.XtraEditors.SimpleButton + Friend WithEvents SimpleButton1 As DevExpress.XtraEditors.SimpleButton End Class diff --git a/EDMI_ClientSuite/frmConfigUser.resx b/EDMI_ClientSuite/frmConfigUser.resx index 3ee5ee40..8540ece9 100644 --- a/EDMI_ClientSuite/frmConfigUser.resx +++ b/EDMI_ClientSuite/frmConfigUser.resx @@ -125,6 +125,15 @@ Ym9uO1N0YW5kYXJkO0xvYWTxw8RjAAAAb0lEQVQ4T6XQ0Q2AIAwEUBbsMs7Q0ZzHFeqVRIJ6VQof7+fC XUiLmS2hYQYNM4qqChjhOS31fICVL8JKvb+BSBueHUB3cQCGB+oxmWjgVjj2TcAC8hzwx1+Fl34gXYb2 g6ky1BtMl1295AoajrNyArCYwjN4ThJYAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAArdEVYdFRpdGxlAE9wZW47Rm9sZGVyO0JhcnM7Umli + Ym9uO1N0YW5kYXJkO0xvYWTxw8RjAAAAb0lEQVQ4T6XQ0Q2AIAwEUBbsMs7Q0ZzHFeqVRIJ6VQof7+fC + XUiLmS2hYQYNM4qqChjhOS31fICVL8JKvb+BSBueHUB3cQCGB+oxmWjgVjj2TcAC8hzwx1+Fl34gXYb2 + g6ky1BtMl1295AoajrNyArCYwjN4ThJYAAAAAElFTkSuQmCC diff --git a/EDMI_ClientSuite/frmConfigUser.vb b/EDMI_ClientSuite/frmConfigUser.vb index 33b04302..44537f4f 100644 --- a/EDMI_ClientSuite/frmConfigUser.vb +++ b/EDMI_ClientSuite/frmConfigUser.vb @@ -1,4 +1,5 @@ -Imports System.IO +Imports System.Configuration +Imports System.IO Imports DigitalData.Modules.Logging Public Class frmConfigUser Private _Logger As Logger @@ -21,4 +22,9 @@ Public Class frmConfigUser Private Sub btnAppFolder_Click(sender As Object, e As EventArgs) Handles btnAppFolder.Click Process.Start(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)) End Sub + + Private Sub SimpleButton1_Click(sender As Object, e As EventArgs) Handles SimpleButton1.Click + Dim config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal) + MessageBox.Show(config.FilePath) + End Sub End Class \ No newline at end of file diff --git a/EDMI_ClientSuite/frmMain.Designer.vb b/EDMI_ClientSuite/frmMain.Designer.vb index 8efedc74..c667e950 100644 --- a/EDMI_ClientSuite/frmMain.Designer.vb +++ b/EDMI_ClientSuite/frmMain.Designer.vb @@ -35,6 +35,7 @@ Partial Class frmMain Me.BarButtonDashboard = New DevExpress.XtraBars.BarButtonItem() Me.BarButtonEntityDesigner = New DevExpress.XtraBars.BarButtonItem() Me.BarButtonDeleteControl = New DevExpress.XtraBars.BarButtonItem() + Me.LabelCurrentLanguage = New DevExpress.XtraBars.BarStaticItem() Me.RibbonPageCategoryEntityDesigner = New DevExpress.XtraBars.Ribbon.RibbonPageCategory() Me.RibbonPageControlActions = New DevExpress.XtraBars.Ribbon.RibbonPage() Me.RibbonPageGroup5 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() @@ -56,7 +57,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.LabelCurrentLanguage = New DevExpress.XtraBars.BarStaticItem() CType(Me.RibbonControl, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.MainMenu, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.DocumentManager, System.ComponentModel.ISupportInitialize).BeginInit() @@ -117,6 +117,7 @@ Partial Class frmMain Me.LabelCurrentUser.Caption = "Current User" Me.LabelCurrentUser.Id = 3 Me.LabelCurrentUser.ImageOptions.Image = CType(resources.GetObject("LabelCurrentUser.ImageOptions.Image"), System.Drawing.Image) + Me.LabelCurrentUser.ImageOptions.LargeImage = CType(resources.GetObject("LabelCurrentUser.ImageOptions.LargeImage"), System.Drawing.Image) Me.LabelCurrentUser.Name = "LabelCurrentUser" ' 'LabelCurrentMachine @@ -175,6 +176,12 @@ Partial Class frmMain Me.BarButtonDeleteControl.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonDeleteControl.ImageOptions.LargeImage"), System.Drawing.Image) Me.BarButtonDeleteControl.Name = "BarButtonDeleteControl" ' + 'LabelCurrentLanguage + ' + Me.LabelCurrentLanguage.Caption = "BarStaticItem1" + Me.LabelCurrentLanguage.Id = 15 + Me.LabelCurrentLanguage.Name = "LabelCurrentLanguage" + ' 'RibbonPageCategoryEntityDesigner ' Me.RibbonPageCategoryEntityDesigner.AutoStretchPageHeaders = True @@ -341,12 +348,6 @@ Partial Class frmMain Me.ProcessManagerOverview.Size = New System.Drawing.Size(337, 163) Me.ProcessManagerOverview.TabIndex = 0 ' - 'LabelCurrentLanguage - ' - Me.LabelCurrentLanguage.Caption = "BarStaticItem1" - Me.LabelCurrentLanguage.Id = 15 - Me.LabelCurrentLanguage.Name = "LabelCurrentLanguage" - ' 'frmMain ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) diff --git a/EDMI_ClientSuite/frmMain.resx b/EDMI_ClientSuite/frmMain.resx index 38fec89d..dc362ec9 100644 --- a/EDMI_ClientSuite/frmMain.resx +++ b/EDMI_ClientSuite/frmMain.resx @@ -244,51 +244,29 @@ - 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 + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAMnRFWHRUaXRsZQBDdXN0b21l + cjtFbXBsb3llZTtQZXJzb247Q29udGFjdDtVc2VyO0NsaWVudH4RNugAAADNSURBVDhPpdExDkFBFAXQ + X4jeMkg0Kir03xrsRaWxCIuQ6EXCGv4KqL8CkXGvzLzMPP8xoTgymXffDaZwzv3l9TFbbLUh7OHiHWAM + Sc4qaMEJnHKGNkjWKuiCXg56IFmrYAJNyzQFyVoFS2haJs4kaxWM4AF6mXf8cyVrFdAOdAHvktynAj7Z + DcIyz9nPGMzh6PH8lrEKOrCC+M155h1nktUFA9jAHfi119D3eOYdZ8wwmxSUcIXwm79htowLqmiYq4oL + ajXMUUvB71zxBKd8P7UB7yhRAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAMnRFWHRUaXRsZQBDdXN0b21l + cjtFbXBsb3llZTtQZXJzb247Q29udGFjdDtVc2VyO0NsaWVudH4RNugAAAH4SURBVFhHxdaxS1VhGMdx + QRcHh8BoVWppyL3VEApsCPpjoiFCF8FddHEPGhqFXGxVgoiGIAIlR7FoMEg4/n6H8xze571frw7e6/BZ + 3vO8z/fcex2caJrmVg0cPF/ZuY5leSe/5H/nWN7LC6E7SfRS3Gi4siHNFbaF7vail+JGw4WnQkHyUmhH + K3opbjRc8NdOMfJBaEcreiluNFz4LhQjP4R2tKKX4kbDhb9CMfJbaEcreiluNFyg0GX+Ce1oRS/FjYY7 + i0KhYXyHdvW9FDca7mwKRYbxHdrV91LcaLizJhQZxndoV99LcaPhzn05EQoRz/oO7ep7KW40XHgjFCOv + hHa0opfiRsOFR0Ix4lna0YpeihsNVz4KBUu7Qnd70Utxo+HKgpwJhc3PPEN3e9FLcaNh8ExOpY7/ET+j + O0n0Utxo+BJ35bX4J/kkb+We0OyA6KW40XBlEs5qU3CWRC/FjYYLj+WzPCjOav7r/yKepeet6KW4wfCc + rMg3id96T6alnp2RA4k531mVeUmz0UtxK4buyJb4/71YWNqXJ+Kv25bkq9Csd3iXd17rBR7KT6FltfMO + Pat5p3f3vRQ3PZyVQ6EFN8G7Z6NHL7BeDI/KevToBUb56cNh9OgF6MKNix69wFE9PAJH0Rt4gXHDw3HC + w3HCw/FpJi4ACnRMQSftMegAAAAASUVORK5CYII=