From cc21797e8124baa02b04bf2752e09e2bef1f23ac Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Tue, 22 Nov 2022 09:35:41 +0100 Subject: [PATCH] Add Text icon, fix EXPANDED setting, fix result count label visibility, add search time label --- GUIs.Monitor/GridLoader.vb | 4 +- GUIs.Monitor/Monitor.vbproj | 27 +++++++------ GUIs.Monitor/My Project/Resources.Designer.vb | 12 +++++- GUIs.Monitor/My Project/Resources.resx | 17 ++++---- .../Resources/actions_deletecircled.svg | 15 +++++++ GUIs.Monitor/frmMonitor.Designer.vb | 14 ++++++- GUIs.Monitor/frmMonitor.resx | 3 ++ GUIs.Monitor/frmMonitor.vb | 40 +++++++++++++------ 8 files changed, 97 insertions(+), 35 deletions(-) create mode 100644 GUIs.Monitor/Resources/actions_deletecircled.svg diff --git a/GUIs.Monitor/GridLoader.vb b/GUIs.Monitor/GridLoader.vb index 1f96dbc..50c13ef 100644 --- a/GUIs.Monitor/GridLoader.vb +++ b/GUIs.Monitor/GridLoader.vb @@ -39,6 +39,7 @@ Public Class GridLoader DateTime = 10 Key = 11 Money = 12 + Text = 13 End Enum Public Sub New(pLogConfig As LogConfig, pSvgImageCollection As SvgImageCollection) @@ -152,7 +153,8 @@ Public Class GridLoader New ImageComboBoxItem("User", "USER", NodeImage.User), New ImageComboBoxItem("DateTime", "DATETIME", NodeImage.DateTime), New ImageComboBoxItem("KeyValue", "KEYVALUE", NodeImage.Key), - New ImageComboBoxItem("Money", "MONEY", NodeImage.Money) + New ImageComboBoxItem("Money", "MONEY", NodeImage.Money), + New ImageComboBoxItem("Text", "TEXT", NodeImage.Text) }) Return oIconEdit End Function diff --git a/GUIs.Monitor/Monitor.vbproj b/GUIs.Monitor/Monitor.vbproj index 4706758..aaece26 100644 --- a/GUIs.Monitor/Monitor.vbproj +++ b/GUIs.Monitor/Monitor.vbproj @@ -78,27 +78,29 @@ False ..\..\DDMonorepo\GUIs.Common\bin\Debug\DigitalData.GUIs.Common.dll - - ..\..\DDMonorepo\Modules.Base\Base\bin\Debug\DigitalData.Modules.Base.dll + + False + ..\..\DDModules\Base\bin\Debug\DigitalData.Modules.Base.dll - + False - ..\..\DDMonorepo\Modules.Config\bin\Debug\DigitalData.Modules.Config.dll + ..\..\DDModules\Config\bin\Debug\DigitalData.Modules.Config.dll - + False - ..\..\DDMonorepo\Modules.Database\bin\Debug\DigitalData.Modules.Database.dll + ..\..\DDModules\Database\bin\Debug\DigitalData.Modules.Database.dll - + False - ..\..\DDMonorepo\Modules.Language\bin\Debug\DigitalData.Modules.Language.dll + ..\..\DDModules\Language\bin\Debug\DigitalData.Modules.Language.dll - + False - ..\..\DDMonorepo\Modules.Logging\bin\Debug\DigitalData.Modules.Logging.dll + ..\..\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll - - ..\..\DDMonorepo\Modules.Patterns\bin\Debug\DigitalData.Modules.Patterns.dll + + False + ..\..\DDModules\Patterns\bin\Debug\DigitalData.Modules.Patterns.dll ..\packages\NLog.4.7.10\lib\net45\NLog.dll @@ -222,6 +224,7 @@ PreserveNewest + diff --git a/GUIs.Monitor/My Project/Resources.Designer.vb b/GUIs.Monitor/My Project/Resources.Designer.vb index 4e196aa..bd0d501 100644 --- a/GUIs.Monitor/My Project/Resources.Designer.vb +++ b/GUIs.Monitor/My Project/Resources.Designer.vb @@ -22,7 +22,7 @@ Namespace My.Resources ''' ''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. ''' - _ @@ -80,6 +80,16 @@ Namespace My.Resources End Get End Property + ''' + ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage. + ''' + Friend ReadOnly Property actions_deletecircled() As DevExpress.Utils.Svg.SvgImage + Get + Dim obj As Object = ResourceManager.GetObject("actions_deletecircled", resourceCulture) + Return CType(obj,DevExpress.Utils.Svg.SvgImage) + End Get + End Property + ''' ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage. ''' diff --git a/GUIs.Monitor/My Project/Resources.resx b/GUIs.Monitor/My Project/Resources.resx index ca75dcd..f7248b8 100644 --- a/GUIs.Monitor/My Project/Resources.resx +++ b/GUIs.Monitor/My Project/Resources.resx @@ -139,8 +139,8 @@ ..\Resources\gettingstarted.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - ..\Resources\movepivottable.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + ..\Resources\actions_reload.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a ..\Resources\exporttoxlsx.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a @@ -148,16 +148,19 @@ ..\Resources\charttype_line.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + ..\Resources\logical.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + ..\Resources\enablesearch.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - ..\Resources\actions_reload.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - ..\Resources\export.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - ..\Resources\logical.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + ..\Resources\movepivottable.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + ..\Resources\actions_deletecircled.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a \ No newline at end of file diff --git a/GUIs.Monitor/Resources/actions_deletecircled.svg b/GUIs.Monitor/Resources/actions_deletecircled.svg new file mode 100644 index 0000000..d8c9bb3 --- /dev/null +++ b/GUIs.Monitor/Resources/actions_deletecircled.svg @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/GUIs.Monitor/frmMonitor.Designer.vb b/GUIs.Monitor/frmMonitor.Designer.vb index 8aa3d99..681d0e2 100644 --- a/GUIs.Monitor/frmMonitor.Designer.vb +++ b/GUIs.Monitor/frmMonitor.Designer.vb @@ -36,6 +36,7 @@ Partial Class frmMonitor Me.btnResetLayout = New DevExpress.XtraBars.BarButtonItem() Me.BarButtonItem2 = New DevExpress.XtraBars.BarButtonItem() Me.lbVersion = New DevExpress.XtraBars.BarStaticItem() + Me.lbSearchTime = New DevExpress.XtraBars.BarStaticItem() Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage() Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroup3 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() @@ -143,9 +144,9 @@ Partial Class frmMonitor ' Me.RibbonControl1.ApplicationButtonDropDownControl = Me.ApplicationMenu1 Me.RibbonControl1.ExpandCollapseItem.Id = 0 - Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.buttonSearch, Me.BarButtonItem1, Me.btnExportDetails, Me.btnExportMain, Me.lbResultCount, Me.btnReloadSearches, Me.btnResetLayout, Me.BarButtonItem2, Me.lbVersion, Me.BarButtonItem3}) + Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.buttonSearch, Me.BarButtonItem1, Me.btnExportDetails, Me.btnExportMain, Me.lbResultCount, Me.btnReloadSearches, Me.btnResetLayout, Me.BarButtonItem2, Me.lbVersion, Me.BarButtonItem3, Me.lbSearchTime}) Me.RibbonControl1.Location = New System.Drawing.Point(0, 0) - Me.RibbonControl1.MaxItemId = 12 + Me.RibbonControl1.MaxItemId = 14 Me.RibbonControl1.Name = "RibbonControl1" Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1}) Me.RibbonControl1.ShowToolbarCustomizeItem = False @@ -238,6 +239,12 @@ Partial Class frmMonitor Me.lbVersion.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph Me.lbVersion.Tag = "Version: {0}" ' + 'lbSearchTime + ' + Me.lbSearchTime.Caption = "BarStaticItem1" + Me.lbSearchTime.Id = 13 + Me.lbSearchTime.Name = "lbSearchTime" + ' 'RibbonPage1 ' Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup3, Me.RibbonPageGroup2, Me.RibbonPageGroup4}) @@ -277,6 +284,7 @@ Partial Class frmMonitor ' Me.RibbonStatusBar1.ItemLinks.Add(Me.lbResultCount) Me.RibbonStatusBar1.ItemLinks.Add(Me.lbVersion) + Me.RibbonStatusBar1.ItemLinks.Add(Me.lbSearchTime) Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 749) Me.RibbonStatusBar1.Name = "RibbonStatusBar1" Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1 @@ -398,6 +406,7 @@ Partial Class frmMonitor Me.SvgImageCollection1.Add("datetime", "image://svgimages/scheduling/switchtimescalesto.svg") Me.SvgImageCollection1.Add("key", "image://svgimages/icon builder/security_key.svg") Me.SvgImageCollection1.Add("money", "image://svgimages/dashboards/currency.svg") + Me.SvgImageCollection1.Add("text", "image://svgimages/business objects/bo_list.svg") ' 'SplitContainerControl1 ' @@ -810,4 +819,5 @@ Partial Class frmMonitor Friend WithEvents RibbonPageGroup4 As DevExpress.XtraBars.Ribbon.RibbonPageGroup Friend WithEvents lbVersion As DevExpress.XtraBars.BarStaticItem Friend WithEvents BarButtonItem3 As DevExpress.XtraBars.BarButtonItem + Friend WithEvents lbSearchTime As DevExpress.XtraBars.BarStaticItem End Class diff --git a/GUIs.Monitor/frmMonitor.resx b/GUIs.Monitor/frmMonitor.resx index b56eef0..72b2740 100644 --- a/GUIs.Monitor/frmMonitor.resx +++ b/GUIs.Monitor/frmMonitor.resx @@ -129,6 +129,9 @@ 673, 17 + + 35 + 836, 17 diff --git a/GUIs.Monitor/frmMonitor.vb b/GUIs.Monitor/frmMonitor.vb index 2f4da63..fcbfac7 100644 --- a/GUIs.Monitor/frmMonitor.vb +++ b/GUIs.Monitor/frmMonitor.vb @@ -1,9 +1,5 @@ -Imports System.ComponentModel -Imports System.Text.RegularExpressions +Imports System.Text.RegularExpressions Imports DevExpress.Utils -Imports DevExpress.XtraEditors -Imports DevExpress.XtraEditors.Controls -Imports DevExpress.XtraEditors.Repository Imports DevExpress.XtraGrid Imports DevExpress.XtraGrid.Columns Imports DevExpress.XtraGrid.Views.Grid @@ -13,7 +9,6 @@ Imports DevExpress.XtraTreeList Imports DevExpress.XtraTreeList.Columns Imports DevExpress.XtraTreeList.Nodes Imports DigitalData.Controls.DocumentViewer -Imports DigitalData.Controls.SQLConfig Imports DigitalData.GUIs.Common Imports DigitalData.GUIs.Monitor.Constants Imports DigitalData.Modules.Config @@ -173,6 +168,7 @@ Public Class frmMonitor Return Database.GetScalarValue(oSQL) End Function + Private Async Sub buttonSearch_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles buttonSearch.ItemClick Await LoadData() End Sub @@ -203,6 +199,7 @@ Public Class frmMonitor Dim oControls As List(Of Control) = LayoutControl1.Controls.Cast(Of Control).ToList() Dim oSQL = Patterns.ReplaceControlValues(oSearch.SQLCommand, oControls) Dim oTable As DataTable = Await Database.GetDatatableAsync(oSQL) + Dim oStartTime = Now If oSearch.ReturnType = Constants.ReturnTypeEnum.TreeView Then GridControlResults.Visible = False @@ -213,6 +210,8 @@ Public Class frmMonitor TreeListResults.DataSource = oTable + lbResultCount.Visibility = DevExpress.XtraBars.BarItemVisibility.Never + Dim oMaxLength = 0 For Each oRow As DataRow In oTable.Rows Dim oProcess = oRow.Item("COLUMN1") @@ -240,12 +239,7 @@ Public Class frmMonitor Next For Each oNode As TreeListNode In TreeListResults.Nodes - Try - Dim oExpanded As TristateBoolean = Utils.NotNull(oNode.Item("EXPANDED"), TristateBoolean.Indeterminate) - ExpandCollapseNode(oNode, oExpanded) - Catch ex As Exception - Logger.Error(ex) - End Try + SetExpandedForChildNodes(oNode) Next SetResultCount(TreeListResults.AllNodesCount) @@ -262,6 +256,8 @@ Public Class frmMonitor GridViewResults.PopulateColumns() GridBuilder.SetDateTimeColumns(GridViewResults) + lbResultCount.Visibility = DevExpress.XtraBars.BarItemVisibility.Always + For Each oColumn As GridColumn In GridViewResults.Columns If oColumn.ColumnType = GetType(Integer) Then oColumn.AppearanceCell.TextOptions.HAlignment = HorzAlignment.Center @@ -290,6 +286,9 @@ Public Class frmMonitor btnExportMain.Enabled = True + Dim oTotalTime = Now.Subtract(oStartTime) + lbSearchTime.Caption = oTotalTime.ToString("mm':'ss") + Return True Catch ex As Exception FormHelper.ShowErrorMessage(ex, "LoadData") @@ -299,6 +298,23 @@ Public Class frmMonitor End Try End Function + Private Sub SetExpandedForChildNodes(pRootNode As TreeListNode, Optional pDepth As Integer = 0) + If pDepth > 10 Then + Exit Sub + End If + + For Each oNode As TreeListNode In pRootNode.Nodes + Try + Dim oExpanded As TristateBoolean = NotNull(oNode.Item("EXPANDED"), TristateBoolean.Indeterminate) + ExpandCollapseNode(oNode, oExpanded) + + SetExpandedForChildNodes(oNode, pDepth + 1) + Catch ex As Exception + Logger.Error(ex) + End Try + Next + End Sub + Private Sub LoadSearches() Try SearchLoader.LoadSearchParameters()