Compare commits

...

18 Commits

Author SHA1 Message Date
plarsen 2261c8f0f5 B2026-053-Find-Unlinked-Values-of-Selected 2026-07-24 10:47:25 -04:00
plarsen f93b16fc52 B2026-053-Find-Unlinked-Values-of-Selected 2026-07-23 09:21:09 -04:00
plarsen 7c3a43749c B2026-053-Find-Unlinked-Values-of-Selected 2026-07-23 09:09:22 -04:00
plarsen ecec7b9f1a Merge branch 'Development' of https://git.volian.com/Volian/SourceCode into Development 2026-07-23 08:17:55 -04:00
plarsen 1aca7335f7 Development 2026-07-23 08:15:18 -04:00
plarsen ba5aee6640 Development 2026-07-21 11:33:58 -04:00
jjenko abaf55e9b1 Merge pull request 'C2026-046 - Decrease check if need to update ROs.' (#793) from C2026-046 into Development
good for testing
2026-07-21 10:32:30 -04:00
mschill 3a2dd0b0aa C2026-046 - Decrease check if need to update ROs. 2026-07-21 10:24:46 -04:00
jjenko 0fed1acfd8 Merge pull request 'F2026-017 Blank line was sometimes missing after the Note and Caution text. This was a 64-bit build difference that affected the text width calculations.' (#792) from F2026-017_SummerCautionNoteAdj into Development
Format only change - good for testing phase
2026-07-17 10:11:25 -04:00
jjenko d7c2300021 F2026-017 Blank line was sometimes missing after the Note and Caution text. This was a 64-bit build difference that affected the text width calculations. 2026-07-17 10:11:43 -04:00
jjenko fca333299d Merge pull request 'C2026 044' (#791) from C2026-044 into Development
good for testing phase
2026-07-16 08:53:54 -04:00
mschill a13b03a136 C2026-044 – ve_GetParentItem Performance Improvement
Added Included columns to Index
2026-07-16 08:48:11 -04:00
mschill 48054f5bf1 C2026-044 – ve_GetParentItem Performance Improvement 2026-07-16 08:26:52 -04:00
mschill 51f2897a33 C2026-044 – ve_GetParentItem Performance Improvement 2026-07-16 08:26:07 -04:00
plarsen 7a3a07b0da Merge branch 'Development' of https://git.volian.com/Volian/SourceCode into Development 2026-07-16 08:25:16 -04:00
jjenko 7c3cfca86c Merge pull request 'B2026-055 – Transition Search Improvements' (#790) from B2026-055 into Development
good for testing
2026-07-15 13:54:03 -04:00
plarsen 05ab48cdc5 Merge branch 'Development' of https://git.volian.com/Volian/SourceCode into Development 2026-06-24 09:49:07 -04:00
plarsen fd51c209a3 Development 2026-06-15 15:18:03 -04:00
12 changed files with 273 additions and 167 deletions
Binary file not shown.
Binary file not shown.
+31 -14
View File
@@ -5547,6 +5547,12 @@ ELSE PRINT 'Function: ve_GetItemDerivedApplicability Error on Creation'
GO GO
------- -------
-- =============================================
-- Author: Matthew Schill
-- Modify date: 07/14/2026
-- Description: Reworked ve_GetParentItem for Performance improvement
-- =============================================
/****** Object: UserDefinedFunction [dbo].[vefn_GetParentItem] Script Date: 03/28/2012 17:58:48 ******/ /****** Object: UserDefinedFunction [dbo].[vefn_GetParentItem] Script Date: 03/28/2012 17:58:48 ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ve_GetParentItem]') AND OBJECTPROPERTY(id,N'IsScalarFunction') = 1) IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ve_GetParentItem]') AND OBJECTPROPERTY(id,N'IsScalarFunction') = 1)
DROP FUNCTION [ve_GetParentItem]; DROP FUNCTION [ve_GetParentItem];
@@ -5555,35 +5561,46 @@ GO
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
Copyright 2012 - Volian Enterprises, Inc. All rights reserved. Copyright 2012 - Volian Enterprises, Inc. All rights reserved.
*****************************************************************************/ *****************************************************************************/
CREATE FUNCTION [dbo].[ve_GetParentItem] (@ItemID int) RETURNS int CREATE OR ALTER FUNCTION [dbo].[ve_GetParentItem] (@ItemID int) RETURNS int
WITH EXECUTE AS OWNER WITH EXECUTE AS OWNER
AS AS
BEGIN BEGIN
DECLARE @ParentID int; DECLARE @ParentID int;
WITH Itemz([ItemID],[IsFound]) as WITH Itemz([ItemID]) as
( (
select ii.itemid,0 from items ii where ii.itemid = @ItemID select ii.itemid from items ii WITH (NOLOCK) where ii.itemid = @ItemID
union all union all
select ii.previousid,0 from items ii select ii.previousid from items ii WITH (NOLOCK)
join itemz zz on ii.itemid = zz.itemid join itemz zz on ii.itemid = zz.itemid
where ii.previousid is not null where ii.previousid is not null
and zz.isfound = 0
union all
select ii.itemid,1
from parts pp
join itemz zz on pp.itemid = zz.itemid
join items ii on ii.contentid = pp.contentid
) )
select top 1 @ParentID = itemid from itemz select top 1 @ParentID = ii.itemid
where isfound = 1 OPTION (MAXRECURSION 10000) from itemz
inner join parts pp WITH (NOLOCK) on pp.itemid = itemz.itemid
inner join items ii WITH (NOLOCK) on ii.contentid = pp.contentid
OPTION (MAXRECURSION 10000)
RETURN @ParentID RETURN @ParentID
END END
GO GO
IF (@@Error = 0) PRINT 'ScalerFunction [vefn_GetParentItem] Succeeded' IF (@@Error = 0) PRINT 'ScalerFunction [vefn_GetParentItem] Succeeded'
ELSE PRINT 'ScalerFunction [vefn_GetParentItem] Error on Creation' ELSE PRINT 'ScalerFunction [vefn_GetParentItem] Error on Creation'
go go
IF EXISTS (SELECT * FROM dbo.sysIndexes WHERE name like 'IX_PartsItemID')
DROP INDEX [IX_PartsItemID] ON [dbo].[tblParts];
GO
CREATE NONCLUSTERED INDEX IX_PartsItemID
ON [dbo].[tblParts] ([ItemID] ASC)
INCLUDE([ContentID],[DeleteStatus],[FromType]) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
PRINT 'Added IX_PartsItemID Index. Speeds up Getting Parent Items'
GO
/****** Object: UserDefinedFunction [dbo].[vefn_CanTransitionBeCreated] Script Date: 10/14/2012 02:03:30 ******/ /****** Object: UserDefinedFunction [dbo].[vefn_CanTransitionBeCreated] Script Date: 10/14/2012 02:03:30 ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_CanTransitionBeCreated]') AND OBJECTPROPERTY(id,N'IsScalarFunction') = 1) IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_CanTransitionBeCreated]') AND OBJECTPROPERTY(id,N'IsScalarFunction') = 1)
DROP FUNCTION [vefn_CanTransitionBeCreated]; DROP FUNCTION [vefn_CanTransitionBeCreated];
@@ -25051,8 +25068,8 @@ BEGIN TRY -- Try Block
DECLARE @RevDate varchar(255) DECLARE @RevDate varchar(255)
DECLARE @RevDescription varchar(255) DECLARE @RevDescription varchar(255)
set @RevDate = '06/29/2026 7:00 AM' set @RevDate = '07/16/2026 8:30 AM'
set @RevDescription = 'Update to Grid Deletion Audits' set @RevDescription = 'Reworked ve_GetParentItem for Performance improvement'
Select cast(@RevDate as datetime) RevDate, @RevDescription RevDescription Select cast(@RevDate as datetime) RevDate, @RevDescription RevDescription
PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription
@@ -7279,6 +7279,7 @@ namespace VEPROMS.CSLA.Library
_ByWordSuffix = byWordSuffix; _ByWordSuffix = byWordSuffix;
} }
} }
private void DataPortal_Fetch(ItemListSearchCriteria criteria) private void DataPortal_Fetch(ItemListSearchCriteria criteria)
{ {
this.RaiseListChangedEvents = false; this.RaiseListChangedEvents = false;
@@ -326,6 +326,8 @@ namespace VEPROMS.CSLA.Library
// all of the calls aways set the flags to not update the RO values // all of the calls aways set the flags to not update the RO values
public static ROFst UpdateRoFst(RODbInfo rdi, DocVersion docver, ROFstInfo origROFst, ROFstInfoProgressBarRefresh myProgressBarRefresh) public static ROFst UpdateRoFst(RODbInfo rdi, DocVersion docver, ROFstInfo origROFst, ROFstInfoProgressBarRefresh myProgressBarRefresh)
{ {
ROWorkingDraftAsk.ClearWorkingDrafts();
if (myProgressBarRefresh != null) myProgressBarRefresh(0, 100, "Starting Update"); if (myProgressBarRefresh != null) myProgressBarRefresh(0, 100, "Starting Update");
int origFSTid = origROFst.ROFstID; int origFSTid = origROFst.ROFstID;
@@ -0,0 +1,18 @@
using System.Collections.Generic;
namespace VEPROMS.CSLA.Library
{
public static class ROWorkingDraftAsk
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")]
private static List<int> WorkingDrafts = new List<int>();
public static void AddWorkingDrafts(int wd) => WorkingDrafts.Add(wd);
public static void ClearWorkingDrafts() => WorkingDrafts.Clear();
public static bool ContainsWorkingDraft(int wd) => WorkingDrafts.Contains(wd);
}
}
@@ -396,6 +396,7 @@
<Compile Include="Minimal\UserReports.cs" /> <Compile Include="Minimal\UserReports.cs" />
<Compile Include="Minimal\UserSettings.cs" /> <Compile Include="Minimal\UserSettings.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Session\ROWorkingDraftAsk.cs" />
<Compile Include="VEObjects\VEDrillDown.cs" /> <Compile Include="VEObjects\VEDrillDown.cs" />
<Compile Include="VEObjects\VETreeNode.cs" /> <Compile Include="VEObjects\VETreeNode.cs" />
</ItemGroup> </ItemGroup>
+4 -1
View File
@@ -652,7 +652,7 @@ namespace Volian.Controls.Library
{ {
//do nothing - is still checked out //do nothing - is still checked out
} }
else if (changedDocVersion && !askedAboutchangedDocVersion) else if (changedDocVersion && !askedAboutchangedDocVersion && !ROWorkingDraftAsk.ContainsWorkingDraft(_docVersionInfo.VersionID))
{ {
if (MessageBox.Show($"There exists a newer ROFST for this RO database that was loaded for other sets.\r\n\r\nDo you want to update this set's ROs to be consistent/use the latest loaded ROFST?", "Load ROs", MessageBoxButtons.YesNo) == DialogResult.Yes) if (MessageBox.Show($"There exists a newer ROFST for this RO database that was loaded for other sets.\r\n\r\nDo you want to update this set's ROs to be consistent/use the latest loaded ROFST?", "Load ROs", MessageBoxButtons.YesNo) == DialogResult.Yes)
{ {
@@ -671,10 +671,13 @@ namespace Volian.Controls.Library
updatedROs = true; updatedROs = true;
askedAboutchangedDocVersion = false; askedAboutchangedDocVersion = false;
ROWorkingDraftAsk.ClearWorkingDrafts();
} }
else else
{ {
askedAboutchangedDocVersion = true; askedAboutchangedDocVersion = true;
if (!ROWorkingDraftAsk.ContainsWorkingDraft(_docVersionInfo.VersionID))
ROWorkingDraftAsk.AddWorkingDrafts(_docVersionInfo.VersionID);
} }
} }
+124 -129
View File
@@ -94,15 +94,6 @@ namespace Volian.Controls.Library
this.label2 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label();
this.cbxAnnoTypes = new DevComponents.DotNetBar.Controls.ComboBoxEx(); this.cbxAnnoTypes = new DevComponents.DotNetBar.Controls.ComboBoxEx();
this.tabAnnotationSearch = new DevComponents.DotNetBar.TabItem(this.components); this.tabAnnotationSearch = new DevComponents.DotNetBar.TabItem(this.components);
this.tabControlPanel1 = new DevComponents.DotNetBar.TabControlPanel();
this.btnTranCvtSelToTxt = new System.Windows.Forms.Button();
this.lblIncTran = new System.Windows.Forms.Label();
this.btnTranCvtAllToTxt = new System.Windows.Forms.Button();
this.lblSrchIncTran = new System.Windows.Forms.Label();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.rbFromEditor = new System.Windows.Forms.RadioButton();
this.rbFromTree = new System.Windows.Forms.RadioButton();
this.tabIncTrans = new DevComponents.DotNetBar.TabItem(this.components);
this.contextMenuBar1 = new DevComponents.DotNetBar.ContextMenuBar(); this.contextMenuBar1 = new DevComponents.DotNetBar.ContextMenuBar();
this.btnCMIFindText = new DevComponents.DotNetBar.ButtonItem(); this.btnCMIFindText = new DevComponents.DotNetBar.ButtonItem();
this.btnCMEdit = new DevComponents.DotNetBar.ButtonItem(); this.btnCMEdit = new DevComponents.DotNetBar.ButtonItem();
@@ -121,6 +112,15 @@ namespace Volian.Controls.Library
this.btnAND = new DevComponents.DotNetBar.ButtonItem(); this.btnAND = new DevComponents.DotNetBar.ButtonItem();
this.btnOR = new DevComponents.DotNetBar.ButtonItem(); this.btnOR = new DevComponents.DotNetBar.ButtonItem();
this.btnNOT = new DevComponents.DotNetBar.ButtonItem(); this.btnNOT = new DevComponents.DotNetBar.ButtonItem();
this.tabIncTrans = new DevComponents.DotNetBar.TabItem(this.components);
this.tabControlPanel1 = new DevComponents.DotNetBar.TabControlPanel();
this.btnTranCvtSelToTxt = new System.Windows.Forms.Button();
this.lblIncTran = new System.Windows.Forms.Label();
this.btnTranCvtAllToTxt = new System.Windows.Forms.Button();
this.lblSrchIncTran = new System.Windows.Forms.Label();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.rbFromEditor = new System.Windows.Forms.RadioButton();
this.rbFromTree = new System.Windows.Forms.RadioButton();
this.advTreeProcSets = new DevComponents.AdvTree.AdvTree(); this.advTreeProcSets = new DevComponents.AdvTree.AdvTree();
this.elementStyle1 = new DevComponents.DotNetBar.ElementStyle(); this.elementStyle1 = new DevComponents.DotNetBar.ElementStyle();
this.node1 = new DevComponents.AdvTree.Node(); this.node1 = new DevComponents.AdvTree.Node();
@@ -168,9 +168,9 @@ namespace Volian.Controls.Library
this.tabControlPanel3.SuspendLayout(); this.tabControlPanel3.SuspendLayout();
this.gpSrchAnnoText.SuspendLayout(); this.gpSrchAnnoText.SuspendLayout();
this.panel4.SuspendLayout(); this.panel4.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.contextMenuBar1)).BeginInit();
this.tabControlPanel1.SuspendLayout(); this.tabControlPanel1.SuspendLayout();
this.groupBox1.SuspendLayout(); this.groupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.contextMenuBar1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.advTreeProcSets)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.advTreeProcSets)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.advTreeStepTypes)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.advTreeStepTypes)).BeginInit();
this.grpPanSearchResults.SuspendLayout(); this.grpPanSearchResults.SuspendLayout();
@@ -974,118 +974,6 @@ namespace Volian.Controls.Library
this.tabAnnotationSearch.Text = "Annotations"; this.tabAnnotationSearch.Text = "Annotations";
this.tabAnnotationSearch.Click += new System.EventHandler(this.tabAnnotationSearch_Click); this.tabAnnotationSearch.Click += new System.EventHandler(this.tabAnnotationSearch_Click);
// //
// tabControlPanel1
//
this.tabControlPanel1.Controls.Add(this.btnTranCvtSelToTxt);
this.tabControlPanel1.Controls.Add(this.lblIncTran);
this.tabControlPanel1.Controls.Add(this.btnTranCvtAllToTxt);
this.tabControlPanel1.Controls.Add(this.lblSrchIncTran);
this.tabControlPanel1.Controls.Add(this.groupBox1);
this.tabControlPanel1.DisabledBackColor = System.Drawing.Color.Empty;
this.tabControlPanel1.Location = new System.Drawing.Point(0, 34);
this.tabControlPanel1.Name = "tabControlPanel1";
this.tabControlPanel1.Padding = new System.Windows.Forms.Padding(1);
this.tabControlPanel1.Size = new System.Drawing.Size(277, 113);
this.tabControlPanel1.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(253)))), ((int)(((byte)(253)))), ((int)(((byte)(254)))));
this.tabControlPanel1.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(157)))), ((int)(((byte)(188)))), ((int)(((byte)(227)))));
this.tabControlPanel1.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
this.tabControlPanel1.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(146)))), ((int)(((byte)(165)))), ((int)(((byte)(199)))));
this.tabControlPanel1.Style.BorderSide = ((DevComponents.DotNetBar.eBorderSide)(((DevComponents.DotNetBar.eBorderSide.Left | DevComponents.DotNetBar.eBorderSide.Right)
| DevComponents.DotNetBar.eBorderSide.Bottom)));
this.tabControlPanel1.Style.GradientAngle = 90;
this.tabControlPanel1.TabIndex = 17;
this.tabControlPanel1.TabItem = this.tabIncTrans;
this.tabControlPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(( System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.tabControlPanel1.RightToLeft = System.Windows.Forms.RightToLeft.No;
//
// btnTranCvtSelToTxt
//
this.btnTranCvtSelToTxt.Enabled = false;
this.btnTranCvtSelToTxt.Location = new System.Drawing.Point(121, 63);
this.btnTranCvtSelToTxt.Name = "btnTranCvtSelToTxt";
this.btnTranCvtSelToTxt.Size = new System.Drawing.Size(145, 22);
this.superTooltip1.SetSuperTooltip(this.btnTranCvtSelToTxt, new DevComponents.DotNetBar.SuperTooltipInfo("Convert Selected Incoming Transitions To Text", "", "Converts selected transitions in the results list to text unless the user does no" +
"t have permission to change text.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(170, 90)));
this.btnTranCvtSelToTxt.TabIndex = 3;
this.btnTranCvtSelToTxt.Text = "Convert Selected To Text";
this.btnTranCvtSelToTxt.UseVisualStyleBackColor = true;
this.btnTranCvtSelToTxt.Click += new System.EventHandler(this.btnTranCvtSelToTxt_Click);
//
// lblIncTran
//
this.lblIncTran.AutoSize = true;
this.lblIncTran.Location = new System.Drawing.Point(4, 9);
this.lblIncTran.Name = "lblIncTran";
this.lblIncTran.Size = new System.Drawing.Size(23, 13);
this.lblIncTran.TabIndex = 2;
this.lblIncTran.Text = "To:";
//
// btnTranCvtAllToTxt
//
this.btnTranCvtAllToTxt.Enabled = false;
this.btnTranCvtAllToTxt.Location = new System.Drawing.Point(6, 63);
this.btnTranCvtAllToTxt.Name = "btnTranCvtAllToTxt";
this.btnTranCvtAllToTxt.Size = new System.Drawing.Size(109, 22);
this.superTooltip1.SetSuperTooltip(this.btnTranCvtAllToTxt, new DevComponents.DotNetBar.SuperTooltipInfo("Convert All Incoming Transitions To Text", "", "Converts all of the transitions in the results list to text unless the user does " +
"not have permission to change text.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(170, 90)));
this.btnTranCvtAllToTxt.TabIndex = 1;
this.btnTranCvtAllToTxt.Text = "Convert All To Text";
this.btnTranCvtAllToTxt.UseVisualStyleBackColor = true;
this.btnTranCvtAllToTxt.Click += new System.EventHandler(this.btnTranCvtAllToTxt_Click);
//
// lblSrchIncTran
//
this.lblSrchIncTran.BackColor = System.Drawing.Color.Transparent;
this.lblSrchIncTran.Location = new System.Drawing.Point(34, 9);
this.lblSrchIncTran.Name = "lblSrchIncTran";
this.lblSrchIncTran.Size = new System.Drawing.Size(239, 40);
this.superTooltip1.SetSuperTooltip(this.lblSrchIncTran, new DevComponents.DotNetBar.SuperTooltipInfo("Incoming Transitions", "", "This is the step, section, or procedure for which incoming transitions to it are " +
"shown in the list.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(170, 80)));
this.lblSrchIncTran.TabIndex = 1;
//
// groupBox1
//
this.groupBox1.BackColor = System.Drawing.Color.Transparent;
this.groupBox1.Controls.Add(this.rbFromEditor);
this.groupBox1.Controls.Add(this.rbFromTree);
this.groupBox1.Location = new System.Drawing.Point(147, 4);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(130, 57);
this.groupBox1.TabIndex = 0;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Search Selection";
this.groupBox1.Visible = false;
//
// rbFromEditor
//
this.rbFromEditor.AutoSize = true;
this.rbFromEditor.Location = new System.Drawing.Point(22, 34);
this.rbFromEditor.Name = "rbFromEditor";
this.rbFromEditor.Size = new System.Drawing.Size(78, 17);
this.rbFromEditor.TabIndex = 1;
this.rbFromEditor.TabStop = true;
this.rbFromEditor.Text = "From Editor";
this.rbFromEditor.UseVisualStyleBackColor = true;
//
// rbFromTree
//
this.rbFromTree.AutoSize = true;
this.rbFromTree.Location = new System.Drawing.Point(22, 16);
this.rbFromTree.Name = "rbFromTree";
this.rbFromTree.Size = new System.Drawing.Size(73, 17);
this.rbFromTree.TabIndex = 0;
this.rbFromTree.TabStop = true;
this.rbFromTree.Text = "From Tree";
this.rbFromTree.UseVisualStyleBackColor = true;
//
// tabIncTrans
//
this.tabIncTrans.AttachedControl = this.tabControlPanel1;
this.tabIncTrans.Name = "tabIncTrans";
this.superTooltip1.SetSuperTooltip(this.tabIncTrans, new DevComponents.DotNetBar.SuperTooltipInfo("Search for Incoming Transitions", "", "Finds the Incoming Transitions that point to the current item and convert the tra" +
"nsition(s) to text if desired and if have permissions.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(170, 120)));
this.tabIncTrans.Text = "Incoming\nTransitions";
//
// contextMenuBar1 // contextMenuBar1
// //
this.contextMenuBar1.DockSide = DevComponents.DotNetBar.eDockSide.Top; this.contextMenuBar1.DockSide = DevComponents.DotNetBar.eDockSide.Top;
@@ -1248,6 +1136,119 @@ namespace Volian.Controls.Library
this.btnNOT.Text = "NOT"; this.btnNOT.Text = "NOT";
this.btnNOT.Click += new System.EventHandler(this.btnNOT_Click); this.btnNOT.Click += new System.EventHandler(this.btnNOT_Click);
// //
// tabIncTrans
//
this.tabIncTrans.AttachedControl = this.tabControlPanel1;
this.tabIncTrans.Name = "tabIncTrans";
this.superTooltip1.SetSuperTooltip(this.tabIncTrans, new DevComponents.DotNetBar.SuperTooltipInfo("Search for Incoming Transitions", "", "Finds the Incoming Transitions that point to the current item and convert the tra" +
"nsition(s) to text if desired and if have permissions.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(170, 120)));
this.tabIncTrans.Text = "Incoming\nTransitions";
//
// tabControlPanel1
//
this.tabControlPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tabControlPanel1.Controls.Add(this.btnTranCvtSelToTxt);
this.tabControlPanel1.Controls.Add(this.lblIncTran);
this.tabControlPanel1.Controls.Add(this.btnTranCvtAllToTxt);
this.tabControlPanel1.Controls.Add(this.lblSrchIncTran);
this.tabControlPanel1.Controls.Add(this.groupBox1);
this.tabControlPanel1.DisabledBackColor = System.Drawing.Color.Empty;
this.tabControlPanel1.Location = new System.Drawing.Point(0, 34);
this.tabControlPanel1.Name = "tabControlPanel1";
this.tabControlPanel1.Padding = new System.Windows.Forms.Padding(1);
this.tabControlPanel1.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.tabControlPanel1.Size = new System.Drawing.Size(277, 113);
this.tabControlPanel1.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(253)))), ((int)(((byte)(253)))), ((int)(((byte)(254)))));
this.tabControlPanel1.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(157)))), ((int)(((byte)(188)))), ((int)(((byte)(227)))));
this.tabControlPanel1.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
this.tabControlPanel1.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(146)))), ((int)(((byte)(165)))), ((int)(((byte)(199)))));
this.tabControlPanel1.Style.BorderSide = ((DevComponents.DotNetBar.eBorderSide)(((DevComponents.DotNetBar.eBorderSide.Left | DevComponents.DotNetBar.eBorderSide.Right)
| DevComponents.DotNetBar.eBorderSide.Bottom)));
this.tabControlPanel1.Style.GradientAngle = 90;
this.tabControlPanel1.TabIndex = 17;
this.tabControlPanel1.TabItem = this.tabIncTrans;
//
// btnTranCvtSelToTxt
//
this.btnTranCvtSelToTxt.Enabled = false;
this.btnTranCvtSelToTxt.Location = new System.Drawing.Point(121, 63);
this.btnTranCvtSelToTxt.Name = "btnTranCvtSelToTxt";
this.btnTranCvtSelToTxt.Size = new System.Drawing.Size(145, 22);
this.superTooltip1.SetSuperTooltip(this.btnTranCvtSelToTxt, new DevComponents.DotNetBar.SuperTooltipInfo("Convert Selected Incoming Transitions To Text", "", "Converts selected transitions in the results list to text unless the user does no" +
"t have permission to change text.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(170, 90)));
this.btnTranCvtSelToTxt.TabIndex = 3;
this.btnTranCvtSelToTxt.Text = "Convert Selected To Text";
this.btnTranCvtSelToTxt.UseVisualStyleBackColor = true;
this.btnTranCvtSelToTxt.Click += new System.EventHandler(this.btnTranCvtSelToTxt_Click);
//
// lblIncTran
//
this.lblIncTran.AutoSize = true;
this.lblIncTran.Location = new System.Drawing.Point(4, 9);
this.lblIncTran.Name = "lblIncTran";
this.lblIncTran.Size = new System.Drawing.Size(23, 13);
this.lblIncTran.TabIndex = 2;
this.lblIncTran.Text = "To:";
//
// btnTranCvtAllToTxt
//
this.btnTranCvtAllToTxt.Enabled = false;
this.btnTranCvtAllToTxt.Location = new System.Drawing.Point(6, 63);
this.btnTranCvtAllToTxt.Name = "btnTranCvtAllToTxt";
this.btnTranCvtAllToTxt.Size = new System.Drawing.Size(109, 22);
this.superTooltip1.SetSuperTooltip(this.btnTranCvtAllToTxt, new DevComponents.DotNetBar.SuperTooltipInfo("Convert All Incoming Transitions To Text", "", "Converts all of the transitions in the results list to text unless the user does " +
"not have permission to change text.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(170, 90)));
this.btnTranCvtAllToTxt.TabIndex = 1;
this.btnTranCvtAllToTxt.Text = "Convert All To Text";
this.btnTranCvtAllToTxt.UseVisualStyleBackColor = true;
this.btnTranCvtAllToTxt.Click += new System.EventHandler(this.btnTranCvtAllToTxt_Click);
//
// lblSrchIncTran
//
this.lblSrchIncTran.BackColor = System.Drawing.Color.Transparent;
this.lblSrchIncTran.Location = new System.Drawing.Point(34, 9);
this.lblSrchIncTran.Name = "lblSrchIncTran";
this.lblSrchIncTran.Size = new System.Drawing.Size(239, 40);
this.superTooltip1.SetSuperTooltip(this.lblSrchIncTran, new DevComponents.DotNetBar.SuperTooltipInfo("Incoming Transitions", "", "This is the step, section, or procedure for which incoming transitions to it are " +
"shown in the list.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(170, 80)));
this.lblSrchIncTran.TabIndex = 1;
//
// groupBox1
//
this.groupBox1.BackColor = System.Drawing.Color.Transparent;
this.groupBox1.Controls.Add(this.rbFromEditor);
this.groupBox1.Controls.Add(this.rbFromTree);
this.groupBox1.Location = new System.Drawing.Point(147, 4);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(130, 57);
this.groupBox1.TabIndex = 0;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Search Selection";
this.groupBox1.Visible = false;
//
// rbFromEditor
//
this.rbFromEditor.AutoSize = true;
this.rbFromEditor.Location = new System.Drawing.Point(22, 34);
this.rbFromEditor.Name = "rbFromEditor";
this.rbFromEditor.Size = new System.Drawing.Size(78, 17);
this.rbFromEditor.TabIndex = 1;
this.rbFromEditor.TabStop = true;
this.rbFromEditor.Text = "From Editor";
this.rbFromEditor.UseVisualStyleBackColor = true;
//
// rbFromTree
//
this.rbFromTree.AutoSize = true;
this.rbFromTree.Location = new System.Drawing.Point(22, 16);
this.rbFromTree.Name = "rbFromTree";
this.rbFromTree.Size = new System.Drawing.Size(73, 17);
this.rbFromTree.TabIndex = 0;
this.rbFromTree.TabStop = true;
this.rbFromTree.Text = "From Tree";
this.rbFromTree.UseVisualStyleBackColor = true;
//
// advTreeProcSets // advTreeProcSets
// //
this.advTreeProcSets.AccessibleRole = System.Windows.Forms.AccessibleRole.Outline; this.advTreeProcSets.AccessibleRole = System.Windows.Forms.AccessibleRole.Outline;
@@ -1406,7 +1407,6 @@ namespace Volian.Controls.Library
// //
this.lbSrchResultsIncTrans.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.lbSrchResultsIncTrans.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.lbSrchResultsIncTrans.CheckBoxesVisible = true; this.lbSrchResultsIncTrans.CheckBoxesVisible = true;
this.lbSrchResultsIncTrans.CheckStateMember = null;
this.lbSrchResultsIncTrans.ContainerControlProcessDialogKey = true; this.lbSrchResultsIncTrans.ContainerControlProcessDialogKey = true;
this.lbSrchResultsIncTrans.Dock = System.Windows.Forms.DockStyle.Fill; this.lbSrchResultsIncTrans.Dock = System.Windows.Forms.DockStyle.Fill;
this.lbSrchResultsIncTrans.DragDropSupport = true; this.lbSrchResultsIncTrans.DragDropSupport = true;
@@ -1733,11 +1733,6 @@ namespace Volian.Controls.Library
this.Controls.Add(this.xpSetToSearch); this.Controls.Add(this.xpSetToSearch);
this.Controls.Add(this.tabSearchTypes); this.Controls.Add(this.tabSearchTypes);
this.Controls.Add(this.tabControlPanel1); this.Controls.Add(this.tabControlPanel1);
//B2025-056 Click on Incoming Transitions
// This needs to be part of overall control
// since if it is part of tabSearchTypes,
// then when that is disabled, buttons on
// this will be also
this.Margin = new System.Windows.Forms.Padding(2); this.Margin = new System.Windows.Forms.Padding(2);
this.Name = "DisplaySearch"; this.Name = "DisplaySearch";
this.RightToLeft = System.Windows.Forms.RightToLeft.Yes; this.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
@@ -1760,11 +1755,11 @@ namespace Volian.Controls.Library
this.gpSrchAnnoText.ResumeLayout(false); this.gpSrchAnnoText.ResumeLayout(false);
this.panel4.ResumeLayout(false); this.panel4.ResumeLayout(false);
this.panel4.PerformLayout(); this.panel4.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.contextMenuBar1)).EndInit();
this.tabControlPanel1.ResumeLayout(false); this.tabControlPanel1.ResumeLayout(false);
this.tabControlPanel1.PerformLayout(); this.tabControlPanel1.PerformLayout();
this.groupBox1.ResumeLayout(false); this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout(); this.groupBox1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.contextMenuBar1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.advTreeProcSets)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.advTreeProcSets)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.advTreeStepTypes)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.advTreeStepTypes)).EndInit();
this.grpPanSearchResults.ResumeLayout(false); this.grpPanSearchResults.ResumeLayout(false);
+48 -1
View File
@@ -2078,8 +2078,9 @@ namespace Volian.Controls.Library
if (cbxFndUnLnkROVals.Enabled && cbxFndUnLnkROVals.Checked) if (cbxFndUnLnkROVals.Enabled && cbxFndUnLnkROVals.Checked)
{ {
string ROSearchList2 = checkPercentChar(ROSearchList); // B2026-053 match exact string
// B2022-031 - added a cbxProcSectSrch to filter out procedure and section titles from global search results. // B2022-031 - added a cbxProcSectSrch to filter out procedure and section titles from global search results.
SearchResults = ItemInfoList.GetListFromTextSearch(DVISearchList, TypeSearchList, ROSearchList, cbxBooleanTxtSrch.Checked ? 2 : cbxCaseSensitive.Checked ? 1 : 0, cbxProcSectSrch.Checked ? 1 : 0, ItemSearchIncludeLinks.Nothing, includeRTFformat, includeSpecialChars, unitPrefix, string.Empty, string.Empty); SearchResults = ItemInfoList.GetListFromTextSearch(DVISearchList, TypeSearchList, ROSearchList2, cbxBooleanTxtSrch.Checked ? 2 : cbxCaseSensitive.Checked ? 1 : 0, cbxProcSectSrch.Checked ? 1 : 0, ItemSearchIncludeLinks.Nothing, includeRTFformat, includeSpecialChars, unitPrefix, string.Empty, string.Empty);
cmbResultsStyleIndex = 3; // display step text in results cmbResultsStyleIndex = 3; // display step text in results
} }
else else
@@ -2190,6 +2191,52 @@ namespace Volian.Controls.Library
OnSearchComplete(new DisplaySearchEventArgs(TimeSpan.FromTicks(DateTime.Now.Ticks - start.Ticks))); OnSearchComplete(new DisplaySearchEventArgs(TimeSpan.FromTicks(DateTime.Now.Ticks - start.Ticks)));
} }
private string checkPercentChar(string SearchString) // B2026-053
{
string ss = "";
string pattern = "%"; // B2026-053 Pattern to match the percentage sign
Match match = Regex.Match(SearchString, pattern);
if (match.Success) // Special case for percents.
{
int sl = SearchString.Length;
int precentIdx = SearchString.LastIndexOf('%');
int startIndex = 0;
if (sl == precentIdx + 1) // % the last char.
{
ss = SearchString.Substring(startIndex, sl - 1);
var isNumeric = int.TryParse(ss, out int n);
if (isNumeric == true) // B2026-053 other that a % are the rest of the characters numbers.
{
ss = ' ' + SearchString + ' '; // to get exact match add spaces before and after search string.
}
else
{
ss = ' ' + SearchString + ' '; // string it not a percent.
}
}
else
{
int strl2 = SearchString.Length;
int prcIdx2 = SearchString.LastIndexOf(' ');
int strIdx2 = 0;
if (strl2 == prcIdx2 + 1) // if the last char is ' ' the last char.
{
ss = ' ' + SearchString; //B2026-053 add a space prefix to make the search exact. If search is 5% this makes it excult 25% 55% etc.;
}
else
{
ss = ' ' + SearchString + ' '; // Exact match add spaces before and after search string.
}
}
}
else
{
ss = ' ' + SearchString + ' '; // Exact match add spaces before and after search string.
}
return ss;
}
private void ClearResults() // B2021-103 if no results when RNO only, clear results list. (moved from btnSearch_Click) private void ClearResults() // B2021-103 if no results when RNO only, clear results list. (moved from btnSearch_Click)
{ {
if (tabSearchTypes.SelectedTab != tabSearchTypes.Tabs[4]) if (tabSearchTypes.SelectedTab != tabSearchTypes.Tabs[4])
+4
View File
@@ -1,4 +1,5 @@
using System; using System;
using System.Windows.Forms;
namespace Volian.Controls.Library namespace Volian.Controls.Library
{ {
@@ -78,6 +79,9 @@ namespace Volian.Controls.Library
// VlnFlexGrid // VlnFlexGrid
// //
this.Rows.DefaultSize = 19; this.Rows.DefaultSize = 19;
this.AllowDrop = true;
this.DragEnter += new DragEventHandler(Control_DragEnter);
this.DragDrop += new DragEventHandler(Control_DragDrop);
((System.ComponentModel.ISupportInitialize)(this)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this)).EndInit();
this.ResumeLayout(false); this.ResumeLayout(false);
+34 -16
View File
@@ -1,22 +1,23 @@
using System;
using System.ComponentModel;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Text;
using System.Windows.Forms;
using System.Drawing;
using System.Runtime.InteropServices;
using System.Xml;
using System.IO;
using Volian.Controls.Library;
using VEPROMS.CSLA.Library;
using C1.Win.C1FlexGrid; using C1.Win.C1FlexGrid;
using C1.Win.C1SpellChecker; using C1.Win.C1SpellChecker;
using System.Text.RegularExpressions; using DevComponents.DotNetBar.Controls;
using System.Xml.Serialization;
using Volian.Base.Library;
using JR.Utils.GUI.Forms; using JR.Utils.GUI.Forms;
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Runtime.InteropServices;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms;
using System.Xml;
using System.Xml.Serialization;
using VEPROMS.CSLA.Library;
using Volian.Base.Library;
using Volian.Controls.Library;
namespace Volian.Controls.Library namespace Volian.Controls.Library
{ {
@@ -4438,6 +4439,23 @@ namespace Volian.Controls.Library
// } // }
//} //}
private void Control_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.Text))
{
e.Effect = DragDropEffects.Copy; // Allow copy
}
else
{
e.Effect = DragDropEffects.None; // Disallow
}
}
private void Control_DragDrop(object sender, DragEventArgs e)
{
string data = (string)e.Data.GetData(DataFormats.Text);
// Process the data (e.g., display it in a TextBox)
this.Text = data;
}
#region Uneven Selections #region Uneven Selections
/// <summary> /// <summary>
/// True if the top and bottom row of the selection is the same for every column /// True if the top and bottom row of the selection is the same for every column