Merge pull request 'Development' (#530) from Development into master
Merging all changes through B2025-017 from dev into master after successful testing.
This commit is contained in:
commit
1cf7d81aa5
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.
49
PROMS/Formats/frmFormatCopy.Designer.cs
generated
49
PROMS/Formats/frmFormatCopy.Designer.cs
generated
@ -33,6 +33,8 @@ namespace Formats
|
||||
this.btnCopyFormats = new DevComponents.DotNetBar.ButtonX();
|
||||
this.btnBrowse = new DevComponents.DotNetBar.ButtonX();
|
||||
this.buttonX2 = new DevComponents.DotNetBar.ButtonX();
|
||||
this.labelX2 = new DevComponents.DotNetBar.LabelX();
|
||||
this.LstBxExcludeFiles = new DevComponents.DotNetBar.ListBoxAdv();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// txbxPROMSFormatsPath
|
||||
@ -64,7 +66,7 @@ namespace Formats
|
||||
//
|
||||
this.btnCopyFormats.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
|
||||
this.btnCopyFormats.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
|
||||
this.btnCopyFormats.Location = new System.Drawing.Point(152, 68);
|
||||
this.btnCopyFormats.Location = new System.Drawing.Point(232, 156);
|
||||
this.btnCopyFormats.Name = "btnCopyFormats";
|
||||
this.btnCopyFormats.Size = new System.Drawing.Size(84, 27);
|
||||
this.btnCopyFormats.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
@ -88,7 +90,7 @@ namespace Formats
|
||||
//
|
||||
this.buttonX2.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
|
||||
this.buttonX2.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
|
||||
this.buttonX2.Location = new System.Drawing.Point(329, 68);
|
||||
this.buttonX2.Location = new System.Drawing.Point(409, 156);
|
||||
this.buttonX2.Name = "buttonX2";
|
||||
this.buttonX2.Size = new System.Drawing.Size(75, 23);
|
||||
this.buttonX2.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
@ -96,17 +98,52 @@ namespace Formats
|
||||
this.buttonX2.Text = "Exit";
|
||||
this.buttonX2.Click += new System.EventHandler(this.buttonX2_Click);
|
||||
//
|
||||
// Form1
|
||||
// labelX2
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
this.labelX2.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
|
||||
this.labelX2.Location = new System.Drawing.Point(12, 41);
|
||||
this.labelX2.Name = "labelX2";
|
||||
this.labelX2.Size = new System.Drawing.Size(200, 23);
|
||||
this.labelX2.TabIndex = 5;
|
||||
this.labelX2.Text = "Excluding Format Files that Start with:";
|
||||
//
|
||||
// LstBxExcludeFiles
|
||||
//
|
||||
this.LstBxExcludeFiles.AutoScroll = true;
|
||||
//
|
||||
//
|
||||
//
|
||||
this.LstBxExcludeFiles.BackgroundStyle.Class = "ListBoxAdv";
|
||||
this.LstBxExcludeFiles.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
|
||||
this.LstBxExcludeFiles.CausesValidation = false;
|
||||
this.LstBxExcludeFiles.CheckStateMember = null;
|
||||
this.LstBxExcludeFiles.ContainerControlProcessDialogKey = true;
|
||||
this.LstBxExcludeFiles.DragDropSupport = true;
|
||||
this.LstBxExcludeFiles.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.LstBxExcludeFiles.LicenseKey = "F962CEC7-CD8F-4911-A9E9-CAB39962FC1F";
|
||||
this.LstBxExcludeFiles.Location = new System.Drawing.Point(57, 70);
|
||||
this.LstBxExcludeFiles.Name = "LstBxExcludeFiles";
|
||||
this.LstBxExcludeFiles.ShowToolTips = false;
|
||||
this.LstBxExcludeFiles.Size = new System.Drawing.Size(134, 76);
|
||||
this.LstBxExcludeFiles.TabIndex = 6;
|
||||
this.LstBxExcludeFiles.Text = "listBoxAdv1";
|
||||
//
|
||||
// frmFormatCopy
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(496, 107);
|
||||
this.ClientSize = new System.Drawing.Size(496, 191);
|
||||
this.Controls.Add(this.LstBxExcludeFiles);
|
||||
this.Controls.Add(this.labelX2);
|
||||
this.Controls.Add(this.buttonX2);
|
||||
this.Controls.Add(this.btnBrowse);
|
||||
this.Controls.Add(this.btnCopyFormats);
|
||||
this.Controls.Add(this.labelX1);
|
||||
this.Controls.Add(this.txbxPROMSFormatsPath);
|
||||
this.Name = "Form1";
|
||||
this.Name = "frmFormatCopy";
|
||||
this.Text = "Form1";
|
||||
this.ResumeLayout(false);
|
||||
|
||||
@ -119,6 +156,8 @@ namespace Formats
|
||||
private DevComponents.DotNetBar.ButtonX btnCopyFormats;
|
||||
private DevComponents.DotNetBar.ButtonX btnBrowse;
|
||||
private DevComponents.DotNetBar.ButtonX buttonX2;
|
||||
private DevComponents.DotNetBar.LabelX labelX2;
|
||||
private DevComponents.DotNetBar.ListBoxAdv LstBxExcludeFiles;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -14,6 +14,10 @@ namespace Formats
|
||||
public frmFormatCopy()
|
||||
{
|
||||
InitializeComponent();
|
||||
foreach (string excludeThis in excludeThese)
|
||||
{
|
||||
LstBxExcludeFiles.Items.Add(excludeThis);
|
||||
}
|
||||
SetDefaults();
|
||||
}
|
||||
|
||||
@ -92,10 +96,11 @@ namespace Formats
|
||||
if (!txbxPROMSFormatsPath.Text.EndsWith(@"\")) txbxPROMSFormatsPath.Text += @"\";
|
||||
}
|
||||
|
||||
public string[] excludeThese = { "WPS", "WPB", "VCBEPP" };
|
||||
|
||||
private bool ExcludeFromCopy(string fn)
|
||||
{
|
||||
// don't copy formats whos file name starts with..
|
||||
string[] excludeThese = { "WPS", "WEP", "WPB", "VCBEPP" };
|
||||
foreach (string excludeThis in excludeThese)
|
||||
if (fn.ToUpper().StartsWith(excludeThis)) return true;
|
||||
return false;
|
||||
|
@ -112,9 +112,9 @@
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
@ -264,9 +264,11 @@ namespace ROEditor
|
||||
File.Delete(FstNew); // remove ROFST.NEW
|
||||
if (OrphanedRecords.Length > 0)
|
||||
{
|
||||
StreamWriter sw = new StreamWriter(VlnSettings.TemporaryFolder + @"\Orphaned RO Records.txt");
|
||||
using (StreamWriter sw = new StreamWriter(Path.Combine(FstDir, @"Orphaned RO Records.txt"), false))
|
||||
{
|
||||
sw.Write(OrphanedRecords.ToString());
|
||||
sw.Close();
|
||||
}
|
||||
MessageBox.Show("The file Orphaned RO Records.txt has been created", "Warning - Orphan RO Record");
|
||||
}
|
||||
|
||||
|
@ -19,6 +19,7 @@ using System.Drawing;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Linq;
|
||||
|
||||
namespace VEPROMS.CSLA.Library
|
||||
{
|
||||
@ -143,6 +144,8 @@ namespace VEPROMS.CSLA.Library
|
||||
}
|
||||
#endregion
|
||||
#region SortingChildren
|
||||
private static bool IsInManualOrderNullFix = false;
|
||||
|
||||
[NonSerialized]
|
||||
public Csla.SortedBindingList<FolderInfo> _SortedChildFolders;
|
||||
public Csla.SortedBindingList<FolderInfo> SortedChildFolders
|
||||
@ -151,6 +154,29 @@ namespace VEPROMS.CSLA.Library
|
||||
{
|
||||
if (ChildFolders != null)
|
||||
{
|
||||
//B2025-018 Issues with folder order in tree view
|
||||
// if any ChildFolders with a missing Manual Order
|
||||
// set them to the end of the list
|
||||
// use IsInManualOrderNullFix - so, if setting ChildFolders Currently,
|
||||
// do not try to set them (thus creating an infinite loop)
|
||||
if (!IsInManualOrderNullFix && ChildFolders.Any(x => x.ManualOrder == null))
|
||||
{
|
||||
IsInManualOrderNullFix = true;
|
||||
foreach (FolderInfo fi in ChildFolders.Where(x => x.ManualOrder == null))
|
||||
{
|
||||
using (FolderInfo parfolderinfo = FolderInfo.Get(fi.ParentID))
|
||||
{
|
||||
using (Folder fldr = fi.Get())
|
||||
{
|
||||
fldr.ManualOrder = parfolderinfo.NewManualOrder(9999);
|
||||
fldr.Save();
|
||||
}
|
||||
}
|
||||
}
|
||||
RefreshChildFolders();
|
||||
IsInManualOrderNullFix = false;
|
||||
}
|
||||
|
||||
if (_SortedChildFolders == null)
|
||||
{
|
||||
_SortedChildFolders = new SortedBindingList<FolderInfo>(ChildFolders);
|
||||
@ -166,6 +192,10 @@ namespace VEPROMS.CSLA.Library
|
||||
return _SortedChildFolders;
|
||||
}
|
||||
}
|
||||
|
||||
//B2025-018 Issues with folder order in tree view
|
||||
//Note: this should be called from the parent item
|
||||
//As you want to put this into the sorted order of the parent item
|
||||
public double? NewManualOrder(int index)
|
||||
{
|
||||
double? retval = 1;
|
||||
@ -174,13 +204,27 @@ namespace VEPROMS.CSLA.Library
|
||||
else if (index == 0)
|
||||
{
|
||||
if (retval >= SortedChildFolders[index].ManualOrder) // If one is too big, then divide first value in half
|
||||
retval = SortedChildFolders[index].ManualOrder / 2;
|
||||
retval = SortedChildFolders[index].ManualOrder / 2.0;
|
||||
}
|
||||
else if (SortedChildFolders.Count > index)
|
||||
{
|
||||
retval += SortedChildFolders[index - 1].ManualOrder; // Just go to the next whole number
|
||||
if (retval >= SortedChildFolders[index].ManualOrder)
|
||||
retval = (SortedChildFolders[index - 1].ManualOrder + SortedChildFolders[index].ManualOrder) / 2;
|
||||
//B2025-018 Issues with folder order in tree view
|
||||
//filter to just items with the same parent
|
||||
//want new order to be halfway between the previous item
|
||||
//and the next ManualOrder
|
||||
var tmp = SortedChildFolders.Where(x => x.ParentID == FolderID);
|
||||
var lbound = SortedChildFolders[index - 1].ManualOrder;
|
||||
var ubound = tmp.OrderBy(y => y.ManualOrder).FirstOrDefault(x => x.ManualOrder > lbound)?.ManualOrder;
|
||||
if (ubound != null)
|
||||
{
|
||||
retval = ((ubound - lbound) / 2.0) + lbound;
|
||||
}
|
||||
else
|
||||
{
|
||||
//in this case, item before is highest for that parent
|
||||
//so just make this 1 more
|
||||
retval = lbound + 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -805,7 +805,21 @@ namespace VEPROMS.CSLA.Library
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// B2025-020 Null Reference fix. Added check for valid index into the TransitionTypeList
|
||||
if (!forceConvertToText)
|
||||
{
|
||||
if (traninfo.TranType >= itemInfo.ActiveFormat.PlantFormat.FormatData.TransData.TransTypeList.Count)
|
||||
{
|
||||
forceConvertToText = true;
|
||||
TranFixCount++;
|
||||
itemInfo.MyContent.FixTransitionText(traninfo, itemInfo, "Reason for Change: Transition type is not available");
|
||||
using (Content content = Content.Get(itemInfo.MyContent.ContentID))
|
||||
{
|
||||
content.FixTransitionText(traninfo, true);
|
||||
content.Save();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!forceConvertToText)
|
||||
{
|
||||
if (itemInfo.MyProcedure.ItemID != traninfo.MyItemToID.MyProcedure.ItemID) //different proc
|
||||
|
@ -769,6 +769,15 @@ namespace VEPROMS.CSLA.Library
|
||||
tmp.MyParent = myParent;
|
||||
tmp.Name = name;
|
||||
tmp.ShortName = shortName;
|
||||
|
||||
//B2025-018 Issues with folder order in tree view
|
||||
//if no manual order is set, add it at the end
|
||||
if (myParent != null)
|
||||
{
|
||||
using (FolderInfo parfolderinfo = FolderInfo.Get(myParent.FolderID))
|
||||
tmp.ManualOrder = parfolderinfo.NewManualOrder(9999);
|
||||
}
|
||||
|
||||
return tmp;
|
||||
}
|
||||
public static Folder New(Folder myParent, Connection myConnection, string name, string title, string shortName, Format myFormat, double? manualOrder, string config, DateTime dts, string usrID)
|
||||
@ -784,6 +793,15 @@ namespace VEPROMS.CSLA.Library
|
||||
tmp.Config = config;
|
||||
tmp.DTS = dts;
|
||||
tmp.UsrID = usrID;
|
||||
|
||||
//B2025-018 Issues with folder order in tree view
|
||||
//if no manual order is set, add it at the end
|
||||
if (myParent != null && manualOrder == null)
|
||||
{
|
||||
using (FolderInfo parfolderinfo = FolderInfo.Get(myParent.FolderID))
|
||||
tmp.ManualOrder = parfolderinfo.NewManualOrder(9999);
|
||||
}
|
||||
|
||||
return tmp;
|
||||
}
|
||||
public static Folder MakeFolder(Folder myParent, Connection myConnection, string name, string title, string shortName, Format myFormat, double? manualOrder, string config, DateTime dts, string usrID)
|
||||
@ -813,6 +831,15 @@ namespace VEPROMS.CSLA.Library
|
||||
tmp.MyFormat = myFormat;
|
||||
tmp.ManualOrder = manualOrder;
|
||||
tmp.Config = config;
|
||||
|
||||
//B2025-018 Issues with folder order in tree view
|
||||
//if no manual order is set, add it at the end
|
||||
if (myParent != null && manualOrder == null)
|
||||
{
|
||||
using (FolderInfo parfolderinfo = FolderInfo.Get(myParent.FolderID))
|
||||
tmp.ManualOrder = parfolderinfo.NewManualOrder(9999);
|
||||
}
|
||||
|
||||
return tmp;
|
||||
}
|
||||
public static Folder MakeFolder(Folder myParent, Connection myConnection, string name, string title, string shortName, Format myFormat, double? manualOrder, string config)
|
||||
|
@ -982,6 +982,8 @@ namespace Volian.Controls.Library
|
||||
//ProcedureInfo pri = tn as SectionInfo;
|
||||
SectionInfo si2 = (tn as VETreeNode).VEObject as SectionInfo;
|
||||
if (si2.MyDocVersion.MultiUnitCount > 1)
|
||||
{
|
||||
if (!si2.IsSubsection)
|
||||
{
|
||||
MenuItem mps = new MenuItem("Print Section");
|
||||
int k = 0;
|
||||
@ -993,9 +995,10 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
cm.MenuItems.Add(mps);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
cm.MenuItems.Add("Print Section", new EventHandler(mi_Click));
|
||||
if(!si2.IsSubsection) cm.MenuItems.Add("Print Section", new EventHandler(mi_Click));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2812,8 +2815,11 @@ namespace Volian.Controls.Library
|
||||
int f2 = -1;
|
||||
string uniquename = _LastFolderInfo.MyParent.UniqueChildName("New Folder");
|
||||
int myindex = SelectedNode.Index + ((newtype == MenuSelections.FolderAfter) ? 1 : 0);
|
||||
FolderInfo parfolderinfo = FolderInfo.Get(parentfolder.FolderID);
|
||||
double? myorder = parfolderinfo.NewManualOrder(myindex);
|
||||
//B2025-018 Issues with folder order in tree view
|
||||
//since before/after folder is at same level as current folder
|
||||
//so need to use the parents order to determine where to place it
|
||||
using (FolderInfo parfolderinfo = FolderInfo.Get(parentfolder.MyParent.FolderID))
|
||||
{ double? myorder = parfolderinfo.NewManualOrder(myindex);
|
||||
using (Folder folder = Folder.MakeFolder(parentfolder.MyParent, parentfolder.MyConnection, uniquename, string.Empty, "Short Name", null, myorder, string.Empty, DateTime.Now, VlnSettings.UserID))
|
||||
{
|
||||
ShowBrokenRules(folder.BrokenRulesCollection);
|
||||
@ -2832,6 +2838,7 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
#region InsertProcedure
|
||||
else if (newtype == MenuSelections.Procedure)
|
||||
|
Loading…
x
Reference in New Issue
Block a user