diff --git a/EDMI_ClientSuite/App.config b/EDMI_ClientSuite/App.config index fc72f0ac..9720616f 100644 --- a/EDMI_ClientSuite/App.config +++ b/EDMI_ClientSuite/App.config @@ -59,4 +59,18 @@ - \ No newline at end of file + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/EDMI_ClientSuite/ApplicationEvents.vb b/EDMI_ClientSuite/ApplicationEvents.vb new file mode 100644 index 00000000..bc254e28 --- /dev/null +++ b/EDMI_ClientSuite/ApplicationEvents.vb @@ -0,0 +1,10 @@ +Namespace My + ' Für MyApplication sind folgende Ereignisse verfügbar: + ' Startup: Wird beim Starten der Anwendung noch vor dem Erstellen des Startformulars ausgelöst. + ' Shutdown: Wird nach dem Schließen aller Anwendungsformulare ausgelöst. Dieses Ereignis wird nicht ausgelöst, wenn die Anwendung mit einem Fehler beendet wird. + ' UnhandledException: Wird bei einem Ausnahmefehler ausgelöst. + ' StartupNextInstance: Wird beim Starten einer Einzelinstanzanwendung ausgelöst, wenn die Anwendung bereits aktiv ist. + ' NetworkAvailabilityChanged: Wird beim Herstellen oder Trennen der Netzwerkverbindung ausgelöst. + Partial Friend Class MyApplication + End Class +End Namespace diff --git a/EDMI_ClientSuite/ClassInit.vb b/EDMI_ClientSuite/ClassInit.vb index dddd4769..c2346e4a 100644 --- a/EDMI_ClientSuite/ClassInit.vb +++ b/EDMI_ClientSuite/ClassInit.vb @@ -1,63 +1,40 @@ Imports DigitalData.Modules.Logging +Imports DigitalData.Modules.Logging.LogConfig Imports System.ServiceModel Imports EDMI_ClientSuite.NetworkService_DDEDM -Imports System.IO Public Class ClassInit - Private _ChannelFactory As ChannelFactory(Of IEDMServiceChannel) - Private _Channel As IEDMServiceChannel - Private _Logger As Logger - Private _MyLogger As LogConfig + Private Const OPEN_TIMEOUT = 10 + Private Const MAX_MESSAGE_SIZE = 2147483647 + Private Const MAX_BUFFER_SIZE = 2147483647 + Private Const MAX_ARRAY_LENGTH = 2147483647 + Private Const MAX_STRING_LENGTH = 2147483647 + Private Const MAX_CONNECTIONS = 10000 + + Public Property _LogConfig As LogConfig Public Sub New() - Dim oUserAppdata = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "Digital Data\EDMI_Client_Suite\Log") - - _MyLogger = New LogConfig(LogConfig.PathType.CustomPath, oUserAppdata) - _Logger = _MyLogger.GetLogger() - MyLogger = _Logger - MyLogConfig = _MyLogger - - Try - Dim binding As New NetTcpBinding() - binding.Security.Mode = SecurityMode.Transport - binding.Security.Transport.ClientCredentialType = TcpClientCredentialType.Windows - binding.MaxReceivedMessageSize = 2147483647 - binding.MaxBufferSize = 2147483647 - binding.MaxBufferPoolSize = 2147483647 - binding.MaxConnections = 10000 - binding.ReaderQuotas.MaxArrayLength = 2147483647 - binding.ReaderQuotas.MaxStringContentLength = 2147483647 - 'binding.TransferMode = TransferMode.Streamed - - Dim endpointAddress = New EndpointAddress(My.Settings.EDM_NetworkService_Adress) - _ChannelFactory = New ChannelFactory(Of IEDMServiceChannel)(binding, endpointAddress) - Connect2NetService() - Catch ex As Exception - _Logger.Error(ex) - End Try - - + _LogConfig = New LogConfig(PathType.AppData) End Sub - Private Function Connect2NetService() - Try - _Channel = Nothing - _Channel = _ChannelFactory.CreateChannel() - _Logger.Info("Successfully connected to EDM_Network Service") - AddHandler _Channel.Faulted, AddressOf Reconnect - - _Channel.Open() - Return True - Catch ex As Exception - _Logger.Error(ex) - Return False - End Try - + Public Function CreateService() As ChannelFactory(Of IEDMServiceChannel) + Return CreateChannelFactory() End Function - Private Sub Reconnect() - _Channel.Abort() - Connect2NetService() - End Sub + Private Function CreateChannelFactory() As ChannelFactory(Of IEDMServiceChannel) + Dim oBinding As New NetTcpBinding() + oBinding.Security.Mode = SecurityMode.Transport + oBinding.Security.Transport.ClientCredentialType = TcpClientCredentialType.Windows + oBinding.MaxReceivedMessageSize = MAX_MESSAGE_SIZE + oBinding.MaxBufferSize = MAX_BUFFER_SIZE + oBinding.MaxBufferPoolSize = MAX_BUFFER_SIZE + oBinding.MaxConnections = MAX_CONNECTIONS + oBinding.ReaderQuotas.MaxArrayLength = MAX_ARRAY_LENGTH + oBinding.ReaderQuotas.MaxStringContentLength = MAX_STRING_LENGTH + oBinding.OpenTimeout = New TimeSpan(0, 0, OPEN_TIMEOUT) + Dim oEndpointAddress = New EndpointAddress(My.Settings.EDM_NetworkService_Adress) + + Return New ChannelFactory(Of IEDMServiceChannel)(oBinding, oEndpointAddress) + End Function End Class diff --git a/EDMI_ClientSuite/ClassLayout.vb b/EDMI_ClientSuite/ClassLayout.vb new file mode 100644 index 00000000..ae2f22e4 --- /dev/null +++ b/EDMI_ClientSuite/ClassLayout.vb @@ -0,0 +1,27 @@ +Imports System.IO +Imports DevExpress.Utils.Serializing + +Public Class ClassLayout + Public Const LAYOUT_FOLDER = "Layout" + + Public Enum LayoutName + LayoutMain + End Enum + + Public Enum LayoutComponent + DockManager + DocumentManager + End Enum + + Public Shared Function GetLayoutPath(LayoutName As LayoutName, Component As LayoutComponent) As String + Dim oFileName As String = $"{LayoutName.ToString}-{Component.ToString}.xml" + Return IO.Path.Combine(GetAppDataFolder(), LAYOUT_FOLDER, oFileName) + End Function + + Private Shared Function GetAppDataFolder() As String + Dim oLocalAppData = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + Dim oProduct = My.Application.Info.ProductName + Dim oCompany = My.Application.Info.CompanyName + Return Path.Combine(oLocalAppData, oCompany, oProduct) + End Function +End Class diff --git a/EDMI_ClientSuite/ClassUtils.vb b/EDMI_ClientSuite/ClassUtils.vb new file mode 100644 index 00000000..f8d50e14 --- /dev/null +++ b/EDMI_ClientSuite/ClassUtils.vb @@ -0,0 +1,35 @@ +Public Class ClassUtils + ''' + ''' Generates a random short (8 characters) guid + ''' + ''' The generated guid as a String + Public Shared Function ShortGUID() As String + Return Guid.NewGuid().ToString().GetHashCode().ToString("x") + End Function + + ''' + ''' Converts a String value to the given Enum + ''' + ''' The Enum Type + ''' The string value to convert + Public Shared Function ToEnum(Of T)(value As String) As T + Return [Enum].Parse(GetType(T), value) + End Function + + ''' + ''' Checks a value for three different `null` values, + ''' Nothing, Empty String, DBNull + ''' + ''' Returns the original value if the value is not null, or `defaultValue` + ''' + ''' The type of the value + ''' The value + ''' The default Value + Public Function NotNull(Of T)(ByVal value As T, ByVal defaultValue As T) As T + If IsNothing(value) OrElse String.IsNullOrEmpty(value.ToString) OrElse IsDBNull(value) Then + Return defaultValue + Else + Return value + End If + End Function +End Class diff --git a/EDMI_ClientSuite/EDMI_ClientSuite.vbproj b/EDMI_ClientSuite/EDMI_ClientSuite.vbproj index bc9cc36e..573239e6 100644 --- a/EDMI_ClientSuite/EDMI_ClientSuite.vbproj +++ b/EDMI_ClientSuite/EDMI_ClientSuite.vbproj @@ -69,14 +69,78 @@ + + + + + + ..\packages\FirebirdSql.Data.FirebirdClient.6.4.0\lib\net452\FirebirdSql.Data.FirebirdClient.dll + + + ..\packages\FirebirdSql.EntityFrameworkCore.Firebird.6.4.0\lib\netstandard2.0\FirebirdSql.EntityFrameworkCore.Firebird.dll + + + + ..\packages\Microsoft.EntityFrameworkCore.2.0.3\lib\netstandard2.0\Microsoft.EntityFrameworkCore.dll + + + ..\packages\Microsoft.EntityFrameworkCore.Relational.2.0.3\lib\netstandard2.0\Microsoft.EntityFrameworkCore.Relational.dll + + + ..\packages\Microsoft.Extensions.Caching.Abstractions.2.0.2\lib\netstandard2.0\Microsoft.Extensions.Caching.Abstractions.dll + + + ..\packages\Microsoft.Extensions.Caching.Memory.2.0.2\lib\netstandard2.0\Microsoft.Extensions.Caching.Memory.dll + + + ..\packages\Microsoft.Extensions.Configuration.Abstractions.2.0.2\lib\netstandard2.0\Microsoft.Extensions.Configuration.Abstractions.dll + + + ..\packages\Microsoft.Extensions.DependencyInjection.2.0.0\lib\netstandard2.0\Microsoft.Extensions.DependencyInjection.dll + + + ..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.2.0.0\lib\netstandard2.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll + + + ..\packages\Microsoft.Extensions.Logging.2.0.2\lib\netstandard2.0\Microsoft.Extensions.Logging.dll + + + ..\packages\Microsoft.Extensions.Logging.Abstractions.2.0.2\lib\netstandard2.0\Microsoft.Extensions.Logging.Abstractions.dll + + + ..\packages\Microsoft.Extensions.Options.2.0.2\lib\netstandard2.0\Microsoft.Extensions.Options.dll + + + ..\packages\Microsoft.Extensions.Primitives.2.0.0\lib\netstandard2.0\Microsoft.Extensions.Primitives.dll + False ..\Modules.Logging\bin\Debug\NLog.dll + + ..\packages\Remotion.Linq.2.1.1\lib\net45\Remotion.Linq.dll + + + ..\packages\System.Collections.Immutable.1.4.0\lib\netstandard2.0\System.Collections.Immutable.dll + + + ..\packages\System.ComponentModel.Annotations.4.4.0\lib\net461\System.ComponentModel.Annotations.dll + + + + + ..\packages\System.Diagnostics.DiagnosticSource.4.4.1\lib\net46\System.Diagnostics.DiagnosticSource.dll + + + ..\packages\System.Interactive.Async.3.1.1\lib\net46\System.Interactive.Async.dll + + + ..\packages\System.Runtime.CompilerServices.Unsafe.4.4.0\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll + @@ -100,7 +164,10 @@ + + + True True @@ -112,16 +179,50 @@ Form + + + + + + + + + + + + frmStaticListEditor.vb + + + Form + + + ControlSnapPanel.vb + + + Component + + + frmEntityDesigner.vb + + + Form + + + frmDashboard.vb + + + Form + frmFileTest.vb Form - - frmMain2.vb + + frmMain.vb - + Form @@ -151,17 +252,46 @@ Settings.settings True + + + True + True + ControlProperties.resx + + + True + True + ControlProperties.en.resx + + + ProcessManagerOverview.vb + + + UserControl + DockManagerTest.vb + + frmStaticListEditor.vb + + + frmStaticListEditor.vb + + + frmEntityDesigner.vb + + + frmDashboard.vb + frmFileTest.vb - - frmMain2.vb + + frmMain.vb frmSplash.vb @@ -176,6 +306,19 @@ My.Resources Designer + + PublicResXFileCodeGenerator + ControlProperties.en.Designer.vb + My.Resources + + + PublicResXFileCodeGenerator + ControlProperties.Designer.vb + My.Resources + + + ProcessManagerOverview.vb + @@ -219,6 +362,7 @@ + @@ -265,6 +409,14 @@ {5b1171dc-fffe-4813-a20d-786aae47b320} EDMIFileOps + + {991d0231-4623-496d-8bd0-9ca906029cbc} + Filesystem + + + {3DCD6D1A-C830-4241-B7E4-27430E7EA483} + LookupControl + {903b2d7d-3b80-4be9-8713-7447b704e1b0} Logging diff --git a/EDMI_ClientSuite/EntityDesigner/ClassControlBuilder.vb b/EDMI_ClientSuite/EntityDesigner/ClassControlBuilder.vb new file mode 100644 index 00000000..faf70aea --- /dev/null +++ b/EDMI_ClientSuite/EntityDesigner/ClassControlBuilder.vb @@ -0,0 +1,70 @@ +Imports DigitalData.Controls.LookupGrid +Imports EDMI_ClientSuite.ClassControlUtils + +Public Class ClassControlBuilder +#Region "State" + Private _DesignMode As Boolean +#End Region + +#Region "Constants" + Private DEFAULT_SIZE As Size = New Size(200, 27) + + Private DEFAULT_TEXT As String = "Unnamed Control" +#End Region + + Public Sub New(DesignMode As Boolean) + _DesignMode = DesignMode + End Sub + + Private Function GetRandomControlName(Name As String) + Return $"{Name}-{ClassUtils.ShortGUID()}" + End Function + + Public Function CreateLabel() As Label + Dim Metadata As New ControlMetadata() With { + .Id = 4711, + .Type = ControlType.Label + } + + Dim oLabel As New Label() With { + .Name = GetRandomControlName("Label"), + .Text = DEFAULT_TEXT, + .AutoSize = False, + .Size = DEFAULT_SIZE, + .Tag = Metadata + } + + Return oLabel + End Function + + Public Function CreateTextbox() As TextBox + Dim Metadata As New ControlMetadata() With { + .Id = 4711, + .Type = ControlType.TextBox + } + + Dim oTextbox As New TextBox() With { + .Name = GetRandomControlName("Textbox"), + .Size = DEFAULT_SIZE, + .Tag = Metadata + } + + Return oTextbox + End Function + + Public Function CreateCombobox() As LookupControl + Dim Metadata As New ControlMetadata() With { + .Id = 4711, + .Type = ControlType.Combobox + } + + Dim oCombobox As New LookupControl() With { + .Name = GetRandomControlName("Combobox"), + .Size = DEFAULT_SIZE, + .Tag = Metadata + } + + Return oCombobox + End Function + +End Class diff --git a/EDMI_ClientSuite/EntityDesigner/ClassControlLocalization.vb b/EDMI_ClientSuite/EntityDesigner/ClassControlLocalization.vb new file mode 100644 index 00000000..95ab1efc --- /dev/null +++ b/EDMI_ClientSuite/EntityDesigner/ClassControlLocalization.vb @@ -0,0 +1,27 @@ +Imports System.ComponentModel + +Public Class ClassControlLocalization + Private Shared Function Lookup(key As String) + Try + Return My.Resources.ControlProperties.ResourceManager.GetString(key) + Catch ex As Exception + Return key + End Try + End Function + + Public Class LocalizedDescriptionAttribute + Inherits DescriptionAttribute + + Public Sub New(key As String) + MyBase.New(Lookup(key)) + End Sub + End Class + + Public Class LocalizedCategoryAttribute + Inherits CategoryAttribute + + Public Sub New(key As String) + MyBase.New(Lookup(key)) + End Sub + End Class +End Class diff --git a/EDMI_ClientSuite/EntityDesigner/ClassControlUtils.vb b/EDMI_ClientSuite/EntityDesigner/ClassControlUtils.vb new file mode 100644 index 00000000..2fd6517f --- /dev/null +++ b/EDMI_ClientSuite/EntityDesigner/ClassControlUtils.vb @@ -0,0 +1,14 @@ +Public Class ClassControlUtils + Public Enum ControlType + Label = 0 + TextBox = 1 + Combobox = 2 + End Enum + + Public Class ControlMetadata + Public Id As Integer + Public Type As ControlType + End Class + + +End Class diff --git a/EDMI_ClientSuite/EntityDesigner/ControlProperties/BaseClasses/ClassBaseProperties.vb b/EDMI_ClientSuite/EntityDesigner/ControlProperties/BaseClasses/ClassBaseProperties.vb new file mode 100644 index 00000000..7f2ec34f --- /dev/null +++ b/EDMI_ClientSuite/EntityDesigner/ControlProperties/BaseClasses/ClassBaseProperties.vb @@ -0,0 +1,40 @@ +Imports System.ComponentModel +Imports EDMI_ClientSuite.ClassControlLocalization +Imports EDMI_ClientSuite.ClassControlUtils + +Namespace ControlProperties + Public MustInherit Class ClassBaseProperties + + + + <[ReadOnly](True)> + Public Property Id As Integer + + + + <[ReadOnly](True)> + Public Property Type As ControlType + + + + Public Property Name As String + + + + Public Property Location As Point + + + + Public Property Size As Size + + + + Public Property Font() As Font + + + + Public Property Color() As Color + + End Class +End Namespace + diff --git a/EDMI_ClientSuite/EntityDesigner/ControlProperties/BaseClasses/ClassInputProperties.vb b/EDMI_ClientSuite/EntityDesigner/ControlProperties/BaseClasses/ClassInputProperties.vb new file mode 100644 index 00000000..b82463e5 --- /dev/null +++ b/EDMI_ClientSuite/EntityDesigner/ControlProperties/BaseClasses/ClassInputProperties.vb @@ -0,0 +1,27 @@ +Imports EDMI_ClientSuite.ClassControlLocalization + +Namespace ControlProperties + Public MustInherit Class ClassInputProperties + Inherits ClassBaseProperties + + + + Public Property IsRequired() As Boolean + + + + Public Property IsReadOnly() As Boolean + + + + Public Property DefaultValue() As String + + + + Public Property TabIndex() As Integer + + + + Public Property TabStop() As Boolean + End Class +End Namespace diff --git a/EDMI_ClientSuite/EntityDesigner/ControlProperties/BaseClasses/ClassMultiInputProperties.vb b/EDMI_ClientSuite/EntityDesigner/ControlProperties/BaseClasses/ClassMultiInputProperties.vb new file mode 100644 index 00000000..faa2cc44 --- /dev/null +++ b/EDMI_ClientSuite/EntityDesigner/ControlProperties/BaseClasses/ClassMultiInputProperties.vb @@ -0,0 +1,27 @@ +Imports System.ComponentModel +Imports System.Drawing.Design +Imports DevExpress.XtraEditors.Repository +Imports EDMI_ClientSuite.ClassControlLocalization + +Namespace ControlProperties + + + + Public Class ClassMultiInputProperties + Inherits ClassInputProperties + + Private _static_list As String + + + + Public Property StaticList As StaticList + Get + Return New StaticList(_static_list) + End Get + Set(value As StaticList) + _static_list = value?.Value + End Set + End Property + End Class + +End Namespace diff --git a/EDMI_ClientSuite/EntityDesigner/ControlProperties/Controls/ClassComboboxProperties.vb b/EDMI_ClientSuite/EntityDesigner/ControlProperties/Controls/ClassComboboxProperties.vb new file mode 100644 index 00000000..996c49cb --- /dev/null +++ b/EDMI_ClientSuite/EntityDesigner/ControlProperties/Controls/ClassComboboxProperties.vb @@ -0,0 +1,7 @@ +Namespace ControlProperties + Public Class ClassComboboxProperties + Inherits ClassMultiInputProperties + End Class + +End Namespace + diff --git a/EDMI_ClientSuite/EntityDesigner/ControlProperties/Controls/ClassLabelProperties.vb b/EDMI_ClientSuite/EntityDesigner/ControlProperties/Controls/ClassLabelProperties.vb new file mode 100644 index 00000000..392b8e99 --- /dev/null +++ b/EDMI_ClientSuite/EntityDesigner/ControlProperties/Controls/ClassLabelProperties.vb @@ -0,0 +1,14 @@ +Imports System.ComponentModel +Imports EDMI_ClientSuite.ClassControlLocalization + +Namespace ControlProperties + Public Class ClassLabelProperties + Inherits ClassBaseProperties + + + + Public Property Caption As String + End Class + +End Namespace + diff --git a/EDMI_ClientSuite/EntityDesigner/ControlProperties/Controls/ClassTextboxProperties.vb b/EDMI_ClientSuite/EntityDesigner/ControlProperties/Controls/ClassTextboxProperties.vb new file mode 100644 index 00000000..dd58222b --- /dev/null +++ b/EDMI_ClientSuite/EntityDesigner/ControlProperties/Controls/ClassTextboxProperties.vb @@ -0,0 +1,13 @@ +Imports System.ComponentModel +Imports EDMI_ClientSuite.ClassControlLocalization + +Namespace ControlProperties + Public Class ClassTextboxProperties + Inherits ClassInputProperties + + + + + Public Property Multiline() As Boolean + End Class +End Namespace diff --git a/EDMI_ClientSuite/EntityDesigner/ControlProperties/Editors/ClassStaticListEditor.vb b/EDMI_ClientSuite/EntityDesigner/ControlProperties/Editors/ClassStaticListEditor.vb new file mode 100644 index 00000000..9baaca18 --- /dev/null +++ b/EDMI_ClientSuite/EntityDesigner/ControlProperties/Editors/ClassStaticListEditor.vb @@ -0,0 +1,72 @@ +Imports System.ComponentModel +'Imports System.ComponentModel.Design +Imports System.Drawing.Design +'Imports System.Windows.Forms +Imports System.Windows.Forms.Design + +Public Class ClassStaticListEditor + Inherits UITypeEditor + + Public Overrides Function GetEditStyle(context As ITypeDescriptorContext) As UITypeEditorEditStyle + Return UITypeEditorEditStyle.Modal + End Function + + Public Overrides Function EditValue(context As ITypeDescriptorContext, provider As IServiceProvider, value As Object) As Object + Dim oService As IWindowsFormsEditorService = TryCast(provider.GetService(GetType(IWindowsFormsEditorService)), IWindowsFormsEditorService) + Dim oStaticListString As String = DirectCast(value, StaticList).Value + + If oService IsNot Nothing AndAlso oStaticListString IsNot Nothing Then + Using oForm As New frmStaticListEditor() + oStaticListString = oStaticListString.Replace(";", vbNewLine) ' Semikolon zu vbNewLine + oForm.Value = oStaticListString + If oService.ShowDialog(oForm) = DialogResult.OK Then + Dim oString As String = oForm.Value.Replace(vbNewLine, ";") ' vbNewLine zu Semikolon + Dim oStaticList As New StaticList(oString) + value = oStaticList + End If + End Using + End If + + Return value + End Function +End Class + + + +Public Class StaticList + + Public Sub New() + _Value = String.Empty + End Sub + + Public Sub New(Value As String) + _Value = Value + End Sub + + Public Property Value As String +End Class + +Public Class StaticListTypeConverter + Inherits TypeConverter + + + Public Overrides Function ToString() As String + Return MyBase.ToString() + End Function + + ' Diese Funktion gibt den String zurück, der im PropertyGrid für den Benutzer sichtbar ist, kann ruhig etwas hübscher sein als foo;bar;baz + Public Overrides Function ConvertTo(context As ITypeDescriptorContext, culture As Globalization.CultureInfo, value As Object, destinationType As Type) As Object + Dim oStaticListString = String.Empty + + If TypeOf value Is StaticList Then + Dim oStaticList As StaticList = DirectCast(value, StaticList) + oStaticListString = oStaticList.Value + ElseIf TypeOf value Is String Then + oStaticListString = value + Else + MsgBox("Error in Converting StaticList value") + End If + + Return oStaticListString.Replace(";", ", ") + End Function +End Class diff --git a/EDMI_ClientSuite/EntityDesigner/ControlProperties/Editors/frmStaticListEditor.Designer.vb b/EDMI_ClientSuite/EntityDesigner/ControlProperties/Editors/frmStaticListEditor.Designer.vb new file mode 100644 index 00000000..e9eb2566 --- /dev/null +++ b/EDMI_ClientSuite/EntityDesigner/ControlProperties/Editors/frmStaticListEditor.Designer.vb @@ -0,0 +1,81 @@ + _ +Partial Class frmStaticListEditor + Inherits System.Windows.Forms.Form + + '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 + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmStaticListEditor)) + Me.txtValue = New System.Windows.Forms.TextBox() + Me.Button1 = New System.Windows.Forms.Button() + Me.Label1 = New System.Windows.Forms.Label() + Me.Label2 = New System.Windows.Forms.Label() + Me.Button2 = New System.Windows.Forms.Button() + Me.SuspendLayout() + ' + 'txtValue + ' + resources.ApplyResources(Me.txtValue, "txtValue") + Me.txtValue.Name = "txtValue" + ' + 'Button1 + ' + resources.ApplyResources(Me.Button1, "Button1") + Me.Button1.DialogResult = System.Windows.Forms.DialogResult.OK + Me.Button1.Name = "Button1" + Me.Button1.UseVisualStyleBackColor = True + ' + 'Label1 + ' + resources.ApplyResources(Me.Label1, "Label1") + Me.Label1.Name = "Label1" + ' + 'Label2 + ' + resources.ApplyResources(Me.Label2, "Label2") + Me.Label2.Name = "Label2" + ' + 'Button2 + ' + resources.ApplyResources(Me.Button2, "Button2") + Me.Button2.DialogResult = System.Windows.Forms.DialogResult.Cancel + Me.Button2.Name = "Button2" + Me.Button2.UseVisualStyleBackColor = True + ' + 'frmStaticListEditor + ' + resources.ApplyResources(Me, "$this") + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.Controls.Add(Me.Button2) + Me.Controls.Add(Me.Label2) + Me.Controls.Add(Me.Label1) + Me.Controls.Add(Me.Button1) + Me.Controls.Add(Me.txtValue) + Me.Name = "frmStaticListEditor" + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents txtValue As System.Windows.Forms.TextBox + Friend WithEvents Button1 As System.Windows.Forms.Button + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents Label2 As System.Windows.Forms.Label + Friend WithEvents Button2 As System.Windows.Forms.Button +End Class diff --git a/EDMI_ClientSuite/EntityDesigner/ControlProperties/Editors/frmStaticListEditor.en-US.resx b/EDMI_ClientSuite/EntityDesigner/ControlProperties/Editors/frmStaticListEditor.en-US.resx new file mode 100644 index 00000000..9250f51e --- /dev/null +++ b/EDMI_ClientSuite/EntityDesigner/ControlProperties/Editors/frmStaticListEditor.en-US.resx @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Save + + + + 159, 13 + + + Enter Listelements (One per line) + + + Cancel + + + Edit Static List + + \ No newline at end of file diff --git a/EDMI_ClientSuite/EntityDesigner/ControlProperties/Editors/frmStaticListEditor.resx b/EDMI_ClientSuite/EntityDesigner/ControlProperties/Editors/frmStaticListEditor.resx new file mode 100644 index 00000000..d2989568 --- /dev/null +++ b/EDMI_ClientSuite/EntityDesigner/ControlProperties/Editors/frmStaticListEditor.resx @@ -0,0 +1,279 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 3 + + + 1 + + + + 6, 13 + + + Listenelemente eingeben (Ein Element pro Zeile) + + + 12, 235 + + + Statische Liste bearbeiten + + + + Bottom, Right + + + 234, 13 + + + Top, Bottom, Left, Right + + + 75, 23 + + + Button2 + + + True + + + Bottom, Left + + + 12, 227 + + + 3 + + + System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + 0, 13 + + + 431, 230 + + + 4 + + + $this + + + $this + + + 75, 23 + + + 0, 0 + + + $this + + + $this + + + 1 + + + 0 + + + CenterScreen + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 518, 265 + + + 516, 224 + + + Label1 + + + Label2 + + + 2 + + + 4 + + + 0 + + + txtValue + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Button1 + + + Speichern + + + True + + + 350, 230 + + + 2 + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Bottom, Right + + + frmStaticListEditor + + + Abbrechen + + + True + + \ No newline at end of file diff --git a/EDMI_ClientSuite/EntityDesigner/ControlProperties/Editors/frmStaticListEditor.vb b/EDMI_ClientSuite/EntityDesigner/ControlProperties/Editors/frmStaticListEditor.vb new file mode 100644 index 00000000..4ca1596e --- /dev/null +++ b/EDMI_ClientSuite/EntityDesigner/ControlProperties/Editors/frmStaticListEditor.vb @@ -0,0 +1,19 @@ +Public Class frmStaticListEditor + + Public Property Value() As String + Get + Return txtValue.Text + End Get + Set(value As String) + txtValue.Text = value + End Set + End Property + + Private Sub frmStaticListEditor_Load(sender As Object, e As EventArgs) Handles MyBase.Load + 'noop + End Sub + + Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click + + End Sub +End Class \ No newline at end of file diff --git a/EDMI_ClientSuite/EntityDesigner/ControlSnapPanel.Designer.vb b/EDMI_ClientSuite/EntityDesigner/ControlSnapPanel.Designer.vb new file mode 100644 index 00000000..36e9204e --- /dev/null +++ b/EDMI_ClientSuite/EntityDesigner/ControlSnapPanel.Designer.vb @@ -0,0 +1,47 @@ +Partial Class ControlSnapPanel + Inherits Panel + + _ + Public Sub New(ByVal container As System.ComponentModel.IContainer) + MyClass.New() + + 'Erforderlich für die Unterstützung des Windows.Forms-Klassenkompositions-Designers + If (container IsNot Nothing) Then + container.Add(Me) + End If + + End Sub + + _ + Public Sub New() + MyBase.New() + + 'Dieser Aufruf ist für den Komponenten-Designer erforderlich. + InitializeComponent() + + End Sub + + 'Die Komponente überschreibt den Löschvorgang zum Bereinigen der Komponentenliste. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Komponenten-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Komponenten-Designer erforderlich. + 'Das Bearbeiten ist mit dem Komponenten-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + components = New System.ComponentModel.Container() + End Sub + +End Class diff --git a/EDMI_ClientSuite/EntityDesigner/ControlSnapPanel.vb b/EDMI_ClientSuite/EntityDesigner/ControlSnapPanel.vb new file mode 100644 index 00000000..28807130 --- /dev/null +++ b/EDMI_ClientSuite/EntityDesigner/ControlSnapPanel.vb @@ -0,0 +1,56 @@ +Public Class ControlSnapPanel + Inherits Panel + + Private _ShowGrid As Boolean = True + Private _GridSize As Integer = 16 + + Private Property AutoScaleMode As AutoScaleMode + + Public Property GridSize As Integer + Get + Return _GridSize + End Get + Set(value As Integer) + _GridSize = value + Refresh() + End Set + End Property + + Public Property ShowGrid As Boolean + Get + Return _ShowGrid + End Get + Set(value As Boolean) + _ShowGrid = value + Refresh() + End Set + End Property + + Protected Overrides Sub OnControlAdded(e As ControlEventArgs) + AddHandler e.Control.LocationChanged, AddressOf AlignToGrid + AddHandler e.Control.DragDrop, AddressOf AlignToGrid + MyBase.OnControlAdded(e) + End Sub + + Protected Overrides Sub OnControlRemoved(e As ControlEventArgs) + RemoveHandler e.Control.LocationChanged, AddressOf AlignToGrid + RemoveHandler e.Control.DragDrop, AddressOf AlignToGrid + MyBase.OnControlRemoved(e) + End Sub + + Protected Overrides Sub OnPaint(e As PaintEventArgs) + If _ShowGrid Then + ControlPaint.DrawGrid(e.Graphics, ClientRectangle, New Size(_GridSize, _GridSize), BackColor) + End If + MyBase.OnPaint(e) + End Sub + + Private Sub AlignToGrid(sender As Object, e As EventArgs) + If _ShowGrid Then + Dim item As Control = CType(sender, Control) + Dim x As Integer = Math.Round(item.Left / _GridSize) * _GridSize + Dim y As Integer = Math.Round(item.Top / _GridSize) * _GridSize + item.Location = New Point(x, y) + End If + End Sub +End Class diff --git a/EDMI_ClientSuite/EntityDesigner/frmEntityDesigner.Designer.vb b/EDMI_ClientSuite/EntityDesigner/frmEntityDesigner.Designer.vb new file mode 100644 index 00000000..ba5b306a --- /dev/null +++ b/EDMI_ClientSuite/EntityDesigner/frmEntityDesigner.Designer.vb @@ -0,0 +1,157 @@ + +Partial Class frmEntityDesigner + Inherits DevExpress.XtraEditors.XtraForm + + '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 + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + + Private Sub InitializeComponent() + Me.PanelMain = New EDMI_ClientSuite.ControlSnapPanel() + Me.TabControlMain = New DevExpress.XtraTab.XtraTabControl() + Me.TabPageControls = New DevExpress.XtraTab.XtraTabPage() + 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() + CType(Me.TabControlMain, System.ComponentModel.ISupportInitialize).BeginInit() + Me.TabControlMain.SuspendLayout() + Me.TabPageControls.SuspendLayout() + Me.TabPageProperties.SuspendLayout() + CType(Me.PropertyGridMain, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.SplitContainerControlMain, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainerControlMain.SuspendLayout() + Me.SuspendLayout() + ' + 'PanelMain + ' + Me.PanelMain.AllowDrop = True + Me.PanelMain.Dock = System.Windows.Forms.DockStyle.Fill + Me.PanelMain.GridSize = 8 + Me.PanelMain.Location = New System.Drawing.Point(0, 0) + Me.PanelMain.Name = "PanelMain" + Me.PanelMain.ShowGrid = True + Me.PanelMain.Size = New System.Drawing.Size(564, 450) + Me.PanelMain.TabIndex = 0 + ' + 'TabControlMain + ' + Me.TabControlMain.Dock = System.Windows.Forms.DockStyle.Fill + Me.TabControlMain.Location = New System.Drawing.Point(0, 0) + Me.TabControlMain.Name = "TabControlMain" + Me.TabControlMain.SelectedTabPage = Me.TabPageControls + Me.TabControlMain.Size = New System.Drawing.Size(224, 450) + Me.TabControlMain.TabIndex = 0 + Me.TabControlMain.TabPages.AddRange(New DevExpress.XtraTab.XtraTabPage() {Me.TabPageControls, Me.TabPageProperties}) + ' + 'TabPageControls + ' + Me.TabPageControls.Controls.Add(Me.btnCombobox) + Me.TabPageControls.Controls.Add(Me.btnTextbox) + Me.TabPageControls.Controls.Add(Me.btnLabel) + Me.TabPageControls.Name = "TabPageControls" + Me.TabPageControls.Size = New System.Drawing.Size(222, 425) + Me.TabPageControls.Text = "Controls" + ' + 'btnTextbox + ' + Me.btnTextbox.Location = New System.Drawing.Point(15, 48) + Me.btnTextbox.Name = "btnTextbox" + Me.btnTextbox.Size = New System.Drawing.Size(122, 23) + Me.btnTextbox.TabIndex = 1 + Me.btnTextbox.Text = "Textbox" + Me.btnTextbox.UseVisualStyleBackColor = True + ' + 'btnLabel + ' + Me.btnLabel.Location = New System.Drawing.Point(15, 19) + Me.btnLabel.Name = "btnLabel" + Me.btnLabel.Size = New System.Drawing.Size(122, 23) + Me.btnLabel.TabIndex = 0 + Me.btnLabel.Text = "Label" + Me.btnLabel.UseVisualStyleBackColor = True + ' + 'TabPageProperties + ' + Me.TabPageProperties.Controls.Add(Me.PropertyGridMain) + Me.TabPageProperties.Name = "TabPageProperties" + Me.TabPageProperties.Size = New System.Drawing.Size(222, 425) + Me.TabPageProperties.Text = "Properties" + ' + 'PropertyGridMain + ' + Me.PropertyGridMain.Dock = System.Windows.Forms.DockStyle.Fill + Me.PropertyGridMain.Location = New System.Drawing.Point(0, 0) + Me.PropertyGridMain.Name = "PropertyGridMain" + Me.PropertyGridMain.Size = New System.Drawing.Size(222, 425) + Me.PropertyGridMain.TabIndex = 0 + ' + 'SplitContainerControlMain + ' + Me.SplitContainerControlMain.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainerControlMain.FixedPanel = DevExpress.XtraEditors.SplitFixedPanel.Panel2 + Me.SplitContainerControlMain.Location = New System.Drawing.Point(0, 0) + Me.SplitContainerControlMain.Name = "SplitContainerControlMain" + Me.SplitContainerControlMain.Panel1.Controls.Add(Me.PanelMain) + Me.SplitContainerControlMain.Panel1.Text = "Panel1" + Me.SplitContainerControlMain.Panel2.Controls.Add(Me.TabControlMain) + Me.SplitContainerControlMain.Panel2.Text = "Panel2" + Me.SplitContainerControlMain.Size = New System.Drawing.Size(800, 450) + Me.SplitContainerControlMain.SplitterPosition = 224 + Me.SplitContainerControlMain.TabIndex = 1 + Me.SplitContainerControlMain.Text = "SplitContainerControl1" + ' + 'btnCombobox + ' + 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 + ' + 'frmEntityDesigner + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(800, 450) + Me.Controls.Add(Me.SplitContainerControlMain) + Me.Name = "frmEntityDesigner" + Me.Text = "Entitäten Designer" + CType(Me.TabControlMain, System.ComponentModel.ISupportInitialize).EndInit() + Me.TabControlMain.ResumeLayout(False) + Me.TabPageControls.ResumeLayout(False) + Me.TabPageProperties.ResumeLayout(False) + CType(Me.PropertyGridMain, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.SplitContainerControlMain, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainerControlMain.ResumeLayout(False) + Me.ResumeLayout(False) + + End Sub + Friend WithEvents TabControlMain As DevExpress.XtraTab.XtraTabControl + Friend WithEvents TabPageProperties As DevExpress.XtraTab.XtraTabPage + Friend WithEvents PropertyGridMain As DevExpress.XtraVerticalGrid.PropertyGridControl + Friend WithEvents TabPageControls As DevExpress.XtraTab.XtraTabPage + Friend WithEvents PanelMain As ControlSnapPanel + Friend WithEvents btnTextbox As Button + Friend WithEvents btnLabel As Button + Friend WithEvents SplitContainerControlMain As DevExpress.XtraEditors.SplitContainerControl + Friend WithEvents btnCombobox As Button +End Class diff --git a/EDMI_ClientSuite/EntityDesigner/frmEntityDesigner.resx b/EDMI_ClientSuite/EntityDesigner/frmEntityDesigner.resx new file mode 100644 index 00000000..1af7de15 --- /dev/null +++ b/EDMI_ClientSuite/EntityDesigner/frmEntityDesigner.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/EDMI_ClientSuite/EntityDesigner/frmEntityDesigner.vb b/EDMI_ClientSuite/EntityDesigner/frmEntityDesigner.vb new file mode 100644 index 00000000..9e0a47ee --- /dev/null +++ b/EDMI_ClientSuite/EntityDesigner/frmEntityDesigner.vb @@ -0,0 +1,257 @@ +Imports DevExpress.XtraEditors.Repository +Imports DevExpress.XtraVerticalGrid +Imports EDMI_ClientSuite.ClassControlUtils +Imports EDMI_ClientSuite.ControlProperties + +Public Class frmEntityDesigner + Private _IsMouseDown As Boolean = False + Private _IsMouseMoving As Boolean = False + + Private _BeginPosition As Point = Nothing + Private _EndPosition As Point = Nothing + Private _LastCursorPosition As Point = Nothing + + Private _CurrentControl As Control = Nothing + Private _ControlBuilder As ClassControlBuilder = Nothing + + Private _DragDropButtonList As New List(Of Button) + + Private Sub frmEntityDesigner_Load(sender As Object, e As EventArgs) Handles Me.Load + ' Assign Control Types to DragDrop Buttons + btnLabel.Tag = ControlType.Label + btnTextbox.Tag = ControlType.TextBox + btnCombobox.Tag = ControlType.Combobox + + ' Add Default Editors for certain datatypes in the PropertyGrid + Dim oColorEditor = New RepositoryItemColorEdit() + Dim oBooleanEditor = New RepositoryItemCheckEdit() + + PropertyGridMain.DefaultEditors.Add(GetType(Color), oColorEditor) + PropertyGridMain.DefaultEditors.Add(GetType(Boolean), oBooleanEditor) + + ' Create the control builder + _ControlBuilder = New ClassControlBuilder(DesignMode:=True) + + ' Create a list of all DragDrop buttons + _DragDropButtonList.Add(btnLabel) + _DragDropButtonList.Add(btnTextbox) + _DragDropButtonList.Add(btnCombobox) + + ' Add EventHandlers for each button + For Each oButton As Button In _DragDropButtonList + AddHandler oButton.MouseDown, AddressOf DragDropButton_MouseDown + AddHandler oButton.MouseMove, AddressOf DragDropButton_MouseMove + Next + End Sub + +#Region "Control Buttons Events" + Private Sub DragDropButton_MouseDown(sender As Object, e As MouseEventArgs) + _IsMouseDown = True + End Sub + + Private Sub DragDropButton_MouseMove(sender As Button, e As MouseEventArgs) + If _IsMouseDown Then + Dim oButton = sender + Dim oType As ControlType = oButton.Tag + + oButton.DoDragDrop(oType.ToString, DragDropEffects.Copy) + End If + End Sub + + Private Sub SnapPanelMain_DragEnter(sender As Object, e As DragEventArgs) Handles PanelMain.DragEnter + If (e.Data.GetDataPresent(DataFormats.Text)) Then + e.Effect = DragDropEffects.Copy + Else + e.Effect = DragDropEffects.None + End If + End Sub + + Private Sub SnapPanelMain_DragDrop(sender As Object, e As DragEventArgs) Handles PanelMain.DragDrop + Dim data As String = e.Data.GetData(DataFormats.Text) + Dim type = ClassUtils.ToEnum(Of ClassControlUtils.ControlType)(data) + + HandleDragDrop(type) + End Sub +#End Region + +#Region "Control Events" + Private Sub Control_MouseDown(sender As Control, e As MouseEventArgs) + If e.Button = MouseButtons.Left Then + _CurrentControl = sender + _BeginPosition = e.Location + + ' Set the mode flag to signal the MouseMove event handler that it + ' needs to now calculate new positions for our control + _IsMouseMoving = True + End If + End Sub + + Private Sub Control_MouseMove(sender As Object, e As MouseEventArgs) + If _CurrentControl Is Nothing Or Not _IsMouseMoving Then + Exit Sub + End If + + Cursor = Cursors.Hand + + Dim oCursorPosition As Point = PanelMain.PointToClient(Cursor.Position) + Dim oNewPosition As New Point(oCursorPosition.X - _BeginPosition.X, oCursorPosition.Y - _BeginPosition.Y) + + ' If control will be moved out the of bounds of the panel at TOP/LEFT side, exit. + If oNewPosition.X < 0 Or oNewPosition.Y < 0 Then + Exit Sub + End If + + _CurrentControl.Location = oNewPosition + End Sub + + Private Sub Control_MouseUp(sender As Object, e As MouseEventArgs) + If Not _IsMouseMoving Then + Exit Sub + End If + + _IsMouseMoving = False + _EndPosition = e.Location + + Cursor = Cursors.Default + End Sub + + Private Sub Control_MouseClick(sender As Control, e As MouseEventArgs) + TabControlMain.SelectedTabPage = TabPageProperties + HandleLoadProperties(sender) + End Sub + + Private Sub Control_MouseEnter(sender As Control, e As EventArgs) + Cursor = Cursors.Hand + End Sub + + Private Sub Control_MouseLeave(sender As Control, e As EventArgs) + Cursor = Cursors.Default + End Sub + + Private Sub SetEventHandlers(Control As Control) + AddHandler Control.MouseDown, AddressOf Control_MouseDown + AddHandler Control.MouseMove, AddressOf Control_MouseMove + AddHandler Control.MouseUp, AddressOf Control_MouseUp + AddHandler Control.MouseClick, AddressOf Control_MouseClick + AddHandler Control.MouseEnter, AddressOf Control_MouseEnter + AddHandler Control.MouseLeave, AddressOf Control_MouseLeave + End Sub +#End Region + + Private Sub HandleLoadProperties(Control As Control) + Dim oMetadata As ControlMetadata = Control.Tag + Dim oType = oMetadata.Type + Dim oProps As ClassBaseProperties = Nothing + + Select Case oType + Case ControlType.Label + oProps = New ClassLabelProperties With { + .Id = oMetadata.Id, + .Name = Control.Name, + .Type = oType, + .Location = Control.Location, + .Size = Control.Size, + .Font = Control.Font, + .Color = Control.ForeColor, + .Caption = Control.Text + } + Case ControlType.TextBox + oProps = New ClassTextboxProperties With { + .Id = oMetadata.Id, + .Name = Control.Name, + .Type = oType, + .Location = Control.Location, + .Size = Control.Size, + .Font = Control.Font, + .Color = ForeColor, + .IsReadOnly = False, + .IsRequired = False, + .Multiline = False, + .TabIndex = 0, + .TabStop = 1, + .DefaultValue = "" + } + Case ControlType.Combobox + oProps = New ClassComboboxProperties() With { + .Id = oMetadata.Id, + .Name = Control.Name, + .Type = oType, + .Location = Control.Location, + .Size = Control.Size, + .Font = Control.Font, + .Color = ForeColor, + .IsReadOnly = False, + .IsRequired = False, + .TabIndex = 0, + .TabStop = 1, + .DefaultValue = "", + .StaticList = New StaticList() + } + Case Else + Exit Sub + End Select + + PropertyGridMain.SelectedObject = oProps + End Sub + + Private Sub HandleDragDrop(type As ControlType) + Dim oCursorPosition As Point = PanelMain.PointToClient(Cursor.Position) + Dim oControl As Control = Nothing + + Select Case type + Case ControlType.Label + oControl = _ControlBuilder.CreateLabel() + Case ControlType.TextBox + oControl = _ControlBuilder.CreateTextbox() + Case ControlType.Combobox + oControl = _ControlBuilder.CreateCombobox() + Case Else + MsgBox($"Unknown Control Type {type.ToString}") + Exit Sub + End Select + + ' Set Location to current cursor position + oControl.Location = oCursorPosition + + ' Attach Eventhandlers + SetEventHandlers(oControl) + + ' Add the control to the panel + PanelMain.Controls.Add(oControl) + End Sub + + Private Sub PropertyGridMain_RowChanged(sender As Object, e As DevExpress.XtraVerticalGrid.Events.RowChangedEventArgs) Handles PropertyGridMain.RowChanged + If e.ChangeType <> RowChangeTypeEnum.Value Then + Exit Sub + End If + + Dim oPropertyName As String = e.Properties.FieldName + Dim oPropertyValue = e.Properties.Value + + + Select Case oPropertyName + Case "Name" + _CurrentControl.Name = oPropertyValue + Case "Location" + _CurrentControl.Location = oPropertyValue + Case "X" + _CurrentControl.Location = New Point(oPropertyValue, _CurrentControl.Location.Y) + Case "Y" + _CurrentControl.Location = New Point(_CurrentControl.Location.X, oPropertyValue) + Case "Size" + _CurrentControl.Size = oPropertyValue + Case "Width" + _CurrentControl.Size = New Size(oPropertyValue, _CurrentControl.Height) + Case "Height" + _CurrentControl.Size = New Size(_CurrentControl.Width, oPropertyValue) + Case "Font" + _CurrentControl.Font = oPropertyValue + Case "Color" + _CurrentControl.ForeColor = oPropertyValue + Case "Caption" + If TypeOf _CurrentControl Is Label Then + _CurrentControl.Text = oPropertyValue + End If + End Select + End Sub +End Class \ No newline at end of file diff --git a/EDMI_ClientSuite/My Project/Application.Designer.vb b/EDMI_ClientSuite/My Project/Application.Designer.vb index de923179..4d9b26d7 100644 --- a/EDMI_ClientSuite/My Project/Application.Designer.vb +++ b/EDMI_ClientSuite/My Project/Application.Designer.vb @@ -24,7 +24,7 @@ Namespace My _ Public Sub New() MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows) - Me.IsSingleInstance = false + Me.IsSingleInstance = true Me.EnableVisualStyles = true Me.SaveMySettingsOnExit = true Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses @@ -32,7 +32,12 @@ Namespace My _ Protected Overrides Sub OnCreateMainForm() - Me.MainForm = Global.EDMI_ClientSuite.frmMain2 + Me.MainForm = Global.EDMI_ClientSuite.frmMain + End Sub + + _ + Protected Overrides Sub OnCreateSplashScreen() + Me.SplashScreen = Global.EDMI_ClientSuite.frmSplash End Sub End Class End Namespace diff --git a/EDMI_ClientSuite/My Project/Application.myapp b/EDMI_ClientSuite/My Project/Application.myapp index 0627499d..b84db44c 100644 --- a/EDMI_ClientSuite/My Project/Application.myapp +++ b/EDMI_ClientSuite/My Project/Application.myapp @@ -1,10 +1,11 @@  true - frmMain2 - false + frmMain + true 0 true 0 + frmSplash true \ No newline at end of file diff --git a/EDMI_ClientSuite/My Project/AssemblyInfo.vb b/EDMI_ClientSuite/My Project/AssemblyInfo.vb index c4280086..62b1fa6b 100644 --- a/EDMI_ClientSuite/My Project/AssemblyInfo.vb +++ b/EDMI_ClientSuite/My Project/AssemblyInfo.vb @@ -8,9 +8,9 @@ Imports System.Runtime.InteropServices ' Werte der Assemblyattribute überprüfen - + - + diff --git a/EDMI_ClientSuite/My Project/licenses.licx b/EDMI_ClientSuite/My Project/licenses.licx index a98038f0..8c262734 100644 --- a/EDMI_ClientSuite/My Project/licenses.licx +++ b/EDMI_ClientSuite/My Project/licenses.licx @@ -1,4 +1,6 @@ -DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraBars.Docking.DockManager, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraBars.Docking2010.DocumentManager, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraTabbedMdi.XtraTabbedMdiManager, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraBars.Docking2010.DocumentManager, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraVerticalGrid.PropertyGridControl, DevExpress.XtraVerticalGrid.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a diff --git a/EDMI_ClientSuite/MyAppSettings.vb b/EDMI_ClientSuite/MyAppSettings.vb index e90b171e..62fd1d39 100644 --- a/EDMI_ClientSuite/MyAppSettings.vb +++ b/EDMI_ClientSuite/MyAppSettings.vb @@ -1,8 +1,10 @@ Imports DigitalData.Modules.Logging -Module MyAppSettings - Public APP_DB_VERSION As String - Public USER_LANGUAGE As String = "de-DE" - Public MyLogger As Logger - Public MyLogConfig As LogConfig -End Module +Module MyAppSettings + Public APP_DB_VERSION As String + + Public USER_LANGUAGE As String = "de-DE" + Public MyLogger As Logger + Public MyLogConfig As LogConfig + End Module + diff --git a/EDMI_ClientSuite/MyApplication.vb b/EDMI_ClientSuite/MyApplication.vb new file mode 100644 index 00000000..222d8d84 --- /dev/null +++ b/EDMI_ClientSuite/MyApplication.vb @@ -0,0 +1,38 @@ +Imports System.ServiceModel +Imports DigitalData.Modules.Logging +Imports EDMI_ClientSuite.NetworkService_DDEDM + +Namespace My + ''' + ''' Helper Class to hold User State + ''' + Public Class User + Public Username As String + Public MachineName As String + + Public Sub New() + Username = Environment.UserName + MachineName = Environment.MachineName + End Sub + End Class + + ''' + ''' Extends the My Namespace + ''' + + Module Extension + Property LogConfig As LogConfig + Property ChannelFactory As ChannelFactory(Of IEDMServiceChannel) + Property Channel As IEDMServiceChannel + End Module + + ''' + ''' Extends the My.Application Namespace + ''' + Partial Class MyApplication + ' User Config + Public User As New User() + End Class +End Namespace + + diff --git a/EDMI_ClientSuite/Strings/ControlProperties.Designer.vb b/EDMI_ClientSuite/Strings/ControlProperties.Designer.vb new file mode 100644 index 00000000..b6dd43c0 --- /dev/null +++ b/EDMI_ClientSuite/Strings/ControlProperties.Designer.vb @@ -0,0 +1,463 @@ +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.42000 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + 'Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert + '-Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert. + 'Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen + 'mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. + ''' + ''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + ''' + _ + Public Class ControlProperties + + Private Shared resourceMan As Global.System.Resources.ResourceManager + + Private Shared resourceCulture As Global.System.Globalization.CultureInfo + + _ + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + ''' + _ + Public Shared ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("EDMI_ClientSuite.ControlProperties", GetType(ControlProperties).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + ''' Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + ''' + _ + Public Shared Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Termin Einstellungen ähnelt. + ''' + Public Shared ReadOnly Property category_appointment() As String + Get + Return ResourceManager.GetString("category_appointment", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Daten ähnelt. + ''' + Public Shared ReadOnly Property category_data() As String + Get + Return ResourceManager.GetString("category_data", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Datenbank Einstellungen ähnelt. + ''' + Public Shared ReadOnly Property category_database() As String + Get + Return ResourceManager.GetString("category_database", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Datums Einstellungen ähnelt. + ''' + Public Shared ReadOnly Property category_date() As String + Get + Return ResourceManager.GetString("category_date", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Schrift Einstellungen ähnelt. + ''' + Public Shared ReadOnly Property category_font() As String + Get + Return ResourceManager.GetString("category_font", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Form Einstellungen ähnelt. + ''' + Public Shared ReadOnly Property category_form() As String + Get + Return ResourceManager.GetString("category_form", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Information ähnelt. + ''' + Public Shared ReadOnly Property category_info() As String + Get + Return ResourceManager.GetString("category_info", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Eingabe Eigenschaften ähnelt. + ''' + Public Shared ReadOnly Property category_input() As String + Get + Return ResourceManager.GetString("category_input", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Andere Einstellungen ähnelt. + ''' + Public Shared ReadOnly Property category_other() As String + Get + Return ResourceManager.GetString("category_other", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Ansichts Einstellungen ähnelt. + ''' + Public Shared ReadOnly Property category_view() As String + Get + Return ResourceManager.GetString("category_view", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Schlägt bereits eingegebene Einträge bei der der Eingabe vor. ähnelt. + ''' + Public Shared ReadOnly Property desc_autosuggest() As String + Get + Return ResourceManager.GetString("desc_autosuggest", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Hintergrundfarbe des Elements an. ähnelt. + ''' + Public Shared ReadOnly Property desc_backcolor() As String + Get + Return ResourceManager.GetString("desc_backcolor", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt den Beschreibungstext dieses Elements an. ähnelt. + ''' + Public Shared ReadOnly Property desc_caption() As String + Get + Return ResourceManager.GetString("desc_caption", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt den Spaltentitel des Elements an. ähnelt. + ''' + Public Shared ReadOnly Property desc_col_title() As String + Get + Return ResourceManager.GetString("desc_col_title", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Farbe an. ähnelt. + ''' + Public Shared ReadOnly Property desc_color() As String + Get + Return ResourceManager.GetString("desc_color", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt den Standardwert dieses Elements an. ähnelt. + ''' + Public Shared ReadOnly Property desc_defaultvalue() As String + Get + Return ResourceManager.GetString("desc_defaultvalue", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Beschreibung des Termins an. Dynamische Werte aus anderen Controls können mit der Syntax [%controlname] eingefügt werden ähnelt. + ''' + Public Shared ReadOnly Property desc_description() As String + Get + Return ResourceManager.GetString("desc_description", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt einen SQL Befehl an, der das Control abhängig vom Ergebnis (0 oder 1) aktiviert oder deaktiviert ähnelt. + ''' + Public Shared ReadOnly Property desc_enabledwhen() As String + Get + Return ResourceManager.GetString("desc_enabledwhen", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Schriftart an. ähnelt. + ''' + Public Shared ReadOnly Property desc_fontstyle() As String + Get + Return ResourceManager.GetString("desc_fontstyle", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt das Format des Textes an. ähnelt. + ''' + Public Shared ReadOnly Property desc_format() As String + Get + Return ResourceManager.GetString("desc_format", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Form-ID der zu öffnenden Form an. ähnelt. + ''' + Public Shared ReadOnly Property desc_formid() As String + Get + Return ResourceManager.GetString("desc_formid", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Der Name eines Elements von dem das End-Datum gelesen wird. ähnelt. + ''' + Public Shared ReadOnly Property desc_fromdate() As String + Get + Return ResourceManager.GetString("desc_fromdate", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Der Text, der beim überfahren des Controls angezeigt wird ähnelt. + ''' + Public Shared ReadOnly Property desc_hint() As String + Get + Return ResourceManager.GetString("desc_hint", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die eindeutige ID des Elements an. ähnelt. + ''' + Public Shared ReadOnly Property desc_id() As String + Get + Return ResourceManager.GetString("desc_id", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Position des Elements an. ähnelt. + ''' + Public Shared ReadOnly Property desc_location() As String + Get + Return ResourceManager.GetString("desc_location", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Die Id des Formulars, das über das Kontextmenü geöffnet wird. ähnelt. + ''' + Public Shared ReadOnly Property desc_masterdataid() As String + Get + Return ResourceManager.GetString("desc_masterdataid", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt an, ob das Feld mehrzeilig sein soll. ähnelt. + ''' + Public Shared ReadOnly Property desc_multiline() As String + Get + Return ResourceManager.GetString("desc_multiline", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt den internen Namen des Elements an. ähnelt. + ''' + Public Shared ReadOnly Property desc_name() As String + Get + Return ResourceManager.GetString("desc_name", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt den Ort des Termins an. Dynamische Werte aus anderen Controls können mit der Syntax [%controlname] eingefügt werden ähnelt. + ''' + Public Shared ReadOnly Property desc_place() As String + Get + Return ResourceManager.GetString("desc_place", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt an, ob dieses Element nur lesbar ist. ähnelt. + ''' + Public Shared ReadOnly Property desc_readonly() As String + Get + Return ResourceManager.GetString("desc_readonly", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt an ob dieses Element benötigt wird um die Eingabe abzuschließen. ähnelt. + ''' + Public Shared ReadOnly Property desc_required() As String + Get + Return ResourceManager.GetString("desc_required", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Screen-ID der zu öffnenden Form an. ähnelt. + ''' + Public Shared ReadOnly Property desc_screenid() As String + Get + Return ResourceManager.GetString("desc_screenid", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt an, ob nur vorhandene Listeneinträge ausgewählt werden können ähnelt. + ''' + Public Shared ReadOnly Property desc_select_only() As String + Get + Return ResourceManager.GetString("desc_select_only", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt an, ob das Feld als Spalte im Grid angezeigt wird. ähnelt. + ''' + Public Shared ReadOnly Property desc_showcolumn() As String + Get + Return ResourceManager.GetString("desc_showcolumn", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Größe des Elements an ähnelt. + ''' + Public Shared ReadOnly Property desc_size() As String + Get + Return ResourceManager.GetString("desc_size", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Datenbank-Abfrage für dieses Element an. Es können @RECORD_ID und @FORM_ID als Platzhalter verwendet werden. ähnelt. + ''' + Public Shared ReadOnly Property desc_sqlcommand() As String + Get + Return ResourceManager.GetString("desc_sqlcommand", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Eine Liste von statischen Werten, die durch ';' getrennt sind. Überschreibt die Daten aus 'Datenbank-Einstellungen' ähnelt. + ''' + Public Shared ReadOnly Property desc_staticlist() As String + Get + Return ResourceManager.GetString("desc_staticlist", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt den Betreff des Termins an. Dynamische Werte aus anderen Controls können mit der Syntax [%controlname] eingefügt werden ähnelt. + ''' + Public Shared ReadOnly Property desc_subject() As String + Get + Return ResourceManager.GetString("desc_subject", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt den optionalen zweiten Betreff des Termins an. Dynamische Werte aus anderen Controls können mit der Syntax [%controlname] eingefügt werden ähnelt. + ''' + Public Shared ReadOnly Property desc_subject2() As String + Get + Return ResourceManager.GetString("desc_subject2", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Reihenfolge an, in der das Element durch die Tabulatortaste aktiviert wird. ähnelt. + ''' + Public Shared ReadOnly Property desc_tabindex() As String + Get + Return ResourceManager.GetString("desc_tabindex", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt an, ob das Element durch die Tabulartortaste aktiviert werden soll. ähnelt. + ''' + Public Shared ReadOnly Property desc_tabstop() As String + Get + Return ResourceManager.GetString("desc_tabstop", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Der Name eines Elements von dem das Start-Datum gelesen wird. ähnelt. + ''' + Public Shared ReadOnly Property desc_todate() As String + Get + Return ResourceManager.GetString("desc_todate", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Der Typ des Elements ähnelt. + ''' + Public Shared ReadOnly Property desc_type() As String + Get + Return ResourceManager.GetString("desc_type", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt an, ob das Element angezeigt wird. ähnelt. + ''' + Public Shared ReadOnly Property desc_visible() As String + Get + Return ResourceManager.GetString("desc_visible", resourceCulture) + End Get + End Property + End Class +End Namespace diff --git a/EDMI_ClientSuite/Strings/ControlProperties.en.Designer.vb b/EDMI_ClientSuite/Strings/ControlProperties.en.Designer.vb new file mode 100644 index 00000000..e69de29b diff --git a/EDMI_ClientSuite/Strings/ControlProperties.en.resx b/EDMI_ClientSuite/Strings/ControlProperties.en.resx new file mode 100644 index 00000000..e526f696 --- /dev/null +++ b/EDMI_ClientSuite/Strings/ControlProperties.en.resx @@ -0,0 +1,252 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Scheduler Configuration + + + Data + + + Database Configuration + + + Date Configuration + + + Font Configuration + + + Form Configuration + + + Information + + + Other Configuration + + + View Configuration + + + Suggests already entered entries + + + The element's background color. + + + The element's caption. + + + The element's color. + + + The element's colum title. + + + The element's default value. + + + The appointment's description. Dynamic values from other controls can be inserted with the syntax [%controlname]. + + + An SQL Query that enables or disables the Control depending on the result (0 or 1) + + + The element's font style. + + + The element's number format. + + + The form-ID of the form that will be opened. + + + The appointment's start-date. Dynamic values from other controls can be inserted with the syntax [%controlname]. + + + The text that will be shown when the control is hovered over + + + The element's unique identifier. + + + The element's location + + + The Form's Id that will be opened via the contextmenu. + + + Should the element be a multiline field? + + + The element's internal name + + + The appointment's location. Dynamic values from other controls can be inserted with the syntax [%controlname]. + + + Is the element read-only? + + + Is the element required to be filled to complete the input? + + + The screen-ID of the form that will be opened. + + + Can only existing list items be selected? + + + Should the element be show as a column? + + + The element's size + + + The database query for this element. @RECORD_ID and @FORM_ID can be used as placeholders. Dynamic values from other controls can be inserted with the Syntax @controlid@. + + + A list of static values seperated by a semicolon (;) + + + The appointment's subject. Dynamic values from other controls can be inserted with the syntax [%controlname]. + + + The appointment's optional secondary subject. Dynamic values from other controls can be inserted with the syntax [%controlname]. + + + The order in which this element should be activated by the tab key. + + + Should this element be activated by the tab key? + + + The appointment's end-date. Dynamic values from other controls can be inserted with the syntax [%controlname]. + + + The element's type + + + Should the element be visible? + + + Input Configuration + + \ No newline at end of file diff --git a/EDMI_ClientSuite/Strings/ControlProperties.resx b/EDMI_ClientSuite/Strings/ControlProperties.resx new file mode 100644 index 00000000..af8c8fbb --- /dev/null +++ b/EDMI_ClientSuite/Strings/ControlProperties.resx @@ -0,0 +1,252 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Termin Einstellungen + + + Daten + + + Datenbank Einstellungen + + + Datums Einstellungen + + + Schrift Einstellungen + + + Form Einstellungen + + + Information + + + Andere Einstellungen + + + Ansichts Einstellungen + + + Schlägt bereits eingegebene Einträge bei der der Eingabe vor. + + + Gibt die Hintergrundfarbe des Elements an. + + + Gibt den Beschreibungstext dieses Elements an. + + + Gibt die Farbe an. + + + Gibt den Spaltentitel des Elements an. + + + Gibt den Standardwert dieses Elements an. + + + Gibt die Beschreibung des Termins an. Dynamische Werte aus anderen Controls können mit der Syntax [%controlname] eingefügt werden + + + Gibt einen SQL Befehl an, der das Control abhängig vom Ergebnis (0 oder 1) aktiviert oder deaktiviert + + + Gibt die Schriftart an. + + + Gibt das Format des Textes an. + + + Gibt die Form-ID der zu öffnenden Form an. + + + Der Name eines Elements von dem das End-Datum gelesen wird. + + + Der Text, der beim überfahren des Controls angezeigt wird + + + Gibt die eindeutige ID des Elements an. + + + Gibt die Position des Elements an. + + + Die Id des Formulars, das über das Kontextmenü geöffnet wird. + + + Gibt an, ob das Feld mehrzeilig sein soll. + + + Gibt den internen Namen des Elements an. + + + Gibt den Ort des Termins an. Dynamische Werte aus anderen Controls können mit der Syntax [%controlname] eingefügt werden + + + Gibt an, ob dieses Element nur lesbar ist. + + + Gibt an ob dieses Element benötigt wird um die Eingabe abzuschließen. + + + Gibt die Screen-ID der zu öffnenden Form an. + + + Gibt an, ob nur vorhandene Listeneinträge ausgewählt werden können + + + Gibt an, ob das Feld als Spalte im Grid angezeigt wird. + + + Gibt die Größe des Elements an + + + Gibt die Datenbank-Abfrage für dieses Element an. Es können @RECORD_ID und @FORM_ID als Platzhalter verwendet werden. + + + Eine Liste von statischen Werten, die durch ';' getrennt sind. Überschreibt die Daten aus 'Datenbank-Einstellungen' + + + Gibt den Betreff des Termins an. Dynamische Werte aus anderen Controls können mit der Syntax [%controlname] eingefügt werden + + + Gibt den optionalen zweiten Betreff des Termins an. Dynamische Werte aus anderen Controls können mit der Syntax [%controlname] eingefügt werden + + + Gibt die Reihenfolge an, in der das Element durch die Tabulatortaste aktiviert wird. + + + Gibt an, ob das Element durch die Tabulartortaste aktiviert werden soll. + + + Der Name eines Elements von dem das Start-Datum gelesen wird. + + + Der Typ des Elements + + + Gibt an, ob das Element angezeigt wird. + + + Eingabe Eigenschaften + + \ No newline at end of file diff --git a/EDMI_ClientSuite/UserControls/ProcessManagerOverview.Designer.vb b/EDMI_ClientSuite/UserControls/ProcessManagerOverview.Designer.vb new file mode 100644 index 00000000..685b7288 --- /dev/null +++ b/EDMI_ClientSuite/UserControls/ProcessManagerOverview.Designer.vb @@ -0,0 +1,66 @@ + _ +Partial Class ProcessManagerOverview + Inherits System.Windows.Forms.UserControl + + 'UserControl ü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 + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.GridMain = New DevExpress.XtraGrid.GridControl() + Me.ViewMain = New DevExpress.XtraGrid.Views.Grid.GridView() + CType(Me.GridMain, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.ViewMain, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'GridMain + ' + Me.GridMain.Dock = System.Windows.Forms.DockStyle.Fill + Me.GridMain.Location = New System.Drawing.Point(0, 0) + Me.GridMain.MainView = Me.ViewMain + Me.GridMain.Name = "GridMain" + Me.GridMain.Size = New System.Drawing.Size(405, 325) + Me.GridMain.TabIndex = 0 + Me.GridMain.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.ViewMain}) + ' + 'ViewMain + ' + Me.ViewMain.GridControl = Me.GridMain + Me.ViewMain.Name = "ViewMain" + Me.ViewMain.OptionsBehavior.Editable = False + Me.ViewMain.OptionsBehavior.ReadOnly = True + Me.ViewMain.OptionsView.ColumnAutoWidth = False + Me.ViewMain.OptionsView.EnableAppearanceEvenRow = True + Me.ViewMain.OptionsView.ShowAutoFilterRow = True + ' + 'ProcessManagerOverview + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.Controls.Add(Me.GridMain) + Me.Name = "ProcessManagerOverview" + Me.Size = New System.Drawing.Size(405, 325) + CType(Me.GridMain, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.ViewMain, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + + Friend WithEvents GridMain As DevExpress.XtraGrid.GridControl + Friend WithEvents ViewMain As DevExpress.XtraGrid.Views.Grid.GridView +End Class diff --git a/EDMI_ClientSuite/UserControls/ProcessManagerOverview.resx b/EDMI_ClientSuite/UserControls/ProcessManagerOverview.resx new file mode 100644 index 00000000..1af7de15 --- /dev/null +++ b/EDMI_ClientSuite/UserControls/ProcessManagerOverview.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/EDMI_ClientSuite/UserControls/ProcessManagerOverview.vb b/EDMI_ClientSuite/UserControls/ProcessManagerOverview.vb new file mode 100644 index 00000000..2139cd09 --- /dev/null +++ b/EDMI_ClientSuite/UserControls/ProcessManagerOverview.vb @@ -0,0 +1,20 @@ +Public Class ProcessManagerOverview + Public Delegate Sub RowDoubleClickedDelegate(RowView As DataRowView) + Public Event RowDoubleClicked As RowDoubleClickedDelegate + + Public Property DataSource As DataTable + Get + Return GridMain.DataSource + End Get + Set(value As DataTable) + GridMain.DataSource = value + End Set + End Property + + Private Sub ViewMain_RowClick(sender As Object, e As DevExpress.XtraGrid.Views.Grid.RowClickEventArgs) Handles ViewMain.RowClick + If e.Clicks = 2 Then + Dim oRow As DataRowView = ViewMain.GetRow(e.RowHandle) + RaiseEvent RowDoubleClicked(oRow) + End If + End Sub +End Class diff --git a/EDMI_ClientSuite/_Skpokpotrings/ControlProperties.Designer.vb b/EDMI_ClientSuite/_Skpokpotrings/ControlProperties.Designer.vb new file mode 100644 index 00000000..12f2a903 --- /dev/null +++ b/EDMI_ClientSuite/_Skpokpotrings/ControlProperties.Designer.vb @@ -0,0 +1,463 @@ +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.42000 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + 'Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert + '-Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert. + 'Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen + 'mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. + ''' + ''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + ''' + _ + Friend Class ControlProperties + + Private Shared resourceMan As Global.System.Resources.ResourceManager + + Private Shared resourceCulture As Global.System.Globalization.CultureInfo + + _ + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + ''' + _ + Friend Shared ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("DigitalData.GUIS.ClientSuite.ControlProperties", GetType(ControlProperties).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + ''' Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + ''' + _ + Friend Shared Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Termin Einstellungen ähnelt. + ''' + Friend Shared ReadOnly Property category_appointment() As String + Get + Return ResourceManager.GetString("category_appointment", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Daten ähnelt. + ''' + Friend Shared ReadOnly Property category_data() As String + Get + Return ResourceManager.GetString("category_data", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Datenbank Einstellungen ähnelt. + ''' + Friend Shared ReadOnly Property category_database() As String + Get + Return ResourceManager.GetString("category_database", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Datums Einstellungen ähnelt. + ''' + Friend Shared ReadOnly Property category_date() As String + Get + Return ResourceManager.GetString("category_date", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Schrift Einstellungen ähnelt. + ''' + Friend Shared ReadOnly Property category_font() As String + Get + Return ResourceManager.GetString("category_font", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Form Einstellungen ähnelt. + ''' + Friend Shared ReadOnly Property category_form() As String + Get + Return ResourceManager.GetString("category_form", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Information ähnelt. + ''' + Friend Shared ReadOnly Property category_info() As String + Get + Return ResourceManager.GetString("category_info", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Eingabe Eigenschaften ähnelt. + ''' + Friend Shared ReadOnly Property category_input() As String + Get + Return ResourceManager.GetString("category_input", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Andere Einstellungen ähnelt. + ''' + Friend Shared ReadOnly Property category_other() As String + Get + Return ResourceManager.GetString("category_other", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Ansichts Einstellungen ähnelt. + ''' + Friend Shared ReadOnly Property category_view() As String + Get + Return ResourceManager.GetString("category_view", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Schlägt bereits eingegebene Einträge bei der der Eingabe vor. ähnelt. + ''' + Friend Shared ReadOnly Property desc_autosuggest() As String + Get + Return ResourceManager.GetString("desc_autosuggest", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Hintergrundfarbe des Elements an. ähnelt. + ''' + Friend Shared ReadOnly Property desc_backcolor() As String + Get + Return ResourceManager.GetString("desc_backcolor", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt den Beschreibungstext dieses Elements an. ähnelt. + ''' + Friend Shared ReadOnly Property desc_caption() As String + Get + Return ResourceManager.GetString("desc_caption", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt den Spaltentitel des Elements an. ähnelt. + ''' + Friend Shared ReadOnly Property desc_col_title() As String + Get + Return ResourceManager.GetString("desc_col_title", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Farbe an. ähnelt. + ''' + Friend Shared ReadOnly Property desc_color() As String + Get + Return ResourceManager.GetString("desc_color", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt den Standardwert dieses Elements an. ähnelt. + ''' + Friend Shared ReadOnly Property desc_defaultvalue() As String + Get + Return ResourceManager.GetString("desc_defaultvalue", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Beschreibung des Termins an. Dynamische Werte aus anderen Controls können mit der Syntax [%controlname] eingefügt werden ähnelt. + ''' + Friend Shared ReadOnly Property desc_description() As String + Get + Return ResourceManager.GetString("desc_description", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt einen SQL Befehl an, der das Control abhängig vom Ergebnis (0 oder 1) aktiviert oder deaktiviert ähnelt. + ''' + Friend Shared ReadOnly Property desc_enabledwhen() As String + Get + Return ResourceManager.GetString("desc_enabledwhen", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Schriftart an. ähnelt. + ''' + Friend Shared ReadOnly Property desc_fontstyle() As String + Get + Return ResourceManager.GetString("desc_fontstyle", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt das Format des Textes an. ähnelt. + ''' + Friend Shared ReadOnly Property desc_format() As String + Get + Return ResourceManager.GetString("desc_format", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Form-ID der zu öffnenden Form an. ähnelt. + ''' + Friend Shared ReadOnly Property desc_formid() As String + Get + Return ResourceManager.GetString("desc_formid", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Der Name eines Elements von dem das End-Datum gelesen wird. ähnelt. + ''' + Friend Shared ReadOnly Property desc_fromdate() As String + Get + Return ResourceManager.GetString("desc_fromdate", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Der Text, der beim überfahren des Controls angezeigt wird ähnelt. + ''' + Friend Shared ReadOnly Property desc_hint() As String + Get + Return ResourceManager.GetString("desc_hint", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die eindeutige ID des Elements an. ähnelt. + ''' + Friend Shared ReadOnly Property desc_id() As String + Get + Return ResourceManager.GetString("desc_id", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Position des Elements an. ähnelt. + ''' + Friend Shared ReadOnly Property desc_location() As String + Get + Return ResourceManager.GetString("desc_location", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Die Id des Formulars, das über das Kontextmenü geöffnet wird. ähnelt. + ''' + Friend Shared ReadOnly Property desc_masterdataid() As String + Get + Return ResourceManager.GetString("desc_masterdataid", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt an, ob das Feld mehrzeilig sein soll. ähnelt. + ''' + Friend Shared ReadOnly Property desc_multiline() As String + Get + Return ResourceManager.GetString("desc_multiline", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt den internen Namen des Elements an. ähnelt. + ''' + Friend Shared ReadOnly Property desc_name() As String + Get + Return ResourceManager.GetString("desc_name", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt den Ort des Termins an. Dynamische Werte aus anderen Controls können mit der Syntax [%controlname] eingefügt werden ähnelt. + ''' + Friend Shared ReadOnly Property desc_place() As String + Get + Return ResourceManager.GetString("desc_place", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt an, ob dieses Element nur lesbar ist. ähnelt. + ''' + Friend Shared ReadOnly Property desc_readonly() As String + Get + Return ResourceManager.GetString("desc_readonly", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt an ob dieses Element benötigt wird um die Eingabe abzuschließen. ähnelt. + ''' + Friend Shared ReadOnly Property desc_required() As String + Get + Return ResourceManager.GetString("desc_required", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Screen-ID der zu öffnenden Form an. ähnelt. + ''' + Friend Shared ReadOnly Property desc_screenid() As String + Get + Return ResourceManager.GetString("desc_screenid", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt an, ob nur vorhandene Listeneinträge ausgewählt werden können ähnelt. + ''' + Friend Shared ReadOnly Property desc_select_only() As String + Get + Return ResourceManager.GetString("desc_select_only", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt an, ob das Feld als Spalte im Grid angezeigt wird. ähnelt. + ''' + Friend Shared ReadOnly Property desc_showcolumn() As String + Get + Return ResourceManager.GetString("desc_showcolumn", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Größe des Elements an ähnelt. + ''' + Friend Shared ReadOnly Property desc_size() As String + Get + Return ResourceManager.GetString("desc_size", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Datenbank-Abfrage für dieses Element an. Es können @RECORD_ID und @FORM_ID als Platzhalter verwendet werden. ähnelt. + ''' + Friend Shared ReadOnly Property desc_sqlcommand() As String + Get + Return ResourceManager.GetString("desc_sqlcommand", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Eine Liste von statischen Werten, die durch ';' getrennt sind. Überschreibt die Daten aus 'Datenbank-Einstellungen' ähnelt. + ''' + Friend Shared ReadOnly Property desc_staticlist() As String + Get + Return ResourceManager.GetString("desc_staticlist", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt den Betreff des Termins an. Dynamische Werte aus anderen Controls können mit der Syntax [%controlname] eingefügt werden ähnelt. + ''' + Friend Shared ReadOnly Property desc_subject() As String + Get + Return ResourceManager.GetString("desc_subject", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt den optionalen zweiten Betreff des Termins an. Dynamische Werte aus anderen Controls können mit der Syntax [%controlname] eingefügt werden ähnelt. + ''' + Friend Shared ReadOnly Property desc_subject2() As String + Get + Return ResourceManager.GetString("desc_subject2", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Reihenfolge an, in der das Element durch die Tabulatortaste aktiviert wird. ähnelt. + ''' + Friend Shared ReadOnly Property desc_tabindex() As String + Get + Return ResourceManager.GetString("desc_tabindex", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt an, ob das Element durch die Tabulartortaste aktiviert werden soll. ähnelt. + ''' + Friend Shared ReadOnly Property desc_tabstop() As String + Get + Return ResourceManager.GetString("desc_tabstop", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Der Name eines Elements von dem das Start-Datum gelesen wird. ähnelt. + ''' + Friend Shared ReadOnly Property desc_todate() As String + Get + Return ResourceManager.GetString("desc_todate", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Der Typ des Elements ähnelt. + ''' + Friend Shared ReadOnly Property desc_type() As String + Get + Return ResourceManager.GetString("desc_type", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt an, ob das Element angezeigt wird. ähnelt. + ''' + Friend Shared ReadOnly Property desc_visible() As String + Get + Return ResourceManager.GetString("desc_visible", resourceCulture) + End Get + End Property + End Class +End Namespace diff --git a/EDMI_ClientSuite/_Skpokpotrings/ControlProperties.en.Designer.vb b/EDMI_ClientSuite/_Skpokpotrings/ControlProperties.en.Designer.vb new file mode 100644 index 00000000..e69de29b diff --git a/EDMI_ClientSuite/_Skpokpotrings/ControlProperties.en.resx b/EDMI_ClientSuite/_Skpokpotrings/ControlProperties.en.resx new file mode 100644 index 00000000..e526f696 --- /dev/null +++ b/EDMI_ClientSuite/_Skpokpotrings/ControlProperties.en.resx @@ -0,0 +1,252 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Scheduler Configuration + + + Data + + + Database Configuration + + + Date Configuration + + + Font Configuration + + + Form Configuration + + + Information + + + Other Configuration + + + View Configuration + + + Suggests already entered entries + + + The element's background color. + + + The element's caption. + + + The element's color. + + + The element's colum title. + + + The element's default value. + + + The appointment's description. Dynamic values from other controls can be inserted with the syntax [%controlname]. + + + An SQL Query that enables or disables the Control depending on the result (0 or 1) + + + The element's font style. + + + The element's number format. + + + The form-ID of the form that will be opened. + + + The appointment's start-date. Dynamic values from other controls can be inserted with the syntax [%controlname]. + + + The text that will be shown when the control is hovered over + + + The element's unique identifier. + + + The element's location + + + The Form's Id that will be opened via the contextmenu. + + + Should the element be a multiline field? + + + The element's internal name + + + The appointment's location. Dynamic values from other controls can be inserted with the syntax [%controlname]. + + + Is the element read-only? + + + Is the element required to be filled to complete the input? + + + The screen-ID of the form that will be opened. + + + Can only existing list items be selected? + + + Should the element be show as a column? + + + The element's size + + + The database query for this element. @RECORD_ID and @FORM_ID can be used as placeholders. Dynamic values from other controls can be inserted with the Syntax @controlid@. + + + A list of static values seperated by a semicolon (;) + + + The appointment's subject. Dynamic values from other controls can be inserted with the syntax [%controlname]. + + + The appointment's optional secondary subject. Dynamic values from other controls can be inserted with the syntax [%controlname]. + + + The order in which this element should be activated by the tab key. + + + Should this element be activated by the tab key? + + + The appointment's end-date. Dynamic values from other controls can be inserted with the syntax [%controlname]. + + + The element's type + + + Should the element be visible? + + + Input Configuration + + \ No newline at end of file diff --git a/EDMI_ClientSuite/_Skpokpotrings/ControlProperties.resx b/EDMI_ClientSuite/_Skpokpotrings/ControlProperties.resx new file mode 100644 index 00000000..af8c8fbb --- /dev/null +++ b/EDMI_ClientSuite/_Skpokpotrings/ControlProperties.resx @@ -0,0 +1,252 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Termin Einstellungen + + + Daten + + + Datenbank Einstellungen + + + Datums Einstellungen + + + Schrift Einstellungen + + + Form Einstellungen + + + Information + + + Andere Einstellungen + + + Ansichts Einstellungen + + + Schlägt bereits eingegebene Einträge bei der der Eingabe vor. + + + Gibt die Hintergrundfarbe des Elements an. + + + Gibt den Beschreibungstext dieses Elements an. + + + Gibt die Farbe an. + + + Gibt den Spaltentitel des Elements an. + + + Gibt den Standardwert dieses Elements an. + + + Gibt die Beschreibung des Termins an. Dynamische Werte aus anderen Controls können mit der Syntax [%controlname] eingefügt werden + + + Gibt einen SQL Befehl an, der das Control abhängig vom Ergebnis (0 oder 1) aktiviert oder deaktiviert + + + Gibt die Schriftart an. + + + Gibt das Format des Textes an. + + + Gibt die Form-ID der zu öffnenden Form an. + + + Der Name eines Elements von dem das End-Datum gelesen wird. + + + Der Text, der beim überfahren des Controls angezeigt wird + + + Gibt die eindeutige ID des Elements an. + + + Gibt die Position des Elements an. + + + Die Id des Formulars, das über das Kontextmenü geöffnet wird. + + + Gibt an, ob das Feld mehrzeilig sein soll. + + + Gibt den internen Namen des Elements an. + + + Gibt den Ort des Termins an. Dynamische Werte aus anderen Controls können mit der Syntax [%controlname] eingefügt werden + + + Gibt an, ob dieses Element nur lesbar ist. + + + Gibt an ob dieses Element benötigt wird um die Eingabe abzuschließen. + + + Gibt die Screen-ID der zu öffnenden Form an. + + + Gibt an, ob nur vorhandene Listeneinträge ausgewählt werden können + + + Gibt an, ob das Feld als Spalte im Grid angezeigt wird. + + + Gibt die Größe des Elements an + + + Gibt die Datenbank-Abfrage für dieses Element an. Es können @RECORD_ID und @FORM_ID als Platzhalter verwendet werden. + + + Eine Liste von statischen Werten, die durch ';' getrennt sind. Überschreibt die Daten aus 'Datenbank-Einstellungen' + + + Gibt den Betreff des Termins an. Dynamische Werte aus anderen Controls können mit der Syntax [%controlname] eingefügt werden + + + Gibt den optionalen zweiten Betreff des Termins an. Dynamische Werte aus anderen Controls können mit der Syntax [%controlname] eingefügt werden + + + Gibt die Reihenfolge an, in der das Element durch die Tabulatortaste aktiviert wird. + + + Gibt an, ob das Element durch die Tabulartortaste aktiviert werden soll. + + + Der Name eines Elements von dem das Start-Datum gelesen wird. + + + Der Typ des Elements + + + Gibt an, ob das Element angezeigt wird. + + + Eingabe Eigenschaften + + \ No newline at end of file diff --git a/EDMI_ClientSuite/frmDashboard.Designer.vb b/EDMI_ClientSuite/frmDashboard.Designer.vb new file mode 100644 index 00000000..12189a97 --- /dev/null +++ b/EDMI_ClientSuite/frmDashboard.Designer.vb @@ -0,0 +1,37 @@ + _ +Partial Class frmDashboard + Inherits System.Windows.Forms.Form + + '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 + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.SuspendLayout() + ' + 'frmDashboard + ' + 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.Name = "frmDashboard" + Me.Text = "Dashboard" + Me.ResumeLayout(False) + + End Sub +End Class diff --git a/EDMI_ClientSuite/frmDashboard.resx b/EDMI_ClientSuite/frmDashboard.resx new file mode 100644 index 00000000..1af7de15 --- /dev/null +++ b/EDMI_ClientSuite/frmDashboard.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/EDMI_ClientSuite/frmDashboard.vb b/EDMI_ClientSuite/frmDashboard.vb new file mode 100644 index 00000000..32034675 --- /dev/null +++ b/EDMI_ClientSuite/frmDashboard.vb @@ -0,0 +1,4 @@ +Imports System.ComponentModel + +Public Class frmDashboard +End Class \ No newline at end of file diff --git a/EDMI_ClientSuite/frmFileTest.Designer.vb b/EDMI_ClientSuite/frmFileTest.Designer.vb index 416fbc87..ac37c75f 100644 --- a/EDMI_ClientSuite/frmFileTest.Designer.vb +++ b/EDMI_ClientSuite/frmFileTest.Designer.vb @@ -1,9 +1,9 @@ - _ + Partial Class frmFileTest Inherits System.Windows.Forms.Form '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,7 +20,7 @@ Partial Class frmFileTest '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.Button1 = New System.Windows.Forms.Button() Me.ListBox1 = New System.Windows.Forms.ListBox() diff --git a/EDMI_ClientSuite/frmFileTest.vb b/EDMI_ClientSuite/frmFileTest.vb index 1c2db56c..a8130db6 100644 --- a/EDMI_ClientSuite/frmFileTest.vb +++ b/EDMI_ClientSuite/frmFileTest.vb @@ -33,6 +33,5 @@ Public Class frmFileTest MsgBox(oFileID) ListBox1.Items.Add(oFileID) - End Sub End Class \ No newline at end of file diff --git a/EDMI_ClientSuite/frmMain.Designer.vb b/EDMI_ClientSuite/frmMain.Designer.vb new file mode 100644 index 00000000..a2dcb50c --- /dev/null +++ b/EDMI_ClientSuite/frmMain.Designer.vb @@ -0,0 +1,396 @@ + +Partial Class frmMain + Inherits DevExpress.XtraBars.Ribbon.RibbonForm + + 'Form overrides dispose to clean up the component list. + + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMain)) + Me.RibbonControl = New DevExpress.XtraBars.Ribbon.RibbonControl() + Me.MainMenu = New DevExpress.XtraBars.Ribbon.ApplicationMenu(Me.components) + Me.BarButtonExit = New DevExpress.XtraBars.BarButtonItem() + Me.BarButtonUserSettings = New DevExpress.XtraBars.BarButtonItem() + Me.LabelCurrentUser = New DevExpress.XtraBars.BarStaticItem() + Me.LabelCurrentMachine = New DevExpress.XtraBars.BarStaticItem() + Me.LabelCurrentVersion = New DevExpress.XtraBars.BarStaticItem() + Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem() + Me.BarButtonDock1 = New DevExpress.XtraBars.BarButtonItem() + Me.SkinDropDownButtonItem1 = New DevExpress.XtraBars.SkinDropDownButtonItem() + Me.BarButtonDashboard = New DevExpress.XtraBars.BarButtonItem() + Me.BarButtonEntityDesigner = New DevExpress.XtraBars.BarButtonItem() + Me.BarButtonDeleteControl = New DevExpress.XtraBars.BarButtonItem() + Me.RibbonPageCategoryEntityDesigner = New DevExpress.XtraBars.Ribbon.RibbonPageCategory() + Me.RibbonPageControlActions = New DevExpress.XtraBars.Ribbon.RibbonPage() + Me.RibbonPageGroup5 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() + Me.RibbonPageStart = New DevExpress.XtraBars.Ribbon.RibbonPage() + Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() + Me.RibbonPageGroup3 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() + Me.RibbonPageView = New DevExpress.XtraBars.Ribbon.RibbonPage() + Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() + Me.RibbonPageWorkflow = New DevExpress.XtraBars.Ribbon.RibbonPage() + Me.RibbonPageGroup4 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() + Me.RibbonStatusBar = New DevExpress.XtraBars.Ribbon.RibbonStatusBar() + Me.DocumentManager = New DevExpress.XtraBars.Docking2010.DocumentManager(Me.components) + Me.TabbedView1 = New DevExpress.XtraBars.Docking2010.Views.Tabbed.TabbedView(Me.components) + Me.DockManager = New DevExpress.XtraBars.Docking.DockManager(Me.components) + Me.panelContainer1 = New DevExpress.XtraBars.Docking.DockPanel() + Me.DockPanelGlobix = New DevExpress.XtraBars.Docking.DockPanel() + Me.DockPanel1_Container = New DevExpress.XtraBars.Docking.ControlContainer() + Me.Label1 = New System.Windows.Forms.Label() + Me.DockPanelProcessManager = New DevExpress.XtraBars.Docking.DockPanel() + Me.DockPanel2_Container = New DevExpress.XtraBars.Docking.ControlContainer() + Me.ProcessManagerOverview = New EDMI_ClientSuite.ProcessManagerOverview() + CType(Me.RibbonControl, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.MainMenu, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.DocumentManager, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.TabbedView1, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.DockManager, System.ComponentModel.ISupportInitialize).BeginInit() + Me.panelContainer1.SuspendLayout() + Me.DockPanelGlobix.SuspendLayout() + Me.DockPanel1_Container.SuspendLayout() + Me.DockPanelProcessManager.SuspendLayout() + Me.DockPanel2_Container.SuspendLayout() + Me.SuspendLayout() + ' + 'RibbonControl + ' + Me.RibbonControl.ApplicationButtonDropDownControl = Me.MainMenu + Me.RibbonControl.ExpandCollapseItem.Id = 0 + Me.RibbonControl.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl.ExpandCollapseItem, Me.BarButtonExit, Me.BarButtonUserSettings, Me.LabelCurrentUser, Me.LabelCurrentMachine, Me.LabelCurrentVersion, Me.BarButtonItem1, Me.BarButtonDock1, Me.SkinDropDownButtonItem1, Me.BarButtonDashboard, Me.BarButtonEntityDesigner, Me.BarButtonDeleteControl}) + Me.RibbonControl.Location = New System.Drawing.Point(0, 0) + Me.RibbonControl.MaxItemId = 14 + Me.RibbonControl.Name = "RibbonControl" + Me.RibbonControl.PageCategories.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageCategory() {Me.RibbonPageCategoryEntityDesigner}) + Me.RibbonControl.PageHeaderItemLinks.Add(Me.SkinDropDownButtonItem1) + Me.RibbonControl.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPageStart, Me.RibbonPageView, Me.RibbonPageWorkflow}) + Me.RibbonControl.Size = New System.Drawing.Size(1139, 146) + Me.RibbonControl.StatusBar = Me.RibbonStatusBar + ' + 'MainMenu + ' + Me.MainMenu.ItemLinks.Add(Me.BarButtonExit) + Me.MainMenu.ItemLinks.Add(Me.BarButtonUserSettings) + Me.MainMenu.Name = "MainMenu" + Me.MainMenu.Ribbon = Me.RibbonControl + ' + 'BarButtonExit + ' + Me.BarButtonExit.Caption = "Beenden" + Me.BarButtonExit.Id = 1 + Me.BarButtonExit.ImageOptions.Image = CType(resources.GetObject("BarButtonExit.ImageOptions.Image"), System.Drawing.Image) + Me.BarButtonExit.Name = "BarButtonExit" + ' + 'BarButtonUserSettings + ' + Me.BarButtonUserSettings.Caption = "Einstellungen" + Me.BarButtonUserSettings.Id = 2 + Me.BarButtonUserSettings.ImageOptions.Image = CType(resources.GetObject("BarButtonUserSettings.ImageOptions.Image"), System.Drawing.Image) + Me.BarButtonUserSettings.Name = "BarButtonUserSettings" + ' + 'LabelCurrentUser + ' + Me.LabelCurrentUser.Caption = "Current User" + Me.LabelCurrentUser.Id = 3 + Me.LabelCurrentUser.ImageOptions.Image = CType(resources.GetObject("LabelCurrentUser.ImageOptions.Image"), System.Drawing.Image) + Me.LabelCurrentUser.Name = "LabelCurrentUser" + ' + 'LabelCurrentMachine + ' + Me.LabelCurrentMachine.Caption = "Current Machine" + Me.LabelCurrentMachine.Id = 4 + Me.LabelCurrentMachine.ImageOptions.Image = CType(resources.GetObject("LabelCurrentMachine.ImageOptions.Image"), System.Drawing.Image) + Me.LabelCurrentMachine.Name = "LabelCurrentMachine" + ' + 'LabelCurrentVersion + ' + Me.LabelCurrentVersion.Alignment = DevExpress.XtraBars.BarItemLinkAlignment.Right + Me.LabelCurrentVersion.Caption = "Current Version" + Me.LabelCurrentVersion.Id = 5 + Me.LabelCurrentVersion.ImageOptions.Image = CType(resources.GetObject("LabelCurrentVersion.ImageOptions.Image"), System.Drawing.Image) + Me.LabelCurrentVersion.Name = "LabelCurrentVersion" + ' + 'BarButtonItem1 + ' + Me.BarButtonItem1.Caption = "File Test" + Me.BarButtonItem1.Id = 8 + Me.BarButtonItem1.Name = "BarButtonItem1" + ' + 'BarButtonDock1 + ' + Me.BarButtonDock1.Caption = "Show Panel" + Me.BarButtonDock1.Id = 9 + Me.BarButtonDock1.Name = "BarButtonDock1" + ' + 'SkinDropDownButtonItem1 + ' + Me.SkinDropDownButtonItem1.Id = 10 + Me.SkinDropDownButtonItem1.Name = "SkinDropDownButtonItem1" + ' + 'BarButtonDashboard + ' + Me.BarButtonDashboard.Caption = "Dashboard" + Me.BarButtonDashboard.Id = 11 + Me.BarButtonDashboard.ImageOptions.Image = CType(resources.GetObject("BarButtonDashboard.ImageOptions.Image"), System.Drawing.Image) + Me.BarButtonDashboard.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonDashboard.ImageOptions.LargeImage"), System.Drawing.Image) + Me.BarButtonDashboard.Name = "BarButtonDashboard" + ' + 'BarButtonEntityDesigner + ' + Me.BarButtonEntityDesigner.Caption = "Entitäten Designer" + Me.BarButtonEntityDesigner.Id = 12 + Me.BarButtonEntityDesigner.ImageOptions.Image = CType(resources.GetObject("BarButtonItem2.ImageOptions.Image"), System.Drawing.Image) + Me.BarButtonEntityDesigner.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItem2.ImageOptions.LargeImage"), System.Drawing.Image) + Me.BarButtonEntityDesigner.Name = "BarButtonEntityDesigner" + ' + 'BarButtonDeleteControl + ' + Me.BarButtonDeleteControl.Caption = "Delete Control" + Me.BarButtonDeleteControl.Id = 13 + Me.BarButtonDeleteControl.ImageOptions.Image = CType(resources.GetObject("BarButtonDeleteControl.ImageOptions.Image"), System.Drawing.Image) + Me.BarButtonDeleteControl.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonDeleteControl.ImageOptions.LargeImage"), System.Drawing.Image) + Me.BarButtonDeleteControl.Name = "BarButtonDeleteControl" + ' + 'RibbonPageCategoryEntityDesigner + ' + Me.RibbonPageCategoryEntityDesigner.AutoStretchPageHeaders = True + Me.RibbonPageCategoryEntityDesigner.Name = "RibbonPageCategoryEntityDesigner" + Me.RibbonPageCategoryEntityDesigner.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPageControlActions}) + Me.RibbonPageCategoryEntityDesigner.Text = "Entitäten Designer" + Me.RibbonPageCategoryEntityDesigner.Visible = False + ' + 'RibbonPageControlActions + ' + Me.RibbonPageControlActions.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup5}) + Me.RibbonPageControlActions.Name = "RibbonPageControlActions" + Me.RibbonPageControlActions.Text = "Control Actions" + Me.RibbonPageControlActions.Visible = False + ' + 'RibbonPageGroup5 + ' + Me.RibbonPageGroup5.ItemLinks.Add(Me.BarButtonDeleteControl) + Me.RibbonPageGroup5.Name = "RibbonPageGroup5" + Me.RibbonPageGroup5.Text = "RibbonPageGroup5" + ' + 'RibbonPageStart + ' + Me.RibbonPageStart.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup3}) + Me.RibbonPageStart.Name = "RibbonPageStart" + Me.RibbonPageStart.Text = "Start" + ' + 'RibbonPageGroup1 + ' + Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonDashboard) + Me.RibbonPageGroup1.Name = "RibbonPageGroup1" + Me.RibbonPageGroup1.Text = "RibbonPageGroup1" + ' + 'RibbonPageGroup3 + ' + Me.RibbonPageGroup3.ItemLinks.Add(Me.BarButtonItem1) + Me.RibbonPageGroup3.Name = "RibbonPageGroup3" + Me.RibbonPageGroup3.Text = "RibbonPageGroup3" + ' + 'RibbonPageView + ' + Me.RibbonPageView.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup2}) + Me.RibbonPageView.Name = "RibbonPageView" + Me.RibbonPageView.Text = "View" + ' + 'RibbonPageGroup2 + ' + Me.RibbonPageGroup2.ItemLinks.Add(Me.BarButtonDock1) + Me.RibbonPageGroup2.Name = "RibbonPageGroup2" + Me.RibbonPageGroup2.Text = "RibbonPageGroup2" + ' + 'RibbonPageWorkflow + ' + Me.RibbonPageWorkflow.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup4}) + Me.RibbonPageWorkflow.Name = "RibbonPageWorkflow" + Me.RibbonPageWorkflow.Text = "Workflow" + ' + 'RibbonPageGroup4 + ' + Me.RibbonPageGroup4.ItemLinks.Add(Me.BarButtonEntityDesigner) + Me.RibbonPageGroup4.Name = "RibbonPageGroup4" + Me.RibbonPageGroup4.Text = "RibbonPageGroup4" + ' + 'RibbonStatusBar + ' + Me.RibbonStatusBar.ItemLinks.Add(Me.LabelCurrentUser) + Me.RibbonStatusBar.ItemLinks.Add(Me.LabelCurrentMachine) + Me.RibbonStatusBar.ItemLinks.Add(Me.LabelCurrentVersion) + Me.RibbonStatusBar.Location = New System.Drawing.Point(0, 556) + Me.RibbonStatusBar.Name = "RibbonStatusBar" + Me.RibbonStatusBar.Ribbon = Me.RibbonControl + Me.RibbonStatusBar.Size = New System.Drawing.Size(1139, 21) + ' + 'DocumentManager + ' + Me.DocumentManager.MdiParent = Me + Me.DocumentManager.MenuManager = Me.RibbonControl + Me.DocumentManager.View = Me.TabbedView1 + Me.DocumentManager.ViewCollection.AddRange(New DevExpress.XtraBars.Docking2010.Views.BaseView() {Me.TabbedView1}) + ' + 'TabbedView1 + ' + Me.TabbedView1.EnableFreeLayoutMode = DevExpress.Utils.DefaultBoolean.[True] + ' + 'DockManager + ' + Me.DockManager.Form = Me + Me.DockManager.RootPanels.AddRange(New DevExpress.XtraBars.Docking.DockPanel() {Me.panelContainer1}) + Me.DockManager.TopZIndexControls.AddRange(New String() {"DevExpress.XtraBars.BarDockControl", "DevExpress.XtraBars.StandaloneBarDockControl", "System.Windows.Forms.StatusBar", "System.Windows.Forms.MenuStrip", "System.Windows.Forms.StatusStrip", "DevExpress.XtraBars.Ribbon.RibbonStatusBar", "DevExpress.XtraBars.Ribbon.RibbonControl", "DevExpress.XtraBars.Navigation.OfficeNavigationBar", "DevExpress.XtraBars.Navigation.TileNavPane", "DevExpress.XtraBars.TabFormControl", "DevExpress.XtraBars.FluentDesignSystem.FluentDesignFormControl"}) + ' + 'panelContainer1 + ' + Me.panelContainer1.Controls.Add(Me.DockPanelGlobix) + Me.panelContainer1.Controls.Add(Me.DockPanelProcessManager) + Me.panelContainer1.Dock = DevExpress.XtraBars.Docking.DockingStyle.Right + Me.panelContainer1.ID = New System.Guid("a0849884-28cd-486b-bc02-0c28fd88a006") + Me.panelContainer1.Location = New System.Drawing.Point(793, 146) + Me.panelContainer1.Name = "panelContainer1" + Me.panelContainer1.OriginalSize = New System.Drawing.Size(346, 200) + Me.panelContainer1.SavedSizeFactor = 0R + Me.panelContainer1.Size = New System.Drawing.Size(346, 410) + Me.panelContainer1.Text = "panelContainer1" + ' + 'DockPanelGlobix + ' + Me.DockPanelGlobix.Controls.Add(Me.DockPanel1_Container) + Me.DockPanelGlobix.Dock = DevExpress.XtraBars.Docking.DockingStyle.Fill + Me.DockPanelGlobix.ID = New System.Guid("804984d7-b275-4115-ab10-a8322f0a8a7e") + Me.DockPanelGlobix.Location = New System.Drawing.Point(0, 0) + Me.DockPanelGlobix.Name = "DockPanelGlobix" + Me.DockPanelGlobix.Options.ShowCloseButton = False + Me.DockPanelGlobix.OriginalSize = New System.Drawing.Size(200, 200) + Me.DockPanelGlobix.SavedSizeFactor = 0R + Me.DockPanelGlobix.Size = New System.Drawing.Size(346, 205) + Me.DockPanelGlobix.Text = "GLOBIX" + ' + 'DockPanel1_Container + ' + Me.DockPanel1_Container.Controls.Add(Me.Label1) + Me.DockPanel1_Container.Location = New System.Drawing.Point(5, 38) + Me.DockPanel1_Container.Name = "DockPanel1_Container" + Me.DockPanel1_Container.Size = New System.Drawing.Size(337, 162) + Me.DockPanel1_Container.TabIndex = 0 + ' + 'Label1 + ' + Me.Label1.Dock = System.Windows.Forms.DockStyle.Fill + Me.Label1.Font = New System.Drawing.Font("Tahoma", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label1.Location = New System.Drawing.Point(0, 0) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(337, 162) + Me.Label1.TabIndex = 0 + Me.Label1.Text = "DROP FILES HERE" + Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter + ' + 'DockPanelProcessManager + ' + Me.DockPanelProcessManager.Controls.Add(Me.DockPanel2_Container) + Me.DockPanelProcessManager.Dock = DevExpress.XtraBars.Docking.DockingStyle.Fill + Me.DockPanelProcessManager.ID = New System.Guid("a84f02de-66af-4674-9260-85bec9f0825b") + Me.DockPanelProcessManager.Location = New System.Drawing.Point(0, 205) + Me.DockPanelProcessManager.Name = "DockPanelProcessManager" + Me.DockPanelProcessManager.Options.ShowCloseButton = False + Me.DockPanelProcessManager.OriginalSize = New System.Drawing.Size(346, 200) + Me.DockPanelProcessManager.SavedSizeFactor = 0R + Me.DockPanelProcessManager.Size = New System.Drawing.Size(346, 205) + Me.DockPanelProcessManager.Text = "Process Manager" + ' + 'DockPanel2_Container + ' + Me.DockPanel2_Container.Controls.Add(Me.ProcessManagerOverview) + Me.DockPanel2_Container.Location = New System.Drawing.Point(5, 38) + Me.DockPanel2_Container.Name = "DockPanel2_Container" + Me.DockPanel2_Container.Size = New System.Drawing.Size(337, 163) + Me.DockPanel2_Container.TabIndex = 0 + ' + 'ProcessManagerOverview + ' + Me.ProcessManagerOverview.DataSource = Nothing + Me.ProcessManagerOverview.Dock = System.Windows.Forms.DockStyle.Fill + Me.ProcessManagerOverview.Location = New System.Drawing.Point(0, 0) + Me.ProcessManagerOverview.Name = "ProcessManagerOverview" + Me.ProcessManagerOverview.Size = New System.Drawing.Size(337, 163) + Me.ProcessManagerOverview.TabIndex = 0 + ' + 'frmMain + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(1139, 577) + Me.Controls.Add(Me.panelContainer1) + Me.Controls.Add(Me.RibbonStatusBar) + Me.Controls.Add(Me.RibbonControl) + Me.IsMdiContainer = True + Me.Name = "frmMain" + Me.Ribbon = Me.RibbonControl + Me.StatusBar = Me.RibbonStatusBar + Me.Text = "EDMI" + CType(Me.RibbonControl, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.MainMenu, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.DocumentManager, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.TabbedView1, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.DockManager, System.ComponentModel.ISupportInitialize).EndInit() + Me.panelContainer1.ResumeLayout(False) + Me.DockPanelGlobix.ResumeLayout(False) + Me.DockPanel1_Container.ResumeLayout(False) + Me.DockPanelProcessManager.ResumeLayout(False) + Me.DockPanel2_Container.ResumeLayout(False) + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + + Friend WithEvents RibbonControl As DevExpress.XtraBars.Ribbon.RibbonControl + Friend WithEvents RibbonPageStart As DevExpress.XtraBars.Ribbon.RibbonPage + Friend WithEvents RibbonPageGroup1 As DevExpress.XtraBars.Ribbon.RibbonPageGroup + Friend WithEvents RibbonStatusBar As DevExpress.XtraBars.Ribbon.RibbonStatusBar + Friend WithEvents MainMenu As DevExpress.XtraBars.Ribbon.ApplicationMenu + Friend WithEvents BarButtonExit As DevExpress.XtraBars.BarButtonItem + Friend WithEvents BarButtonUserSettings As DevExpress.XtraBars.BarButtonItem + Friend WithEvents LabelCurrentUser As DevExpress.XtraBars.BarStaticItem + Friend WithEvents LabelCurrentMachine As DevExpress.XtraBars.BarStaticItem + Friend WithEvents LabelCurrentVersion As DevExpress.XtraBars.BarStaticItem + Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem + Friend WithEvents BarButtonDock1 As DevExpress.XtraBars.BarButtonItem + Friend WithEvents RibbonPageView As DevExpress.XtraBars.Ribbon.RibbonPage + Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup + Friend WithEvents NativeMdiView1 As DevExpress.XtraBars.Docking2010.Views.NativeMdi.NativeMdiView + Friend WithEvents DocumentManager As DevExpress.XtraBars.Docking2010.DocumentManager + Friend WithEvents TabbedView1 As DevExpress.XtraBars.Docking2010.Views.Tabbed.TabbedView + Friend WithEvents DockManager As DevExpress.XtraBars.Docking.DockManager + Friend WithEvents DockPanelGlobix As DevExpress.XtraBars.Docking.DockPanel + Friend WithEvents DockPanel1_Container As DevExpress.XtraBars.Docking.ControlContainer + Friend WithEvents Label1 As Label + Friend WithEvents DockPanelProcessManager As DevExpress.XtraBars.Docking.DockPanel + Friend WithEvents DockPanel2_Container As DevExpress.XtraBars.Docking.ControlContainer + Friend WithEvents panelContainer1 As DevExpress.XtraBars.Docking.DockPanel + Friend WithEvents SkinDropDownButtonItem1 As DevExpress.XtraBars.SkinDropDownButtonItem + Friend WithEvents BarButtonDashboard As DevExpress.XtraBars.BarButtonItem + Friend WithEvents RibbonPageGroup3 As DevExpress.XtraBars.Ribbon.RibbonPageGroup + Friend WithEvents ProcessManagerOverview As ProcessManagerOverview + Friend WithEvents RibbonPageWorkflow As DevExpress.XtraBars.Ribbon.RibbonPage + Friend WithEvents RibbonPageGroup4 As DevExpress.XtraBars.Ribbon.RibbonPageGroup + Friend WithEvents BarButtonEntityDesigner As DevExpress.XtraBars.BarButtonItem + Friend WithEvents RibbonPageCategoryEntityDesigner As DevExpress.XtraBars.Ribbon.RibbonPageCategory + Friend WithEvents RibbonPageControlActions As DevExpress.XtraBars.Ribbon.RibbonPage + Friend WithEvents RibbonPageGroup5 As DevExpress.XtraBars.Ribbon.RibbonPageGroup + Friend WithEvents BarButtonDeleteControl As DevExpress.XtraBars.BarButtonItem +End Class diff --git a/EDMI_ClientSuite/frmMain2.resx b/EDMI_ClientSuite/frmMain.resx similarity index 81% rename from EDMI_ClientSuite/frmMain2.resx rename to EDMI_ClientSuite/frmMain.resx index d43f5b5d..a62b3c60 100644 --- a/EDMI_ClientSuite/frmMain2.resx +++ b/EDMI_ClientSuite/frmMain.resx @@ -118,7 +118,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - 128, 18 + 174, 17 @@ -338,48 +338,83 @@ 8Ky/HUvEvynFkqiPC+j6AAAAAElFTkSuQmCC - - 238, 18 - - + - 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 - - 393, 18 + + + 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 + + + + 17, 17 + + + 284, 17 \ No newline at end of file diff --git a/EDMI_ClientSuite/frmMain.vb b/EDMI_ClientSuite/frmMain.vb new file mode 100644 index 00000000..317ad4ae --- /dev/null +++ b/EDMI_ClientSuite/frmMain.vb @@ -0,0 +1,90 @@ +Imports DevExpress.XtraBars.Docking2010.Views +Imports DevExpress.XtraBars.Docking2010 +Imports DevExpress.XtraBars.Docking2010.Views.Widget +Imports System.ComponentModel +Imports EDMI_ClientSuite.ClassLayout +Imports System.IO + +Public Class frmMain + Private Sub FrmMain_Load(sender As Object, e As EventArgs) Handles Me.Load + LabelCurrentUser.Caption = Environment.UserName + LabelCurrentMachine.Caption = Environment.MachineName + LabelCurrentVersion.Caption = My.Application.Info.Version.ToString + + Dim oDashboard = New frmDashboard() + oDashboard.MdiParent = DocumentManager.MdiParent + oDashboard.Show() + + ' --- Process Manager Panel --- + Dim oDataTable = New DataTable("PMDocuments") + Dim oDocNameColumn = New DataColumn("DocName", GetType(String)) + oDataTable.Columns.Add(oDocNameColumn) + + Dim oRow = oDataTable.NewRow() + oRow.Item("DocName") = "test1.xlsx" + + oDataTable.Rows.Add(oRow) + + ProcessManagerOverview.DataSource = oDataTable + AddHandler ProcessManagerOverview.RowDoubleClicked, Sub(RowView As DataRowView) + MsgBox($"Clicked on Document {RowView.Row.Item("DocName")}") + End Sub + + + LoadLayout() + End Sub + + Private Sub FrmMain_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing + SaveLayout() + End Sub + + Private Sub LoadLayout() + Dim oLayoutPathForDockManager As String = GetLayoutPath(LayoutName.LayoutMain, LayoutComponent.DockManager) + Dim oLayoutPathForDocumentManager As String = GetLayoutPath(LayoutName.LayoutMain, LayoutComponent.DocumentManager) + + If IO.File.Exists(oLayoutPathForDockManager) Then + DockManager.RestoreLayoutFromXml(oLayoutPathForDockManager) + End If + + If IO.File.Exists(oLayoutPathForDocumentManager) Then + DocumentManager.View.RestoreLayoutFromXml(oLayoutPathForDocumentManager) + End If + End Sub + Private Sub SaveLayout() + Dim oLayoutPathForDockManager As String = GetLayoutPath(LayoutName.LayoutMain, LayoutComponent.DockManager) + Dim oLayoutPathForDocumentManager As String = GetLayoutPath(LayoutName.LayoutMain, LayoutComponent.DocumentManager) + Dim oDirectory As String = Path.GetDirectoryName(oLayoutPathForDockManager) + + If Not Directory.Exists(oDirectory) Then + Directory.CreateDirectory(oDirectory) + End If + + DockManager.SaveLayoutToXml(oLayoutPathForDockManager) + DocumentManager.View.SaveLayoutToXml(oLayoutPathForDocumentManager) + End Sub + + Private Sub BarButtonUserSettings_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonUserSettings.ItemClick + Dim frm As New frmUserBasics() + frm.MdiParent = DocumentManager.MdiParent + frm.Show() + End Sub + + Private Sub BarButtonDashboard_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonDashboard.ItemClick + Dim frm As New frmDashboard() + frm.MdiParent = DocumentManager.MdiParent + frm.Show() + End Sub + + Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick + Dim frm As New frmFileTest(MyLogConfig) + frm.MdiParent = DocumentManager.MdiParent + frm.Show() + End Sub + + Private Sub BarButtonEntityDesigner_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonEntityDesigner.ItemClick + Dim frm As New frmEntityDesigner() + frm.MdiParent = DocumentManager.MdiParent + frm.Show() + RibbonPageCategoryEntityDesigner.Visible = True + End Sub +End Class \ No newline at end of file diff --git a/EDMI_ClientSuite/frmMain2.Designer.vb b/EDMI_ClientSuite/frmMain2.Designer.vb deleted file mode 100644 index 22b08d9d..00000000 --- a/EDMI_ClientSuite/frmMain2.Designer.vb +++ /dev/null @@ -1,259 +0,0 @@ - _ -Partial Class frmMain2 - Inherits DevExpress.XtraBars.Ribbon.RibbonForm - - 'Form overrides dispose to clean up the component list. - _ - Protected Overrides Sub Dispose(ByVal disposing As Boolean) - If disposing AndAlso components IsNot Nothing Then - components.Dispose() - End If - MyBase.Dispose(disposing) - End Sub - - 'Required by the Windows Form Designer - Private components As System.ComponentModel.IContainer - - 'NOTE: The following procedure is required by the Windows Form Designer - 'It can be modified using the Windows Form Designer. - 'Do not modify it using the code editor. - _ - Private Sub InitializeComponent() - Me.components = New System.ComponentModel.Container() - Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMain2)) - Me.RibbonControl = New DevExpress.XtraBars.Ribbon.RibbonControl() - Me.MainMenu = New DevExpress.XtraBars.Ribbon.ApplicationMenu(Me.components) - Me.BarButtonExit = New DevExpress.XtraBars.BarButtonItem() - Me.BarButtonUserSettings = New DevExpress.XtraBars.BarButtonItem() - Me.LabelCurrentUser = New DevExpress.XtraBars.BarStaticItem() - Me.LabelCurrentMachine = New DevExpress.XtraBars.BarStaticItem() - Me.LabelCurrentVersion = New DevExpress.XtraBars.BarStaticItem() - Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem() - Me.BarButtonDock1 = New DevExpress.XtraBars.BarButtonItem() - Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage() - Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() - Me.RibbonPageView = New DevExpress.XtraBars.Ribbon.RibbonPage() - Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() - Me.RibbonStatusBar = New DevExpress.XtraBars.Ribbon.RibbonStatusBar() - Me.DockManagerMain = New DevExpress.XtraBars.Docking.DockManager(Me.components) - Me.DockPanel1 = New DevExpress.XtraBars.Docking.DockPanel() - Me.DockPanel1_Container = New DevExpress.XtraBars.Docking.ControlContainer() - Me.DockPanel2 = New DevExpress.XtraBars.Docking.DockPanel() - Me.DockPanel2_Container = New DevExpress.XtraBars.Docking.ControlContainer() - Me.DocumentManager1 = New DevExpress.XtraBars.Docking2010.DocumentManager(Me.components) - Me.TabbedView1 = New DevExpress.XtraBars.Docking2010.Views.Tabbed.TabbedView(Me.components) - CType(Me.RibbonControl, System.ComponentModel.ISupportInitialize).BeginInit() - CType(Me.MainMenu, System.ComponentModel.ISupportInitialize).BeginInit() - CType(Me.DockManagerMain, System.ComponentModel.ISupportInitialize).BeginInit() - Me.DockPanel1.SuspendLayout() - Me.DockPanel2.SuspendLayout() - CType(Me.DocumentManager1, System.ComponentModel.ISupportInitialize).BeginInit() - CType(Me.TabbedView1, System.ComponentModel.ISupportInitialize).BeginInit() - Me.SuspendLayout() - ' - 'RibbonControl - ' - Me.RibbonControl.ApplicationButtonDropDownControl = Me.MainMenu - Me.RibbonControl.ExpandCollapseItem.Id = 0 - Me.RibbonControl.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl.ExpandCollapseItem, Me.BarButtonExit, Me.BarButtonUserSettings, Me.LabelCurrentUser, Me.LabelCurrentMachine, Me.LabelCurrentVersion, Me.BarButtonItem1, Me.BarButtonDock1}) - Me.RibbonControl.Location = New System.Drawing.Point(0, 0) - Me.RibbonControl.MaxItemId = 10 - Me.RibbonControl.Name = "RibbonControl" - Me.RibbonControl.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1, Me.RibbonPageView}) - Me.RibbonControl.Size = New System.Drawing.Size(1139, 146) - Me.RibbonControl.StatusBar = Me.RibbonStatusBar - ' - 'MainMenu - ' - Me.MainMenu.ItemLinks.Add(Me.BarButtonExit) - Me.MainMenu.ItemLinks.Add(Me.BarButtonUserSettings) - Me.MainMenu.Name = "MainMenu" - Me.MainMenu.Ribbon = Me.RibbonControl - ' - 'BarButtonExit - ' - Me.BarButtonExit.Caption = "Beenden" - Me.BarButtonExit.Id = 1 - Me.BarButtonExit.ImageOptions.Image = CType(resources.GetObject("BarButtonExit.ImageOptions.Image"), System.Drawing.Image) - Me.BarButtonExit.Name = "BarButtonExit" - ' - 'BarButtonUserSettings - ' - Me.BarButtonUserSettings.Caption = "Einstellungen" - Me.BarButtonUserSettings.Id = 2 - Me.BarButtonUserSettings.ImageOptions.Image = CType(resources.GetObject("BarButtonUserSettings.ImageOptions.Image"), System.Drawing.Image) - Me.BarButtonUserSettings.Name = "BarButtonUserSettings" - ' - 'LabelCurrentUser - ' - Me.LabelCurrentUser.Caption = "Current User" - Me.LabelCurrentUser.Id = 3 - Me.LabelCurrentUser.ImageOptions.Image = CType(resources.GetObject("LabelCurrentUser.ImageOptions.Image"), System.Drawing.Image) - Me.LabelCurrentUser.Name = "LabelCurrentUser" - ' - 'LabelCurrentMachine - ' - Me.LabelCurrentMachine.Caption = "Current Machine" - Me.LabelCurrentMachine.Id = 4 - Me.LabelCurrentMachine.ImageOptions.Image = CType(resources.GetObject("LabelCurrentMachine.ImageOptions.Image"), System.Drawing.Image) - Me.LabelCurrentMachine.Name = "LabelCurrentMachine" - ' - 'LabelCurrentVersion - ' - Me.LabelCurrentVersion.Alignment = DevExpress.XtraBars.BarItemLinkAlignment.Right - Me.LabelCurrentVersion.Caption = "Current Version" - Me.LabelCurrentVersion.Id = 5 - Me.LabelCurrentVersion.ImageOptions.Image = CType(resources.GetObject("LabelCurrentVersion.ImageOptions.Image"), System.Drawing.Image) - Me.LabelCurrentVersion.Name = "LabelCurrentVersion" - ' - 'BarButtonItem1 - ' - Me.BarButtonItem1.Caption = "File Test" - Me.BarButtonItem1.Id = 8 - Me.BarButtonItem1.Name = "BarButtonItem1" - ' - 'BarButtonDock1 - ' - Me.BarButtonDock1.Caption = "Show Panel" - Me.BarButtonDock1.Id = 9 - Me.BarButtonDock1.Name = "BarButtonDock1" - ' - 'RibbonPage1 - ' - Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1}) - Me.RibbonPage1.Name = "RibbonPage1" - Me.RibbonPage1.Text = "RibbonPage1" - ' - 'RibbonPageGroup1 - ' - Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem1) - Me.RibbonPageGroup1.Name = "RibbonPageGroup1" - Me.RibbonPageGroup1.Text = "RibbonPageGroup1" - ' - 'RibbonPageView - ' - Me.RibbonPageView.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup2}) - Me.RibbonPageView.Name = "RibbonPageView" - Me.RibbonPageView.Text = "View" - ' - 'RibbonPageGroup2 - ' - Me.RibbonPageGroup2.ItemLinks.Add(Me.BarButtonDock1) - Me.RibbonPageGroup2.Name = "RibbonPageGroup2" - Me.RibbonPageGroup2.Text = "RibbonPageGroup2" - ' - 'RibbonStatusBar - ' - Me.RibbonStatusBar.ItemLinks.Add(Me.LabelCurrentUser) - Me.RibbonStatusBar.ItemLinks.Add(Me.LabelCurrentMachine) - Me.RibbonStatusBar.ItemLinks.Add(Me.LabelCurrentVersion) - Me.RibbonStatusBar.Location = New System.Drawing.Point(0, 556) - Me.RibbonStatusBar.Name = "RibbonStatusBar" - Me.RibbonStatusBar.Ribbon = Me.RibbonControl - Me.RibbonStatusBar.Size = New System.Drawing.Size(1139, 21) - ' - 'DockManagerMain - ' - Me.DockManagerMain.Form = Me - Me.DockManagerMain.HiddenPanels.AddRange(New DevExpress.XtraBars.Docking.DockPanel() {Me.DockPanel1}) - Me.DockManagerMain.RootPanels.AddRange(New DevExpress.XtraBars.Docking.DockPanel() {Me.DockPanel2}) - Me.DockManagerMain.TopZIndexControls.AddRange(New String() {"DevExpress.XtraBars.BarDockControl", "DevExpress.XtraBars.StandaloneBarDockControl", "System.Windows.Forms.StatusBar", "System.Windows.Forms.MenuStrip", "System.Windows.Forms.StatusStrip", "DevExpress.XtraBars.Ribbon.RibbonStatusBar", "DevExpress.XtraBars.Ribbon.RibbonControl", "DevExpress.XtraBars.Navigation.OfficeNavigationBar", "DevExpress.XtraBars.Navigation.TileNavPane", "DevExpress.XtraBars.TabFormControl", "DevExpress.XtraBars.FluentDesignSystem.FluentDesignFormControl"}) - ' - 'DockPanel1 - ' - Me.DockPanel1.Controls.Add(Me.DockPanel1_Container) - Me.DockPanel1.Dock = DevExpress.XtraBars.Docking.DockingStyle.Right - Me.DockPanel1.FloatVertical = True - Me.DockPanel1.ID = New System.Guid("be5e4321-16c2-4610-a05f-45ccfd108268") - Me.DockPanel1.ImageOptions.Image = CType(resources.GetObject("DockPanel1.ImageOptions.Image"), System.Drawing.Image) - Me.DockPanel1.Location = New System.Drawing.Point(939, 146) - Me.DockPanel1.Name = "DockPanel1" - Me.DockPanel1.OriginalSize = New System.Drawing.Size(200, 200) - Me.DockPanel1.SavedDock = DevExpress.XtraBars.Docking.DockingStyle.Right - Me.DockPanel1.SavedIndex = 0 - Me.DockPanel1.SavedSizeFactor = 1.0R - Me.DockPanel1.Size = New System.Drawing.Size(200, 410) - Me.DockPanel1.Text = "DockPanel1" - Me.DockPanel1.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden - ' - 'DockPanel1_Container - ' - Me.DockPanel1_Container.Location = New System.Drawing.Point(5, 38) - Me.DockPanel1_Container.Name = "DockPanel1_Container" - Me.DockPanel1_Container.Size = New System.Drawing.Size(191, 368) - Me.DockPanel1_Container.TabIndex = 0 - ' - 'DockPanel2 - ' - Me.DockPanel2.Controls.Add(Me.DockPanel2_Container) - Me.DockPanel2.Dock = DevExpress.XtraBars.Docking.DockingStyle.Bottom - Me.DockPanel2.ID = New System.Guid("a9e840fa-a0c7-409e-8726-498d466363f8") - Me.DockPanel2.Location = New System.Drawing.Point(0, 356) - Me.DockPanel2.Name = "DockPanel2" - Me.DockPanel2.OriginalSize = New System.Drawing.Size(200, 200) - Me.DockPanel2.SavedSizeFactor = 0R - Me.DockPanel2.Size = New System.Drawing.Size(1139, 200) - Me.DockPanel2.Text = "Log" - ' - 'DockPanel2_Container - ' - Me.DockPanel2_Container.Location = New System.Drawing.Point(4, 39) - Me.DockPanel2_Container.Name = "DockPanel2_Container" - Me.DockPanel2_Container.Size = New System.Drawing.Size(1131, 157) - Me.DockPanel2_Container.TabIndex = 0 - ' - 'DocumentManager1 - ' - Me.DocumentManager1.MdiParent = Me - Me.DocumentManager1.MenuManager = Me.RibbonControl - Me.DocumentManager1.View = Me.TabbedView1 - Me.DocumentManager1.ViewCollection.AddRange(New DevExpress.XtraBars.Docking2010.Views.BaseView() {Me.TabbedView1}) - ' - 'frmMain2 - ' - Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) - Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font - Me.ClientSize = New System.Drawing.Size(1139, 577) - Me.Controls.Add(Me.DockPanel2) - Me.Controls.Add(Me.RibbonStatusBar) - Me.Controls.Add(Me.RibbonControl) - Me.IsMdiContainer = True - Me.Name = "frmMain2" - Me.Ribbon = Me.RibbonControl - Me.StatusBar = Me.RibbonStatusBar - Me.Text = "EDMI" - CType(Me.RibbonControl, System.ComponentModel.ISupportInitialize).EndInit() - CType(Me.MainMenu, System.ComponentModel.ISupportInitialize).EndInit() - CType(Me.DockManagerMain, System.ComponentModel.ISupportInitialize).EndInit() - Me.DockPanel1.ResumeLayout(False) - Me.DockPanel2.ResumeLayout(False) - CType(Me.DocumentManager1, System.ComponentModel.ISupportInitialize).EndInit() - CType(Me.TabbedView1, System.ComponentModel.ISupportInitialize).EndInit() - Me.ResumeLayout(False) - Me.PerformLayout() - - End Sub - - Friend WithEvents RibbonControl As DevExpress.XtraBars.Ribbon.RibbonControl - Friend WithEvents RibbonPage1 As DevExpress.XtraBars.Ribbon.RibbonPage - Friend WithEvents RibbonPageGroup1 As DevExpress.XtraBars.Ribbon.RibbonPageGroup - Friend WithEvents RibbonStatusBar As DevExpress.XtraBars.Ribbon.RibbonStatusBar - Friend WithEvents MainMenu As DevExpress.XtraBars.Ribbon.ApplicationMenu - Friend WithEvents BarButtonExit As DevExpress.XtraBars.BarButtonItem - Friend WithEvents BarButtonUserSettings As DevExpress.XtraBars.BarButtonItem - Friend WithEvents LabelCurrentUser As DevExpress.XtraBars.BarStaticItem - Friend WithEvents LabelCurrentMachine As DevExpress.XtraBars.BarStaticItem - Friend WithEvents LabelCurrentVersion As DevExpress.XtraBars.BarStaticItem - Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem - Friend WithEvents DockPanel1 As DevExpress.XtraBars.Docking.DockPanel - Friend WithEvents DockPanel1_Container As DevExpress.XtraBars.Docking.ControlContainer - Friend WithEvents DockManagerMain As DevExpress.XtraBars.Docking.DockManager - Friend WithEvents DocumentManager1 As DevExpress.XtraBars.Docking2010.DocumentManager - Friend WithEvents BarButtonDock1 As DevExpress.XtraBars.BarButtonItem - Friend WithEvents RibbonPageView As DevExpress.XtraBars.Ribbon.RibbonPage - Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup - Friend WithEvents DockPanel2 As DevExpress.XtraBars.Docking.DockPanel - Friend WithEvents DockPanel2_Container As DevExpress.XtraBars.Docking.ControlContainer - Friend WithEvents NativeMdiView1 As DevExpress.XtraBars.Docking2010.Views.NativeMdi.NativeMdiView - Friend WithEvents TabbedView1 As DevExpress.XtraBars.Docking2010.Views.Tabbed.TabbedView -End Class diff --git a/EDMI_ClientSuite/frmMain2.vb b/EDMI_ClientSuite/frmMain2.vb deleted file mode 100644 index c38eea24..00000000 --- a/EDMI_ClientSuite/frmMain2.vb +++ /dev/null @@ -1,30 +0,0 @@ -Imports DevExpress.XtraBars.Docking2010.Views -Imports DevExpress.XtraBars.Docking2010 -Imports DevExpress.XtraBars.Docking2010.Views.Widget - -Public Class frmMain2 - Public Sub New() - InitializeComponent() - - Dim oForm As New frmSplash() - oForm.ShowDialog() - End Sub - - Private Sub BarButtonUserSettings_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonUserSettings.ItemClick - Dim frm As New frmUserBasics() - 'frm.MdiParent = DocumentManager1.MdiParent - frm.Show() - End Sub - - Private Sub frmMain2_Load(sender As Object, e As EventArgs) Handles Me.Load - LabelCurrentUser.Caption = Environment.UserName - LabelCurrentMachine.Caption = Environment.MachineName - LabelCurrentVersion.Caption = My.Application.Info.Version.ToString - End Sub - - Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick - Dim frm As New frmFileTest(MyLogConfig) - frm.MdiParent = DocumentManager1.MdiParent - frm.Show() - End Sub -End Class \ No newline at end of file diff --git a/EDMI_ClientSuite/frmSplash.designer.vb b/EDMI_ClientSuite/frmSplash.designer.vb index e059b8af..a968c346 100644 --- a/EDMI_ClientSuite/frmSplash.designer.vb +++ b/EDMI_ClientSuite/frmSplash.designer.vb @@ -13,8 +13,8 @@ Partial Class frmSplash MyBase.Dispose(disposing) End Try End Sub - Friend WithEvents Version As System.Windows.Forms.Label - Friend WithEvents Copyright As System.Windows.Forms.Label + Friend WithEvents lblVersion As System.Windows.Forms.Label + Friend WithEvents lblCopyright As System.Windows.Forms.Label 'Wird vom Windows Form-Designer benötigt. Private components As System.ComponentModel.IContainer @@ -24,40 +24,40 @@ Partial Class frmSplash 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. _ Private Sub InitializeComponent() - Me.Version = New System.Windows.Forms.Label() - Me.Copyright = New System.Windows.Forms.Label() + Me.lblVersion = New System.Windows.Forms.Label() + Me.lblCopyright = New System.Windows.Forms.Label() Me.lblStatus = New System.Windows.Forms.Label() Me.pbStatus = New System.Windows.Forms.ProgressBar() Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel() Me.PictureBox1 = New System.Windows.Forms.PictureBox() - Me.Label1 = New System.Windows.Forms.Label() + Me.lblProductName = New System.Windows.Forms.Label() Me.TableLayoutPanel1.SuspendLayout() CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' - 'Version + 'lblVersion ' - Me.Version.BackColor = System.Drawing.Color.Transparent - Me.Version.Dock = System.Windows.Forms.DockStyle.Fill - Me.Version.Font = New System.Drawing.Font("Segoe UI", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Version.Location = New System.Drawing.Point(3, 0) - Me.Version.Name = "Version" - Me.Version.Size = New System.Drawing.Size(290, 21) - Me.Version.TabIndex = 1 - Me.Version.Text = "Version {0}.{1:00}" - Me.Version.TextAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.lblVersion.BackColor = System.Drawing.Color.Transparent + Me.lblVersion.Dock = System.Windows.Forms.DockStyle.Fill + Me.lblVersion.Font = New System.Drawing.Font("Segoe UI", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblVersion.Location = New System.Drawing.Point(3, 0) + Me.lblVersion.Name = "lblVersion" + Me.lblVersion.Size = New System.Drawing.Size(290, 21) + Me.lblVersion.TabIndex = 1 + Me.lblVersion.Text = "Version {0}.{1:00}" + Me.lblVersion.TextAlign = System.Drawing.ContentAlignment.MiddleLeft ' - 'Copyright + 'lblCopyright ' - Me.Copyright.BackColor = System.Drawing.Color.Transparent - Me.Copyright.Dock = System.Windows.Forms.DockStyle.Fill - Me.Copyright.Font = New System.Drawing.Font("Segoe UI", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Copyright.Location = New System.Drawing.Point(3, 21) - Me.Copyright.Name = "Copyright" - Me.Copyright.Size = New System.Drawing.Size(290, 21) - Me.Copyright.TabIndex = 2 - Me.Copyright.Text = "Copyright" - Me.Copyright.TextAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.lblCopyright.BackColor = System.Drawing.Color.Transparent + Me.lblCopyright.Dock = System.Windows.Forms.DockStyle.Fill + Me.lblCopyright.Font = New System.Drawing.Font("Segoe UI", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblCopyright.Location = New System.Drawing.Point(3, 21) + Me.lblCopyright.Name = "lblCopyright" + Me.lblCopyright.Size = New System.Drawing.Size(290, 21) + Me.lblCopyright.TabIndex = 2 + Me.lblCopyright.Text = "Copyright" + Me.lblCopyright.TextAlign = System.Drawing.ContentAlignment.MiddleLeft ' 'lblStatus ' @@ -84,8 +84,8 @@ Partial Class frmSplash ' Me.TableLayoutPanel1.ColumnCount = 1 Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle()) - Me.TableLayoutPanel1.Controls.Add(Me.Copyright, 0, 1) - Me.TableLayoutPanel1.Controls.Add(Me.Version, 0, 0) + Me.TableLayoutPanel1.Controls.Add(Me.lblCopyright, 0, 1) + Me.TableLayoutPanel1.Controls.Add(Me.lblVersion, 0, 0) Me.TableLayoutPanel1.Location = New System.Drawing.Point(313, 188) Me.TableLayoutPanel1.Name = "TableLayoutPanel1" Me.TableLayoutPanel1.RowCount = 2 @@ -105,15 +105,15 @@ Partial Class frmSplash Me.PictureBox1.TabIndex = 3 Me.PictureBox1.TabStop = False ' - 'Label1 + 'lblProductName ' - Me.Label1.AutoSize = True - Me.Label1.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label1.Location = New System.Drawing.Point(316, 156) - Me.Label1.Name = "Label1" - Me.Label1.Size = New System.Drawing.Size(48, 17) - Me.Label1.TabIndex = 4 - Me.Label1.Text = "Label1" + Me.lblProductName.AutoSize = True + Me.lblProductName.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblProductName.Location = New System.Drawing.Point(316, 156) + Me.lblProductName.Name = "lblProductName" + Me.lblProductName.Size = New System.Drawing.Size(48, 17) + Me.lblProductName.TabIndex = 4 + Me.lblProductName.Text = "Label1" ' 'frmSplash ' @@ -122,7 +122,7 @@ Partial Class frmSplash Me.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom Me.ClientSize = New System.Drawing.Size(621, 419) Me.ControlBox = False - Me.Controls.Add(Me.Label1) + Me.Controls.Add(Me.lblProductName) Me.Controls.Add(Me.TableLayoutPanel1) Me.Controls.Add(Me.lblStatus) Me.Controls.Add(Me.pbStatus) @@ -146,5 +146,5 @@ Partial Class frmSplash Friend WithEvents pbStatus As System.Windows.Forms.ProgressBar Friend WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel Friend WithEvents PictureBox1 As System.Windows.Forms.PictureBox - Friend WithEvents Label1 As Label + Friend WithEvents lblProductName As Label End Class diff --git a/EDMI_ClientSuite/frmSplash.vb b/EDMI_ClientSuite/frmSplash.vb index add1e19a..496e0f6f 100644 --- a/EDMI_ClientSuite/frmSplash.vb +++ b/EDMI_ClientSuite/frmSplash.vb @@ -1,102 +1,73 @@ Imports System.ComponentModel -Imports System.Diagnostics -Imports System.Threading -Imports System.Globalization +Imports System.ServiceModel +Imports DigitalData.Modules.Logging +Imports DigitalData.Modules.Logging.LogConfig +Imports EDMI_ClientSuite.NetworkService_DDEDM Public NotInheritable Class frmSplash + Private _Worker As New BackgroundWorker() + Private _ChannelFactory As ChannelFactory(Of IEDMServiceChannel) + Private _Channel As IEDMServiceChannel + Private _Logger As Logger - 'TODO: Dieses Formular kann einfach als Begrüßungsbildschirm für die Anwendung festgelegt werden, indem Sie zur Registerkarte "Anwendung" - ' des Projekt-Designers wechseln (Menü "Projekt", Option "Eigenschaften"). - Private InitSteps As Integer = 4 - Private bw As New BackgroundWorker() + Private _CurrentRetry As Integer = 0 + + Private Const SLEEP_TIME = 600 + Private Const INIT_STEPS = 1 + Private Const MAX_RETRIES = 10 + Private Const OPEN_TIMEOUT = 10 Private Sub frmSplash_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load - 'Richten Sie den Dialogtext zur Laufzeit gemäß den Assemblyinformationen der Anwendung ein. - - 'TODO: Die Assemblyinformationen der Anwendung im Bereich "Anwendung" des Dialogfelds für die - ' Projekteigenschaften (im Menü "Projekt") anpassen. - - 'Anwendungstitel - 'If My.Application.Info.Title <> "" Then - ' ApplicationTitle.Text = My.Application.Info.Title - 'Else - ' 'Wenn der Anwendungstitel fehlt, Anwendungsnamen ohne Erweiterung verwenden - ' ApplicationTitle.Text = System.IO.Path.GetFileNameWithoutExtension(My.Application.Info.AssemblyName) - 'End If - - 'Verwenden Sie zum Formatieren der Versionsinformationen den Text, der zur Entwurfszeit in der Versionskontrolle festgelegt wurde, als - ' Formatierungszeichenfolge. Dies ermöglicht ggf. eine effektive Lokalisierung. - ' Build- und Revisionsinformationen können durch Verwendung des folgenden Codes und durch Ändern - ' des Entwurfszeittexts der Versionskontrolle in "Version {0}.{1:00}.{2}.{3}" oder einen ähnlichen Text eingeschlossen werden. Weitere Informationen erhalten Sie unter - ' String.Format() in der Hilfe. - ' - ' Version.Text = System.String.Format(Version.Text, My.Application.Info.Version.Major, My.Application.Info.Version.Minor, My.Application.Info.Version.Build, My.Application.Info.Version.Revision) - Label1.Text = My.Application.Info.ProductName - Version.Text = String.Format("Version {0}", My.Application.Info.Version.ToString) - - 'Copyrightinformationen - Copyright.Text = My.Application.Info.Copyright - Me.BringToFront() - - Dim p As Process - Dim RunCount = 0 - For Each p In Process.GetProcesses - If p.ProcessName.Contains("lobal_Indexe") Then - RunCount += 1 - End If - Next - 'If RunCount = 2 Then - ' MsgBox("Application already running. " & "GLOBIX will be closed!", MsgBoxStyle.Exclamation) - ' My.Settings.AppTerminate = True - ' My.Settings.Save() - ' Me.Close() - 'Else - ' InitProgram() - 'End If - - InitProgram() - - - + lblProductName.Text = My.Application.Info.ProductName + lblCopyright.Text = My.Application.Info.Copyright + lblVersion.Text = String.Format("Version {0}", My.Application.Info.Version.ToString) + BringToFront() + StartWorker() End Sub - Private Sub InitProgram() - bw.WorkerReportsProgress = True - AddHandler bw.DoWork, AddressOf bw_DoWork - AddHandler bw.ProgressChanged, AddressOf bw_ProgressChanged - AddHandler bw.RunWorkerCompleted, AddressOf bw_RunWorkerCompleted - - bw.RunWorkerAsync() - End Sub - - Private Function CalcProgress(_step As Integer) - Return _step * (100 / InitSteps) + Private Function SetProgress(_step As Integer) + Return _step * (100 / INIT_STEPS) End Function - _ + Private Sub StartWorker() + AddHandler _Worker.DoWork, AddressOf bw_DoWork + AddHandler _Worker.ProgressChanged, AddressOf bw_ProgressChanged + AddHandler _Worker.RunWorkerCompleted, AddressOf bw_RunWorkerCompleted + + _Worker.WorkerReportsProgress = True + _Worker.RunWorkerAsync() + End Sub + +#Region "Worker" Private Sub bw_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) + Dim oInit As ClassInit + Try + oInit = New ClassInit() + My.LogConfig = oInit._LogConfig + _Logger = My.LogConfig.GetLogger() + Catch ex As Exception + Throw New Exception($"Error while initializing Logger: {ex.Message}", ex) + End Try - bw.ReportProgress(CalcProgress(1), "Initialize Logging") - Dim Init = New ClassInit() - System.Threading.Thread.Sleep(600) - - bw.ReportProgress(CalcProgress(2), "Initialize User Settings") - ' Init.InitUserConfig() - System.Threading.Thread.Sleep(600) - - bw.ReportProgress(CalcProgress(3), "Initialize Database") - 'If Init.InitDatabase() = True Then - ' System.Threading.Thread.Sleep(600) - ' bw.ReportProgress(CalcProgress(4), "Initialize UserConfiguration") - ' Init.InitBasics() - ' Init.InitUserLogin() - - - 'End If + '------------------ + _Worker.ReportProgress(SetProgress(1), "Connecting to service..") + Try + My.ChannelFactory = oInit.CreateService() + My.Channel = My.ChannelFactory.CreateChannel() + AddHandler My.Channel.Faulted, Sub() + _Logger.Error("Could not connect to service") + Throw New Exception("Could not connect to service") + End Sub + My.Channel.Open() + Catch ex As Exception + Throw New Exception($"Error while connectiong to service: {ex.Message}", ex) + End Try + System.Threading.Thread.Sleep(SLEEP_TIME) + ' TODO: Initialize Usersettings and populate My.Application.User End Sub Private Sub bw_ProgressChanged(sender As Object, e As System.ComponentModel.ProgressChangedEventArgs) @@ -108,20 +79,12 @@ Public NotInheritable Class frmSplash ' Bei Fehler MsgBox anzeigen und Programm beenden If e.Error IsNot Nothing Then 'ClassLogger.Add("Unexpected error in Initializing application....") - MsgBox(e.Error.Message, MsgBoxStyle.Critical, "Unexpected error in Initializing application") + MsgBox(e.Error.Message, MsgBoxStyle.Critical, "Critical Error") Application.Exit() End If ' Wenn kein Fehler, Splashscreen schließen Me.Close() End Sub - - Public Sub New() - - ' Dieser Aufruf ist für den Designer erforderlich. - InitializeComponent() - - ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. - - End Sub +#End Region End Class diff --git a/EDMI_ClientSuite/packages.config b/EDMI_ClientSuite/packages.config new file mode 100644 index 00000000..c68c1ffe --- /dev/null +++ b/EDMI_ClientSuite/packages.config @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/EDMI_FILE_OPs/EDMIFileOps.vbproj b/EDMI_FILE_OPs/EDMIFileOps.vbproj index 25274ec9..61dc73f2 100644 --- a/EDMI_FILE_OPs/EDMIFileOps.vbproj +++ b/EDMI_FILE_OPs/EDMIFileOps.vbproj @@ -43,16 +43,17 @@ On - - ..\Modules.Logging\bin\Debug\DigitalData.Modules.Logging.dll - - - ..\Modules.Logging\bin\Debug\NLog.dll + + + ..\packages\NLog.4.5.11\lib\net45\NLog.dll + + + @@ -141,6 +142,7 @@ My Settings.Designer.vb + @@ -160,5 +162,11 @@ Reference.vb + + + {903b2d7d-3b80-4be9-8713-7447b704e1b0} + Logging + + \ No newline at end of file diff --git a/EDMI_FILE_OPs/FileOp.vb b/EDMI_FILE_OPs/FileOp.vb index 669e2acd..169533b5 100644 --- a/EDMI_FILE_OPs/FileOp.vb +++ b/EDMI_FILE_OPs/FileOp.vb @@ -53,7 +53,7 @@ Public Class FileOp Dim oFileGUID = Await New_EDMIFile_CreateContainer(oFILENAME) Dim oFileRecordID = Nothing If Not IsNothing(oFileGUID) Then - Dim oSQL = $"SELECT FNEDMI_SET_RECORD('TBEDMI_ADRESSE','{oUserName}',FALSE,NULL,'','{oFileGUID}') FROM rdb$database;" + Dim oSQL = $"SELECT FNEDMI_SET_RECORD(""TBEDMI_ADRESSE"",""{oUserName}"",FALSE,NULL,"""",'{oFileGUID}') FROM rdb$database;" oFileRecordID = Await New_EDMIFile_CreateDB_Record(oSQL) End If Return oFileRecordID diff --git a/EDMI_FILE_OPs/packages.config b/EDMI_FILE_OPs/packages.config new file mode 100644 index 00000000..f89fa324 --- /dev/null +++ b/EDMI_FILE_OPs/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Modules.Logging/LogConfig.vb b/Modules.Logging/LogConfig.vb index 3accf6cb..9faa6422 100644 --- a/Modules.Logging/LogConfig.vb +++ b/Modules.Logging/LogConfig.vb @@ -111,6 +111,9 @@ Public Class LogConfig Private Const LOG_FORMAT_EXCEPTION As String = LOG_FORMAT_BASE & " >> ${exception:format=Message}${newline}${exception:format=StackTrace}" Private Const LOG_FORMAT_DEBUG As String = LOG_FORMAT_BASE_LONG_DATE & " >> ${message}" + Private Const FOLDER_NAME_LOG = "Log" + Private Const FILE_NAME_ACCESS_TEST = "accessTest.txt" + Private ReadOnly failSafePath As String = Path.GetTempPath() Private ReadOnly basePath As String = failSafePath @@ -167,11 +170,11 @@ Public Class LogConfig If logPath = PathType.AppData Then Dim appDataDir = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) - basePath = Path.Combine(appDataDir, companyName, productName) + basePath = Path.Combine(appDataDir, companyName, productName, FOLDER_NAME_LOG) ElseIf logPath = PathType.CurrentDirectory Then Dim currentDirectory As String = My.Application.Info.DirectoryPath - basePath = Path.Combine(currentDirectory, "Log") + basePath = Path.Combine(currentDirectory, FOLDER_NAME_LOG) Else 'Custom Path basePath = customLogPath End If @@ -188,7 +191,7 @@ Public Class LogConfig ' Try to create a file in `basePath` to check write permissions Try - Dim fileAccessPath = Path.Combine(basePath, "accessTest.txt") + Dim fileAccessPath = Path.Combine(basePath, FILE_NAME_ACCESS_TEST) Using fs As FileStream = File.Create(fileAccessPath) fs.WriteByte(0) End Using