Compare commits
91
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1a890b11cb | ||
|
|
795f21f04b | ||
|
|
c95e86c2a6 | ||
|
|
18d2aa3b51 | ||
|
|
7ba3ea8b13 | ||
|
|
30b34c3a50 | ||
|
|
6a42800d2c | ||
|
|
70f132540f | ||
|
|
cd9eaaaba1 | ||
|
|
70aa1f4024 | ||
|
|
1d634d96fe | ||
|
|
4eb5254d96 | ||
|
|
6c2eee0cbc | ||
|
|
3c5265cecf | ||
|
|
478d35890d | ||
|
|
1b9b63412c | ||
|
|
3bb8fff3a1 | ||
|
|
694bc0ead4 | ||
|
|
cfc324d31e | ||
|
|
43b63e2843 | ||
|
|
f2ec510a70 | ||
|
|
453edbb28e | ||
|
|
bc9407f52f | ||
|
|
954cc5918f | ||
|
|
4ef16e7856 | ||
|
|
1eb3c3e725 | ||
|
|
a89c2d3d22 | ||
|
|
914837a5a2 | ||
|
|
9643a71ba5 | ||
|
|
aa7e0528f8 | ||
|
|
57bd8d569e | ||
|
|
b49d8871a2 | ||
|
|
b90d419bc5 | ||
|
|
1f48d498e1 | ||
|
|
da6139c932 | ||
|
|
be744b40a3 | ||
|
|
780ce657ca | ||
|
|
464be0f803 | ||
|
|
58a6cb9a24 | ||
|
|
9bf7b2ffde | ||
|
|
cde1f28215 | ||
|
|
db198cb7d0 | ||
|
|
99fe567e78 | ||
|
|
2261c8f0f5 | ||
|
|
f93b16fc52 | ||
|
|
7c3a43749c | ||
|
|
ecec7b9f1a | ||
|
|
1aca7335f7 | ||
|
|
ba5aee6640 | ||
|
|
abaf55e9b1 | ||
|
|
3a2dd0b0aa | ||
|
|
0fed1acfd8 | ||
|
|
d7c2300021 | ||
|
|
fca333299d | ||
|
|
a13b03a136 | ||
|
|
48054f5bf1 | ||
|
|
51f2897a33 | ||
|
|
7a3a07b0da | ||
|
|
7c3cfca86c | ||
|
|
352af15984 | ||
|
|
2c42933d58 | ||
|
|
2e68362836 | ||
|
|
c6736db7ea | ||
|
|
c005f03af8 | ||
|
|
459aabcc86 | ||
|
|
ad33097d5e | ||
|
|
8d7735735e | ||
|
|
25bbc46925 | ||
|
|
5a26b0ee35 | ||
|
|
09a397bed2 | ||
|
|
a33039bcae | ||
|
|
0ebd125266 | ||
|
|
fd16a6b6c3 | ||
|
|
cf19f764c7 | ||
|
|
88850d6c25 | ||
|
|
b173c61575 | ||
|
|
3b866f0952 | ||
|
|
94db524a11 | ||
|
|
f27616ce1f | ||
|
|
7f75af7119 | ||
|
|
05ab48cdc5 | ||
|
|
38e42723af | ||
|
|
f4ec60c9e0 | ||
|
|
fd51c209a3 | ||
|
|
01394b1978 | ||
|
|
9b7db08fcf | ||
|
|
6d7cdef223 | ||
|
|
d9c35fe02a | ||
|
|
250b3fa406 | ||
|
|
a5a3f16177 | ||
|
|
ffa7e21c18 |
+2
-1
@@ -401,4 +401,5 @@ FodyWeavers.xsd
|
||||
|
||||
/fmtall
|
||||
/genmacall
|
||||
*AssemblyInfo.cs
|
||||
*AssemblyInfo.cs
|
||||
/PROMS/Baseline/Baseline.sln
|
||||
|
||||
@@ -503,7 +503,7 @@ namespace Baseline
|
||||
string[] fileList = Directory.GetFiles(fi.DirectoryName, patern);
|
||||
// sort the list of file list
|
||||
Array.Sort((string[])fileList);
|
||||
return fileList.First(); // the PDF file that we what should be top of the list then.
|
||||
return fileList.FirstOrDefault(); // the PDF file that we what should be top of the list then.
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -179,6 +179,7 @@
|
||||
<Content Include="fmtall\CPL_00all.xml" />
|
||||
<Content Include="fmtall\CPL_01all.xml" />
|
||||
<Content Include="fmtall\CPL_02all.xml" />
|
||||
<Content Include="fmtall\CPL_04all.xml" />
|
||||
<Content Include="fmtall\CPL_03all.xml" />
|
||||
<Content Include="fmtall\CPSAMGDataall.xml" />
|
||||
<Content Include="fmtall\CPSAMGDEVall.xml" />
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1817,7 +1817,7 @@ ALTER trigger [dbo].[tr_Contents_Delete] on [dbo].[Contents] instead of delete a
|
||||
select ii.ContentID,ii.Number,ii.Text,ii.Type,ii.FormatID,ii.Config,ii.DTS,ii.UserID,ii.DeleteStatus,ii.ActionDTS
|
||||
from tblContents ii inner join deleted dd on dd.ContentID = ii.ContentID
|
||||
where ii.DeleteStatus > 0
|
||||
update ga set ga.contentauditid = (select max(auditid) from contentaudits where contentid = ga.contentid and deletestatus = ga.deletestatus)
|
||||
update ga set ga.contentauditid = (select ISNULL(max(auditid),0) from contentaudits where contentid = ga.contentid and deletestatus = ga.deletestatus)
|
||||
from gridaudits ga join deleted dd on ga.contentid = dd.contentid where ga.contentauditid = 0
|
||||
end
|
||||
go
|
||||
|
||||
@@ -5547,6 +5547,12 @@ ELSE PRINT 'Function: ve_GetItemDerivedApplicability Error on Creation'
|
||||
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 ******/
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ve_GetParentItem]') AND OBJECTPROPERTY(id,N'IsScalarFunction') = 1)
|
||||
DROP FUNCTION [ve_GetParentItem];
|
||||
@@ -5555,35 +5561,46 @@ GO
|
||||
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||
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
|
||||
AS
|
||||
BEGIN
|
||||
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
|
||||
select ii.previousid,0 from items ii
|
||||
select ii.previousid from items ii WITH (NOLOCK)
|
||||
join itemz zz on ii.itemid = zz.itemid
|
||||
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
|
||||
where isfound = 1 OPTION (MAXRECURSION 10000)
|
||||
select top 1 @ParentID = ii.itemid
|
||||
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
|
||||
END
|
||||
|
||||
GO
|
||||
|
||||
IF (@@Error = 0) PRINT 'ScalerFunction [vefn_GetParentItem] Succeeded'
|
||||
ELSE PRINT 'ScalerFunction [vefn_GetParentItem] Error on Creation'
|
||||
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 ******/
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vefn_CanTransitionBeCreated]') AND OBJECTPROPERTY(id,N'IsScalarFunction') = 1)
|
||||
DROP FUNCTION [vefn_CanTransitionBeCreated];
|
||||
@@ -24990,6 +25007,34 @@ IF (@@Error = 0) PRINT 'Procedure Creation: getRevisionByItemIDandRevisionNumber
|
||||
ELSE PRINT 'Procedure Creation: getRevisionByItemIDandRevisionNumber Error on Creation'
|
||||
GO
|
||||
|
||||
/*
|
||||
==========================================================================================================
|
||||
Author: Matthew Schill
|
||||
Create Date: 06/29/2026
|
||||
Description: Added an ISNULL check when setting GridAudits.contentauditid.
|
||||
Was Causing Deletion of some Grids to fail.
|
||||
==========================================================================================================
|
||||
*/
|
||||
/****** Object: Trigger [tr_Contents_Delete] ******/
|
||||
ALTER trigger [dbo].[tr_Contents_Delete] on [dbo].[Contents] instead of delete as
|
||||
begin
|
||||
update ii set DeleteStatus = (select max(DeleteID) from DeleteLog where SPID = @@spid), ActionDTS = getdate(),
|
||||
UserID = (select top 1 UserID from DeleteLog where SPID = @@spid order by deleteid desc)
|
||||
from tblContents ii inner join deleted dd on dd.ContentID = ii.ContentID
|
||||
insert into ContentAudits(ContentID,Number,Text,Type,FormatID,Config,DTS,UserID,DeleteStatus,ActionDTS)
|
||||
select ii.ContentID,ii.Number,ii.Text,ii.Type,ii.FormatID,ii.Config,ii.DTS,ii.UserID,ii.DeleteStatus,ii.ActionDTS
|
||||
from tblContents ii inner join deleted dd on dd.ContentID = ii.ContentID
|
||||
where ii.DeleteStatus > 0
|
||||
update ga set ga.contentauditid = (select ISNULL(max(auditid),0) from contentaudits where contentid = ga.contentid and deletestatus = ga.deletestatus)
|
||||
from gridaudits ga join deleted dd on ga.contentid = dd.contentid where ga.contentauditid = 0
|
||||
end
|
||||
go
|
||||
|
||||
-- Display the status of Trigger alter
|
||||
IF (@@Error = 0) PRINT 'Trigger Alteration: tr_Contents_Delete Succeeded'
|
||||
ELSE PRINT 'Trigger Alteration: tr_Contents_Delete Error on Creation'
|
||||
GO
|
||||
|
||||
/*
|
||||
---------------------------------------------------------------------------
|
||||
| ADD New Code Before this Block |
|
||||
@@ -25023,8 +25068,8 @@ BEGIN TRY -- Try Block
|
||||
DECLARE @RevDate varchar(255)
|
||||
DECLARE @RevDescription varchar(255)
|
||||
|
||||
set @RevDate = '05/26/2026 7:00 AM'
|
||||
set @RevDescription = 'Get Most Recent Revision when Duplicates'
|
||||
set @RevDate = '07/16/2026 8:30 AM'
|
||||
set @RevDescription = 'Reworked ve_GetParentItem for Performance improvement'
|
||||
|
||||
Select cast(@RevDate as datetime) RevDate, @RevDescription RevDescription
|
||||
PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -245,13 +245,17 @@ namespace VEPROMS
|
||||
displayBookMarks.SetupBookMarks(); // setup bookmarks in the child window
|
||||
|
||||
tc.MyCopyStep = myParent.tc.MyCopyStep; // copy the copystep info to the child window
|
||||
|
||||
//B2026 - 048 View Only Mode freezes PROMS if last tab closed
|
||||
tc.EnableDisableStepProperties -= EnableDisableStepProperties;
|
||||
tc.EnableDisableStepProperties += new StepTabRibbonEvent(EnableDisableStepProperties);
|
||||
|
||||
(tv.Nodes[0] as VETreeNode).InChildWindow = true; // tells us this folder's tree nodes are in the child window
|
||||
(tv.Nodes[0] as VETreeNode).InChildWindow = true; // tells us this folder's tree nodes are in the child window
|
||||
}
|
||||
|
||||
public void OpenItem(ItemInfo myItemInfo)
|
||||
{
|
||||
tc.OpenItem(myItemInfo);
|
||||
tc.OpenItem(myItemInfo);
|
||||
}
|
||||
|
||||
public void RefreshItem(ItemInfo myItemInfo)
|
||||
@@ -352,9 +356,10 @@ namespace VEPROMS
|
||||
|
||||
displayRO.TabControl = tc; // B2019-043 this was being passed in as a parameter for DisplayRO which caused issues with the Visual Studio designer
|
||||
bottomProgBar.ValueChanged += new EventHandler(bottomProgBar_ValueChanged);
|
||||
tc.EnableDisableStepProperties += new StepTabRibbonEvent(EnableDisableStepProperties);
|
||||
|
||||
// When creating an XY Plot, a System.Drawing.Graphics is needed and it requires a form. Use the main form.
|
||||
if (VlnSettings.DebugMode)
|
||||
// When creating an XY Plot, a System.Drawing.Graphics is needed and it requires a form. Use the main form.
|
||||
if (VlnSettings.DebugMode)
|
||||
{
|
||||
MSWordToPDF.DebugStatus = 1;
|
||||
MSWordToPDF.OverrideColor = Color.Red;
|
||||
@@ -964,7 +969,18 @@ namespace VEPROMS
|
||||
{
|
||||
pnl.ApplDisplayMode = displayApplicability.ViewMode;
|
||||
displayHistory.ApplDisplayMode = pnl.ApplDisplayMode;
|
||||
|
||||
//C2026-021 Expand Functionality of Viewing Mode
|
||||
if (pnl.ApplDisplayMode > 0 && pnl.VwMode != E_ViewMode.View)
|
||||
{
|
||||
pnl.VwMode = E_ViewMode.View;
|
||||
EnableDisableStepProperties(sender, new StepTabRibbonEventArgs(tc.SelectedDisplayTabItem.MyItemInfo, 0, pnl.VwMode));
|
||||
MessageBox.Show("Changing to View Only Mode. Applicability Viewing Mode must be Master to return to Edit Mode. View Mode can be toggled off via the Ribbon->View tab.", "Changing to View Mode", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||
}
|
||||
|
||||
pnl.MyStepTabPanel.MyStepTabRibbon.RefreshProcedure();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void tv_ViewPDF(object sender, vlnTreeViewPdfArgs args)
|
||||
@@ -2132,7 +2148,7 @@ namespace VEPROMS
|
||||
//C2019-036 View Only mode work with Checked Out Procedures
|
||||
// View Only Mode is no longer checked out, so no longer has an OwnerID
|
||||
// This will keep those tabs from auto-closing based on the timer
|
||||
if (!myList.Contains(dti.OwnerID) && dti.MyStepTabPanel.MyStepPanel.VwMode != E_ViewMode.View)
|
||||
if (!myList.Contains(dti.OwnerID) && dti?.MyStepTabPanel?.MyStepPanel?.VwMode != E_ViewMode.View)
|
||||
{
|
||||
MyCloseTabList.PushDTI(dti);
|
||||
}
|
||||
@@ -3562,6 +3578,7 @@ namespace VEPROMS
|
||||
{
|
||||
if (parameter.StartsWith("/P="))
|
||||
{
|
||||
BaseLnSettings.blBaseLine = true;
|
||||
MSWordToPDF.Automatic = true;
|
||||
PromsPrinter.BaselineTesting = true;// Set Baseline Testing property for PROMsPrinter
|
||||
string[] dvstrs = parameter.Substring(3).Split(",".ToCharArray());
|
||||
@@ -3607,7 +3624,7 @@ namespace VEPROMS
|
||||
}
|
||||
ranAuto = true;
|
||||
}
|
||||
|
||||
BaseLnSettings.blBaseLine = false;
|
||||
if (ranAuto)
|
||||
{
|
||||
this.Close();
|
||||
@@ -4867,15 +4884,31 @@ namespace VEPROMS
|
||||
//In View Only Mode - Step Properties should be disabled
|
||||
public void EnableDisableStepProperties(object sender, StepTabRibbonEventArgs args)
|
||||
{
|
||||
if (args.ViewMode == E_ViewMode.View && (infoTabs.Enabled || infoTabs.SelectedTab != infotabTags))
|
||||
//C2026 - 021 Expand Functionality of Viewing Mode
|
||||
//B2026 - 048 View Only Mode freezes PROMS if last tab closed
|
||||
if (args.ViewMode == E_ViewMode.View && (infotabControlPanelTags.Enabled || (infoTabs.SelectedTab != infotabTags && infoTabs.SelectedTab != infotabApplicability)))
|
||||
{
|
||||
infoTabs.Enabled = true;
|
||||
infoTabs.SelectedTab = infotabTags;
|
||||
infoTabs.Enabled = false;
|
||||
if (infoTabs.SelectedTab != infotabApplicability)
|
||||
{
|
||||
infoTabs.SelectedTab = infotabTags;
|
||||
}
|
||||
|
||||
infotabControlPanelTags.Enabled = false;
|
||||
infotabControlPanelRO.Enabled = false;
|
||||
infotabControlPanelTransitions.Enabled = false;
|
||||
tabControlPanel1.Enabled = false;
|
||||
displayApplicability.SetEnableDisableItemSelection(false);
|
||||
tcpFoldoutMaint.Enabled = false;
|
||||
|
||||
}
|
||||
else if (args.ViewMode != E_ViewMode.View && !infoTabs.Enabled)
|
||||
else if (args.ViewMode != E_ViewMode.View && !infotabControlPanelTags.Enabled)
|
||||
{
|
||||
infoTabs.Enabled = true;
|
||||
infotabControlPanelTags.Enabled = true;
|
||||
infotabControlPanelRO.Enabled = true;
|
||||
infotabControlPanelTransitions.Enabled = true;
|
||||
tabControlPanel1.Enabled = true;
|
||||
displayApplicability.SetEnableDisableItemSelection(true);
|
||||
tcpFoldoutMaint.Enabled = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,7 +8,6 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading;
|
||||
using static System.Net.Mime.MediaTypeNames;
|
||||
|
||||
|
||||
namespace VEPROMS.CSLA.Library
|
||||
@@ -61,7 +60,8 @@ namespace VEPROMS.CSLA.Library
|
||||
#region Structs / Internal Classes
|
||||
|
||||
[Serializable]
|
||||
public struct roHdr
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE1006:Naming Styles", Justification = "Keep Older Pre-existing naming conventions")]
|
||||
public struct roHdr
|
||||
{
|
||||
public int hSize;
|
||||
public int hYear;
|
||||
@@ -78,7 +78,8 @@ namespace VEPROMS.CSLA.Library
|
||||
};
|
||||
|
||||
[Serializable]
|
||||
public struct rodbi
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE1006:Naming Styles", Justification = "Keep Older Pre-existing naming conventions")]
|
||||
public struct rodbi
|
||||
{
|
||||
public int dbiID;
|
||||
public int dbiType;
|
||||
@@ -91,7 +92,8 @@ namespace VEPROMS.CSLA.Library
|
||||
};
|
||||
|
||||
[Serializable]
|
||||
public struct rogrp
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE1006:Naming Styles", Justification = "Keep Older Pre-existing naming conventions")]
|
||||
public struct rogrp
|
||||
{
|
||||
public string value;
|
||||
public string appid;
|
||||
@@ -102,7 +104,8 @@ namespace VEPROMS.CSLA.Library
|
||||
};
|
||||
|
||||
[Serializable]
|
||||
public struct rochild
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE1006:Naming Styles", Justification = "Keep Older Pre-existing naming conventions")]
|
||||
public struct rochild
|
||||
{
|
||||
public int ID;
|
||||
public int ParentID;
|
||||
@@ -133,7 +136,7 @@ namespace VEPROMS.CSLA.Library
|
||||
private List<string> _baseAccPageKeys;
|
||||
|
||||
// RofstLookup/Conversion Variables
|
||||
private int _rofstID;
|
||||
private readonly int _rofstID;
|
||||
private DocVersionInfo _myDocVersionInfo;
|
||||
private int _selectedSlave;
|
||||
private string _otherChild = string.Empty;
|
||||
@@ -149,7 +152,7 @@ namespace VEPROMS.CSLA.Library
|
||||
// B2022-107: Display Progress Bar Messages/Statuses when a new ROFST binary file is loaded into the database
|
||||
private frmRofstLoadStatus _frmRofstLoadStatus = null;
|
||||
private Dictionary<int, int> _dicRoCounts = null;
|
||||
private bool _showLoadingStatus = true;
|
||||
private readonly bool _showLoadingStatus = true;
|
||||
|
||||
private int _curRoCnt = 0;
|
||||
private int _dbRoCnt = 0;
|
||||
@@ -414,7 +417,6 @@ namespace VEPROMS.CSLA.Library
|
||||
|
||||
ROFSTLookup.rochild rc = RofstDataGetChildByAccPageID(_rofstID, accPageBase);
|
||||
|
||||
//if (rc.ID >=0 && rc.roid.Length < 16 && Regex.IsMatch(accPageKey, @".*\.[A-Z]") && rc.children != null && rc.children.Count() > 0)
|
||||
if (rc.ID >= 0 && rc.roid.Length < 16 && !string.IsNullOrEmpty(accPageExt) && rc.children != null && rc.children.Count() > 0)
|
||||
{
|
||||
// Check if AccPageID/Key has a return value specific extension. Try to find the RoChild record with the specific return value type,
|
||||
@@ -507,8 +509,6 @@ namespace VEPROMS.CSLA.Library
|
||||
// B2023-037: Handle <=, >=, +-, -> and <- symbols. Convert to unicode for output, i.e. print and edit/view (when editing
|
||||
// step, will show as 2 characters, not unicode, unless ro inserted when code replaced link text with unicode.
|
||||
|
||||
//(_MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.UseDashGreaterLessThenForArrowsInROValue ||
|
||||
// _MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.ConvertGTELTEPMinROValue))
|
||||
bool arrows1 = myiteminfo.ActiveFormat.PlantFormat.FormatData.SectData.UseDashGreaterLessThenForArrowsInROValue;
|
||||
bool arrows2 = myiteminfo.ActiveFormat.PlantFormat.FormatData.SectData.ConvertGTELTEPMinROValue;
|
||||
|
||||
@@ -681,11 +681,10 @@ namespace VEPROMS.CSLA.Library
|
||||
|
||||
if (minutes > 0) duration = string.Format("{0} min(s) ", minutes.ToString("n0"));
|
||||
if (secs < 0) secs = 0.00;
|
||||
duration = duration + string.Format("{0,10:#####0.00} sec(s)", secs).Trim();
|
||||
duration += string.Format("{0,10:#####0.00} sec(s)", secs).Trim();
|
||||
|
||||
return duration;
|
||||
|
||||
//return string.Format("{0,10:#####0.00}", TimeSpan.FromTicks(DateTime.Now.Ticks - dtStart.Ticks).TotalSeconds);
|
||||
}
|
||||
|
||||
//C2026-008 Re-Architect RO.FST to include RO Modification date/time
|
||||
@@ -1475,21 +1474,22 @@ namespace VEPROMS.CSLA.Library
|
||||
|
||||
private ROFSTLookup.roHdr ConvertFst2Objects(byte[] ab)
|
||||
{
|
||||
ROFSTLookup.roHdr roh = new ROFSTLookup.roHdr();
|
||||
ROFSTLookup.roHdr roh = new ROFSTLookup.roHdr
|
||||
{
|
||||
hSize = BitConverter.ToInt32(ab, 0),
|
||||
hYear = BitConverter.ToInt16(ab, 4),
|
||||
hMonth = ab[6],
|
||||
hDay = ab[7],
|
||||
hcYear = BitConverter.ToInt16(ab, 8),
|
||||
hcMonth = ab[10],
|
||||
hcDay = ab[11],
|
||||
hcHour = ab[12],
|
||||
hcMin = ab[13],
|
||||
hcSec = ab[14],
|
||||
hcHund = ab[15]
|
||||
};
|
||||
|
||||
roh.hSize = BitConverter.ToInt32(ab, 0);
|
||||
roh.hYear = BitConverter.ToInt16(ab, 4);
|
||||
roh.hMonth = ab[6];
|
||||
roh.hDay = ab[7];
|
||||
roh.hcYear = BitConverter.ToInt16(ab, 8);
|
||||
roh.hcMonth = ab[10];
|
||||
roh.hcDay = ab[11];
|
||||
roh.hcHour = ab[12];
|
||||
roh.hcMin = ab[13];
|
||||
roh.hcSec = ab[14];
|
||||
roh.hcHund = ab[15];
|
||||
|
||||
int hdrOffset = BitConverter.ToInt32(ab, 16);
|
||||
int hdrOffset = BitConverter.ToInt32(ab, 16);
|
||||
int dbs = BitConverter.ToInt16(ab, hdrOffset + 4);
|
||||
|
||||
roh.myDbs = new ROFSTLookup.rodbi[dbs];
|
||||
@@ -1525,12 +1525,13 @@ namespace VEPROMS.CSLA.Library
|
||||
|
||||
private ROFSTLookup.rogrp LoadGroup(byte[] ab, int offset, int tableID)
|
||||
{
|
||||
ROFSTLookup.rogrp myGrp = new ROFSTLookup.rogrp();
|
||||
ROFSTLookup.rogrp myGrp = new ROFSTLookup.rogrp
|
||||
{
|
||||
ID = BitConverter.ToInt32(ab, offset),
|
||||
ParentID = BitConverter.ToInt32(ab, offset + 4)
|
||||
};
|
||||
|
||||
myGrp.ID = BitConverter.ToInt32(ab, offset);
|
||||
myGrp.ParentID = BitConverter.ToInt32(ab, offset + 4);
|
||||
|
||||
int numChildren = BitConverter.ToInt16(ab, offset + 8);
|
||||
int numChildren = BitConverter.ToInt16(ab, offset + 8);
|
||||
|
||||
if (numChildren > 0)
|
||||
{
|
||||
@@ -1660,7 +1661,7 @@ namespace VEPROMS.CSLA.Library
|
||||
}
|
||||
|
||||
// Update Progress Bar Accordingly
|
||||
if (_totalRoCnt > 0) _pctComplete = _pctComplete + ((Convert.ToDouble(_dbRoCnt) / Convert.ToDouble(_totalRoCnt)) * 80.0);
|
||||
if (_totalRoCnt > 0) _pctComplete += ((Convert.ToDouble(_dbRoCnt) / Convert.ToDouble(_totalRoCnt)) * 80.0);
|
||||
|
||||
OnProgressChanged(displayText, Convert.ToInt32(_pctComplete), 100);
|
||||
}
|
||||
@@ -1720,15 +1721,13 @@ namespace VEPROMS.CSLA.Library
|
||||
protected virtual void OnProgressChanged(string title, string displayText, int curVal = 0, int maxVal = 100)
|
||||
{
|
||||
// If frmRofstLoadStatus is not null then call Update Progress Method
|
||||
if (_frmRofstLoadStatus != null)
|
||||
_frmRofstLoadStatus.UpdateProgress(title, displayText, curVal, maxVal);
|
||||
_frmRofstLoadStatus?.UpdateProgress(title, displayText, curVal, maxVal);
|
||||
}
|
||||
|
||||
protected virtual void OnProgressChanged(string displayText, int curVal = 0, int maxVal = 100)
|
||||
{
|
||||
// If frmRofstLoadStatus is not null then call Update Progress Method
|
||||
if (_frmRofstLoadStatus != null)
|
||||
_frmRofstLoadStatus.UpdateProgress(_frmRofstLoadStatus.Title, displayText, curVal, maxVal);
|
||||
_frmRofstLoadStatus?.UpdateProgress(_frmRofstLoadStatus.Title, displayText, curVal, maxVal);
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -1739,21 +1738,22 @@ namespace VEPROMS.CSLA.Library
|
||||
|
||||
private ROFSTLookup.roHdr ConvertToRoHdrObject(SafeDataReader dr, bool loadChildren)
|
||||
{
|
||||
ROFSTLookup.roHdr rh = new ROFSTLookup.roHdr();
|
||||
ROFSTLookup.roHdr rh = new ROFSTLookup.roHdr
|
||||
{
|
||||
hSize = (int)dr.GetValue("hSize"),
|
||||
hYear = (int)dr.GetValue("hYear"),
|
||||
hMonth = (byte)dr.GetValue("hMonth"),
|
||||
hDay = (byte)dr.GetValue("hDay"),
|
||||
hcYear = (int)dr.GetValue("hcYear"),
|
||||
hcMonth = (byte)dr.GetValue("hcMonth"),
|
||||
hcDay = (byte)dr.GetValue("hcDay"),
|
||||
hcHour = (byte)dr.GetValue("hcHour"),
|
||||
hcMin = (byte)dr.GetValue("hcMin"),
|
||||
hcSec = (byte)dr.GetValue("hcSec"),
|
||||
hcHund = (byte)dr.GetValue("hcHund")
|
||||
};
|
||||
|
||||
rh.hSize = (int)dr.GetValue("hSize");
|
||||
rh.hYear = (int)dr.GetValue("hYear");
|
||||
rh.hMonth = (byte)dr.GetValue("hMonth");
|
||||
rh.hDay = (byte)dr.GetValue("hDay");
|
||||
rh.hcYear = (int)dr.GetValue("hcYear");
|
||||
rh.hcMonth = (byte)dr.GetValue("hcMonth");
|
||||
rh.hcDay = (byte)dr.GetValue("hcDay");
|
||||
rh.hcHour = (byte)dr.GetValue("hcHour");
|
||||
rh.hcMin = (byte)dr.GetValue("hcMin");
|
||||
rh.hcSec = (byte)dr.GetValue("hcSec");
|
||||
rh.hcHund = (byte)dr.GetValue("hcHund");
|
||||
|
||||
if (loadChildren)
|
||||
if (loadChildren)
|
||||
{
|
||||
rh.myDbs = RofstDataGetDatabases(_rofstID);
|
||||
}
|
||||
@@ -1763,17 +1763,18 @@ namespace VEPROMS.CSLA.Library
|
||||
|
||||
private ROFSTLookup.rodbi ConvertToRodbiObject(SafeDataReader dr, bool loadChildren, bool loadAllChildren)
|
||||
{
|
||||
ROFSTLookup.rodbi rd = new ROFSTLookup.rodbi();
|
||||
ROFSTLookup.rodbi rd = new ROFSTLookup.rodbi
|
||||
{
|
||||
dbiID = (int)dr.GetValue("dbiID"),
|
||||
dbiType = (int)dr.GetValue("dbiType"),
|
||||
dbiAW = (int)dr.GetValue("dbiAW"),
|
||||
dbiAP = (string)dr.GetValue("dbiAP"),
|
||||
dbiTitle = (string)dr.GetValue("dbiTitle"),
|
||||
ID = (int)dr.GetValue("ID"),
|
||||
ParentID = (int)dr.GetValue("ParentID")
|
||||
};
|
||||
|
||||
rd.dbiID = (int)dr.GetValue("dbiID");
|
||||
rd.dbiType = (int)dr.GetValue("dbiType");
|
||||
rd.dbiAW = (int)dr.GetValue("dbiAW");
|
||||
rd.dbiAP = (string)dr.GetValue("dbiAP");
|
||||
rd.dbiTitle = (string)dr.GetValue("dbiTitle");
|
||||
rd.ID = (int)dr.GetValue("ID");
|
||||
rd.ParentID = (int)dr.GetValue("ParentID");
|
||||
|
||||
if (loadChildren || loadAllChildren)
|
||||
if (loadChildren || loadAllChildren)
|
||||
{
|
||||
rd.children = RofstDataGetChildrenByID(_rofstID, rd.dbiID, rd.ID, false, loadAllChildren);
|
||||
}
|
||||
@@ -1783,15 +1784,16 @@ namespace VEPROMS.CSLA.Library
|
||||
|
||||
private ROFSTLookup.rochild ConvertToRochildObject(SafeDataReader dr, bool loadChildren, bool loadAllChildren)
|
||||
{
|
||||
ROFSTLookup.rochild rc = new ROFSTLookup.rochild();
|
||||
ROFSTLookup.rochild rc = new ROFSTLookup.rochild
|
||||
{
|
||||
ID = (int)dr.GetValue("ID"),
|
||||
ParentID = (int)dr.GetValue("ParentID"),
|
||||
type = (int)dr.GetValue("type"),
|
||||
title = (string)dr.GetValue("title"),
|
||||
roid = (string)dr.GetValue("roid")
|
||||
};
|
||||
|
||||
rc.ID = (int)dr.GetValue("ID");
|
||||
rc.ParentID = (int)dr.GetValue("ParentID");
|
||||
rc.type = (int)dr.GetValue("type");
|
||||
rc.title = (string)dr.GetValue("title");
|
||||
rc.roid = (string)dr.GetValue("roid");
|
||||
|
||||
if (!string.IsNullOrEmpty((string)dr.GetValue("appid")))
|
||||
if (!string.IsNullOrEmpty((string)dr.GetValue("appid")))
|
||||
{
|
||||
rc.appid = (string)dr.GetValue("AccPageID");
|
||||
|
||||
@@ -1811,13 +1813,14 @@ namespace VEPROMS.CSLA.Library
|
||||
|
||||
private ROFSTLookup.RoExtension ConvertToRoExtensionObject(SafeDataReader dr)
|
||||
{
|
||||
ROFSTLookup.RoExtension re = new ROFSTLookup.RoExtension();
|
||||
ROFSTLookup.RoExtension re = new ROFSTLookup.RoExtension
|
||||
{
|
||||
Offset = (int)dr.GetValue("Offset"),
|
||||
RoidExt = (string)dr.GetValue("RoidExt"),
|
||||
AccPageExt = (string)dr.GetValue("AccPageExt")
|
||||
};
|
||||
|
||||
re.Offset = (int)dr.GetValue("Offset");
|
||||
re.RoidExt = (string)dr.GetValue("RoidExt");
|
||||
re.AccPageExt = (string)dr.GetValue("AccPageExt");
|
||||
|
||||
return re;
|
||||
return re;
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -1875,7 +1878,6 @@ namespace VEPROMS.CSLA.Library
|
||||
// Instead of returning the RoChildBase object with a single RoReturnVal object attached, just return the single Ro ReturnValue object.
|
||||
var roRetVal = child.children.First();
|
||||
|
||||
//child.title = roRetVal.title;
|
||||
child.appid = roRetVal.appid;
|
||||
child.roid = roRetVal.roid;
|
||||
child.value = roRetVal.value;
|
||||
@@ -2129,44 +2131,71 @@ namespace VEPROMS.CSLA.Library
|
||||
return ProcessRO(match, multiRtnVal);
|
||||
}
|
||||
|
||||
private string ProcessMacros(string str)
|
||||
{
|
||||
// Takes the RO text value and sees if a macro has been used.
|
||||
// If so it will perform the macro operation on the substring in the text value
|
||||
// Note** Right now the only macro is @HSP(), where every space between the "(" and ")" will be replaced with a hard space
|
||||
// Takes the RO text value and sees if a macro has been used.
|
||||
// If so it will perform the macro operation on the substring in the text value
|
||||
// Note** Right now the only macro is @HSP(), where every space between the "(" and ")" will be replaced with a hard space
|
||||
private static string ProcessMacros(string str)
|
||||
{
|
||||
|
||||
if (string.IsNullOrEmpty(str))
|
||||
return str;
|
||||
if (string.IsNullOrEmpty(str) || str.ToUpper().IndexOf("@HSP(") < 0)
|
||||
return str;
|
||||
|
||||
string rtnstr = str;
|
||||
int indx;
|
||||
|
||||
while ((indx = rtnstr.ToUpper().IndexOf("@HSP(")) > -1)
|
||||
{
|
||||
string resstr = rtnstr.Substring(0, indx);
|
||||
int endHsp = rtnstr.IndexOf(")", indx);
|
||||
string processingstr = str; //holds current string being processed
|
||||
int indx; //current position of @HSP( in string
|
||||
int endpos = 0; //end of last parens
|
||||
|
||||
//B2026 - 002 handle if parens inside a HSP
|
||||
int startpos = indx + 5;
|
||||
while (rtnstr.Substring(startpos, endHsp - startpos).Contains("("))
|
||||
{
|
||||
startpos = rtnstr.IndexOf("(", startpos + 1, endHsp - startpos) + 1;
|
||||
endHsp = rtnstr.IndexOf(")", endHsp + 1);
|
||||
}
|
||||
StringBuilder sb = new StringBuilder();
|
||||
Stack<char> endparens = new Stack<char>();
|
||||
|
||||
string tmpstr = rtnstr.Substring(indx + 5, endHsp - indx - 5);
|
||||
while ((indx = processingstr.ToUpper().IndexOf("@HSP(")) > -1)
|
||||
{
|
||||
sb.Append(processingstr.Substring(0, indx)); // initial string before @HSP(
|
||||
|
||||
// B2017-012 Don't convert space to hard spaces for XY Plots.
|
||||
if (!tmpstr.Contains("<<G")) tmpstr = tmpstr.Replace(" ", @"\u160?");
|
||||
for (int i = indx + 5; i < processingstr.Length; i++)
|
||||
{
|
||||
char ch = processingstr[i];
|
||||
|
||||
resstr = resstr + tmpstr;
|
||||
rtnstr = resstr + rtnstr.Substring(endHsp + 1);
|
||||
}
|
||||
if (ch == '(')
|
||||
{
|
||||
//if opening paren inside HSP add it to the stack to look for a closing parens
|
||||
endparens.Push(ch);
|
||||
}
|
||||
else if (ch == ')' && endparens.Count > 0)
|
||||
{
|
||||
//if cloing parens and it matches an opening parens inside of HSP, remove a level
|
||||
_ = endparens.Pop();
|
||||
}
|
||||
else if (ch == ')' && endparens.Count == 0)
|
||||
{
|
||||
//if closing parens and at same level as HSP, break out since found correct closing parens
|
||||
endpos = i;
|
||||
break;
|
||||
}
|
||||
else if (i == processingstr.Length - 1)
|
||||
{
|
||||
//if hit the end of the string and no matching closing parens found, take to the end of the string
|
||||
endpos = processingstr.Length;
|
||||
}
|
||||
}
|
||||
|
||||
return rtnstr;
|
||||
}
|
||||
//Add the text inside the @HSP(...)
|
||||
string tmpstr = processingstr.Substring(indx + 5, endpos - indx - 5);
|
||||
// B2017-012 Don't convert space to hard spaces for XY Plots.
|
||||
if (!tmpstr.Contains("<<G")) tmpstr = tmpstr.Replace(" ", @"\u160?");
|
||||
sb.Append(tmpstr);
|
||||
|
||||
private int StringLength(byte[] ab, int offset)
|
||||
//Set the processing string to after the ending parens found in case multiple @HSP
|
||||
processingstr = endpos + 1 >= processingstr.Length ? "" : processingstr.Substring(endpos + 1);
|
||||
}
|
||||
|
||||
//add text after last end parens
|
||||
sb.Append(processingstr);
|
||||
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
private int StringLength(byte[] ab, int offset)
|
||||
{
|
||||
int i = 0;
|
||||
while (ab[i + offset] != 0) i++;
|
||||
@@ -2275,7 +2304,7 @@ namespace VEPROMS.CSLA.Library
|
||||
{
|
||||
rc.roid = FormatRoidKey(roid).Substring(0, 12);
|
||||
|
||||
DocVersionConfig dvc = (_myDocVersionInfo != null) ? _myDocVersionInfo.DocVersionConfig : null;
|
||||
DocVersionConfig dvc = _myDocVersionInfo?.DocVersionConfig;
|
||||
if (dvc != null) dvc.SelectedSlave = this.SelectedSlave;
|
||||
|
||||
switch (rc.roid)
|
||||
@@ -2283,49 +2312,49 @@ namespace VEPROMS.CSLA.Library
|
||||
case "FFFF00000001":
|
||||
rc.title = "Number";
|
||||
rc.appid = "U-NUMBER";
|
||||
rc.value = (dvc != null) ? dvc.Unit_Number : null;
|
||||
rc.value = dvc?.Unit_Number;
|
||||
break;
|
||||
|
||||
case "FFFF00000002":
|
||||
rc.title = "Other Number";
|
||||
rc.appid = "U-OTHERNUMBER";
|
||||
rc.value = (dvc != null) ? dvc.Other_Unit_Number : null;
|
||||
rc.value = dvc?.Other_Unit_Number;
|
||||
break;
|
||||
|
||||
case "FFFF00000003":
|
||||
rc.title = "Text";
|
||||
rc.appid = "U-TEXT";
|
||||
rc.value = (dvc != null) ? dvc.Unit_Text : null;
|
||||
rc.value = dvc?.Unit_Text;
|
||||
break;
|
||||
|
||||
case "FFFF00000004":
|
||||
rc.title = "Other Text";
|
||||
rc.appid = "U-OTHERTEXT";
|
||||
rc.value = (dvc != null) ? dvc.Other_Unit_Text : null;
|
||||
rc.value = dvc?.Other_Unit_Text;
|
||||
break;
|
||||
|
||||
case "FFFF00000005":
|
||||
rc.title = "ID";
|
||||
rc.appid = "U-ID";
|
||||
rc.value = (dvc != null) ? dvc.Unit_ID : null;
|
||||
rc.value = dvc?.Unit_ID;
|
||||
break;
|
||||
|
||||
case "FFFF00000006":
|
||||
rc.title = "Other ID";
|
||||
rc.appid = "U-OTHERID";
|
||||
rc.value = (dvc != null) ? dvc.Other_Unit_ID : null;
|
||||
rc.value = dvc?.Other_Unit_ID;
|
||||
break;
|
||||
|
||||
case "FFFF00000007":
|
||||
rc.title = "Name";
|
||||
rc.appid = "U-NAME";
|
||||
rc.value = (dvc != null) ? dvc.Unit_Name : null;
|
||||
rc.value = dvc?.Unit_Name;
|
||||
break;
|
||||
|
||||
case "FFFF00000008":
|
||||
rc.title = "Other Name";
|
||||
rc.appid = "U-OTHERNAME";
|
||||
rc.value = (dvc != null) ? dvc.Other_Unit_Name : null;
|
||||
rc.value = dvc?.Other_Unit_Name;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -1258,7 +1258,7 @@ namespace VEPROMS.CSLA.Library
|
||||
|
||||
int lastStart = sel == null ? 0 : sel.Start;
|
||||
|
||||
while (sel != null)
|
||||
while (sel != null)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(sel.Text))
|
||||
{
|
||||
@@ -1438,7 +1438,7 @@ namespace VEPROMS.CSLA.Library
|
||||
|
||||
lastStart = sel.Start;
|
||||
|
||||
sel = FindRO();
|
||||
sel = FindRO();
|
||||
|
||||
if (sel != null && !string.IsNullOrEmpty(sel.Text) && sel.Start == lastStart)
|
||||
{
|
||||
@@ -2124,22 +2124,22 @@ namespace VEPROMS.CSLA.Library
|
||||
bool executeResult = false;
|
||||
LBSelection sel = null;
|
||||
|
||||
while (!executeResult)
|
||||
while (!executeResult)
|
||||
{
|
||||
sel = MyApp.Selection;
|
||||
LBFind find = sel.Find;
|
||||
find.ClearFormatting();
|
||||
|
||||
// Search string format - this is MSWord wildcard format
|
||||
// If you do a search in MSWord, make sure wildcard box is checked and then press the
|
||||
// Special button to see the definitions of the various wildcards
|
||||
// [<] - Less-Than Character
|
||||
// [!<> -]@ - 1 or more characters not including Less-Than, Greater-Than, Dash or Space
|
||||
// - Dash
|
||||
// [!<>]@ - 1 or more characters not including Less-Than, Greater-Than.
|
||||
// a space be included as part of the accessory page id (Callaway, EOP Addendum 37)
|
||||
// [>] - Greater-Than Character
|
||||
find.Text = "[<][!<> -]@-[!<>]@[>]";
|
||||
// Search string format - this is MSWord wildcard format
|
||||
// If you do a search in MSWord, make sure wildcard box is checked and then press the
|
||||
// Special button to see the definitions of the various wildcards
|
||||
// [<] - Less-Than Character
|
||||
// [!<> -]@ - 1 or more characters not including Less-Than, Greater-Than, Dash or Space
|
||||
// - Dash
|
||||
// [!<>]@ - 1 or more characters not including Less-Than, Greater-Than.
|
||||
// a space be included as part of the accessory page id (Callaway, EOP Addendum 37)
|
||||
// [>] - Greater-Than Character
|
||||
find.Text = "[<][!<> -]@-[!<>]@[>]";
|
||||
find.Wrap = LBWdFindWrap.wdFindContinue;
|
||||
find.MatchCase = false;
|
||||
find.MatchWholeWord = false;
|
||||
@@ -2159,14 +2159,18 @@ namespace VEPROMS.CSLA.Library
|
||||
{
|
||||
tryagain = false;
|
||||
executeResult = find.Execute();
|
||||
// B2022-053 if the found text does not begin with a "<" and end with a ">", then
|
||||
// move past that text and try the Word Find function again.
|
||||
// B2022-088: [JPR] Find Doc Ro button not working in Word Sections
|
||||
// B2022-098: [JPR] ROs not being resolved in Word Sections
|
||||
// B2022-053 if the found text does not begin with a "<" and end with a ">", then
|
||||
// move past that text and try the Word Find function again.
|
||||
// B2022-088: [JPR] Find Doc Ro button not working in Word Sections
|
||||
// B2022-098: [JPR] ROs not being resolved in Word Sections
|
||||
// B2026-070: When there is a less-then sign (<) followed by a numeric value in a Word attachment (inside of a table), PROMS thinks the user put in an RO token will generate an RO not found error in the following table row who's text contains <U-Name>.
|
||||
if (executeResult && !string.IsNullOrEmpty(sel.Text) && !sel.Text.StartsWith("<") && !sel.Text.EndsWith(">"))
|
||||
{
|
||||
sel.MoveStart(LBWdUnits.wdCharacter, sel.Text.Length - 1);
|
||||
tryagain = true;
|
||||
{
|
||||
int location = sel.Start + sel.Text.Length - 1; //do not do this inline - this needs captured before WholeStory
|
||||
|
||||
sel.WholeStory();
|
||||
sel.MoveStart(LBWdUnits.wdCharacter, location);
|
||||
tryagain = true;
|
||||
}
|
||||
} while (tryagain);
|
||||
|
||||
@@ -2191,7 +2195,7 @@ namespace VEPROMS.CSLA.Library
|
||||
sel.MoveStart(LBWdUnits.wdCharacter, 1);
|
||||
executeResult = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (executeResult) return sel;
|
||||
|
||||
|
||||
@@ -4113,7 +4113,10 @@ namespace VEPROMS.CSLA.Library
|
||||
// date). Print_ViewableAfterChangeBarDate was created to get only that user specified date, if it exists. If it does exist, we compare
|
||||
// that with the Content datetime, otherwise we proceed as before.
|
||||
DateTime? viewableStartingDateTime = (MyProcedure.MyConfig as ProcedureConfig).Print_ViewableStartingChangeBarDate;
|
||||
if (viewableStartingDateTime != null && viewableStartingDateTime > MyProcedure.ChangeBarDate && (MyProcedure.MyConfig as ProcedureConfig).SelectedSlave == 0)
|
||||
// B2026-060 & B2026-061 removed the check of SelectedSlave (aka the selected child) from the IF statement,
|
||||
// This was causing some step to print with change bars when there should not have been - because of the use of
|
||||
// the Show Change Bars After date. The logic we need is built into the get of ChangeBarDate and Print_ViewableStartingChangeBarDate.
|
||||
if (viewableStartingDateTime != null && viewableStartingDateTime > MyProcedure.ChangeBarDate)
|
||||
return (MyContent.DTS > viewableStartingDateTime);
|
||||
return (MyContent.DTS > MyProcedure.ChangeBarDate);
|
||||
}
|
||||
@@ -8123,6 +8126,10 @@ namespace VEPROMS.CSLA.Library
|
||||
}
|
||||
set { _ChangeBarDate = value; }
|
||||
}
|
||||
|
||||
//C2026-021 Expand Functionality of Viewing Mode
|
||||
public void ResetChangeBar() => _ChangeBarDate = null;
|
||||
|
||||
public Dictionary<int, ItemInfo> MyLookup = null;
|
||||
public override void SetupTags()
|
||||
{
|
||||
|
||||
@@ -262,8 +262,10 @@ namespace VEPROMS.CSLA.Library
|
||||
if (dvi.DocVersionAssociations[0].MyROFst.ROFstID != newfstid)
|
||||
{
|
||||
dv.DocVersionAssociations[0].MyROFst = localROFst.GetJustROFst();
|
||||
SetAssociationLastCompleted(dv, DateTime.Now.ToString());
|
||||
}
|
||||
// B2026-066 moved this out of if statement above
|
||||
// - was not resetting the datetime and thus not disabling the Update RO Values button and menu item
|
||||
SetAssociationLastCompleted(dv, DateTime.Now.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -326,7 +328,9 @@ namespace VEPROMS.CSLA.Library
|
||||
// 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)
|
||||
{
|
||||
if (myProgressBarRefresh != null) myProgressBarRefresh(0, 100, "Starting Update");
|
||||
ROWorkingDraftAsk.ClearWorkingDrafts();
|
||||
|
||||
if (myProgressBarRefresh != null) myProgressBarRefresh(0, 100, "Starting Update");
|
||||
|
||||
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\UserSettings.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Session\ROWorkingDraftAsk.cs" />
|
||||
<Compile Include="VEObjects\VEDrillDown.cs" />
|
||||
<Compile Include="VEObjects\VETreeNode.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
|
||||
namespace Volian.Base.Library
|
||||
{
|
||||
public static class BaseLnSettings
|
||||
{
|
||||
public static bool blBaseLine { get; set; } = false;
|
||||
}
|
||||
}
|
||||
@@ -90,6 +90,7 @@
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="BaseLnSettings.cs" />
|
||||
<Compile Include="BigNum.cs" />
|
||||
<Compile Include="ByteArrayCompare.cs" />
|
||||
<Compile Include="DebugPrint.cs" />
|
||||
|
||||
@@ -613,7 +613,15 @@ namespace Volian.Controls.Library
|
||||
_In_DSOTabPanel_Enter = false;
|
||||
_MyDisplayTabControl.SelectedDisplayTabItem = MyDisplayTabItem;
|
||||
// B2018-070 Position the text cursor - Activate MS Word Panel
|
||||
_MyEdWord.GotoItem(EDWordLib.WdGoToItem.wdGoToObject, EDWordLib.WdGoToDirection.wdGoToNext, 0, null);
|
||||
try
|
||||
{
|
||||
_MyEdWord.GotoItem(EDWordLib.WdGoToItem.wdGoToObject, EDWordLib.WdGoToDirection.wdGoToNext, 0, null);
|
||||
}
|
||||
catch
|
||||
{
|
||||
//B2026-067 - Do nothing if cannot Position cursor
|
||||
}
|
||||
|
||||
}
|
||||
#endregion
|
||||
#region Public Methods
|
||||
|
||||
@@ -46,7 +46,6 @@ namespace Volian.Controls.Library
|
||||
names.Add(dcfg.Unit_Name);
|
||||
}
|
||||
dcfg.SelectedSlave = 0;
|
||||
// string[] names = dcfg.Unit_Name.Split(',');
|
||||
int apple = -1;
|
||||
if(_MyDisplayTabItem.MyStepTabPanel != null)
|
||||
apple = _MyDisplayTabItem.MyStepTabPanel.MyStepPanel.ApplDisplayMode;
|
||||
@@ -55,7 +54,7 @@ namespace Volian.Controls.Library
|
||||
foreach (string name in names)
|
||||
{
|
||||
i++;
|
||||
AddViewMode(name.Trim(), i.ToString(), apple == i);
|
||||
AddViewMode($"{name.Trim()} (View Only)", i.ToString(), apple == i);
|
||||
}
|
||||
|
||||
AddItemMode("All", "-1", ref gpSubItem);
|
||||
@@ -96,9 +95,6 @@ namespace Volian.Controls.Library
|
||||
DevComponents.DotNetBar.Controls.GroupPanel gpSubItem;
|
||||
gpSubItem = new DevComponents.DotNetBar.Controls.GroupPanel
|
||||
{
|
||||
//
|
||||
// gpSubItem
|
||||
//
|
||||
AutoSize = true,
|
||||
AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink,
|
||||
CanvasColor = System.Drawing.SystemColors.Control,
|
||||
@@ -130,42 +126,11 @@ namespace Volian.Controls.Library
|
||||
set { _MyApplicability = value; }
|
||||
}
|
||||
|
||||
//private ProcedureInfo _MyProcedureInfo;
|
||||
//public ProcedureInfo MyProcedureInfo
|
||||
//{
|
||||
//get { return _MyProcedureInfo; }
|
||||
//set
|
||||
//{
|
||||
// _MyProcedureInfo = value;
|
||||
// if (_MyProcedureInfo != null && _MyProcedureInfo.IsProcedure)
|
||||
// {
|
||||
// DocVersionConfig cfg = new DocVersionConfig(_MyProcedureInfo.MyDocVersion);
|
||||
// if (cfg.Unit_Name == string.Empty)
|
||||
// this.Visible = false;
|
||||
// else
|
||||
// {
|
||||
// string[] names = cfg.Unit_Name.Split(',');
|
||||
// gpMode.Controls.Clear();
|
||||
// gpItem.Controls.Clear();
|
||||
// MyCheckBoxes.Clear();
|
||||
// AddViewMode("Master", "-1", true);
|
||||
// int i = 0;
|
||||
// foreach (string name in names)
|
||||
// {
|
||||
// AddViewMode(name.Trim(), (++i).ToString());
|
||||
// }
|
||||
// AddItemMode("All", "-1");
|
||||
// i = 0;
|
||||
// foreach (string name in names)
|
||||
// AddItemMode(name.Trim(), (++i).ToString());
|
||||
// AddItemMode("None", "0");
|
||||
// //if(!this.Visible)
|
||||
// // this.Visible = true;
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
//}
|
||||
private void AddItemMode(string name, string value, ref DevComponents.DotNetBar.Controls.GroupPanel gpSubItem)
|
||||
//C2026-021 Expand Functionality of Viewing Mode
|
||||
public bool ShowItemSelection = true;
|
||||
public void SetEnableDisableItemSelection(bool value) => gpItem.Enabled = ShowItemSelection = value;
|
||||
|
||||
private void AddItemMode(string name, string value, ref DevComponents.DotNetBar.Controls.GroupPanel gpSubItem)
|
||||
{
|
||||
CheckBox cb = new CheckBox();
|
||||
cb.BackColor = Color.Transparent;
|
||||
@@ -251,18 +216,6 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
}
|
||||
}
|
||||
//IItemConfig cfg = MyItemInfo.MyConfig as IItemConfig;
|
||||
//cfg.MasterSlave_Applicability.SetFlags(MyApplicability);
|
||||
//Content c = Content.Get(MyItemInfo.MyContent.ContentID);
|
||||
//c.Save();
|
||||
//foreach (TransitionInfo ti in MyItemInfo.ItemTransitions_ToID)
|
||||
//{
|
||||
// if (!ti.MyItemToID.IsApplicable(MyApplicability))
|
||||
// {
|
||||
// MessageBox.Show("you can't do this");
|
||||
// return;
|
||||
// }
|
||||
//}
|
||||
List<InvalidTransition> invalidTrans = WillTransitionsBeValidCommand.Execute(MyItemInfo.ItemID, MyApplicability);
|
||||
// B2021-149: for Procedure level PC/PC, continue processing if all 'invalid' transitions are internal (query used
|
||||
// return internal and external for the procedure level)
|
||||
@@ -307,20 +260,6 @@ namespace Volian.Controls.Library
|
||||
// C2021 - 027: Procedure level PC/PC - checkbox for applicability changed, fix ribbon's menus
|
||||
if (MyItemInfo.IsProcedure) _MyDisplayTabItem.MyStepTabPanel.MyStepTabRibbon.SetParentChildCreatePDFButton(MyItemInfo.MyDocVersion.UnitNames, MyItemInfo);
|
||||
|
||||
//using (Content cnt = Content.Get(MyItemInfo.MyContent.ContentID))
|
||||
//{
|
||||
// cnt.DTS = DateTime.Now;
|
||||
// cnt.UserID = Volian.Base.Library.VlnSettings.UserID;
|
||||
// //cnt.Save();
|
||||
//}
|
||||
|
||||
//using (Step s = Step.Get(MyItemInfo.ItemID))
|
||||
//{
|
||||
// IItemConfig cfg = new StepConfig(s);
|
||||
// cfg.MasterSlave_Applicability = new Volian.Base.Library.BigNum(MyApplicability);
|
||||
// s.MyContent.Config = cfg.ToString();
|
||||
// s.Save();
|
||||
//}
|
||||
}
|
||||
private void BtnApplicabilitychg_Click(object sender, System.EventArgs e)
|
||||
{
|
||||
@@ -550,7 +489,7 @@ namespace Volian.Controls.Library
|
||||
void DisplayApplicability_VisibleChanged(object sender, EventArgs e)
|
||||
{
|
||||
MyItemInfo = MyItemInfo;
|
||||
gpItem.Enabled = UserInfo.CanEdit(MyUserInfo,(MyItemInfo == null) ? null : MyItemInfo.MyDocVersion); //Can Change Applicability
|
||||
gpItem.Enabled = ShowItemSelection && UserInfo.CanEdit(MyUserInfo,(MyItemInfo == null) ? null : MyItemInfo.MyDocVersion); //Can Change Applicability
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -145,12 +145,6 @@ namespace Volian.Controls.Library
|
||||
return (verIdList.Count > 1);
|
||||
}
|
||||
}
|
||||
//public event ItemSelectedChangedEvent OpenEnhancedDocument;
|
||||
//public void OnOpenEnhancedDocument(ItemSelectedChangedEventArgs args)
|
||||
//{
|
||||
// if (OpenEnhancedDocument != null)
|
||||
// OpenEnhancedDocument(this, args);
|
||||
//}
|
||||
public event ItemSelectedChangedEvent OpenInSeparateWindow;
|
||||
public void OnOpenInSeparateWindow(ItemSelectedChangedEventArgs args)
|
||||
{
|
||||
@@ -194,15 +188,15 @@ namespace Volian.Controls.Library
|
||||
CopyStepSelected(this, args);
|
||||
}
|
||||
|
||||
#region Private Fields
|
||||
#region Private Fields
|
||||
|
||||
/// <summary>
|
||||
/// This is a lookup table for all of the DisplayTabItems that are currently open
|
||||
/// The key is:
|
||||
/// "Item - " + Procedure ItemID for step pages
|
||||
/// "Doc - " + DocumentID for Word Documents
|
||||
/// </summary>
|
||||
public Dictionary<string, DisplayTabItem> _MyDisplayTabItems;
|
||||
/// <summary>
|
||||
/// This is a lookup table for all of the DisplayTabItems that are currently open
|
||||
/// The key is:
|
||||
/// "Item - " + Procedure ItemID for step pages
|
||||
/// "Doc - " + DocumentID for Word Documents
|
||||
/// </summary>
|
||||
public Dictionary<string, DisplayTabItem> _MyDisplayTabItems;
|
||||
|
||||
/// <summary>
|
||||
/// When a Tab is closed it is added to this list.
|
||||
@@ -549,7 +543,15 @@ namespace Volian.Controls.Library
|
||||
if (((Bar)sender).Items == null) return;
|
||||
if (((Bar)sender).Items.Count == 1)// Remove bar if last item is closed...
|
||||
{
|
||||
Bar bar = sender as Bar;
|
||||
//B2026 - 048 View Only Mode freezes PROMS if last tab closed
|
||||
//if last item is closing, need to re-enable Step Properties
|
||||
//so if closing in view only mode will not freeze when re-opening
|
||||
if (MyEditItem != null && MyEditItem.MyStepPanel.VwMode == E_ViewMode.View)
|
||||
{
|
||||
OnEnableDisableStepProperties(new StepTabRibbonEventArgs(MyEditItem.MyItemInfo, 0, E_ViewMode.Edit));
|
||||
}
|
||||
|
||||
Bar bar = sender as Bar;
|
||||
if (bar != null)
|
||||
{
|
||||
if (dotNetBarManager1.Bars.Contains(bar.Name))
|
||||
@@ -568,9 +570,16 @@ namespace Volian.Controls.Library
|
||||
ActivateRemainingTab((Bar)sender);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
#region Public Methods
|
||||
public void RefreshItem(ItemInfo myItemInfo)
|
||||
|
||||
public event StepTabRibbonEvent EnableDisableStepProperties;
|
||||
private void OnEnableDisableStepProperties(StepTabRibbonEventArgs args)
|
||||
{
|
||||
if (EnableDisableStepProperties != null)
|
||||
EnableDisableStepProperties(this, args);
|
||||
}
|
||||
#endregion
|
||||
#region Public Methods
|
||||
public void RefreshItem(ItemInfo myItemInfo)
|
||||
{
|
||||
ItemInfo proc = myItemInfo.MyProcedure; // Find procedure Item
|
||||
string key = "Item - " + proc.ItemID.ToString();
|
||||
|
||||
@@ -245,6 +245,20 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
protected void MyContent_Changed(object sender)
|
||||
{
|
||||
//C2026-021 Expand Functionality of Viewing Mode
|
||||
if (MyStepPanel.ApplDisplayMode > 0)
|
||||
{
|
||||
MyItemInfo.MyDocVersion.DocVersionConfig.SelectedSlave = MyStepPanel.ApplDisplayMode;
|
||||
MyItemInfo.MyProcedure.ProcedureConfig.SelectedSlave = MyStepPanel.ApplDisplayMode;
|
||||
}
|
||||
else
|
||||
{
|
||||
MyItemInfo.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
|
||||
MyItemInfo.MyProcedure.ProcedureConfig.SelectedSlave = 0;
|
||||
}
|
||||
|
||||
MyItemInfo.MyProcedure.ResetChangeBar();
|
||||
|
||||
// Update the text to reflect the content change
|
||||
MyItemInfo.RefreshItemAnnotations();
|
||||
ChangeBar = MyItemInfo.HasChangeBar;
|
||||
@@ -3670,15 +3684,14 @@ namespace Volian.Controls.Library
|
||||
{
|
||||
ROFSTLookup myLookup = MySection.MyDocVersion.DocVersionAssociations[0].MyROFst.GetROFSTLookup(MySection.MyDocVersion, null);
|
||||
|
||||
string accpgid = accpageid;
|
||||
|
||||
//B2022 - 083: Support Conditional RO Values
|
||||
ROFSTLookup.rochild roc = myLookup.GetROChildByAccPageID(string.Format("<{0}.{1}>", accpgid, multiid), MySection.MyDocVersion.DocVersionConfig.RODefaults_setpointprefix, MySection.MyDocVersion.DocVersionConfig.RODefaults_graphicsprefix);
|
||||
//B2022-083: Support Conditional RO Values
|
||||
//C2026-047 first try the RO Lookup with the ascii dash character in the accpageid. If not found, try again with the unicode dash
|
||||
ROFSTLookup.rochild roc = myLookup.GetROChildByAccPageID(string.Format("<{0}.{1}>", accpageid.Replace(@"\u8209?", "-"), multiid), MySection.MyDocVersion.DocVersionConfig.RODefaults_setpointprefix, MySection.MyDocVersion.DocVersionConfig.RODefaults_graphicsprefix);
|
||||
|
||||
if (roc.value == null)
|
||||
{
|
||||
accpgid = accpgid.Replace(@"\u8209?", "-");
|
||||
roc = myLookup.GetROChildByAccPageID(string.Format("<{0}.{1}>", accpgid, multiid), MySection.MyDocVersion.DocVersionConfig.RODefaults_setpointprefix, MySection.MyDocVersion.DocVersionConfig.RODefaults_graphicsprefix);
|
||||
// try again but this time with the unicode dash
|
||||
roc = myLookup.GetROChildByAccPageID(string.Format("<{0}.{1}>", accpageid, multiid), MySection.MyDocVersion.DocVersionConfig.RODefaults_setpointprefix, MySection.MyDocVersion.DocVersionConfig.RODefaults_graphicsprefix);
|
||||
}
|
||||
|
||||
if (!deflt.StartsWith("[") && !string.IsNullOrEmpty(roc.value) && roc.value.Trim().Length > 0) // don't return val if it's an empty or blank string - jsj 01-28-2019
|
||||
@@ -4114,7 +4127,14 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
}
|
||||
}
|
||||
//// TIMING: DisplayItem.TimeIt("CSLARTB Parent");
|
||||
//// TIMING: DisplayItem.TimeIt("CSLARTB Parent");
|
||||
|
||||
//C2026-021 Expand Functionality of Viewing Mode
|
||||
if (MyStepPanel.ApplDisplayMode > 0)
|
||||
MyItemInfo.MyDocVersion.DocVersionConfig.SelectedSlave = MyStepPanel.ApplDisplayMode;
|
||||
else
|
||||
MyItemInfo.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
|
||||
|
||||
SetText();
|
||||
if (itemInfo.IsSupInfoPart)
|
||||
{
|
||||
|
||||
@@ -25,7 +25,6 @@ namespace Volian.Controls.Library
|
||||
public delegate void StepRTBLocationEvent(object sender, StepRTBLocationEventArgs args);
|
||||
public delegate void StepRTBMouseEvent(object sender, MouseEventArgs args);
|
||||
public delegate void StepRTBRoEvent(object sender, StepRTBRoEventArgs args);
|
||||
//public delegate void StepRTBMouseWheelEvent(object sender, MouseEventArgs args);
|
||||
public partial class StepRTB : RichTextBox // , IStepRTB
|
||||
{
|
||||
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
||||
@@ -177,18 +176,6 @@ namespace Volian.Controls.Library
|
||||
{
|
||||
if (CursorMovement != null) CursorMovement(sender, args);
|
||||
}
|
||||
//public event StepRTBModeChangeEvent ModeChange;
|
||||
//private void OnModeChange(object sender, StepRTBModeChangeEventArgs args)
|
||||
//{
|
||||
// //_MyModeChangeEventArgs = args;
|
||||
// if (ModeChange != null) ModeChange(sender, args);
|
||||
// else MessageBox.Show("StepRTB - no mode change defined");
|
||||
//}
|
||||
//public event StepRTBMouseWheelEvent MouseWheel;
|
||||
//private void OnMouseWheel(object sender, MouseEventArgs args)
|
||||
//{
|
||||
// if (MouseWheel != null) MouseWheel(sender, args);
|
||||
//}
|
||||
|
||||
/// <summary>
|
||||
/// This event is not raised during all the in-between changes for link deletions
|
||||
@@ -292,23 +279,6 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
}
|
||||
}
|
||||
// use newer rich text box....
|
||||
//[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
|
||||
//static extern IntPtr LoadLibrary(string lpFileName);
|
||||
//protected override CreateParams CreateParams
|
||||
//{
|
||||
// get
|
||||
// {
|
||||
// CreateParams prams = base.CreateParams;
|
||||
// if (LoadLibrary("msftedit.dll") != IntPtr.Zero)
|
||||
// {
|
||||
// //prams.ExStyle |= 0x020; // transparent
|
||||
|
||||
// prams.ClassName = "RICHEDIT50W";
|
||||
// }
|
||||
// return prams;
|
||||
// }
|
||||
//}
|
||||
private E_FieldToEdit _FieldToEdit = E_FieldToEdit.StepText;
|
||||
public E_FieldToEdit FieldToEdit
|
||||
{
|
||||
@@ -321,14 +291,12 @@ namespace Volian.Controls.Library
|
||||
get
|
||||
{
|
||||
//B2020-100 RHM Use SelectionFont rather than the font from the format file.
|
||||
//if (_RtfPrefix == null)
|
||||
//{
|
||||
StringBuilder selectedRtfSB = new StringBuilder();
|
||||
//AddFontTable(selectedRtfSB, FormatFont, FontIsFixed(FormatFont));
|
||||
StringBuilder selectedRtfSB = new StringBuilder();
|
||||
|
||||
// B2021-100: if SelectionFont is null, use the FormatFont
|
||||
AddFontTable(selectedRtfSB, SelectionFont==null?FormatFont:SelectionFont, FontIsFixed(FormatFont));
|
||||
_RtfPrefix = selectedRtfSB.ToString();
|
||||
//}
|
||||
|
||||
return _RtfPrefix + @"\f1\fs" + FormatFont.SizeInPoints * 2 + " ";
|
||||
}
|
||||
}
|
||||
@@ -375,14 +343,6 @@ namespace Volian.Controls.Library
|
||||
get { if (_MyClassName == string.Empty)_MyClassName = CreateParams.ClassName; return _MyClassName; }
|
||||
set { _MyClassName = value; }
|
||||
}
|
||||
//private E_EditPrintMode _epMode = E_EditPrintMode.Edit;
|
||||
//public E_EditPrintMode EpMode
|
||||
//{
|
||||
// get { return _epMode; }
|
||||
// set {
|
||||
// if (value == E_EditPrintMode.Print) Console.WriteLine("");
|
||||
// _epMode = value; }
|
||||
//}
|
||||
private E_ViewMode _vwMode = E_ViewMode.Edit;
|
||||
public E_ViewMode VwMode
|
||||
{
|
||||
@@ -490,66 +450,63 @@ namespace Volian.Controls.Library
|
||||
|
||||
ActiveMode = activeMode;
|
||||
OnAdjustTableWidth(this, new StepRTBTableWidthEventArgs(true));
|
||||
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "RefreshDisplay 2");
|
||||
_InitializingRTB = true;
|
||||
DisplayText vlntxt = new DisplayText(MyItemInfo, E_EditPrintMode.Edit, VwMode, !ActiveMode, FieldToEdit, true,null, null,false);
|
||||
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "RefreshDisplay 3");
|
||||
//if (_origDisplayText != null && vlntxt.StartText == _origDisplayText.StartText)
|
||||
//{
|
||||
// ReadOnly = !(EpMode == E_EditPrintMode.Edit && VwMode == E_ViewMode.Edit);
|
||||
// if (!ReadOnly && !edit) ReadOnly = true;
|
||||
// return;
|
||||
//}
|
||||
OrigDisplayText = vlntxt;
|
||||
|
||||
//C2026-021 Expand Functionality of Viewing Mode
|
||||
StepPanel pnl = (Parent as RTBItem)?.MyStepPanel;
|
||||
if (pnl?.ApplDisplayMode > 0)
|
||||
{
|
||||
MyItemInfo.MyDocVersion.DocVersionConfig.SelectedSlave = pnl.ApplDisplayMode;
|
||||
}
|
||||
else
|
||||
{
|
||||
MyItemInfo.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
|
||||
}
|
||||
|
||||
DisplayText vlntxt = new DisplayText(MyItemInfo, E_EditPrintMode.Edit, VwMode, !ActiveMode, FieldToEdit, true,null, null,false);
|
||||
if (pnl?.ApplDisplayMode > 0 && MyItemInfo.MyContent.ContentRoUsageCount > 0)
|
||||
{
|
||||
vlntxt.StartText = RefreshROsWithUnitStartText(vlntxt.StartText, pnl.ApplDisplayMode);
|
||||
}
|
||||
|
||||
OrigDisplayText = vlntxt;
|
||||
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "RefreshDisplay 4");
|
||||
|
||||
// RHM 20101201 - Don't reset the text. Calculate the text and compare it with the existing text in AddRTFText
|
||||
//Text = ""; // Initialize text before add text
|
||||
// IMPORTANT: SetLineSpacing must be set before Links, otherwise it
|
||||
// was confusing the 'handle' of the rtf box.
|
||||
//Console.WriteLine("'font',{0}", Font);
|
||||
//if(Text == "")SelectionFont = Font; // Initialize SelectionFont
|
||||
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "1");
|
||||
if (FieldToEdit == E_FieldToEdit.StepText)
|
||||
{
|
||||
if (MyItemInfo != null)
|
||||
{
|
||||
//if (MyItemInfo.IsStep) Font = MyFontFamily == null ? MyItemInfo.FormatStepData.Font.WindowsFont : new Font(MyFontFamily, MyItemInfo.FormatStepData.Font.WindowsFont.Size, MyItemInfo.FormatStepData.Font.WindowsFont.Style);
|
||||
//else Font = Font = MyFontFamily == null ? MyItemInfo.ActiveFormat.PlantFormat.FormatData.Font.WindowsFont : new Font(MyFontFamily, MyItemInfo.ActiveFormat.PlantFormat.FormatData.Font.WindowsFont.Size, MyItemInfo.ActiveFormat.PlantFormat.FormatData.Font.WindowsFont.Style);
|
||||
if (MyItemInfo.IsStep)
|
||||
{
|
||||
if (MyFontFamily == null)
|
||||
{
|
||||
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "Before WindowsFont1");
|
||||
System.Drawing.Font fnt = MyItemInfo.FormatStepData.Font.WindowsFont;
|
||||
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "After WindowsFont1a");
|
||||
Application.DoEvents();
|
||||
if (FontKey(Font) != FontKey(fnt))
|
||||
Font = fnt;
|
||||
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "After WindowsFont1b");
|
||||
}
|
||||
else
|
||||
Font = VE_Font.GetWinSysFont(MyFontFamily, MyItemInfo.FormatStepData.Font.WindowsFont.Size, MyItemInfo.FormatStepData.Font.WindowsFont.Style);
|
||||
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "RefreshDisplay 4");
|
||||
}
|
||||
else
|
||||
{
|
||||
if (MyFontFamily == null)
|
||||
{
|
||||
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "Before WindowsFont2");
|
||||
Font = MyItemInfo.ActiveFormat.PlantFormat.FormatData.Font.WindowsFont;
|
||||
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "After WindowsFont2");
|
||||
}
|
||||
else
|
||||
Font = VE_Font.GetWinSysFont(MyFontFamily, MyItemInfo.ActiveFormat.PlantFormat.FormatData.Font.WindowsFont.Size, MyItemInfo.ActiveFormat.PlantFormat.FormatData.Font.WindowsFont.Style);
|
||||
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "RefreshDisplay 5");
|
||||
|
||||
}
|
||||
LastRtf = Rtf;
|
||||
}
|
||||
}
|
||||
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "StepRTB.RefreshDisplay Before SetLineSpacing");
|
||||
|
||||
RTBAPI.SetLineSpacing(this, RTBAPI.ParaSpacing.PFS_EXACT);
|
||||
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "StepRTB.RefreshDisplay After SetLineSpacing");
|
||||
bool readOnlyStep = MyItemInfo == null || MyItemInfo.FormatStepData == null ? false : MyItemInfo.FormatStepData.ReadOnly;
|
||||
if (!readOnlyStep)
|
||||
{
|
||||
@@ -557,10 +514,9 @@ namespace Volian.Controls.Library
|
||||
if (IsDerived(sc) && !MyItemInfo.EnhAllowMod()) readOnlyStep = true;
|
||||
}
|
||||
ReadOnly = readOnlyStep || VwMode == E_ViewMode.View || ActiveMode == false;
|
||||
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "Before AddRTFText");
|
||||
AddRtfText(vlntxt.StartText);
|
||||
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "After AddRTFText");
|
||||
//AddRtfStyles();
|
||||
|
||||
|
||||
// set readonly based on initial modes, however, these may change if
|
||||
// user selected view mode.
|
||||
ClearUndo();
|
||||
@@ -587,10 +543,7 @@ namespace Volian.Controls.Library
|
||||
{
|
||||
RemoveEventHandlers();
|
||||
OnAdjustTableWidth(this, new StepRTBTableWidthEventArgs(false));// View Mode
|
||||
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "Before SelectAll");
|
||||
SelectAll();
|
||||
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "After SelectAll");
|
||||
//if (SelectionHangingIndent !=0) SelectionHangingIndent = 0;
|
||||
int indchar = 0;
|
||||
string indentToken = MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.IndentToken;
|
||||
if (indentToken == null || indentToken == "0") indentToken = "\x5";
|
||||
@@ -598,7 +551,6 @@ namespace Volian.Controls.Library
|
||||
// this line of code was moved before the find for the indent so that
|
||||
// the window gets resized if the indent changes the height, i.e. more line(s) in window.
|
||||
AddEventHandlers();
|
||||
//if (MyItemInfo.InList(186722)) Console.WriteLine("here");
|
||||
if ((indchar = Find(indentToken, indchar, RichTextBoxFinds.None)) >= 0)
|
||||
{
|
||||
int nindents = 0;
|
||||
@@ -652,11 +604,51 @@ namespace Volian.Controls.Library
|
||||
_InitializingRTB = false;
|
||||
|
||||
AdjustSizeForContents(!ActiveMode);
|
||||
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "After RefreshDisplay");
|
||||
Application.DoEvents();
|
||||
}
|
||||
|
||||
private bool IsDerived(StepConfig sc)
|
||||
//C2026-021 Expand Functionality of Viewing Mode
|
||||
//regex for finding Referenced object links
|
||||
private static Regex regRefObj = new Regex(@"\#Link\:ReferencedObject:([0-9]*) ([0-9a-zA-Z]*) ([0-9]*)", RegexOptions.Singleline);
|
||||
|
||||
//Replace the Default RO text with Unit Specific RO text
|
||||
private string RefreshROsWithUnitStartText(string startText, int unitID)
|
||||
{
|
||||
ROFSTLookup lookup = MyItemInfo.MyDocVersion.DocVersionAssociations[0].MyROFst.GetROFSTLookup(MyItemInfo.MyDocVersion);
|
||||
|
||||
MatchCollection mc = regRefObj.Matches(startText);
|
||||
|
||||
if (mc.Count == 0)
|
||||
return startText;
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
int lastindex = 0;
|
||||
|
||||
foreach (Match match in mc)
|
||||
{
|
||||
//get where ther default text for the RO starts
|
||||
int indx = startText.LastIndexOf(@"\v <START]\v0", match.Index) + 13;
|
||||
|
||||
//get the RO, value will be the unit related value
|
||||
ROFSTLookup.rochild roc = lookup.GetRoChild(ROFSTLookup.FormatRoidKey(match.Groups[2].Value, true));
|
||||
|
||||
// append before tags up through the <START]\v0
|
||||
//note if multiple tags this will also append the end up the previous tags
|
||||
sb.Append(startText.Substring(lastindex, indx - lastindex));
|
||||
|
||||
//append the unit specific RO value (replacing where the default RO value was)
|
||||
sb.Append($@"\cf1 {roc.value}\cf0\v");
|
||||
|
||||
lastindex = match.Index;
|
||||
}
|
||||
|
||||
//append referenced object tag & text after tag
|
||||
sb.Append(startText.Substring(lastindex));
|
||||
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
private bool IsDerived(StepConfig sc)
|
||||
{
|
||||
foreach (EnhancedDocument ed in sc.MyEnhancedDocuments)
|
||||
if (ed.Type == 0) //New Design
|
||||
@@ -752,8 +744,6 @@ namespace Volian.Controls.Library
|
||||
protected override void OnMouseWheel(MouseEventArgs e)
|
||||
{
|
||||
OnDoMouseWheel(this, e);
|
||||
//MyRTBItem.MyStepPanel.MouseWheel(e);
|
||||
//base.OnMouseWheel(e);
|
||||
}
|
||||
// When a border style is changed, the richtextbox's handle is 'destroyed', so that the handleDestroyed
|
||||
// event is done. This was causing the event handlers to be removed (RemoveEventHandler) so that the
|
||||
@@ -896,10 +886,6 @@ namespace Volian.Controls.Library
|
||||
{
|
||||
_MouseDown = false;
|
||||
}
|
||||
//void MyConfig_PropertyChanged(object sender, PropertyChangedEventArgs e)
|
||||
//{
|
||||
// SaveConfig();
|
||||
//}
|
||||
private void StepRTB_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (ReadOnly) return;
|
||||
@@ -957,44 +943,6 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
#endregion
|
||||
#region ApplicationSupport
|
||||
// Used in StepTabRibbon:
|
||||
//public void ToggleEditView(E_ViewMode vwMode)
|
||||
//{
|
||||
// OnDoSaveContents(this, new EventArgs()); // SaveText();
|
||||
// //ItemInfo tmp = MyItemInfo;
|
||||
// //MyItemInfo = null;
|
||||
// //ReadOnly = !ReadOnly;
|
||||
// //EpMode = ReadOnly ? E_EditPrintMode.Print : E_EditPrintMode.Edit;
|
||||
// VwMode = vwMode;
|
||||
// ReadOnly = VwMode == E_ViewMode.View;
|
||||
// ViewRTB = ReadOnly;
|
||||
// Clear();
|
||||
// RefreshDisplay(!ViewRTB);
|
||||
// //MyItemInfo = tmp;
|
||||
// SelectionStart = 0;
|
||||
// SelectionLength = 0;
|
||||
// //OnModeChange(this, new StepRTBModeChangeEventArgs(ViewRTB?E_ViewMode.View:E_ViewMode.Edit));
|
||||
//}
|
||||
//public string InsertSymbolInRO(string val)
|
||||
//{
|
||||
// string retval = val;
|
||||
// C2019-043 convert a "->" to the Right Arrow symbol and a "<-" to the Left Arrow Symbol
|
||||
// note that at the dash character gets convert to a non-breaking hyphen "\u8209?"
|
||||
//if (MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.UseDashGreaterLessThenForArrowsInROValue)
|
||||
//{
|
||||
// retval = retval.Replace("\\u8209?>", GetAddSymbolTextForROs(@"\u8594?")); // Right Arrow
|
||||
// retval = retval.Replace("<\\u8209?", GetAddSymbolTextForROs(@"\u8592?")); // Left Arrow
|
||||
//}
|
||||
//// C2022-021 convert a "<=" to a less than or equal symbol, a ">=" to a greather than or equal symbol and +- to a
|
||||
//// plus/minus symbol in ROs
|
||||
//if (MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.ConvertGTELTEPMinROValue)
|
||||
//{
|
||||
// retval = retval.Replace("<=", GetAddSymbolTextForROs(@"\u8804?")); // Less than or Equal
|
||||
// retval = retval.Replace(">=", GetAddSymbolTextForROs(@"\u8805?")); // Greater than or Equal
|
||||
// retval = retval.Replace("+\\u8209?", @"\'b1"); // plus/minus - note - is stored as \u8209 and plus/minus is < 256, i.e. handled differently
|
||||
//}
|
||||
// return retval;
|
||||
//}
|
||||
public void InsertRO(string value, string link)
|
||||
{
|
||||
// B2023-037: Remove code that saves the unicode characters for <=, >=, +-, <- and -> into the link text. The characters
|
||||
@@ -1172,8 +1120,6 @@ namespace Volian.Controls.Library
|
||||
return;
|
||||
}
|
||||
//Console.WriteLine("ItemID:{0}", MyItemInfo.ItemID);
|
||||
//if(MyItemInfo.ItemID==10256)
|
||||
// Volian.Base.Library.vlnStackTrace.ShowStackLocal("ItemID:{0}", MyItemInfo.ItemID.ToString());
|
||||
StringBuilder selectedRtfSB = new StringBuilder();
|
||||
AddFontTable(selectedRtfSB, FormatFont, FontIsFixed(FormatFont));
|
||||
_RtfPrefix = selectedRtfSB.ToString();
|
||||
@@ -1197,27 +1143,12 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
// B2017-048, B2017-052, B2017-055 ROs sometimes have two start tokens which make them uneditable.
|
||||
newRtf = newRtf.Replace("<START]<START]", "<START]");
|
||||
//Point linkIssues = FindLinkIssues(newRtf);
|
||||
//if (linkIssues.X != linkIssues.Y)
|
||||
// newRtf = FixBadLinks(newRtf,linkIssues);
|
||||
SelectedRtf = _LastRtf = newRtf;
|
||||
_lastReadOnly = ReadOnly;
|
||||
}
|
||||
FindAllLinks();
|
||||
if (txt == "") SelectionFont = FormatFont;
|
||||
}
|
||||
//private string FixBadLinks(string newRtf, Point linkIssues)
|
||||
//{
|
||||
// Console.WriteLine("Bad Link rtf = Starts={0}, Ends={1}, \"{2}\"", linkIssues.X,linkIssues.Y, newRtf);
|
||||
// //Volian.Base.Library.vlnStackTrace.ShowStack();
|
||||
// return newRtf;
|
||||
//}
|
||||
//private static Point FindLinkIssues(string rtf)
|
||||
//{
|
||||
// MatchCollection mcStart = Regex.Matches(rtf, @"\<START\]");
|
||||
// MatchCollection mcEnd = Regex.Matches(rtf, @"\[END\>");
|
||||
// return new Point(mcStart.Count, mcEnd.Count);
|
||||
//}
|
||||
public void SetTableGridCellRTFPrefix(Font myfont)
|
||||
{
|
||||
if (_FormatFont == null)
|
||||
@@ -1282,7 +1213,7 @@ namespace Volian.Controls.Library
|
||||
sbbeg.Append(@"\i");
|
||||
sbend.Insert(0, @"\i0");
|
||||
}
|
||||
selectedRtfSB.Append(@"{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 " + myFont.FontFamily.Name + @";}"); //}\f0\fs" + this.Font.SizeInPoints * 2 + @" " + myDisplayTextElement.Text + @"}}";
|
||||
selectedRtfSB.Append(@"{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 " + myFont.FontFamily.Name + @";}");
|
||||
if (!isFixed)
|
||||
selectedRtfSB.Append(@"{\f1\fnil\fcharset0 " + Volian.Base.Library.vlnFont.ProportionalSymbolFont + @";}}{\colortbl ;\red255\green0\blue0;\red0\green0\blue255;}"); // C2017-036 get best available proportional font for symbols - B2025-039 add Blue for Colored Replace Words
|
||||
else
|
||||
@@ -1291,7 +1222,7 @@ namespace Volian.Controls.Library
|
||||
// use styles to construct rtf commands to insert into next line (where \b, etc is)
|
||||
// B2015-134 Hanging Indent with Hard Returns was not being saved- removed \sl-240\slmult0
|
||||
selectedRtfSB.Append(@"\viewkind4\uc1\pard" + sbbeg.ToString() + @"\fs" + Convert.ToInt32(myFont.SizeInPoints * 2).ToString() + @" "); // \f0\fs" + this.Font.SizeInPoints * 2 + @" " + myDisplayTextElement.Text + @"}";
|
||||
//selectedRtfSB.Append(@"\viewkind4\uc1\pard\sl-240\slmult0" + sbbeg.ToString() + @"\fs" + Convert.ToInt32(myFont.SizeInPoints * 2).ToString() + @" "); // \f0\fs" + this.Font.SizeInPoints * 2 + @" " + myDisplayTextElement.Text + @"}";
|
||||
|
||||
}
|
||||
|
||||
private bool FontIsFixed(Font myFont)
|
||||
@@ -1396,7 +1327,6 @@ namespace Volian.Controls.Library
|
||||
{
|
||||
string fonttab = FontTable;
|
||||
string fontsize = FontSize;
|
||||
//if (this.DetectUrls) this.DetectUrls = false;
|
||||
if (SelectionLength > 0)HandleDeleteKeyWithSelectedText(new KeyEventArgs(Keys.None), null);
|
||||
int position = SelectionStart;
|
||||
SelectionLength = 0;
|
||||
@@ -1426,7 +1356,6 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
private void AddLink50(string linkValue, string linkUrl)
|
||||
{
|
||||
//this.DetectUrls = false;
|
||||
int position = SelectionStart;
|
||||
SelectionLength = 0;
|
||||
SelectedRtf = string.Format(@"{{\rtf\field{{\*\fldinst{{HYPERLINK ""www.volian.com #{0}"" }}}}{{\fldrslt{{\cf2\ul {1}}}}}}}", linkUrl, linkValue);
|
||||
@@ -1479,9 +1408,6 @@ namespace Volian.Controls.Library
|
||||
{
|
||||
Size offset = Size - ClientSize;
|
||||
int widthNew = (this is TableCellEditor) ? Width : (ContentsSize.Width + offset.Width + AdjustSize.Width);
|
||||
//int widthNew = Width;
|
||||
//if (!(this is TableCellEditor))
|
||||
// widthNew = ContentsSize.Width + offset.Width + AdjustSize.Width;
|
||||
int heightNew = ContentsSize.Height + offset.Height + AdjustSize.Height;
|
||||
// Don't make the window narrower unless it has text - RHM - 20100107
|
||||
Size szNew = new Size(((Text != "" && adjustWidth) ? widthNew : (widthNew > Width ? widthNew : Width)), heightNew);
|
||||
@@ -1619,22 +1545,6 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
#endregion
|
||||
#region ColorSupport - Not currently used.
|
||||
//private void SetBackGroundColor(ItemInfo itemInfo)
|
||||
//{
|
||||
// string backcolor = null;
|
||||
// int type = (int)itemInfo.MyContent.Type;
|
||||
// FormatInfo formatinfo = itemInfo.ActiveFormat;
|
||||
// if (type == (int)E_FromType.Procedure)
|
||||
// backcolor = formatinfo.PlantFormat.FormatData.ProcData.BackColor;
|
||||
// else if (type == (int)E_FromType.Section)
|
||||
// backcolor = formatinfo.PlantFormat.FormatData.SectData.BackColor;
|
||||
// else
|
||||
// {
|
||||
// int typindx = (int)itemInfo.MyContent.Type - 20000; // what to do for other types rather than steps
|
||||
// backcolor = formatinfo.PlantFormat.FormatData.StepDataList[typindx].StepLayoutData.BackColor;
|
||||
// }
|
||||
// BackColor = Color.FromName(backcolor);
|
||||
//}
|
||||
#endregion
|
||||
#region EventSupport
|
||||
#region LinkEvents
|
||||
@@ -1667,8 +1577,6 @@ namespace Volian.Controls.Library
|
||||
#region TextAndContentsEvents
|
||||
void StepRTB_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
//if (Rtf.Contains("<START]<START]"))
|
||||
// Volian.Base.Library.vlnStackTrace.ShowStackLocal(2, 10, "Start Start ItemID={0}", MyItemInfo.ItemID);
|
||||
if (_InitializingRTB || _IsExperimenting) return;
|
||||
// Was setting _IsDirty to true here, but this was getting called from
|
||||
// 'dotnetbar' when text was NOT Changed. So _IsDirty was made into
|
||||
@@ -1704,7 +1612,6 @@ namespace Volian.Controls.Library
|
||||
private void HandleLocalSelectionChange()
|
||||
{
|
||||
if (this.MyItemInfo != null && this.MyItemInfo.IsRtfRaw) return; // B2017-023 null reference check for empty workdraft set information dialog
|
||||
//if (MyRTBItem != null && MyRTBItem.MyStepPanel.SelectedStepRTB != this)
|
||||
if (OnIsNotCurrentSelection(this, new EventArgs()))
|
||||
return;
|
||||
|
||||
@@ -1720,8 +1627,6 @@ namespace Volian.Controls.Library
|
||||
SelectAll();
|
||||
_HandlingCtrlA = false;
|
||||
}
|
||||
//HandleOverWrite();
|
||||
//vlnStackTrace.ShowStackLocal("HandleSelectionChangeStack", 1, 10);
|
||||
bool startingValue = _AdjustingSelection;
|
||||
if (_IdentifyingLinks || _ProcessingDelete) return;
|
||||
// If the cursor is beyond the end of the line then move the cursor back one character
|
||||
@@ -1831,14 +1736,6 @@ namespace Volian.Controls.Library
|
||||
return false;
|
||||
}
|
||||
|
||||
//private void HandleOverWrite()
|
||||
//{
|
||||
// if (!_OverWrite) return;
|
||||
// if (SelectionLength > 0) return;
|
||||
// if (SelectionStart == TextLength) return;
|
||||
// Console.WriteLine("Handle Overwrite, SelectionStart = {0}, SelectionLength = {1}", SelectionStart, SelectionLength);
|
||||
// SelectionLength = 1;
|
||||
//}
|
||||
private bool _CheckSelection = false;
|
||||
#endregion
|
||||
#region Delete Handlers
|
||||
@@ -1857,7 +1754,7 @@ namespace Volian.Controls.Library
|
||||
DeleteCurrentSelection(keychars);
|
||||
e.SuppressKeyPress = true;
|
||||
break;
|
||||
case RangeStatus.Before_Between: //myRTB1.SelectedText.EndsWith(@"[END><START]")
|
||||
case RangeStatus.Before_Between:
|
||||
DeleteEndBetweenLinks(keychars);
|
||||
e.SuppressKeyPress = true;
|
||||
break;
|
||||
@@ -1927,19 +1824,15 @@ namespace Volian.Controls.Library
|
||||
/// <param name="setSelect"></param>
|
||||
private void InsertCharBetweenLinks(LinkLocation ll, char charToAdd, bool setSelect)
|
||||
{
|
||||
//_InsertingSpaceBetweenLinks = true;
|
||||
DebugPrint("ICBLvvvvvvvvvvvvvvv>>>");
|
||||
Rtf = Rtf.Substring(0, ll.StartRtf) + @"\v0 " + charToAdd.ToString() + @"\v " + Rtf.Substring(ll.StartRtf);
|
||||
//_InsertingSpaceBetweenLinks = false;
|
||||
if (setSelect)
|
||||
SelectionStart = ll.Start - 6; // account for <START] - 1 for the character typed
|
||||
DebugPrint("ICBL^^^^^^^^^^^^^^^>>>");
|
||||
}
|
||||
private void ExpandSelectionToIncludeStart()
|
||||
{
|
||||
//_AdjustingSelection = true;
|
||||
SetSelection(SelectionStart - 7, SelectionLength + 7); // Expand selection to include start
|
||||
//_AdjustingSelection = false;
|
||||
}
|
||||
public string GetSelectionForClipBoard()
|
||||
{
|
||||
@@ -1986,7 +1879,6 @@ namespace Volian.Controls.Library
|
||||
{
|
||||
_SendBackSpace = true;
|
||||
RtbSendKeys("{BS}"); // remove X
|
||||
//this.ClearUndo(); // undo was redisplay 'X' and then deleted text
|
||||
Application.DoEvents();
|
||||
DebugSelection("After BS");
|
||||
}
|
||||
@@ -2005,9 +1897,7 @@ namespace Volian.Controls.Library
|
||||
int slen = SelectionLength + 1 - 7;
|
||||
// This puts a space at the link that starts at the end of the selection
|
||||
InsertCharBetweenLinks(_RangeEndLink.NextLink);
|
||||
//_AdjustingSelection = true;
|
||||
DeleteSelection(sstart, slen, keychars);
|
||||
//_AdjustingSelection = false;
|
||||
_ProcessingKeys--;
|
||||
}
|
||||
private void DeleteStartBetweenLinks(string keychars)
|
||||
@@ -2016,7 +1906,6 @@ namespace Volian.Controls.Library
|
||||
DebugSelection("DeleteStartBetweenLinks");
|
||||
int slen = SelectionLength + 8;
|
||||
int sstart = SelectionStart - 7;
|
||||
//LinkLocation ll = FindBetweenLinks(SelectionStart);
|
||||
InsertCharBetweenLinks(_RangeStartLink);
|
||||
DeleteSelection(sstart, slen, keychars);
|
||||
_ProcessingKeys--;
|
||||
@@ -2027,7 +1916,6 @@ namespace Volian.Controls.Library
|
||||
DebugSelection("DeleteFromStartOfBox");
|
||||
int slen = SelectionLength;
|
||||
SetSelection(0, 0);
|
||||
//RtbSendKeys(" "); // open for space between links which separates END/START tokens
|
||||
SelectedText = " ";
|
||||
DeleteSelection(0, slen + 8, keychars);
|
||||
_ProcessingKeys--;
|
||||
@@ -2038,12 +1926,8 @@ namespace Volian.Controls.Library
|
||||
DebugSelection("DeleteFromStartOfBoxEndBetweenLinks");
|
||||
// This puts a space at the link that starts at the end of the selection
|
||||
int sLen = SelectionStart + SelectionLength - 7 + 2;// -7 for <START] + 2 for the spaces that are added
|
||||
//LinkLocation ll = FindBetweenLinks(SelectionStart + SelectionLength);
|
||||
InsertCharBetweenLinks(_RangeEndLink.NextLink);
|
||||
//RtbSendKeys("{RIGHT} "); // open for space between links which separates END/START tokens
|
||||
//int sLen = myRTB1.SelectionStart;
|
||||
SetSelection(0, 0);
|
||||
//RtbSendKeys(" "); // open for space between links which separates END/START tokens
|
||||
SelectedText = " "; // open for space between links which separates END/START tokens
|
||||
DeleteSelection(0, sLen, keychars);
|
||||
_ProcessingKeys--;
|
||||
@@ -2150,7 +2034,7 @@ namespace Volian.Controls.Library
|
||||
srtb.Rtf = this.SelectedRtf.Replace(@"\u8209?", "-");
|
||||
srtb.Rtf = srtb.Rtf.Replace(@"\u9586?", @"\\");
|
||||
string rtnstr = "";
|
||||
string ctxt = srtb.Text;//this.SelectedText;
|
||||
string ctxt = srtb.Text;
|
||||
if (ctxt.EndsWith("<START]"))
|
||||
ctxt = ctxt.Substring(0, ctxt.Length - 7);
|
||||
int idx = 0;
|
||||
@@ -2279,7 +2163,6 @@ namespace Volian.Controls.Library
|
||||
if (MyItemInfo != null && MyItemInfo.IsRtfRaw && MyItemInfo.FormatStepData.Type.ToUpper().Contains("EQUATION") && !hasEquation)
|
||||
{
|
||||
FlexibleMessageBox.Show("Cannot paste non-equation data into an equation step type.", "Invalid data", MessageBoxButtons.OK);
|
||||
//richTextBox1.Dispose();
|
||||
e.Handled = true;
|
||||
return;
|
||||
}
|
||||
@@ -2287,7 +2170,6 @@ namespace Volian.Controls.Library
|
||||
else if (hasEquation && (MyItemInfo == null || (MyItemInfo != null && !MyItemInfo.IsRtfRaw && !MyItemInfo.FormatStepData.Type.ToUpper().Contains("EQUATION"))))
|
||||
{
|
||||
FlexibleMessageBox.Show("Cannot paste equation data into an non-equation step type.", "Invalid data", MessageBoxButtons.OK);
|
||||
//richTextBox1.Dispose();
|
||||
e.Handled = true;
|
||||
return;
|
||||
}
|
||||
@@ -2546,16 +2428,6 @@ namespace Volian.Controls.Library
|
||||
if (SelectionLength > 0) HandleDeleteKeyWithSelectedText(e, null);
|
||||
break;
|
||||
case Keys.Insert:
|
||||
//_OverWrite = !_OverWrite;
|
||||
//if (_OverWrite)
|
||||
//{
|
||||
// HandleSelectionChange();
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// SelectionLength = 0;
|
||||
// HandleSelectionChange();
|
||||
//}
|
||||
// For now, don't allow for toggling between insert/overwrite mode - see
|
||||
// comment on _OverWrite
|
||||
e.Handled = true;
|
||||
@@ -2569,21 +2441,11 @@ namespace Volian.Controls.Library
|
||||
if (e.Shift)
|
||||
{
|
||||
e.Handled = true;
|
||||
ItemInfo myCopyStep = (this.Parent.Parent.Parent as StepTabPanel).MyDisplayTabControl.MyCopyStep;
|
||||
if (myCopyStep != null)
|
||||
{
|
||||
// commented out as part of bug fix B2016-148 to fix the <Shift><F5> not popping up the paste options
|
||||
//if (this.MyItemInfo.IsSection && myCopyStep.IsSection)
|
||||
// OnSetMenu(this, new StepRTBMenuEventArgs("StepPaste"));
|
||||
//if (this.MyItemInfo.IsStep && myCopyStep.IsStep)
|
||||
//{
|
||||
// if ((this.MyItemInfo.IsHigh && myCopyStep.IsHigh) || (!this.MyItemInfo.IsHigh && !myCopyStep.IsHigh))
|
||||
// OnSetMenu(this, new StepRTBMenuEventArgs("StepPaste"));
|
||||
//}
|
||||
OnSetMenu(this, new StepRTBMenuEventArgs("StepPaste"));
|
||||
}
|
||||
//if (!OnCheckClipboard(this, new EventArgs())) return; // check if 'clipboard' contains a step.
|
||||
//OnSetMenu(this, new StepRTBMenuEventArgs("StepPaste"));
|
||||
ItemInfo myCopyStep = (this.Parent.Parent.Parent as StepTabPanel).MyDisplayTabControl.MyCopyStep;
|
||||
if (myCopyStep != null)
|
||||
{
|
||||
OnSetMenu(this, new StepRTBMenuEventArgs("StepPaste"));
|
||||
}
|
||||
}
|
||||
else if (!e.Control && !e.Alt)
|
||||
{
|
||||
@@ -2788,7 +2650,6 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
if (Text == "" && Parent != null && Parent is VlnFlexGrid)
|
||||
{
|
||||
//ShowMyParentsFonts();
|
||||
SelectionFont = Parent.Font;
|
||||
}
|
||||
// add the character with its font depending on the char....
|
||||
@@ -3042,7 +2903,6 @@ namespace Volian.Controls.Library
|
||||
_AdjustingSelection = true;
|
||||
PushSelection();
|
||||
FindLinks();
|
||||
//IdentifyLinks();
|
||||
PopSelection();
|
||||
LinkLocation llx = FindLinkLocation();
|
||||
if (_CheckSelection)
|
||||
@@ -3257,98 +3117,6 @@ namespace Volian.Controls.Library
|
||||
Select(locStart, locLength);
|
||||
}
|
||||
#endregion
|
||||
//#region FontAndStylesSupport
|
||||
//private void ToggleFontStyle(FontStyle style, bool att_on)
|
||||
//{
|
||||
// int start = SelectionStart;
|
||||
// int len = SelectionLength;
|
||||
// System.Drawing.Font currentFont;
|
||||
// FontStyle fs;
|
||||
// for (int i = 0; i < len; ++i)
|
||||
// {
|
||||
// Select(start + i, 1);
|
||||
// currentFont = SelectionFont;
|
||||
// fs = currentFont.Style;
|
||||
// //add or remove style
|
||||
// if (!att_on)fs = fs | style;
|
||||
// else fs = fs & ~style;
|
||||
|
||||
// SelectionFont = new Font(
|
||||
// currentFont.FontFamily,
|
||||
// currentFont.Size,
|
||||
// fs
|
||||
// );
|
||||
// }
|
||||
//}
|
||||
/// <summary>
|
||||
/// Returns a Font with:
|
||||
/// 1) The font applying to the entire selection, if none is the default font.
|
||||
/// 2) The font size applying to the entire selection, if none is the size of the default font.
|
||||
/// 3) A style containing the attributes that are common to the entire selection, default regular.
|
||||
/// </summary>
|
||||
///
|
||||
//public Font GetFontDetails()
|
||||
//{
|
||||
// //This method should handle cases that occur when multiple fonts/styles are selected
|
||||
|
||||
// int start = SelectionStart;
|
||||
// int len = SelectionLength;
|
||||
// int TempStart = 0;
|
||||
|
||||
// if (len <= 1)
|
||||
// {
|
||||
// // Return the selection or default font
|
||||
// if (SelectionFont != null)
|
||||
// return SelectionFont;
|
||||
// else
|
||||
// return Font; // should be default from format.
|
||||
// }
|
||||
|
||||
// // Step through the selected text one char at a time
|
||||
// // after setting defaults from first char
|
||||
// _rtbTemp.Rtf = SelectedRtf;
|
||||
|
||||
// //Turn everything on so we can turn it off one by one
|
||||
// FontStyle replystyle =
|
||||
// FontStyle.Bold | FontStyle.Italic | FontStyle.Underline;
|
||||
|
||||
// // Set reply font, size and style to that of first char in selection.
|
||||
// _rtbTemp.Select(TempStart, 1);
|
||||
// string replyfont = _rtbTemp.SelectionFont.Name;
|
||||
// float replyfontsize = _rtbTemp.SelectionFont.Size;
|
||||
// replystyle = replystyle & _rtbTemp.SelectionFont.Style;
|
||||
|
||||
// // Search the rest of the selection
|
||||
// for (int i = 1; i < len; ++i)
|
||||
// {
|
||||
// _rtbTemp.Select(TempStart + i, 1);
|
||||
|
||||
// // Check reply for different style
|
||||
// replystyle = replystyle & _rtbTemp.SelectionFont.Style;
|
||||
|
||||
// // Check font
|
||||
// if (replyfont != _rtbTemp.SelectionFont.FontFamily.Name)
|
||||
// replyfont = "";
|
||||
|
||||
// // Check font size
|
||||
// if (replyfontsize != _rtbTemp.SelectionFont.Size)
|
||||
// replyfontsize = (float)0.0;
|
||||
// }
|
||||
|
||||
// // Now set font and size if more than one font or font size was selected
|
||||
// if (replyfont == "")
|
||||
// replyfont = _rtbTemp.Font.FontFamily.Name;
|
||||
|
||||
// if (replyfontsize == 0.0)
|
||||
// replyfontsize = _rtbTemp.Font.Size;
|
||||
|
||||
// // generate reply font
|
||||
// Font reply
|
||||
// = new Font(replyfont, replyfontsize, replystyle);
|
||||
|
||||
// return reply;
|
||||
//}
|
||||
//#endregion
|
||||
#region EnumsSelectionRange
|
||||
private enum StartStatus : int
|
||||
{
|
||||
@@ -3425,12 +3193,6 @@ namespace Volian.Controls.Library
|
||||
DebugPrint("SelectionStart {0}, SelectionEnd {1}, TextLength {2}",
|
||||
SelectionStart, SelectionStart + SelectionLength,
|
||||
TextLength);
|
||||
//if (_RangeStartLink != null)
|
||||
// _RangeStartLink.Show("startLink");
|
||||
//if (_RangeEndLink != null)
|
||||
// _RangeEndLink.Show("endLink");
|
||||
//if (foundLink != null)
|
||||
// foundLink.Show("foundLink");
|
||||
|
||||
if (foundLink == null)
|
||||
return RTBRangeStatus = RangeStatus.NoContainedLinks;
|
||||
@@ -3749,7 +3511,6 @@ namespace Volian.Controls.Library
|
||||
static void tsi_Click(object sender, EventArgs e)
|
||||
{
|
||||
ToolStripMenuItem tsmi = sender as ToolStripMenuItem;
|
||||
//_ContextMenuStepRTB.MyRTBItem.MyStepPanel.MyStepTabPanel.MyStepTabRibbon.OpenContextMenu(tsmi.Owner.Location);
|
||||
_ContextMenuStepRTB.OnOpenContextMenu(sender, new StepRTBLocationEventArgs(tsmi.Owner.Location));
|
||||
}
|
||||
// This is our customized Spell Check dialog
|
||||
@@ -4144,63 +3905,6 @@ namespace Volian.Controls.Library
|
||||
if (NextLink != null)
|
||||
Console.WriteLine("LinkLocation: {0}.NextLink {1}", str, NextLink);
|
||||
}
|
||||
// #region ClipboardHandler
|
||||
// private const int WM_CUT = 0x0300;
|
||||
// private const int WM_COPY = 0x0301;
|
||||
// private const int WM_PASTE = 0x0302;
|
||||
|
||||
// public delegate void ClipboardEventHandler(object sender, ClipboardEventArgs e);
|
||||
|
||||
// [Category("Clipboard")]
|
||||
// public event ClipboardEventHandler CutText;
|
||||
// [Category("Clipboard")]
|
||||
// public event ClipboardEventHandler CopiedText;
|
||||
// [Category("Clipboard")]
|
||||
// public event ClipboardEventHandler PastedText;
|
||||
|
||||
// protected override void WndProc(ref Message m)
|
||||
// {
|
||||
// if (m.Msg == WM_CUT)
|
||||
// {
|
||||
// if (CutText != null)
|
||||
// CutText(this, new ClipboardEventArgs(this.SelectedText));
|
||||
// }
|
||||
// else if (m.Msg == WM_COPY)
|
||||
// {
|
||||
// if (CopiedText != null)
|
||||
// CopiedText(this, new ClipboardEventArgs(this.SelectedText));
|
||||
// }
|
||||
// else if (m.Msg == WM_PASTE)
|
||||
// {
|
||||
// if (PastedText != null)
|
||||
// PastedText(this, new ClipboardEventArgs(Clipboard.GetText()));
|
||||
// }
|
||||
|
||||
// base.WndProc(ref m);
|
||||
// }
|
||||
//}
|
||||
|
||||
//public class ClipboardEventArgs : EventArgs
|
||||
//{
|
||||
// private string clipboardText;
|
||||
// public string ClipboardText
|
||||
// {
|
||||
// get
|
||||
// {
|
||||
// return clipboardText;
|
||||
// }
|
||||
|
||||
// set
|
||||
// {
|
||||
// clipboardText = value;
|
||||
// }
|
||||
// }
|
||||
|
||||
// public ClipboardEventArgs(string clipboardText)
|
||||
// {
|
||||
// this.clipboardText = clipboardText;
|
||||
// }
|
||||
// #endregion
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
@@ -3367,7 +3367,14 @@ namespace Volian.Controls.Library
|
||||
MessageBox.Show(this, message, "Procedure Already Checked Out", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
else if (MyEditItem.MyStepPanel.VwMode == E_ViewMode.View)
|
||||
//C2026-021 Expand Functionality of Viewing Mode
|
||||
if (MyEditItem.MyStepPanel.VwMode == E_ViewMode.View && MyEditItem.MyStepPanel.ApplDisplayMode > 0)
|
||||
{
|
||||
//Procedure Viewing Mode is set to a specific Unit - so cannot exit vie only mode
|
||||
MessageBox.Show(this, "Procedures with multiple units are only editable when the Viewing Mode is set to Master. To change out of View Only Mode, first open the Step Propeties panel->Applicability tab and change the Viewing Mode to be Master. Then you can disable View Only Mode.", "Procedure Viewing Mode Incompatiple with Edits", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
else if (MyEditItem.MyStepPanel.VwMode == E_ViewMode.View)
|
||||
{
|
||||
//swapping into edit mode, so check out procedure and Setup Security
|
||||
(this.Parent as StepTabPanel).MyDisplayTabItem.OwnerID = MySessionInfo.CheckOutItem(MyEditItem.MyItemInfo.MyProcedure.ItemID, 0);
|
||||
|
||||
@@ -1659,14 +1659,14 @@ i = 0;
|
||||
private string ROLookup(string accpageid, string multiid, string deflt, string overrideChild)
|
||||
{
|
||||
ROFSTLookup myLookup = MySection.MyDocVersion.DocVersionAssociations[0].MyROFst.GetROFSTLookup(MySection.MyDocVersion, overrideChild);
|
||||
|
||||
string accpgid = accpageid;
|
||||
ROFSTLookup.rochild roc = myLookup.GetROChildByAccPageID("<" + accpgid + "." + multiid + ">", MySection.MyDocVersion.DocVersionConfig.RODefaults_setpointprefix, MySection.MyDocVersion.DocVersionConfig.RODefaults_graphicsprefix);
|
||||
|
||||
//C2026-047 first try the RO Lookup with the ascii dash character in the accpageid. If not found, try again with the unicode dash
|
||||
ROFSTLookup.rochild roc = myLookup.GetROChildByAccPageID("<" + accpageid.Replace(@"\u8209?", "-") + "." + multiid + ">", MySection.MyDocVersion.DocVersionConfig.RODefaults_setpointprefix, MySection.MyDocVersion.DocVersionConfig.RODefaults_graphicsprefix);
|
||||
|
||||
if (roc.value == null)
|
||||
{
|
||||
accpgid = accpgid.Replace(@"\u8209?", "-");
|
||||
roc = myLookup.GetROChildByAccPageID("<" + accpgid + "." + multiid + ">", MySection.MyDocVersion.DocVersionConfig.RODefaults_setpointprefix, MySection.MyDocVersion.DocVersionConfig.RODefaults_graphicsprefix);
|
||||
// try again but this time with the unicode dash
|
||||
roc = myLookup.GetROChildByAccPageID("<" + accpageid + "." + multiid + ">", MySection.MyDocVersion.DocVersionConfig.RODefaults_setpointprefix, MySection.MyDocVersion.DocVersionConfig.RODefaults_graphicsprefix);
|
||||
}
|
||||
|
||||
if (!deflt.StartsWith("[") && !string.IsNullOrEmpty(roc.value) && roc.value.Trim().Length > 0) // don't return val if it's an empty or blank string - jsj 01-28-2019
|
||||
|
||||
+42
-19
@@ -6,6 +6,7 @@ using System.Windows.Forms;
|
||||
using System.Text;
|
||||
using System.Drawing;
|
||||
using System.Text.RegularExpressions;
|
||||
using Volian.Base.Library;
|
||||
using VG;
|
||||
|
||||
namespace XYPlots
|
||||
@@ -282,9 +283,12 @@ namespace XYPlots
|
||||
{
|
||||
if (!File.Exists(FileName))
|
||||
{
|
||||
// File does not exist, show error message
|
||||
MessageBox.Show(String.Format("X/Y Plot File {0} Does Not Exist", FileName), "Error Opening X/Y Plot File");
|
||||
return false;
|
||||
if (!BaseLnSettings.blBaseLine) // B2026-056 suppress messages when running baseline.
|
||||
{
|
||||
// File does not exist, show error message
|
||||
MessageBox.Show(String.Format("X/Y Plot File {0} Does Not Exist", FileName), "Error Opening X/Y Plot File");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// Open the X/Y Plot file
|
||||
try
|
||||
@@ -293,9 +297,12 @@ namespace XYPlots
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
// cannot open the x/y plot file
|
||||
MessageBox.Show(e.Message, String.Format("Error Opening {0} for Reading", FileName));
|
||||
return false;
|
||||
if (!BaseLnSettings.blBaseLine) // B2026-056 suppress messages when running baseline.
|
||||
{
|
||||
// cannot open the x/y plot file
|
||||
MessageBox.Show(e.Message, String.Format("Error Opening {0} for Reading", FileName));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
int blen = (int)XYPlotFile.Length;
|
||||
int bread = 0;
|
||||
@@ -309,8 +316,11 @@ namespace XYPlots
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
MessageBox.Show(e.Message, String.Format("Error Reading {0}", FileName));
|
||||
return false;
|
||||
if (!BaseLnSettings.blBaseLine) // B2026-056 suppress messages when running baseline.
|
||||
{
|
||||
MessageBox.Show(e.Message, String.Format("Error Reading {0}", FileName));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
try
|
||||
{
|
||||
@@ -318,8 +328,11 @@ namespace XYPlots
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
MessageBox.Show(e.Message, String.Format("Error Closing {0}", FileName));
|
||||
return false;
|
||||
if (!BaseLnSettings.blBaseLine) // B2026-056 suppress messages when running baseline.
|
||||
{
|
||||
MessageBox.Show(e.Message, String.Format("Error Closing {0}", FileName));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (int i = 0; i < bbuf.Length; i++)
|
||||
@@ -446,7 +459,7 @@ namespace XYPlots
|
||||
char retval;
|
||||
StringBuilder Lbuff = new StringBuilder();
|
||||
retval = NextChar();
|
||||
if (retval != '"' && retval != '\x1C') // open double quote
|
||||
if (retval != '"' && retval != '\x1C' && !BaseLnSettings.blBaseLine) // open double quote
|
||||
MessageBox.Show("Double Quote not found", "Syntax problem in XY Plot");
|
||||
retval = NextChar();
|
||||
while (retval != 0 && retval != '\n')
|
||||
@@ -1440,7 +1453,10 @@ namespace XYPlots
|
||||
}
|
||||
private void PrintStackError(string relation, int limit)
|
||||
{
|
||||
MessageBox.Show(String.Format("Position Stack Pointer {0} {1}", relation, limit.ToString()), "Print Stack Error");
|
||||
if (!BaseLnSettings.blBaseLine) // B2026-056 suppress messages when running baseline.
|
||||
{
|
||||
MessageBox.Show(String.Format("Position Stack Pointer {0} {1}", relation, limit.ToString()), "Print Stack Error");
|
||||
}
|
||||
}
|
||||
private void SavePosition()
|
||||
{
|
||||
@@ -1658,8 +1674,11 @@ namespace XYPlots
|
||||
}
|
||||
private void err_exit(string msg, string msg2)
|
||||
{
|
||||
MessageBox.Show(msg + "\n" + msg2 + "\n\n This p=Process Will Terminate", "\n## ERROR ## - ");
|
||||
Environment.Exit(255);
|
||||
if (!BaseLnSettings.blBaseLine) // B2026-056 suppress messages when running baseline.
|
||||
{
|
||||
MessageBox.Show(msg + "\n" + msg2 + "\n\n This p=Process Will Terminate", "\n## ERROR ## - ");
|
||||
Environment.Exit(255);
|
||||
}
|
||||
}
|
||||
private void FindBoxesinArea(int ptval, int flag)
|
||||
{
|
||||
@@ -1916,7 +1935,7 @@ namespace XYPlots
|
||||
{
|
||||
// MSWord enters left and right double-quotes when you press the double-quote key
|
||||
//B2017 - Replace left and right double-quotes with normal double-quotes
|
||||
PlotCommands = PlotCommands.Replace('\u201C', '"').Replace('\u201D', '"');
|
||||
PlotCommands = PlotCommands.Replace('\u201C', '"').Replace('\u201D', '"');
|
||||
LoadBuffFromString(PlotCommands);
|
||||
Setup();
|
||||
//#if DEBUG
|
||||
@@ -1991,10 +2010,14 @@ namespace XYPlots
|
||||
AxisLabel[1] = getint();
|
||||
break;
|
||||
default:
|
||||
if (PrevCommand.Equals(null))
|
||||
MessageBox.Show("Check the first line of the X/Y Plot definition.", "Unrecognized Graph Command");
|
||||
else
|
||||
MessageBox.Show(string.Format("Problem with the X/Y Plot Command after {0}", PrevCommand.ToString()), "Unrecognized Graph Command");
|
||||
if (BaseLnSettings.blBaseLine == false) // B2026-056 suppress messages when running baseline.
|
||||
{
|
||||
if (PrevCommand.Equals(null))
|
||||
MessageBox.Show("Check the first line of the X/Y Plot definition.", "Unrecognized Graph Command");
|
||||
else
|
||||
MessageBox.Show(string.Format("Problem with the X/Y Plot Command after {0}", PrevCommand.ToString()), "Unrecognized Graph Command");
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
PrevCommand = Command;
|
||||
|
||||
@@ -176,6 +176,10 @@
|
||||
<Project>{52D74078-3822-410E-889B-464BD21AAB9E}</Project>
|
||||
<Name>VG</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Volian.Base.Library\Volian.Base.Library.csproj">
|
||||
<Project>{aeee9fd1-6892-45e2-a67e-418c06d46ff9}</Project>
|
||||
<Name>Volian.Base.Library</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties\" />
|
||||
|
||||
Reference in New Issue
Block a user