diff --git a/GUIs.Common/Common.vbproj b/GUIs.Common/Common.vbproj
index b1c6248c..59b36f55 100644
--- a/GUIs.Common/Common.vbproj
+++ b/GUIs.Common/Common.vbproj
@@ -576,5 +576,8 @@
+
+
+
\ No newline at end of file
diff --git a/GUIs.Common/IResultForm.vb b/GUIs.Common/IResultForm.vb
index cf5c6fbe..53721efc 100644
--- a/GUIs.Common/IResultForm.vb
+++ b/GUIs.Common/IResultForm.vb
@@ -4,7 +4,6 @@ Public Interface IResultForm
Property OperationMode As OperationMode
Property ShouldReturnToPreviousForm As Boolean
-
Event NeedsRefresh As EventHandler(Of Integer)
Function RefreshResults(pResults As IEnumerable(Of BaseResult)) As Boolean
diff --git a/GUIs.Common/My Project/Resources.Designer.vb b/GUIs.Common/My Project/Resources.Designer.vb
index f468b1d8..ee5c12fc 100644
--- a/GUIs.Common/My Project/Resources.Designer.vb
+++ b/GUIs.Common/My Project/Resources.Designer.vb
@@ -180,6 +180,16 @@ Namespace My.Resources
End Get
End Property
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
+ '''
+ Friend ReadOnly Property bo_security_permission_action() As DevExpress.Utils.Svg.SvgImage
+ Get
+ Dim obj As Object = ResourceManager.GetObject("bo_security_permission_action", 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 e79f6019..9fbb7402 100644
--- a/GUIs.Common/My Project/Resources.resx
+++ b/GUIs.Common/My Project/Resources.resx
@@ -121,9 +121,6 @@
..\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
@@ -148,6 +145,12 @@
..\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\singlepageview.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,9 +160,6 @@
..\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
@@ -190,6 +190,12 @@
..\Resources\refreshallpivottable.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ ..\Resources\columnheaders.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
@@ -202,11 +208,8 @@
..\Resources\singlepageview1.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\bo_localization.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
@@ -220,6 +223,9 @@
..\Resources\cancel.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\clearall1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
@@ -229,17 +235,17 @@
..\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\bo_contract1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- ..\Resources\singlepageview.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
..\Resources\title.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- ..\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
@@ -247,11 +253,11 @@
..\Resources\actions_user1.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\xls.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- ..\Resources\dwg.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\actions_database3.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
..\Resources\filterquery.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
@@ -274,15 +280,12 @@
..\Resources\handtool1.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\zoom_more.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
..\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
@@ -292,7 +295,7 @@
..\Resources\_blank.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- ..\Resources\saveas.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ ..\Resources\bo_security_permission_action.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_security_permission_action.svg b/GUIs.Common/Resources/bo_security_permission_action.svg
new file mode 100644
index 00000000..a6defff0
--- /dev/null
+++ b/GUIs.Common/Resources/bo_security_permission_action.svg
@@ -0,0 +1,8 @@
+
+
\ No newline at end of file
diff --git a/GUIs.Common/frmDocumentResultList.Designer.vb b/GUIs.Common/frmDocumentResultList.Designer.vb
index 6d64a522..15b572b7 100644
--- a/GUIs.Common/frmDocumentResultList.Designer.vb
+++ b/GUIs.Common/frmDocumentResultList.Designer.vb
@@ -66,18 +66,21 @@ Partial Class frmDocumentResultList
Me.BarWorkspaceMenuItem1 = New DevExpress.XtraBars.BarWorkspaceMenuItem()
Me.WorkspaceManager1 = New DevExpress.Utils.WorkspaceManager(Me.components)
Me.btnSaveWorkspaceAs = New DevExpress.XtraBars.BarButtonItem()
+ Me.btnSaveAsMySearch = 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()
- Me.RibbonPageGroup5 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
+ Me.RibbonPageRefresh = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroupDocument = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroupFilesystem = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
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.RibbonPageGroupSavedSearch = 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()
@@ -112,7 +115,6 @@ 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.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()
@@ -215,11 +217,12 @@ Partial Class frmDocumentResultList
'
'RibbonControl
'
+ Me.RibbonControl.ColorScheme = DevExpress.XtraBars.Ribbon.RibbonControlColorScheme.Green
Me.RibbonControl.ExpandCollapseItem.Id = 0
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})
+ 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, Me.btnSaveAsMySearch})
resources.ApplyResources(Me.RibbonControl, "RibbonControl")
- Me.RibbonControl.MaxItemId = 57
+ Me.RibbonControl.MaxItemId = 59
Me.RibbonControl.Name = "RibbonControl"
Me.RibbonControl.PageHeaderItemLinks.Add(Me.BarWorkspaceMenuItem1)
Me.RibbonControl.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPageStart, Me.RibbonPage2})
@@ -510,9 +513,16 @@ Partial Class frmDocumentResultList
Me.btnSaveWorkspaceAs.ImageOptions.SvgImage = Global.DigitalData.GUIs.Common.My.Resources.Resources.saveas
Me.btnSaveWorkspaceAs.Name = "btnSaveWorkspaceAs"
'
+ 'btnSaveAsMySearch
+ '
+ resources.ApplyResources(Me.btnSaveAsMySearch, "btnSaveAsMySearch")
+ Me.btnSaveAsMySearch.Id = 57
+ Me.btnSaveAsMySearch.ImageOptions.SvgImage = Global.DigitalData.GUIs.Common.My.Resources.Resources.bo_security_permission_action
+ Me.btnSaveAsMySearch.Name = "btnSaveAsMySearch"
+ '
'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.RibbonPageGroupWorkspace})
+ Me.RibbonPageStart.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup_Navigation, Me.RibbonPageGroupExport, Me.RibbonPageRefresh, Me.RibbonPageGroupDocument, Me.RibbonPageGroupFilesystem, Me.RibbonPageGroupCheckInOut, Me.RibbonPageGroupWorkflow, Me.RibbonPageGroupAttribute, Me.RibbonPageGroupWorkspace, Me.RibbonPageGroupSavedSearch})
Me.RibbonPageStart.Name = "RibbonPageStart"
resources.ApplyResources(Me.RibbonPageStart, "RibbonPageStart")
'
@@ -530,12 +540,12 @@ Partial Class frmDocumentResultList
Me.RibbonPageGroupExport.Name = "RibbonPageGroupExport"
resources.ApplyResources(Me.RibbonPageGroupExport, "RibbonPageGroupExport")
'
- 'RibbonPageGroup5
+ 'RibbonPageRefresh
'
- Me.RibbonPageGroup5.Alignment = DevExpress.XtraBars.Ribbon.RibbonPageGroupAlignment.Far
- Me.RibbonPageGroup5.ItemLinks.Add(Me.ButtonRefresh)
- Me.RibbonPageGroup5.Name = "RibbonPageGroup5"
- resources.ApplyResources(Me.RibbonPageGroup5, "RibbonPageGroup5")
+ Me.RibbonPageRefresh.Alignment = DevExpress.XtraBars.Ribbon.RibbonPageGroupAlignment.Far
+ Me.RibbonPageRefresh.ItemLinks.Add(Me.ButtonRefresh)
+ Me.RibbonPageRefresh.Name = "RibbonPageRefresh"
+ resources.ApplyResources(Me.RibbonPageRefresh, "RibbonPageRefresh")
'
'RibbonPageGroupDocument
'
@@ -577,6 +587,12 @@ Partial Class frmDocumentResultList
Me.RibbonPageGroupWorkspace.Name = "RibbonPageGroupWorkspace"
resources.ApplyResources(Me.RibbonPageGroupWorkspace, "RibbonPageGroupWorkspace")
'
+ 'RibbonPageGroupSavedSearch
+ '
+ Me.RibbonPageGroupSavedSearch.ItemLinks.Add(Me.btnSaveAsMySearch)
+ Me.RibbonPageGroupSavedSearch.Name = "RibbonPageGroupSavedSearch"
+ resources.ApplyResources(Me.RibbonPageGroupSavedSearch, "RibbonPageGroupSavedSearch")
+ '
'RibbonPage2
'
Me.RibbonPage2.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup9, Me.RibbonPageGroup1, Me.RibbonPageGroupWorkspaceSettings})
@@ -592,6 +608,14 @@ Partial Class frmDocumentResultList
Me.RibbonPageGroup9.Name = "RibbonPageGroup9"
resources.ApplyResources(Me.RibbonPageGroup9, "RibbonPageGroup9")
'
+ 'RibbonPageGroup1
+ '
+ 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")
+ '
'RibbonPageGroupWorkspaceSettings
'
Me.RibbonPageGroupWorkspaceSettings.ItemLinks.Add(Me.btnSaveWorkspace)
@@ -874,14 +898,6 @@ Partial Class frmDocumentResultList
resources.ApplyResources(Me.DockPanel1_Container, "DockPanel1_Container")
Me.DockPanel1_Container.Name = "DockPanel1_Container"
'
- 'RibbonPageGroup1
- '
- 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
'
Me.AllowFormGlass = DevExpress.Utils.DefaultBoolean.[True]
@@ -992,7 +1008,7 @@ Partial Class frmDocumentResultList
Friend WithEvents BarButtonItem5 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents RibbonPageGroupDocument As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents RibbonPageGroupFilesystem As DevExpress.XtraBars.Ribbon.RibbonPageGroup
- Friend WithEvents RibbonPageGroup5 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
+ Friend WithEvents RibbonPageRefresh As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents RibbonPageGroup6 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents DockManager1 As DevExpress.XtraBars.Docking.DockManager
Friend WithEvents DockPanelPreview As DevExpress.XtraBars.Docking.DockPanel
@@ -1037,4 +1053,6 @@ Partial Class frmDocumentResultList
Friend WithEvents btnSaveWorkspaceAs As DevExpress.XtraBars.BarButtonItem
Friend WithEvents RibbonPageGroupWorkspace As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents RibbonPageGroup1 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
+ Friend WithEvents btnSaveAsMySearch As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents RibbonPageGroupSavedSearch As DevExpress.XtraBars.Ribbon.RibbonPageGroup
End Class
diff --git a/GUIs.Common/frmDocumentResultList.resx b/GUIs.Common/frmDocumentResultList.resx
index 7a91c3e0..66af4182 100644
--- a/GUIs.Common/frmDocumentResultList.resx
+++ b/GUIs.Common/frmDocumentResultList.resx
@@ -522,7 +522,7 @@
DocumentViewer1
- DigitalData.Controls.DocumentViewer.DocumentViewer, DigitalData.Controls.DocumentViewer, Version=1.7.0.1, Culture=neutral, PublicKeyToken=null
+ DigitalData.Controls.DocumentViewer.DocumentViewer, DigitalData.Controls.DocumentViewer, Version=1.8.0.0, Culture=neutral, PublicKeyToken=null
DockPanel1_Container
@@ -717,7 +717,7 @@
CtrlObjectPropertyDialog
- DigitalData.GUIs.Common.ctrlObjectPropertyDialog, DigitalData.GUIs.Common, Version=1.12.0.0, Culture=neutral, PublicKeyToken=null
+ DigitalData.GUIs.Common.ctrlObjectPropertyDialog, DigitalData.GUIs.Common, Version=1.12.1.0, Culture=neutral, PublicKeyToken=null
DockPanel3_Container
@@ -1177,6 +1177,12 @@
DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ btnSaveAsMySearch
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
RibbonPageStart
@@ -1195,10 +1201,10 @@
DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- RibbonPageGroup5
+
+ RibbonPageRefresh
-
+
DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
@@ -1237,6 +1243,12 @@
DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ RibbonPageGroupSavedSearch
+
+
+ DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
RibbonPage2
@@ -1249,6 +1261,12 @@
DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ RibbonPageGroup1
+
+
+ DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
RibbonPageGroupWorkspaceSettings
@@ -1345,12 +1363,6 @@
DevExpress.XtraLayout.EmptySpaceItem, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- RibbonPageGroup1
-
-
- DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
frmDocumentResultList
@@ -1360,6 +1372,9 @@
Speichern unter
+
+ Als meine Suche speichern
+
0, 0
@@ -1369,7 +1384,7 @@
Export
-
+
Aktualisieren
@@ -1390,6 +1405,9 @@
Workspaces
+
+ Suche
+
Start
diff --git a/GUIs.Common/frmDocumentResultList.vb b/GUIs.Common/frmDocumentResultList.vb
index c29e4d87..c5f9b9d9 100644
--- a/GUIs.Common/frmDocumentResultList.vb
+++ b/GUIs.Common/frmDocumentResultList.vb
@@ -65,6 +65,12 @@ Public Class frmDocumentResultList
Private ReadOnly ColumnDocumentId As String = "DocID"
Private ReadOnly ColumnIcon As String = "ICON"
Private ReadOnly ColumnCheckedOut As String = "CHECKED_OUT"
+ Private ReadOnly FontSizeDeltaList As New List(Of FontSetting) From {
+ New FontSetting With {.Title = "Normal", .Value = 0},
+ New FontSetting With {.Title = "Groß", .Value = 1},
+ New FontSetting With {.Title = "Größer", .Value = 2},
+ New FontSetting With {.Title = "Noch Größer", .Value = 3}
+ }
Private Property _ActiveGrid As GridControl = Nothing
Private Property _ActiveGridBand As GridBand = Nothing
@@ -81,6 +87,9 @@ Public Class frmDocumentResultList
Public Event NeedsRefresh As EventHandler(Of Integer) Implements IResultForm.NeedsRefresh
Public Event ResultsRefreshed As EventHandler(Of List(Of DocumentResultList.DocumentResult))
+ Public Event NeedsNewSavedSearch As EventHandler
+ Public Event SearchSaved As EventHandler
+
Private Delegate Sub DatasourceDelegate(View As GridView, Datasource As Object)
Private Delegate Function RefreshResultsDelegate(Results As IEnumerable(Of BaseResult)) As Boolean
@@ -163,15 +172,9 @@ Public Class frmDocumentResultList
RibbonPageGroupFilesystem.Visible = False
End If
- Dim oFontSizeDeltaList = New List(Of FontSetting) From {
- New FontSetting With {.Title = "Normal", .Value = 0},
- New FontSetting With {.Title = "Groß", .Value = 1},
- New FontSetting With {.Title = "Größer", .Value = 2},
- New FontSetting With {.Title = "Noch Größer", .Value = 3}
- }
cmbGridFontSize.Items.Clear()
- cmbGridFontSize.Items.AddRange(oFontSizeDeltaList)
- BarEditItemGridFontSize.EditValue = oFontSizeDeltaList.
+ cmbGridFontSize.Items.AddRange(FontSizeDeltaList)
+ BarEditItemGridFontSize.EditValue = FontSizeDeltaList.
Where(Function(delta) delta.Value = Config.Config.GridFontSizeDelta).
FirstOrDefault()
@@ -185,6 +188,13 @@ Public Class frmDocumentResultList
RibbonPageGroupFilesystem.Visible = False
End If
+ chkGridShowQuickfilter.Checked = LayoutManager.GetFilterRowVisible()
+ chkGridShowGrouping.Checked = LayoutManager.GetGroupPanelVisible()
+ chkGridShowTitle.Checked = LayoutManager.GetBandTitleVisible()
+
+ ' Hide the complete Navigation Ribbon Group if desired
+ RibbonPageGroup_Navigation.Visible = Params.ShowBackNavigation
+
If OperationMode = OperationMode.ZooFlow Or OperationMode = OperationMode.WithAppServer Then
CtrlObjectPropertyDialog.Initialize(LogConfig, Me, Client, Environment)
@@ -196,12 +206,10 @@ Public Class frmDocumentResultList
panelContainerStatus.Visibility = Docking.DockVisibility.Hidden
End If
- ' Hide the complete Navigation Ribbon Group if desired
- RibbonPageGroup_Navigation.Visible = Params.ShowBackNavigation
-
UpdateTotalResults()
LoadGridDataAndLayout()
+ ' Initialize Grid Settings
GridBuilder.WithReadOnlyOptions()
' Force initialize, this is needed so that grid settings are loaded correctly from the workspace
@@ -221,10 +229,6 @@ Public Class frmDocumentResultList
' This loads the default workspace, for now
Workspace.LoadWorkspace(Config.Config.SelectedWorkspace)
- chkGridShowQuickfilter.Checked = LayoutManager.GetFilterRowVisible()
- chkGridShowGrouping.Checked = LayoutManager.GetGroupPanelVisible()
- chkGridShowTitle.Checked = LayoutManager.GetBandTitleVisible()
-
' This needs to done be after loading the grid
' so we can set the row handle and start loading the (only) file
If Params.ShowFileList = False Then
@@ -234,6 +238,22 @@ Public Class frmDocumentResultList
DockPanelFileList.Show()
End If
+ ' Hide the refresh button when nobody handles the refresh event
+ If NeedsRefreshEvent IsNot Nothing Then
+ RibbonPageRefresh.Visible = True
+ Else
+ RibbonPageRefresh.Visible = False
+
+ End If
+
+ ' Hide the saved search button when nobody handles the saved search event
+ If NeedsNewSavedSearchEvent IsNot Nothing Then
+ RibbonPageGroupSavedSearch.Visible = True
+ Else
+ RibbonPageGroupSavedSearch.Visible = False
+
+ End If
+
Catch ex As Exception
FormHelper.ShowErrorMessage(ex, "Error while loading results")
@@ -243,21 +263,8 @@ Public Class frmDocumentResultList
End Try
End Sub
-
- Public Class FontSetting
- Public Property Title As String
- Public Property Value As Integer
-
- Public Overrides Function ToString() As String
- Return Title
- End Function
- End Class
-
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.SaveWindowLocationAndSize(Me)
Workspace.SaveWorkspaces()
@@ -1086,4 +1093,19 @@ Public Class frmDocumentResultList
Workspace.LoadWorkspace(oWorkspaceName)
End If
End Sub
+
+ Private Sub btnSaveAsMySearch_ItemClick(sender As Object, e As ItemClickEventArgs) Handles btnSaveAsMySearch.ItemClick
+ RaiseEvent NeedsNewSavedSearch(Me, New EventArgs)
+ End Sub
+
+ Public Class FontSetting
+ Public Property Title As String
+ Public Property Value As Integer
+
+ Public Overrides Function ToString() As String
+ Return Title
+ End Function
+ End Class
+
+
End Class
\ No newline at end of file
diff --git a/GUIs.ZooFlow/My Project/Resources.Designer.vb b/GUIs.ZooFlow/My Project/Resources.Designer.vb
index a592bbea..bf85f7ee 100644
--- a/GUIs.ZooFlow/My Project/Resources.Designer.vb
+++ b/GUIs.ZooFlow/My Project/Resources.Designer.vb
@@ -600,6 +600,26 @@ Namespace My.Resources
End Get
End Property
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
+ '''
+ Friend ReadOnly Property alignhorizontalcenter() As DevExpress.Utils.Svg.SvgImage
+ Get
+ Dim obj As Object = ResourceManager.GetObject("alignhorizontalcenter", 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 alignverticalcenter() As DevExpress.Utils.Svg.SvgImage
+ Get
+ Dim obj As Object = ResourceManager.GetObject("alignverticalcenter", 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.ZooFlow/My Project/Resources.resx b/GUIs.ZooFlow/My Project/Resources.resx
index 3bf9ef69..6743fa55 100644
--- a/GUIs.ZooFlow/My Project/Resources.resx
+++ b/GUIs.ZooFlow/My Project/Resources.resx
@@ -214,6 +214,9 @@
..\Resources\text.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ ..\Resources\bo_security_permission_action.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
..\Resources\viewmergeddata.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
@@ -238,9 +241,6 @@
..\Resources\Flow.PNG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- ..\Resources\unlink.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
..\Resources\Checked-outforEdit_13297.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -316,6 +316,9 @@
..\Resources\save5.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ ..\Resources\alignverticalcenter.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
..\Resources\updatedataextract.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
@@ -442,8 +445,8 @@
..\Resources\definednameuseinformula1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- ..\Resources\properties.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ ..\Resources\unlink.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
..\Resources\2_LUPE_INAKTIV_ZOO.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -502,8 +505,8 @@
..\Resources\doublenext2.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- ..\Resources\Compare_RefreshScriptPreview.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\properties.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
..\Resources\new3.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
@@ -541,6 +544,9 @@
..\Resources\StatusAnnotations_Information_16xLG_color.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\Compare_RefreshScriptPreview.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
..\Resources\renamedatasource.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
@@ -652,7 +658,7 @@
..\Resources\del3.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- ..\Resources\bo_security_permission_action.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ ..\Resources\alignhorizontalcenter.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.ZooFlow/My Project/licenses.licx b/GUIs.ZooFlow/My Project/licenses.licx
index aff6ebd7..5c5ed891 100644
--- a/GUIs.ZooFlow/My Project/licenses.licx
+++ b/GUIs.ZooFlow/My Project/licenses.licx
@@ -1,22 +1,23 @@
-DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraEditors.Repository.RepositoryItemDateEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraEditors.DateEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraTreeList.TreeList, DevExpress.XtraTreeList.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraEditors.LookUpEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraNavBar.NavBarControl, DevExpress.XtraNavBar.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraEditors.ProgressBarControl, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.TileControl, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.GridLookUpEdit, DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemComboBox, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.Repository.RepositoryItemDateEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraBars.Docking.DockManager, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.LookUpEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraTreeList.TreeList, DevExpress.XtraTreeList.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.DateEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.Repository.RepositoryItemTextEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraNavBar.NavBarControl, DevExpress.XtraNavBar.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.PictureEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.ImageComboBoxEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.ProgressBarControl, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemLookUpEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraEditors.PictureEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraBars.Docking.DockManager, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraEditors.GridLookUpEdit, DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraEditors.TileControl, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraEditors.Repository.RepositoryItemTextEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
diff --git a/GUIs.ZooFlow/Resources/alignhorizontalcenter.svg b/GUIs.ZooFlow/Resources/alignhorizontalcenter.svg
new file mode 100644
index 00000000..e66da96c
--- /dev/null
+++ b/GUIs.ZooFlow/Resources/alignhorizontalcenter.svg
@@ -0,0 +1,9 @@
+
+
\ No newline at end of file
diff --git a/GUIs.ZooFlow/Resources/alignverticalcenter.svg b/GUIs.ZooFlow/Resources/alignverticalcenter.svg
new file mode 100644
index 00000000..6abf52b6
--- /dev/null
+++ b/GUIs.ZooFlow/Resources/alignverticalcenter.svg
@@ -0,0 +1,9 @@
+
+
\ No newline at end of file
diff --git a/GUIs.ZooFlow/Search/SavedSearch.vb b/GUIs.ZooFlow/Search/SavedSearch.vb
new file mode 100644
index 00000000..64355189
--- /dev/null
+++ b/GUIs.ZooFlow/Search/SavedSearch.vb
@@ -0,0 +1,48 @@
+Imports System.Xml.Serialization
+Imports DevExpress.Utils.Svg
+
+Namespace SavedSearch
+ Public MustInherit Class SavedSearch
+ Public Property Name As String
+ Public Property Description As String
+ Public Overridable Property GroupText As String = ""
+ Public Property Image As SvgImage
+
+ Public ReadOnly Property DisplayName As String
+ Get
+ Return Name
+ End Get
+ End Property
+ End Class
+
+ Public Class PredefinedDateSearch
+ Inherits SavedSearch
+
+ 'Public Property Image As SvgImage
+ Public Overrides Property GroupText As String = "Vordefiniert"
+
+ Public Property DateConstraint As Search.SearchRunner.DateConstraint
+ End Class
+
+ Public Class CustomSearch
+ Inherits SavedSearch
+
+ 'Public Property Image As SvgImage
+ Public Overrides Property GroupText As String = "Eigene"
+
+ Public Tokens As New List(Of Search.SearchToken.Token)
+ End Class
+
+
+
+
+ Public Class CustomSearchSerializable
+ Public Property Name As String
+ Public Property Description As String
+ Public Property ImageName As String
+ Public Property GroupText As String
+ Public Property Tokens As New List(Of Search.SearchToken.Token)
+ End Class
+End Namespace
+
+
diff --git a/GUIs.ZooFlow/Search/SearchLoader.vb b/GUIs.ZooFlow/Search/SearchLoader.vb
index 7cf80c67..36227576 100644
--- a/GUIs.ZooFlow/Search/SearchLoader.vb
+++ b/GUIs.ZooFlow/Search/SearchLoader.vb
@@ -8,23 +8,26 @@ Imports DigitalData.Modules.Base
Imports DigitalData.Modules.Config
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Language
+Imports System.Reflection
Namespace Search
Public Class SearchLoader
Inherits BaseClass
- Private Const CUSTOM_SEARCH_DIRECTORY = ""
+ Private Const CUSTOM_SEARCH_DIRECTORY = "Searches"
Private ReadOnly Images As SvgImageCollection
- Private ReadOnly Config As ConfigManager(Of UIConfig)
- 'Private ReadOnly Serializer As New XmlSerializer(GetType(CustomSearch))
+ Private ReadOnly ImageTable As List(Of ImageTableItem)
- Public Property CustomSearches As List(Of CustomSearch)
+ Private ReadOnly Config As ConfigManager(Of SystemConfig)
+ Private ReadOnly Serializer As XmlSerializer
- Public Sub New(pLogConfig As LogConfig, pConfig As ConfigManager(Of UIConfig), pSvgImages As SvgImageCollection)
+ Public Sub New(pLogConfig As LogConfig, pConfig As ConfigManager(Of SystemConfig), pSvgImages As SvgImageCollection)
MyBase.New(pLogConfig)
Images = pSvgImages
+ ImageTable = GetImageTable(pSvgImages)
Config = pConfig
+ Serializer = New XmlSerializer(GetType(SavedSearch.CustomSearchSerializable))
End Sub
Private Function GetSearchDirectoryPath() As String
@@ -43,23 +46,27 @@ Namespace Search
End Function
Public Sub CreateCustomSearch(pTitle As String, pDescription As String, pTokens As List(Of Token), pImage As String)
- Dim oSearch As New CustomSearch With {
+ Dim oSearch As New SavedSearch.CustomSearch With {
.Name = pTitle,
.Description = pDescription,
.Tokens = pTokens,
.Image = Images.Item(pImage)
}
- CustomSearches.Add(oSearch)
- 'Dim oDirectoryPath As String = GetSearchDirectoryPath()
- 'Dim oFilePath As String = IO.Path.Combine(oDirectoryPath, Utils.ConvertTextToSlug(pTitle))
- 'Dim oBuffer As Byte() = SerializeSearch(oSearch)
+ Try
+ Dim oDirectoryPath As String = GetSearchDirectoryPath()
+ Dim oFilePath As String = IO.Path.Combine(oDirectoryPath, Utils.ConvertTextToSlug(pTitle) & ".xml")
+ Dim oBuffer As Byte() = SerializeSearch(oSearch)
- 'IO.File.WriteAllBytes(oFilePath, oBuffer)
+ File.WriteAllBytes(oFilePath, oBuffer)
+ Catch ex As Exception
+ Logger.Warn("Custom Search could not be saved!")
+ Logger.Error(ex)
+ End Try
End Sub
- Public Function LoadSearches() As List(Of SavedSearch)
- Dim oSearches As New List(Of SavedSearch)
+ Public Function LoadSearches() As List(Of SavedSearch.SavedSearch)
+ Dim oSearches As New List(Of SavedSearch.SavedSearch)
Dim oCustomSearches = LoadCustomSearches()
Dim oPredefinedSearches = LoadPredefinedSearches()
@@ -69,49 +76,60 @@ Namespace Search
ToList()
End Function
- Public Function LoadCustomSearches() As List(Of SavedSearch)
- Return New List(Of SavedSearch)
+ Public Function LoadCustomSearches() As List(Of SavedSearch.SavedSearch)
+ Dim oSearches As New List(Of SavedSearch.SavedSearch)
+ Dim oPath = GetSearchDirectoryPath()
+
+ Dim oFiles = Directory.GetFiles(oPath, "*.xml")
+
+ For Each oFile In oFiles
+ Dim oBytes = File.ReadAllBytes(oFile)
+ Dim oSearch = DeserializeSearch(oBytes)
+ oSearches.Add(oSearch)
+ Next
+
+ Return oSearches
End Function
- Public Function LoadPredefinedSearches() As List(Of SavedSearch)
- Return New List(Of SavedSearch) From {
- New PredefinedDateSearch() With {
+ Public Function LoadPredefinedSearches() As List(Of SavedSearch.SavedSearch)
+ Return New List(Of SavedSearch.SavedSearch) From {
+ New SavedSearch.PredefinedDateSearch() With {
.Name = "Heute",
.Description = "Dokumente, die heute abgelegt wurden",
.DateConstraint = SearchRunner.DateConstraint.Today,
.Image = Images.Item("today")
},
- New PredefinedDateSearch() With {
+ New SavedSearch.PredefinedDateSearch() With {
.Name = "Gestern",
.Description = "Dokumente, die gestern abgelegt wurden",
.DateConstraint = SearchRunner.DateConstraint.Yesterday,
.Image = Images.Item("yesterday")
},
- New PredefinedDateSearch() With {
+ New SavedSearch.PredefinedDateSearch() With {
.Name = "Letzte 7 Tage",
.Description = "Dokumente, die in den letzten 7 Tagen abgelegt wurden",
.DateConstraint = SearchRunner.DateConstraint.Last7Days,
.Image = Images.Item("week")
},
- New PredefinedDateSearch() With {
+ New SavedSearch.PredefinedDateSearch() With {
.Name = "Dieser Monat",
.Description = "Dokumente, die in diesem Monat abgelegt wurden",
.DateConstraint = SearchRunner.DateConstraint.CurrentMonth,
.Image = Images.Item("month")
},
- New PredefinedDateSearch() With {
+ New SavedSearch.PredefinedDateSearch() With {
.Name = "Letzter Monat",
.Description = "Dokumente, die im letzten Monat abgelegt wurden",
.DateConstraint = SearchRunner.DateConstraint.LastMonth,
.Image = Images.Item("month")
},
- New PredefinedDateSearch() With {
+ New SavedSearch.PredefinedDateSearch() With {
.Name = "Dieses Jahr",
.Description = "Dokumente, die in diesem Jahr abgelegt wurden",
.DateConstraint = SearchRunner.DateConstraint.CurrentYear,
.Image = Images.Item("year")
},
- New PredefinedDateSearch() With {
+ New SavedSearch.PredefinedDateSearch() With {
.Name = "Letztes Jahr",
.Description = "Dokumente, die im letzten Jahr abgelegt wurden",
.DateConstraint = SearchRunner.DateConstraint.LastYear,
@@ -120,62 +138,86 @@ Namespace Search
}
End Function
- 'Private Function SerializeSearch(pSearch As CustomSearch) As Byte()
- ' Try
- ' Using oStream As New MemoryStream
- ' Serializer.Serialize(oStream, pSearch)
- ' Return oStream.ToArray()
- ' End Using
- ' Catch ex As Exception
- ' Logger.Error(ex)
- ' Return Nothing
- ' End Try
- 'End Function
+ Private Function ConvertSvgImageToString(pImage As SvgImage) As String
+ Dim oItem = ImageTable.Where(Function(item) item.Image.Equals(pImage)).FirstOrDefault()
+ If oItem Is Nothing Then
+ Return Nothing
+ End If
- 'Private Function DeserializeSearch(pBytes As Byte()) As CustomSearch
- ' Try
- ' Using oStream As New MemoryStream(pBytes)
- ' Return Serializer.Deserialize(oStream)
- ' End Using
- ' Catch ex As Exception
- ' Logger.Error(ex)
- ' Return Nothing
- ' End Try
- 'End Function
+ Return oItem.Name
+ End Function
- Public Class PredefinedSQLSearch
- Public Property SQLCommand As String
+ Private Function ConvertStringToImageName(pName As String) As SvgImage
+ Dim oItem = ImageTable.Where(Function(item) item.Name.Equals(pName)).FirstOrDefault()
+ If oItem Is Nothing Then
+ Return Nothing
+ End If
+
+ Return oItem.Image
+ End Function
+
+ Private Function GetImageTable(pImageCollection As SvgImageCollection) As List(Of ImageTableItem)
+ Dim oList As New List(Of ImageTableItem)
+
+ For Each oImageName In pImageCollection.Keys
+ Dim oSvgImage = pImageCollection.Item(oImageName)
+ oList.Add(New ImageTableItem(oImageName, oSvgImage))
+ Next
+
+ Return oList
+ End Function
+
+ Private Function SerializeSearch(pSearch As SavedSearch.CustomSearch) As Byte()
+ Try
+ Dim oSearch As New SavedSearch.CustomSearchSerializable With {
+ .Name = pSearch.Name,
+ .Description = pSearch.Description,
+ .GroupText = pSearch.GroupText,
+ .Tokens = pSearch.Tokens,
+ .ImageName = ConvertSvgImageToString(pSearch.Image)
+ }
+
+ Using oStream As New MemoryStream
+ Serializer.Serialize(oStream, oSearch)
+ Return oStream.ToArray()
+ End Using
+ Catch ex As Exception
+ Logger.Error(ex)
+ Return Nothing
+ End Try
+ End Function
+
+ Private Function DeserializeSearch(pBytes As Byte()) As SavedSearch.CustomSearch
+ Try
+ Using oStream As New MemoryStream(pBytes)
+ Dim oSearch As SavedSearch.CustomSearchSerializable = Serializer.Deserialize(oStream)
+
+ Return New SavedSearch.CustomSearch With {
+ .Name = oSearch.Name,
+ .Description = oSearch.Description,
+ .GroupText = oSearch.GroupText,
+ .Tokens = oSearch.Tokens,
+ .Image = ConvertStringToImageName(oSearch.ImageName)
+ }
+ End Using
+ Catch ex As Exception
+ Logger.Error(ex)
+ Return Nothing
+ End Try
+ End Function
+
+ Private Class ImageTableItem
+ Public ReadOnly Name As String
+ Public ReadOnly Image As SvgImage
+
+ Public Sub New(pName As String, pImage As SvgImage)
+ Name = pName
+ Image = pImage
+ End Sub
End Class
- Public Class PredefinedDateSearch
- Inherits SavedSearch
- Public Overrides Property GroupText As String = "Vordefiniert"
- Public Property DateConstraint As SearchRunner.DateConstraint
- End Class
- Public Class CustomSearch
- Inherits SavedSearch
-
- Public Overrides Property GroupText As String = "Eigene"
-
- Public Tokens As New List(Of Token)
- End Class
-
- Public MustInherit Class SavedSearch
- Public Property Name As String
- Public Property Description As String
-
- Public Property Image As SvgImage
- Public Property Count As Integer = 0
- Public Overridable Property GroupText As String = "Vordefiniert"
-
- Public ReadOnly Property DisplayName As String
- Get
- Return Name
- End Get
- End Property
- End Class
End Class
End Namespace
diff --git a/GUIs.ZooFlow/Search/SearchRunner.vb b/GUIs.ZooFlow/Search/SearchRunner.vb
index f8a5c515..4811ba1c 100644
--- a/GUIs.ZooFlow/Search/SearchRunner.vb
+++ b/GUIs.ZooFlow/Search/SearchRunner.vb
@@ -37,6 +37,7 @@ Namespace Search
End Enum
Public Event NeedsRefresh As EventHandler(Of Integer)
+ Public Event NeedsNewSavedSearch As EventHandler
Public Event Closed As EventHandler(Of Integer)
Private Property _ActiveDateConstraint As String = String.Empty
@@ -78,9 +79,9 @@ Namespace Search
Public Function RunWithDataTable(pDatatable As DataTable, pTitle As String) As SearchResult
Dim oParams = GetParams(pTitle)
oParams.Results.Add(New DocumentResultList.DocumentResult() With {
- .Title = pTitle,
- .Datatable = pDatatable
- })
+ .Title = pTitle,
+ .Datatable = pDatatable
+ })
If pDatatable.Rows.Count = 1 Then
oParams.ShowFileList = False
@@ -181,6 +182,16 @@ Namespace Search
'AddHandler oForm.NeedsRefresh, AddressOf Form_NeedsRefresh
AddHandler oForm.FormClosed, AddressOf Form_Closed
+ ' Only setup event if it is actually used
+ If NeedsNewSavedSearchEvent IsNot Nothing Then
+ AddHandler oForm.NeedsNewSavedSearch, AddressOf Form_NeedsNewSavedSearch
+ End If
+
+ ' Only setup event if it is actually used
+ If NeedsRefreshEvent IsNot Nothing Then
+ AddHandler oForm.NeedsRefresh, AddressOf Form_NeedsRefresh
+ End If
+
oForm.Show()
Return New SearchResult(oRowCount)
@@ -194,6 +205,14 @@ Namespace Search
End If
End Function
+ Private Sub Form_NeedsNewSavedSearch(sender As Object, e As EventArgs)
+ RaiseEvent NeedsNewSavedSearch(sender, e)
+ End Sub
+
+ Private Sub Form_NeedsRefresh(sender As Object, e As Integer)
+ RaiseEvent NeedsRefresh(sender, e)
+ End Sub
+
Private Async Function GetDateConstraint(pDateFrom As Date, pDateTo As Date) As Task(Of String)
Dim oSimpleDateConstraint = $"{_ActiveDateAttribute}~{_ActiveDateConstraint}"
Dim oExplicitConstraint = Await MaybeSetExplicitDateConstraint(pDateFrom, pDateTo)
diff --git a/GUIs.ZooFlow/Search/frmEditSearch.Designer.vb b/GUIs.ZooFlow/Search/frmEditSearch.Designer.vb
new file mode 100644
index 00000000..60b93e3f
--- /dev/null
+++ b/GUIs.ZooFlow/Search/frmEditSearch.Designer.vb
@@ -0,0 +1,232 @@
+ _
+Partial Class frmEditSearch
+ 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()
+ Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl()
+ Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem()
+ Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
+ Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
+ Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
+ Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage()
+ Me.LayoutControl1 = New DevExpress.XtraLayout.LayoutControl()
+ Me.TextEdit1 = New DevExpress.XtraEditors.TextEdit()
+ Me.ImageComboBoxEdit1 = New DevExpress.XtraEditors.ImageComboBoxEdit()
+ Me.TextEdit2 = New DevExpress.XtraEditors.MemoEdit()
+ Me.Root = New DevExpress.XtraLayout.LayoutControlGroup()
+ Me.LayoutControlItem1 = New DevExpress.XtraLayout.LayoutControlItem()
+ Me.LayoutControlItem2 = New DevExpress.XtraLayout.LayoutControlItem()
+ Me.LayoutControlItem3 = New DevExpress.XtraLayout.LayoutControlItem()
+ Me.SvgImageCollection1 = New DevExpress.Utils.SvgImageCollection(Me.components)
+ CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.LayoutControl1, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.LayoutControl1.SuspendLayout()
+ CType(Me.TextEdit1.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.ImageComboBoxEdit1.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.TextEdit2.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.Root, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.LayoutControlItem1, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.LayoutControlItem2, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.LayoutControlItem3, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.SvgImageCollection1, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.SuspendLayout()
+ '
+ 'RibbonControl1
+ '
+ Me.RibbonControl1.ColorScheme = DevExpress.XtraBars.Ribbon.RibbonControlColorScheme.Green
+ Me.RibbonControl1.CommandLayout = DevExpress.XtraBars.Ribbon.CommandLayout.Simplified
+ Me.RibbonControl1.ExpandCollapseItem.Id = 0
+ Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.BarButtonItem1})
+ Me.RibbonControl1.Location = New System.Drawing.Point(0, 0)
+ Me.RibbonControl1.MaxItemId = 2
+ Me.RibbonControl1.Name = "RibbonControl1"
+ Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
+ Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
+ Me.RibbonControl1.ShowDisplayOptionsMenuButton = DevExpress.Utils.DefaultBoolean.[False]
+ Me.RibbonControl1.ShowExpandCollapseButton = DevExpress.Utils.DefaultBoolean.[False]
+ Me.RibbonControl1.ShowPageHeadersMode = DevExpress.XtraBars.Ribbon.ShowPageHeadersMode.Hide
+ Me.RibbonControl1.ShowToolbarCustomizeItem = False
+ Me.RibbonControl1.Size = New System.Drawing.Size(422, 63)
+ Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1
+ Me.RibbonControl1.Toolbar.ShowCustomizeItem = False
+ '
+ 'BarButtonItem1
+ '
+ Me.BarButtonItem1.Caption = "Speichern"
+ Me.BarButtonItem1.Id = 1
+ Me.BarButtonItem1.Name = "BarButtonItem1"
+ '
+ 'RibbonPage1
+ '
+ Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1})
+ Me.RibbonPage1.Name = "RibbonPage1"
+ Me.RibbonPage1.Text = "RibbonPage1"
+ '
+ 'RibbonPageGroup1
+ '
+ Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem1)
+ Me.RibbonPageGroup1.Name = "RibbonPageGroup1"
+ Me.RibbonPageGroup1.Text = "RibbonPageGroup1"
+ '
+ 'RibbonStatusBar1
+ '
+ Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 301)
+ Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
+ Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1
+ Me.RibbonStatusBar1.Size = New System.Drawing.Size(422, 24)
+ '
+ 'RibbonPage2
+ '
+ Me.RibbonPage2.Name = "RibbonPage2"
+ Me.RibbonPage2.Text = "RibbonPage2"
+ '
+ 'LayoutControl1
+ '
+ Me.LayoutControl1.Controls.Add(Me.TextEdit1)
+ Me.LayoutControl1.Controls.Add(Me.ImageComboBoxEdit1)
+ Me.LayoutControl1.Controls.Add(Me.TextEdit2)
+ Me.LayoutControl1.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.LayoutControl1.Location = New System.Drawing.Point(0, 63)
+ Me.LayoutControl1.Name = "LayoutControl1"
+ Me.LayoutControl1.Root = Me.Root
+ Me.LayoutControl1.Size = New System.Drawing.Size(422, 238)
+ Me.LayoutControl1.TabIndex = 2
+ Me.LayoutControl1.Text = "LayoutControl1"
+ '
+ 'TextEdit1
+ '
+ Me.TextEdit1.Location = New System.Drawing.Point(96, 20)
+ Me.TextEdit1.MenuManager = Me.RibbonControl1
+ Me.TextEdit1.Name = "TextEdit1"
+ Me.TextEdit1.Size = New System.Drawing.Size(306, 20)
+ Me.TextEdit1.StyleController = Me.LayoutControl1
+ Me.TextEdit1.TabIndex = 4
+ '
+ 'ImageComboBoxEdit1
+ '
+ Me.ImageComboBoxEdit1.Location = New System.Drawing.Point(96, 198)
+ Me.ImageComboBoxEdit1.MenuManager = Me.RibbonControl1
+ Me.ImageComboBoxEdit1.Name = "ImageComboBoxEdit1"
+ Me.ImageComboBoxEdit1.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
+ Me.ImageComboBoxEdit1.Size = New System.Drawing.Size(306, 20)
+ Me.ImageComboBoxEdit1.StyleController = Me.LayoutControl1
+ Me.ImageComboBoxEdit1.TabIndex = 6
+ '
+ 'TextEdit2
+ '
+ Me.TextEdit2.Location = New System.Drawing.Point(96, 60)
+ Me.TextEdit2.MenuManager = Me.RibbonControl1
+ Me.TextEdit2.Name = "TextEdit2"
+ Me.TextEdit2.Size = New System.Drawing.Size(306, 118)
+ Me.TextEdit2.StyleController = Me.LayoutControl1
+ Me.TextEdit2.TabIndex = 5
+ '
+ 'Root
+ '
+ Me.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.[True]
+ Me.Root.GroupBordersVisible = False
+ Me.Root.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem1, Me.LayoutControlItem2, Me.LayoutControlItem3})
+ Me.Root.Name = "Root"
+ Me.Root.Size = New System.Drawing.Size(422, 238)
+ Me.Root.TextVisible = False
+ '
+ 'LayoutControlItem1
+ '
+ Me.LayoutControlItem1.Control = Me.TextEdit1
+ Me.LayoutControlItem1.Location = New System.Drawing.Point(0, 0)
+ Me.LayoutControlItem1.Name = "LayoutControlItem1"
+ Me.LayoutControlItem1.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
+ Me.LayoutControlItem1.Size = New System.Drawing.Size(402, 40)
+ Me.LayoutControlItem1.Text = "Titel"
+ Me.LayoutControlItem1.TextSize = New System.Drawing.Size(64, 13)
+ '
+ 'LayoutControlItem2
+ '
+ Me.LayoutControlItem2.Control = Me.TextEdit2
+ Me.LayoutControlItem2.Location = New System.Drawing.Point(0, 40)
+ Me.LayoutControlItem2.Name = "LayoutControlItem2"
+ Me.LayoutControlItem2.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
+ Me.LayoutControlItem2.Size = New System.Drawing.Size(402, 138)
+ Me.LayoutControlItem2.Text = "Beschreibung"
+ Me.LayoutControlItem2.TextSize = New System.Drawing.Size(64, 13)
+ '
+ 'LayoutControlItem3
+ '
+ Me.LayoutControlItem3.Control = Me.ImageComboBoxEdit1
+ Me.LayoutControlItem3.Location = New System.Drawing.Point(0, 178)
+ Me.LayoutControlItem3.Name = "LayoutControlItem3"
+ Me.LayoutControlItem3.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
+ Me.LayoutControlItem3.Size = New System.Drawing.Size(402, 40)
+ Me.LayoutControlItem3.Text = "Icon"
+ Me.LayoutControlItem3.TextSize = New System.Drawing.Size(64, 13)
+ '
+ 'SvgImageCollection1
+ '
+ Me.SvgImageCollection1.Add("today", "image://svgimages/scheduling/dayview.svg")
+ Me.SvgImageCollection1.Add("month", "image://svgimages/scheduling/monthview.svg")
+ Me.SvgImageCollection1.Add("week", "image://svgimages/scheduling/next7days.svg")
+ Me.SvgImageCollection1.Add("year", "image://svgimages/scheduling/groupbynone.svg")
+ Me.SvgImageCollection1.Add("yesterday", "image://svgimages/scheduling/today.svg")
+ Me.SvgImageCollection1.Add("invoice", "image://svgimages/business objects/bo_invoice.svg")
+ '
+ 'frmEditSearch
+ '
+ Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.ClientSize = New System.Drawing.Size(422, 325)
+ Me.Controls.Add(Me.LayoutControl1)
+ Me.Controls.Add(Me.RibbonStatusBar1)
+ Me.Controls.Add(Me.RibbonControl1)
+ Me.Name = "frmEditSearch"
+ Me.Ribbon = Me.RibbonControl1
+ Me.StatusBar = Me.RibbonStatusBar1
+ Me.Text = "frmEditSearch"
+ CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.LayoutControl1, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.LayoutControl1.ResumeLayout(False)
+ CType(Me.TextEdit1.Properties, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.ImageComboBoxEdit1.Properties, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.TextEdit2.Properties, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.Root, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.LayoutControlItem1, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.LayoutControlItem2, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.LayoutControlItem3, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.SvgImageCollection1, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.ResumeLayout(False)
+ Me.PerformLayout()
+
+ End Sub
+
+ 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 RibbonStatusBar1 As DevExpress.XtraBars.Ribbon.RibbonStatusBar
+ Friend WithEvents RibbonPage2 As DevExpress.XtraBars.Ribbon.RibbonPage
+ Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents LayoutControl1 As DevExpress.XtraLayout.LayoutControl
+ Friend WithEvents TextEdit1 As DevExpress.XtraEditors.TextEdit
+ Friend WithEvents ImageComboBoxEdit1 As DevExpress.XtraEditors.ImageComboBoxEdit
+ Friend WithEvents TextEdit2 As DevExpress.XtraEditors.MemoEdit
+ Friend WithEvents Root As DevExpress.XtraLayout.LayoutControlGroup
+ Friend WithEvents LayoutControlItem1 As DevExpress.XtraLayout.LayoutControlItem
+ Friend WithEvents LayoutControlItem2 As DevExpress.XtraLayout.LayoutControlItem
+ Friend WithEvents LayoutControlItem3 As DevExpress.XtraLayout.LayoutControlItem
+ Friend WithEvents SvgImageCollection1 As DevExpress.Utils.SvgImageCollection
+End Class
diff --git a/GUIs.ZooFlow/Search/frmEditSearch.resx b/GUIs.ZooFlow/Search/frmEditSearch.resx
new file mode 100644
index 00000000..f722219e
--- /dev/null
+++ b/GUIs.ZooFlow/Search/frmEditSearch.resx
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
\ No newline at end of file
diff --git a/GUIs.ZooFlow/Search/frmEditSearch.vb b/GUIs.ZooFlow/Search/frmEditSearch.vb
new file mode 100644
index 00000000..6877887d
--- /dev/null
+++ b/GUIs.ZooFlow/Search/frmEditSearch.vb
@@ -0,0 +1,48 @@
+Imports DevExpress.Utils
+Imports DevExpress.Utils.Svg
+
+Public Class frmEditSearch
+ Public ReadOnly Property Images As SvgImageCollection
+ Get
+ Return SvgImageCollection1
+ End Get
+ End Property
+
+ Public Property IsNew As Boolean = False
+
+ Public Property Title As String = ""
+ Public Property Description As String = ""
+ Public Property ImageString As String = ""
+ Public Property Image As SvgImage = Nothing
+
+ Private Sub frmEditSearch_Load(sender As Object, e As EventArgs) Handles Me.Load
+ If IsNew Then
+ Text = "Neue Suche"
+ Else
+ Text = "Suche bearbeiten"
+ End If
+
+ For Each oImage As SvgImageInfo In Images.ImageInfos
+ Dim oItem = New DevExpress.XtraEditors.Controls.ImageComboBoxItem(oImage.Name, oImage.Bitmap)
+ ImageComboBoxEdit1.Properties.Items.Add(oItem)
+ Next
+ End Sub
+
+ Private Sub TextEdit1_EditValueChanged(sender As Object, e As EventArgs) Handles TextEdit1.EditValueChanged
+ Title = TextEdit1.EditValue
+ End Sub
+
+ Private Sub TextEdit2_EditValueChanged(sender As Object, e As EventArgs) Handles TextEdit2.EditValueChanged
+ Description = TextEdit2.EditValue
+ End Sub
+
+ Private Sub ImageComboBoxEdit1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ImageComboBoxEdit1.SelectedIndexChanged
+ ImageString = ImageComboBoxEdit1.Text
+ 'Image = ImageComboBoxEdit1.EditValue
+ End Sub
+
+ Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick
+ DialogResult = DialogResult.OK
+ Close()
+ End Sub
+End Class
\ No newline at end of file
diff --git a/GUIs.ZooFlow/Search/frmSearchFlow.Designer.vb b/GUIs.ZooFlow/Search/frmSearchFlow.Designer.vb
index 214b3628..436ff370 100644
--- a/GUIs.ZooFlow/Search/frmSearchFlow.Designer.vb
+++ b/GUIs.ZooFlow/Search/frmSearchFlow.Designer.vb
@@ -1,9 +1,9 @@
- _
+
Partial Class frmSearchFlow
Inherits DevExpress.XtraBars.Ribbon.RibbonForm
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
- _
+
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
@@ -20,7 +20,7 @@ Partial Class frmSearchFlow
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
- _
+
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim ItemTemplate1 As DevExpress.XtraGrid.Views.Tile.ItemTemplate = New DevExpress.XtraGrid.Views.Tile.ItemTemplate()
@@ -49,10 +49,17 @@ Partial Class frmSearchFlow
Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonItem2 = New DevExpress.XtraBars.BarButtonItem()
Me.btnSaveSearch = New DevExpress.XtraBars.BarButtonItem()
+ Me.chkGridVertical = New DevExpress.XtraBars.BarCheckItem()
+ Me.chkGridHorizontal = New DevExpress.XtraBars.BarCheckItem()
+ Me.BarEditItem1 = New DevExpress.XtraBars.BarEditItem()
+ Me.RepositoryItemTrackBar1 = New DevExpress.XtraEditors.Repository.RepositoryItemTrackBar()
+ Me.BarEditItem2 = New DevExpress.XtraBars.BarEditItem()
+ Me.RepositoryItemTrackBar2 = New DevExpress.XtraEditors.Repository.RepositoryItemTrackBar()
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup5 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
+ Me.RibbonPage3 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup3 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RepositoryItemMarqueeProgressBar1 = New DevExpress.XtraEditors.Repository.RepositoryItemMarqueeProgressBar()
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
@@ -80,6 +87,8 @@ Partial Class frmSearchFlow
Me.LayoutControlItem7 = New DevExpress.XtraLayout.LayoutControlItem()
Me.SvgImageCollection1 = New DevExpress.Utils.SvgImageCollection(Me.components)
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.RepositoryItemTrackBar1, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.RepositoryItemTrackBar2, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RepositoryItemMarqueeProgressBar1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.PanelControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.PanelControl1.SuspendLayout()
@@ -137,12 +146,12 @@ Partial Class frmSearchFlow
'
Me.RibbonControl1.ColorScheme = DevExpress.XtraBars.Ribbon.RibbonControlColorScheme.Green
Me.RibbonControl1.ExpandCollapseItem.Id = 0
- Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.lblResults, Me.chkOperatorAnd, Me.chkOperatorOr, Me.chkDatefilter2, Me.BarCheckItem4, Me.chkSearchEverywhere, Me.BarButtonItem1, Me.BarButtonItem2, Me.btnSaveSearch})
+ Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.lblResults, Me.chkOperatorAnd, Me.chkOperatorOr, Me.chkDatefilter2, Me.BarCheckItem4, Me.chkSearchEverywhere, Me.BarButtonItem1, Me.BarButtonItem2, Me.btnSaveSearch, Me.chkGridVertical, Me.chkGridHorizontal, Me.BarEditItem1, Me.BarEditItem2})
Me.RibbonControl1.Location = New System.Drawing.Point(0, 0)
- Me.RibbonControl1.MaxItemId = 24
+ Me.RibbonControl1.MaxItemId = 28
Me.RibbonControl1.Name = "RibbonControl1"
- Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
- Me.RibbonControl1.RepositoryItems.AddRange(New DevExpress.XtraEditors.Repository.RepositoryItem() {Me.RepositoryItemMarqueeProgressBar1})
+ Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1, Me.RibbonPage3})
+ Me.RibbonControl1.RepositoryItems.AddRange(New DevExpress.XtraEditors.Repository.RepositoryItem() {Me.RepositoryItemMarqueeProgressBar1, Me.RepositoryItemTrackBar1, Me.RepositoryItemTrackBar2})
Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
Me.RibbonControl1.ShowDisplayOptionsMenuButton = DevExpress.Utils.DefaultBoolean.[False]
Me.RibbonControl1.ShowPageHeadersMode = DevExpress.XtraBars.Ribbon.ShowPageHeadersMode.Show
@@ -168,6 +177,7 @@ Partial Class frmSearchFlow
Me.chkOperatorAnd.Id = 16
Me.chkOperatorAnd.ImageOptions.SvgImage = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.link3
Me.chkOperatorAnd.Name = "chkOperatorAnd"
+ Me.chkOperatorAnd.RibbonStyle = DevExpress.XtraBars.Ribbon.RibbonItemStyles.SmallWithText
'
'chkOperatorOr
'
@@ -176,6 +186,7 @@ Partial Class frmSearchFlow
Me.chkOperatorOr.Id = 17
Me.chkOperatorOr.ImageOptions.SvgImage = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.unlink1
Me.chkOperatorOr.Name = "chkOperatorOr"
+ Me.chkOperatorOr.RibbonStyle = DevExpress.XtraBars.Ribbon.RibbonItemStyles.SmallWithText
'
'chkDatefilter2
'
@@ -215,14 +226,58 @@ Partial Class frmSearchFlow
'
'btnSaveSearch
'
- Me.btnSaveSearch.Caption = "Aktuelle Eingabe als Suche speichern"
+ Me.btnSaveSearch.Caption = "Aktuelle Suche speichern"
Me.btnSaveSearch.Id = 23
Me.btnSaveSearch.ImageOptions.SvgImage = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.bo_security_permission_action
Me.btnSaveSearch.Name = "btnSaveSearch"
'
+ 'chkGridVertical
+ '
+ Me.chkGridVertical.Caption = "Gruppen vertikal"
+ Me.chkGridVertical.GroupIndex = 1
+ Me.chkGridVertical.Id = 24
+ Me.chkGridVertical.ImageOptions.SvgImage = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.alignverticalcenter
+ Me.chkGridVertical.Name = "chkGridVertical"
+ '
+ 'chkGridHorizontal
+ '
+ Me.chkGridHorizontal.Caption = "Gruppen horizontal"
+ Me.chkGridHorizontal.GroupIndex = 1
+ Me.chkGridHorizontal.Id = 25
+ Me.chkGridHorizontal.ImageOptions.SvgImage = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.alignhorizontalcenter
+ Me.chkGridHorizontal.Name = "chkGridHorizontal"
+ '
+ 'BarEditItem1
+ '
+ Me.BarEditItem1.Caption = "Zeilen"
+ Me.BarEditItem1.Edit = Me.RepositoryItemTrackBar1
+ Me.BarEditItem1.Id = 26
+ Me.BarEditItem1.Name = "BarEditItem1"
+ '
+ 'RepositoryItemTrackBar1
+ '
+ Me.RepositoryItemTrackBar1.LabelAppearance.Options.UseTextOptions = True
+ Me.RepositoryItemTrackBar1.LabelAppearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center
+ Me.RepositoryItemTrackBar1.Maximum = 5
+ Me.RepositoryItemTrackBar1.Name = "RepositoryItemTrackBar1"
+ '
+ 'BarEditItem2
+ '
+ Me.BarEditItem2.Caption = "BarEditItem2"
+ Me.BarEditItem2.Edit = Me.RepositoryItemTrackBar2
+ Me.BarEditItem2.Id = 27
+ Me.BarEditItem2.Name = "BarEditItem2"
+ '
+ 'RepositoryItemTrackBar2
+ '
+ Me.RepositoryItemTrackBar2.LabelAppearance.Options.UseTextOptions = True
+ Me.RepositoryItemTrackBar2.LabelAppearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center
+ Me.RepositoryItemTrackBar2.Maximum = 5
+ Me.RepositoryItemTrackBar2.Name = "RepositoryItemTrackBar2"
+ '
'RibbonPage1
'
- Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup2, Me.RibbonPageGroup5, Me.RibbonPageGroup3})
+ Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup2, Me.RibbonPageGroup5})
Me.RibbonPage1.Name = "RibbonPage1"
Me.RibbonPage1.Text = "Suche"
'
@@ -249,12 +304,20 @@ Partial Class frmSearchFlow
Me.RibbonPageGroup5.Name = "RibbonPageGroup5"
Me.RibbonPageGroup5.Text = "Begriffsverknüpfung"
'
+ 'RibbonPage3
+ '
+ Me.RibbonPage3.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup3})
+ Me.RibbonPage3.Name = "RibbonPage3"
+ Me.RibbonPage3.Text = "Layout"
+ '
'RibbonPageGroup3
'
- Me.RibbonPageGroup3.Enabled = False
- Me.RibbonPageGroup3.ItemLinks.Add(Me.btnSaveSearch)
+ Me.RibbonPageGroup3.ItemLinks.Add(Me.chkGridVertical)
+ Me.RibbonPageGroup3.ItemLinks.Add(Me.chkGridHorizontal)
+ Me.RibbonPageGroup3.ItemLinks.Add(Me.BarEditItem1)
+ Me.RibbonPageGroup3.ItemLinks.Add(Me.BarEditItem2)
Me.RibbonPageGroup3.Name = "RibbonPageGroup3"
- Me.RibbonPageGroup3.Text = "Eigene Suchen"
+ Me.RibbonPageGroup3.Text = "RibbonPageGroup3"
'
'RepositoryItemMarqueeProgressBar1
'
@@ -336,7 +399,7 @@ Partial Class frmSearchFlow
Me.GridSearches.MainView = Me.ViewSearches
Me.GridSearches.MenuManager = Me.RibbonControl1
Me.GridSearches.Name = "GridSearches"
- Me.GridSearches.Size = New System.Drawing.Size(858, 184)
+ Me.GridSearches.Size = New System.Drawing.Size(858, 183)
Me.GridSearches.TabIndex = 1
Me.GridSearches.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.ViewSearches})
'
@@ -376,16 +439,16 @@ Partial Class frmSearchFlow
TableRowDefinition1.Length.Value = 43.0R
ItemTemplate1.Rows.Add(TableRowDefinition1)
Me.ViewSearches.Templates.Add(ItemTemplate1)
- TableColumnDefinition3.Length.Value = 30.0R
+ TableColumnDefinition3.Length.Value = 35.0R
TableColumnDefinition3.PaddingRight = 5
- TableColumnDefinition4.Length.Value = 129.0R
+ TableColumnDefinition4.Length.Value = 111.0R
Me.ViewSearches.TileColumns.Add(TableColumnDefinition3)
Me.ViewSearches.TileColumns.Add(TableColumnDefinition4)
TableRowDefinition2.Length.Value = 17.0R
TableRowDefinition3.Length.Value = 45.0R
Me.ViewSearches.TileRows.Add(TableRowDefinition2)
Me.ViewSearches.TileRows.Add(TableRowDefinition3)
- TileViewItemElement3.Appearance.Normal.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ TileViewItemElement3.Appearance.Normal.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Bold)
TileViewItemElement3.Appearance.Normal.Options.UseFont = True
TileViewItemElement3.Column = Me.colName
TileViewItemElement3.ColumnIndex = 1
@@ -421,7 +484,7 @@ Partial Class frmSearchFlow
'DateEditFrom
'
Me.DateEditFrom.EditValue = Nothing
- Me.DateEditFrom.Location = New System.Drawing.Point(95, 327)
+ Me.DateEditFrom.Location = New System.Drawing.Point(95, 326)
Me.DateEditFrom.MenuManager = Me.RibbonControl1
Me.DateEditFrom.Name = "DateEditFrom"
Me.DateEditFrom.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
@@ -433,7 +496,7 @@ Partial Class frmSearchFlow
'DateEditTo
'
Me.DateEditTo.EditValue = Nothing
- Me.DateEditTo.Location = New System.Drawing.Point(95, 379)
+ Me.DateEditTo.Location = New System.Drawing.Point(95, 378)
Me.DateEditTo.MenuManager = Me.RibbonControl1
Me.DateEditTo.Name = "DateEditTo"
Me.DateEditTo.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
@@ -444,7 +507,7 @@ Partial Class frmSearchFlow
'
'CheckEdit1
'
- Me.CheckEdit1.Location = New System.Drawing.Point(4, 354)
+ Me.CheckEdit1.Location = New System.Drawing.Point(4, 353)
Me.CheckEdit1.MenuManager = Me.RibbonControl1
Me.CheckEdit1.Name = "CheckEdit1"
Me.CheckEdit1.Properties.OffText = "Datum bis deaktiviert"
@@ -455,7 +518,7 @@ Partial Class frmSearchFlow
'
'ComboBoxDateAttributes
'
- Me.ComboBoxDateAttributes.Location = New System.Drawing.Point(95, 409)
+ Me.ComboBoxDateAttributes.Location = New System.Drawing.Point(95, 408)
Me.ComboBoxDateAttributes.MenuManager = Me.RibbonControl1
Me.ComboBoxDateAttributes.Name = "ComboBoxDateAttributes"
Me.ComboBoxDateAttributes.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
@@ -481,10 +544,10 @@ Partial Class frmSearchFlow
Me.LayoutControlGroupDate2.AppearanceGroup.Options.UseBorderColor = True
Me.LayoutControlGroupDate2.BestFitWeight = 0
Me.LayoutControlGroupDate2.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem2, Me.LayoutControlItem4, Me.EmptySpaceItem1, Me.LayoutControlItem6, Me.LayoutControlItem8})
- Me.LayoutControlGroupDate2.Location = New System.Drawing.Point(0, 298)
+ Me.LayoutControlGroupDate2.Location = New System.Drawing.Point(0, 297)
Me.LayoutControlGroupDate2.Name = "LayoutControlGroupDate2"
Me.LayoutControlGroupDate2.Padding = New DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0)
- Me.LayoutControlGroupDate2.Size = New System.Drawing.Size(886, 148)
+ Me.LayoutControlGroupDate2.Size = New System.Drawing.Size(886, 149)
Me.LayoutControlGroupDate2.Text = "Eigenes Datum"
Me.LayoutControlGroupDate2.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never
'
@@ -514,7 +577,7 @@ Partial Class frmSearchFlow
Me.EmptySpaceItem1.AllowHotTrack = False
Me.EmptySpaceItem1.Location = New System.Drawing.Point(0, 112)
Me.EmptySpaceItem1.Name = "EmptySpaceItem1"
- Me.EmptySpaceItem1.Size = New System.Drawing.Size(882, 10)
+ Me.EmptySpaceItem1.Size = New System.Drawing.Size(882, 11)
Me.EmptySpaceItem1.TextSize = New System.Drawing.Size(0, 0)
'
'LayoutControlItem6
@@ -543,7 +606,7 @@ Partial Class frmSearchFlow
Me.LayoutControlGroup3.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem3})
Me.LayoutControlGroup3.Location = New System.Drawing.Point(0, 64)
Me.LayoutControlGroup3.Name = "LayoutControlGroup3"
- Me.LayoutControlGroup3.Size = New System.Drawing.Size(886, 234)
+ Me.LayoutControlGroup3.Size = New System.Drawing.Size(886, 233)
Me.LayoutControlGroup3.Text = "Meine Suchen"
'
'LayoutControlItem3
@@ -551,7 +614,7 @@ Partial Class frmSearchFlow
Me.LayoutControlItem3.Control = Me.GridSearches
Me.LayoutControlItem3.Location = New System.Drawing.Point(0, 0)
Me.LayoutControlItem3.Name = "LayoutControlItem3"
- Me.LayoutControlItem3.Size = New System.Drawing.Size(862, 188)
+ Me.LayoutControlItem3.Size = New System.Drawing.Size(862, 187)
Me.LayoutControlItem3.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem3.TextVisible = False
'
@@ -588,6 +651,8 @@ Partial Class frmSearchFlow
Me.StatusBar = Me.RibbonStatusBar1
Me.Text = "Search Flow"
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.RepositoryItemTrackBar1, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.RepositoryItemTrackBar2, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.RepositoryItemMarqueeProgressBar1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.PanelControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.PanelControl1.ResumeLayout(False)
@@ -662,5 +727,12 @@ Partial Class frmSearchFlow
Friend WithEvents RibbonPageGroup1 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents colGroupText As DevExpress.XtraGrid.Columns.TileViewColumn
Friend WithEvents btnSaveSearch As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents chkGridVertical As DevExpress.XtraBars.BarCheckItem
+ Friend WithEvents chkGridHorizontal As DevExpress.XtraBars.BarCheckItem
+ Friend WithEvents RibbonPage3 As DevExpress.XtraBars.Ribbon.RibbonPage
Friend WithEvents RibbonPageGroup3 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
+ Friend WithEvents BarEditItem1 As DevExpress.XtraBars.BarEditItem
+ Friend WithEvents RepositoryItemTrackBar1 As DevExpress.XtraEditors.Repository.RepositoryItemTrackBar
+ Friend WithEvents BarEditItem2 As DevExpress.XtraBars.BarEditItem
+ Friend WithEvents RepositoryItemTrackBar2 As DevExpress.XtraEditors.Repository.RepositoryItemTrackBar
End Class
diff --git a/GUIs.ZooFlow/Search/frmSearchFlow.vb b/GUIs.ZooFlow/Search/frmSearchFlow.vb
index a825326e..de0f56f6 100644
--- a/GUIs.ZooFlow/Search/frmSearchFlow.vb
+++ b/GUIs.ZooFlow/Search/frmSearchFlow.vb
@@ -7,6 +7,7 @@ Imports DevExpress.XtraGrid
Imports DevExpress.XtraGrid.Views.Tile
Imports DevExpress.XtraSplashScreen
Imports DigitalData.GUIs.ZooFlow.ClassConstants
+Imports DigitalData.GUIs.ZooFlow.SavedSearch
Imports DigitalData.GUIs.ZooFlow.Search
Imports DigitalData.GUIs.ZooFlow.Search.SearchToken
Imports DigitalData.Modules.Language
@@ -21,24 +22,23 @@ Public Class frmSearchFlow
Private TokenTable As DataTable = Nothing
Private FormLoading As Boolean = True
- Private TokenListDefault As New Dictionary(Of String, Object)
- Private TokenListOperands As New Dictionary(Of String, Object)
- Private TokenListAttrValues As New Dictionary(Of String, Object)
+ Private ReadOnly TokenListDefault As New Dictionary(Of String, Object)
+ Private ReadOnly TokenListOperands As New Dictionary(Of String, Object)
+ Private ReadOnly TokenListAttrValues As New Dictionary(Of String, Object)
Private Sub frmFlowSearch2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- SearchLoader = New SearchLoader(My.LogConfig, My.UIConfigManager, SvgImageCollection1)
+ SearchLoader = New SearchLoader(My.LogConfig, My.SystemConfigManager, SvgImageCollection1)
SearchRunner = New SearchRunner(My.LogConfig, My.Application.GetEnvironment, "FlowSearch") With {
.BaseSearchSQL = SQL_FLOW_SEARCH_BASE
}
+ AddHandler SearchRunner.NeedsNewSavedSearch, AddressOf SearchRunner_NewSavedSearch
+
TokenTable = GetTokenTable()
ComboBoxDateAttributes.Properties.Items.AddRange(LoadDateAttributes())
ComboBoxDateAttributes.SelectedIndex = 0
- Dim oSearchBindingList As New BindingSource() With {
- .DataSource = SearchLoader.LoadSearches()
- }
- GridSearches.DataSource = oSearchBindingList
+ GridSearches.DataSource = SearchLoader.LoadSearches()
Dim oTokens = GetTokensFromTable(Of AttributeValueToken)(TokenTable)
AddTokens(txtSearchInput, oTokens)
@@ -46,6 +46,16 @@ Public Class frmSearchFlow
ViewSearches.FocusedRowHandle = GridControl.InvalidRowHandle
FormLoading = False
+
+
+ End Sub
+
+ Private Sub SearchRunner_NewSavedSearch(sender As Object, e As EventArgs)
+ Dim oForm As New frmEditSearch With {.IsNew = True}
+ If oForm.ShowDialog() = DialogResult.OK Then
+ SearchLoader.CreateCustomSearch(oForm.Title, oForm.Description, New List(Of Token), oForm.ImageString)
+ GridSearches.DataSource = SearchLoader.LoadSearches()
+ End If
End Sub
Public Function GetTokenTable() As DataTable
@@ -55,54 +65,62 @@ Public Class frmSearchFlow
End Function
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 {"", " "}
+ Try
+ 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")
- Dim oTermId = oRow.ItemEx("TERM_ID", 0)
- Dim oAttributeTitle = oRow.Item("ATTR_TITLE")
- Dim oAttributeId = oRow.ItemEx("ATTR_ID", 0)
+ For Each oRow As DataRow In pTable.Rows
+ Dim oTermValue = oRow.Item("TERM")
+ Dim oTermId = oRow.ItemEx("TERM_ID", 0)
+ Dim oAttributeTitle = oRow.Item("ATTR_TITLE")
+ Dim oAttributeId = oRow.ItemEx("ATTR_ID", 0)
- If oTermValueBlackList.Contains(oTermValue) Then
- Continue For
- End If
+ If oTermValueBlackList.Contains(oTermValue) Then
+ Continue For
+ End If
- oTokens.Add(New T() With {
- .AttributeId = oAttributeId,
- .AttributeTitle = oAttributeTitle,
- .TermId = oTermId,
- .TermValue = oTermValue
- })
- Next
+ oTokens.Add(New T() With {
+ .AttributeId = oAttributeId,
+ .AttributeTitle = oAttributeTitle,
+ .TermId = oTermId,
+ .TermValue = oTermValue
+ })
+ Next
- Return oTokens.
- OrderBy(Function(token) token.TermValue).
- Distinct().
- ToList()
+ Return oTokens.
+ OrderBy(Function(token) token.TermValue).
+ Distinct().
+ ToList()
+
+ Catch ex As Exception
+ Logger.error(ex)
+ Return New List(Of T)
+ End Try
End Function
Private Function LoadDateAttributes() As List(Of String)
- Dim oAttributes = My.Tables.DTIDB_ATTRIBUTE.
- AsEnumerable().
- Where(Function(row) CBool(row.Item("SYS_ATTRIBUTE")) = False).
- Where(Function(row) row.Item("TYP_ID") = 5 Or row.Item("TYP_ID") = 6).
- Select(Function(row) row.Item("ATTR_TITLE")).
- Cast(Of String).
- ToList()
+ Try
+ Dim oAttributes = My.Tables.DTIDB_ATTRIBUTE.
+ AsEnumerable().
+ Where(Function(row) CBool(row.Item("SYS_ATTRIBUTE")) = False).
+ Where(Function(row) row.Item("TYP_ID") = 5 Or row.Item("TYP_ID") = 6).
+ Select(Function(row) row.Item("ATTR_TITLE")).
+ Cast(Of String).
+ ToList()
- If My.Application.User.Language = "de-DE" Then
- oAttributes.Add(IDB_ADDED_WHEN_String_German)
- Else
- oAttributes.Add(IDB_ADDED_WHEN_String_Englisch)
- End If
+ If My.Application.User.Language = "de-DE" Then
+ oAttributes.Add(IDB_ADDED_WHEN_String_German)
+ Else
+ oAttributes.Add(IDB_ADDED_WHEN_String_Englisch)
+ End If
- Return oAttributes
+ Return oAttributes
+ Catch ex As Exception
+ Logger.error(ex)
+ Return New List(Of String)
+ End Try
End Function
-
-
-
Private Function GetTokens() As IEnumerable(Of Token)
Dim oTokens = txtSearchInput.GetTokenList()
Return oTokens.Select(Of Token)(Function(token) token.Value).ToList()
@@ -115,7 +133,14 @@ Public Class frmSearchFlow
End Sub
Private Async Sub TileView1_ItemClick(sender As Object, e As TileViewItemClickEventArgs) Handles ViewSearches.ItemClick
- Await RunSearch2(GetTokens())
+ Dim oSearch = ViewSearches.GetRow(ViewSearches.FocusedRowHandle)
+
+ If TypeOf oSearch Is CustomSearch Then
+ Dim oCustomSearch As CustomSearch = oSearch
+ Await RunSearch2(oCustomSearch.Tokens)
+ Else
+ Await RunSearch2(GetTokens())
+ End If
End Sub
Private Async Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick
@@ -129,8 +154,8 @@ Public Class frmSearchFlow
Try
' If the user clicked on a Search Tile, it will set the date constraint for this search
Dim oSearch = ViewSearches.GetRow(ViewSearches.FocusedRowHandle)
- If oSearch IsNot Nothing AndAlso TypeOf oSearch Is SearchLoader.PredefinedDateSearch Then
- Dim oDateSearch As SearchLoader.PredefinedDateSearch = oSearch
+ If oSearch IsNot Nothing AndAlso TypeOf oSearch Is SavedSearch.PredefinedDateSearch Then
+ Dim oDateSearch As SavedSearch.PredefinedDateSearch = oSearch
oSearchTitle = oDateSearch.DisplayName
SearchRunner.SetDateConstraint(oDateSearch.DateConstraint)
Else
@@ -185,8 +210,6 @@ Public Class frmSearchFlow
End Try
End Function
-
-
Private Function StartUpdateUI() As IOverlaySplashScreenHandle
SetStatusBarColor(Color.FromArgb(255, 240, 240, 240), Color.Black)
Dim oHandle = SplashScreenManager.ShowOverlayForm(LayoutControl1)
@@ -269,10 +292,6 @@ Public Class frmSearchFlow
End If
End Sub
- Private Sub BarToggleSwitchItem2_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs)
-
- End Sub
-
Private Sub BarCheckItem3_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles chkDatefilter2.CheckedChanged
If chkDatefilter2.Checked Then
LayoutControlGroupDate2.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always
@@ -325,19 +344,19 @@ Public Class frmSearchFlow
FormLoading = False
End Sub
- Private Sub TileView1_CustomItemTemplate(sender As Object, e As TileViewCustomItemTemplateEventArgs) Handles ViewSearches.CustomItemTemplate
- Dim oSearch = ViewSearches.GetRow(e.RowHandle)
-
- 'If TypeOf oSearch Is PredefinedDateSearch Then
- ' e.Template = e.Templates.Item("DefaultSmall")
- 'Else
- ' e.Template = e.Templates.Item("Default")
- 'End If
- e.Template = e.Templates.Item("Default")
+ Private Sub chkGridVertical_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles chkGridVertical.CheckedChanged
+ ViewSearches.OptionsTiles.Orientation = Orientation.Vertical
End Sub
- Private Sub btnSaveSearch_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnSaveSearch.ItemClick
- SearchLoader.CreateCustomSearch("TestSearch", "Some Stuff", GetTokens(), "invoice")
- GridSearches.DataSource = SearchLoader.LoadSearches()
+ Private Sub chkGridHorizontal_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles chkGridHorizontal.CheckedChanged
+ ViewSearches.OptionsTiles.Orientation = Orientation.Horizontal
+ End Sub
+
+ Private Sub BarEditItem1_EditValueChanged(sender As Object, e As EventArgs) Handles BarEditItem1.EditValueChanged
+ ViewSearches.OptionsTiles.ColumnCount = BarEditItem1.EditValue
+ End Sub
+
+ Private Sub BarEditItem2_EditValueChanged(sender As Object, e As EventArgs) Handles BarEditItem2.EditValueChanged
+ ViewSearches.OptionsTiles.RowCount = BarEditItem2.EditValue
End Sub
End Class
\ No newline at end of file
diff --git a/GUIs.ZooFlow/ZooFlow.vbproj b/GUIs.ZooFlow/ZooFlow.vbproj
index c498953d..a2e9039b 100644
--- a/GUIs.ZooFlow/ZooFlow.vbproj
+++ b/GUIs.ZooFlow/ZooFlow.vbproj
@@ -347,6 +347,13 @@
MyDataset.xsd
+
+ frmEditSearch.vb
+
+
+ Form
+
+
Component
@@ -535,6 +542,9 @@
frmFileflow_Duplicate.vb
+
+ frmEditSearch.vb
+
frmFlowSearch.vb
@@ -1129,6 +1139,8 @@
+
+