From a7dc6166901796c0b3ce605bec99b721f04a56f3 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Thu, 28 Sep 2023 10:49:14 +0200 Subject: [PATCH] Add config items, clear documents and controls when no record id is available --- .../Classes/ClassConfig.vb | 7 +- .../Classes/Controls/ClassControlValues.vb | 4 + app/DD-Record-Organizer/ModuleMySettings.vb | 12 - app/DD-Record-Organizer/frmConfig_Basic.vb | 18 +- app/DD-Record-Organizer/frmMain.vb | 2 +- .../frmNodeNavigation.Designer.vb | 135 ++--- app/DD-Record-Organizer/frmNodeNavigation.vb | 509 ++++++++---------- 7 files changed, 321 insertions(+), 366 deletions(-) diff --git a/app/DD-Record-Organizer/Classes/ClassConfig.vb b/app/DD-Record-Organizer/Classes/ClassConfig.vb index 7a4fecf..c172bba 100644 --- a/app/DD-Record-Organizer/Classes/ClassConfig.vb +++ b/app/DD-Record-Organizer/Classes/ClassConfig.vb @@ -5,7 +5,12 @@ Public Class ClassConfig ' Global Settings (from computerconfig, overridable by userconfig) Public Property ConnectionString As String = "" + ' Misc Settings Public Property DEBUG As Boolean = False - Public Property MyFormsDesign As String = "Office 2016 Colorful" + Public Property FormsDesign As String = "Office 2016 Colorful" + + Public Property DocumentViewerSplitterWidth As Integer = 0 + Public Property TreeListSplitterWidth As Integer = 0 + Public Property DocumentSearchSplitterWidth As Integer = 0 End Class diff --git a/app/DD-Record-Organizer/Classes/Controls/ClassControlValues.vb b/app/DD-Record-Organizer/Classes/Controls/ClassControlValues.vb index 8336bb6..8e1a1ff 100644 --- a/app/DD-Record-Organizer/Classes/Controls/ClassControlValues.vb +++ b/app/DD-Record-Organizer/Classes/Controls/ClassControlValues.vb @@ -155,6 +155,10 @@ Public Class ClassControlValues Try Dim sw As New SW("LoadControlValues1") + If RecordId = 0 Then + Exit Sub + End If + 'Dim SQL As String = String.Format("SELECT * FROM VWPMO_VALUES WHERE VALUE <> '' AND RECORD_ID = {0}", RecordId) Dim SQL As String = String.Format("SELECT * FROM VWPMO_VALUES WHERE RECORD_ID = {0}", RecordId) Dim DT_ControlValues As DataTable = MYDB_ECM.GetDatatable(SQL) diff --git a/app/DD-Record-Organizer/ModuleMySettings.vb b/app/DD-Record-Organizer/ModuleMySettings.vb index be0059b..66807db 100644 --- a/app/DD-Record-Organizer/ModuleMySettings.vb +++ b/app/DD-Record-Organizer/ModuleMySettings.vb @@ -10,7 +10,6 @@ Module ModuleMySettings Dim ConfigPath As String = Path.Combine(Application.UserAppDataPath(), "UserConfig2.xml") Public MyConnectionString As String = "" - Public MyFormsDesign As String = "" Public DEBUG As Boolean = False Public Sett_TaskOverviewKeepInFront As Boolean = True @@ -221,10 +220,6 @@ Module ModuleMySettings Else MY_ADDON_PATH = Row.Item("Value") End If - Case "MyFormsDesign" - If Row.Item("Value") <> String.Empty Then - MyFormsDesign = Row.Item("Value") - End If Case "GridDocResult_BestFitColumns" GridDocResult_BestFitColumns = CBool(Row.Item("Value")) @@ -280,13 +275,6 @@ Module ModuleMySettings DT.Rows.Add(newRow) DT.WriteXml(ConfigPath) End If - If rowresult.Contains("MyFormsDesign") = False Then - Dim newRow As DataRow = DT.NewRow() - newRow("ConfigName") = "MyFormsDesign" - newRow("Value") = "" - DT.Rows.Add(newRow) - DT.WriteXml(ConfigPath) - End If If rowresult.Contains("GridDocResult_BestFitColumns") = False Then Dim newRow As DataRow = DT.NewRow() newRow("ConfigName") = "GridDocResult_BestFitColumns" diff --git a/app/DD-Record-Organizer/frmConfig_Basic.vb b/app/DD-Record-Organizer/frmConfig_Basic.vb index 3630ee9..7c955af 100644 --- a/app/DD-Record-Organizer/frmConfig_Basic.vb +++ b/app/DD-Record-Organizer/frmConfig_Basic.vb @@ -165,7 +165,7 @@ Public Class frmConfig_Basic cmbConstructor.Enabled = False End If - cmbDesign.Text = MyFormsDesign + cmbDesign.Text = CONFIG.Config.FormsDesign 'Catch ex As Exception ' MsgBox("Fehler in FormLoad: " & vbNewLine & ex.Message, MsgBoxStyle.Critical) @@ -536,23 +536,19 @@ Public Class frmConfig_Basic Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click If cmbDesign.SelectedIndex <> -1 Then UserLookAndFeel.Default.SetSkinStyle(cmbDesign.Text) - SaveMySettingsValue("MyFormsDesign", cmbDesign.Text, "ConfigMain") + CONFIG.Config.FormsDesign = cmbDesign.Text + CONFIG.Save() End If - - End Sub - - Private Sub cmbLanguage_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbLanguage.SelectedIndexChanged - End Sub Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click - Dim exists + Dim oExists = False If rbUser.Checked Then - exists = clsWD_GET.WM_USER_EXISTS(txtObjectExists.Text) + oExists = clsWD_GET.WM_USER_EXISTS(txtObjectExists.Text) ElseIf rbGruppe.Checked Then - exists = clsWD_GET.WM_GROUP_EXISTS(txtObjectExists.Text) + oExists = clsWD_GET.WM_GROUP_EXISTS(txtObjectExists.Text) End If - If exists = True Then + If oExists = True Then MsgBox("Object exists in windream!") Else MsgBox("Object is not existing in windream!", MsgBoxStyle.Critical) diff --git a/app/DD-Record-Organizer/frmMain.vb b/app/DD-Record-Organizer/frmMain.vb index 1ddc510..59d87fb 100644 --- a/app/DD-Record-Organizer/frmMain.vb +++ b/app/DD-Record-Organizer/frmMain.vb @@ -72,7 +72,7 @@ Public Class frmMain ClassWindowLocation.LoadFormLocationSize(Me, 1, CURRENT_SCREEN_ID, "frmMain") Dim i = My.Application.UICulture.ToString() - UserLookAndFeel.Default.SetSkinStyle(MyFormsDesign) + UserLookAndFeel.Default.SetSkinStyle(CONFIG.Config.FormsDesign) ' GetIPv4Address() diff --git a/app/DD-Record-Organizer/frmNodeNavigation.Designer.vb b/app/DD-Record-Organizer/frmNodeNavigation.Designer.vb index b040e80..47038f3 100644 --- a/app/DD-Record-Organizer/frmNodeNavigation.Designer.vb +++ b/app/DD-Record-Organizer/frmNodeNavigation.Designer.vb @@ -51,10 +51,9 @@ Partial Class frmNodeNavigation Me.RPGNodes = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar() Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage() - Me.SplitContainerMain = New DevExpress.XtraEditors.SplitContainerControl() + Me.SplitContainerTreeList = New DevExpress.XtraEditors.SplitContainerControl() Me.TreeListDevexpress = New DevExpress.XtraTreeList.TreeList() Me.ImageCollection1 = New DevExpress.Utils.ImageCollection(Me.components) - Me.SplitContainer1 = New System.Windows.Forms.SplitContainer() Me.pnlControls = New System.Windows.Forms.Panel() Me.GridControlDocSearch = New DevExpress.XtraGrid.GridControl() Me.GridViewDoc_Search = New DevExpress.XtraGrid.Views.Grid.GridView() @@ -78,6 +77,7 @@ Partial Class frmNodeNavigation Me.tsmiFileRenameFilename = New System.Windows.Forms.ToolStripMenuItem() Me.tsmiFileRenameDisplayname = New System.Windows.Forms.ToolStripMenuItem() Me.tsmiFileVersion = New System.Windows.Forms.ToolStripMenuItem() + Me.DokumentartÄndernToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.tsmiFileRightsShow = New System.Windows.Forms.ToolStripMenuItem() Me.ToolStripSeparator4 = New System.Windows.Forms.ToolStripSeparator() Me.tsmiFileDelete = New System.Windows.Forms.ToolStripMenuItem() @@ -85,20 +85,16 @@ Partial Class frmNodeNavigation Me.TimerClearResultfiles = New System.Windows.Forms.Timer(Me.components) Me.SplitContainerDocView = New DevExpress.XtraEditors.SplitContainerControl() Me.DocumentViewer = New DigitalData.Controls.DocumentViewer.DocumentViewer() - Me.DokumentartÄndernToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.SplitContainerDocumentSearch = New DevExpress.XtraEditors.SplitContainerControl() CType(Me.ribbonNodeNavigation, System.ComponentModel.ISupportInitialize).BeginInit() - CType(Me.SplitContainerMain, System.ComponentModel.ISupportInitialize).BeginInit() - CType(Me.SplitContainerMain.Panel1, System.ComponentModel.ISupportInitialize).BeginInit() - Me.SplitContainerMain.Panel1.SuspendLayout() - CType(Me.SplitContainerMain.Panel2, System.ComponentModel.ISupportInitialize).BeginInit() - Me.SplitContainerMain.Panel2.SuspendLayout() - Me.SplitContainerMain.SuspendLayout() + CType(Me.SplitContainerTreeList, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.SplitContainerTreeList.Panel1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainerTreeList.Panel1.SuspendLayout() + CType(Me.SplitContainerTreeList.Panel2, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainerTreeList.Panel2.SuspendLayout() + Me.SplitContainerTreeList.SuspendLayout() CType(Me.TreeListDevexpress, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.ImageCollection1, System.ComponentModel.ISupportInitialize).BeginInit() - CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).BeginInit() - Me.SplitContainer1.Panel1.SuspendLayout() - Me.SplitContainer1.Panel2.SuspendLayout() - Me.SplitContainer1.SuspendLayout() CType(Me.GridControlDocSearch, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.GridViewDoc_Search, System.ComponentModel.ISupportInitialize).BeginInit() Me.cmsResultFilesBasic.SuspendLayout() @@ -109,6 +105,12 @@ Partial Class frmNodeNavigation CType(Me.SplitContainerDocView.Panel2, System.ComponentModel.ISupportInitialize).BeginInit() Me.SplitContainerDocView.Panel2.SuspendLayout() Me.SplitContainerDocView.SuspendLayout() + CType(Me.SplitContainerDocumentSearch, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.SplitContainerDocumentSearch.Panel1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainerDocumentSearch.Panel1.SuspendLayout() + CType(Me.SplitContainerDocumentSearch.Panel2, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainerDocumentSearch.Panel2.SuspendLayout() + Me.SplitContainerDocumentSearch.SuspendLayout() Me.SuspendLayout() ' 'ribbonNodeNavigation @@ -316,24 +318,24 @@ Partial Class frmNodeNavigation Me.RibbonPage2.Name = "RibbonPage2" Me.RibbonPage2.Text = "RibbonPage2" ' - 'SplitContainerMain + 'SplitContainerTreeList ' - Me.SplitContainerMain.Dock = System.Windows.Forms.DockStyle.Fill - Me.SplitContainerMain.Location = New System.Drawing.Point(0, 0) - Me.SplitContainerMain.Name = "SplitContainerMain" + Me.SplitContainerTreeList.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainerTreeList.Location = New System.Drawing.Point(0, 0) + Me.SplitContainerTreeList.Name = "SplitContainerTreeList" ' - 'SplitContainerMain.Panel1 + 'SplitContainerTreeList.Panel1 ' - Me.SplitContainerMain.Panel1.Controls.Add(Me.TreeListDevexpress) - Me.SplitContainerMain.Panel1.Text = "Panel1" + Me.SplitContainerTreeList.Panel1.Controls.Add(Me.TreeListDevexpress) + Me.SplitContainerTreeList.Panel1.Text = "Panel1" ' - 'SplitContainerMain.Panel2 + 'SplitContainerTreeList.Panel2 ' - Me.SplitContainerMain.Panel2.Controls.Add(Me.SplitContainer1) - Me.SplitContainerMain.Panel2.Text = "Panel2" - Me.SplitContainerMain.Size = New System.Drawing.Size(1297, 510) - Me.SplitContainerMain.SplitterPosition = 289 - Me.SplitContainerMain.TabIndex = 2 + Me.SplitContainerTreeList.Panel2.Controls.Add(Me.SplitContainerDocumentSearch) + Me.SplitContainerTreeList.Panel2.Text = "Panel2" + Me.SplitContainerTreeList.Size = New System.Drawing.Size(1297, 510) + Me.SplitContainerTreeList.SplitterPosition = 289 + Me.SplitContainerTreeList.TabIndex = 2 ' 'TreeListDevexpress ' @@ -377,25 +379,6 @@ Partial Class frmNodeNavigation ' Me.ImageCollection1.ImageStream = CType(resources.GetObject("ImageCollection1.ImageStream"), DevExpress.Utils.ImageCollectionStreamer) ' - 'SplitContainer1 - ' - Me.SplitContainer1.AllowDrop = True - Me.SplitContainer1.Dock = System.Windows.Forms.DockStyle.Fill - Me.SplitContainer1.Location = New System.Drawing.Point(0, 0) - Me.SplitContainer1.Name = "SplitContainer1" - Me.SplitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal - ' - 'SplitContainer1.Panel1 - ' - Me.SplitContainer1.Panel1.Controls.Add(Me.pnlControls) - ' - 'SplitContainer1.Panel2 - ' - Me.SplitContainer1.Panel2.Controls.Add(Me.GridControlDocSearch) - Me.SplitContainer1.Size = New System.Drawing.Size(998, 510) - Me.SplitContainer1.SplitterDistance = 163 - Me.SplitContainer1.TabIndex = 0 - ' 'pnlControls ' Me.pnlControls.AllowDrop = True @@ -403,7 +386,7 @@ Partial Class frmNodeNavigation Me.pnlControls.Dock = System.Windows.Forms.DockStyle.Fill Me.pnlControls.Location = New System.Drawing.Point(0, 0) Me.pnlControls.Name = "pnlControls" - Me.pnlControls.Size = New System.Drawing.Size(998, 163) + Me.pnlControls.Size = New System.Drawing.Size(998, 246) Me.pnlControls.TabIndex = 0 ' 'GridControlDocSearch @@ -416,7 +399,7 @@ Partial Class frmNodeNavigation Me.GridControlDocSearch.Location = New System.Drawing.Point(0, 0) Me.GridControlDocSearch.MainView = Me.GridViewDoc_Search Me.GridControlDocSearch.Name = "GridControlDocSearch" - Me.GridControlDocSearch.Size = New System.Drawing.Size(998, 343) + Me.GridControlDocSearch.Size = New System.Drawing.Size(998, 254) Me.GridControlDocSearch.TabIndex = 8 Me.GridControlDocSearch.TabStop = False Me.GridControlDocSearch.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewDoc_Search}) @@ -475,7 +458,7 @@ Partial Class frmNodeNavigation ' Me.cmsResultFileDetail.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsmiFileProperties, Me.ToolStripSeparator5, Me.tsmiFileOpen, Me.tsmiFileFolderOpen, Me.ToolStripSeparator1, Me.tsmiFileInWork, Me.ToolStripSeparator3, Me.tsmiFileLink_Add, Me.tsmiFileLink_ShowAll, Me.tsmiFileLinkRemove, Me.ToolStripSeparator2, Me.tsmiFileRename, Me.tsmiFileVersion, Me.DokumentartÄndernToolStripMenuItem, Me.tsmiFileRightsShow, Me.ToolStripSeparator4, Me.tsmiFileDelete}) Me.cmsResultFileDetail.Name = "ContextMenuStripResultFiles" - Me.cmsResultFileDetail.Size = New System.Drawing.Size(240, 320) + Me.cmsResultFileDetail.Size = New System.Drawing.Size(240, 298) ' 'tsmiFileProperties ' @@ -572,6 +555,12 @@ Partial Class frmNodeNavigation Me.tsmiFileVersion.Size = New System.Drawing.Size(239, 22) Me.tsmiFileVersion.Text = "Datei versionieren" ' + 'DokumentartÄndernToolStripMenuItem + ' + Me.DokumentartÄndernToolStripMenuItem.Name = "DokumentartÄndernToolStripMenuItem" + Me.DokumentartÄndernToolStripMenuItem.Size = New System.Drawing.Size(239, 22) + Me.DokumentartÄndernToolStripMenuItem.Text = "Dokumentart ändern" + ' 'tsmiFileRightsShow ' Me.tsmiFileRightsShow.Image = CType(resources.GetObject("tsmiFileRightsShow.Image"), System.Drawing.Image) @@ -609,7 +598,7 @@ Partial Class frmNodeNavigation ' 'SplitContainerDocView.Panel1 ' - Me.SplitContainerDocView.Panel1.Controls.Add(Me.SplitContainerMain) + Me.SplitContainerDocView.Panel1.Controls.Add(Me.SplitContainerTreeList) Me.SplitContainerDocView.Panel1.Text = "Panel1" ' 'SplitContainerDocView.Panel2 @@ -629,11 +618,25 @@ Partial Class frmNodeNavigation Me.DocumentViewer.Size = New System.Drawing.Size(0, 0) Me.DocumentViewer.TabIndex = 0 ' - 'DokumentartÄndernToolStripMenuItem + 'SplitContainerDocumentSearch ' - Me.DokumentartÄndernToolStripMenuItem.Name = "DokumentartÄndernToolStripMenuItem" - Me.DokumentartÄndernToolStripMenuItem.Size = New System.Drawing.Size(239, 22) - Me.DokumentartÄndernToolStripMenuItem.Text = "Dokumentart ändern" + Me.SplitContainerDocumentSearch.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainerDocumentSearch.Horizontal = False + Me.SplitContainerDocumentSearch.Location = New System.Drawing.Point(0, 0) + Me.SplitContainerDocumentSearch.Name = "SplitContainerDocumentSearch" + ' + 'SplitContainerDocumentSearch.SplitContainerDocumentSearch_Panel1 + ' + Me.SplitContainerDocumentSearch.Panel1.Controls.Add(Me.pnlControls) + Me.SplitContainerDocumentSearch.Panel1.Text = "Panel1" + ' + 'SplitContainerDocumentSearch.SplitContainerDocumentSearch_Panel2 + ' + Me.SplitContainerDocumentSearch.Panel2.Controls.Add(Me.GridControlDocSearch) + Me.SplitContainerDocumentSearch.Panel2.Text = "Panel2" + Me.SplitContainerDocumentSearch.Size = New System.Drawing.Size(998, 510) + Me.SplitContainerDocumentSearch.SplitterPosition = 246 + Me.SplitContainerDocumentSearch.TabIndex = 1 ' 'frmNodeNavigation ' @@ -649,18 +652,14 @@ Partial Class frmNodeNavigation Me.StatusBar = Me.RibbonStatusBar1 Me.Text = "frmNodeNavigation" CType(Me.ribbonNodeNavigation, System.ComponentModel.ISupportInitialize).EndInit() - CType(Me.SplitContainerMain.Panel1, System.ComponentModel.ISupportInitialize).EndInit() - Me.SplitContainerMain.Panel1.ResumeLayout(False) - CType(Me.SplitContainerMain.Panel2, System.ComponentModel.ISupportInitialize).EndInit() - Me.SplitContainerMain.Panel2.ResumeLayout(False) - CType(Me.SplitContainerMain, System.ComponentModel.ISupportInitialize).EndInit() - Me.SplitContainerMain.ResumeLayout(False) + CType(Me.SplitContainerTreeList.Panel1, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainerTreeList.Panel1.ResumeLayout(False) + CType(Me.SplitContainerTreeList.Panel2, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainerTreeList.Panel2.ResumeLayout(False) + CType(Me.SplitContainerTreeList, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainerTreeList.ResumeLayout(False) CType(Me.TreeListDevexpress, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.ImageCollection1, System.ComponentModel.ISupportInitialize).EndInit() - Me.SplitContainer1.Panel1.ResumeLayout(False) - Me.SplitContainer1.Panel2.ResumeLayout(False) - CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).EndInit() - Me.SplitContainer1.ResumeLayout(False) CType(Me.GridControlDocSearch, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.GridViewDoc_Search, System.ComponentModel.ISupportInitialize).EndInit() Me.cmsResultFilesBasic.ResumeLayout(False) @@ -671,6 +670,12 @@ Partial Class frmNodeNavigation Me.SplitContainerDocView.Panel2.ResumeLayout(False) CType(Me.SplitContainerDocView, System.ComponentModel.ISupportInitialize).EndInit() Me.SplitContainerDocView.ResumeLayout(False) + CType(Me.SplitContainerDocumentSearch.Panel1, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainerDocumentSearch.Panel1.ResumeLayout(False) + CType(Me.SplitContainerDocumentSearch.Panel2, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainerDocumentSearch.Panel2.ResumeLayout(False) + CType(Me.SplitContainerDocumentSearch, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainerDocumentSearch.ResumeLayout(False) Me.ResumeLayout(False) Me.PerformLayout() @@ -681,8 +686,7 @@ Partial Class frmNodeNavigation Friend WithEvents RibbonPageGroupRecord As DevExpress.XtraBars.Ribbon.RibbonPageGroup Friend WithEvents RibbonStatusBar1 As DevExpress.XtraBars.Ribbon.RibbonStatusBar Friend WithEvents RibbonPage2 As DevExpress.XtraBars.Ribbon.RibbonPage - Friend WithEvents SplitContainerMain As DevExpress.XtraEditors.SplitContainerControl - Friend WithEvents SplitContainer1 As SplitContainer + Friend WithEvents SplitContainerTreeList As DevExpress.XtraEditors.SplitContainerControl Friend WithEvents ImageCollection1 As DevExpress.Utils.ImageCollection Friend WithEvents TreeListDevexpress As DevExpress.XtraTreeList.TreeList Friend WithEvents bbtnitmRecEdit As DevExpress.XtraBars.BarButtonItem @@ -737,4 +741,5 @@ Partial Class frmNodeNavigation Friend WithEvents checkShowPreview As DevExpress.XtraBars.BarCheckItem Friend WithEvents btnCreateNewNode As DevExpress.XtraBars.BarButtonItem Friend WithEvents DokumentartÄndernToolStripMenuItem As ToolStripMenuItem + Friend WithEvents SplitContainerDocumentSearch As DevExpress.XtraEditors.SplitContainerControl End Class diff --git a/app/DD-Record-Organizer/frmNodeNavigation.vb b/app/DD-Record-Organizer/frmNodeNavigation.vb index 834258c..40e9519 100644 --- a/app/DD-Record-Organizer/frmNodeNavigation.vb +++ b/app/DD-Record-Organizer/frmNodeNavigation.vb @@ -18,64 +18,57 @@ Imports DigitalData.Modules.Database Public Class frmNodeNavigation #Region "Laufzeitvariablen & Konstanten" - Private DT_STRUCTURE_NODES As DataTable - Private DT_ADDING_USERS As DataTable - Private DT_VWPMO_CONSTRUCTOR_FORMS As DataTable - Private RunningTask As Task - Private RunningTaskTokenSource As New CancellationTokenSource - Private RunningTaskToken = RunningTaskTokenSource.Token - Private _EntityId As Short - Private oConstructID As Short - Private CONSTRUCTORID As Integer - Private CONSTRUCTOR_DETAIL_ID As Short - Private _FilterActive As Boolean = False - Private _RowReadOnly As Boolean = False - Private ADD_RECORDS_CONSTR As Boolean = True - Private TV_Collapse_ExpandState = "Collapse" - - Private WindowsEx As WindowsEx - - Private DT_CONTROLS_ENTITY As DataTable - Private DT_COLUMNS_GRID_ENTITY As DataTable - Private DT_DOCRESULT_DROPDOWN_ITEMS As DataTable - Private DT_RESULTLIST_OPTIONS As DataTable - Private DT_RESULTLIST_VARIABLE_VALUE As DataTable - Private DT_ENTITY_DATA As DataTable - Private DT_TBPMO_FORM_VIEW As DataTable - Private DT_CONSTRUCT_VIEW As DataTable - Private COUNT_RO_CONTROLS As Integer = 0 - Private SELECTED_NODE_RECORD_ID As Integer - Private SELECTED_NODE_CAPTION As String - Private ENTITY_RECORD_COUNT As Integer = 0 - Private FORMVIEW_ID As Integer - Private FORM_LOADED As Boolean = False - Private FORM_SHOWN As Boolean = False - Private SAVE_ROUTINE_ACTIVE As Boolean = False - - Private ENTITY_LOADING_PROCESS As Boolean = False - Private RECORD_ENABLED As Boolean = False - Private BACKGROUND_HELPER As ClassBackgroundHelper - Private Node_AfterSelect As Boolean = False - Private EDIT_STATE As EditState = EditState.None - Private POS_ENABLED As Boolean = False - Private ERROR_WHILE_SAVING As Boolean = False - Private taskToken As CancellationTokenSource - Private IW_USER As String - Private IW_COMMENT As String - Private INWORK_FILE As Boolean - Private CONTROL_DOCTYPE_MATCH As Integer = 0 - Private FocusedNode As TreeListNode - Private MyTreeListViewState As ClassTreeListViewState - - Private AvailableConfigNodes As New List(Of frmNewNode.NodeConfig) - Private CurrentNodeConfigId As Integer = 0 - - Private DocList As ClassWindreamDocGrid + Private Property DT_STRUCTURE_NODES As DataTable + Private Property DT_ADDING_USERS As DataTable + Private Property DT_VWPMO_CONSTRUCTOR_FORMS As DataTable + Private Property RunningTaskTokenSource As New CancellationTokenSource + Private Property _EntityId As Short + Private Property oConstructID As Short + Private Property CONSTRUCTORID As Integer + Private Property CONSTRUCTOR_DETAIL_ID As Short + Private Property _RowReadOnly As Boolean = False + Private Property ADD_RECORDS_CONSTR As Boolean = True + Private Property TV_Collapse_ExpandState = "Collapse" + + Private Property WindowsEx As WindowsEx + + Private Property DT_CONTROLS_ENTITY As DataTable + Private Property DT_COLUMNS_GRID_ENTITY As DataTable + Private Property DT_DOCRESULT_DROPDOWN_ITEMS As DataTable + Private Property DT_RESULTLIST_OPTIONS As DataTable + Private Property DT_RESULTLIST_VARIABLE_VALUE As DataTable + Private Property DT_ENTITY_DATA As DataTable + Private Property DT_TBPMO_FORM_VIEW As DataTable + Private Property DT_CONSTRUCT_VIEW As DataTable + Private Property COUNT_RO_CONTROLS As Integer = 0 + Private Property SELECTED_NODE_RECORD_ID As Integer + Private Property SELECTED_NODE_CAPTION As String + Private Property FORMVIEW_ID As Integer + Private Property FORM_LOADED As Boolean = False + Private Property FORM_SHOWN As Boolean = False + Private Property SAVE_ROUTINE_ACTIVE As Boolean = False + + Private Property ENTITY_LOADING_PROCESS As Boolean = False + Private Property RECORD_ENABLED As Boolean = False + Private Property Node_AfterSelect As Boolean = False + Private Property EDIT_STATE As EditState = EditState.None + Private Property ERROR_WHILE_SAVING As Boolean = False + Private Property IW_USER As String + Private Property IW_COMMENT As String + Private Property INWORK_FILE As Boolean + Private Property CONTROL_DOCTYPE_MATCH As Integer = 0 + Private Property FocusedNode As TreeListNode + Private Property MyTreeListViewState As ClassTreeListViewState + + Private Property AvailableConfigNodes As New List(Of frmNewNode.NodeConfig) + Private Property CurrentNodeConfigId As Integer = 0 + + Private Property DocList As ClassWindreamDocGrid Public CtrlBuilder As ClassControlBuilder Public CtrlCommandUI As ClassControlCommandsUI - Private ClassNodeCommands As ClassNodeCommands + Private Property ClassNodeCommands As ClassNodeCommands Private Debug As Boolean = False @@ -101,20 +94,13 @@ Public Class frmNodeNavigation ClassNodeCommands = New ClassNodeCommands(LOGCONFIG, MYDB_ECM) End Sub - Private Function Get_Splitter_Layout_Filename() - Dim Filename As String = String.Format("{0}-{1}-SplitterLayout.xml", CONSTRUCTOR_DETAIL_ID, CONSTRUCTOR_DETAIL_ID.ToString) - Return Path.Combine(Application.UserAppDataPath(), Filename) - End Function - Sub Save_Splitter_Layout() Try - Dim XMLPath = Get_Splitter_Layout_Filename() - Dim layout As New ClassLayout(XMLPath) - Dim settings As New List(Of ClassSetting) From { - New ClassSetting("SplitViewDetailsSplitterPosition", SplitContainer1.SplitterDistance), - New ClassSetting("SplitViewMainSplitterPosition", SplitContainerMain.SplitterPosition) - } - layout.Save(settings) + + CONFIG.Config.TreeListSplitterWidth = SplitContainerTreeList.SplitterPosition + CONFIG.Config.DocumentViewerSplitterWidth = SplitContainerDocView.SplitterPosition + CONFIG.Config.DocumentSearchSplitterWidth = SplitContainerDocumentSearch.SplitterPosition + Catch ex As Exception ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", ex.Message, ex.StackTrace) End Try @@ -122,31 +108,17 @@ Public Class frmNodeNavigation Sub Load_Splitter_Layout() Try - Dim XMLPath As String = Get_Splitter_Layout_Filename() - Dim layout As New ClassLayout(XMLPath) - Dim settings As System.Collections.Generic.List(Of ClassSetting) - settings = layout.Load() - - 'If settings.Count = 0 Then - ' settings.Add(New ClassSetting("SplitViewTopSplitterPosition", SplitContainerTop.SplitterPosition)) - ' If CONSTRUCTOR_DETAIL_ID > 0 Then - ' settings.Add(New ClassSetting("SplitViewMainSplitterPosition_" & CONSTRUCTOR_DETAIL_ID.ToString, SplitContainerMain.SplitterPosition)) - ' Else - ' settings.Add(New ClassSetting("SplitViewMainSplitterPosition_0", SplitContainerMain.SplitterPosition)) - ' End If + If CONFIG.Config.TreeListSplitterWidth > 0 Then + SplitContainerTreeList.SplitterPosition = CONFIG.Config.TreeListSplitterWidth + End If - ' settings.Add(New ClassSetting("SplitViewDetailsSplitterPosition_" & CONSTRUCTOR_DETAIL_ID.ToString, SplitContainerDetails.SplitterPosition)) - ' layout.Save(settings) - 'End If + If CONFIG.Config.DocumentViewerSplitterWidth > 0 Then + SplitContainerDocView.SplitterPosition = CONFIG.Config.DocumentViewerSplitterWidth + End If - For Each setting As ClassSetting In settings - Select Case setting._name - Case "SplitViewMainSplitterPosition" - SplitContainerMain.SplitterPosition = Integer.Parse(setting._value) - Case "SplitViewDetailsSplitterPosition" - SplitContainer1.SplitterDistance = Integer.Parse(setting._value) - End Select - Next + If CONFIG.Config.DocumentSearchSplitterWidth > 0 Then + SplitContainerDocumentSearch.SplitterPosition = CONFIG.Config.DocumentSearchSplitterWidth + End If Catch ex As Exception ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", ex.Message, ex.StackTrace) End Try @@ -326,6 +298,8 @@ Public Class frmNodeNavigation Dim oNodeId = e.Node.Id Console.Write($"Node ID: {oNodeId}") + + Dim oRowObject = TreeListDevexpress.GetRow(oNodeId) If TypeOf oRowObject IsNot DataRowView Then @@ -346,6 +320,11 @@ Public Class frmNodeNavigation Dim oIsConfigNode = (oNodeConfigId = 1000) Dim oParentNode = e.Node.ParentNode + CURRENT_NODE_GUID = oNodeId + CURRENT_RECORD_ID = oRecordId + CURRENT_ENTITY_ID = _EntityId + SELECTED_NODE_CAPTION = oNodeCaption + ' BEGIN NEW NODE Dim oConfigNodeChildren = FocusedNode.Nodes.Where(Function(n) n.Item("TYPE_NODE") = 1000) Dim oHasConfigNodeChildren = oConfigNodeChildren.Any() @@ -370,24 +349,12 @@ Public Class frmNodeNavigation If oHasRecordId Then Update_Status_Label(True, $"NodeGUID {oGuid} - RecordID {oRecordId}", EditState.None) - Else - Update_Status_Label(True, $"NodeGUID {oGuid}", EditState.None) - End If - If oHasRecordId Then - 'oNodeInfo += $" - RecordID {oRecordId}" Node_AfterSelect = True - 'Dim sw As New SW("TreeViewMain_AfterSelect1") - ' Dim swAll As New SW("TreeViewMain_AfterSelect") - DisableEditMode() - - ' ClassNodeNavigation.Check_NODE_CONFIG_ID(oEntityID, SelectedNode) - CURRENT_RECORD_ID = oRecordId ClassHelper.GetDocrecordLinks(CURRENT_RECORD_ID) - CURRENT_ENTITY_ID = _EntityId - CURRENT_NODE_GUID = oNodeId - SELECTED_NODE_CAPTION = oNodeCaption + + CURRENT_SEARCH_TYPE = "RECORD" DisableEditMode() ' muss vor show selected record data kommen, @@ -397,33 +364,30 @@ Public Class frmNodeNavigation CtrlBuilder.WatchRecordChanges = True Await Show_Selected_Record_Data(CURRENT_RECORD_ID) - ClassRightManagement.Check_Set_Rights(CURRENT_RECORD_ID, _EntityId) CONTROL_HANDLING() - - If CURRENT_RECORD_ID > 0 Then - If RIGHT_RECORD_AND_FILE_READ_ONLY = False And CtrlCommandUI.IsInsert = False Then - If DT_CONTROLS_ENTITY.Rows.Count = COUNT_RO_CONTROLS Then - bbtnitmRecEdit.Enabled = False - bbtnitmRecSave.Enabled = False - Else - bbtnitmRecEdit.Enabled = True - In_Visible_Record_Group(True) - End If - - End If - If RIGHT_RECORD_AND_FILE_READ_ONLY = True Then + If RIGHT_RECORD_AND_FILE_READ_ONLY = False And CtrlCommandUI.IsInsert = False Then + If DT_CONTROLS_ENTITY.Rows.Count = COUNT_RO_CONTROLS Then bbtnitmRecEdit.Enabled = False bbtnitmRecSave.Enabled = False - btnCreateNewNode.Enabled = False Else bbtnitmRecEdit.Enabled = True In_Visible_Record_Group(True) - btnCreateNewNode.Enabled = True End If End If + + If RIGHT_RECORD_AND_FILE_READ_ONLY = True Then + bbtnitmRecEdit.Enabled = False + bbtnitmRecSave.Enabled = False + btnCreateNewNode.Enabled = False + Else + bbtnitmRecEdit.Enabled = True + In_Visible_Record_Group(True) + btnCreateNewNode.Enabled = True + End If + If RIGHT_READ_ONLY_DOC = False Then Doc_ReadOnlyHandler(True) @@ -438,9 +402,89 @@ Public Class frmNodeNavigation 'swAll.Done() Node_AfterSelect = False + Else + Update_Status_Label(True, $"NodeGUID {oGuid}", EditState.None) + + ClassControlValues.ClearControlValues(pnlControls.Controls) + + Await Show_Selected_Record_Data(0) End If End Sub + Public Sub Update_Document_Label(pDocumentCount As Integer) + Dim oMessage + + If pDocumentCount = 0 Then + oMessage = "Keine Dateien für '" + + If CURRENT_SEARCH_TYPE = "ENTITY" Then + oMessage &= " Entität gefunden" + If USER_LANGUAGE <> "de-DE" Then + oMessage = "No files found for entity: " + End If + + ElseIf CURRENT_SEARCH_TYPE = "RECORD" Then + + oMessage &= SELECTED_NODE_CAPTION & "' gefunden" + If USER_LANGUAGE <> "de-DE" Then + oMessage = "No files found for object '" & SELECTED_NODE_CAPTION & "'" + End If + + If USER_LANGUAGE <> "de-DE" Then + oMessage = "No files found for record " & SELECTED_NODE_RECORD_ID + End If + + ElseIf CURRENT_SEARCH_TYPE = "NODE_DOWN" Then + oMessage = "Keine Dateien für Knotenunterstruktur gefunden" + If USER_LANGUAGE <> "de-DE" Then + oMessage = "No files found in Node-Substructure" + End If + + Else + oMessage = "Keine Dateien für Volltextsuche (" & CURRENT_FULLTEXT_PATTERN & ") gefunden" + If USER_LANGUAGE <> "de-DE" Then + oMessage = "No files found for fulltext-search (" & CURRENT_FULLTEXT_PATTERN & ")" + End If + + End If + Else + oMessage = "Dateien für Record: " & SELECTED_NODE_RECORD_ID + + If CURRENT_SEARCH_TYPE = "ENTITY" Then + + oMessage = "Dateien für Entität: " + If USER_LANGUAGE <> "de-DE" Then + oMessage = "files for entity: " + End If + oMessage &= " (" & pDocumentCount.ToString & ")" + + ElseIf CURRENT_SEARCH_TYPE = "RECORD" Then + oMessage = String.Format("Dateien für Objekt '{0}' ", SELECTED_NODE_CAPTION) + If USER_LANGUAGE <> "de-DE" Then + oMessage = String.Format("Files for Object '{0}'", SELECTED_NODE_CAPTION) + End If + oMessage &= " (" & pDocumentCount.ToString & ")" + + ElseIf CURRENT_SEARCH_TYPE = "NODE_DOWN" Then + oMessage = "Dateien für Knotenunterstruktur" + If USER_LANGUAGE <> "de-DE" Then + oMessage = "files found in Node-Substructure" + End If + oMessage &= " (" & pDocumentCount.ToString & ")" + + Else + oMessage = String.Format("Ergebnis der Volltextsuche") + If USER_LANGUAGE <> "de-DE" Then + oMessage = String.Format("Result of Fulltext-Search") + End If + oMessage &= " (" & pDocumentCount.ToString & ")" + + End If + End If + + GridViewDoc_Search.ViewCaption = oMessage + End Sub + Public Sub Update_Status_Label(visible As Boolean, Optional text As String = "", Optional state As EditState = EditState.None) bsiInfo.Caption = text If visible = True Then @@ -658,13 +702,9 @@ Public Class frmNodeNavigation Dim QuickViewSQL = query.Single().Item("SQL_QUICK_VIEW") CURRENT_ENTITYSQL = Get_Grid_Sql_NODE_NAV(CONSTRUCTORID, _EntityId, CURRENT_CONSTRUCTOR_DETAIL_ID, USER_GUID) - ' CURRENT_ENTITYSQL = GridSQL - 'Anzahl der Datensätze - ENTITY_RECORD_COUNT = MYDB_ECM.GetScalarValue("SELECT COUNT(*) FROM TBPMO_RECORD where PARENT_RECORD = 0 AND FORM_ID = " & _EntityId) ClassDOC_SEARCH.Get_DOC_RESULTTABLE(DT_RESULTLIST_OPTIONS, DT_RESULTLIST_VARIABLE_VALUE, DT_COLUMNS_GRID_ENTITY, _EntityId, SELECTED_NODE_RECORD_ID, True, True) - DT_TBPMO_FORM_VIEW = ClassHelper.FILTER_DATATABLE(CURRENT_TBPMO_FORM_VIEW, "FORM_ID = " & _EntityId & " AND SCREEN_ID = " & CURRENT_SCREEN_ID, "") CURRENT_ENTITYSTRING = DT_TBPMO_FORM_VIEW.Rows(0).Item("FORM_TITLE") @@ -706,12 +746,6 @@ Public Class frmNodeNavigation LOGGER.Warn("Could not set the primary Key(Record-ID): " & ex.Message) End Try - - - - - - CtrlBuilder.WatchRecordChanges = False ClassControlValues.LoadControlValuesList(_EntityId, CtrlBuilder.MasterPanel.Controls) CtrlBuilder.WatchRecordChanges = True @@ -720,8 +754,6 @@ Public Class frmNodeNavigation ENTITY_LOADING_PROCESS = True Dim RecLoaded As Boolean = False - - End If Load_Splitter_Layout() sw.Done() @@ -776,24 +808,22 @@ Public Class frmNodeNavigation End Try End Sub - Private Async Function Show_Selected_Record_Data(Rec_ID As Integer) As Threading.Tasks.Task + Private Async Function Show_Selected_Record_Data(pRecordId As Integer) As Task Dim oHandle = SplashScreenManager.ShowOverlayForm(Me) Try - LOGGER.Debug("Show_Selected_Record_Data: " & Rec_ID.ToString) + LOGGER.Debug("Show_Selected_Record_Data: " & pRecordId.ToString) Dim ENTITY_ROW = (From form In DT_ENTITY_DATA.AsEnumerable() Select form Where form.Item("GUID") = _EntityId).Single() 'Update_Status_Label(False, "") - LOGGER.Debug("RECORD ID: " & Rec_ID.ToString) + LOGGER.Debug("RECORD ID: " & pRecordId.ToString) 'Me.pnlControls.Visible = True - SELECTED_NODE_RECORD_ID = Rec_ID - + SELECTED_NODE_RECORD_ID = pRecordId CURRENT_PARENT_RECORD_ID = 0 - RIGHT_CONTROL_CHANGED = False ENTITY_RELOAD_AFT_CONTROL_LOAD = False @@ -808,12 +838,14 @@ Public Class frmNodeNavigation 'Refresh_Navpane() Update_Record_Label(SELECTED_NODE_RECORD_ID) - Dim oDocumentsFounnd = Await RUN_WDSEARCH_GRID(True) + Dim oDocumentsFound = Await RUN_WDSEARCH_GRID(True) - If oDocumentsFounnd = 0 Then + If oDocumentsFound = 0 Then DocumentViewer.CloseDocument() End If + Update_Document_Label(oDocumentsFound) + sw.Done() Catch ex As Exception @@ -821,7 +853,6 @@ Public Class frmNodeNavigation Finally SplashScreenManager.CloseOverlayForm(oHandle) End Try - End Function #Region "Controls" @@ -1011,84 +1042,84 @@ Public Class frmNodeNavigation LastFindFilterText = oFilterText End Sub - Private Async Sub LoadRecord(pRecord As Integer) - Try - CURRENT_RECORD_ID = pRecord - CURRENT_SEARCH_TYPE = "RECORD" - ClassHelper.GetDocrecordLinks(CURRENT_RECORD_ID) + 'Private Async Sub LoadRecord(pRecord As Integer) + ' Try + ' CURRENT_RECORD_ID = pRecord + ' CURRENT_SEARCH_TYPE = "RECORD" + ' ClassHelper.GetDocrecordLinks(CURRENT_RECORD_ID) - 'Wird jetzt bei BeforeRowChange überprüft + ' 'Wird jetzt bei BeforeRowChange überprüft - DisableEditMode() + ' DisableEditMode() - ' muss vor show selected record data kommen, - ' sodass die datasource für die angehakten werte existiert (checked list box) - CtrlBuilder.WatchRecordChanges = False + ' ' muss vor show selected record data kommen, + ' ' sodass die datasource für die angehakten werte existiert (checked list box) + ' CtrlBuilder.WatchRecordChanges = False - ClassControlValues.LoadControlValuesListWithPlaceholders(CURRENT_ENTITY_ID, CURRENT_RECORD_ID, 0, CtrlBuilder.AllControls, _EntityId) - CtrlBuilder.WatchRecordChanges = True - If CURRENT_RECORD_ID > 0 Then - Await Show_Selected_Record_Data(CURRENT_RECORD_ID) - End If + ' ClassControlValues.LoadControlValuesListWithPlaceholders(CURRENT_ENTITY_ID, CURRENT_RECORD_ID, 0, CtrlBuilder.AllControls, _EntityId) + ' CtrlBuilder.WatchRecordChanges = True + ' If CURRENT_RECORD_ID > 0 Then + ' Await Show_Selected_Record_Data(CURRENT_RECORD_ID) + ' End If - ClassRightManagement.Check_Set_Rights(CURRENT_RECORD_ID, _EntityId) - CONTROL_HANDLING() + ' ClassRightManagement.Check_Set_Rights(CURRENT_RECORD_ID, _EntityId) + ' CONTROL_HANDLING() - If CURRENT_RECORD_ID > 0 Then - If RIGHT_RECORD_AND_FILE_READ_ONLY = False And CtrlCommandUI.IsInsert = False Then - If DT_CONTROLS_ENTITY.Rows.Count = COUNT_RO_CONTROLS Then - bbtnitmRecEdit.Enabled = False - bbtnitmRecSave.Enabled = False - 'tsButtonDelete.Enabled = False - Else - ' bbtnitmEditRec.Enabled = True - End If + ' If CURRENT_RECORD_ID > 0 Then + ' If RIGHT_RECORD_AND_FILE_READ_ONLY = False And CtrlCommandUI.IsInsert = False Then + ' If DT_CONTROLS_ENTITY.Rows.Count = COUNT_RO_CONTROLS Then + ' bbtnitmRecEdit.Enabled = False + ' bbtnitmRecSave.Enabled = False + ' 'tsButtonDelete.Enabled = False + ' Else + ' ' bbtnitmEditRec.Enabled = True + ' End If - End If - If RIGHT_RECORD_AND_FILE_READ_ONLY = True Then - ' bbtniCopyRecord.Visibility = DevExpress.XtraBars.BarItemVisibility.Never - ' bbtniNewVariant2.Visibility = DevExpress.XtraBars.BarItemVisibility.Never - ' bbtniParentLink.Visibility = DevExpress.XtraBars.BarItemVisibility.Never - ' bbtniWFTask.Visibility = DevExpress.XtraBars.BarItemVisibility.Never - Else - ' bbtniCopyRecord.Visibility = DevExpress.XtraBars.BarItemVisibility.Always - ' bbtniNewVariant2.Visibility = DevExpress.XtraBars.BarItemVisibility.Always - ' bbtniParentLink.Visibility = DevExpress.XtraBars.BarItemVisibility.Always - ' bbtniWFTask.Visibility = DevExpress.XtraBars.BarItemVisibility.Always - End If + ' End If + ' If RIGHT_RECORD_AND_FILE_READ_ONLY = True Then + ' ' bbtniCopyRecord.Visibility = DevExpress.XtraBars.BarItemVisibility.Never + ' ' bbtniNewVariant2.Visibility = DevExpress.XtraBars.BarItemVisibility.Never + ' ' bbtniParentLink.Visibility = DevExpress.XtraBars.BarItemVisibility.Never + ' ' bbtniWFTask.Visibility = DevExpress.XtraBars.BarItemVisibility.Never + ' Else + ' ' bbtniCopyRecord.Visibility = DevExpress.XtraBars.BarItemVisibility.Always + ' ' bbtniNewVariant2.Visibility = DevExpress.XtraBars.BarItemVisibility.Always + ' ' bbtniParentLink.Visibility = DevExpress.XtraBars.BarItemVisibility.Always + ' ' bbtniWFTask.Visibility = DevExpress.XtraBars.BarItemVisibility.Always + ' End If - 'tsButtonAdd.Enabled = False - 'MsgBox(SplitContainerFORM.Collapsed) - 'MsgBox(SplitContainerMain.Collapsed) - 'MsgBox(SplitContainerTop.Collapsed) + ' 'tsButtonAdd.Enabled = False + ' 'MsgBox(SplitContainerFORM.Collapsed) + ' 'MsgBox(SplitContainerMain.Collapsed) + ' 'MsgBox(SplitContainerTop.Collapsed) - End If - 'Liste der geänderten Control Values leeren - CtrlBuilder.ControlsChanged.Clear() + ' End If + ' 'Liste der geänderten Control Values leeren + ' CtrlBuilder.ControlsChanged.Clear() - Catch ex As Exception - ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error:", ex.Message & vbNewLine & ex.StackTrace) - End Try - End Sub + ' Catch ex As Exception + ' ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error:", ex.Message & vbNewLine & ex.StackTrace) + ' End Try + 'End Sub Private Sub DateiÖffnenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DateiÖffnenToolStripMenuItem.Click Open_File() End Sub Private Sub frmNodeNavigation_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing - If TrySave_Automatic() = False Then - e.Cancel = True End If + Save_Splitter_Layout() + ClassWindowLocation.SaveFormLocationSize(Me, CONSTRUCTORID, CURRENT_SCREEN_ID, "NODE_NAVIGATION") CURRENT_OPEN_CONSTRUCTOR_FORMS.Remove(CONSTRUCTORID) @@ -1115,13 +1146,13 @@ Public Class frmNodeNavigation Private Sub GridControlDocSearch_MouseDown(sender As Object, e As MouseEventArgs) Handles GridControlDocSearch.MouseDown In_Visible_Record_Group(False) End Sub - Private Sub pnlControls_MouseDown(sender As Object, e As MouseEventArgs) Handles pnlControls.MouseDown - End Sub + Sub In_Visible_Record_Group(oBool As Boolean) RibbonPageGroupRecord.Visible = oBool RibbonPageGroupRecord.Enabled = oBool End Sub + Private Sub bbtnitmEditRec_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtnitmRecEdit.ItemClick If RECORD_ENABLED = False Then EnableEditMode() @@ -1132,6 +1163,7 @@ Public Class frmNodeNavigation End If End If End Sub + Sub EnableEditMode() Dim EditingUser = ClassRecordState.IsRecordLocked(SELECTED_NODE_RECORD_ID) ' Überprüfen, ob der Record gerade bearbeitet wird @@ -1222,7 +1254,6 @@ Public Class frmNodeNavigation Lock_RecordControls(True) RECORD_ENABLED = False - POS_ENABLED = False CURRENT_RECORD_ENABLED = False @@ -1444,13 +1475,18 @@ Public Class frmNodeNavigation Dim oHandle As IOverlaySplashScreenHandle If pShowSplashscreen Then oHandle = SplashScreenManager.ShowOverlayForm(Me) - taskToken = New CancellationTokenSource() End If Dim sw As New SW("RUN_WDSEARCH_GRID") Dim oFilesFound As Integer = 0 Try + + If CURRENT_RECORD_ID = 0 Then + GridControlDocSearch.DataSource = Nothing + Return 0 + End If + bsitmtInfoDoc.Visibility = DevExpress.XtraBars.BarItemVisibility.Always If CURRENT_SEARCH_TYPE = "NODE_DOWN" Then @@ -1477,41 +1513,6 @@ Public Class frmNodeNavigation Else If DT_RESULT.Rows.Count > 0 Then 'Es gibt Suchergebnisse - Dim msg = "Dateien für Record: " & SELECTED_NODE_RECORD_ID - If CURRENT_SEARCH_TYPE = "ENTITY" Then - - msg = "Dateien für Entität: " - If USER_LANGUAGE <> "de-DE" Then - msg = "files for entity: " - End If - msg &= " (" & DT_RESULT.Rows.Count.ToString & ")" - ElseIf CURRENT_SEARCH_TYPE = "RECORD" Then - - 'If NODE_TEXT.Contains(" (") Then - ' NODE_TEXT = NODE_TEXT.Substring(0, NODE_TEXT.IndexOf("(") - 1) - ' End If - msg = String.Format("Dateien für Objekt '{0}' ", SELECTED_NODE_CAPTION) - If USER_LANGUAGE <> "de-DE" Then - msg = String.Format("Files for Object '{0}'", SELECTED_NODE_CAPTION) - End If - msg &= " (" & DT_RESULT.Rows.Count.ToString & ")" - - ElseIf CURRENT_SEARCH_TYPE = "NODE_DOWN" Then - msg = "Dateien für Knotenunterstruktur" - If USER_LANGUAGE <> "de-DE" Then - msg = "files found in Node-Substructure" - End If - msg &= " (" & DT_RESULT.Rows.Count.ToString & ")" - Else - msg = String.Format("Ergebnis der Volltextsuche") - If USER_LANGUAGE <> "de-DE" Then - msg = String.Format("Result of Fulltext-Search") - End If - msg &= " (" & DT_RESULT.Rows.Count.ToString & ")" - End If - - GridViewDoc_Search.ViewCaption = msg - If DT_RESULT.Rows.Count > 0 Then If CURRENT_SEARCH_TYPE = "FULLTEXT" Then GridViewDoc_Search.ShowFindPanel() @@ -1541,47 +1542,11 @@ Public Class frmNodeNavigation oFilesFound = DT_RESULT.Rows.Count Else - Dim msg = "Keine Dateien für '" - If CURRENT_SEARCH_TYPE = "ENTITY" Then - msg &= " Entität gefunden" - If USER_LANGUAGE <> "de-DE" Then - msg = "No files found for entity: " - End If - ElseIf CURRENT_SEARCH_TYPE = "RECORD" Then - - 'If NODE_TEXT.Contains(" (") Then - ' NODE_TEXT = NODE_TEXT.Substring(0, NODE_TEXT.IndexOf("(") - 1) - ' End If - msg &= SELECTED_NODE_CAPTION & "' gefunden" - If USER_LANGUAGE <> "de-DE" Then - msg = "No files found for object '" & SELECTED_NODE_CAPTION & "'" - End If - - - If USER_LANGUAGE <> "de-DE" Then - msg = "No files found for record " & SELECTED_NODE_RECORD_ID - End If - ElseIf CURRENT_SEARCH_TYPE = "NODE_DOWN" Then - msg = "Keine Dateien für Knotenunterstruktur gefunden" - If USER_LANGUAGE <> "de-DE" Then - msg = "No files found in Node-Substructure" - End If - Else - msg = "Keine Dateien für Volltextsuche (" & CURRENT_FULLTEXT_PATTERN & ") gefunden" - If USER_LANGUAGE <> "de-DE" Then - msg = "No files found for fulltext-search (" & CURRENT_FULLTEXT_PATTERN & ")" - End If - End If - - GridViewDoc_Search.ViewCaption = msg GridControlDocSearch.DataSource = Nothing - 'Clear_Windream_ResultList() - oFilesFound = 0 End If End If - Catch ex As Exception ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in Run WD-Search Database: ", ex.Message) Finally @@ -1779,13 +1744,6 @@ Public Class frmNodeNavigation ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in OnCheckboxValueChanged: ", ex.Message) End Try End Sub - - Private Sub SplitContainer1_SplitterMoved(sender As Object, e As SplitterEventArgs) Handles SplitContainer1.SplitterMoved - If FORM_LOADED Then - Save_Splitter_Layout() - End If - - End Sub #Region "GridViewEvents" Private Sub GridViewDoc_Search_LayoutSave(sender As Object, e As EventArgs) Handles GridViewDoc_Search.ColumnFilterChanged, GridViewDoc_Search.ColumnWidthChanged, GridViewDoc_Search.ColumnPositionChanged Save_DocGrid_Layout() @@ -2091,11 +2049,11 @@ Public Class frmNodeNavigation Private Sub pnlControls_DragEnter(sender As Object, e As DragEventArgs) Handles pnlControls.DragEnter Drag_Enter(e) End Sub - Private Sub SplitContainer1_DragEnter(sender As Object, e As DragEventArgs) Handles SplitContainer1.DragEnter + Private Sub SplitContainer1_DragEnter(sender As Object, e As DragEventArgs) Drag_Enter(e) End Sub - Private Async Sub SplitContainer1_DragDrop(sender As Object, e As DragEventArgs) Handles SplitContainer1.DragDrop + Private Async Sub SplitContainer1_DragDrop(sender As Object, e As DragEventArgs) Await Drag_Drop(e) End Sub #End Region @@ -2989,5 +2947,4 @@ Public Class frmNodeNavigation .Name = pRow.ItemEx("NAME", "") } End Function - End Class \ No newline at end of file