diff --git a/GUIs.Common/Common.vbproj b/GUIs.Common/Common.vbproj
index e61036dd..ed8a5a15 100644
--- a/GUIs.Common/Common.vbproj
+++ b/GUIs.Common/Common.vbproj
@@ -128,6 +128,12 @@
Settings.settings
True
+
+ frmObjectPropertyDialog.vb
+
+
+ Form
+
@@ -143,6 +149,9 @@
My.Resources
Designer
+
+ frmObjectPropertyDialog.vb
+
diff --git a/GUIs.Common/My Project/licenses.licx b/GUIs.Common/My Project/licenses.licx
index d4cc1df5..bb9752e0 100644
--- a/GUIs.Common/My Project/licenses.licx
+++ b/GUIs.Common/My Project/licenses.licx
@@ -1,2 +1,3 @@
-DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
diff --git a/GUIs.Common/ObjectPropertyDialog/frmObjectPropertyDialog.Designer.vb b/GUIs.Common/ObjectPropertyDialog/frmObjectPropertyDialog.Designer.vb
new file mode 100644
index 00000000..1e59aa34
--- /dev/null
+++ b/GUIs.Common/ObjectPropertyDialog/frmObjectPropertyDialog.Designer.vb
@@ -0,0 +1,196 @@
+ _
+Partial Class frmObjectPropertyDialog
+ Inherits DevExpress.XtraBars.TabForm
+
+ '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(frmObjectPropertyDialog))
+ Me.TabFormControl1 = New DevExpress.XtraBars.TabFormControl()
+ Me.TabPageProperties = New DevExpress.XtraBars.TabFormPage()
+ Me.TabFormContentContainer1 = New DevExpress.XtraBars.TabFormContentContainer()
+ Me.LayoutControlProperties = New DevExpress.XtraLayout.LayoutControl()
+ Me.Root = New DevExpress.XtraLayout.LayoutControlGroup()
+ Me.TabPageMetadata = New DevExpress.XtraBars.TabFormPage()
+ Me.TabFormContentContainer2 = New DevExpress.XtraBars.TabFormContentContainer()
+ Me.TabPageLifecycle = New DevExpress.XtraBars.TabFormPage()
+ Me.TabFormContentContainer3 = New DevExpress.XtraBars.TabFormContentContainer()
+ Me.PanelControl1 = New DevExpress.XtraEditors.PanelControl()
+ Me.Button1 = New System.Windows.Forms.Button()
+ Me.Button2 = New System.Windows.Forms.Button()
+ Me.Button3 = New System.Windows.Forms.Button()
+ CType(Me.TabFormControl1, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.TabFormContentContainer1.SuspendLayout()
+ CType(Me.LayoutControlProperties, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.Root, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.PanelControl1, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.PanelControl1.SuspendLayout()
+ Me.SuspendLayout()
+ '
+ 'TabFormControl1
+ '
+ Me.TabFormControl1.Location = New System.Drawing.Point(0, 0)
+ Me.TabFormControl1.Name = "TabFormControl1"
+ Me.TabFormControl1.Pages.Add(Me.TabPageProperties)
+ Me.TabFormControl1.Pages.Add(Me.TabPageMetadata)
+ Me.TabFormControl1.Pages.Add(Me.TabPageLifecycle)
+ Me.TabFormControl1.SelectedPage = Me.TabPageProperties
+ Me.TabFormControl1.Size = New System.Drawing.Size(572, 71)
+ Me.TabFormControl1.TabForm = Me
+ Me.TabFormControl1.TabIndex = 0
+ Me.TabFormControl1.TabStop = False
+ '
+ 'TabPageProperties
+ '
+ Me.TabPageProperties.ContentContainer = Me.TabFormContentContainer1
+ Me.TabPageProperties.Name = "TabPageProperties"
+ Me.TabPageProperties.ShowCloseButton = DevExpress.Utils.DefaultBoolean.[False]
+ Me.TabPageProperties.Text = "Eigenschaften"
+ '
+ 'TabFormContentContainer1
+ '
+ Me.TabFormContentContainer1.Controls.Add(Me.LayoutControlProperties)
+ Me.TabFormContentContainer1.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.TabFormContentContainer1.Location = New System.Drawing.Point(0, 71)
+ Me.TabFormContentContainer1.Name = "TabFormContentContainer1"
+ Me.TabFormContentContainer1.Size = New System.Drawing.Size(572, 534)
+ Me.TabFormContentContainer1.TabIndex = 1
+ '
+ 'LayoutControlProperties
+ '
+ Me.LayoutControlProperties.Location = New System.Drawing.Point(108, 80)
+ Me.LayoutControlProperties.Name = "LayoutControlProperties"
+ Me.LayoutControlProperties.Root = Me.Root
+ Me.LayoutControlProperties.Size = New System.Drawing.Size(180, 120)
+ Me.LayoutControlProperties.TabIndex = 0
+ Me.LayoutControlProperties.Text = "LayoutControl1"
+ '
+ 'Root
+ '
+ Me.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.[True]
+ Me.Root.GroupBordersVisible = False
+ Me.Root.Name = "Root"
+ Me.Root.Size = New System.Drawing.Size(180, 120)
+ Me.Root.TextVisible = False
+ '
+ 'TabPageMetadata
+ '
+ Me.TabPageMetadata.ContentContainer = Me.TabFormContentContainer2
+ Me.TabPageMetadata.Name = "TabPageMetadata"
+ Me.TabPageMetadata.ShowCloseButton = DevExpress.Utils.DefaultBoolean.[False]
+ Me.TabPageMetadata.Text = "Metadaten"
+ '
+ 'TabFormContentContainer2
+ '
+ Me.TabFormContentContainer2.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.TabFormContentContainer2.Location = New System.Drawing.Point(0, 71)
+ Me.TabFormContentContainer2.Name = "TabFormContentContainer2"
+ Me.TabFormContentContainer2.Size = New System.Drawing.Size(572, 534)
+ Me.TabFormContentContainer2.TabIndex = 2
+ '
+ 'TabPageLifecycle
+ '
+ Me.TabPageLifecycle.ContentContainer = Me.TabFormContentContainer3
+ Me.TabPageLifecycle.Name = "TabPageLifecycle"
+ Me.TabPageLifecycle.ShowCloseButton = DevExpress.Utils.DefaultBoolean.[False]
+ Me.TabPageLifecycle.Text = "Lebenszyklus"
+ '
+ 'TabFormContentContainer3
+ '
+ Me.TabFormContentContainer3.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.TabFormContentContainer3.Location = New System.Drawing.Point(0, 71)
+ Me.TabFormContentContainer3.Name = "TabFormContentContainer3"
+ Me.TabFormContentContainer3.Size = New System.Drawing.Size(800, 379)
+ Me.TabFormContentContainer3.TabIndex = 3
+ '
+ 'PanelControl1
+ '
+ Me.PanelControl1.Controls.Add(Me.Button3)
+ Me.PanelControl1.Controls.Add(Me.Button2)
+ Me.PanelControl1.Controls.Add(Me.Button1)
+ Me.PanelControl1.Dock = System.Windows.Forms.DockStyle.Bottom
+ Me.PanelControl1.Location = New System.Drawing.Point(0, 554)
+ Me.PanelControl1.Name = "PanelControl1"
+ Me.PanelControl1.Size = New System.Drawing.Size(572, 51)
+ Me.PanelControl1.TabIndex = 1
+ '
+ 'Button1
+ '
+ Me.Button1.Location = New System.Drawing.Point(454, 6)
+ Me.Button1.Name = "Button1"
+ Me.Button1.Size = New System.Drawing.Size(106, 33)
+ Me.Button1.TabIndex = 0
+ Me.Button1.Text = "Übernehmen"
+ Me.Button1.UseVisualStyleBackColor = True
+ '
+ 'Button2
+ '
+ Me.Button2.Location = New System.Drawing.Point(342, 6)
+ Me.Button2.Name = "Button2"
+ Me.Button2.Size = New System.Drawing.Size(106, 33)
+ Me.Button2.TabIndex = 0
+ Me.Button2.Text = "Abbrechen"
+ Me.Button2.UseVisualStyleBackColor = True
+ '
+ 'Button3
+ '
+ Me.Button3.Location = New System.Drawing.Point(230, 6)
+ Me.Button3.Name = "Button3"
+ Me.Button3.Size = New System.Drawing.Size(106, 33)
+ Me.Button3.TabIndex = 0
+ Me.Button3.Text = "OK"
+ Me.Button3.UseVisualStyleBackColor = True
+ '
+ 'frmObjectPropertyDialog
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.ClientSize = New System.Drawing.Size(572, 605)
+ Me.Controls.Add(Me.PanelControl1)
+ Me.Controls.Add(Me.TabFormContentContainer1)
+ Me.Controls.Add(Me.TabFormControl1)
+ Me.IconOptions.SvgImage = CType(resources.GetObject("frmObjectPropertyDialog.IconOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
+ Me.Name = "frmObjectPropertyDialog"
+ Me.TabFormControl = Me.TabFormControl1
+ Me.Text = "Objekt-Eigenschaften"
+ CType(Me.TabFormControl1, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.TabFormContentContainer1.ResumeLayout(False)
+ CType(Me.LayoutControlProperties, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.Root, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.PanelControl1, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.PanelControl1.ResumeLayout(False)
+ Me.ResumeLayout(False)
+
+ End Sub
+
+ Friend WithEvents TabFormControl1 As DevExpress.XtraBars.TabFormControl
+ Friend WithEvents TabPageProperties As DevExpress.XtraBars.TabFormPage
+ Friend WithEvents TabFormContentContainer1 As DevExpress.XtraBars.TabFormContentContainer
+ Friend WithEvents TabPageMetadata As DevExpress.XtraBars.TabFormPage
+ Friend WithEvents TabFormContentContainer2 As DevExpress.XtraBars.TabFormContentContainer
+ Friend WithEvents TabPageLifecycle As DevExpress.XtraBars.TabFormPage
+ Friend WithEvents TabFormContentContainer3 As DevExpress.XtraBars.TabFormContentContainer
+ Friend WithEvents LayoutControlProperties As DevExpress.XtraLayout.LayoutControl
+ Friend WithEvents Root As DevExpress.XtraLayout.LayoutControlGroup
+ Friend WithEvents PanelControl1 As DevExpress.XtraEditors.PanelControl
+ Friend WithEvents Button2 As Windows.Forms.Button
+ Friend WithEvents Button1 As Windows.Forms.Button
+ Friend WithEvents Button3 As Windows.Forms.Button
+End Class
diff --git a/GUIs.Common/ObjectPropertyDialog/frmObjectPropertyDialog.resx b/GUIs.Common/ObjectPropertyDialog/frmObjectPropertyDialog.resx
new file mode 100644
index 00000000..0dc5f691
--- /dev/null
+++ b/GUIs.Common/ObjectPropertyDialog/frmObjectPropertyDialog.resx
@@ -0,0 +1,150 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z
+ LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+ dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAACcFAAAC77u/
+ PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+ IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+ MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+ Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+ MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
+ LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3
+ RDc7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7b3Bh
+ Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tm
+ aWxsOiNGRkIxMTU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iRWRpdENvbG9ycyI+DQogICAgPHBhdGggZD0i
+ TTI5LDBIMUMwLjUsMCwwLDAuNSwwLDF2MjhjMCwwLjUsMC41LDEsMSwxaDI4YzAuNSwwLDEtMC41LDEt
+ MVYxQzMwLDAuNSwyOS41LDAsMjksMHogTTI4LDI4SDJWMmgyNlYyOHoiIGNsYXNzPSJCbGFjayIgLz4N
+ CiAgICA8cGF0aCBkPSJNMTAsMTBINFY0aDZWMTB6IE0xOCw0aC02djZoNlY0eiBNMTAsMTJINHY2aDZW
+ MTJ6IiBjbGFzcz0iWWVsbG93IiAvPg0KICAgIDxwYXRoIGQ9Ik0xMCwyNkg0di02aDZWMjZ6IE0xOCwx
+ MmgtNnY2aDZWMTJ6IiBjbGFzcz0iR3JlZW4iIC8+DQogICAgPHBhdGggZD0iTTI2LDEwaC02VjRoNlYx
+ MHogTTI2LDEyaC02djZoNlYxMnoiIGNsYXNzPSJSZWQiIC8+DQogICAgPHBhdGggZD0iTTI2LDI2aC02
+ di02aDZWMjZ6IE0xOCwyMGgtNnY2aDZWMjB6IiBjbGFzcz0iQmx1ZSIgLz4NCiAgICA8ZyBjbGFzcz0i
+ c3QxIj4NCiAgICAgIDxyZWN0IHg9IjQiIHk9IjEyIiB3aWR0aD0iNiIgaGVpZ2h0PSI2IiByeD0iMCIg
+ cnk9IjAiIGNsYXNzPSJHcmVlbiIgLz4NCiAgICAgIDxwYXRoIGQ9Ik0xOCwxMGgtNlY0aDZWMTB6IE0y
+ NiwyMGgtNnY2aDZWMjB6IiBjbGFzcz0iUmVkIiAvPg0KICAgICAgPHBhdGggZD0iTTI2LDE4aC02di02
+ aDZWMTh6IE0xOCwxMmgtNnY2aDZWMTJ6IiBjbGFzcz0iQmx1ZSIgLz4NCiAgICA8L2c+DQogICAgPGcg
+ Y2xhc3M9InN0MSI+DQogICAgICA8cmVjdCB4PSIyMCIgeT0iMjAiIHdpZHRoPSI2IiBoZWlnaHQ9IjYi
+ IHJ4PSIwIiByeT0iMCIgY2xhc3M9IkJsdWUiIC8+DQogICAgPC9nPg0KICA8L2c+DQo8L3N2Zz4L
+
+
+
\ No newline at end of file
diff --git a/GUIs.Common/ObjectPropertyDialog/frmObjectPropertyDialog.vb b/GUIs.Common/ObjectPropertyDialog/frmObjectPropertyDialog.vb
new file mode 100644
index 00000000..44c7d00a
--- /dev/null
+++ b/GUIs.Common/ObjectPropertyDialog/frmObjectPropertyDialog.vb
@@ -0,0 +1,24 @@
+Imports DigitalData.Modules.Logging
+Imports DigitalData.Modules.ZooFlow
+
+Public Class frmObjectPropertyDialog
+ Private _LogConfig As LogConfig
+ Private _Logger As Logger
+ Private _Environment As Environment
+ Private _ObjectId As Int64
+
+ Public Sub New(LogConfig As LogConfig, Environment As Environment, ObjectId As Int64)
+ ' Dieser Aufruf ist für den Designer erforderlich.
+ InitializeComponent()
+
+ ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
+ _LogConfig = LogConfig
+ _Logger = LogConfig.GetLogger()
+ _Environment = Environment
+ _ObjectId = ObjectId
+ End Sub
+
+ Private Sub frmObjectPropertyDialog_Load(sender As Object, e As EventArgs) Handles MyBase.Load
+
+ End Sub
+End Class
\ No newline at end of file