diff --git a/GUIs.Monitor/Constants.vb b/GUIs.Monitor/Constants.vb
new file mode 100644
index 00000000..f007516c
--- /dev/null
+++ b/GUIs.Monitor/Constants.vb
@@ -0,0 +1,9 @@
+Public Class Constants
+ Public Const STATE_SUCCESS As String = "SUCCESS"
+ Public Const STATE_FAILURE As String = "FAILURE"
+ Public Const STATE_WARNING As String = "WARNING"
+ Public Const STATE_WAITING As String = "WAITING"
+ Public Const STATE_HIGHLIGHT As String = "HIGHLIGHT"
+ Public Const STATE_DEFAULT As String = "DEFAULT"
+ Public Const STATE_USER As String = "USER"
+End Class
diff --git a/GUIs.Monitor/Resources/actions_refresh.svg b/GUIs.Monitor/Resources/actions_refresh.svg
new file mode 100644
index 00000000..86a9ccb8
--- /dev/null
+++ b/GUIs.Monitor/Resources/actions_refresh.svg
@@ -0,0 +1,16 @@
+
+
\ No newline at end of file
diff --git a/GUIs.Monitor/Resources/inserttreeview.svg b/GUIs.Monitor/Resources/inserttreeview.svg
new file mode 100644
index 00000000..37993b43
--- /dev/null
+++ b/GUIs.Monitor/Resources/inserttreeview.svg
@@ -0,0 +1,17 @@
+
+
\ No newline at end of file
diff --git a/GUIs.Monitor/TreeListManager.vb b/GUIs.Monitor/TreeListManager.vb
new file mode 100644
index 00000000..351c7bea
--- /dev/null
+++ b/GUIs.Monitor/TreeListManager.vb
@@ -0,0 +1,237 @@
+Imports DevExpress.Utils
+Imports DevExpress.XtraEditors.Controls
+Imports DevExpress.XtraEditors.Repository
+Imports DevExpress.XtraTreeList
+Imports DevExpress.XtraTreeList.Columns
+Imports DevExpress.XtraTreeList.Nodes
+Imports DigitalData.Modules.Database
+Imports DigitalData.Modules.Logging
+Imports DigitalData.Modules.Language.Utils
+
+Public Class TreeListManager
+ Private ReadOnly SvgImages As SvgImageCollection
+ Private ReadOnly LogConfig As LogConfig
+ Private ReadOnly Property Database As MSSQLServer
+ Private ReadOnly Logger As Logger
+
+ Private ReadOnly DisplayColumns As New List(Of String) From {"COLUMN1", "COLUMN2", "COLUMN3", "ADDED_WHEN", "STATE", "ICON"}
+ Private ReadOnly SQLColumns As New List(Of String) From {"SELECT1", "SELECT2", "SELECT3", "SELECT4"}
+ Private ReadOnly DocViewColumns As New List(Of String) From {"DOCVIEW1", "DOCVIEW2"}
+ Private ReadOnly HtmlViewColumns As New List(Of String) From {"HTML1", "HTML2"}
+ Private ReadOnly DataColumns As List(Of String) = SQLColumns.
+ Concat(DocViewColumns).
+ Concat(HtmlViewColumns).
+ ToList
+
+ 'Private ReadOnly Items As New List(Of Tuple(Of TreeList, TreeListProperties))
+ Private ReadOnly Items As New Dictionary(Of TreeList, TreeListProperties)
+
+ Public ReadOnly Property TreeLists As List(Of TreeList)
+ Get
+ Return Items.Keys.ToList
+ End Get
+ End Property
+
+ Public ReadOnly Property CurrentTreeListProps As TreeListProperties
+ Get
+ If CurrentTreeList IsNot Nothing Then
+ Return Items.Item(CurrentTreeList)
+ Else
+ Return Nothing
+ End If
+ End Get
+ End Property
+
+ Public Property CurrentTreeList As TreeList
+
+ Public Event TreeList_FocusedNodeChanged As EventHandler(Of FocusedNodeChangedEventArgs)
+ Public Event TreeList_CustomDrawNodeCell As EventHandler(Of CustomDrawNodeCellEventArgs)
+
+ Public Class TreeListProperties
+ Public SearchValue As String
+ Public ViewName As String
+ Public CreatedAt As Date
+ End Class
+
+ Private Enum NodeImage
+ [Default] = 0
+ SQL = 1
+ File = 2
+ Mail = 3
+ Success = 4
+ Failure = 5
+ Warning = 6
+ Waiting = 7
+ User = 8
+ Highlight = 9
+ End Enum
+
+ Public Sub New(LogConfig As LogConfig, Database As MSSQLServer, SvgImageCollection As SvgImageCollection)
+ Me.LogConfig = LogConfig
+ Me.Database = Database
+ Logger = LogConfig.GetLogger()
+ SvgImages = SvgImageCollection
+ End Sub
+
+ Public Sub Add(TreeList As TreeList)
+ Items.Add(TreeList, New TreeListProperties() With {.CreatedAt = Now})
+ End Sub
+
+ Public Sub AddRange(ParamArray TreeLists As TreeList())
+ For Each oTreeList In TreeLists
+ Add(oTreeList)
+ Next
+ End Sub
+
+ Public Function GetNextTreeList() As TreeList
+ ' Return next free Treelist
+ For Each oTreeList In TreeLists
+ If oTreeList.DataSource Is Nothing Then
+ Return oTreeList
+ End If
+ Next
+
+ ' Otherwise return oldest TreeList
+ Return Items.
+ OrderBy(Function(i) i.Value.CreatedAt).
+ Select(Of TreeList)(Function(i) i.Key).
+ First()
+ End Function
+
+ Public Sub LoadDataFor(TreeList As TreeList, DataSource As DataTable, ViewName As String, Value As String)
+ Try
+ AddHandler TreeList.FocusedNodeChanged, Sub(sender As Object, e As FocusedNodeChangedEventArgs)
+ RaiseEvent TreeList_FocusedNodeChanged(sender, e)
+ End Sub
+
+ AddHandler TreeList.CustomDrawNodeCell, Sub(sender As Object, e As CustomDrawNodeCellEventArgs)
+ RaiseEvent TreeList_CustomDrawNodeCell(sender, e)
+ End Sub
+
+ ' Load data
+ TreeList.DataSource = DataSource
+ TreeList.PopulateColumns()
+
+ ' Show all columns in DisplayColumns List
+ For Each oColumn In TreeList.Columns
+ oColumn.Visible = DisplayColumns.Contains(oColumn.FieldName)
+ If oColumn.FieldName = "ADDED_WHEN" Then
+ oColumn.Format.FormatType = FormatType.DateTime
+ oColumn.Format.FormatString = "dd.MM.yyyy HH:MM:ss"
+ End If
+ Next
+
+ ' Initialize TreeList visuals
+ Init(TreeList)
+
+ ' Expand all nodes that contain state WARNING or FAILURE
+ Dim oStateColumn As TreeListColumn = TreeList.Columns.Item("STATE")
+ For Each oNode As TreeListNode In TreeList.Nodes
+ ExpandNodes(oNode, Function(n)
+ Dim oObjectValue = n.GetValue(oStateColumn)
+ Dim oValue As String = NotNull(oObjectValue, String.Empty)
+ Return oValue IsNot Nothing AndAlso (oValue = Constants.STATE_WARNING Or oValue = Constants.STATE_FAILURE)
+ End Function)
+ Next
+
+ ' Set currently loaded TreeList as current
+ CurrentTreeList = TreeList
+
+ ' Update Timestamp and Searchdata for current TreeList
+ Dim oItem = Items.Item(TreeList)
+ oItem.CreatedAt = Now
+ oItem.SearchValue = Value
+ oItem.ViewName = ViewName
+ Items.Item(TreeList) = oItem
+ Catch ex As Exception
+ Logger.Error(ex)
+ End Try
+ End Sub
+
+ Private Sub ExpandNodes(RootNode As TreeListNode, Condition As Predicate(Of TreeListNode))
+ If Condition(RootNode) = True Then
+ RootNode.Expand()
+ ExpandParentNode(RootNode)
+ End If
+
+ For Each oNode As TreeListNode In RootNode.Nodes
+ ExpandNodes(oNode, Condition)
+
+ If Condition(oNode) = True Then
+ oNode.Expand()
+ ExpandParentNode(oNode)
+ End If
+ Next
+ End Sub
+
+ Private Sub ExpandParentNode(ChildNode As TreeListNode)
+ If ChildNode.ParentNode IsNot Nothing Then
+ ChildNode.ParentNode.Expand()
+ ExpandParentNode(ChildNode.ParentNode)
+ End If
+ End Sub
+
+ Private Sub Init(TreeList As TreeList)
+ If TreeList.Columns.Count = 0 Then
+ Exit Sub
+ End If
+
+ TreeList.KeyFieldName = "GUID"
+ TreeList.ParentFieldName = "PARENT_ID"
+
+ Dim oStateEdit As New RepositoryItemImageComboBox With {
+ .SmallImages = SvgImages,
+ .GlyphAlignment = HorzAlignment.Near
+ }
+ oStateEdit.Buttons.Clear()
+ oStateEdit.Items.AddRange(New List(Of ImageComboBoxItem) From {
+ New ImageComboBoxItem("Success", Constants.STATE_SUCCESS, NodeImage.Success),
+ New ImageComboBoxItem("Failure", Constants.STATE_FAILURE, NodeImage.Failure),
+ New ImageComboBoxItem("Warning", Constants.STATE_WARNING, NodeImage.Warning),
+ New ImageComboBoxItem("Waiting", Constants.STATE_WAITING, NodeImage.Waiting),
+ New ImageComboBoxItem("Default", Constants.STATE_DEFAULT, NodeImage.Default),
+ New ImageComboBoxItem("User", Constants.STATE_USER, NodeImage.User),
+ New ImageComboBoxItem("Highlight", Constants.STATE_HIGHLIGHT, NodeImage.Highlight)
+ })
+
+ Dim oIconEdit As New RepositoryItemImageComboBox With {
+ .SmallImages = SvgImages,
+ .GlyphAlignment = HorzAlignment.Near
+ }
+ oIconEdit.Buttons.Clear()
+ oIconEdit.Items.AddRange(New List(Of ImageComboBoxItem) From {
+ New ImageComboBoxItem("Email", "MAIL", NodeImage.Mail),
+ New ImageComboBoxItem("SQL", "SQL", NodeImage.SQL),
+ New ImageComboBoxItem("File", "FILE", NodeImage.File)
+ })
+
+ Dim oColumn1 = TreeList.Columns.Item("COLUMN1")
+ Dim oStateColumn = TreeList.Columns.Item("STATE")
+ Dim oIconColumn = TreeList.Columns.Item("ICON")
+
+
+ oStateColumn.VisibleIndex = 1
+ oIconColumn.VisibleIndex = 2
+
+ With oColumn1
+ .VisibleIndex = 0
+ .MinWidth = 150
+ End With
+
+ With oStateColumn
+ .ColumnEdit = oStateEdit
+ .MaxWidth = 25
+ .MinWidth = 25
+ .Caption = " "
+ End With
+
+ With oIconColumn
+ .ColumnEdit = oIconEdit
+ .MaxWidth = 25
+ .MinWidth = 25
+ .Caption = " "
+ End With
+
+ End Sub
+
+End Class
diff --git a/GUIs.Monitor/frmDocumentManager.Designer.vb b/GUIs.Monitor/frmDocumentManager.Designer.vb
new file mode 100644
index 00000000..188568b7
--- /dev/null
+++ b/GUIs.Monitor/frmDocumentManager.Designer.vb
@@ -0,0 +1,268 @@
+ _
+Partial Class frmDocumentManager
+ 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 DockingContainer1 As DevExpress.XtraBars.Docking2010.Views.Tabbed.DockingContainer = New DevExpress.XtraBars.Docking2010.Views.Tabbed.DockingContainer()
+ Me.DocumentManager1 = New DevExpress.XtraBars.Docking2010.DocumentManager(Me.components)
+ Me.TabbedView1 = New DevExpress.XtraBars.Docking2010.Views.Tabbed.TabbedView(Me.components)
+ Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl()
+ Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
+ Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
+ Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
+ Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
+ Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage()
+ Me.DockManager1 = New DevExpress.XtraBars.Docking.DockManager(Me.components)
+ Me.PanelDashboard = New DevExpress.XtraBars.Docking.DockPanel()
+ Me.DockPanel1_Container = New DevExpress.XtraBars.Docking.ControlContainer()
+ Me.Document1 = New DevExpress.XtraBars.Docking2010.Views.Tabbed.Document(Me.components)
+ Me.DocumentGroup1 = New DevExpress.XtraBars.Docking2010.Views.Tabbed.DocumentGroup(Me.components)
+ Me.PanelSearch = New DevExpress.XtraBars.Docking.DockPanel()
+ Me.DockPanel2_Container = New DevExpress.XtraBars.Docking.ControlContainer()
+ Me.PanelDocView = New DevExpress.XtraBars.Docking.DockPanel()
+ Me.DockPanel3_Container = New DevExpress.XtraBars.Docking.ControlContainer()
+ Me.PanelSQL = New DevExpress.XtraBars.Docking.DockPanel()
+ Me.DockPanel4_Container = New DevExpress.XtraBars.Docking.ControlContainer()
+ Me.hideContainerRight = New DevExpress.XtraBars.Docking.AutoHideContainer()
+ CType(Me.DocumentManager1, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.TabbedView1, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.DockManager1, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.PanelDashboard.SuspendLayout()
+ CType(Me.Document1, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.DocumentGroup1, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.PanelSearch.SuspendLayout()
+ Me.PanelDocView.SuspendLayout()
+ Me.PanelSQL.SuspendLayout()
+ Me.hideContainerRight.SuspendLayout()
+ Me.SuspendLayout()
+ '
+ 'DocumentManager1
+ '
+ Me.DocumentManager1.ContainerControl = Me
+ Me.DocumentManager1.View = Me.TabbedView1
+ Me.DocumentManager1.ViewCollection.AddRange(New DevExpress.XtraBars.Docking2010.Views.BaseView() {Me.TabbedView1})
+ '
+ 'TabbedView1
+ '
+ Me.TabbedView1.DocumentGroups.AddRange(New DevExpress.XtraBars.Docking2010.Views.Tabbed.DocumentGroup() {Me.DocumentGroup1})
+ Me.TabbedView1.Documents.AddRange(New DevExpress.XtraBars.Docking2010.Views.BaseDocument() {Me.Document1})
+ DockingContainer1.Element = Me.DocumentGroup1
+ Me.TabbedView1.RootContainer.Nodes.AddRange(New DevExpress.XtraBars.Docking2010.Views.Tabbed.DockingContainer() {DockingContainer1})
+ Me.TabbedView1.Style = DevExpress.XtraBars.Docking2010.Views.DockingViewStyle.Light
+ '
+ 'RibbonControl1
+ '
+ Me.RibbonControl1.ExpandCollapseItem.Id = 0
+ Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem})
+ Me.RibbonControl1.Location = New System.Drawing.Point(0, 0)
+ Me.RibbonControl1.MaxItemId = 1
+ Me.RibbonControl1.Name = "RibbonControl1"
+ Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
+ Me.RibbonControl1.Size = New System.Drawing.Size(1134, 159)
+ Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1
+ '
+ 'RibbonPage1
+ '
+ Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup2})
+ Me.RibbonPage1.Name = "RibbonPage1"
+ Me.RibbonPage1.Text = "RibbonPage1"
+ '
+ 'RibbonPageGroup1
+ '
+ Me.RibbonPageGroup1.Name = "RibbonPageGroup1"
+ Me.RibbonPageGroup1.Text = "RibbonPageGroup1"
+ '
+ 'RibbonPageGroup2
+ '
+ Me.RibbonPageGroup2.Name = "RibbonPageGroup2"
+ Me.RibbonPageGroup2.Text = "RibbonPageGroup2"
+ '
+ 'RibbonStatusBar1
+ '
+ Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 665)
+ Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
+ Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1
+ Me.RibbonStatusBar1.Size = New System.Drawing.Size(1134, 22)
+ '
+ 'RibbonPage2
+ '
+ Me.RibbonPage2.Name = "RibbonPage2"
+ Me.RibbonPage2.Text = "RibbonPage2"
+ '
+ 'DockManager1
+ '
+ Me.DockManager1.AutoHideContainers.AddRange(New DevExpress.XtraBars.Docking.AutoHideContainer() {Me.hideContainerRight})
+ Me.DockManager1.Form = Me
+ Me.DockManager1.RootPanels.AddRange(New DevExpress.XtraBars.Docking.DockPanel() {Me.PanelDashboard, Me.PanelSearch, Me.PanelSQL})
+ Me.DockManager1.Style = DevExpress.XtraBars.Docking2010.Views.DockingViewStyle.Light
+ Me.DockManager1.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", "DevExpress.XtraBars.ToolbarForm.ToolbarFormControl"})
+ '
+ 'PanelDashboard
+ '
+ Me.PanelDashboard.Controls.Add(Me.DockPanel1_Container)
+ Me.PanelDashboard.DockedAsTabbedDocument = True
+ Me.PanelDashboard.ID = New System.Guid("7a841a4a-faca-4797-87c6-8be6fc59b50d")
+ Me.PanelDashboard.Name = "PanelDashboard"
+ Me.PanelDashboard.Options.ShowCloseButton = False
+ Me.PanelDashboard.OriginalSize = New System.Drawing.Size(200, 200)
+ Me.PanelDashboard.Text = "DockPanel1"
+ '
+ 'DockPanel1_Container
+ '
+ Me.DockPanel1_Container.Location = New System.Drawing.Point(0, 0)
+ Me.DockPanel1_Container.Name = "DockPanel1_Container"
+ Me.DockPanel1_Container.Size = New System.Drawing.Size(903, 257)
+ Me.DockPanel1_Container.TabIndex = 0
+ '
+ 'Document1
+ '
+ Me.Document1.Caption = "DockPanel1"
+ Me.Document1.ControlName = "PanelDashboard"
+ Me.Document1.FloatLocation = New System.Drawing.Point(0, 0)
+ Me.Document1.FloatSize = New System.Drawing.Size(200, 200)
+ Me.Document1.Properties.AllowClose = DevExpress.Utils.DefaultBoolean.[False]
+ Me.Document1.Properties.AllowFloat = DevExpress.Utils.DefaultBoolean.[True]
+ Me.Document1.Properties.AllowFloatOnDoubleClick = DevExpress.Utils.DefaultBoolean.[True]
+ '
+ 'DocumentGroup1
+ '
+ Me.DocumentGroup1.Items.AddRange(New DevExpress.XtraBars.Docking2010.Views.Tabbed.Document() {Me.Document1})
+ '
+ 'PanelSearch
+ '
+ Me.PanelSearch.Controls.Add(Me.DockPanel2_Container)
+ Me.PanelSearch.Dock = DevExpress.XtraBars.Docking.DockingStyle.Left
+ Me.PanelSearch.ID = New System.Guid("6c1851ca-e156-402e-90f8-a83e25b0ee52")
+ Me.PanelSearch.Location = New System.Drawing.Point(0, 159)
+ Me.PanelSearch.Name = "PanelSearch"
+ Me.PanelSearch.Options.ShowCloseButton = False
+ Me.PanelSearch.OriginalSize = New System.Drawing.Size(200, 200)
+ Me.PanelSearch.Size = New System.Drawing.Size(200, 506)
+ Me.PanelSearch.Text = "Suche"
+ '
+ 'DockPanel2_Container
+ '
+ Me.DockPanel2_Container.Location = New System.Drawing.Point(0, 43)
+ Me.DockPanel2_Container.Name = "DockPanel2_Container"
+ Me.DockPanel2_Container.Size = New System.Drawing.Size(199, 463)
+ Me.DockPanel2_Container.TabIndex = 0
+ '
+ 'PanelDocView
+ '
+ Me.PanelDocView.Controls.Add(Me.DockPanel3_Container)
+ Me.PanelDocView.Dock = DevExpress.XtraBars.Docking.DockingStyle.Right
+ Me.PanelDocView.ID = New System.Guid("a668ae35-02f7-4338-aeee-25839395e8cc")
+ Me.PanelDocView.Location = New System.Drawing.Point(0, 0)
+ Me.PanelDocView.Name = "PanelDocView"
+ Me.PanelDocView.Options.ShowCloseButton = False
+ Me.PanelDocView.OriginalSize = New System.Drawing.Size(200, 200)
+ Me.PanelDocView.SavedDock = DevExpress.XtraBars.Docking.DockingStyle.Right
+ Me.PanelDocView.SavedIndex = 2
+ Me.PanelDocView.Size = New System.Drawing.Size(200, 506)
+ Me.PanelDocView.Text = "Document Viewer"
+ Me.PanelDocView.Visibility = DevExpress.XtraBars.Docking.DockVisibility.AutoHide
+ '
+ 'DockPanel3_Container
+ '
+ Me.DockPanel3_Container.Location = New System.Drawing.Point(1, 43)
+ Me.DockPanel3_Container.Name = "DockPanel3_Container"
+ Me.DockPanel3_Container.Size = New System.Drawing.Size(199, 463)
+ Me.DockPanel3_Container.TabIndex = 0
+ '
+ 'PanelSQL
+ '
+ Me.PanelSQL.Controls.Add(Me.DockPanel4_Container)
+ Me.PanelSQL.Dock = DevExpress.XtraBars.Docking.DockingStyle.Bottom
+ Me.PanelSQL.ID = New System.Guid("0f65098f-8b5a-4efd-9b19-ba4effecffec")
+ Me.PanelSQL.Location = New System.Drawing.Point(200, 445)
+ Me.PanelSQL.Name = "PanelSQL"
+ Me.PanelSQL.Options.ShowCloseButton = False
+ Me.PanelSQL.OriginalSize = New System.Drawing.Size(200, 220)
+ Me.PanelSQL.Size = New System.Drawing.Size(903, 220)
+ Me.PanelSQL.Text = "SQL"
+ '
+ 'DockPanel4_Container
+ '
+ Me.DockPanel4_Container.Location = New System.Drawing.Point(0, 44)
+ Me.DockPanel4_Container.Name = "DockPanel4_Container"
+ Me.DockPanel4_Container.Size = New System.Drawing.Size(903, 176)
+ Me.DockPanel4_Container.TabIndex = 0
+ '
+ 'hideContainerRight
+ '
+ Me.hideContainerRight.BackColor = System.Drawing.Color.FromArgb(CType(CType(248, Byte), Integer), CType(CType(248, Byte), Integer), CType(CType(248, Byte), Integer))
+ Me.hideContainerRight.Controls.Add(Me.PanelDocView)
+ Me.hideContainerRight.Dock = System.Windows.Forms.DockStyle.Right
+ Me.hideContainerRight.Location = New System.Drawing.Point(1103, 159)
+ Me.hideContainerRight.Name = "hideContainerRight"
+ Me.hideContainerRight.Size = New System.Drawing.Size(31, 506)
+ '
+ 'frmDocumentManager
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.ClientSize = New System.Drawing.Size(1134, 687)
+ Me.Controls.Add(Me.PanelSQL)
+ Me.Controls.Add(Me.PanelSearch)
+ Me.Controls.Add(Me.hideContainerRight)
+ Me.Controls.Add(Me.RibbonStatusBar1)
+ Me.Controls.Add(Me.RibbonControl1)
+ Me.Name = "frmDocumentManager"
+ Me.Ribbon = Me.RibbonControl1
+ Me.StatusBar = Me.RibbonStatusBar1
+ Me.Text = "frmDocumentManager"
+ CType(Me.DocumentManager1, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.TabbedView1, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.DockManager1, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.PanelDashboard.ResumeLayout(False)
+ CType(Me.Document1, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.DocumentGroup1, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.PanelSearch.ResumeLayout(False)
+ Me.PanelDocView.ResumeLayout(False)
+ Me.PanelSQL.ResumeLayout(False)
+ Me.hideContainerRight.ResumeLayout(False)
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
+
+ End Sub
+
+ Friend WithEvents DocumentManager1 As DevExpress.XtraBars.Docking2010.DocumentManager
+ Friend WithEvents TabbedView1 As DevExpress.XtraBars.Docking2010.Views.Tabbed.TabbedView
+ Friend WithEvents RibbonControl1 As DevExpress.XtraBars.Ribbon.RibbonControl
+ Friend WithEvents RibbonPage1 As DevExpress.XtraBars.Ribbon.RibbonPage
+ Friend WithEvents RibbonPageGroup1 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
+ Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
+ Friend WithEvents RibbonStatusBar1 As DevExpress.XtraBars.Ribbon.RibbonStatusBar
+ Friend WithEvents RibbonPage2 As DevExpress.XtraBars.Ribbon.RibbonPage
+ Friend WithEvents PanelSQL As DevExpress.XtraBars.Docking.DockPanel
+ Friend WithEvents DockPanel4_Container As DevExpress.XtraBars.Docking.ControlContainer
+ Friend WithEvents PanelDocView As DevExpress.XtraBars.Docking.DockPanel
+ Friend WithEvents DockPanel3_Container As DevExpress.XtraBars.Docking.ControlContainer
+ Friend WithEvents PanelSearch As DevExpress.XtraBars.Docking.DockPanel
+ Friend WithEvents DockPanel2_Container As DevExpress.XtraBars.Docking.ControlContainer
+ Friend WithEvents DocumentGroup1 As DevExpress.XtraBars.Docking2010.Views.Tabbed.DocumentGroup
+ Friend WithEvents Document1 As DevExpress.XtraBars.Docking2010.Views.Tabbed.Document
+ Friend WithEvents DockManager1 As DevExpress.XtraBars.Docking.DockManager
+ Friend WithEvents PanelDashboard As DevExpress.XtraBars.Docking.DockPanel
+ Friend WithEvents DockPanel1_Container As DevExpress.XtraBars.Docking.ControlContainer
+ Friend WithEvents hideContainerRight As DevExpress.XtraBars.Docking.AutoHideContainer
+End Class
diff --git a/GUIs.Monitor/frmDocumentManager.resx b/GUIs.Monitor/frmDocumentManager.resx
new file mode 100644
index 00000000..f801fe53
--- /dev/null
+++ b/GUIs.Monitor/frmDocumentManager.resx
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ 17, 17
+
+
+ 181, 17
+
+
\ No newline at end of file
diff --git a/GUIs.Monitor/frmDocumentManager.vb b/GUIs.Monitor/frmDocumentManager.vb
new file mode 100644
index 00000000..2729c268
--- /dev/null
+++ b/GUIs.Monitor/frmDocumentManager.vb
@@ -0,0 +1,3 @@
+Public Class frmDocumentManager
+
+End Class
\ No newline at end of file