diff --git a/GUIs.Common/Common.vbproj b/GUIs.Common/Common.vbproj index c2e9ea07..b1c6248c 100644 --- a/GUIs.Common/Common.vbproj +++ b/GUIs.Common/Common.vbproj @@ -117,6 +117,7 @@ Form + frmDialog.vb @@ -566,5 +567,14 @@ + + + + + + + + + \ No newline at end of file diff --git a/GUIs.Common/DocumentResultList/Config.vb b/GUIs.Common/DocumentResultList/Config.vb index adcbf1be..603bd2e7 100644 --- a/GUIs.Common/DocumentResultList/Config.vb +++ b/GUIs.Common/DocumentResultList/Config.vb @@ -4,11 +4,8 @@ Namespace DocumentResultList Public Class Config Public Property WindowLocation As Point Public Property WindowSize As Size - Public Property SplitContainer1Distance As Integer = 500 - Public Property SplitContainer1Horizontal As Boolean = True - Public Property SplitContainer2Distance As Integer = 250 - Public Property SplitContainer2Horizontal As Boolean = False Public Property GridFontSizeDelta As Integer = 0 + Public Property SelectedWorkspace As String = Workspace.DEFAULT_WORKSPACE End Class End Namespace \ No newline at end of file diff --git a/GUIs.Common/DocumentResultList/Layout.vb b/GUIs.Common/DocumentResultList/Layout.vb index 0919fdf3..74c4d546 100644 --- a/GUIs.Common/DocumentResultList/Layout.vb +++ b/GUIs.Common/DocumentResultList/Layout.vb @@ -48,59 +48,59 @@ Namespace DocumentResultList End Try End Sub - Public Sub DockManager_SaveLayout(pDockManager As DockManager) - Try - Dim oFileName As String = GetDockmanager_LayoutName() - pDockManager.SaveLayoutToXml(oFileName) - Catch ex As Exception - Logger.Error(ex) - Logger.Info("Error while saving GridLayout: " & ex.Message) - End Try - End Sub + 'Public Sub DockManager_SaveLayout(pDockManager As DockManager) + ' Try + ' Dim oFileName As String = GetDockmanager_LayoutName() + ' pDockManager.SaveLayoutToXml(oFileName) + ' Catch ex As Exception + ' Logger.Error(ex) + ' Logger.Info("Error while saving GridLayout: " & ex.Message) + ' End Try + 'End Sub - Public Async Function DockManager_SaveLayoutAsync(pDockManager As DockManager) As Task - Await Task.Run(Sub() DockManager_SaveLayout(pDockManager)) - End Function + 'Public Async Function DockManager_SaveLayoutAsync(pDockManager As DockManager) As Task + ' Await Task.Run(Sub() DockManager_SaveLayout(pDockManager)) + 'End Function - Public Sub DockManager_RestoreLayout(pDockManager As DockManager) - Try - Dim oFilename As String = GetDockmanager_LayoutName() - If IO.File.Exists(oFilename) Then - pDockManager.RestoreLayoutFromXml(oFilename) - End If - Catch ex As Exception - Logger.Error(ex) - Logger.Info("Error while restoring GridLayout: " & ex.Message) - End Try - End Sub + 'Public Sub DockManager_RestoreLayout(pDockManager As DockManager) + ' Try + ' Dim oFilename As String = GetDockmanager_LayoutName() + ' If IO.File.Exists(oFilename) Then + ' pDockManager.RestoreLayoutFromXml(oFilename) + ' End If + ' Catch ex As Exception + ' Logger.Error(ex) + ' Logger.Info("Error while restoring GridLayout: " & ex.Message) + ' End Try + 'End Sub - Public Sub GridView_RestoreLayout(pGridView As GridView) - Try - Dim oLayoutFile As String = GetGrid_LayoutName(pGridView) - If IO.File.Exists(oLayoutFile) Then - pGridView.RestoreLayoutFromXml(oLayoutFile, OptionsLayoutBase.FullLayout) - End If - Catch ex As Exception - Logger.Error(ex) - Logger.Info("Error while restoring layout: " & ex.Message) - End Try - End Sub + 'Public Sub GridView_RestoreLayout(pGridView As GridView) + ' Try + ' Dim oLayoutFile As String = GetGrid_LayoutName(pGridView) + ' If IO.File.Exists(oLayoutFile) Then + ' pGridView.RestoreLayoutFromXml(oLayoutFile, OptionsLayoutBase.FullLayout) + ' End If + ' Catch ex As Exception + ' Logger.Error(ex) + ' Logger.Info("Error while restoring layout: " & ex.Message) + ' End Try + 'End Sub - Public Sub GridView_SaveLayout(pGridView As GridView) - Try - Dim oFileName As String = GetGrid_LayoutName(pGridView) - Using oStream = New IO.FileStream(oFileName, IO.FileMode.Open) - pGridView.SaveLayoutToStream(oStream, OptionsLayoutBase.FullLayout) - End Using - Catch ex As Exception - Logger.Error(ex) - Logger.Info("Error while saving GridLayout: " & ex.Message) - End Try - End Sub + 'Public Sub GridView_SaveLayout(pGridView As GridView) + ' Try + ' Dim oFileName As String = GetGrid_LayoutName(pGridView) + ' Using oStream = New IO.FileStream(oFileName, IO.FileMode.Open) + ' pGridView.SaveLayoutToStream(oStream, OptionsLayoutBase.FullLayout) + ' End Using + ' Catch ex As Exception + ' Logger.Error(ex) + ' Logger.Info("Error while saving GridLayout: " & ex.Message) + ' End Try + 'End Sub - Public Async Function GridView_SaveLayoutAsync(pGridView As GridView) As Task - Await Task.Run(Sub() GridView_SaveLayout(pGridView)) - End Function + 'Public Async Function GridView_SaveLayoutAsync(pGridView As GridView) As Task + ' Await Task.Run(Sub() GridView_SaveLayout(pGridView)) + 'End Function Public Function GetDockmanager_LayoutName() As String Dim Filename As String = $"DockManagerDocResult_UserLayout.xml" diff --git a/GUIs.Common/DocumentResultList/Workspace.vb b/GUIs.Common/DocumentResultList/Workspace.vb new file mode 100644 index 00000000..4cbdbc3b --- /dev/null +++ b/GUIs.Common/DocumentResultList/Workspace.vb @@ -0,0 +1,201 @@ +Imports DevExpress.Utils +Imports DevExpress.XtraBars +Imports DevExpress.XtraBars.Ribbon +Imports DigitalData.Modules.Base +Imports DigitalData.Modules.Config +Imports DigitalData.Modules.Logging +Imports DigitalData.Modules.Filesystem +Imports DigitalData.Modules.Language + +Namespace DocumentResultList + Public Class Workspace + Inherits BaseClass + + Private ReadOnly Manager As WorkspaceManager + Private ReadOnly Config As ConfigManager(Of Config) + Private ReadOnly FileEx As File + + Public Const WORKSPACE_FILENAME As String = "Workspaces.xml" + Public Const WORKSPACE_DIRECTORY As String = "Workspaces" + Public Const DEFAULT_WORKSPACE As String = "Default" + + Private _CurrentWorkspace = Nothing + + + Public ReadOnly Property CurrentWorkspace As String + Get + Return _CurrentWorkspace + End Get + End Property + + Public ReadOnly Property Workspaces As List(Of String) + Get + Return Manager.Workspaces. + Select(Function(ws As IWorkspace) ws.Name). + ToList() + End Get + End Property + + Public Sub New(pLogConfig As LogConfig, pConfigManager As ConfigManager(Of Config), pWorkspaceManager As WorkspaceManager) + MyBase.New(pLogConfig) + Manager = pWorkspaceManager + Config = pConfigManager + FileEx = New File(pLogConfig) + End Sub + + Private Function GetWorkspaceDirectoryPath() As String + Dim oConfigPath As String = Config.UserConfigPath + Dim oConfigDirectory As String = IO.Path.Combine(IO.Path.GetDirectoryName(oConfigPath), WORKSPACE_DIRECTORY) + + If IO.Directory.Exists(oConfigDirectory) = False Then + Try + IO.Directory.CreateDirectory(oConfigDirectory) + Catch ex As Exception + Logger.Error(ex) + End Try + End If + + Return oConfigDirectory + End Function + + Private Function GetWorkspacePath(pWorkspaceName As String) As String + Dim oDirectory = GetWorkspaceDirectoryPath() + Dim oFilename As String = Utils.ConvertTextToSlug(pWorkspaceName) & ".xml" + Return IO.Path.Combine(oDirectory, oFilename) + End Function + + Public Function SaveWorkspaces() As Boolean + Try + If Manager.Workspaces.Count = 0 Then + Logger.Debug("No Workspace exists yet, capturing Workspace [{0}]", DEFAULT_WORKSPACE) + Manager.CaptureWorkspace(DEFAULT_WORKSPACE) + _CurrentWorkspace = DEFAULT_WORKSPACE + End If + + SaveWorkspace(_CurrentWorkspace) + + Return True + Catch ex As Exception + Logger.Error(ex) + Return False + End Try + End Function + + Public Function SaveWorkspace(pName As String, Optional pForce As Boolean = False) + Try + Dim oFilePath = GetWorkspacePath(pName) + Logger.Debug("Saving Workspace [{0}] to [{1}]", pName, oFilePath) + Manager.CaptureWorkspace(pName) + Manager.SaveWorkspace(pName, oFilePath, createIfNotExisting:=pForce) + Return True + + Catch ex As Exception + Logger.Error(ex) + Return False + End Try + End Function + + Public Function ResetWorkspaces() As Boolean + Try + Dim oFilePath = GetWorkspaceDirectoryPath() + + If IO.Directory.Exists(oFilePath) = False Then + Logger.Debug("Workspaces directory not found, no workspaces will be deleted!") + Return True + End If + + Dim oFiles = IO.Directory.GetFiles(oFilePath) + + If oFiles.Count = 0 Then + Logger.Debug("No Workspaces found, no workspaces will be deleted!") + Return True + End If + + For Each oFile In oFiles + Try + IO.File.Delete(oFile) + Catch ex As Exception + Logger.Error(ex) + End Try + Next + + Return True + Catch ex As Exception + Logger.Error(ex) + Return False + End Try + End Function + + Public Function LoadWorkspaces() As Boolean + Try + Dim oFilePath = GetWorkspaceDirectoryPath() + + If IO.Directory.Exists(oFilePath) = False Then + Logger.Warn("Workspaces directory not found, workspaces will not be saved!") + Return True + End If + + Dim oFiles = IO.Directory.GetFiles(oFilePath) + + If oFiles.Count = 0 Then + Logger.Debug("Workspaces empty, creating default workspace") + Manager.CaptureWorkspace(DEFAULT_WORKSPACE) + _CurrentWorkspace = DEFAULT_WORKSPACE + End If + + For Each oFile In oFiles + Dim oWorkspaceName As String = IO.Path.GetFileNameWithoutExtension(oFile) + Manager.LoadWorkspace(oWorkspaceName, oFile, True) + Logger.Debug("Workspace [{0}] loaded!", oWorkspaceName) + Next + + Return True + Catch ex As Exception + Logger.Error(ex) + Return False + End Try + End Function + + Public Sub LoadWorkspace(pName As String) + Try + Manager.AllowTransitionAnimation = DefaultBoolean.False + Manager.ApplyWorkspace(pName) + _CurrentWorkspace = pName + Manager.AllowTransitionAnimation = DefaultBoolean.True + Catch ex As Exception + Logger.Error(ex) + End Try + End Sub + + Public Function GetWorkspaceButtons(pRibbonControl As RibbonControl, pRibbonGroup As RibbonPageGroup) As Boolean + Dim oItems As New List(Of BarItem) + + For Each oWorkspace In Manager.Workspaces + Dim oItem As BarButtonItem = pRibbonControl.Items.CreateButton(oWorkspace.Name) + oItem.ImageIndex = 1 + oItem.Id = pRibbonControl.Manager.GetNewItemId() + oItem.Tag = oWorkspace + + AddHandler oItem.ItemClick, AddressOf Item_ItemClick + + oItems.Add(oItem) + Next + + pRibbonGroup.ItemLinks.AddRange(oItems) + + Return True + End Function + + Private Sub Item_ItemClick(sender As Object, e As ItemClickEventArgs) + Dim oTag = e.Item.Tag + + If oTag IsNot Nothing AndAlso TypeOf oTag Is IWorkspace Then + Dim oWorkspace As IWorkspace = oTag + LoadWorkspace(oWorkspace.Name) + End If + End Sub + End Class + + + +End Namespace \ No newline at end of file diff --git a/GUIs.Common/My Project/Resources.Designer.vb b/GUIs.Common/My Project/Resources.Designer.vb index fe1f2277..f468b1d8 100644 --- a/GUIs.Common/My Project/Resources.Designer.vb +++ b/GUIs.Common/My Project/Resources.Designer.vb @@ -160,6 +160,16 @@ Namespace My.Resources End Get End Property + ''' + ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage. + ''' + Friend ReadOnly Property bo_localization() As DevExpress.Utils.Svg.SvgImage + Get + Dim obj As Object = ResourceManager.GetObject("bo_localization", resourceCulture) + Return CType(obj,DevExpress.Utils.Svg.SvgImage) + End Get + End Property + ''' ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage. ''' @@ -490,6 +500,26 @@ Namespace My.Resources End Get End Property + ''' + ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage. + ''' + Friend ReadOnly Property save3() As DevExpress.Utils.Svg.SvgImage + Get + Dim obj As Object = ResourceManager.GetObject("save3", resourceCulture) + Return CType(obj,DevExpress.Utils.Svg.SvgImage) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage. + ''' + Friend ReadOnly Property saveas() As DevExpress.Utils.Svg.SvgImage + Get + Dim obj As Object = ResourceManager.GetObject("saveas", 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.Common/My Project/Resources.resx b/GUIs.Common/My Project/Resources.resx index 0c3d15eb..e79f6019 100644 --- a/GUIs.Common/My Project/Resources.resx +++ b/GUIs.Common/My Project/Resources.resx @@ -121,6 +121,9 @@ ..\Resources\bo_transition.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + ..\Resources\editcolors.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + ..\Resources\security_unlock.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a @@ -145,9 +148,6 @@ ..\Resources\ZooFlow-Vergroessern.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - ..\Resources\save.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - ..\Resources\grid.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a @@ -157,6 +157,9 @@ ..\Resources\jpg.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\xls.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\autoarrange1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a @@ -169,6 +172,9 @@ ..\Resources\copy.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + ..\Resources\actions_checkcircled1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + ..\Resources\togglefieldcodes1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a @@ -184,20 +190,23 @@ ..\Resources\refreshallpivottable.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - ..\Resources\open.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - ..\Resources\enablescrolling.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a ..\Resources\save2.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + ..\Resources\save3.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + ..\Resources\singlepageview1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - ..\Resources\save1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + ..\Resources\bo_contract1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + ..\Resources\actions_database3.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a ..\Resources\txt.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -208,11 +217,8 @@ ..\Resources\groupheader.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - ..\Resources\bo_contract1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - ..\Resources\dwg.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\cancel.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a ..\Resources\clearall1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a @@ -223,6 +229,9 @@ ..\Resources\categorize.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + ..\Resources\zoom_more.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\singlepageview.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a @@ -232,17 +241,17 @@ ..\Resources\columnheaders.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - ..\Resources\editcolors.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + ..\Resources\_page.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\actions_user1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - ..\Resources\xls.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\save.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - ..\Resources\actions_database3.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + ..\Resources\dwg.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\filterquery.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a @@ -256,24 +265,24 @@ ..\Resources\private.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - ..\Resources\cancel.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - ..\Resources\Copy_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\_page.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\save1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a ..\Resources\handtool1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - ..\Resources\zoom_more.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\open.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a ..\Resources\ppt.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\bo_localization.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + ..\Resources\business_world.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a @@ -283,7 +292,7 @@ ..\Resources\_blank.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\actions_checkcircled1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + ..\Resources\saveas.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.Common/Resources/bo_localization.svg b/GUIs.Common/Resources/bo_localization.svg new file mode 100644 index 00000000..fa43331e --- /dev/null +++ b/GUIs.Common/Resources/bo_localization.svg @@ -0,0 +1,25 @@ + + + + + + + \ No newline at end of file diff --git a/GUIs.Common/Resources/save3.svg b/GUIs.Common/Resources/save3.svg new file mode 100644 index 00000000..b09d6ee8 --- /dev/null +++ b/GUIs.Common/Resources/save3.svg @@ -0,0 +1,16 @@ + + + + + \ No newline at end of file diff --git a/GUIs.Common/Resources/saveas.svg b/GUIs.Common/Resources/saveas.svg new file mode 100644 index 00000000..53f4be49 --- /dev/null +++ b/GUIs.Common/Resources/saveas.svg @@ -0,0 +1,20 @@ + + + + + + + + \ No newline at end of file diff --git a/GUIs.Common/frmDocumentResultList.Designer.vb b/GUIs.Common/frmDocumentResultList.Designer.vb index 0299e677..6d64a522 100644 --- a/GUIs.Common/frmDocumentResultList.Designer.vb +++ b/GUIs.Common/frmDocumentResultList.Designer.vb @@ -27,6 +27,7 @@ Partial Class frmDocumentResultList Me.GridView1 = New DevExpress.XtraGrid.Views.BandedGrid.BandedGridView() Me.GridBand1 = New DevExpress.XtraGrid.Views.BandedGrid.GridBand() Me.RibbonControl = New DevExpress.XtraBars.Ribbon.RibbonControl() + Me.SvgImageCollection1 = New DevExpress.Utils.SvgImageCollection(Me.components) Me.SwitchMainContainerHorizontal = New DevExpress.XtraBars.BarToggleSwitchItem() Me.SwitchDetailContainerHorizontal = New DevExpress.XtraBars.BarToggleSwitchItem() Me.BarButtonItemExportGrid1 = New DevExpress.XtraBars.BarButtonItem() @@ -50,7 +51,6 @@ Partial Class frmDocumentResultList Me.BarButtonItem3 = New DevExpress.XtraBars.BarButtonItem() Me.BarButtonItem4 = New DevExpress.XtraBars.BarButtonItem() Me.BarButtonItem5 = New DevExpress.XtraBars.BarButtonItem() - Me.BarButtonResetWindowLayout = New DevExpress.XtraBars.BarButtonItem() Me.MenuItemStartAdhocWorkflow = New DevExpress.XtraBars.BarButtonItem() Me.MenuItemCheckInFile = New DevExpress.XtraBars.BarButtonItem() Me.MenuItemCheckOutFile = New DevExpress.XtraBars.BarButtonItem() @@ -60,10 +60,12 @@ Partial Class frmDocumentResultList Me.chkGridShowTitle = New DevExpress.XtraBars.BarCheckItem() Me.MenuItemSaveProperties = New DevExpress.XtraBars.BarButtonItem() Me.BarButtonItem11 = New DevExpress.XtraBars.BarButtonItem() - Me.BarWorkspaceMenuItem1 = New DevExpress.XtraBars.BarWorkspaceMenuItem() - Me.WorkspaceManager1 = New DevExpress.Utils.WorkspaceManager(Me.components) Me.BarEditItemGridFontSize = New DevExpress.XtraBars.BarEditItem() Me.cmbGridFontSize = New DevExpress.XtraEditors.Repository.RepositoryItemComboBox() + Me.btnSaveWorkspace = New DevExpress.XtraBars.BarButtonItem() + Me.BarWorkspaceMenuItem1 = New DevExpress.XtraBars.BarWorkspaceMenuItem() + Me.WorkspaceManager1 = New DevExpress.Utils.WorkspaceManager(Me.components) + Me.btnSaveWorkspaceAs = New DevExpress.XtraBars.BarButtonItem() Me.RibbonPageStart = New DevExpress.XtraBars.Ribbon.RibbonPage() Me.RibbonPageGroup_Navigation = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroupExport = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() @@ -73,9 +75,10 @@ Partial Class frmDocumentResultList Me.RibbonPageGroupCheckInOut = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroupWorkflow = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroupAttribute = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() + Me.RibbonPageGroupWorkspace = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage() Me.RibbonPageGroup9 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() - Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() + Me.RibbonPageGroupWorkspaceSettings = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RepositoryItemTextEdit1 = New DevExpress.XtraEditors.Repository.RepositoryItemTextEdit() Me.RepositoryItemTextEdit2 = New DevExpress.XtraEditors.Repository.RepositoryItemTextEdit() Me.RepositoryItemSearchControl1 = New DevExpress.XtraEditors.Repository.RepositoryItemSearchControl() @@ -109,7 +112,7 @@ Partial Class frmDocumentResultList Me.CtrlObjectPropertyDialog = New DigitalData.GUIs.Common.ctrlObjectPropertyDialog() Me.DockPanelPreview = New DevExpress.XtraBars.Docking.DockPanel() Me.DockPanel1_Container = New DevExpress.XtraBars.Docking.ControlContainer() - Me.SvgImageCollection1 = New DevExpress.Utils.SvgImageCollection(Me.components) + Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.SplitContainerControl1.Panel1, System.ComponentModel.ISupportInitialize).BeginInit() Me.SplitContainerControl1.Panel1.SuspendLayout() @@ -119,6 +122,7 @@ Partial Class frmDocumentResultList CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.GridView1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.RibbonControl, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.SvgImageCollection1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.cmbGridFontSize, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.RepositoryItemTextEdit1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.RepositoryItemTextEdit2, System.ComponentModel.ISupportInitialize).BeginInit() @@ -153,7 +157,6 @@ Partial Class frmDocumentResultList Me.DockPanel3_Container.SuspendLayout() Me.DockPanelPreview.SuspendLayout() Me.DockPanel1_Container.SuspendLayout() - CType(Me.SvgImageCollection1, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' 'SplitContainerControl1 @@ -213,9 +216,10 @@ Partial Class frmDocumentResultList 'RibbonControl ' Me.RibbonControl.ExpandCollapseItem.Id = 0 - Me.RibbonControl.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl.ExpandCollapseItem, Me.RibbonControl.SearchEditItem, Me.SwitchMainContainerHorizontal, Me.SwitchDetailContainerHorizontal, Me.BarButtonItemExportGrid1, Me.BarStaticItem1, Me.labelResultCount, Me.BarButtonBack, Me.BarButtonResetGridLayout, Me.labelCriticalError, Me.labelWarning, Me.MenuItemFileOpen, Me.MenuItemPropertiesIDB, Me.MenuItemFolderOpen, Me.MenuItemFilepathCopy, Me.MenuItemFolderpathCopy, Me.MenuItemProperties, Me.MenuItemsOpenFileZooFlow, Me.MenuItemPropertiesZooFlow, Me.ButtonRefresh, Me.BarButtonItem1, Me.BarButtonItem2, Me.BarButtonItem3, Me.BarButtonItem4, Me.BarButtonItem5, Me.BarButtonResetWindowLayout, Me.MenuItemStartAdhocWorkflow, Me.MenuItemCheckInFile, Me.MenuItemCheckOutFile, Me.MenuItemVersionFile, Me.chkGridShowQuickfilter, Me.chkGridShowGrouping, Me.chkGridShowTitle, Me.MenuItemSaveProperties, Me.BarButtonItem11, Me.BarWorkspaceMenuItem1, Me.BarEditItemGridFontSize}) + Me.RibbonControl.Images = Me.SvgImageCollection1 + Me.RibbonControl.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl.ExpandCollapseItem, Me.RibbonControl.SearchEditItem, Me.SwitchMainContainerHorizontal, Me.SwitchDetailContainerHorizontal, Me.BarButtonItemExportGrid1, Me.BarStaticItem1, Me.labelResultCount, Me.BarButtonBack, Me.BarButtonResetGridLayout, Me.labelCriticalError, Me.labelWarning, Me.MenuItemFileOpen, Me.MenuItemPropertiesIDB, Me.MenuItemFolderOpen, Me.MenuItemFilepathCopy, Me.MenuItemFolderpathCopy, Me.MenuItemProperties, Me.MenuItemsOpenFileZooFlow, Me.MenuItemPropertiesZooFlow, Me.ButtonRefresh, Me.BarButtonItem1, Me.BarButtonItem2, Me.BarButtonItem3, Me.BarButtonItem4, Me.BarButtonItem5, Me.MenuItemStartAdhocWorkflow, Me.MenuItemCheckInFile, Me.MenuItemCheckOutFile, Me.MenuItemVersionFile, Me.chkGridShowQuickfilter, Me.chkGridShowGrouping, Me.chkGridShowTitle, Me.MenuItemSaveProperties, Me.BarButtonItem11, Me.BarEditItemGridFontSize, Me.btnSaveWorkspace, Me.BarWorkspaceMenuItem1, Me.btnSaveWorkspaceAs}) resources.ApplyResources(Me.RibbonControl, "RibbonControl") - Me.RibbonControl.MaxItemId = 53 + Me.RibbonControl.MaxItemId = 57 Me.RibbonControl.Name = "RibbonControl" Me.RibbonControl.PageHeaderItemLinks.Add(Me.BarWorkspaceMenuItem1) Me.RibbonControl.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPageStart, Me.RibbonPage2}) @@ -225,6 +229,11 @@ Partial Class frmDocumentResultList Me.RibbonControl.StatusBar = Me.RibbonStatusBar Me.RibbonControl.Toolbar.ShowCustomizeItem = False ' + 'SvgImageCollection1 + ' + Me.SvgImageCollection1.Add("pdf", "image://svgimages/export/exporttopdf.svg") + Me.SvgImageCollection1.Add("workspace", "image://svgimages/icon builder/business_world.svg") + ' 'SwitchMainContainerHorizontal ' Me.SwitchMainContainerHorizontal.BindableChecked = True @@ -397,13 +406,6 @@ Partial Class frmDocumentResultList Me.BarButtonItem5.Id = 34 Me.BarButtonItem5.Name = "BarButtonItem5" ' - 'BarButtonResetWindowLayout - ' - resources.ApplyResources(Me.BarButtonResetWindowLayout, "BarButtonResetWindowLayout") - Me.BarButtonResetWindowLayout.Id = 35 - Me.BarButtonResetWindowLayout.ImageOptions.SvgImage = Global.DigitalData.GUIs.Common.My.Resources.Resources.clearpivottable - Me.BarButtonResetWindowLayout.Name = "BarButtonResetWindowLayout" - ' 'MenuItemStartAdhocWorkflow ' resources.ApplyResources(Me.MenuItemStartAdhocWorkflow, "MenuItemStartAdhocWorkflow") @@ -467,20 +469,6 @@ Partial Class frmDocumentResultList Me.BarButtonItem11.ImageOptions.SvgImage = Global.DigitalData.GUIs.Common.My.Resources.Resources.columnheaders Me.BarButtonItem11.Name = "BarButtonItem11" ' - 'BarWorkspaceMenuItem1 - ' - Me.BarWorkspaceMenuItem1.Id = 45 - Me.BarWorkspaceMenuItem1.ImageOptions.SvgImage = Global.DigitalData.GUIs.Common.My.Resources.Resources.business_world - Me.BarWorkspaceMenuItem1.Name = "BarWorkspaceMenuItem1" - Me.BarWorkspaceMenuItem1.RibbonStyle = DevExpress.XtraBars.Ribbon.RibbonItemStyles.SmallWithText - Me.BarWorkspaceMenuItem1.WorkspaceManager = Me.WorkspaceManager1 - Me.BarWorkspaceMenuItem1.WorkspacesSortMode = DevExpress.XtraBars.WorspacesSortMode.Usage - ' - 'WorkspaceManager1 - ' - Me.WorkspaceManager1.TargetControl = Me - Me.WorkspaceManager1.TransitionType = FadeTransition1 - ' 'BarEditItemGridFontSize ' resources.ApplyResources(Me.BarEditItemGridFontSize, "BarEditItemGridFontSize") @@ -494,9 +482,37 @@ Partial Class frmDocumentResultList Me.cmbGridFontSize.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(CType(resources.GetObject("cmbGridFontSize.Buttons"), DevExpress.XtraEditors.Controls.ButtonPredefines))}) Me.cmbGridFontSize.Name = "cmbGridFontSize" ' + 'btnSaveWorkspace + ' + resources.ApplyResources(Me.btnSaveWorkspace, "btnSaveWorkspace") + Me.btnSaveWorkspace.Id = 54 + Me.btnSaveWorkspace.ImageOptions.SvgImage = Global.DigitalData.GUIs.Common.My.Resources.Resources.save3 + Me.btnSaveWorkspace.Name = "btnSaveWorkspace" + ' + 'BarWorkspaceMenuItem1 + ' + resources.ApplyResources(Me.BarWorkspaceMenuItem1, "BarWorkspaceMenuItem1") + Me.BarWorkspaceMenuItem1.Id = 55 + Me.BarWorkspaceMenuItem1.ImageOptions.SvgImage = Global.DigitalData.GUIs.Common.My.Resources.Resources.bo_localization + Me.BarWorkspaceMenuItem1.Name = "BarWorkspaceMenuItem1" + Me.BarWorkspaceMenuItem1.WorkspaceManager = Me.WorkspaceManager1 + ' + 'WorkspaceManager1 + ' + Me.WorkspaceManager1.ShowPathColumnInWorkspacesDialog = False + Me.WorkspaceManager1.TargetControl = Me + Me.WorkspaceManager1.TransitionType = FadeTransition1 + ' + 'btnSaveWorkspaceAs + ' + resources.ApplyResources(Me.btnSaveWorkspaceAs, "btnSaveWorkspaceAs") + Me.btnSaveWorkspaceAs.Id = 56 + Me.btnSaveWorkspaceAs.ImageOptions.SvgImage = Global.DigitalData.GUIs.Common.My.Resources.Resources.saveas + Me.btnSaveWorkspaceAs.Name = "btnSaveWorkspaceAs" + ' 'RibbonPageStart ' - Me.RibbonPageStart.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup_Navigation, Me.RibbonPageGroupExport, Me.RibbonPageGroup5, Me.RibbonPageGroupDocument, Me.RibbonPageGroupFilesystem, Me.RibbonPageGroupCheckInOut, Me.RibbonPageGroupWorkflow, Me.RibbonPageGroupAttribute}) + Me.RibbonPageStart.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup_Navigation, Me.RibbonPageGroupExport, Me.RibbonPageGroup5, Me.RibbonPageGroupDocument, Me.RibbonPageGroupFilesystem, Me.RibbonPageGroupCheckInOut, Me.RibbonPageGroupWorkflow, Me.RibbonPageGroupAttribute, Me.RibbonPageGroupWorkspace}) Me.RibbonPageStart.Name = "RibbonPageStart" resources.ApplyResources(Me.RibbonPageStart, "RibbonPageStart") ' @@ -556,9 +572,14 @@ Partial Class frmDocumentResultList Me.RibbonPageGroupAttribute.Name = "RibbonPageGroupAttribute" resources.ApplyResources(Me.RibbonPageGroupAttribute, "RibbonPageGroupAttribute") ' + 'RibbonPageGroupWorkspace + ' + Me.RibbonPageGroupWorkspace.Name = "RibbonPageGroupWorkspace" + resources.ApplyResources(Me.RibbonPageGroupWorkspace, "RibbonPageGroupWorkspace") + ' 'RibbonPage2 ' - Me.RibbonPage2.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup9, Me.RibbonPageGroup1}) + Me.RibbonPage2.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup9, Me.RibbonPageGroup1, Me.RibbonPageGroupWorkspaceSettings}) Me.RibbonPage2.Name = "RibbonPage2" resources.ApplyResources(Me.RibbonPage2, "RibbonPage2") ' @@ -568,19 +589,16 @@ Partial Class frmDocumentResultList Me.RibbonPageGroup9.ItemLinks.Add(Me.chkGridShowGrouping) Me.RibbonPageGroup9.ItemLinks.Add(Me.chkGridShowTitle) Me.RibbonPageGroup9.ItemLinks.Add(Me.BarButtonItem11) - Me.RibbonPageGroup9.ItemLinks.Add(Me.SwitchDetailContainerHorizontal) - Me.RibbonPageGroup9.ItemLinks.Add(Me.SwitchMainContainerHorizontal) - Me.RibbonPageGroup9.ItemLinks.Add(Me.BarEditItemGridFontSize) Me.RibbonPageGroup9.Name = "RibbonPageGroup9" resources.ApplyResources(Me.RibbonPageGroup9, "RibbonPageGroup9") ' - 'RibbonPageGroup1 + 'RibbonPageGroupWorkspaceSettings ' - Me.RibbonPageGroup1.Alignment = DevExpress.XtraBars.Ribbon.RibbonPageGroupAlignment.Far - Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonResetGridLayout) - Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonResetWindowLayout) - Me.RibbonPageGroup1.Name = "RibbonPageGroup1" - resources.ApplyResources(Me.RibbonPageGroup1, "RibbonPageGroup1") + Me.RibbonPageGroupWorkspaceSettings.ItemLinks.Add(Me.btnSaveWorkspace) + Me.RibbonPageGroupWorkspaceSettings.ItemLinks.Add(Me.btnSaveWorkspaceAs) + Me.RibbonPageGroupWorkspaceSettings.ItemLinks.Add(Me.BarButtonResetGridLayout) + Me.RibbonPageGroupWorkspaceSettings.Name = "RibbonPageGroupWorkspaceSettings" + resources.ApplyResources(Me.RibbonPageGroupWorkspaceSettings, "RibbonPageGroupWorkspaceSettings") ' 'RepositoryItemTextEdit1 ' @@ -856,9 +874,13 @@ Partial Class frmDocumentResultList resources.ApplyResources(Me.DockPanel1_Container, "DockPanel1_Container") Me.DockPanel1_Container.Name = "DockPanel1_Container" ' - 'SvgImageCollection1 + 'RibbonPageGroup1 ' - Me.SvgImageCollection1.Add("pdf", "image://svgimages/export/exporttopdf.svg") + Me.RibbonPageGroup1.ItemLinks.Add(Me.SwitchDetailContainerHorizontal) + Me.RibbonPageGroup1.ItemLinks.Add(Me.SwitchMainContainerHorizontal) + Me.RibbonPageGroup1.ItemLinks.Add(Me.BarEditItemGridFontSize) + Me.RibbonPageGroup1.Name = "RibbonPageGroup1" + resources.ApplyResources(Me.RibbonPageGroup1, "RibbonPageGroup1") ' 'frmDocumentResultList ' @@ -884,6 +906,7 @@ Partial Class frmDocumentResultList CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.GridView1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.RibbonControl, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.SvgImageCollection1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.cmbGridFontSize, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.RepositoryItemTextEdit1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.RepositoryItemTextEdit2, System.ComponentModel.ISupportInitialize).EndInit() @@ -918,7 +941,6 @@ Partial Class frmDocumentResultList Me.DockPanel3_Container.ResumeLayout(False) Me.DockPanelPreview.ResumeLayout(False) Me.DockPanel1_Container.ResumeLayout(False) - CType(Me.SvgImageCollection1, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) Me.PerformLayout() @@ -962,7 +984,6 @@ Partial Class frmDocumentResultList Friend WithEvents MenuItemPropertiesZooFlow As DevExpress.XtraBars.BarButtonItem Friend WithEvents ButtonRefresh As DevExpress.XtraBars.BarButtonItem Friend WithEvents RibbonPage2 As DevExpress.XtraBars.Ribbon.RibbonPage - Friend WithEvents RibbonPageGroup1 As DevExpress.XtraBars.Ribbon.RibbonPageGroup Friend WithEvents RibbonPageGroupExport As DevExpress.XtraBars.Ribbon.RibbonPageGroup Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem Friend WithEvents BarButtonItem2 As DevExpress.XtraBars.BarButtonItem @@ -980,7 +1001,6 @@ Partial Class frmDocumentResultList Friend WithEvents DockPanel3_Container As DevExpress.XtraBars.Docking.ControlContainer Friend WithEvents DockPanelFileList As DevExpress.XtraBars.Docking.DockPanel Friend WithEvents DockPanel2_Container As DevExpress.XtraBars.Docking.ControlContainer - Friend WithEvents BarButtonResetWindowLayout As DevExpress.XtraBars.BarButtonItem Friend WithEvents CtrlObjectPropertyDialog As ctrlObjectPropertyDialog Friend WithEvents RibbonPageGroupWorkflow As DevExpress.XtraBars.Ribbon.RibbonPageGroup Friend WithEvents MenuItemStartAdhocWorkflow As DevExpress.XtraBars.BarButtonItem @@ -995,7 +1015,6 @@ Partial Class frmDocumentResultList Friend WithEvents RibbonPageGroup9 As DevExpress.XtraBars.Ribbon.RibbonPageGroup Friend WithEvents MenuItemSaveProperties As DevExpress.XtraBars.BarButtonItem Friend WithEvents BarButtonItem11 As DevExpress.XtraBars.BarButtonItem - Friend WithEvents BarWorkspaceMenuItem1 As DevExpress.XtraBars.BarWorkspaceMenuItem Friend WithEvents WorkspaceManager1 As DevExpress.Utils.WorkspaceManager Friend WithEvents RibbonPageGroupAttribute As DevExpress.XtraBars.Ribbon.RibbonPageGroup Friend WithEvents DockPanelStatus As DevExpress.XtraBars.Docking.DockPanel @@ -1012,4 +1031,10 @@ Partial Class frmDocumentResultList Friend WithEvents RepositoryItemSearchControl1 As DevExpress.XtraEditors.Repository.RepositoryItemSearchControl Friend WithEvents BarEditItemGridFontSize As DevExpress.XtraBars.BarEditItem Friend WithEvents cmbGridFontSize As DevExpress.XtraEditors.Repository.RepositoryItemComboBox + Friend WithEvents RibbonPageGroupWorkspaceSettings As DevExpress.XtraBars.Ribbon.RibbonPageGroup + Friend WithEvents btnSaveWorkspace As DevExpress.XtraBars.BarButtonItem + Friend WithEvents BarWorkspaceMenuItem1 As DevExpress.XtraBars.BarWorkspaceMenuItem + Friend WithEvents btnSaveWorkspaceAs As DevExpress.XtraBars.BarButtonItem + Friend WithEvents RibbonPageGroupWorkspace As DevExpress.XtraBars.Ribbon.RibbonPageGroup + Friend WithEvents RibbonPageGroup1 As DevExpress.XtraBars.Ribbon.RibbonPageGroup End Class diff --git a/GUIs.Common/frmDocumentResultList.resx b/GUIs.Common/frmDocumentResultList.resx index 94a51eae..7a91c3e0 100644 --- a/GUIs.Common/frmDocumentResultList.resx +++ b/GUIs.Common/frmDocumentResultList.resx @@ -140,6 +140,9 @@ GridBand1 + + 290, 22 + Hauptgrid Horizontal @@ -253,7 +256,7 @@ - Tabellenlayout zurücksetzen + Alle Layouts löschen @@ -444,9 +447,6 @@ BarButtonItem5 - - Fensterlayout zurücksetzen - Adhoc Workflow starten @@ -474,6 +474,26 @@ Spaltenauswahl + + Schriftgröße + + + + False + + + + Combo + + + 100 + + + Speichern + + + BarWorkspaceMenuItem1 + 456, 22 @@ -495,7 +515,6 @@ 318, 459 - 0 @@ -503,7 +522,7 @@ DocumentViewer1 - DigitalData.Controls.DocumentViewer.DocumentViewer, DigitalData.Controls.DocumentViewer, Version=1.7.0.0, Culture=neutral, PublicKeyToken=null + DigitalData.Controls.DocumentViewer.DocumentViewer, DigitalData.Controls.DocumentViewer, Version=1.7.0.1, Culture=neutral, PublicKeyToken=null DockPanel1_Container @@ -580,7 +599,6 @@ 162, 69 - Combo @@ -699,7 +717,7 @@ CtrlObjectPropertyDialog - DigitalData.GUIs.Common.ctrlObjectPropertyDialog, DigitalData.GUIs.Common, Version=1.10.0.0, Culture=neutral, PublicKeyToken=null + DigitalData.GUIs.Common.ctrlObjectPropertyDialog, DigitalData.GUIs.Common, Version=1.12.0.0, Culture=neutral, PublicKeyToken=null DockPanel3_Container @@ -925,6 +943,12 @@ DevExpress.XtraGrid.Views.BandedGrid.GridBand, DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + SvgImageCollection1 + + + DevExpress.Utils.SvgImageCollection, DevExpress.Utils.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + SwitchMainContainerHorizontal @@ -1063,12 +1087,6 @@ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - BarButtonResetWindowLayout - - - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - MenuItemStartAdhocWorkflow @@ -1123,6 +1141,24 @@ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + BarEditItemGridFontSize + + + DevExpress.XtraBars.BarEditItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + cmbGridFontSize + + + DevExpress.XtraEditors.Repository.RepositoryItemComboBox, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + btnSaveWorkspace + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + BarWorkspaceMenuItem1 @@ -1135,17 +1171,11 @@ DevExpress.Utils.WorkspaceManager, DevExpress.Utils.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - BarEditItemGridFontSize + + btnSaveWorkspaceAs - - DevExpress.XtraBars.BarEditItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - cmbGridFontSize - - - DevExpress.XtraEditors.Repository.RepositoryItemComboBox, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a RibbonPageStart @@ -1201,6 +1231,12 @@ DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + RibbonPageGroupWorkspace + + + DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + RibbonPage2 @@ -1213,10 +1249,10 @@ DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - RibbonPageGroup1 + + RibbonPageGroupWorkspaceSettings - + DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a @@ -1309,11 +1345,11 @@ DevExpress.XtraLayout.EmptySpaceItem, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - SvgImageCollection1 + + RibbonPageGroup1 - - DevExpress.Utils.SvgImageCollection, DevExpress.Utils.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a frmDocumentResultList @@ -1321,17 +1357,8 @@ DevExpress.XtraBars.Ribbon.RibbonForm, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - Schriftgröße - - - False - - - Combo - - - 100 + + Speichern unter 0, 0 @@ -1360,6 +1387,9 @@ Attribute + + Workspaces + Start @@ -1367,7 +1397,10 @@ Tabelle - Zurücksetzen + Allgemein + + + Workspaces Layout @@ -1597,7 +1630,4 @@ 155, 22 - - 290, 22 - \ No newline at end of file diff --git a/GUIs.Common/frmDocumentResultList.vb b/GUIs.Common/frmDocumentResultList.vb index 0c067be6..c29e4d87 100644 --- a/GUIs.Common/frmDocumentResultList.vb +++ b/GUIs.Common/frmDocumentResultList.vb @@ -18,7 +18,7 @@ Imports DigitalData.Modules.Logging Imports DigitalData.Modules.ZooFlow Imports DigitalData.Modules.ZooFlow.Constants Imports DigitalData.Modules.Base.IDB.FileStore -Imports DigitalData.GUIs.Common.Base +'Imports DigitalData.GUIs.Common.Base Imports DigitalData.GUIs.Common.DocumentResultList Public Class frmDocumentResultList @@ -48,6 +48,7 @@ Public Class frmDocumentResultList Private ReadOnly Params As Params Private ReadOnly LayoutManager As Layout Private ReadOnly FormHelper As FormHelper + Private ReadOnly Workspace As Workspace Private WithEvents Watcher As Watcher ' Runtime variables @@ -109,6 +110,7 @@ Public Class frmDocumentResultList GridBuilder = New GridBuilder(New List(Of GridView) From {GridView1, GridView2, GridView3}) FileEx = New Modules.Windows.File(pLogConfig) LayoutManager = New Layout(pLogConfig, Config, New List(Of GridView) From {GridView1, GridView2, GridView3}) + Workspace = New Workspace(pLogConfig, Config, WorkspaceManager1) UserLanguage = Utils.NotNull(Environment.User.Language, State.UserState.LANG_EN_US) End Sub @@ -156,16 +158,6 @@ Public Class frmDocumentResultList DocumentViewer1.Init(LogConfig, Environment.Settings.GdPictureKey) End If - 'Load config - LayoutManager.LoadWindowLocationAndSize(Me) - LayoutManager.DockManager_RestoreLayout(DockManager1) - LayoutManager.Workspace_Restore(WorkspaceManager1) - - SplitContainerControl1.SplitterPosition = Config1.Config.SplitContainer1Distance - SwitchMainContainerHorizontal.Checked = Config1.Config.SplitContainer1Horizontal - SplitContainerControl2.SplitterPosition = Config1.Config.SplitContainer2Distance - SwitchDetailContainerHorizontal.Checked = Config1.Config.SplitContainer2Horizontal - ' Hide options relating to a filepath for zooflow If OperationMode = OperationMode.ZooFlow Then RibbonPageGroupFilesystem.Visible = False @@ -204,8 +196,6 @@ Public Class frmDocumentResultList panelContainerStatus.Visibility = Docking.DockVisibility.Hidden End If - - ' Hide the complete Navigation Ribbon Group if desired RibbonPageGroup_Navigation.Visible = Params.ShowBackNavigation @@ -214,6 +204,23 @@ Public Class frmDocumentResultList GridBuilder.WithReadOnlyOptions() + ' Force initialize, this is needed so that grid settings are loaded correctly from the workspace + GridControl1.ForceInitialize() + GridControl2.ForceInitialize() + GridControl3.ForceInitialize() + + 'Load window settings + LayoutManager.LoadWindowLocationAndSize(Me) + + ' Load the workspaces from file, maybe do this earlier and get the available workspaces through params + Workspace.LoadWorkspaces() + + ' This loads the available workspaces into the ribbon + Workspace.GetWorkspaceButtons(RibbonControl, RibbonPageGroupWorkspace) + + ' This loads the default workspace, for now + Workspace.LoadWorkspace(Config.Config.SelectedWorkspace) + chkGridShowQuickfilter.Checked = LayoutManager.GetFilterRowVisible() chkGridShowGrouping.Checked = LayoutManager.GetGroupPanelVisible() chkGridShowTitle.Checked = LayoutManager.GetBandTitleVisible() @@ -248,11 +255,15 @@ Public Class frmDocumentResultList Private Sub frmDocumentResultList_Closing(sender As Object, e As CancelEventArgs) Handles Me.FormClosing Try - LayoutManager.GridView_SaveLayout(_ActiveGrid.MainView) - LayoutManager.Workspace_Save(WorkspaceManager1) - LayoutManager.DockManager_SaveLayout(DockManager1) + 'LayoutManager.GridView_SaveLayout(_ActiveGrid.MainView) + 'LayoutManager.Workspace_Save(WorkspaceManager1) + 'LayoutManager.DockManager_SaveLayout(DockManager1) LayoutManager.SaveWindowLocationAndSize(Me) + Workspace.SaveWorkspaces() + Config.Config.SelectedWorkspace = Workspace.CurrentWorkspace + Config.Save() + DocumentViewer1.Done() Catch ex As Exception Logger.Error(ex) @@ -542,7 +553,7 @@ Public Class frmDocumentResultList Dim oResult As DocumentResultList.DocumentResult = ResultLists.Item(0) LoadGridData(GridView1, oResult) - LayoutManager.GridView_RestoreLayout(GridView1) + 'LayoutManager.GridView_RestoreLayout(GridView1) CreateDocumentGrid(GridView1, oResult) UpdateGridHeader(ResultLists, oIndex, oResult.Datatable.Rows.Count) @@ -550,7 +561,7 @@ Public Class frmDocumentResultList Dim oResult As DocumentResultList.DocumentResult = ResultLists.Item(1) LoadGridData(GridView2, oResult) - LayoutManager.GridView_RestoreLayout(GridView2) + 'LayoutManager.GridView_RestoreLayout(GridView2) CreateDocumentGrid(GridView2, oResult) UpdateGridHeader(ResultLists, oIndex, oResult.Datatable.Rows.Count) @@ -558,7 +569,7 @@ Public Class frmDocumentResultList Dim oResult As DocumentResultList.DocumentResult = ResultLists.Item(2) LoadGridData(GridView3, oResult) - LayoutManager.GridView_RestoreLayout(GridView3) + 'LayoutManager.GridView_RestoreLayout(GridView3) CreateDocumentGrid(GridView3, oResult) UpdateGridHeader(ResultLists, oIndex, oResult.Datatable.Rows.Count) @@ -714,46 +725,6 @@ Public Class frmDocumentResultList End Try End Sub - - - Private Sub GridView1_CustomDrawCell(sender As Object, e As RowCellCustomDrawEventArgs) Handles GridView1.CustomDrawCell - - - - 'If e.RowHandle <> GridControl.NewItemRowHandle AndAlso e.Column.FieldName = ColumnIcon Then - ' Dim oRow As DataRow = TryCast(sender, GridView)?.GetDataRow(e.RowHandle) - ' Dim oValue = oRow.Item(COLUMN_FILENAME) - - ' If oValue.ToString.EndsWith(".pdf") Then - ' Dim oIcon = My.Resources.pdf - ' e.Cache.DrawImage(oIcon, e.Bounds.X + 0, e.Bounds.Y + 0, 18, 18) - ' End If - 'End If - - 'Try - ' If e.RowHandle < 0 Then - ' Exit Sub - ' End If - - ' e.DefaultDraw() - - ' Dim oView As GridView = TryCast(sender, GridView) - ' Dim oCellInfo As GridCellInfo = TryCast(e.Cell, GridCellInfo) - ' Dim oRow As DataRow = oView.GetDataRow(e.RowHandle) - ' Dim oValue = oRow.Item(COLUMN_FILENAME) - - ' If e.Column.FieldName = COLUMN_ICON Then - ' Dim oIcon = Helpers.GetIconByExtension(oValue) - ' Dim offsetX = 0 - ' Dim offsetY = 0 - - ' e.Cache.DrawImage(oIcon, e.Bounds.X + offsetX, e.Bounds.Y + offsetY, 18, 18) - ' End If - 'Catch ex As Exception - ' Logger.Error(ex) - 'End Try - End Sub - Private Sub BarButtonItemExportGrid1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItemExportGrid1.ItemClick Dim oActiveGrid = GetActiveGridControl() @@ -1014,62 +985,28 @@ Public Class frmDocumentResultList #Region "Layout" Private Sub BarButtonResetLayout_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonResetGridLayout.ItemClick - If Not IsNothing(_ActiveGrid) Then - Try - Dim oFile = LayoutManager.GetGrid_LayoutName(_ActiveGrid.MainView) - If IO.File.Exists(oFile) Then - IO.File.Delete(oFile) - End If - LoadGridDataAndLayout() - Catch ex As Exception - Logger.Error(ex) - End Try - End If - End Sub - - Private Sub BarButtonItem6_ItemClick(sender As Object, e As ItemClickEventArgs) Handles BarButtonResetWindowLayout.ItemClick Try - LayoutManager.DockManager_ResetLayout(DockManager1) + If Workspace.ResetWorkspaces() Then + FormHelper.ShowSuccessMessage("Die gespeicherten Workspaces wurden gelöscht, beim Nächsten Laden wird die Standard-Ansicht geladen.", Text) + End If Catch ex As Exception Logger.Error(ex) End Try - End Sub - Private Sub SplitContainerControl1_SplitterPositionChanged(sender As Object, e As EventArgs) Handles SplitContainerControl1.SplitterPositionChanged - If IsLoading = False Then - Config1.Config.SplitContainer1Distance = SplitContainerControl1.SplitterPosition - End If - End Sub - - Private Sub SplitContainerControl2_SplitterPositionChanged(sender As Object, e As EventArgs) Handles SplitContainerControl2.SplitterPositionChanged - If IsLoading = False Then - Config1.Config.SplitContainer2Distance = SplitContainerControl2.SplitterPosition - End If End Sub Private Sub SwitchMainContainerHorizontal_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles SwitchMainContainerHorizontal.CheckedChanged SplitContainerControl1.Horizontal = SwitchMainContainerHorizontal.Checked - - If Config1 IsNot Nothing And IsLoading = False Then - Config1.Config.SplitContainer1Horizontal = SwitchMainContainerHorizontal.Checked - End If End Sub Private Sub SwitchDetailContainerHorizontal2_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles SwitchDetailContainerHorizontal.CheckedChanged SplitContainerControl2.Horizontal = SwitchDetailContainerHorizontal.Checked - - If Config1 IsNot Nothing And IsLoading = False Then - Config1.Config.SplitContainer2Horizontal = SwitchDetailContainerHorizontal.Checked - End If End Sub #End Region Private Sub ButtonRefresh_ItemClick(sender As Object, e As ItemClickEventArgs) Handles ButtonRefresh.ItemClick RaiseEvent NeedsRefresh(Me, Params.ProfileGuid) End Sub - - - Private Sub chkGridShowGrouping_CheckedChanged(sender As Object, e As ItemClickEventArgs) Handles chkGridShowGrouping.CheckedChanged If IsLoading = False Then LayoutManager.SetGroupPanelVisible(chkGridShowGrouping.Checked) @@ -1126,7 +1063,27 @@ Public Class frmDocumentResultList GridBuilder.WithFontSizeDelta(Config.Config.GridFontSizeDelta) End Sub - Private Sub RibbonControl_Click(sender As Object, e As EventArgs) Handles RibbonControl.Click + Private Sub btnSaveWorkspace_ItemClick(sender As Object, e As ItemClickEventArgs) Handles btnSaveWorkspace.ItemClick + If Workspace.SaveWorkspace(Workspace.CurrentWorkspace, pForce:=True) Then + FormHelper.ShowInfoMessage($"Der Workspace '{Workspace.CurrentWorkspace}' wurde erfolgreich gespeichert!", Text) + End If + End Sub + Private Sub btnSaveWorkspaceAs_ItemClick(sender As Object, e As ItemClickEventArgs) Handles btnSaveWorkspaceAs.ItemClick + Dim oWorkspaceName = Nothing + + Dim oArgs As New XtraInputBoxArgs() With { + .Caption = "Neuer Workspace", + .Prompt = "Bitte vergeben Sie einen Namen für den neuen Workspace:" + } + Dim oNewName = XtraInputBox.Show(oArgs) + If oNewName IsNot Nothing Then + oWorkspaceName = oNewName + End If + + If oWorkspaceName IsNot Nothing AndAlso Workspace.SaveWorkspace(oWorkspaceName, pForce:=True) Then + FormHelper.ShowInfoMessage($"Der Workspace '{oWorkspaceName}' wurde erfolgreich gespeichert!", Text) + Workspace.LoadWorkspace(oWorkspaceName) + End If End Sub End Class \ No newline at end of file diff --git a/GUIs.ZooFlow/App.config b/GUIs.ZooFlow/App.config index c0eceef9..2827ad86 100644 --- a/GUIs.ZooFlow/App.config +++ b/GUIs.ZooFlow/App.config @@ -7,8 +7,12 @@ - - + + @@ -16,7 +20,7 @@ True - DEV + PROD diff --git a/GUIs.ZooFlow/My Project/AssemblyInfo.vb b/GUIs.ZooFlow/My Project/AssemblyInfo.vb index b61017e6..69dda8ae 100644 --- a/GUIs.ZooFlow/My Project/AssemblyInfo.vb +++ b/GUIs.ZooFlow/My Project/AssemblyInfo.vb @@ -11,7 +11,7 @@ Imports System.Runtime.InteropServices - + ' Setting ComVisible to false makes the types in this assembly not visible @@ -32,5 +32,5 @@ Imports System.Runtime.InteropServices ' You can specify all the values or you can default the Build and Revision Numbers ' by using the '*' as shown below: ' [assembly: AssemblyVersion("1.0.*")] - + diff --git a/GUIs.ZooFlow/My Project/Settings.Designer.vb b/GUIs.ZooFlow/My Project/Settings.Designer.vb index 82aecbae..299cd27a 100644 --- a/GUIs.ZooFlow/My Project/Settings.Designer.vb +++ b/GUIs.ZooFlow/My Project/Settings.Designer.vb @@ -14,7 +14,7 @@ Option Explicit On _ Partial Friend NotInheritable Class Settings Inherits Global.System.Configuration.ApplicationSettingsBase @@ -86,7 +86,7 @@ Partial Friend NotInheritable Class Settings _ + Global.System.Configuration.DefaultSettingValueAttribute("PROD")> _ Public ReadOnly Property UserConfig_Prefix() As String Get Return CType(Me("UserConfig_Prefix"),String) diff --git a/GUIs.ZooFlow/My Project/Settings.settings b/GUIs.ZooFlow/My Project/Settings.settings index 4564a6ed..e26b57b5 100644 --- a/GUIs.ZooFlow/My Project/Settings.settings +++ b/GUIs.ZooFlow/My Project/Settings.settings @@ -22,7 +22,7 @@ Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM;Persist Security Info=True;User ID=sa;Password=dd - DEV + PROD \ No newline at end of file diff --git a/GUIs.ZooFlow/Search/frmFlowSearch2.vb b/GUIs.ZooFlow/Search/frmFlowSearch2.vb index 19fc03a1..d9d53bfc 100644 --- a/GUIs.ZooFlow/Search/frmFlowSearch2.vb +++ b/GUIs.ZooFlow/Search/frmFlowSearch2.vb @@ -52,6 +52,7 @@ Public Class frmFlowSearch2 Public Function GetTokensFromTable(Of T As {New, Token})(pTable As DataTable) As List(Of T) Dim oTokens As New List(Of T) + Dim oTermValueBlackList As New List(Of String) From {"", " "} For Each oRow As DataRow In pTable.Rows Dim oTermValue = oRow.Item("TERM") @@ -59,6 +60,10 @@ Public Class frmFlowSearch2 Dim oAttributeTitle = oRow.Item("ATTR_TITLE") Dim oAttributeId = oRow.ItemEx("ATTR_ID", 0) + If oTermValueBlackList.Contains(oTermValue) Then + Continue For + End If + oTokens.Add(New T() With { .AttributeId = oAttributeId, .AttributeTitle = oAttributeTitle,