Compare commits
33 Commits
C2025-024
...
C2025-047-
Author | SHA1 | Date | |
---|---|---|---|
371d117746 | |||
2131efb522 | |||
6e20774edf | |||
a7c7744ff3 | |||
019aefbc61 | |||
81a23305ba | |||
4001abff02 | |||
25bfbeb8d6 | |||
a3aa9747b8 | |||
009243b091 | |||
e31e0b6680 | |||
449bb2522b | |||
453dce9520 | |||
655592186b | |||
1ebf67233b | |||
1588dabcbe | |||
09d3995e6c | |||
db20385a6d | |||
d701935ddf | |||
d3888e3c32 | |||
94f0795247 | |||
4def73d738 | |||
99445406fc | |||
025fa57e24 | |||
6f04d0bf07 | |||
7a0f56cad8 | |||
c98299d916 | |||
f6e25fd966 | |||
557b9429bf | |||
139f7bbd0a | |||
e08b5cde69 | |||
07c7718320 | |||
2953e977ef |
@@ -28,7 +28,9 @@ namespace AT.STO.UI.Win
|
|||||||
|
|
||||||
_dropDownHelper = new DropDownWindowHelper();
|
_dropDownHelper = new DropDownWindowHelper();
|
||||||
|
|
||||||
|
_dropDownHelper.DropDownClosed -= new DropDownClosedEventHandler(DropDownHelper_DropDownClosed);
|
||||||
_dropDownHelper.DropDownClosed += new DropDownClosedEventHandler(DropDownHelper_DropDownClosed);
|
_dropDownHelper.DropDownClosed += new DropDownClosedEventHandler(DropDownHelper_DropDownClosed);
|
||||||
|
_dropDownHelper.DropDownCancel -= new DropDownCancelEventHandler(DropDownHelper_DropDownCancel);
|
||||||
_dropDownHelper.DropDownCancel += new DropDownCancelEventHandler(DropDownHelper_DropDownCancel);
|
_dropDownHelper.DropDownCancel += new DropDownCancelEventHandler(DropDownHelper_DropDownCancel);
|
||||||
|
|
||||||
combo.DisplayMember = "Text";
|
combo.DisplayMember = "Text";
|
||||||
@@ -82,7 +84,9 @@ namespace AT.STO.UI.Win
|
|||||||
DropDownForm dropDown = new DropDownForm(_dropDownControl);
|
DropDownForm dropDown = new DropDownForm(_dropDownControl);
|
||||||
|
|
||||||
|
|
||||||
|
dropDown.FinishEditing -= new DropDownValueChangedEventHandler(DropDown_FinishEditing);
|
||||||
dropDown.FinishEditing += new DropDownValueChangedEventHandler(DropDown_FinishEditing);
|
dropDown.FinishEditing += new DropDownValueChangedEventHandler(DropDown_FinishEditing);
|
||||||
|
dropDown.ValueChanged -= new DropDownValueChangedEventHandler(DropDown_ValueChanged);
|
||||||
dropDown.ValueChanged += new DropDownValueChangedEventHandler(DropDown_ValueChanged);
|
dropDown.ValueChanged += new DropDownValueChangedEventHandler(DropDown_ValueChanged);
|
||||||
|
|
||||||
combo.DroppedDown = false;
|
combo.DroppedDown = false;
|
||||||
|
@@ -49,7 +49,9 @@ namespace AT.STO.UI.Win
|
|||||||
{
|
{
|
||||||
base.OnShown(e);
|
base.OnShown(e);
|
||||||
|
|
||||||
|
_control.FinishEditing -= new DropDownValueChangedEventHandler(Ctrl_FinishEditing);
|
||||||
_control.FinishEditing += new DropDownValueChangedEventHandler(Ctrl_FinishEditing);
|
_control.FinishEditing += new DropDownValueChangedEventHandler(Ctrl_FinishEditing);
|
||||||
|
_control.ValueChanged -= new DropDownValueChangedEventHandler(Ctrl_ValueChanged);
|
||||||
_control.ValueChanged += new DropDownValueChangedEventHandler(Ctrl_ValueChanged);
|
_control.ValueChanged += new DropDownValueChangedEventHandler(Ctrl_ValueChanged);
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
@@ -39,6 +39,7 @@ namespace AT.STO.UI.Win
|
|||||||
public DropDownWindowHelper()
|
public DropDownWindowHelper()
|
||||||
{
|
{
|
||||||
_filter = new DropDownMessageFilter(this);
|
_filter = new DropDownMessageFilter(this);
|
||||||
|
_filter.DropDownCancel -= new DropDownCancelEventHandler(Popup_Cancel);
|
||||||
_filter.DropDownCancel += new DropDownCancelEventHandler(Popup_Cancel);
|
_filter.DropDownCancel += new DropDownCancelEventHandler(Popup_Cancel);
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
@@ -180,7 +180,6 @@
|
|||||||
<Content Include="fmtall\CPL_03all.xml" />
|
<Content Include="fmtall\CPL_03all.xml" />
|
||||||
<Content Include="fmtall\CPSAMGDataall.xml" />
|
<Content Include="fmtall\CPSAMGDataall.xml" />
|
||||||
<Content Include="fmtall\CPSAMGDEVall.xml" />
|
<Content Include="fmtall\CPSAMGDEVall.xml" />
|
||||||
<Content Include="fmtall\EPTSTBCK1all.xml" />
|
|
||||||
<Content Include="fmtall\EPTST1all.xml" />
|
<Content Include="fmtall\EPTST1all.xml" />
|
||||||
<Content Include="fmtall\CWEall.xml" />
|
<Content Include="fmtall\CWEall.xml" />
|
||||||
<Content Include="fmtall\CWEDEVall.xml" />
|
<Content Include="fmtall\CWEDEVall.xml" />
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
203
PROMS/VEPROMS User Interface/DlgAnnotationsSelect.cs
Normal file
203
PROMS/VEPROMS User Interface/DlgAnnotationsSelect.cs
Normal file
@@ -0,0 +1,203 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Data;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
using VEPROMS.CSLA.Library;
|
||||||
|
|
||||||
|
namespace VEPROMS
|
||||||
|
{
|
||||||
|
// C2025-027 Annotation Type Filtering
|
||||||
|
public partial class dlgAnnotationsSelect : Form
|
||||||
|
{
|
||||||
|
public dlgAnnotationsSelect()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
|
||||||
|
public dlgAnnotationsSelect(string userid)
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
UserID = userid;
|
||||||
|
}
|
||||||
|
|
||||||
|
private int _MyItemID;
|
||||||
|
public int MyItemID
|
||||||
|
{
|
||||||
|
get { return _MyItemID; }
|
||||||
|
set { _MyItemID = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
private string _UserID;
|
||||||
|
public string UserID
|
||||||
|
{
|
||||||
|
get { return _UserID; }
|
||||||
|
set { _UserID = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btnSelect_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
MoveSelectedItems(lstUnselected, lstSelected);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Move selected items to lstUnselected.
|
||||||
|
private void btnDeselect_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
MoveSelectedItems(lstSelected, lstUnselected);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Move selected items from one ListBox to another.
|
||||||
|
private void MoveSelectedItems(ListBox lstFrom, ListBox lstTo)
|
||||||
|
{
|
||||||
|
while (lstFrom.SelectedItems.Count > 0)
|
||||||
|
{
|
||||||
|
lstSelected.DisplayMember = "NameStr";
|
||||||
|
lstSelected.ValueMember = "TypeID";
|
||||||
|
|
||||||
|
AnnotataionItem item = (AnnotataionItem)lstFrom.SelectedItems[0];
|
||||||
|
lstTo.Items.Add(new AnnotataionItem(item.NameStr, item.TypeID));
|
||||||
|
lstFrom.Items.Remove(item);
|
||||||
|
}
|
||||||
|
SetButtonsEditable();
|
||||||
|
btnUpdate.Enabled = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Move all items to lstSelected.
|
||||||
|
private void btnSelectAll_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
MoveAllItems(lstUnselected, lstSelected);
|
||||||
|
btnUpdate.Enabled = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Move all items to lstUnselected.
|
||||||
|
private void btnDeselectAll_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
MoveAllItems(lstSelected, lstUnselected);
|
||||||
|
btnUpdate.Enabled = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Move all items from one ListBox to another.
|
||||||
|
private void MoveAllItems(ListBox lstFrom, ListBox lstTo)
|
||||||
|
{
|
||||||
|
lstTo.Items.AddRange(lstFrom.Items);
|
||||||
|
lstFrom.Items.Clear();
|
||||||
|
SetButtonsEditable();
|
||||||
|
btnUpdate.Enabled = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Enable and disable buttons.
|
||||||
|
private void lst_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
SetButtonsEditable();
|
||||||
|
}
|
||||||
|
// Save selected list to DB.
|
||||||
|
private void btnUpdate_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
saveChanges();
|
||||||
|
}
|
||||||
|
public class AnnotataionItem
|
||||||
|
{
|
||||||
|
private string _NameStr;
|
||||||
|
private int _TypeID;
|
||||||
|
|
||||||
|
public AnnotataionItem(string NameStr, int TypeID)
|
||||||
|
{
|
||||||
|
this._NameStr = NameStr;
|
||||||
|
this._TypeID = TypeID;
|
||||||
|
}
|
||||||
|
public string NameStr
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return _NameStr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public int TypeID
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return _TypeID;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Enable and disable buttons.
|
||||||
|
private void SetButtonsEditable()
|
||||||
|
{
|
||||||
|
btnSelect.Enabled = (lstUnselected.SelectedItems.Count > 0);
|
||||||
|
btnSelectAll.Enabled = (lstUnselected.Items.Count > 0);
|
||||||
|
btnDeselect.Enabled = (lstSelected.SelectedItems.Count > 0);
|
||||||
|
btnDeselectAll.Enabled = (lstSelected.Items.Count > 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void DlgAnnotationsSelect_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
lstUnselected.DisplayMember = "NameStr";
|
||||||
|
lstUnselected.ValueMember = "TypeID";
|
||||||
|
SetButtonsEditable();
|
||||||
|
DataTable AnnoType = AnnotationstypeSelections.GetAnnoTypes(UserID);
|
||||||
|
foreach (DataRow dr in AnnoType.Rows)
|
||||||
|
{
|
||||||
|
lstUnselected.Items.Add(new AnnotataionItem(dr["Name"].ToString(), (int)dr["TypeID"]));
|
||||||
|
}
|
||||||
|
|
||||||
|
lstSelected.DisplayMember = "NameStr";
|
||||||
|
lstSelected.ValueMember = "TypeID";
|
||||||
|
DataTable lstSelectedTbl = VEPROMS.CSLA.Library.AnnotationstypeSelections.Retrieve(UserID);
|
||||||
|
|
||||||
|
foreach (DataRow lstSelectedRow in lstSelectedTbl.Rows)
|
||||||
|
{
|
||||||
|
lstSelected.Items.Add(new AnnotataionItem(lstSelectedRow["Name"].ToString(), (int)lstSelectedRow["TypeID"]));
|
||||||
|
}
|
||||||
|
btnUpdate.Enabled = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btnCancel_Click_1(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (btnUpdate.Enabled == true)
|
||||||
|
{
|
||||||
|
string message = "Changes have not yet been saved. Do you want to save the changes prior to closing?";
|
||||||
|
string title = "Save Annotation Selections";
|
||||||
|
MessageBoxButtons buttons = MessageBoxButtons.YesNo;
|
||||||
|
DialogResult result = MessageBox.Show(message, title, buttons);
|
||||||
|
if (result == DialogResult.Yes)
|
||||||
|
{
|
||||||
|
saveChanges();
|
||||||
|
this.Close();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.Close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.Close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private DataTable coverToTable()
|
||||||
|
{
|
||||||
|
DataTable dt = new DataTable();
|
||||||
|
dt.Columns.Add("TypeID", typeof(Int32));
|
||||||
|
|
||||||
|
|
||||||
|
foreach (AnnotataionItem item in lstSelected.Items.OfType<AnnotataionItem>())
|
||||||
|
{
|
||||||
|
dt.Rows.Add(item.TypeID);
|
||||||
|
}
|
||||||
|
return dt;
|
||||||
|
}
|
||||||
|
private void saveChanges()
|
||||||
|
{
|
||||||
|
DataTable dt2 = coverToTable();
|
||||||
|
VEPROMS.CSLA.Library.AnnotationstypeSelections.Update(dt2, UserID);
|
||||||
|
btnUpdate.Enabled = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
120
PROMS/VEPROMS User Interface/DlgAnnotationsSelect.resx
Normal file
120
PROMS/VEPROMS User Interface/DlgAnnotationsSelect.resx
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
</root>
|
@@ -393,6 +393,7 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
SetupForProcedure();
|
SetupForProcedure();
|
||||||
_MyTimer = new Timer();
|
_MyTimer = new Timer();
|
||||||
|
_MyTimer.Tick -= new EventHandler(_MyTimer_Tick);
|
||||||
_MyTimer.Tick += new EventHandler(_MyTimer_Tick);
|
_MyTimer.Tick += new EventHandler(_MyTimer_Tick);
|
||||||
_MyTimer.Interval = 100;
|
_MyTimer.Interval = 100;
|
||||||
_MyTimer.Enabled = true;
|
_MyTimer.Enabled = true;
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
|
|
||||||
|
|
||||||
Set NoCount On;
|
Set NoCount On;
|
||||||
|
|
||||||
If (db_name() in('master','model','msdn','tempdb'))
|
If (db_name() in('master','model','msdn','tempdb'))
|
||||||
@@ -24026,7 +24024,7 @@ Begin -- Rofst Tables
|
|||||||
CONSTRAINT [PK_EPFormats] PRIMARY KEY CLUSTERED
|
CONSTRAINT [PK_EPFormats] PRIMARY KEY CLUSTERED
|
||||||
(
|
(
|
||||||
[FormatID] ASC
|
[FormatID] ASC
|
||||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
||||||
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
|
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
|
||||||
|
|
||||||
IF (@@Error = 0) PRINT 'Table Creation: [EPFormats] Succeeded'
|
IF (@@Error = 0) PRINT 'Table Creation: [EPFormats] Succeeded'
|
||||||
@@ -24035,6 +24033,7 @@ Begin -- Rofst Tables
|
|||||||
End
|
End
|
||||||
Go
|
Go
|
||||||
|
|
||||||
|
|
||||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vesp_UpdateEPFormat]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
|
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vesp_UpdateEPFormat]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
|
||||||
DROP PROCEDURE [vesp_UpdateEPFormat];
|
DROP PROCEDURE [vesp_UpdateEPFormat];
|
||||||
GO
|
GO
|
||||||
@@ -24075,6 +24074,217 @@ ELSE
|
|||||||
|
|
||||||
GO
|
GO
|
||||||
|
|
||||||
|
-- C2025-027 Annotation Type Filtering
|
||||||
|
/****** Object: Table [dbo].[AnnotationTypeSelections] Script Date: 7/10/2025 2:38:23 PM ******/
|
||||||
|
SET ANSI_NULLS ON
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET QUOTED_IDENTIFIER ON
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- =============================================
|
||||||
|
-- Author: Paul Larsen
|
||||||
|
-- Create date: 07/10/2025
|
||||||
|
-- Description: Store user Annotation selections for annotation filter.
|
||||||
|
-- =============================================
|
||||||
|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[AnnotationTypeSelections]') AND type in (N'U'))
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
CREATE TABLE [dbo].[AnnotationTypeSelections](
|
||||||
|
[ASTypeID] [int] IDENTITY(1,1) NOT NULL,
|
||||||
|
[TypeID] [int] NULL,
|
||||||
|
[UserID] [varchar](50) NULL,
|
||||||
|
[LastChanged] [datetime] NULL,
|
||||||
|
CONSTRAINT [PK_AnnotationTypeSelections] PRIMARY KEY CLUSTERED
|
||||||
|
([ASTypeID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
||||||
|
) ON [PRIMARY]
|
||||||
|
END
|
||||||
|
|
||||||
|
IF OBJECT_ID('DF_AnnotationTypeSelections_LastChanged', 'D') IS NULL
|
||||||
|
ALTER TABLE AnnotationTypeSelections ADD CONSTRAINT [DF_AnnotationTypeSelections_LastChanged] DEFAULT (getdate()) for [LastChanged];
|
||||||
|
GO
|
||||||
|
|
||||||
|
IF EXISTS (SELECT * FROM sys.indexes WHERE name='idx_AnnotationTypeSelections_UserIDTypeID'
|
||||||
|
AND object_id = OBJECT_ID('[dbo].[AnnotationTypeSelections]'))
|
||||||
|
begin
|
||||||
|
DROP INDEX [idx_AnnotationTypeSelections_UserIDTypeID] ON [dbo].[AnnotationTypeSelections];
|
||||||
|
end
|
||||||
|
|
||||||
|
CREATE UNIQUE INDEX [idx_AnnotationTypeSelections_UserIDTypeID] ON [dbo].[AnnotationTypeSelections]
|
||||||
|
(
|
||||||
|
[UserID] ASC,
|
||||||
|
[TypeID] ASC
|
||||||
|
)
|
||||||
|
INCLUDE (ASTypeID)
|
||||||
|
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
|
||||||
|
|
||||||
|
-- C2025-027 Annotation Type Filtering
|
||||||
|
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getAnnotationSelectListTypes]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
|
||||||
|
DROP PROCEDURE [getAnnotationSelectListTypes];
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- =============================================
|
||||||
|
-- Author: Paul Larsen
|
||||||
|
-- Create date: 7/10/2025
|
||||||
|
-- Description: Retrieve Annotation Types not added to Annotation type filtering by user.
|
||||||
|
-- =============================================
|
||||||
|
CREATE PROCEDURE [dbo].[getAnnotationSelectListTypes]
|
||||||
|
(
|
||||||
|
@UserID varchar(50)
|
||||||
|
)
|
||||||
|
WITH EXECUTE AS OWNER
|
||||||
|
AS
|
||||||
|
SELECT
|
||||||
|
AT.[TypeID],
|
||||||
|
AT.[Name],
|
||||||
|
AT.[Config],
|
||||||
|
AT.[DTS],
|
||||||
|
AT.[UserID],
|
||||||
|
AT.[LastChanged],
|
||||||
|
(SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[TypeID]= AT.[TypeID]) [AnnotationCount],
|
||||||
|
AT.[IsEPAnnotationType]
|
||||||
|
FROM [AnnotationTypes] AT
|
||||||
|
LEFT OUTER JOIN AnnotationTypeSelections ATS
|
||||||
|
ON ATS.TypeID = AT.TypeID AND ATS.UserID = @UserID
|
||||||
|
WHERE ATS.ASTypeID IS NULL
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- C2025-027 Annotation Type Filtering
|
||||||
|
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getAnnotationstypeSelections]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
|
||||||
|
DROP PROCEDURE [getAnnotationstypeSelections];
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET ANSI_NULLS ON
|
||||||
|
GO
|
||||||
|
SET QUOTED_IDENTIFIER ON
|
||||||
|
GO
|
||||||
|
-- =============================================
|
||||||
|
-- Author: Paul Larsen
|
||||||
|
-- Create date: 07/10/2025
|
||||||
|
-- Description: Retrieve Current Annotation Types
|
||||||
|
-- =============================================
|
||||||
|
|
||||||
|
CREATE PROC [dbo].[getAnnotationstypeSelections]
|
||||||
|
(
|
||||||
|
@UsrID varchar(50)
|
||||||
|
)
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
SELECT [ASTypeID]
|
||||||
|
,ATS.[TypeID]
|
||||||
|
,ATS.[UserID]
|
||||||
|
,AT.[Name]
|
||||||
|
,AT.[Config]
|
||||||
|
,ATS.[LastChanged]
|
||||||
|
,AT.[UserID]
|
||||||
|
,AT.[IsEPAnnotationType]
|
||||||
|
FROM [dbo].[AnnotationTypeSelections] ATS
|
||||||
|
INNER JOIN AnnotationTypes AT ON AT.TypeID = ATS.TypeID
|
||||||
|
WHERE ATS.UserID = @UsrID
|
||||||
|
END
|
||||||
|
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- C2025-027 Annotation Type Filtering
|
||||||
|
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getAnnotationstypeFiltered]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
|
||||||
|
DROP PROCEDURE [getAnnotationstypeFiltered];
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- =============================================
|
||||||
|
-- Author: Paul Larsen
|
||||||
|
-- Create date: 07/10/2025
|
||||||
|
-- Description: Retrieve Current Annotation Types
|
||||||
|
-- =============================================
|
||||||
|
|
||||||
|
CREATE PROC [dbo].[getAnnotationstypeFiltered]
|
||||||
|
(
|
||||||
|
@UsrID varchar(50)
|
||||||
|
)
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
IF((SELECT count(TypeID) FROM AnnotationTypeSelections WHERE UserID = @UsrID) > 0)
|
||||||
|
BEGIN
|
||||||
|
SELECT [ASTypeID]
|
||||||
|
,ATS.[TypeID]
|
||||||
|
,ATS.[UserID]
|
||||||
|
,AT.[Name]
|
||||||
|
,AT.[Config]
|
||||||
|
,ATS.[LastChanged]
|
||||||
|
,AT.[UserID]
|
||||||
|
,AT.[IsEPAnnotationType]
|
||||||
|
FROM [dbo].[AnnotationTypeSelections] ATS
|
||||||
|
INNER JOIN AnnotationTypes AT ON AT.TypeID = ATS.TypeID
|
||||||
|
WHERE ATS.UserID = @UsrID
|
||||||
|
END
|
||||||
|
ELSE
|
||||||
|
BEGIN
|
||||||
|
SELECT
|
||||||
|
[TypeID],
|
||||||
|
[Name],
|
||||||
|
[Config],
|
||||||
|
[DTS],
|
||||||
|
[UserID],
|
||||||
|
[LastChanged],
|
||||||
|
(SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[TypeID]=[AnnotationTypes].[TypeID]) [AnnotationCount],
|
||||||
|
[IsEPAnnotationType]
|
||||||
|
FROM [AnnotationTypes]
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- C2025-027 Annotation Type Filtering
|
||||||
|
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[UpdateAnnotationstypeSelections]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
|
||||||
|
DROP PROCEDURE [UpdateAnnotationstypeSelections];
|
||||||
|
|
||||||
|
-- Need to drop UpdateAnnotationstypeSelections SP first so script can drop and recreate the TableValAnnotTypeSelections table type
|
||||||
|
|
||||||
|
IF EXISTS( SELECT * FROM INFORMATION_SCHEMA.DOMAINS WHERE Domain_Name = 'TableValAnnotTypeSelections' )
|
||||||
|
DROP TYPE [dbo].[TableValAnnotTypeSelections]
|
||||||
|
|
||||||
|
CREATE TYPE [dbo].[TableValAnnotTypeSelections] AS TABLE(
|
||||||
|
[TypeID] [int] NOT NULL
|
||||||
|
|
||||||
|
)
|
||||||
|
GO
|
||||||
|
|
||||||
|
/****** Object: StoredProcedure [dbo].[UpdateAnnotationstypeSelections] Script Date: 7/21/2025 8:51:42 PM ******/
|
||||||
|
|
||||||
|
-- =============================================
|
||||||
|
-- Author: Paul Larsen
|
||||||
|
-- Create date: 07/21/2025
|
||||||
|
-- Description: Manage user choice annotation types
|
||||||
|
-- =============================================
|
||||||
|
CREATE PROC [dbo].[UpdateAnnotationstypeSelections]
|
||||||
|
(
|
||||||
|
@TempTable AS dbo.TableValAnnotTypeSelections READONLY,
|
||||||
|
@UserID [varchar](50) NULL
|
||||||
|
)
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
DELETE FROM AnnotationTypeSelections where UserID = @UserID
|
||||||
|
AND
|
||||||
|
TypeID not in
|
||||||
|
(Select TypeID From @TempTable tmp)
|
||||||
|
|
||||||
|
--this would insert all the ones that are in the uploaded table and not already in AnnotationTypeSelections
|
||||||
|
Insert INTO AnnotationTypeSelections (TypeID, UserID)
|
||||||
|
Select tmp.TypeID, @UserID
|
||||||
|
FROM
|
||||||
|
@TempTable tmp
|
||||||
|
LEFT OUTER JOIN
|
||||||
|
AnnotationTypeSelections ATS on ATS.TypeID = tmp.TypeID
|
||||||
|
AND ATS.UserID = @UserID
|
||||||
|
where
|
||||||
|
ATS.ASTypeID IS NULL
|
||||||
|
|
||||||
|
END
|
||||||
|
GO
|
||||||
|
|
||||||
IF (@@Error = 0) PRINT 'Running vesp_UpdateEPFormat Succeeded'
|
IF (@@Error = 0) PRINT 'Running vesp_UpdateEPFormat Succeeded'
|
||||||
ELSE PRINT 'Running vesp_UpdateEPFormat Failed to Execute'
|
ELSE PRINT 'Running vesp_UpdateEPFormat Failed to Execute'
|
||||||
GO
|
GO
|
||||||
@@ -24117,8 +24327,8 @@ BEGIN TRY -- Try Block
|
|||||||
DECLARE @RevDate varchar(255)
|
DECLARE @RevDate varchar(255)
|
||||||
DECLARE @RevDescription varchar(255)
|
DECLARE @RevDescription varchar(255)
|
||||||
|
|
||||||
set @RevDate = '6/20/2025 3:07 PM'
|
set @RevDate = '07/31/2025 10:30 AM'
|
||||||
set @RevDescription = 'Annotation Support'
|
set @RevDescription = 'SQL Optimization'
|
||||||
|
|
||||||
Select cast(@RevDate as datetime) RevDate, @RevDescription RevDescription
|
Select cast(@RevDate as datetime) RevDate, @RevDescription RevDescription
|
||||||
PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription
|
PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription
|
||||||
|
@@ -152,6 +152,17 @@
|
|||||||
<DependentUpon>AboutVEPROMS.cs</DependentUpon>
|
<DependentUpon>AboutVEPROMS.cs</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="BookMarks.cs" />
|
<Compile Include="BookMarks.cs" />
|
||||||
|
<Compile Include="dlgAnnotationsSelect.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="dlgAnnotationsSelect.Designer.cs">
|
||||||
|
<DependentUpon>dlgAnnotationsSelect.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="dlgAnnotationsSelect.Designer.cs">
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<DependentUpon>dlgAnnotationsSelect.resx</DependentUpon>
|
||||||
|
</Compile>
|
||||||
<Compile Include="dlgApproveProcedure.cs">
|
<Compile Include="dlgApproveProcedure.cs">
|
||||||
<SubType>Form</SubType>
|
<SubType>Form</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
@@ -164,9 +175,6 @@
|
|||||||
<Compile Include="dlgCheckedOutProcedure.designer.cs">
|
<Compile Include="dlgCheckedOutProcedure.designer.cs">
|
||||||
<DependentUpon>dlgCheckedOutProcedure.cs</DependentUpon>
|
<DependentUpon>dlgCheckedOutProcedure.cs</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="dlgExportImportEP.cs">
|
|
||||||
<SubType>Form</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="dlgMSWordMessage.cs">
|
<Compile Include="dlgMSWordMessage.cs">
|
||||||
<SubType>Form</SubType>
|
<SubType>Form</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
@@ -340,6 +348,10 @@
|
|||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
<DependentUpon>AboutVEPROMS.cs</DependentUpon>
|
<DependentUpon>AboutVEPROMS.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="dlgAnnotationsSelect.resx">
|
||||||
|
<DependentUpon>dlgAnnotationsSelect.cs</DependentUpon>
|
||||||
|
<Generator>ResXFileCodeGenerator</Generator>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="dlgMSWordMessage.resx">
|
<EmbeddedResource Include="dlgMSWordMessage.resx">
|
||||||
<DependentUpon>dlgMSWordMessage.cs</DependentUpon>
|
<DependentUpon>dlgMSWordMessage.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
229
PROMS/VEPROMS User Interface/dlgAnnotationsSelect.Designer.cs
generated
Normal file
229
PROMS/VEPROMS User Interface/dlgAnnotationsSelect.Designer.cs
generated
Normal file
@@ -0,0 +1,229 @@
|
|||||||
|
|
||||||
|
namespace VEPROMS
|
||||||
|
{
|
||||||
|
partial class dlgAnnotationsSelect
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
this.lstUnselected = new System.Windows.Forms.ListBox();
|
||||||
|
this.lstSelected = new System.Windows.Forms.ListBox();
|
||||||
|
this.btnSelect = new System.Windows.Forms.Button();
|
||||||
|
this.btnSelectAll = new System.Windows.Forms.Button();
|
||||||
|
this.btnDeselectAll = new System.Windows.Forms.Button();
|
||||||
|
this.btnDeselect = new System.Windows.Forms.Button();
|
||||||
|
this.btnUpdate = new System.Windows.Forms.Button();
|
||||||
|
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
||||||
|
this.btnCancel = new System.Windows.Forms.Button();
|
||||||
|
this.lblMessage = new System.Windows.Forms.Label();
|
||||||
|
this.lblAvailableTypes = new System.Windows.Forms.Label();
|
||||||
|
this.lblSelected = new System.Windows.Forms.Label();
|
||||||
|
this.tableLayoutPanel1.SuspendLayout();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// lstUnselected
|
||||||
|
//
|
||||||
|
this.lstUnselected.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.lstUnselected.FormattingEnabled = true;
|
||||||
|
this.lstUnselected.IntegralHeight = false;
|
||||||
|
this.lstUnselected.ItemHeight = 16;
|
||||||
|
this.lstUnselected.Location = new System.Drawing.Point(3, 3);
|
||||||
|
this.lstUnselected.Name = "lstUnselected";
|
||||||
|
this.tableLayoutPanel1.SetRowSpan(this.lstUnselected, 4);
|
||||||
|
this.lstUnselected.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
|
||||||
|
this.lstUnselected.Size = new System.Drawing.Size(287, 347);
|
||||||
|
this.lstUnselected.TabIndex = 0;
|
||||||
|
this.lstUnselected.SelectedIndexChanged += new System.EventHandler(this.lst_SelectedIndexChanged);
|
||||||
|
//
|
||||||
|
// lstSelected
|
||||||
|
//
|
||||||
|
this.lstSelected.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.lstSelected.FormattingEnabled = true;
|
||||||
|
this.lstSelected.IntegralHeight = false;
|
||||||
|
this.lstSelected.ItemHeight = 16;
|
||||||
|
this.lstSelected.Location = new System.Drawing.Point(334, 3);
|
||||||
|
this.lstSelected.Name = "lstSelected";
|
||||||
|
this.tableLayoutPanel1.SetRowSpan(this.lstSelected, 4);
|
||||||
|
this.lstSelected.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
|
||||||
|
this.lstSelected.Size = new System.Drawing.Size(288, 347);
|
||||||
|
this.lstSelected.TabIndex = 1;
|
||||||
|
this.lstSelected.SelectedIndexChanged += new System.EventHandler(this.lst_SelectedIndexChanged);
|
||||||
|
//
|
||||||
|
// btnSelect
|
||||||
|
//
|
||||||
|
this.btnSelect.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||||
|
this.btnSelect.Location = new System.Drawing.Point(298, 32);
|
||||||
|
this.btnSelect.Name = "btnSelect";
|
||||||
|
this.btnSelect.Size = new System.Drawing.Size(28, 23);
|
||||||
|
this.btnSelect.TabIndex = 2;
|
||||||
|
this.btnSelect.Text = ">";
|
||||||
|
this.btnSelect.UseVisualStyleBackColor = true;
|
||||||
|
this.btnSelect.Click += new System.EventHandler(this.btnSelect_Click);
|
||||||
|
//
|
||||||
|
// btnSelectAll
|
||||||
|
//
|
||||||
|
this.btnSelectAll.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||||
|
this.btnSelectAll.Location = new System.Drawing.Point(296, 120);
|
||||||
|
this.btnSelectAll.Name = "btnSelectAll";
|
||||||
|
this.btnSelectAll.Size = new System.Drawing.Size(32, 23);
|
||||||
|
this.btnSelectAll.TabIndex = 3;
|
||||||
|
this.btnSelectAll.Text = ">>";
|
||||||
|
this.btnSelectAll.UseVisualStyleBackColor = true;
|
||||||
|
this.btnSelectAll.Click += new System.EventHandler(this.btnSelectAll_Click);
|
||||||
|
//
|
||||||
|
// btnDeselectAll
|
||||||
|
//
|
||||||
|
this.btnDeselectAll.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||||
|
this.btnDeselectAll.Location = new System.Drawing.Point(297, 207);
|
||||||
|
this.btnDeselectAll.Name = "btnDeselectAll";
|
||||||
|
this.btnDeselectAll.Size = new System.Drawing.Size(30, 26);
|
||||||
|
this.btnDeselectAll.TabIndex = 5;
|
||||||
|
this.btnDeselectAll.Text = "<<";
|
||||||
|
this.btnDeselectAll.UseVisualStyleBackColor = true;
|
||||||
|
this.btnDeselectAll.Click += new System.EventHandler(this.btnDeselectAll_Click);
|
||||||
|
//
|
||||||
|
// btnDeselect
|
||||||
|
//
|
||||||
|
this.btnDeselect.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||||
|
this.btnDeselect.Location = new System.Drawing.Point(298, 297);
|
||||||
|
this.btnDeselect.Name = "btnDeselect";
|
||||||
|
this.btnDeselect.Size = new System.Drawing.Size(28, 23);
|
||||||
|
this.btnDeselect.TabIndex = 4;
|
||||||
|
this.btnDeselect.Text = "<";
|
||||||
|
this.btnDeselect.UseVisualStyleBackColor = true;
|
||||||
|
this.btnDeselect.Click += new System.EventHandler(this.btnDeselect_Click);
|
||||||
|
//
|
||||||
|
// btnUpdate
|
||||||
|
//
|
||||||
|
this.btnUpdate.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||||
|
this.btnUpdate.Location = new System.Drawing.Point(536, 422);
|
||||||
|
this.btnUpdate.Name = "btnUpdate";
|
||||||
|
this.btnUpdate.Size = new System.Drawing.Size(100, 35);
|
||||||
|
this.btnUpdate.TabIndex = 8;
|
||||||
|
this.btnUpdate.Text = "Save";
|
||||||
|
this.btnUpdate.UseVisualStyleBackColor = true;
|
||||||
|
this.btnUpdate.Click += new System.EventHandler(this.btnUpdate_Click);
|
||||||
|
//
|
||||||
|
// tableLayoutPanel1
|
||||||
|
//
|
||||||
|
this.tableLayoutPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.tableLayoutPanel1.ColumnCount = 3;
|
||||||
|
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||||
|
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 38F));
|
||||||
|
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.lstUnselected, 0, 0);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.lstSelected, 2, 0);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.btnDeselect, 1, 3);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.btnDeselectAll, 1, 2);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.btnSelect, 1, 0);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.btnSelectAll, 1, 1);
|
||||||
|
this.tableLayoutPanel1.Location = new System.Drawing.Point(12, 62);
|
||||||
|
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||||
|
this.tableLayoutPanel1.RowCount = 4;
|
||||||
|
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||||
|
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||||
|
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||||
|
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||||
|
this.tableLayoutPanel1.Size = new System.Drawing.Size(625, 353);
|
||||||
|
this.tableLayoutPanel1.TabIndex = 6;
|
||||||
|
//
|
||||||
|
// btnCancel
|
||||||
|
//
|
||||||
|
this.btnCancel.Location = new System.Drawing.Point(411, 422);
|
||||||
|
this.btnCancel.Name = "btnCancel";
|
||||||
|
this.btnCancel.Size = new System.Drawing.Size(100, 35);
|
||||||
|
this.btnCancel.TabIndex = 9;
|
||||||
|
this.btnCancel.Text = "Close";
|
||||||
|
this.btnCancel.UseVisualStyleBackColor = true;
|
||||||
|
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click_1);
|
||||||
|
//
|
||||||
|
// lblMessage
|
||||||
|
//
|
||||||
|
this.lblMessage.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.lblMessage.Location = new System.Drawing.Point(43, 12);
|
||||||
|
this.lblMessage.Name = "lblMessage";
|
||||||
|
this.lblMessage.Size = new System.Drawing.Size(317, 16);
|
||||||
|
this.lblMessage.TabIndex = 10;
|
||||||
|
this.lblMessage.Text = "Updates will appear when PROMS is restarted.";
|
||||||
|
//
|
||||||
|
// lblAvailableTypes
|
||||||
|
//
|
||||||
|
this.lblAvailableTypes.AutoSize = true;
|
||||||
|
this.lblAvailableTypes.Location = new System.Drawing.Point(12, 43);
|
||||||
|
this.lblAvailableTypes.Name = "lblAvailableTypes";
|
||||||
|
this.lblAvailableTypes.Size = new System.Drawing.Size(110, 16);
|
||||||
|
this.lblAvailableTypes.TabIndex = 11;
|
||||||
|
this.lblAvailableTypes.Text = "Types Available ";
|
||||||
|
//
|
||||||
|
// lblSelected
|
||||||
|
//
|
||||||
|
this.lblSelected.AutoSize = true;
|
||||||
|
this.lblSelected.Location = new System.Drawing.Point(343, 43);
|
||||||
|
this.lblSelected.Name = "lblSelected";
|
||||||
|
this.lblSelected.Size = new System.Drawing.Size(104, 16);
|
||||||
|
this.lblSelected.TabIndex = 12;
|
||||||
|
this.lblSelected.Text = "Types Selected";
|
||||||
|
//
|
||||||
|
// dlgAnnotationsSelect
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.ClientSize = new System.Drawing.Size(653, 466);
|
||||||
|
this.Controls.Add(this.lblSelected);
|
||||||
|
this.Controls.Add(this.lblAvailableTypes);
|
||||||
|
this.Controls.Add(this.btnCancel);
|
||||||
|
this.Controls.Add(this.tableLayoutPanel1);
|
||||||
|
this.Controls.Add(this.btnUpdate);
|
||||||
|
this.Controls.Add(this.lblMessage);
|
||||||
|
this.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||||
|
this.Name = "dlgAnnotationsSelect";
|
||||||
|
this.Text = "Filter Annotation Types";
|
||||||
|
this.Load += new System.EventHandler(this.DlgAnnotationsSelect_Load);
|
||||||
|
this.tableLayoutPanel1.ResumeLayout(false);
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
this.PerformLayout();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
private System.Windows.Forms.ListBox lstUnselected;
|
||||||
|
private System.Windows.Forms.ListBox lstSelected;
|
||||||
|
private System.Windows.Forms.Button btnSelect;
|
||||||
|
private System.Windows.Forms.Button btnSelectAll;
|
||||||
|
private System.Windows.Forms.Button btnDeselectAll;
|
||||||
|
private System.Windows.Forms.Button btnDeselect;
|
||||||
|
private System.Windows.Forms.Button btnUpdate;
|
||||||
|
|
||||||
|
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
|
||||||
|
private System.Windows.Forms.Button btnCancel;
|
||||||
|
private System.Windows.Forms.Label lblMessage;
|
||||||
|
private System.Windows.Forms.Label lblAvailableTypes;
|
||||||
|
private System.Windows.Forms.Label lblSelected;
|
||||||
|
}
|
||||||
|
}
|
@@ -65,11 +65,13 @@ namespace VEPROMS
|
|||||||
MyFrmVEPROMS = myFrmVEPROMS;// Save frmVEPROMS for Import to shutoff SessionPing
|
MyFrmVEPROMS = myFrmVEPROMS;// Save frmVEPROMS for Import to shutoff SessionPing
|
||||||
_MyApproval = new ApprovalInfo(myFrmVEPROMS);// Save frmVEPROMS for Import to shutoff SessionPing
|
_MyApproval = new ApprovalInfo(myFrmVEPROMS);// Save frmVEPROMS for Import to shutoff SessionPing
|
||||||
ApplicabilityIndex = myDocVersion.DocVersionConfig.SelectedSlave;
|
ApplicabilityIndex = myDocVersion.DocVersionConfig.SelectedSlave;
|
||||||
|
this.ConsistencyPrintRequest -= new DisplayConsistencyReportEvent(dlgApproveProcedure_ConsistencyPrintRequest);
|
||||||
this.ConsistencyPrintRequest += new DisplayConsistencyReportEvent(dlgApproveProcedure_ConsistencyPrintRequest);
|
this.ConsistencyPrintRequest += new DisplayConsistencyReportEvent(dlgApproveProcedure_ConsistencyPrintRequest);
|
||||||
_MyDocVersion = myDocVersion;
|
_MyDocVersion = myDocVersion;
|
||||||
_MyDocVersion.ResetProcedures(); // B2021-035: Pasted, modified number and deleted procedures not refreshed so missing from list
|
_MyDocVersion.ResetProcedures(); // B2021-035: Pasted, modified number and deleted procedures not refreshed so missing from list
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
FlexGridAddEvents();
|
FlexGridAddEvents();
|
||||||
|
_MyApproval.StatusUpdated -= new ApprovalStatusChangeEvent(_MyApproval_StatusUpdated);
|
||||||
_MyApproval.StatusUpdated += new ApprovalStatusChangeEvent(_MyApproval_StatusUpdated);
|
_MyApproval.StatusUpdated += new ApprovalStatusChangeEvent(_MyApproval_StatusUpdated);
|
||||||
SetupComboBoxes();
|
SetupComboBoxes();
|
||||||
foreach (ProcedureInfo pi in myDocVersion.Procedures)
|
foreach (ProcedureInfo pi in myDocVersion.Procedures)
|
||||||
@@ -101,6 +103,7 @@ namespace VEPROMS
|
|||||||
//fgProcs.SetupEditor += new C1.Win.C1FlexGrid.RowColEventHandler(fgProcs_SetupEditor);
|
//fgProcs.SetupEditor += new C1.Win.C1FlexGrid.RowColEventHandler(fgProcs_SetupEditor);
|
||||||
//fgProcs.StartEdit += new C1.Win.C1FlexGrid.RowColEventHandler(fgProcs_StartEdit);
|
//fgProcs.StartEdit += new C1.Win.C1FlexGrid.RowColEventHandler(fgProcs_StartEdit);
|
||||||
//fgProcs.ValidateEdit += new C1.Win.C1FlexGrid.ValidateEditEventHandler(fgProcs_ValidateEdit);
|
//fgProcs.ValidateEdit += new C1.Win.C1FlexGrid.ValidateEditEventHandler(fgProcs_ValidateEdit);
|
||||||
|
fgProcs.ComboCloseUp -= new C1.Win.C1FlexGrid.RowColEventHandler(fgProcs_ComboCloseUp);
|
||||||
fgProcs.ComboCloseUp += new C1.Win.C1FlexGrid.RowColEventHandler(fgProcs_ComboCloseUp);
|
fgProcs.ComboCloseUp += new C1.Win.C1FlexGrid.RowColEventHandler(fgProcs_ComboCloseUp);
|
||||||
//fgProcs.MouseDown += new MouseEventHandler(fgProcs_MouseDown);
|
//fgProcs.MouseDown += new MouseEventHandler(fgProcs_MouseDown);
|
||||||
//fgProcs.MouseUp += new MouseEventHandler(fgProcs_MouseUp);
|
//fgProcs.MouseUp += new MouseEventHandler(fgProcs_MouseUp);
|
||||||
@@ -275,6 +278,7 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
MyFrmVEPROMS = myFrmVEPROMS;// Save frmVEPROMS for Import to shutoff SessionPing
|
MyFrmVEPROMS = myFrmVEPROMS;// Save frmVEPROMS for Import to shutoff SessionPing
|
||||||
_MyApproval = new ApprovalInfo(myFrmVEPROMS);// Save frmVEPROMS for Import to shutoff SessionPing
|
_MyApproval = new ApprovalInfo(myFrmVEPROMS);// Save frmVEPROMS for Import to shutoff SessionPing
|
||||||
|
this.ConsistencyPrintRequest -= new DisplayConsistencyReportEvent(dlgApproveProcedure_ConsistencyPrintRequest);
|
||||||
this.ConsistencyPrintRequest += new DisplayConsistencyReportEvent(dlgApproveProcedure_ConsistencyPrintRequest);
|
this.ConsistencyPrintRequest += new DisplayConsistencyReportEvent(dlgApproveProcedure_ConsistencyPrintRequest);
|
||||||
_MyDocVersion = myDocVersion;
|
_MyDocVersion = myDocVersion;
|
||||||
_MyDocVersion.ResetProcedures(); // B2021-035: Pasted, modified number and deleted procedures not refreshed so missing from list
|
_MyDocVersion.ResetProcedures(); // B2021-035: Pasted, modified number and deleted procedures not refreshed so missing from list
|
||||||
@@ -295,6 +299,7 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
MyFrmVEPROMS = myFrmVEPROMS;// Save frmVEPROMS for Import to shutoff SessionPing
|
MyFrmVEPROMS = myFrmVEPROMS;// Save frmVEPROMS for Import to shutoff SessionPing
|
||||||
_MyApproval = new ApprovalInfo(myFrmVEPROMS);// Save frmVEPROMS for Import to shutoff SessionPing
|
_MyApproval = new ApprovalInfo(myFrmVEPROMS);// Save frmVEPROMS for Import to shutoff SessionPing
|
||||||
|
this.ConsistencyPrintRequest -= new DisplayConsistencyReportEvent(dlgApproveProcedure_ConsistencyPrintRequest);
|
||||||
this.ConsistencyPrintRequest += new DisplayConsistencyReportEvent(dlgApproveProcedure_ConsistencyPrintRequest);
|
this.ConsistencyPrintRequest += new DisplayConsistencyReportEvent(dlgApproveProcedure_ConsistencyPrintRequest);
|
||||||
_MyDocVersion = myProcedure.MyDocVersion;
|
_MyDocVersion = myProcedure.MyDocVersion;
|
||||||
_MyDocVersion.ResetProcedures(); // B2021-035: Pasted, modified number and deleted procedures not refreshed so missing from list
|
_MyDocVersion.ResetProcedures(); // B2021-035: Pasted, modified number and deleted procedures not refreshed so missing from list
|
||||||
@@ -450,6 +455,7 @@ namespace VEPROMS
|
|||||||
int checkedCount = clbMore.CheckedItems.Count;
|
int checkedCount = clbMore.CheckedItems.Count;
|
||||||
string oldLabel = lblMore.Text;
|
string oldLabel = lblMore.Text;
|
||||||
pbMore.Visible = true;
|
pbMore.Visible = true;
|
||||||
|
ItemInfoList.ConsistencyCheckUpdated -= new ItemInfoListCCEvent(ItemInfoList_ConsistencyCheckUpdated);
|
||||||
ItemInfoList.ConsistencyCheckUpdated += new ItemInfoListCCEvent(ItemInfoList_ConsistencyCheckUpdated);
|
ItemInfoList.ConsistencyCheckUpdated += new ItemInfoListCCEvent(ItemInfoList_ConsistencyCheckUpdated);
|
||||||
List<ProcedureInfo> myProcs = new List<ProcedureInfo>();
|
List<ProcedureInfo> myProcs = new List<ProcedureInfo>();
|
||||||
// B2018-136 use the list of procedures that have checkboxes and are checked (right panel) instead of the list to be approved (left panel)
|
// B2018-136 use the list of procedures that have checkboxes and are checked (right panel) instead of the list to be approved (left panel)
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -1,347 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.IO;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Text.RegularExpressions;
|
|
||||||
using System.Xml;
|
|
||||||
using VEPROMS.CSLA.Library;
|
|
||||||
|
|
||||||
namespace VEPROMS
|
|
||||||
{
|
|
||||||
//C2025-024 Electronic Procedures - Phase 2 (PROMS XML output)
|
|
||||||
//class inherits from normal import/export form
|
|
||||||
//then adds additional functionality
|
|
||||||
#pragma warning disable S101 // Types should be named in PascalCase
|
|
||||||
public partial class dlgExportImportEP : dlgExportImport
|
|
||||||
#pragma warning restore S101 // Types should be named in PascalCase
|
|
||||||
{
|
|
||||||
private readonly AnnotationTypeInfo _AnnotationType;
|
|
||||||
private readonly string multiseparator = ",";
|
|
||||||
|
|
||||||
private static Regex _ROAccPageTokenPattern = new Regex("[<][^<>-]+-[^<>]+[>]");
|
|
||||||
|
|
||||||
public dlgExportImportEP(string mode, FolderInfo folderInfo, frmVEPROMS myFrmVEPROMS, int annotationTypeId, int unitIndex = 0) : base(mode, folderInfo, myFrmVEPROMS, (E_UCFImportOptions)0, unitIndex)
|
|
||||||
{
|
|
||||||
_AnnotationType = AnnotationTypeInfo.Get(annotationTypeId);
|
|
||||||
_ExportBothConvertedandNot = true;
|
|
||||||
DocReplace = new Dictionary<int, byte[]>();
|
|
||||||
FormClosed += OnClose;
|
|
||||||
Text = $"{mode} Electronic Procedure ({_AnnotationType.Name}) Dialog for {folderInfo.Name}";
|
|
||||||
}
|
|
||||||
public dlgExportImportEP(string mode, DocVersionInfo docVersionInfo, frmVEPROMS myFrmVEPROMS, int annotationTypeId, int unitIndex = 0) : base(mode, docVersionInfo, myFrmVEPROMS, (E_UCFImportOptions)0, unitIndex)
|
|
||||||
{
|
|
||||||
_AnnotationType = AnnotationTypeInfo.Get(annotationTypeId);
|
|
||||||
_ExportBothConvertedandNot = true;
|
|
||||||
DocReplace = new Dictionary<int, byte[]>();
|
|
||||||
FormClosed += OnClose;
|
|
||||||
Text = $"{mode} Electronic Procedure ({_AnnotationType.Name}) Dialog for {docVersionInfo.Name} of {docVersionInfo.MyFolder.Name}";
|
|
||||||
}
|
|
||||||
public dlgExportImportEP(string mode, ProcedureInfo procedureInfo, frmVEPROMS myFrmVEPROMS, int annotationTypeId, int unitIndex = 0) : base(mode, procedureInfo, myFrmVEPROMS, (E_UCFImportOptions)0, unitIndex)
|
|
||||||
{
|
|
||||||
_AnnotationType = AnnotationTypeInfo.Get(annotationTypeId);
|
|
||||||
_ExportBothConvertedandNot = true;
|
|
||||||
DocReplace = new Dictionary<int, byte[]>();
|
|
||||||
FormClosed += OnClose;
|
|
||||||
Text = $"{mode} Electronic Procedure ({_AnnotationType.Name}) Dialog for {procedureInfo.DisplayNumber}";
|
|
||||||
}
|
|
||||||
|
|
||||||
//Overridden function to handle export of EP data
|
|
||||||
protected override void ExportEPAnnotationInfo(XmlElement xe, ItemInfo ii)
|
|
||||||
{
|
|
||||||
if (_UnitIndex > 0)
|
|
||||||
{
|
|
||||||
ii.MyDocVersion.DocVersionConfig.SelectedSlave = _UnitIndex;
|
|
||||||
ii.MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = _UnitIndex;
|
|
||||||
}
|
|
||||||
|
|
||||||
//switch to handle customizations for different formats
|
|
||||||
switch (ii.ActiveFormat.PlantFormat.EPFormatFiles.Find(x => x.AnnotationTypeID == _AnnotationType.TypeID)?.Name)
|
|
||||||
{
|
|
||||||
default:
|
|
||||||
ExportEPAnnotationInfo_Default(xe, ii);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
ii.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
|
|
||||||
ii.MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//default export of EP Data
|
|
||||||
private void ExportEPAnnotationInfo_Default(XmlElement xe, ItemInfo ii)
|
|
||||||
{
|
|
||||||
//Add tab text to item
|
|
||||||
string steptab = Volian.Print.Library.PDFReport.BuildStepTab(ii);
|
|
||||||
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "StepTab", steptab));
|
|
||||||
|
|
||||||
//Add db sequence to item
|
|
||||||
string dbsequence = dbSeq(ii);
|
|
||||||
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "dbsequence", dbsequence));
|
|
||||||
|
|
||||||
//get first transition in item and add it as an xml element
|
|
||||||
if (ii.MyContent.ContentTransitionCount > 0)
|
|
||||||
{
|
|
||||||
TransitionInfo ct = ii.MyContent.ContentTransitions[0];
|
|
||||||
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "TransitionToItemID", ct.ToID.ToString()));
|
|
||||||
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "TransitionTodbsequence", dbSeq(ct.ToID)));
|
|
||||||
}
|
|
||||||
|
|
||||||
//export EP annotation details under an EPInfo node
|
|
||||||
if (ii.ItemAnnotations != null)
|
|
||||||
{
|
|
||||||
XmlElement xepinfo = xe.OwnerDocument.CreateElement("EPInfo");
|
|
||||||
|
|
||||||
EPFields myEPFields = ii.GetValidEPFields(_AnnotationType.TypeID);
|
|
||||||
ROFSTLookup lookup = ii.MyDocVersion.DocVersionAssociations[0].MyROFst.GetROFSTLookup(ii.MyDocVersion);
|
|
||||||
bool epexportblank = ii.EPexportblank(_AnnotationType.TypeID); //should blank xml elements export?
|
|
||||||
|
|
||||||
//grab the current RO db so will know location of RO files and default graphics ext.
|
|
||||||
using (RODbInfo myRODB = (RODbInfoList.Get()).FirstOrDefault(x => x.RODbID == ii.MyDocVersion.DocVersionAssociations[0].MyROFst.RODbID))
|
|
||||||
{
|
|
||||||
//For each annotation in the item that is of the current EP Annotation type
|
|
||||||
foreach (var EPAnnotation in ii.ItemAnnotations.Where(x => x.TypeID == _AnnotationType.TypeID))
|
|
||||||
{
|
|
||||||
var EPAnnotationConfig = new AnnotationConfig(EPAnnotation.Config);
|
|
||||||
|
|
||||||
XmlElement xepdetails = xe.OwnerDocument.CreateElement("Details");
|
|
||||||
//include the annotation ID for reference
|
|
||||||
xepdetails.Attributes.SetNamedItem(AddAttribute(xepdetails.OwnerDocument, "AnnotationID", EPAnnotation.AnnotationID.ToString()));
|
|
||||||
|
|
||||||
//loop through each EP Field - name the xml elements the EP.name
|
|
||||||
foreach (EPField EP in myEPFields)
|
|
||||||
{
|
|
||||||
string val = EPAnnotationConfig.GetValue("EP", EP.name);
|
|
||||||
|
|
||||||
if (epexportblank || !string.IsNullOrEmpty(val))
|
|
||||||
{
|
|
||||||
|
|
||||||
if (_UnitIndex != 0)
|
|
||||||
{
|
|
||||||
val = DisplayText.ResolveUnitSpecific(ii.MyDocVersion, val);
|
|
||||||
}
|
|
||||||
|
|
||||||
XmlElement xindivid = xe.OwnerDocument.CreateElement(EP.name);
|
|
||||||
|
|
||||||
//need to resolve ROs ROSingle, ROMulti, in text
|
|
||||||
//get values
|
|
||||||
switch (EP.type.ToLower())
|
|
||||||
{
|
|
||||||
case "text":
|
|
||||||
|
|
||||||
//for text, check if any embedded ROs
|
|
||||||
//if none, set the xml element to the text
|
|
||||||
//otherwise resolve the ROs
|
|
||||||
MatchCollection matches = _ROAccPageTokenPattern.Matches(val);
|
|
||||||
if (matches.Count == 0)
|
|
||||||
{
|
|
||||||
xindivid.InnerText = val;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//resolve ROs
|
|
||||||
//text ROs will replace the AccID key in the text
|
|
||||||
//for binary objects like images,
|
|
||||||
//we will keep the AccID in the text and output the binary as a separate child
|
|
||||||
//XML element with the same xml name as the AccID
|
|
||||||
foreach (Match m in matches)
|
|
||||||
{
|
|
||||||
ROFSTLookup.rochild roc = lookup.GetROChildByAccPageID(m.Groups[0].Value);
|
|
||||||
|
|
||||||
// Exclude replacing Images since are binary - for those, add a sub item
|
|
||||||
if (Enumerable.Range(8, 15).Contains(roc.type))
|
|
||||||
{
|
|
||||||
xindivid.InnerText = val;
|
|
||||||
|
|
||||||
XmlElement xroid = AddGraphic(xindivid, m.Groups[0].Value, roc, myRODB, roc.type != 8);
|
|
||||||
|
|
||||||
xindivid.AppendChild(xroid);
|
|
||||||
}
|
|
||||||
else if (!string.IsNullOrEmpty(roc.value))
|
|
||||||
{
|
|
||||||
bool convertCaretToDeltaSymbol = (ii.ActiveSection != null) && ii.ActiveSection.ActiveFormat.PlantFormat.FormatData.SectData.ConvertCaretToDelta;
|
|
||||||
|
|
||||||
string rocvalue = roc.value.Replace("`", "\xB0");
|
|
||||||
rocvalue = rocvalue.Replace("\xF8", "\xB0");
|
|
||||||
rocvalue = rocvalue.Replace("\x7F", "\x394"); //delta
|
|
||||||
if (convertCaretToDeltaSymbol) rocvalue = rocvalue.Replace("^", "\x394"); // delta
|
|
||||||
val = val.Replace($"{m.Groups[0].Value}", rocvalue);
|
|
||||||
xindivid.InnerText = val;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case "rosingle":
|
|
||||||
//Get the output columns from the EPFormatFile
|
|
||||||
//set the "Item" nodes value = to those resolved items
|
|
||||||
//separated by multiseparator
|
|
||||||
XmlElement xindivid_rosingle = xindivid.OwnerDocument.CreateElement("Item");
|
|
||||||
xindivid_rosingle.Attributes.SetNamedItem(AddAttribute(xindivid_rosingle.OwnerDocument, "ROID", val));
|
|
||||||
|
|
||||||
//add values specified in EP input list
|
|
||||||
List<string> ro_single_tmp = EP.getROValuesList(EPAnnotation, val);
|
|
||||||
xindivid_rosingle.InnerText = String.Join(multiseparator, ro_single_tmp.ToArray());
|
|
||||||
|
|
||||||
//if image, add location and binary of image
|
|
||||||
// - images are type 8
|
|
||||||
// but if multiple return values could combine
|
|
||||||
// for example an text (1) + image (8) would be 9
|
|
||||||
ROFSTLookup.rochild roc_single = lookup.GetRoChild(val);
|
|
||||||
if (Enumerable.Range(8, 15).Contains(roc_single.type))
|
|
||||||
{
|
|
||||||
XmlElement xroid = AddGraphic(xindivid, val, roc_single, myRODB, roc_single.type != 8);
|
|
||||||
xindivid_rosingle.AppendChild(xroid);
|
|
||||||
}
|
|
||||||
|
|
||||||
xindivid.AppendChild(xindivid_rosingle);
|
|
||||||
break;
|
|
||||||
case "romulti":
|
|
||||||
//Get the output columns from the EPFormatFile
|
|
||||||
//create an "Item" subnode for each selected RO
|
|
||||||
//set the nodes value = to those resolved items
|
|
||||||
//separated by multiseparator
|
|
||||||
foreach (string ival in val.Split(multiseparator.ToCharArray()))
|
|
||||||
{
|
|
||||||
XmlElement xindivid_romulti = xindivid.OwnerDocument.CreateElement("Item");
|
|
||||||
xindivid_romulti.Attributes.SetNamedItem(AddAttribute(xindivid_romulti.OwnerDocument, "ROID", ival));
|
|
||||||
|
|
||||||
//add values specified in EP input list
|
|
||||||
List<string> ro_multi_tmp = EP.getROValuesList(EPAnnotation, ival);
|
|
||||||
xindivid_romulti.InnerText = String.Join(multiseparator, ro_multi_tmp.ToArray());
|
|
||||||
|
|
||||||
//if image, add location and binary of image
|
|
||||||
// - images are type 8
|
|
||||||
// but if multiple return values could combine
|
|
||||||
// for example an text (1) + image (8) would be 9
|
|
||||||
ROFSTLookup.rochild roc_multi = lookup.GetRoChild(ival);
|
|
||||||
if (Enumerable.Range(8, 15).Contains(roc_multi.type))
|
|
||||||
{
|
|
||||||
XmlElement xroid = AddGraphic(xindivid, ival, roc_multi, myRODB, roc_multi.type != 8);
|
|
||||||
xindivid_romulti.AppendChild(xroid);
|
|
||||||
}
|
|
||||||
|
|
||||||
xindivid.AppendChild(xindivid_romulti);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case "tableinput":
|
|
||||||
xindivid.InnerText = val;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
xindivid.InnerText = val;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
xepdetails.AppendChild(xindivid);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
xepinfo.AppendChild(xepdetails);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
xe.AppendChild(xepinfo);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//return a db sequence string from an Item ID
|
|
||||||
private string dbSeq(int itemID)
|
|
||||||
{
|
|
||||||
using (ItemInfo ii = ItemInfo.Get(itemID))
|
|
||||||
{
|
|
||||||
return dbSeq(ii);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//return a db sequence string from an ItemInfo
|
|
||||||
private string dbSeq(ItemInfo ii) => $"{((FolderInfo)ii.MyDocVersion.ActiveParent).Name}:{ii.MyProcedure.DisplayNumber} {ii.MyProcedure.DisplayText}:{ii.DBSequence}";
|
|
||||||
|
|
||||||
//For Exporting an RO that is an image
|
|
||||||
//returns the Location and FileName of the RO Image
|
|
||||||
private string GetROImageFileLocation(ROFSTLookup.rochild roc, RODbInfo rodb, bool isMulti)
|
|
||||||
{
|
|
||||||
string rodbpath = rodb.FolderPath;
|
|
||||||
|
|
||||||
string rocval = roc.value;
|
|
||||||
if (rocval == null) rocval = Array.Find(roc.children, x => x.value.Contains('.')).value;
|
|
||||||
|
|
||||||
if (rocval == null) return "";
|
|
||||||
string imgname;
|
|
||||||
if (isMulti)
|
|
||||||
{
|
|
||||||
imgname = rocval.Substring(rocval.IndexOf(' ') + 1, rocval.IndexOf("\r\n") - rocval.IndexOf(' ') - 1);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
imgname = rocval.Substring(0, rocval.IndexOf('\n'));
|
|
||||||
}
|
|
||||||
int thedot = imgname.LastIndexOf('.');
|
|
||||||
string fname = imgname;
|
|
||||||
if (thedot == -1 || (thedot != (imgname.Length - 4)))
|
|
||||||
{
|
|
||||||
RODbConfig roDbCfg = new RODbConfig(rodb.Config);
|
|
||||||
fname += string.Format(".{0}", roDbCfg.GetDefaultGraphicExtension());
|
|
||||||
}
|
|
||||||
|
|
||||||
string imgfile = Path.Combine(rodbpath, fname);
|
|
||||||
return imgfile;
|
|
||||||
}
|
|
||||||
|
|
||||||
//For Exporting an RO that is an image
|
|
||||||
//returns an xmlElement
|
|
||||||
// - that is a child to xindivid
|
|
||||||
// - that has a name of Name
|
|
||||||
// - that has a value of the binary representation of the image
|
|
||||||
// - that has an attribute designating the location of the image file
|
|
||||||
private XmlElement AddGraphic(XmlElement xindivid, string Name, ROFSTLookup.rochild roc, RODbInfo rodb, bool isMulti)
|
|
||||||
{
|
|
||||||
Name = Name.Replace("<", "").Replace(">", "");
|
|
||||||
|
|
||||||
XmlElement xroid = xindivid.OwnerDocument.CreateElement(Name);
|
|
||||||
|
|
||||||
string imgfile = GetROImageFileLocation(roc, rodb, isMulti);
|
|
||||||
if (string.IsNullOrEmpty(imgfile)) return xroid;
|
|
||||||
xroid.Attributes.SetNamedItem(AddAttribute(xroid.OwnerDocument, "Location", imgfile));
|
|
||||||
|
|
||||||
if (File.Exists(imgfile))
|
|
||||||
{
|
|
||||||
using (FileStream fsIn = new FileStream(imgfile, FileMode.Open, FileAccess.Read, FileShare.Read))
|
|
||||||
{
|
|
||||||
// Create an instance of StreamReader that can read characters from the FileStream.
|
|
||||||
using (BinaryReader r = new BinaryReader(fsIn))
|
|
||||||
xroid.InnerText = Encoding.Default.GetString(r.ReadBytes((int)fsIn.Length));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return xroid;
|
|
||||||
}
|
|
||||||
|
|
||||||
//overridden - used to set the RO location for RO Images that are not in annotations
|
|
||||||
protected override void SetROLocation(ref XmlElement xindivid, ROFSTLookup.rochild roc, RODbInfo rodb, bool isMulti)
|
|
||||||
{
|
|
||||||
string imgfile = GetROImageFileLocation(roc, rodb, isMulti);
|
|
||||||
if (!string.IsNullOrEmpty(imgfile)) xindivid.Attributes.SetNamedItem(AddAttribute(xindivid.OwnerDocument, "Location", imgfile));
|
|
||||||
}
|
|
||||||
|
|
||||||
//overridden - used to set specific enhanced doc info
|
|
||||||
protected override void SetEPEnhancedDocLinks(ref XmlElement xe, ItemInfo ii)
|
|
||||||
{
|
|
||||||
EnhancedDocuments eds = ii.GetMyEnhancedDocuments();
|
|
||||||
|
|
||||||
if (eds != null && eds.Count == 1)
|
|
||||||
{
|
|
||||||
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "EnhancedDocType", eds[0].Type.ToString()));
|
|
||||||
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "EnhancedDocToItemID", eds[0].ItemID.ToString()));
|
|
||||||
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "EnhancedDocToDbSeq", dbSeq(eds[0].ItemID)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//clear objects to release memory
|
|
||||||
private void OnClose(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
DocReplace.Clear();
|
|
||||||
DocReplace = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@@ -40,6 +40,7 @@ namespace VEPROMS
|
|||||||
rb.Parent = pnlGroups;
|
rb.Parent = pnlGroups;
|
||||||
rb.Dock = DockStyle.Top;
|
rb.Dock = DockStyle.Top;
|
||||||
rb.Tag = gi;
|
rb.Tag = gi;
|
||||||
|
rb.CheckedChanged -= new EventHandler(rb_CheckedChanged);
|
||||||
rb.CheckedChanged += new EventHandler(rb_CheckedChanged);
|
rb.CheckedChanged += new EventHandler(rb_CheckedChanged);
|
||||||
pnlGroups.Controls.Add(rb);
|
pnlGroups.Controls.Add(rb);
|
||||||
rb.BringToFront();
|
rb.BringToFront();
|
||||||
|
@@ -254,6 +254,7 @@ namespace VEPROMS
|
|||||||
if (CancelStop) btnCancel.Visible = true;
|
if (CancelStop) btnCancel.Visible = true;
|
||||||
Application.DoEvents();
|
Application.DoEvents();
|
||||||
|
|
||||||
|
MyPromsPrinter.StatusChanged -= new PromsPrinterStatusEvent(pp_StatusChanged);
|
||||||
MyPromsPrinter.StatusChanged += new PromsPrinterStatusEvent(pp_StatusChanged);
|
MyPromsPrinter.StatusChanged += new PromsPrinterStatusEvent(pp_StatusChanged);
|
||||||
MyPromsPrinter.DocReplace = DocReplace; // used when approve generates an export with unlinked ROs and Transitions
|
MyPromsPrinter.DocReplace = DocReplace; // used when approve generates an export with unlinked ROs and Transitions
|
||||||
|
|
||||||
|
2573
PROMS/VEPROMS User Interface/frmSysOptions.Designer.cs
generated
2573
PROMS/VEPROMS User Interface/frmSysOptions.Designer.cs
generated
File diff suppressed because it is too large
Load Diff
@@ -365,5 +365,11 @@ namespace VEPROMS
|
|||||||
Properties.Settings.Default.cbShwRplWrdsColor = cbShwRplWrdsColor.Checked; // update setting value
|
Properties.Settings.Default.cbShwRplWrdsColor = cbShwRplWrdsColor.Checked; // update setting value
|
||||||
Properties.Settings.Default.Save(); // save settings
|
Properties.Settings.Default.Save(); // save settings
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
private void cbShwAnnoFilter_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
frmVEPROMS.tv_SelectAnnotations();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
@@ -721,7 +721,7 @@ namespace VEPROMS
|
|||||||
this.epAnnotations.Dock = System.Windows.Forms.DockStyle.Bottom;
|
this.epAnnotations.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||||
this.epAnnotations.Enabled = false;
|
this.epAnnotations.Enabled = false;
|
||||||
this.epAnnotations.Expanded = false;
|
this.epAnnotations.Expanded = false;
|
||||||
this.epAnnotations.ExpandedBounds = new System.Drawing.Rectangle(4, 544, 1187, 202);
|
this.epAnnotations.ExpandedBounds = new System.Drawing.Rectangle(5, 371, 1185, 202);
|
||||||
this.epAnnotations.ExpandOnTitleClick = true;
|
this.epAnnotations.ExpandOnTitleClick = true;
|
||||||
this.epAnnotations.Location = new System.Drawing.Point(5, 547);
|
this.epAnnotations.Location = new System.Drawing.Point(5, 547);
|
||||||
this.epAnnotations.Name = "epAnnotations";
|
this.epAnnotations.Name = "epAnnotations";
|
||||||
@@ -761,7 +761,7 @@ namespace VEPROMS
|
|||||||
this.ctrlAnnotationDetails.Dock = System.Windows.Forms.DockStyle.Fill;
|
this.ctrlAnnotationDetails.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
this.ctrlAnnotationDetails.Enabled = false;
|
this.ctrlAnnotationDetails.Enabled = false;
|
||||||
this.ctrlAnnotationDetails.Location = new System.Drawing.Point(0, 26);
|
this.ctrlAnnotationDetails.Location = new System.Drawing.Point(0, 26);
|
||||||
this.ctrlAnnotationDetails.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
|
this.ctrlAnnotationDetails.Margin = new System.Windows.Forms.Padding(2);
|
||||||
this.ctrlAnnotationDetails.MyUserInfo = null;
|
this.ctrlAnnotationDetails.MyUserInfo = null;
|
||||||
this.ctrlAnnotationDetails.Name = "ctrlAnnotationDetails";
|
this.ctrlAnnotationDetails.Name = "ctrlAnnotationDetails";
|
||||||
this.ctrlAnnotationDetails.ProcItem = null;
|
this.ctrlAnnotationDetails.ProcItem = null;
|
||||||
|
@@ -543,7 +543,6 @@ namespace VEPROMS
|
|||||||
tv.RefreshCheckedOutProcedures += new vlnTreeViewEvent(tv_RefreshCheckedOutProcedures);
|
tv.RefreshCheckedOutProcedures += new vlnTreeViewEvent(tv_RefreshCheckedOutProcedures);
|
||||||
tv.ProcedureCheckedOutTo += new vlnTreeViewEvent(tv_ProcedureCheckedOutTo);
|
tv.ProcedureCheckedOutTo += new vlnTreeViewEvent(tv_ProcedureCheckedOutTo);
|
||||||
tv.ViewPDF += new vlnTreeViewPdfEvent(tv_ViewPDF);
|
tv.ViewPDF += new vlnTreeViewPdfEvent(tv_ViewPDF);
|
||||||
|
|
||||||
displayApplicability.ApplicabilityViewModeChanged += new DisplayApplicability.DisplayApplicabilityEvent(displayApplicability_ApplicabilityViewModeChanged);
|
displayApplicability.ApplicabilityViewModeChanged += new DisplayApplicability.DisplayApplicabilityEvent(displayApplicability_ApplicabilityViewModeChanged);
|
||||||
|
|
||||||
tv.ExportImportProcedureSets += new vlnTreeViewEvent(tv_ExportImportProcedureSets);
|
tv.ExportImportProcedureSets += new vlnTreeViewEvent(tv_ExportImportProcedureSets);
|
||||||
@@ -709,31 +708,14 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
int ownerid = MySessionInfo.CheckOutItem(fi.FolderID, CheckOutType.Session);
|
int ownerid = MySessionInfo.CheckOutItem(fi.FolderID, CheckOutType.Session);
|
||||||
|
|
||||||
//C2025-024 Electronic Procedures - Phase 2 (PROMS XML output)
|
dlgExportImport dlg = new dlgExportImport(args.Index == 0 ? "Export" : "Import", fi, this, (E_UCFImportOptions)Properties.Settings.Default.UCFImportOpt);//Added frmVEPROMS Parameter
|
||||||
//form for exporting Electronic Procedures from FolderInfo
|
dlg.ShowDialog(this);
|
||||||
if (args.AnnotationTypeId > 0)
|
|
||||||
|
MySessionInfo.CheckInItem(ownerid);
|
||||||
|
|
||||||
|
if (args.Index == 1 && dlg.MyNewFolder != null)
|
||||||
{
|
{
|
||||||
dlgExportImportEP dlg = new dlgExportImportEP(args.Index == 0 ? "Export" : "Import", fi, this, args.AnnotationTypeId, args.UnitIndex);
|
tv.AddNewNode(dlg.MyNewFolder);
|
||||||
dlg.ShowDialog(this);
|
|
||||||
|
|
||||||
MySessionInfo.CheckInItem(ownerid);
|
|
||||||
|
|
||||||
if (args.Index == 1 && dlg.MyNewFolder != null)
|
|
||||||
{
|
|
||||||
tv.AddNewNode(dlg.MyNewFolder);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
dlgExportImport dlg = new dlgExportImport(args.Index == 0 ? "Export" : "Import", fi, this, (E_UCFImportOptions)Properties.Settings.Default.UCFImportOpt);//Added frmVEPROMS Parameter
|
|
||||||
dlg.ShowDialog(this);
|
|
||||||
|
|
||||||
MySessionInfo.CheckInItem(ownerid);
|
|
||||||
|
|
||||||
if (args.Index == 1 && dlg.MyNewFolder != null)
|
|
||||||
{
|
|
||||||
tv.AddNewNode(dlg.MyNewFolder);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -759,40 +741,18 @@ namespace VEPROMS
|
|||||||
|
|
||||||
int ownerid = MySessionInfo.CheckOutItem(dvi.VersionID, CheckOutType.DocVersion);
|
int ownerid = MySessionInfo.CheckOutItem(dvi.VersionID, CheckOutType.DocVersion);
|
||||||
|
|
||||||
//C2025-024 Electronic Procedures - Phase 2 (PROMS XML output)
|
dlgExportImport dlg = new dlgExportImport("Import", dvi, this, (E_UCFImportOptions)Properties.Settings.Default.UCFImportOpt);//Added frmVEPROMS Parameter
|
||||||
//form for exporting Electronic Procedures from DocVersionInfo
|
dlg.MyNewProcedure = null;
|
||||||
if (args.AnnotationTypeId > 0)
|
dlg.ExternalTransitionItem = null;
|
||||||
{
|
dlg.ShowDialog(this);
|
||||||
dlgExportImportEP dlg = new dlgExportImportEP(args.Index == 0 ? "Export" : "Import", dvi, this, args.AnnotationTypeId, args.UnitIndex);
|
|
||||||
dlg.MyNewProcedure = null;
|
|
||||||
dlg.ExternalTransitionItem = null;
|
|
||||||
dlg.ShowDialog(this);
|
|
||||||
|
|
||||||
MySessionInfo.CheckInItem(ownerid);
|
MySessionInfo.CheckInItem(ownerid);
|
||||||
|
|
||||||
if (dlg.MyNewProcedure != null)
|
if (dlg.MyNewProcedure != null)
|
||||||
tv.AddNewNode(dlg.MyNewProcedure);
|
tv.AddNewNode(dlg.MyNewProcedure);
|
||||||
|
|
||||||
if (dlg.ExternalTransitionItem != null)
|
|
||||||
tc.OpenItem(dlg.ExternalTransitionItem);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
|
|
||||||
dlgExportImport dlg = new dlgExportImport("Import", dvi, this, (E_UCFImportOptions)Properties.Settings.Default.UCFImportOpt);//Added frmVEPROMS Parameter
|
|
||||||
dlg.MyNewProcedure = null;
|
|
||||||
dlg.ExternalTransitionItem = null;
|
|
||||||
dlg.ShowDialog(this);
|
|
||||||
|
|
||||||
MySessionInfo.CheckInItem(ownerid);
|
|
||||||
|
|
||||||
if (dlg.MyNewProcedure != null)
|
|
||||||
tv.AddNewNode(dlg.MyNewProcedure);
|
|
||||||
|
|
||||||
if (dlg.ExternalTransitionItem != null)
|
|
||||||
tc.OpenItem(dlg.ExternalTransitionItem);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if (dlg.ExternalTransitionItem != null)
|
||||||
|
tc.OpenItem(dlg.ExternalTransitionItem);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -808,24 +768,10 @@ namespace VEPROMS
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
int ownerid = MySessionInfo.CheckOutItem(pi.ItemID, CheckOutType.Procedure);
|
int ownerid = MySessionInfo.CheckOutItem(pi.ItemID, CheckOutType.Procedure);
|
||||||
|
dlgExportImport dlg = new dlgExportImport("Export", pi, this, (E_UCFImportOptions)0);//Added frmVEPROMS Parameter
|
||||||
|
dlg.ShowDialog(this);
|
||||||
|
|
||||||
//C2025-024 Electronic Procedures - Phase 2 (PROMS XML output)
|
MySessionInfo.CheckInItem(ownerid);
|
||||||
//form for exporting Electronic Procedures from ProcedureInfo
|
|
||||||
if (args.AnnotationTypeId > 0)
|
|
||||||
{
|
|
||||||
dlgExportImportEP dlg = new dlgExportImportEP("Export", pi, this, args.AnnotationTypeId, args.UnitIndex);
|
|
||||||
dlg.ShowDialog(this);
|
|
||||||
|
|
||||||
MySessionInfo.CheckInItem(ownerid);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
|
|
||||||
dlgExportImport dlg = new dlgExportImport("Export", pi, this, (E_UCFImportOptions)0);//Added frmVEPROMS Parameter
|
|
||||||
dlg.ShowDialog(this);
|
|
||||||
|
|
||||||
MySessionInfo.CheckInItem(ownerid);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1349,7 +1295,11 @@ namespace VEPROMS
|
|||||||
|
|
||||||
pi.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
|
pi.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
|
||||||
}
|
}
|
||||||
|
public static void tv_SelectAnnotations()
|
||||||
|
{
|
||||||
|
dlgAnnotationsSelect sannoDlg = new dlgAnnotationsSelect(VlnSettings.UserID);
|
||||||
|
sannoDlg.ShowDialog(); // RHM 20120925 - Center dialog over PROMS window
|
||||||
|
}
|
||||||
void tv_CreateTimeCriticalActionSummary(object sender, vlnTreeEventArgs args)
|
void tv_CreateTimeCriticalActionSummary(object sender, vlnTreeEventArgs args)
|
||||||
{
|
{
|
||||||
DialogResult dr = System.Windows.Forms.DialogResult.Yes;
|
DialogResult dr = System.Windows.Forms.DialogResult.Yes;
|
||||||
@@ -3654,9 +3604,13 @@ namespace VEPROMS
|
|||||||
if (tn == null)
|
if (tn == null)
|
||||||
return;
|
return;
|
||||||
_ExpandingTree = true;
|
_ExpandingTree = true;
|
||||||
|
tn.LoadingChildrenDone -= new VETreeNodeEvent(tn_LoadingChildrenDone);
|
||||||
tn.LoadingChildrenDone += new VETreeNodeEvent(tn_LoadingChildrenDone);
|
tn.LoadingChildrenDone += new VETreeNodeEvent(tn_LoadingChildrenDone);
|
||||||
|
tn.LoadingChildrenMax -= new VETreeNodeEvent(tn_LoadingChildrenMax);
|
||||||
tn.LoadingChildrenMax += new VETreeNodeEvent(tn_LoadingChildrenMax);
|
tn.LoadingChildrenMax += new VETreeNodeEvent(tn_LoadingChildrenMax);
|
||||||
|
tn.LoadingChildrenValue -= new VETreeNodeEvent(tn_LoadingChildrenValue);
|
||||||
tn.LoadingChildrenValue += new VETreeNodeEvent(tn_LoadingChildrenValue);
|
tn.LoadingChildrenValue += new VETreeNodeEvent(tn_LoadingChildrenValue);
|
||||||
|
tn.LoadingChildrenSQL -= new VETreeNodeEvent(tn_LoadingChildrenSQL);
|
||||||
tn.LoadingChildrenSQL += new VETreeNodeEvent(tn_LoadingChildrenSQL);
|
tn.LoadingChildrenSQL += new VETreeNodeEvent(tn_LoadingChildrenSQL);
|
||||||
tn.LoadChildren(true);
|
tn.LoadChildren(true);
|
||||||
}
|
}
|
||||||
@@ -4377,7 +4331,11 @@ namespace VEPROMS
|
|||||||
_LastStepRTB.EditModeChanged -= new StepRTBEvent(_LastStepRTB_EditModeChanged);
|
_LastStepRTB.EditModeChanged -= new StepRTBEvent(_LastStepRTB_EditModeChanged);
|
||||||
|
|
||||||
_LastStepRTB = args != null && args.MyEditItem != null ? args.MyEditItem.MyStepRTB : null;
|
_LastStepRTB = args != null && args.MyEditItem != null ? args.MyEditItem.MyStepRTB : null;
|
||||||
if (_LastStepRTB != null) _LastStepRTB.EditModeChanged += new StepRTBEvent(_LastStepRTB_EditModeChanged);
|
if (_LastStepRTB != null)
|
||||||
|
{
|
||||||
|
_LastStepRTB.EditModeChanged -= new StepRTBEvent(_LastStepRTB_EditModeChanged);
|
||||||
|
_LastStepRTB.EditModeChanged += new StepRTBEvent(_LastStepRTB_EditModeChanged);
|
||||||
|
}
|
||||||
lblEditView.Text = " ";
|
lblEditView.Text = " ";
|
||||||
|
|
||||||
if (args == null)
|
if (args == null)
|
||||||
@@ -4512,6 +4470,7 @@ namespace VEPROMS
|
|||||||
displayHistory.MyEditItem = args.MyEditItem;
|
displayHistory.MyEditItem = args.MyEditItem;
|
||||||
|
|
||||||
lblEditView.Text = args.MyEditItem.MyStepPanel.VwMode == E_ViewMode.Edit ? "Edit" : "View";
|
lblEditView.Text = args.MyEditItem.MyStepPanel.VwMode == E_ViewMode.Edit ? "Edit" : "View";
|
||||||
|
_CurrentItem.Deleted -= new ItemInfoEvent(_CurrentItem_Deleted);
|
||||||
_CurrentItem.Deleted += new ItemInfoEvent(_CurrentItem_Deleted);
|
_CurrentItem.Deleted += new ItemInfoEvent(_CurrentItem_Deleted);
|
||||||
dlgFindReplace.MyEditItem = args.MyEditItem;
|
dlgFindReplace.MyEditItem = args.MyEditItem;
|
||||||
SpellChecker.MyEditItem = args.MyEditItem;
|
SpellChecker.MyEditItem = args.MyEditItem;
|
||||||
|
@@ -346,21 +346,21 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
var ii = _CacheByPrimaryKey.FirstOrDefault();
|
var ii = _CacheByPrimaryKey.FirstOrDefault();
|
||||||
|
|
||||||
while (ii.Value.Count > 0)
|
while (ii.Value.Count > 0)
|
||||||
{
|
{
|
||||||
if (ii.Value[0]?.MyContent?.ContentParts != null)
|
if (ii.Value[0]?.MyContent?.ContentParts != null)
|
||||||
{ foreach (PartInfo pi in ii.Value[0]?.MyContent?.ContentParts) pi.Dispose(); }
|
{ foreach (PartInfo pi in ii.Value[0]?.MyContent?.ContentParts) pi.Dispose(); }
|
||||||
ii.Value[0].Dispose();
|
ii.Value[0].Dispose();
|
||||||
}
|
}
|
||||||
_CacheByPrimaryKey.Remove(ii.Key);
|
_CacheByPrimaryKey.Remove(ii.Key);
|
||||||
}
|
}
|
||||||
|
|
||||||
while (_CacheList.Count > 0)
|
while (_CacheList.Count > 0)
|
||||||
{
|
{
|
||||||
if (_CacheList[0]?.MyContent?.ContentParts != null)
|
if (_CacheList[0]?.MyContent?.ContentParts != null)
|
||||||
{foreach (PartInfo pi in _CacheList[0]?.MyContent?.ContentParts) pi.Dispose(); }
|
{foreach (PartInfo pi in _CacheList[0]?.MyContent?.ContentParts) pi.Dispose(); }
|
||||||
_CacheList[0].Dispose();
|
_CacheList[0].Dispose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool _PrintAllAtOnce = false;
|
private bool _PrintAllAtOnce = false;
|
||||||
@@ -450,86 +450,86 @@ namespace VEPROMS.CSLA.Library
|
|||||||
StringBuilder sret = new StringBuilder();
|
StringBuilder sret = new StringBuilder();
|
||||||
ItemInfo pitem = this;
|
ItemInfo pitem = this;
|
||||||
while (!pitem.IsSection && !pitem.IsHigh)
|
while (!pitem.IsSection && !pitem.IsHigh)
|
||||||
{
|
{
|
||||||
using (StepInfo stpinfo = StepInfo.Get(pitem.ItemID))
|
using (StepInfo stpinfo = StepInfo.Get(pitem.ItemID))
|
||||||
{
|
{
|
||||||
string thisTab = stpinfo.MyTab.CleanText;
|
string thisTab = stpinfo.MyTab.CleanText;
|
||||||
|
|
||||||
string typeName = stpinfo.FormatStepData.StepEditData.TypeMenu.MenuItem;
|
string typeName = stpinfo.FormatStepData.StepEditData.TypeMenu.MenuItem;
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(thisTab))
|
if (!string.IsNullOrEmpty(thisTab))
|
||||||
{
|
{
|
||||||
thisTab = thisTab.Trim();
|
thisTab = thisTab.Trim();
|
||||||
}
|
}
|
||||||
|
|
||||||
// if the tab is null or
|
// if the tab is null or
|
||||||
// if the the tab is not a letter or number OR
|
// if the the tab is not a letter or number OR
|
||||||
// the tab is an AND or OR type and is the letter "o"
|
// the tab is an AND or OR type and is the letter "o"
|
||||||
// then reset the tab an empty string so that the type name along with the count of that type
|
// then reset the tab an empty string so that the type name along with the count of that type
|
||||||
// (ex. "AND 2", "OR 3")
|
// (ex. "AND 2", "OR 3")
|
||||||
if (string.IsNullOrEmpty(thisTab) || (thisTab != string.Empty && (!(char.IsLetterOrDigit(thisTab[0])) || ((pitem.IsAnd || pitem.IsOr || pitem.IsCaution || pitem.IsNote) && thisTab.Contains("o")))))
|
if (string.IsNullOrEmpty(thisTab) || (thisTab != string.Empty && (!(char.IsLetterOrDigit(thisTab[0])) || ((pitem.IsAnd || pitem.IsOr || pitem.IsCaution || pitem.IsNote) && thisTab.Contains("o")))))
|
||||||
{
|
{
|
||||||
thisTab = string.Empty;
|
thisTab = string.Empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pitem.IsRNOPart)
|
if (pitem.IsRNOPart)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(thisTab))
|
if (string.IsNullOrEmpty(thisTab))
|
||||||
{
|
{
|
||||||
sret.Insert(0, "RNO.");
|
sret.Insert(0, "RNO.");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
thisTab = thisTab.Trim();
|
thisTab = thisTab.Trim();
|
||||||
|
|
||||||
if (!thisTab.EndsWith(".") && !thisTab.EndsWith(")"))
|
if (!thisTab.EndsWith(".") && !thisTab.EndsWith(")"))
|
||||||
{
|
{
|
||||||
thisTab += ".";
|
thisTab += ".";
|
||||||
}
|
}
|
||||||
|
|
||||||
sret.Insert(0, "RNO." + thisTab);
|
sret.Insert(0, "RNO." + thisTab);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (pitem.IsCaution || pitem.IsNote)
|
else if (pitem.IsCaution || pitem.IsNote)
|
||||||
{
|
{
|
||||||
// add the Caution or Note count to the tab (ex "Caution 1", "Note 2")
|
// add the Caution or Note count to the tab (ex "Caution 1", "Note 2")
|
||||||
if (string.IsNullOrEmpty(thisTab))
|
if (string.IsNullOrEmpty(thisTab))
|
||||||
{
|
{
|
||||||
sret.Append("{" + typeName + " " + pitem.Ordinal.ToString() + "}");
|
sret.Append("{" + typeName + " " + pitem.Ordinal.ToString() + "}");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
thisTab = thisTab.Trim(" ".ToCharArray());
|
thisTab = thisTab.Trim(" ".ToCharArray());
|
||||||
sret.Append(thisTab + " " + pitem.Ordinal.ToString() + sret);
|
sret.Append(thisTab + " " + pitem.Ordinal.ToString() + sret);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (!string.IsNullOrEmpty(thisTab))
|
if (!string.IsNullOrEmpty(thisTab))
|
||||||
{
|
{
|
||||||
thisTab = thisTab.Trim(" ".ToCharArray());
|
thisTab = thisTab.Trim(" ".ToCharArray());
|
||||||
|
|
||||||
if (!thisTab.EndsWith(".") && !thisTab.EndsWith(")"))
|
if (!thisTab.EndsWith(".") && !thisTab.EndsWith(")"))
|
||||||
{
|
{
|
||||||
thisTab += ".";
|
thisTab += ".";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
thisTab = "{" + typeName + " " + pitem.Ordinal.ToString() + "}.";
|
thisTab = "{" + typeName + " " + pitem.Ordinal.ToString() + "}.";
|
||||||
}
|
}
|
||||||
|
|
||||||
sret.Insert(0, thisTab);
|
sret.Insert(0, thisTab);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pitem = pitem.ActiveParent as ItemInfo;
|
pitem = pitem.ActiveParent as ItemInfo;
|
||||||
|
|
||||||
if (pitem == null)
|
if (pitem == null)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return sret.ToString().Trim(" .)".ToCharArray());
|
return sret.ToString().Trim(" .)".ToCharArray());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetHeader(VE_Font myFont, string myText)
|
public void SetHeader(VE_Font myFont, string myText)
|
||||||
@@ -574,11 +574,11 @@ namespace VEPROMS.CSLA.Library
|
|||||||
}
|
}
|
||||||
_MyPrevious = null; // Reset list so that the next line gets a new list
|
_MyPrevious = null; // Reset list so that the next line gets a new list
|
||||||
if (MyPrevious != null) MyPrevious.RefreshNextItems(); // Update List for new value
|
if (MyPrevious != null) MyPrevious.RefreshNextItems(); // Update List for new value
|
||||||
//if (_ContentID != tmp.ContentID)
|
//if (_ContentID != tmp.ContentID)
|
||||||
//{
|
//{
|
||||||
if (MyContent != null) MyContent.RefreshContentItems(); // Update List for old value
|
if (MyContent != null) MyContent.RefreshContentItems(); // Update List for old value
|
||||||
_ContentID = tmp.ContentID; // Update the value
|
_ContentID = tmp.ContentID; // Update the value
|
||||||
//}
|
//}
|
||||||
_MyContent = null; // Reset list so that the next line gets a new list
|
_MyContent = null; // Reset list so that the next line gets a new list
|
||||||
if (MyContent != null) MyContent.RefreshContentItems(); // Update List for new value
|
if (MyContent != null) MyContent.RefreshContentItems(); // Update List for new value
|
||||||
_DTS = tmp.DTS;
|
_DTS = tmp.DTS;
|
||||||
@@ -802,7 +802,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
content.FixTransitionText(traninfo, true);
|
content.FixTransitionText(traninfo, true);
|
||||||
content.Save();
|
content.Save();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// B2025-020 Null Reference fix. Added check for valid index into the TransitionTypeList
|
// B2025-020 Null Reference fix. Added check for valid index into the TransitionTypeList
|
||||||
if (!forceConvertToText)
|
if (!forceConvertToText)
|
||||||
@@ -835,14 +835,14 @@ namespace VEPROMS.CSLA.Library
|
|||||||
content.FixTransitionText(traninfo, true);
|
content.FixTransitionText(traninfo, true);
|
||||||
content.Save();
|
content.Save();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!forceConvertToText)
|
if (!forceConvertToText)
|
||||||
{
|
{
|
||||||
if (itemInfo.MyDocVersion != null && traninfo.MyItemToID.MyDocVersion != null && itemInfo.MyDocVersion.VersionID != traninfo.MyItemToID.MyDocVersion.VersionID) //different doc version
|
if (itemInfo.MyDocVersion != null && traninfo.MyItemToID.MyDocVersion != null && itemInfo.MyDocVersion.VersionID != traninfo.MyItemToID.MyDocVersion.VersionID) //different doc version
|
||||||
{
|
{
|
||||||
if (!itemInfo.ActiveFormat.PlantFormat.FormatData.TransData.TransTypeList[traninfo.TranType].TransMenu.Contains("Proc")) //internal format
|
if (!itemInfo.ActiveFormat.PlantFormat.FormatData.TransData.TransTypeList[traninfo.TranType].TransMenu.Contains("Proc")) //internal format
|
||||||
{
|
{
|
||||||
@@ -931,7 +931,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
else // B2018-043 Eliminate infinite loop for invalid transition structure
|
else // B2018-043 Eliminate infinite loop for invalid transition structure
|
||||||
{
|
{
|
||||||
// Add annotation for Invalid Transition
|
// Add annotation for Invalid Transition
|
||||||
AddInvalidTransitionAnnotation(itemInfo, "Invalid Transition Format");
|
AddInvalidTransitionAnnotation(itemInfo,"Invalid Transition Format");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -984,16 +984,16 @@ namespace VEPROMS.CSLA.Library
|
|||||||
ContentInfo myContent = itemInfo.MyContent;
|
ContentInfo myContent = itemInfo.MyContent;
|
||||||
string txt = myContent.Text;
|
string txt = myContent.Text;
|
||||||
string regDelete = @"(\\v |)\<START\]\#Link\:Transition(|Range)\:[0-9]+ [0-9]+ [0-9]+(| [0-9]+)\[END\>(\\v0 |)";
|
string regDelete = @"(\\v |)\<START\]\#Link\:Transition(|Range)\:[0-9]+ [0-9]+ [0-9]+(| [0-9]+)\[END\>(\\v0 |)";
|
||||||
string txt2 = txt;
|
string txt2=txt;
|
||||||
|
|
||||||
do {
|
do{
|
||||||
txt = txt2;
|
txt = txt2;
|
||||||
txt2 = Regex.Replace(txt, regDelete, "");
|
txt2 = Regex.Replace(txt, regDelete, "");
|
||||||
} while (txt2 != txt);
|
} while(txt2 != txt);
|
||||||
|
|
||||||
if (txt2 != myContent.Text)
|
if(txt2 != myContent.Text)
|
||||||
{
|
{
|
||||||
using (Content tmp = myContent.Get())
|
using(Content tmp = myContent.Get())
|
||||||
{
|
{
|
||||||
tmp.Text = txt2;
|
tmp.Text = txt2;
|
||||||
tmp.Save();
|
tmp.Save();
|
||||||
@@ -1276,7 +1276,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
// for supplemental information, bulleted tabs need to be included in the tab. The 'isletterordigit' should not occur for supinfo items -
|
// for supplemental information, bulleted tabs need to be included in the tab. The 'isletterordigit' should not occur for supinfo items -
|
||||||
// and this includes the parent of the supinfo since that is the tab used for supinfo concatenated with its parent. (B2017-120)
|
// and this includes the parent of the supinfo since that is the tab used for supinfo concatenated with its parent. (B2017-120)
|
||||||
// // B2020-154: Added check for the tab to start with '(', tabs that started with this were not included in the combined tab
|
// // B2020-154: Added check for the tab to start with '(', tabs that started with this were not included in the combined tab
|
||||||
if (thisTab != null && thisTab != "" && (!char.IsLetterOrDigit(thisTab[0]) && thisTab[0] != '(') && !vcbHeaderCheck && !itemInfo.IsInSupInfo && (itemInfo.SupInfos == null || itemInfo.SupInfos.Count <= 0)) return pTab;
|
if (thisTab != null && thisTab != "" && (!char.IsLetterOrDigit(thisTab[0]) && thisTab[0] != '(') && !vcbHeaderCheck && !itemInfo.IsInSupInfo && (itemInfo.SupInfos == null || itemInfo.SupInfos.Count <= 0 )) return pTab;
|
||||||
if (itemInfo.FormatStepData.NumberWithLevel) pTab = itemInfo.MyHLS.MyTab.CleanText.Trim();
|
if (itemInfo.FormatStepData.NumberWithLevel) pTab = itemInfo.MyHLS.MyTab.CleanText.Trim();
|
||||||
// if the parent tab ends with a alphanumeric and this tab is alphanumeric, add a '.' to separate them
|
// if the parent tab ends with a alphanumeric and this tab is alphanumeric, add a '.' to separate them
|
||||||
// also, include use the separator for bullets if doing the supplemental information tab (B2017-120)
|
// also, include use the separator for bullets if doing the supplemental information tab (B2017-120)
|
||||||
@@ -1285,7 +1285,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
if (ms && mn) pTab = pTab.TrimEnd() + ".";
|
if (ms && mn) pTab = pTab.TrimEnd() + ".";
|
||||||
// remove ending '.' (if this is a hls, don't remove the '.')
|
// remove ending '.' (if this is a hls, don't remove the '.')
|
||||||
if (!itemInfo.IsHigh && thisTab.EndsWith(".")) thisTab = thisTab.Substring(0, thisTab.Length - 1);
|
if (!itemInfo.IsHigh && thisTab.EndsWith(".")) thisTab = thisTab.Substring(0, thisTab.Length - 1);
|
||||||
if (itemInfo.HasParentTab) return thisTab.Trim(); // F2020-023: if tab includes parent tab already, don't concatenate it
|
if (itemInfo.HasParentTab) return thisTab.Trim(); // F2020-023: if tab includes parent tab already, don't concatenate it
|
||||||
return pTab + thisTab.Trim();
|
return pTab + thisTab.Trim();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1341,8 +1341,8 @@ namespace VEPROMS.CSLA.Library
|
|||||||
// B2023-037: loading print text, resolve the RO symbols
|
// B2023-037: loading print text, resolve the RO symbols
|
||||||
|
|
||||||
bool GTLT = !itemInfo.IsTable && sectionInfo.ActiveFormat.PlantFormat.FormatData.SectData.ConvertGTELTEPMinROValue;
|
bool GTLT = !itemInfo.IsTable && sectionInfo.ActiveFormat.PlantFormat.FormatData.SectData.ConvertGTELTEPMinROValue;
|
||||||
bool GLTArrows = !itemInfo.IsTable && sectionInfo.ActiveFormat.PlantFormat.FormatData.SectData.UseDashGreaterLessThenForArrowsInROValue;
|
bool GLTArrows = !itemInfo.IsTable && sectionInfo.ActiveFormat.PlantFormat.FormatData.SectData.UseDashGreaterLessThenForArrowsInROValue;
|
||||||
string roval = lookup.GetTranslatedRoValue(rousage.ROID, sectionInfo.ActiveFormat.PlantFormat.FormatData.SectData.ConvertCaretToDelta, sectionInfo.ActiveFormat.PlantFormat.FormatData.SectData.UseTildaPoundCharsForSuperSubScriptInROValues, GTLT || GLTArrows, itemInfo);
|
string roval = lookup.GetTranslatedRoValue(rousage.ROID, sectionInfo.ActiveFormat.PlantFormat.FormatData.SectData.ConvertCaretToDelta, sectionInfo.ActiveFormat.PlantFormat.FormatData.SectData.UseTildaPoundCharsForSuperSubScriptInROValues, GTLT || GLTArrows, itemInfo);
|
||||||
ROFSTLookup.rochild roch = lookup.GetRoChild(rousage.ROID);
|
ROFSTLookup.rochild roch = lookup.GetRoChild(rousage.ROID);
|
||||||
itemInfo.MyContent.FixContentText(rousage, roval, roch.type, rofstinfo, itemInfo);
|
itemInfo.MyContent.FixContentText(rousage, roval, roch.type, rofstinfo, itemInfo);
|
||||||
}
|
}
|
||||||
@@ -1445,7 +1445,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
if (MyContent.MyEntry != null && MyContent.MyEntry.MyDocument != null)
|
if (MyContent.MyEntry != null && MyContent.MyEntry.MyDocument != null)
|
||||||
{
|
{
|
||||||
PdfInfo pi = PdfInfo.Get(this, false);
|
PdfInfo pi = PdfInfo.Get(this, false);
|
||||||
if (pi != null) _MSWordPageCount = (float)pi.PageCount;// B2018-071 Don't crash on invalid MS Word section
|
if(pi != null) _MSWordPageCount = (float)pi.PageCount;// B2018-071 Don't crash on invalid MS Word section
|
||||||
}
|
}
|
||||||
return _MSWordPageCount;
|
return _MSWordPageCount;
|
||||||
}
|
}
|
||||||
@@ -1767,7 +1767,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
RemoveEnhancedFromConfig(false);
|
RemoveEnhancedFromConfig(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RemoveEnhancedFromConfig(bool doOneStepOnly)
|
public void RemoveEnhancedFromConfig(bool doOneStepOnly)
|
||||||
{
|
{
|
||||||
XmlDocument xd = new XmlDocument();
|
XmlDocument xd = new XmlDocument();
|
||||||
if (this.MyContent.Config == null || this.MyContent.Config == "") return; // B2017-164 & B2017-172 check for null or empty config
|
if (this.MyContent.Config == null || this.MyContent.Config == "") return; // B2017-164 & B2017-172 check for null or empty config
|
||||||
@@ -1782,7 +1782,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
ctmp.Config = config;
|
ctmp.Config = config;
|
||||||
ctmp.Save();
|
ctmp.Save();
|
||||||
ContentInfo.Refresh(ctmp);
|
ContentInfo.Refresh(ctmp);
|
||||||
_MyConfig = null; // refresh the memory value
|
_MyConfig = null; // refresh the memory value
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (doOneStepOnly) return;
|
if (doOneStepOnly) return;
|
||||||
@@ -2071,7 +2071,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
bool rval = false;
|
bool rval = false;
|
||||||
ItemInfo itm = this;
|
ItemInfo itm = this;
|
||||||
while (itm != null && !itm.IsHigh && !rval)
|
while (itm != null &&!itm.IsHigh && !rval)
|
||||||
{
|
{
|
||||||
rval = itm.IsCautionOrNotePart;
|
rval = itm.IsCautionOrNotePart;
|
||||||
if (!rval) itm = itm.MyParent;
|
if (!rval) itm = itm.MyParent;
|
||||||
@@ -2111,16 +2111,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
return (sd.Type == type);
|
return (sd.Type == type);
|
||||||
}
|
}
|
||||||
|
|
||||||
// C2025-024 - Electronic Procedures - Export
|
|
||||||
//return if should export blanks
|
|
||||||
public bool EPexportblank(int AnnTypeID)
|
|
||||||
{
|
|
||||||
if (ActiveFormat.PlantFormat.EPFormatFiles.Count == 0 || !ActiveFormat.PlantFormat.EPFormatFiles.Exists(x => x.AnnotationTypeID == AnnTypeID))
|
|
||||||
return true;
|
|
||||||
else
|
|
||||||
return ActiveFormat.PlantFormat.EPFormatFiles.Find(x => x.AnnotationTypeID == AnnTypeID).exportblank;
|
|
||||||
}
|
|
||||||
|
|
||||||
// C2025-023 - Electronic Procedures - Modifications to PROMS
|
// C2025-023 - Electronic Procedures - Modifications to PROMS
|
||||||
//return EPFields that match this step type or a parent step type
|
//return EPFields that match this step type or a parent step type
|
||||||
public EPFields GetValidEPFields(int AnnTypeID)
|
public EPFields GetValidEPFields(int AnnTypeID)
|
||||||
@@ -8335,6 +8325,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
if (_ProcedureConfig == null)
|
if (_ProcedureConfig == null)
|
||||||
{
|
{
|
||||||
_ProcedureConfig = new ProcedureConfig(this);
|
_ProcedureConfig = new ProcedureConfig(this);
|
||||||
|
this.MyContent.Changed -= new ContentInfoEvent(MyContent_Changed);
|
||||||
this.MyContent.Changed += new ContentInfoEvent(MyContent_Changed);
|
this.MyContent.Changed += new ContentInfoEvent(MyContent_Changed);
|
||||||
}
|
}
|
||||||
return _ProcedureConfig;
|
return _ProcedureConfig;
|
||||||
@@ -8344,6 +8335,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
|
|
||||||
void MyContent_Changed(object sender)
|
void MyContent_Changed(object sender)
|
||||||
{
|
{
|
||||||
|
this.MyContent.Changed -= new ContentInfoEvent(MyContent_Changed);
|
||||||
this.MyContent.Changed += new ContentInfoEvent(MyContent_Changed);
|
this.MyContent.Changed += new ContentInfoEvent(MyContent_Changed);
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
@@ -11,157 +11,138 @@ using static VEPROMS.CSLA.Library.ROFSTLookup;
|
|||||||
|
|
||||||
namespace VEPROMS.CSLA.Library
|
namespace VEPROMS.CSLA.Library
|
||||||
{
|
{
|
||||||
//C2025-023 - Electronic Procedures - Modifications to PROMS
|
//C2025-023 - Electronic Procedures - Modifications to PROMS
|
||||||
// class to handle storage and access of EPFormatFile and EPFormatFile details
|
// class to handle storage and access of EPFormatFile and EPFormatFile details
|
||||||
#region EPFormatFiles
|
#region EPFormatFiles
|
||||||
[TypeConverter(typeof(vlnListConverter<EPFormatFiles, EPFormatFile>))]
|
[TypeConverter(typeof(vlnListConverter<EPFormatFiles, EPFormatFile>))]
|
||||||
public class EPFormatFiles : vlnFormatList<EPFormatFile>
|
public class EPFormatFiles : vlnFormatList<EPFormatFile>
|
||||||
{
|
{
|
||||||
public EPFormatFiles(XmlNodeList xmlNodeList) : base(xmlNodeList) { }
|
public EPFormatFiles(XmlNodeList xmlNodeList) : base(xmlNodeList) { }
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
#region EPFormatFile
|
#region EPFormatFile
|
||||||
public class EPFormatFile : vlnFormatItem
|
public class EPFormatFile : vlnFormatItem
|
||||||
{
|
{
|
||||||
#region Constructor
|
#region Constructor
|
||||||
public EPFormatFile(XmlNode xmlNode) : base(xmlNode) { }
|
public EPFormatFile(XmlNode xmlNode) : base(xmlNode) { }
|
||||||
public EPFormatFile() : base() { }
|
public EPFormatFile() : base() { }
|
||||||
#endregion
|
#endregion
|
||||||
#region Business Fields
|
#region Business Fields
|
||||||
// Name of the EP Viewer Format File
|
// Name of the EP Viewer Format File
|
||||||
private LazyLoad<string> _Name;
|
private LazyLoad<string> _Name;
|
||||||
[DisplayName("Name")]
|
[DisplayName("Name")]
|
||||||
[Description("EP Viewer File Name")]
|
[Description("EP Viewer File Name")]
|
||||||
public string Name
|
public string Name
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return LazyLoad(ref _Name, "@Name");
|
return LazyLoad(ref _Name, "@Name");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Name of the EP Viewer Format File
|
// Name of the EP Viewer Format File
|
||||||
private LazyLoad<string> _Description;
|
private LazyLoad<string> _Description;
|
||||||
[DisplayName("Description")]
|
[DisplayName("Description")]
|
||||||
[Description("EP Viewer Description")]
|
[Description("EP Viewer Description")]
|
||||||
public string Description
|
public string Description
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return LazyLoad(ref _Description, "@Description");
|
return LazyLoad(ref _Description, "@Description");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Id of Annotation Type Associated with this file
|
// Id of Annotation Type Associated with this file
|
||||||
private LazyLoad<int?> _AnnotationTypeID;
|
private LazyLoad<int?> _AnnotationTypeID;
|
||||||
[DisplayName("AnnotationTypeID")]
|
[DisplayName("AnnotationTypeID")]
|
||||||
[Description("Id of Annotation Type Associated with this file")]
|
[Description("Id of Annotation Type Associated with this file")]
|
||||||
public int? AnnotationTypeID
|
public int? AnnotationTypeID
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return LazyLoad(ref _AnnotationTypeID, "@AnnotationTypeID");
|
return LazyLoad(ref _AnnotationTypeID, "@AnnotationTypeID");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// returns a list of fields that are defined in the EP format's structure
|
||||||
// Return Name of Annotation that EP Format File is Attached to
|
private EPFields _FieldList;
|
||||||
public string AnnotationName()
|
public EPFields FieldList
|
||||||
{
|
{
|
||||||
return AnnotationTypeInfo.Get((int) AnnotationTypeID).Name;
|
get
|
||||||
}
|
{
|
||||||
|
XmlDocument xd = GetEPFormatData(Name);
|
||||||
//if xml value is blank, should element export?
|
return _FieldList == null ? _FieldList = new EPFields(xd.SelectNodes("/EPFormat/EPField")) : _FieldList;
|
||||||
//defaults to true
|
}
|
||||||
private LazyLoad<bool> _exportblank;
|
}
|
||||||
[DisplayName("exportblank")]
|
#endregion
|
||||||
[Description("if xml value is blank, should element export?")]
|
#region Business Methods
|
||||||
public bool exportblank
|
// update all in-use annotation types that have Electronic Procedures
|
||||||
{
|
public static void UpdateAllInUseEPAnnotationTypes()
|
||||||
get
|
{
|
||||||
{
|
foreach (int formatid in GetAllInUseFormats())
|
||||||
return LazyLoad(ref _exportblank, "@exportblank");
|
{
|
||||||
}
|
PlantFormat frmt = FormatInfo.Get(formatid).PlantFormat;
|
||||||
}
|
foreach (EPFormatFile EP in frmt.EPFormatFiles)
|
||||||
// returns a list of fields that are defined in the EP format's structure
|
|
||||||
private EPFields _FieldList;
|
|
||||||
public EPFields FieldList
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
XmlDocument xd = GetEPFormatData(Name);
|
|
||||||
return _FieldList ?? (_FieldList = new EPFields(xd.SelectNodes("/EPFormat/EPField")));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endregion
|
|
||||||
#region Business Methods
|
|
||||||
// update all in-use annotation types that have Electronic Procedures
|
|
||||||
public static void UpdateAllInUseEPAnnotationTypes()
|
|
||||||
{
|
|
||||||
foreach (int formatid in GetAllInUseFormats())
|
|
||||||
{
|
|
||||||
PlantFormat frmt = FormatInfo.Get(formatid).PlantFormat;
|
|
||||||
foreach (EPFormatFile EP in frmt.EPFormatFiles)
|
|
||||||
{
|
{
|
||||||
UpdateAnnotationTypeAsEP((int) EP.AnnotationTypeID);
|
UpdateAnnotationTypeAsEP((int) EP.AnnotationTypeID);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
#region Data Access
|
#region Data Access
|
||||||
// static - Load EP Format details - save to db (insert/update)
|
// static - Load EP Format details - save to db (insert/update)
|
||||||
public static void UpdateEPFormat(string name, string data, string userID)
|
public static void UpdateEPFormat(string name, string data, string userID)
|
||||||
{
|
{
|
||||||
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||||
{
|
{
|
||||||
using (SqlCommand cm = cn.CreateCommand())
|
using (SqlCommand cm = cn.CreateCommand())
|
||||||
{
|
{
|
||||||
cm.CommandType = CommandType.StoredProcedure;
|
cm.CommandType = CommandType.StoredProcedure;
|
||||||
cm.CommandText = "vesp_UpdateEPFormat";
|
cm.CommandText = "vesp_UpdateEPFormat";
|
||||||
cm.Parameters.AddWithValue("@name", name);
|
cm.Parameters.AddWithValue("@name", name);
|
||||||
cm.Parameters.AddWithValue("@data", data);
|
cm.Parameters.AddWithValue("@data", data);
|
||||||
cm.Parameters.AddWithValue("@userID", userID);
|
cm.Parameters.AddWithValue("@userID", userID);
|
||||||
cm.CommandTimeout = Database.DefaultTimeout;
|
cm.CommandTimeout = Database.DefaultTimeout;
|
||||||
cm.ExecuteNonQuery();
|
cm.ExecuteNonQuery();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// load data for getting fieldlist for this EPFormat
|
// load data for getting fieldlist for this EPFormat
|
||||||
public static XmlDocument GetEPFormatData(string name)
|
public static XmlDocument GetEPFormatData(string name)
|
||||||
{
|
{
|
||||||
name = name.Replace(".xml", "");
|
name = name.Replace(".xml", "");
|
||||||
|
|
||||||
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||||
{
|
{
|
||||||
using (SqlCommand cm = cn.CreateCommand())
|
using (SqlCommand cm = cn.CreateCommand())
|
||||||
{
|
{
|
||||||
cm.CommandType = CommandType.Text;
|
cm.CommandType = CommandType.Text;
|
||||||
cm.CommandText = "Select Data FROM EPFormats where Name = @Name";
|
cm.CommandText = "Select Data FROM EPFormats where Name = @Name";
|
||||||
cm.Parameters.AddWithValue("@Name", name);
|
cm.Parameters.AddWithValue("@Name", name);
|
||||||
cm.CommandTimeout = Database.DefaultTimeout;
|
cm.CommandTimeout = Database.DefaultTimeout;
|
||||||
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
||||||
{
|
{
|
||||||
if (dr.Read())
|
if (dr.Read())
|
||||||
{
|
{
|
||||||
XmlDocument xd = new XmlDocument();
|
XmlDocument xd = new XmlDocument();
|
||||||
xd.XmlResolver = null;
|
xd.XmlResolver = null;
|
||||||
xd.LoadXml(dr.GetString("Data"));
|
xd.LoadXml(dr.GetString("Data"));
|
||||||
return xd;
|
return xd;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get all in-use formats
|
// Get all in-use formats
|
||||||
public static List<int> GetAllInUseFormats()
|
public static List<int> GetAllInUseFormats()
|
||||||
{
|
{
|
||||||
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||||
{
|
{
|
||||||
using (SqlCommand cm = cn.CreateCommand())
|
using (SqlCommand cm = cn.CreateCommand())
|
||||||
{
|
{
|
||||||
cm.CommandType = CommandType.Text;
|
cm.CommandType = CommandType.Text;
|
||||||
cm.CommandText = @"SELECT Distinct Formats.[FormatID]
|
cm.CommandText = @"SELECT Distinct Formats.[FormatID]
|
||||||
FROM
|
FROM
|
||||||
(
|
(
|
||||||
SELECT FormatID FROM Contents
|
SELECT FormatID FROM Contents
|
||||||
@@ -172,272 +153,260 @@ namespace VEPROMS.CSLA.Library
|
|||||||
) inuse
|
) inuse
|
||||||
inner join Formats
|
inner join Formats
|
||||||
on inuse.FormatID = Formats.FormatID";
|
on inuse.FormatID = Formats.FormatID";
|
||||||
cm.CommandTimeout = Database.DefaultTimeout;
|
cm.CommandTimeout = Database.DefaultTimeout;
|
||||||
|
|
||||||
using (DataTable dt = new DataTable())
|
using (DataTable dt = new DataTable())
|
||||||
{
|
{
|
||||||
using (SqlDataAdapter da = new SqlDataAdapter(cm))
|
using (SqlDataAdapter da = new SqlDataAdapter(cm))
|
||||||
{
|
{
|
||||||
da.Fill(dt);
|
da.Fill(dt);
|
||||||
return dt.AsEnumerable().Select(x => x.Field<int>("FormatID")).ToList();
|
return dt.AsEnumerable().Select(x => x.Field<int>("FormatID")).ToList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// update an annotation type as an Electronic Procedure Annotation Type
|
// update an annotation type as an Electronic Procedure Annotation Type
|
||||||
public static void UpdateAnnotationTypeAsEP(int typeID)
|
public static void UpdateAnnotationTypeAsEP(int typeID)
|
||||||
{
|
{
|
||||||
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||||
{
|
{
|
||||||
using (SqlCommand cm = cn.CreateCommand())
|
using (SqlCommand cm = cn.CreateCommand())
|
||||||
{
|
{
|
||||||
cm.CommandType = CommandType.Text;
|
cm.CommandType = CommandType.Text;
|
||||||
cm.CommandText = @"Update AnnotationTypes
|
cm.CommandText = @"Update AnnotationTypes
|
||||||
SET IsEPAnnotationType = 1
|
SET IsEPAnnotationType = 1
|
||||||
WHERE TypeID = @typeID";
|
WHERE TypeID = @typeID";
|
||||||
cm.Parameters.AddWithValue("@typeID", typeID);
|
cm.Parameters.AddWithValue("@typeID", typeID);
|
||||||
cm.CommandTimeout = Database.DefaultTimeout;
|
cm.CommandTimeout = Database.DefaultTimeout;
|
||||||
cm.ExecuteNonQuery();
|
cm.ExecuteNonQuery();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns true if there are any EP Annotation Types
|
// Returns true if there are any EP Annotation Types
|
||||||
public static bool IsEPAnnotationType()
|
public static bool IsEPAnnotationType()
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||||
{
|
{
|
||||||
using (SqlCommand cm = cn.CreateCommand())
|
using (SqlCommand cm = cn.CreateCommand())
|
||||||
{
|
{
|
||||||
cm.CommandType = CommandType.Text;
|
cm.CommandType = CommandType.Text;
|
||||||
cm.CommandText = @"SELECT RESULT = CASE WHEN
|
cm.CommandText = @"SELECT RESULT = CASE WHEN
|
||||||
EXISTS(SELECT 1 FROM AnnotationTypes where IsEPAnnotationType = 1)
|
EXISTS(SELECT 1 FROM AnnotationTypes where IsEPAnnotationType = 1)
|
||||||
THEN 1 ELSE 0 END";
|
THEN 1 ELSE 0 END";
|
||||||
cm.CommandTimeout = Database.DefaultTimeout;
|
cm.CommandTimeout = Database.DefaultTimeout;
|
||||||
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
||||||
{
|
{
|
||||||
if (dr.Read() && dr.GetInt32("RESULT") == 1)
|
if (dr.Read() && dr.GetInt32("RESULT") == 1)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
// EP Support has not yet been added for this DB
|
// EP Support has not yet been added for this DB
|
||||||
// IsEPAnnotationType does not exist
|
// IsEPAnnotationType does not exist
|
||||||
// need to run PROMS Fixes
|
// need to run PROMS Fixes
|
||||||
// until then will ignore EP code
|
// until then will ignore EP code
|
||||||
// instead of crashing for a field not found
|
// instead of crashing for a field not found
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
public class EPFields : vlnFormatList<EPField>
|
public class EPFields : vlnFormatList<EPField>
|
||||||
{
|
{
|
||||||
public EPFields()
|
public EPFields()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public EPFields(XmlNodeList xmlNodeList) : base(xmlNodeList) { }
|
public EPFields(XmlNodeList xmlNodeList) : base(xmlNodeList) { }
|
||||||
}
|
}
|
||||||
// EP field class
|
// EP field class
|
||||||
public class EPField : vlnFormatItem
|
public class EPField : vlnFormatItem
|
||||||
{
|
{
|
||||||
public EPField(XmlNode xmlNode) : base(xmlNode) { }
|
public EPField(XmlNode xmlNode) : base(xmlNode) { }
|
||||||
public EPField() : base() { }
|
public EPField() : base() { }
|
||||||
private LazyLoad<string> _name;
|
private LazyLoad<string> _name;
|
||||||
public string name
|
public string name
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return LazyLoad(ref _name, "@name");
|
return LazyLoad(ref _name, "@name");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private LazyLoad<string> _type;
|
private LazyLoad<string> _type;
|
||||||
public string type
|
public string type
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return LazyLoad(ref _type, "@type");
|
return LazyLoad(ref _type, "@type");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private LazyLoad<string> _label;
|
private LazyLoad<string> _label;
|
||||||
public string label
|
public string label
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
string tmp = LazyLoad(ref _label, "@label");
|
string tmp = LazyLoad(ref _label, "@label");
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(tmp))
|
if (string.IsNullOrEmpty(tmp))
|
||||||
return LazyLoad(ref _name, "@name");
|
return LazyLoad(ref _name, "@name");
|
||||||
else
|
else
|
||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private LazyLoad<string> _text;
|
private LazyLoad<string> _text;
|
||||||
public string text
|
public string text
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return LazyLoad(ref _text, "@text");
|
return LazyLoad(ref _text, "@text");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//roid of group item that individual sub-items will be the choices for the list/combobox for ROSINGLE and ROMULTI
|
//roid of group item that individual sub-items will be the choices for the list/combobox for ROSINGLE and ROMULTI
|
||||||
private LazyLoad<string> _rosource;
|
private LazyLoad<string> _rosource;
|
||||||
public string rosource
|
public string rosource
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return LazyLoad(ref _rosource, "@rosource");
|
return LazyLoad(ref _rosource, "@rosource");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//the columns in the RO that will be included in the exports
|
//the columns in the RO that will be included in the exports
|
||||||
private LazyLoad<string> _returncols;
|
private LazyLoad<string> _returncols;
|
||||||
public List<string> returncols()
|
public List<string> returncols()
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
string tmp = LazyLoad(ref _returncols, "@returncols");
|
string tmp = LazyLoad(ref _returncols, "@returncols");
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(tmp))
|
if (string.IsNullOrEmpty(tmp))
|
||||||
return new List<string>();
|
return new List<string>();
|
||||||
else
|
else
|
||||||
return tmp.Split(',').Select(p => p.Trim()).ToList();
|
return tmp.Split(',').Select(p => p.Trim()).ToList();
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
throw new ArgumentException($"Error in returncols for EP file, field: {name}");
|
throw new ArgumentException($"Error in returncols for EP file: {((EPFormatFile)MyParentFormat).Name}.xml, field: {name}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//number of lines for a multi-line text box to span
|
//number of lines for a multi-line text box to span
|
||||||
private LazyLoad<int?> _numlines;
|
private LazyLoad<int?> _numlines;
|
||||||
public int numlines
|
public int numlines
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
int? tmp = LazyLoad(ref _numlines, "@numlines");
|
int? tmp = LazyLoad(ref _numlines, "@numlines");
|
||||||
|
|
||||||
if (tmp == null)
|
if (tmp == null)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
return (int) tmp;
|
return (int) tmp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//step types that the EPForma Item is valid for (as a list of types)
|
//step types that the EPForma Item is valid for (as a list of types)
|
||||||
private LazyLoad<string> _validforsteptypes;
|
private LazyLoad<string> _validforsteptypes;
|
||||||
public List<string> validforsteptypes()
|
public List<string> validforsteptypes()
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
string tmp = LazyLoad(ref _validforsteptypes, "@validforsteptypes");
|
string tmp = LazyLoad(ref _validforsteptypes, "@validforsteptypes");
|
||||||
return tmp.Split(',').Select(p => p.Trim()).ToList();
|
return tmp.Split(',').Select(p => p.Trim()).ToList();
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
throw new ArgumentException($"Error in validforsteptypes for EP file, field: {name}");
|
throw new ArgumentException($"Error in validforsteptypes for EP file: {((EPFormatFile) MyParentFormat).Name}.xml, field: {name}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public bool IsValidForStepType(string StepType)
|
public bool IsValidForStepType(string StepType)
|
||||||
{
|
{
|
||||||
List<string> tmp = validforsteptypes();
|
List<string> tmp = validforsteptypes();
|
||||||
return tmp.Contains(StepType);
|
return tmp.Contains(StepType);
|
||||||
}
|
}
|
||||||
|
|
||||||
//return a list of items based on the ROsource specified in the EPFormat File
|
//return a list of items based on the ROsource specified in the EPFormat File
|
||||||
//will return all RO items under the Group that's roid = the rosource
|
//will return all RO items under the Group that's roid = the rosource
|
||||||
public List<ROListItem> getROList(AnnotationInfo currAnn, bool includeblank)
|
public List<ROListItem> getROList(AnnotationInfo currAnn, bool includeblank)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(rosource))
|
if (string.IsNullOrEmpty(rosource))
|
||||||
return new List<ROListItem>();
|
return new List<ROListItem>();
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
DocVersionInfo MyDocVersion = currAnn.MyItem.MyDocVersion;
|
DocVersionInfo MyDocVersion = currAnn.MyItem.MyDocVersion;
|
||||||
|
ROFSTLookup lookup = MyDocVersion.DocVersionAssociations[0].MyROFst.GetROFSTLookup(MyDocVersion);
|
||||||
|
|
||||||
if (MyDocVersion.DocVersionAssociations != null && MyDocVersion.DocVersionAssociations.Any())
|
string roid = FormatRoidKey(rosource, false);
|
||||||
{
|
rochild[] children = lookup.GetRoChildrenByRoid(roid);
|
||||||
ROFSTLookup lookup = MyDocVersion.DocVersionAssociations[0].MyROFst.GetROFSTLookup(MyDocVersion);
|
|
||||||
|
|
||||||
string roid = FormatRoidKey(rosource, false);
|
List<ROListItem> mylist = children.Select(x => new ROListItem(x.title, x.roid.Substring(0, 12))).ToList();
|
||||||
rochild[] children = lookup.GetRoChildrenByRoid(roid);
|
if (includeblank)
|
||||||
|
mylist.Insert(0, new ROListItem("", ""));
|
||||||
|
|
||||||
List<ROListItem> mylist = children.Select(x => new ROListItem(x.title, x.roid.Substring(0, 12))).ToList();
|
return mylist;
|
||||||
if (includeblank)
|
}
|
||||||
mylist.Insert(0, new ROListItem("", ""));
|
catch (Exception Ex)
|
||||||
|
{
|
||||||
|
throw new ArgumentException($"Error in rosource for EP file: {((EPFormatFile)MyParentFormat).Name}.xml, field: {name}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return mylist;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return new List<ROListItem>
|
|
||||||
{
|
|
||||||
new ROListItem("", "")
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
//return a list of values for the specified ROID
|
||||||
catch
|
//given the EP items return columns
|
||||||
{
|
//will return all RO items under the Group that's roid = the rosource
|
||||||
throw new ArgumentException($"Error in rosource for EP file, field: {name}");
|
public List<string> getROValuesList(AnnotationInfo currAnn, string roid)
|
||||||
}
|
{
|
||||||
}
|
if (string.IsNullOrEmpty(roid))
|
||||||
|
return new List<string>();
|
||||||
|
|
||||||
//return a list of values for the specified ROID
|
List<string> values = new List<string>();
|
||||||
//given the EP items return columns
|
DocVersionInfo MyDocVersion = currAnn.MyItem.MyDocVersion;
|
||||||
//will return all RO items under the Group that's roid = the rosource
|
ROFSTLookup lookup = MyDocVersion.DocVersionAssociations[0].MyROFst.GetROFSTLookup(MyDocVersion);
|
||||||
public List<string> getROValuesList(AnnotationInfo currAnn, string roid)
|
rochild ro = lookup.GetRoChild(roid);
|
||||||
{
|
|
||||||
if (string.IsNullOrEmpty(roid))
|
|
||||||
return new List<string>();
|
|
||||||
|
|
||||||
List<string> values = new List<string>();
|
List<string> rtncols = returncols();
|
||||||
DocVersionInfo MyDocVersion = currAnn.MyItem.MyDocVersion;
|
|
||||||
ROFSTLookup lookup = MyDocVersion.DocVersionAssociations[0].MyROFst.GetROFSTLookup(MyDocVersion);
|
|
||||||
rochild ro = lookup.GetRoChild(roid);
|
|
||||||
|
|
||||||
List<string> rtncols = returncols();
|
if (rtncols.Count == 0)
|
||||||
|
{
|
||||||
|
values.Add(ro.value);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
foreach (string rcol in rtncols)
|
||||||
|
{
|
||||||
|
rochild ro_indiv = Array.Find(ro.children, x => x.appid.EndsWith($".{rcol}"));
|
||||||
|
if (ro_indiv.value != null) values.Add(ro_indiv.value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (rtncols.Count == 0)
|
return values;
|
||||||
{
|
|
||||||
values.Add(ro.value);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
foreach (string rcol in rtncols)
|
|
||||||
{
|
|
||||||
rochild ro_indiv = Array.Find(ro.children, x => x.appid.EndsWith($".{rcol}"));
|
|
||||||
if (ro_indiv.value != null) values.Add(ro_indiv.value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return values;
|
}
|
||||||
|
}
|
||||||
}
|
#endregion
|
||||||
}
|
//C2025-023 - Electronic Procedures - Modifications to PROMS
|
||||||
|
// class to handle return of RO Lists
|
||||||
#endregion
|
#region EPFormatFiles
|
||||||
//C2025-023 - Electronic Procedures - Modifications to PROMS
|
public class ROListItem
|
||||||
// class to handle return of RO Lists
|
{
|
||||||
#region EPFormatFiles
|
public string Text { get; private set; }
|
||||||
public class ROListItem
|
public string Value { get; private set; }
|
||||||
{
|
public ROListItem(string _text, string _value)
|
||||||
public string Text { get; private set; }
|
{
|
||||||
public string Value { get; private set; }
|
Text = _text; Value = _value;
|
||||||
public ROListItem(string _text, string _value)
|
}
|
||||||
{
|
}
|
||||||
Text = _text; Value = _value;
|
#endregion
|
||||||
}
|
|
||||||
}
|
|
||||||
#endregion
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
175
PROMS/VEPROMS.CSLA.Library/Minimal/AnnotationstypeSections.cs
Normal file
175
PROMS/VEPROMS.CSLA.Library/Minimal/AnnotationstypeSections.cs
Normal file
@@ -0,0 +1,175 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Collections;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Data;
|
||||||
|
using System.Data.SqlClient;
|
||||||
|
using System.Text.RegularExpressions;
|
||||||
|
using Csla;
|
||||||
|
using Csla.Data;
|
||||||
|
using System.Configuration;
|
||||||
|
using System.IO;
|
||||||
|
using System.ComponentModel;
|
||||||
|
|
||||||
|
|
||||||
|
//namespace VEPROMS.CSLA.Library;
|
||||||
|
|
||||||
|
// C2025-027 this new file is used to support (data retrival) for selecting Annotation types to display on the Annotation screen. This is related to Annotation type filtering through V->Options.
|
||||||
|
|
||||||
|
namespace VEPROMS.CSLA.Library
|
||||||
|
{
|
||||||
|
public class AnnotationstypeSelections
|
||||||
|
{
|
||||||
|
public static DataTable Get(string UserID)
|
||||||
|
{
|
||||||
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||||
|
{
|
||||||
|
using (SqlCommand cm = cn.CreateCommand())
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
cm.CommandType = CommandType.StoredProcedure;
|
||||||
|
cm.CommandText = "getAnnotationstypeFiltered";
|
||||||
|
cm.CommandTimeout = Database.DefaultTimeout;
|
||||||
|
cm.Parameters.AddWithValue("@UsrID", UserID);
|
||||||
|
SqlDataAdapter da = new SqlDataAdapter(cm);
|
||||||
|
SqlDataReader reader = cm.ExecuteReader();
|
||||||
|
DataTable dt = new DataTable();
|
||||||
|
dt.Load(reader);
|
||||||
|
// if the user has not created a annotation sub-set list saved to AnnotationTypeSelections table.
|
||||||
|
if (dt.Rows.Count < 1)
|
||||||
|
{
|
||||||
|
DataRow row;
|
||||||
|
int rowflg = 0;
|
||||||
|
foreach (AnnotationTypeInfo annosel in DataPortal.Fetch<AnnotationTypeInfoList>())
|
||||||
|
{
|
||||||
|
// C2025-027 need to use a datatable instead of AnnotationTypeInfoList so the global search Annotations will not be effected by the Annotation select list selections
|
||||||
|
if (rowflg == 0)
|
||||||
|
{
|
||||||
|
row = dt.NewRow();
|
||||||
|
dt.Rows.Add(row);
|
||||||
|
rowflg = 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
row = dt.NewRow();
|
||||||
|
row["TypeID"] = annosel.TypeID;
|
||||||
|
row["Name"] = annosel.Name;
|
||||||
|
row["Config"] = annosel.Config;
|
||||||
|
row["DTS"] = annosel.DTS;
|
||||||
|
row["UserID"] = annosel.UserID;
|
||||||
|
row["IsEPAnnotationType"] = annosel.IsEPAnnotationType;
|
||||||
|
dt.Rows.Add(row);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return dt;
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
//B2025-004
|
||||||
|
//if it fails loading previously open tabs, simply treat it as if no tabs were open
|
||||||
|
//instead of crashing
|
||||||
|
return new DataTable();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public static DataTable Retrieve(string UserID)
|
||||||
|
{
|
||||||
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||||
|
{
|
||||||
|
using (SqlCommand cm = cn.CreateCommand())
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
cm.CommandType = CommandType.StoredProcedure;
|
||||||
|
cm.CommandText = "getAnnotationstypeSelections";
|
||||||
|
cm.CommandTimeout = Database.DefaultTimeout;
|
||||||
|
cm.Parameters.AddWithValue("@UsrID", UserID);
|
||||||
|
SqlDataAdapter da = new SqlDataAdapter(cm);
|
||||||
|
SqlDataReader reader = cm.ExecuteReader();
|
||||||
|
DataTable dt = new DataTable();
|
||||||
|
dt.Load(reader);
|
||||||
|
|
||||||
|
return dt;
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
//B2025-004
|
||||||
|
//if it fails loading previously open tabs, simply treat it as if no tabs were open
|
||||||
|
//instead of crashing
|
||||||
|
return new DataTable();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public static DataTable GetAnnoTypes(string UserID)
|
||||||
|
{
|
||||||
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||||
|
{
|
||||||
|
using (SqlCommand cm = cn.CreateCommand())
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
cm.CommandType = CommandType.StoredProcedure;
|
||||||
|
cm.CommandText = "getAnnotationSelectListTypes";
|
||||||
|
cm.CommandTimeout = Database.DefaultTimeout;
|
||||||
|
SqlDataAdapter da = new SqlDataAdapter(cm);
|
||||||
|
cm.Parameters.AddWithValue("@UserID", UserID);
|
||||||
|
SqlDataReader reader = cm.ExecuteReader();
|
||||||
|
DataTable dt = new DataTable();
|
||||||
|
dt.Load(reader);
|
||||||
|
|
||||||
|
return dt;
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
//B2025-004
|
||||||
|
//if it fails loading previously open tabs, simply treat it as if no tabs were open
|
||||||
|
//instead of crashing
|
||||||
|
return new DataTable();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void Update(DataTable dt, string UserID)
|
||||||
|
{
|
||||||
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||||
|
{
|
||||||
|
using (SqlCommand cm = cn.CreateCommand())
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
cm.CommandType = CommandType.StoredProcedure;
|
||||||
|
cm.CommandText = "UpdateAnnotationstypeSelections";
|
||||||
|
cm.CommandTimeout = Database.DefaultTimeout;
|
||||||
|
|
||||||
|
//Pass table Valued parameter to Store Procedure
|
||||||
|
SqlParameter sqlParam = cm.Parameters.AddWithValue("@TempTable", dt);
|
||||||
|
sqlParam.SqlDbType = SqlDbType.Structured;
|
||||||
|
cm.Parameters.AddWithValue("@UserID", UserID);
|
||||||
|
cm.ExecuteNonQuery();
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
throw new DbCslaException("Error in UpdateAnnotationstypeSelections: update failed", ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@@ -386,12 +386,19 @@ namespace VEPROMS.CSLA.Library
|
|||||||
ItemInfo myItemInfo = o as ItemInfo;
|
ItemInfo myItemInfo = o as ItemInfo;
|
||||||
if (myItemInfo != null)
|
if (myItemInfo != null)
|
||||||
{
|
{
|
||||||
|
myItemInfo.Deleted -= new ItemInfoEvent(myItemInfo_Deleted);
|
||||||
myItemInfo.Deleted += new ItemInfoEvent(myItemInfo_Deleted);
|
myItemInfo.Deleted += new ItemInfoEvent(myItemInfo_Deleted);
|
||||||
|
myItemInfo.ChildrenDeleted -= new ItemInfoEvent(myItemInfo_ChildrenDeleted);
|
||||||
myItemInfo.ChildrenDeleted += new ItemInfoEvent(myItemInfo_ChildrenDeleted);
|
myItemInfo.ChildrenDeleted += new ItemInfoEvent(myItemInfo_ChildrenDeleted);
|
||||||
|
myItemInfo.MyContent.Changed -= new ContentInfoEvent(NodeText_Changed);
|
||||||
myItemInfo.MyContent.Changed += new ContentInfoEvent(NodeText_Changed);
|
myItemInfo.MyContent.Changed += new ContentInfoEvent(NodeText_Changed);
|
||||||
|
myItemInfo.OrdinalChanged -= new ItemInfoEvent(NodeText_Changed);
|
||||||
myItemInfo.OrdinalChanged += new ItemInfoEvent(NodeText_Changed);
|
myItemInfo.OrdinalChanged += new ItemInfoEvent(NodeText_Changed);
|
||||||
|
myItemInfo.NewSiblingAfter -= new ItemInfoInsertEvent(myItemInfo_NewSiblingAfter);
|
||||||
myItemInfo.NewSiblingAfter += new ItemInfoInsertEvent(myItemInfo_NewSiblingAfter);
|
myItemInfo.NewSiblingAfter += new ItemInfoInsertEvent(myItemInfo_NewSiblingAfter);
|
||||||
|
myItemInfo.NewSiblingBefore -= new ItemInfoInsertEvent(myItemInfo_NewSiblingBefore);
|
||||||
myItemInfo.NewSiblingBefore += new ItemInfoInsertEvent(myItemInfo_NewSiblingBefore);
|
myItemInfo.NewSiblingBefore += new ItemInfoInsertEvent(myItemInfo_NewSiblingBefore);
|
||||||
|
myItemInfo.NewChild -= new ItemInfoInsertEvent(myItemInfo_NewChild);
|
||||||
myItemInfo.NewChild += new ItemInfoInsertEvent(myItemInfo_NewChild);
|
myItemInfo.NewChild += new ItemInfoInsertEvent(myItemInfo_NewChild);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -429,12 +436,19 @@ namespace VEPROMS.CSLA.Library
|
|||||||
ItemInfo myItemInfo = o as ItemInfo;
|
ItemInfo myItemInfo = o as ItemInfo;
|
||||||
if (myItemInfo != null)
|
if (myItemInfo != null)
|
||||||
{
|
{
|
||||||
|
myItemInfo.Deleted -= new ItemInfoEvent(myItemInfo_Deleted);
|
||||||
myItemInfo.Deleted += new ItemInfoEvent(myItemInfo_Deleted);
|
myItemInfo.Deleted += new ItemInfoEvent(myItemInfo_Deleted);
|
||||||
|
myItemInfo.ChildrenDeleted -= new ItemInfoEvent(myItemInfo_ChildrenDeleted);
|
||||||
myItemInfo.ChildrenDeleted += new ItemInfoEvent(myItemInfo_ChildrenDeleted);
|
myItemInfo.ChildrenDeleted += new ItemInfoEvent(myItemInfo_ChildrenDeleted);
|
||||||
|
myItemInfo.MyContent.Changed -= new ContentInfoEvent(NodeText_Changed);
|
||||||
myItemInfo.MyContent.Changed += new ContentInfoEvent(NodeText_Changed);
|
myItemInfo.MyContent.Changed += new ContentInfoEvent(NodeText_Changed);
|
||||||
|
myItemInfo.OrdinalChanged -= new ItemInfoEvent(NodeText_Changed);
|
||||||
myItemInfo.OrdinalChanged += new ItemInfoEvent(NodeText_Changed);
|
myItemInfo.OrdinalChanged += new ItemInfoEvent(NodeText_Changed);
|
||||||
|
myItemInfo.NewSiblingAfter -= new ItemInfoInsertEvent(myItemInfo_NewSiblingAfter);
|
||||||
myItemInfo.NewSiblingAfter += new ItemInfoInsertEvent(myItemInfo_NewSiblingAfter);
|
myItemInfo.NewSiblingAfter += new ItemInfoInsertEvent(myItemInfo_NewSiblingAfter);
|
||||||
|
myItemInfo.NewSiblingBefore -= new ItemInfoInsertEvent(myItemInfo_NewSiblingBefore);
|
||||||
myItemInfo.NewSiblingBefore += new ItemInfoInsertEvent(myItemInfo_NewSiblingBefore);
|
myItemInfo.NewSiblingBefore += new ItemInfoInsertEvent(myItemInfo_NewSiblingBefore);
|
||||||
|
myItemInfo.NewChild -= new ItemInfoInsertEvent(myItemInfo_NewChild);
|
||||||
myItemInfo.NewChild += new ItemInfoInsertEvent(myItemInfo_NewChild);
|
myItemInfo.NewChild += new ItemInfoInsertEvent(myItemInfo_NewChild);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -387,6 +387,7 @@
|
|||||||
<Compile Include="Generated\ZContentInfo.cs" />
|
<Compile Include="Generated\ZContentInfo.cs" />
|
||||||
<Compile Include="Generated\ZTransition.cs" />
|
<Compile Include="Generated\ZTransition.cs" />
|
||||||
<Compile Include="Generated\ZTransitionInfo.cs" />
|
<Compile Include="Generated\ZTransitionInfo.cs" />
|
||||||
|
<Compile Include="Minimal\AnnotationstypeSections.cs" />
|
||||||
<Compile Include="Minimal\UserSettings.cs" />
|
<Compile Include="Minimal\UserSettings.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
<Compile Include="VEObjects\VEDrillDown.cs" />
|
<Compile Include="VEObjects\VEDrillDown.cs" />
|
||||||
|
@@ -38,6 +38,9 @@ EndProject
|
|||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Baseline", "..\Baseline\Baseline.csproj", "{8B29E0DE-B6C9-4041-8817-319FDE3123C4}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Baseline", "..\Baseline\Baseline.csproj", "{8B29E0DE-B6C9-4041-8817-319FDE3123C4}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RoAccessToSql", "..\RoAccessToSql\RoAccessToSql.csproj", "{1EC96BDA-01E7-4153-A95D-6A4A36FA278E}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RoAccessToSql", "..\RoAccessToSql\RoAccessToSql.csproj", "{1EC96BDA-01E7-4153-A95D-6A4A36FA278E}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{AEEE9FD1-6892-45E2-A67E-418C06D46FF9} = {AEEE9FD1-6892-45E2-A67E-418C06D46FF9}
|
||||||
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
@@ -119,8 +119,8 @@ namespace Volian.Controls.Library
|
|||||||
if (CurrentItem.MyDocVersion != null)
|
if (CurrentItem.MyDocVersion != null)
|
||||||
if (CurrentItem.MyDocVersion.DocVersionAssociationCount > 0)
|
if (CurrentItem.MyDocVersion.DocVersionAssociationCount > 0)
|
||||||
_ROPath = CurrentItem.MyDocVersion.DocVersionAssociations[0].MyROFst.MyRODb.FolderPath;
|
_ROPath = CurrentItem.MyDocVersion.DocVersionAssociations[0].MyROFst.MyRODb.FolderPath;
|
||||||
ProcItem = CurrentItem.MyProcedure;
|
|
||||||
}
|
}
|
||||||
public AnnotationInfo FirstExeAnnotation(ItemInfo ii)
|
public AnnotationInfo FirstExeAnnotation(ItemInfo ii)
|
||||||
{
|
{
|
||||||
if (ii == null) return null;
|
if (ii == null) return null;
|
||||||
@@ -364,7 +364,11 @@ namespace Volian.Controls.Library
|
|||||||
|
|
||||||
cbGridAnnoType.DisplayMember = "Name";
|
cbGridAnnoType.DisplayMember = "Name";
|
||||||
cbGridAnnoType.ValueMember = "TypeId";
|
cbGridAnnoType.ValueMember = "TypeId";
|
||||||
cbGridAnnoType.DataSource = AnnotationTypeInfoList.Get().Clone();
|
|
||||||
|
//C2025 - 027 Annotation Type Filtering
|
||||||
|
cbGridAnnoType.WatermarkText = "Select Annotation Type";
|
||||||
|
cbGridAnnoType.DataSource = VEPROMS.CSLA.Library.AnnotationstypeSelections.Get(MyUserInfo.UserID);
|
||||||
|
|
||||||
// If there are no annotatons, then selected index is -1 (not defined), otherwise select the first.
|
// If there are no annotatons, then selected index is -1 (not defined), otherwise select the first.
|
||||||
// This was done so that it could be saved if there was text entered but user moves to another steprtb without selecting save button
|
// This was done so that it could be saved if there was text entered but user moves to another steprtb without selecting save button
|
||||||
// so that annotation gets saved.
|
// so that annotation gets saved.
|
||||||
|
@@ -69,6 +69,7 @@ namespace Volian.Controls.Library
|
|||||||
_AnnotationDetails = annotationDetails;
|
_AnnotationDetails = annotationDetails;
|
||||||
cbAnnoType.DisplayMember = "Name";
|
cbAnnoType.DisplayMember = "Name";
|
||||||
cbAnnoType.DataSource = AnnotationTypeInfoList.Get();
|
cbAnnoType.DataSource = AnnotationTypeInfoList.Get();
|
||||||
|
lbResults.MouseMove -= new MouseEventHandler(lbResults_MouseMove);
|
||||||
lbResults.MouseMove += new MouseEventHandler(lbResults_MouseMove);
|
lbResults.MouseMove += new MouseEventHandler(lbResults_MouseMove);
|
||||||
_TabControl = tc;
|
_TabControl = tc;
|
||||||
}
|
}
|
||||||
|
@@ -354,7 +354,10 @@ namespace Volian.Controls.Library
|
|||||||
private void WireCheckboxes()
|
private void WireCheckboxes()
|
||||||
{
|
{
|
||||||
foreach (CheckBox cb in MyCheckBoxes.Values)
|
foreach (CheckBox cb in MyCheckBoxes.Values)
|
||||||
|
{
|
||||||
|
cb.CheckedChanged -= new EventHandler(cb_CheckedChanged);
|
||||||
cb.CheckedChanged += new EventHandler(cb_CheckedChanged);
|
cb.CheckedChanged += new EventHandler(cb_CheckedChanged);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
private void UnwireCheckboxes(bool reset)
|
private void UnwireCheckboxes(bool reset)
|
||||||
{
|
{
|
||||||
|
@@ -211,7 +211,9 @@ namespace Volian.Controls.Library
|
|||||||
}
|
}
|
||||||
_myRTB = value;
|
_myRTB = value;
|
||||||
|
|
||||||
|
MyRTB.LinkChanged -= new StepRTBLinkEvent(MyRTB_LinkChanged);
|
||||||
MyRTB.LinkChanged += new StepRTBLinkEvent(MyRTB_LinkChanged);
|
MyRTB.LinkChanged += new StepRTBLinkEvent(MyRTB_LinkChanged);
|
||||||
|
MyRTB.SelectionChanged -= new EventHandler(MyRTB_SelectionChanged);
|
||||||
MyRTB.SelectionChanged += new EventHandler(MyRTB_SelectionChanged);
|
MyRTB.SelectionChanged += new EventHandler(MyRTB_SelectionChanged);
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(MyRTB.MyLinkText))
|
if (string.IsNullOrEmpty(MyRTB.MyLinkText))
|
||||||
|
@@ -161,8 +161,11 @@ namespace Volian.Controls.Library
|
|||||||
|
|
||||||
if (_MyROFSTLookup == null) return;
|
if (_MyROFSTLookup == null) return;
|
||||||
|
|
||||||
|
advTreeRO.BeforeExpand -= new AdvTreeNodeCancelEventHandler(advTreeRO_BeforeExpand);
|
||||||
advTreeRO.BeforeExpand += new AdvTreeNodeCancelEventHandler(advTreeRO_BeforeExpand);
|
advTreeRO.BeforeExpand += new AdvTreeNodeCancelEventHandler(advTreeRO_BeforeExpand);
|
||||||
|
advTreeRO.AfterExpand -= new AdvTreeNodeEventHandler(advTreeRO_AfterExpandorCollapse);
|
||||||
advTreeRO.AfterExpand += new AdvTreeNodeEventHandler(advTreeRO_AfterExpandorCollapse);
|
advTreeRO.AfterExpand += new AdvTreeNodeEventHandler(advTreeRO_AfterExpandorCollapse);
|
||||||
|
advTreeRO.AfterCollapse -= new AdvTreeNodeEventHandler(advTreeRO_AfterExpandorCollapse);
|
||||||
advTreeRO.AfterCollapse += new AdvTreeNodeEventHandler(advTreeRO_AfterExpandorCollapse);
|
advTreeRO.AfterCollapse += new AdvTreeNodeEventHandler(advTreeRO_AfterExpandorCollapse);
|
||||||
|
|
||||||
topnode = new DevComponents.AdvTree.Node();
|
topnode = new DevComponents.AdvTree.Node();
|
||||||
@@ -250,6 +253,7 @@ namespace Volian.Controls.Library
|
|||||||
topnode.Tag = fi;
|
topnode.Tag = fi;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
advTreeProcSets.BeforeExpand -= new DevComponents.AdvTree.AdvTreeNodeCancelEventHandler(advTreeProcSets_BeforeExpand);
|
||||||
advTreeProcSets.BeforeExpand += new DevComponents.AdvTree.AdvTreeNodeCancelEventHandler(advTreeProcSets_BeforeExpand);
|
advTreeProcSets.BeforeExpand += new DevComponents.AdvTree.AdvTreeNodeCancelEventHandler(advTreeProcSets_BeforeExpand);
|
||||||
|
|
||||||
// position to the procedure set in the tree if we have a procedure open
|
// position to the procedure set in the tree if we have a procedure open
|
||||||
|
@@ -468,7 +468,9 @@ namespace Volian.Controls.Library
|
|||||||
lastLastFormatID = fv.FormatID;
|
lastLastFormatID = fv.FormatID;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
cbxTranVersion.SelectedIndexChanged -= new EventHandler(cbxTranVersion_SelectedIndexChanged);
|
||||||
cbxTranVersion.SelectedIndexChanged += new EventHandler(cbxTranVersion_SelectedIndexChanged);
|
cbxTranVersion.SelectedIndexChanged += new EventHandler(cbxTranVersion_SelectedIndexChanged);
|
||||||
|
cbxTranFormat.SelectedIndexChanged -= new EventHandler(cbxTranFormat_SelectedIndexChanged);
|
||||||
cbxTranFormat.SelectedIndexChanged += new EventHandler(cbxTranFormat_SelectedIndexChanged);
|
cbxTranFormat.SelectedIndexChanged += new EventHandler(cbxTranFormat_SelectedIndexChanged);
|
||||||
}
|
}
|
||||||
this.Cursor = Cursors.Default;
|
this.Cursor = Cursors.Default;
|
||||||
@@ -892,6 +894,7 @@ namespace Volian.Controls.Library
|
|||||||
topnode.DataKey = fi.FolderID;
|
topnode.DataKey = fi.FolderID;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
advTreeProcSets.BeforeExpand -= new DevComponents.AdvTree.AdvTreeNodeCancelEventHandler(advTreeProcSets_BeforeExpand);
|
||||||
advTreeProcSets.BeforeExpand += new DevComponents.AdvTree.AdvTreeNodeCancelEventHandler(advTreeProcSets_BeforeExpand);
|
advTreeProcSets.BeforeExpand += new DevComponents.AdvTree.AdvTreeNodeCancelEventHandler(advTreeProcSets_BeforeExpand);
|
||||||
|
|
||||||
// position to the procedure set in the tree if we have a procedure open
|
// position to the procedure set in the tree if we have a procedure open
|
||||||
@@ -986,6 +989,7 @@ namespace Volian.Controls.Library
|
|||||||
annoTypes.Add(new AnnotationTypeSearch(ati.Name, ati.TypeID.ToString()));
|
annoTypes.Add(new AnnotationTypeSearch(ati.Name, ati.TypeID.ToString()));
|
||||||
cbxAnnoTypes.DisplayMember = "Name";
|
cbxAnnoTypes.DisplayMember = "Name";
|
||||||
cbxAnnoTypes.DataSource = annoTypes;
|
cbxAnnoTypes.DataSource = annoTypes;
|
||||||
|
lbSrchResults.MouseMove -= new MouseEventHandler(lbSrchResults_MouseMove);
|
||||||
lbSrchResults.MouseMove += new MouseEventHandler(lbSrchResults_MouseMove);
|
lbSrchResults.MouseMove += new MouseEventHandler(lbSrchResults_MouseMove);
|
||||||
_TabControl = tc;
|
_TabControl = tc;
|
||||||
}
|
}
|
||||||
|
@@ -378,7 +378,10 @@ namespace Volian.Controls.Library
|
|||||||
{
|
{
|
||||||
_MyStepRTB = _MyEditItem.MyStepRTB;
|
_MyStepRTB = _MyEditItem.MyStepRTB;
|
||||||
if (_MyStepRTB != null)
|
if (_MyStepRTB != null)
|
||||||
|
{
|
||||||
|
_MyStepRTB.Disposed -= new EventHandler(_MyStepRTB_Disposed);
|
||||||
_MyStepRTB.Disposed += new EventHandler(_MyStepRTB_Disposed);
|
_MyStepRTB.Disposed += new EventHandler(_MyStepRTB_Disposed);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
_MyStepRTB = null;
|
_MyStepRTB = null;
|
||||||
@@ -469,6 +472,7 @@ namespace Volian.Controls.Library
|
|||||||
myBar.DockTabControl.CloseButtonPosition = DevComponents.DotNetBar.eTabCloseButtonPosition.Right;
|
myBar.DockTabControl.CloseButtonPosition = DevComponents.DotNetBar.eTabCloseButtonPosition.Right;
|
||||||
myBar.DockTabControl.Width = ClientRectangle.Width;
|
myBar.DockTabControl.Width = ClientRectangle.Width;
|
||||||
}
|
}
|
||||||
|
myBar.DockTabClosing -= new DockTabClosingEventHandler(myBar_DockTabClosing);
|
||||||
myBar.DockTabClosing += new DockTabClosingEventHandler(myBar_DockTabClosing);
|
myBar.DockTabClosing += new DockTabClosingEventHandler(myBar_DockTabClosing);
|
||||||
if (!myBar.Visible)
|
if (!myBar.Visible)
|
||||||
myBar.Visible = true;
|
myBar.Visible = true;
|
||||||
|
@@ -566,6 +566,7 @@ namespace Volian.Controls.Library
|
|||||||
startitm = startitm.GetNext();
|
startitm = startitm.GetNext();
|
||||||
}
|
}
|
||||||
if (!setsel2) tvTran.SelectedNode = tvTran.Nodes[0];
|
if (!setsel2) tvTran.SelectedNode = tvTran.Nodes[0];
|
||||||
|
tvTran.BeforeExpand -= new TreeViewCancelEventHandler(tvTran_BeforeExpand);
|
||||||
tvTran.BeforeExpand += new TreeViewCancelEventHandler(tvTran_BeforeExpand);
|
tvTran.BeforeExpand += new TreeViewCancelEventHandler(tvTran_BeforeExpand);
|
||||||
// bug fix. TreeView needs the next two lines to properly display the bottom node. jsj 01/08/2010
|
// bug fix. TreeView needs the next two lines to properly display the bottom node. jsj 01/08/2010
|
||||||
tvTran.ItemHeight++;
|
tvTran.ItemHeight++;
|
||||||
@@ -599,6 +600,7 @@ namespace Volian.Controls.Library
|
|||||||
startitm = startitm.GetNext();
|
startitm = startitm.GetNext();
|
||||||
}
|
}
|
||||||
if (!setsel) tvTran.SelectedNode = tvTran.Nodes[0];
|
if (!setsel) tvTran.SelectedNode = tvTran.Nodes[0];
|
||||||
|
tvTran.BeforeExpand -= new TreeViewCancelEventHandler(tvTran_BeforeExpand);
|
||||||
tvTran.BeforeExpand += new TreeViewCancelEventHandler(tvTran_BeforeExpand);
|
tvTran.BeforeExpand += new TreeViewCancelEventHandler(tvTran_BeforeExpand);
|
||||||
// bug fix. TreeView needs the next two lines to properly display the bottom node. jsj 01/08/2010
|
// bug fix. TreeView needs the next two lines to properly display the bottom node. jsj 01/08/2010
|
||||||
tvTran.ItemHeight++;
|
tvTran.ItemHeight++;
|
||||||
|
@@ -214,10 +214,14 @@ namespace Volian.Controls.Library
|
|||||||
UserCheckOffChar = (char)co.UIMark;
|
UserCheckOffChar = (char)co.UIMark;
|
||||||
}
|
}
|
||||||
// Deal with changes in content data
|
// Deal with changes in content data
|
||||||
|
value.MyContent.Changed -= new ContentInfoEvent(MyContent_Changed);
|
||||||
value.MyContent.Changed += new ContentInfoEvent(MyContent_Changed);
|
value.MyContent.Changed += new ContentInfoEvent(MyContent_Changed);
|
||||||
|
value.MyProcedure.MyContent.Changed -= new ContentInfoEvent(MyContent_Changed);
|
||||||
value.MyProcedure.MyContent.Changed += new ContentInfoEvent(MyContent_Changed);
|
value.MyProcedure.MyContent.Changed += new ContentInfoEvent(MyContent_Changed);
|
||||||
// Deal with change in item data
|
// Deal with change in item data
|
||||||
|
value.Changed -= new ItemInfoEvent(value_Changed);
|
||||||
value.Changed += new ItemInfoEvent(value_Changed);
|
value.Changed += new ItemInfoEvent(value_Changed);
|
||||||
|
value.OrdinalChanged -= new ItemInfoEvent(value_OrdinalChanged);
|
||||||
value.OrdinalChanged += new ItemInfoEvent(value_OrdinalChanged);
|
value.OrdinalChanged += new ItemInfoEvent(value_OrdinalChanged);
|
||||||
// do something like this to draw circle around step numbers - note got NULL reference error on NSP data
|
// do something like this to draw circle around step numbers - note got NULL reference error on NSP data
|
||||||
//if (value.FormatStepData != null && value.FormatStepData.TabData.IdentPrint.Contains("C0")) Circle = true;
|
//if (value.FormatStepData != null && value.FormatStepData.TabData.IdentPrint.Contains("C0")) Circle = true;
|
||||||
@@ -3997,9 +4001,13 @@ namespace Volian.Controls.Library
|
|||||||
if (!itemInfo.IsStep) // C2025-036 reduce un-needed processing - this will prevent duplicat calls that generate step tabs when loading a procedure
|
if (!itemInfo.IsStep) // C2025-036 reduce un-needed processing - this will prevent duplicat calls that generate step tabs when loading a procedure
|
||||||
SetupHeader(itemInfo);
|
SetupHeader(itemInfo);
|
||||||
SetupAlarmTableView(itemInfo); // C2021-018 display alarm point table information in the step editor (if the format flag is set)
|
SetupAlarmTableView(itemInfo); // C2021-018 display alarm point table information in the step editor (if the format flag is set)
|
||||||
|
this.Paint -= new PaintEventHandler(EditItem_Paint);
|
||||||
this.Paint += new PaintEventHandler(EditItem_Paint);
|
this.Paint += new PaintEventHandler(EditItem_Paint);
|
||||||
|
this.BackColorChanged -= new EventHandler(EditItem_BackColorChanged);
|
||||||
this.BackColorChanged += new EventHandler(EditItem_BackColorChanged);
|
this.BackColorChanged += new EventHandler(EditItem_BackColorChanged);
|
||||||
|
this.Move -= new EventHandler(EditItem_Move);
|
||||||
this.Move += new EventHandler(EditItem_Move);
|
this.Move += new EventHandler(EditItem_Move);
|
||||||
|
this.Resize -= new EventHandler(EditItem_Resize);
|
||||||
this.Resize += new EventHandler(EditItem_Resize);
|
this.Resize += new EventHandler(EditItem_Resize);
|
||||||
if (itemInfo != null)
|
if (itemInfo != null)
|
||||||
{
|
{
|
||||||
@@ -4050,6 +4058,7 @@ namespace Volian.Controls.Library
|
|||||||
SeqLevel = myParentEditItem.SeqLevel + ((myChildRelation == ChildRelation.After || myChildRelation == ChildRelation.Before) && itemInfo.IsSequential ? 1 : 0);
|
SeqLevel = myParentEditItem.SeqLevel + ((myChildRelation == ChildRelation.After || myChildRelation == ChildRelation.Before) && itemInfo.IsSequential ? 1 : 0);
|
||||||
//// TIMING: DisplayItem.TimeIt("CSLARTB seqLevel");
|
//// TIMING: DisplayItem.TimeIt("CSLARTB seqLevel");
|
||||||
MyItemInfo = itemInfo;
|
MyItemInfo = itemInfo;
|
||||||
|
MyItemInfo.MyConfig.PropertyChanged -= new PropertyChangedEventHandler(MyConfig_PropertyChanged);
|
||||||
MyItemInfo.MyConfig.PropertyChanged += new PropertyChangedEventHandler(MyConfig_PropertyChanged);
|
MyItemInfo.MyConfig.PropertyChanged += new PropertyChangedEventHandler(MyConfig_PropertyChanged);
|
||||||
}
|
}
|
||||||
//// TIMING: DisplayItem.TimeIt("CSLARTB MyItem");
|
//// TIMING: DisplayItem.TimeIt("CSLARTB MyItem");
|
||||||
|
@@ -1284,7 +1284,7 @@ namespace Volian.Controls.Library
|
|||||||
}
|
}
|
||||||
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 + @";}"); //}\f0\fs" + this.Font.SizeInPoints * 2 + @" " + myDisplayTextElement.Text + @"}}";
|
||||||
if (!isFixed)
|
if (!isFixed)
|
||||||
selectedRtfSB.Append(@"{\f1\fnil\fcharset0 " + Volian.Base.Library.vlnFont.ProportionalSymbolFont + @";}}{\colortbl ;\red255\green0\blue0;}"); // C2017-036 get best available proportional font for symbols
|
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
|
else
|
||||||
selectedRtfSB.Append(@"{\f1\fnil\fcharset0 FreeMono;}}{\colortbl ;\red255\green0\blue0;\red0\green0\blue255;}"); // FreeMono is now used for the edit screen only. VESymbFix and Consolas are used for printing
|
selectedRtfSB.Append(@"{\f1\fnil\fcharset0 FreeMono;}}{\colortbl ;\red255\green0\blue0;\red0\green0\blue255;}"); // FreeMono is now used for the edit screen only. VESymbFix and Consolas are used for printing
|
||||||
selectedRtfSB.Append("\r\n");
|
selectedRtfSB.Append("\r\n");
|
||||||
|
@@ -120,7 +120,7 @@ namespace Volian.Controls.Library
|
|||||||
foreach (string t in tmps) cmb.Items.Add(t.Trim());
|
foreach (string t in tmps) cmb.Items.Add(t.Trim());
|
||||||
string val = MyConfig.GetValue("EP", EP.name);
|
string val = MyConfig.GetValue("EP", EP.name);
|
||||||
if (val != null && val != "") cmb.SelectedItem = val;
|
if (val != null && val != "") cmb.SelectedItem = val;
|
||||||
cmb.DropDownWidth = TextRenderer.MeasureText(tmps.OrderByDescending(x => x.Length).FirstOrDefault(), cmb.Font).Width + SystemInformation.VerticalScrollBarWidth;
|
cmb.DropDownWidth = TextRenderer.MeasureText(tmps.OrderByDescending(x => x.Length).First(), cmb.Font).Width + SystemInformation.VerticalScrollBarWidth;
|
||||||
cmb.Width = cmb.DropDownWidth;
|
cmb.Width = cmb.DropDownWidth;
|
||||||
_DicComboBox.Add(EP.name, cmb);
|
_DicComboBox.Add(EP.name, cmb);
|
||||||
panelEP.Controls.Add(cmb, 1, panelEP.RowCount - 1);
|
panelEP.Controls.Add(cmb, 1, panelEP.RowCount - 1);
|
||||||
@@ -135,7 +135,7 @@ namespace Volian.Controls.Library
|
|||||||
cmb.ValueMember = "Value";
|
cmb.ValueMember = "Value";
|
||||||
cmb.DataSource = tmps;
|
cmb.DataSource = tmps;
|
||||||
cmb.DropDownStyle = ComboBoxStyle.DropDownList;
|
cmb.DropDownStyle = ComboBoxStyle.DropDownList;
|
||||||
cmb.DropDownWidth = TextRenderer.MeasureText(tmps.OrderByDescending(x => x.Text.Length).FirstOrDefault()?.Text, cmb.Font).Width + SystemInformation.VerticalScrollBarWidth;
|
cmb.DropDownWidth = TextRenderer.MeasureText(tmps.OrderByDescending(x => x.Text.Length).First().Text, cmb.Font).Width + SystemInformation.VerticalScrollBarWidth;
|
||||||
cmb.Width = cmb.DropDownWidth;
|
cmb.Width = cmb.DropDownWidth;
|
||||||
|
|
||||||
_DicSingleRO.Add(EP.name, cmb);
|
_DicSingleRO.Add(EP.name, cmb);
|
||||||
@@ -148,7 +148,7 @@ namespace Volian.Controls.Library
|
|||||||
List<ROListItem> tmps = EP.getROList(currAnn, false);
|
List<ROListItem> tmps = EP.getROList(currAnn, false);
|
||||||
lb.DisplayMember = "Text";
|
lb.DisplayMember = "Text";
|
||||||
lb.ValueMember = "Value";
|
lb.ValueMember = "Value";
|
||||||
lb.Width = TextRenderer.MeasureText(tmps.OrderByDescending(x => x.Text.Length).FirstOrDefault()?.Text, lb.Font).Width + SystemInformation.VerticalScrollBarWidth;
|
lb.Width = TextRenderer.MeasureText(tmps.OrderByDescending(x => x.Text.Length).First().Text, lb.Font).Width + SystemInformation.VerticalScrollBarWidth;
|
||||||
|
|
||||||
lb.DataSource = tmps;
|
lb.DataSource = tmps;
|
||||||
_DicMultiRO.Add(EP.name, lb);
|
_DicMultiRO.Add(EP.name, lb);
|
||||||
|
@@ -22,8 +22,8 @@ namespace Volian.Controls.Library
|
|||||||
public delegate void vlnTreeViewEvent(object sender, vlnTreeEventArgs args);
|
public delegate void vlnTreeViewEvent(object sender, vlnTreeEventArgs args);
|
||||||
public delegate void vlnTreeViewTimeEvent(object sender, vlnTreeTimeEventArgs args);
|
public delegate void vlnTreeViewTimeEvent(object sender, vlnTreeTimeEventArgs args);
|
||||||
public delegate void vlnTreeViewStatusEvent(object sender, vlnTreeStatusEventArgs args);
|
public delegate void vlnTreeViewStatusEvent(object sender, vlnTreeStatusEventArgs args);
|
||||||
public delegate ItemInfo vlnTreeViewClipboardStatusEvent(object sender, vlnTreeEventArgs args);
|
public delegate ItemInfo vlnTreeViewClipboardStatusEvent(object sender, vlnTreeEventArgs args);
|
||||||
public delegate void vlnTreeViewItemInfoEvent(object sender, vlnTreeItemInfoEventArgs args);
|
public delegate void vlnTreeViewItemInfoEvent(object sender, vlnTreeItemInfoEventArgs args);
|
||||||
public delegate bool vlnTreeViewBoolEvent(object sender, vlnTreeEventArgs args);
|
public delegate bool vlnTreeViewBoolEvent(object sender, vlnTreeEventArgs args);
|
||||||
public delegate bool vlnTreeViewItemInfoDeleteEvent(object sender, vlnTreeItemInfoEventArgs args);
|
public delegate bool vlnTreeViewItemInfoDeleteEvent(object sender, vlnTreeItemInfoEventArgs args);
|
||||||
|
|
||||||
@@ -152,15 +152,6 @@ namespace Volian.Controls.Library
|
|||||||
get { return _Index; }
|
get { return _Index; }
|
||||||
set { _Index = value; }
|
set { _Index = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
//C2025-024 Electronic Procedures - Phase 2 (PROMS XML output)
|
|
||||||
//AnnotationType that would be doing an export for
|
|
||||||
private int _AnnotationTypeId = -1;
|
|
||||||
public int AnnotationTypeId
|
|
||||||
{
|
|
||||||
get { return _AnnotationTypeId; }
|
|
||||||
set { _AnnotationTypeId = value; }
|
|
||||||
}
|
|
||||||
//jcb multiunit
|
//jcb multiunit
|
||||||
private string _Unit;
|
private string _Unit;
|
||||||
public string Unit
|
public string Unit
|
||||||
@@ -188,13 +179,6 @@ namespace Volian.Controls.Library
|
|||||||
_Destination = destination;
|
_Destination = destination;
|
||||||
_Index = index;
|
_Index = index;
|
||||||
}
|
}
|
||||||
public vlnTreeEventArgs(TreeNode node, TreeNode destination, int index, int annTypeId)
|
|
||||||
{
|
|
||||||
_Node = node;
|
|
||||||
_Destination = destination;
|
|
||||||
_Index = index;
|
|
||||||
_AnnotationTypeId = annTypeId;
|
|
||||||
}
|
|
||||||
//jcb multiunit
|
//jcb multiunit
|
||||||
public vlnTreeEventArgs(TreeNode node, TreeNode destination, int index, string unit, int unitIndex)
|
public vlnTreeEventArgs(TreeNode node, TreeNode destination, int index, string unit, int unitIndex)
|
||||||
{
|
{
|
||||||
@@ -204,20 +188,11 @@ namespace Volian.Controls.Library
|
|||||||
_Unit = unit;
|
_Unit = unit;
|
||||||
_UnitIndex = unitIndex;
|
_UnitIndex = unitIndex;
|
||||||
}
|
}
|
||||||
public vlnTreeEventArgs(TreeNode node, TreeNode destination, int index, string unit, int unitIndex, int annTypeId)
|
|
||||||
{
|
|
||||||
_Node = node;
|
|
||||||
_Destination = destination;
|
|
||||||
_Index = index;
|
|
||||||
_Unit = unit;
|
|
||||||
_UnitIndex = unitIndex;
|
|
||||||
_AnnotationTypeId = annTypeId;
|
|
||||||
}
|
|
||||||
//end jcb multiunit
|
//end jcb multiunit
|
||||||
#endregion
|
#endregion
|
||||||
public override string ToString()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
return string.Format("Node={0},Destination={1},Index={2},Unit={3},UnitIndex={4}", NodePath(this.Node), this.Destination, this.Index, this.Unit, this.UnitIndex);
|
return string.Format("Node={0},Destination={1},Index={2},Unit={3},UnitIndex={4}", NodePath(this.Node), this.Destination, this.Index, this.Unit, this.UnitIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
private string NodePath(TreeNode node)
|
private string NodePath(TreeNode node)
|
||||||
@@ -598,16 +573,11 @@ namespace Volian.Controls.Library
|
|||||||
{
|
{
|
||||||
if (ProcedureCheckedOutTo != null) ProcedureCheckedOutTo(sender, args);
|
if (ProcedureCheckedOutTo != null) ProcedureCheckedOutTo(sender, args);
|
||||||
}
|
}
|
||||||
|
public event vlnTreeViewEvent ExportImportProcedureSets;
|
||||||
|
private void OnExportImportProcedureSets(object sender, vlnTreeEventArgs args)
|
||||||
|
{
|
||||||
|
if (ExportImportProcedureSets != null) ExportImportProcedureSets(sender, args);
|
||||||
|
}
|
||||||
public event vlnTreeViewEvent ExportImportProcedureSets;
|
|
||||||
private void OnExportImportProcedureSets(object sender, vlnTreeEventArgs args)
|
|
||||||
{
|
|
||||||
if (ExportImportProcedureSets != null) ExportImportProcedureSets(sender, args);
|
|
||||||
}
|
|
||||||
public event vlnTreeViewEvent PrintTransitionReport;
|
public event vlnTreeViewEvent PrintTransitionReport;
|
||||||
private void OnPrintTransitionReport(object sender, vlnTreeEventArgs args)
|
private void OnPrintTransitionReport(object sender, vlnTreeEventArgs args)
|
||||||
{
|
{
|
||||||
@@ -736,10 +706,7 @@ namespace Volian.Controls.Library
|
|||||||
if (ui.IsAdministrator() || ui.IsSetAdministrator(fi))// && fi.MyParent == null) //VEPROMS level
|
if (ui.IsAdministrator() || ui.IsSetAdministrator(fi))// && fi.MyParent == null) //VEPROMS level
|
||||||
{
|
{
|
||||||
if (fi.HasWorkingDraft)
|
if (fi.HasWorkingDraft)
|
||||||
{
|
|
||||||
cm.MenuItems.Add("Export Procedure Set", new EventHandler(mi_Click));
|
cm.MenuItems.Add("Export Procedure Set", new EventHandler(mi_Click));
|
||||||
//AddEPExport(cm.MenuItems, 0, null);
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
cm.MenuItems.Add("Import Procedure Set", new EventHandler(mi_Click));
|
cm.MenuItems.Add("Import Procedure Set", new EventHandler(mi_Click));
|
||||||
if (DoSpecificInfo)
|
if (DoSpecificInfo)
|
||||||
@@ -773,10 +740,10 @@ namespace Volian.Controls.Library
|
|||||||
//_MyLog.WarnFormat("Context Menu 1c - {0}", GC.GetTotalMemory(true));
|
//_MyLog.WarnFormat("Context Menu 1c - {0}", GC.GetTotalMemory(true));
|
||||||
DocVersionInfo dvi = tn.VEObject as DocVersionInfo;
|
DocVersionInfo dvi = tn.VEObject as DocVersionInfo;
|
||||||
if (ui.IsAdministrator() || ui.IsSetAdministrator(dvi))
|
if (ui.IsAdministrator() || ui.IsSetAdministrator(dvi))
|
||||||
{
|
{
|
||||||
cm.MenuItems.Add("Import Procedure", mi_Click);
|
cm.MenuItems.Add("Import Procedure", mi_Click);
|
||||||
}
|
}
|
||||||
if (ui.IsAdministrator() || ui.IsSetAdministrator(dvi) || ui.IsWriter(dvi))
|
if (ui.IsAdministrator() || ui.IsSetAdministrator(dvi) || ui.IsWriter(dvi))
|
||||||
{
|
{
|
||||||
OwnerInfoList.Reset();
|
OwnerInfoList.Reset();
|
||||||
oil = OwnerInfoList.GetByVersionID(dvi.VersionID);
|
oil = OwnerInfoList.GetByVersionID(dvi.VersionID);
|
||||||
@@ -874,10 +841,7 @@ namespace Volian.Controls.Library
|
|||||||
oi = OwnerInfo.GetByItemID(pri.ItemID, CheckOutType.Procedure);
|
oi = OwnerInfo.GetByItemID(pri.ItemID, CheckOutType.Procedure);
|
||||||
if (ui.IsAdministrator() || ui.IsSetAdministrator(pri.MyDocVersion))
|
if (ui.IsAdministrator() || ui.IsSetAdministrator(pri.MyDocVersion))
|
||||||
{
|
{
|
||||||
cm.MenuItems.Add("Export Procedure", mi_Click);
|
cm.MenuItems.Add("Export Procedure", mi_Click);
|
||||||
//C2025-024 Proms XML Output - if have any EP Format files, add dropdown menu for exporting EP formats
|
|
||||||
if (pri.ActiveFormat.PlantFormat.EPFormatFiles.Count > 0)
|
|
||||||
AddEPExport(cm.MenuItems, pri.MyDocVersion.MultiUnitCount, pri.MyDocVersion.UnitNames, pri.ActiveFormat.PlantFormat.EPFormatFiles);
|
|
||||||
}
|
}
|
||||||
if (ui.IsAdministrator() || ui.IsSetAdministrator(pri.MyDocVersion) || ui.IsWriter(pri.MyDocVersion))
|
if (ui.IsAdministrator() || ui.IsSetAdministrator(pri.MyDocVersion) || ui.IsWriter(pri.MyDocVersion))
|
||||||
{
|
{
|
||||||
@@ -902,6 +866,7 @@ namespace Volian.Controls.Library
|
|||||||
MenuItem miqp = new MenuItem("Quick Print");
|
MenuItem miqp = new MenuItem("Quick Print");
|
||||||
//MenuItem mips = new MenuItem("Print Section");
|
//MenuItem mips = new MenuItem("Print Section");
|
||||||
MenuItem mia = new MenuItem("Approve");
|
MenuItem mia = new MenuItem("Approve");
|
||||||
|
|
||||||
int k = 0;
|
int k = 0;
|
||||||
foreach (string s in pri.MyDocVersion.UnitNames)
|
foreach (string s in pri.MyDocVersion.UnitNames)
|
||||||
{
|
{
|
||||||
@@ -1168,29 +1133,29 @@ namespace Volian.Controls.Library
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
// Add delete to the menu unless at the very 'top' node, on a grouping (partinfo)
|
||||||
|
// node (RNOs, Steps, Cautions, Notes) or Folder/DocVersion that contains any items.
|
||||||
|
PartInfo pi = tn.VEObject as PartInfo;
|
||||||
|
if (pi == null && tn.Parent != null) // it's not a part and it's not the top....
|
||||||
{
|
{
|
||||||
// Add delete to the menu unless at the very 'top' node, on a grouping (partinfo)
|
fi = tn.VEObject as FolderInfo;
|
||||||
// node (RNOs, Steps, Cautions, Notes) or Folder/DocVersion that contains any items.
|
if (fi == null || tn.Nodes.Count == 0) // it's not a folder or it has no children
|
||||||
PartInfo pi = tn.VEObject as PartInfo;
|
|
||||||
if (pi == null && tn.Parent != null) // it's not a part and it's not the top....
|
|
||||||
{
|
{
|
||||||
fi = tn.VEObject as FolderInfo;
|
DocVersionInfo di = tn.VEObject as DocVersionInfo;
|
||||||
if (fi == null || tn.Nodes.Count == 0) // it's not a folder or it has no children
|
if (di == null || tn.Nodes.Count == 0) // it's not a docversion or it has no children
|
||||||
{
|
{
|
||||||
DocVersionInfo di = tn.VEObject as DocVersionInfo;
|
// if it's an enhanced step that was linked from a source, don't allow delete
|
||||||
if (di == null || tn.Nodes.Count == 0) // it's not a docversion or it has no children
|
bool canDoDel = true;
|
||||||
{
|
ItemInfo iienh = tn.VEObject as ItemInfo;
|
||||||
// if it's an enhanced step that was linked from a source, don't allow delete
|
if (iienh != null && iienh.IsProcedure && iienh.IsEnhancedProcedure) canDoDel = false;
|
||||||
bool canDoDel = true;
|
if (iienh != null && iienh.IsSection && iienh.IsEnhancedSection && !iienh.IsEnhancedSectionTitleOnly) canDoDel = false;
|
||||||
ItemInfo iienh = tn.VEObject as ItemInfo;
|
if (iienh != null && iienh.IsEnhancedStep) canDoDel = false;
|
||||||
if (iienh != null && iienh.IsProcedure && iienh.IsEnhancedProcedure) canDoDel = false;
|
if (canDoDel) cm.MenuItems.Add("Delete", new EventHandler(mi_Click));
|
||||||
if (iienh != null && iienh.IsSection && iienh.IsEnhancedSection && !iienh.IsEnhancedSectionTitleOnly) canDoDel = false;
|
|
||||||
if (iienh != null && iienh.IsEnhancedStep) canDoDel = false;
|
|
||||||
if (canDoDel) cm.MenuItems.Add("Delete", new EventHandler(mi_Click));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
//_MyLog.WarnFormat("Context Menu 6 - {0}", GC.GetTotalMemory(true));
|
//_MyLog.WarnFormat("Context Menu 6 - {0}", GC.GetTotalMemory(true));
|
||||||
@@ -1390,44 +1355,7 @@ namespace Volian.Controls.Library
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//C2025-024 Electronic Procedures - Phase 2 (PROMS XML output)
|
private void AddApprovedRevisionsMultiUnit(Menu.MenuItemCollection menuItemCollection, ProcedureInfo pri)
|
||||||
// Add context menu for exporting Electronic Procedures
|
|
||||||
// if has an Electronic procedure
|
|
||||||
// then loop through and add an Export for each EP Viewer
|
|
||||||
private void AddEPExport(Menu.MenuItemCollection menuItems, int MultiUnitCount, string[] UnitNames, EPFormatFiles EPFiles)
|
|
||||||
{
|
|
||||||
//add outer menu
|
|
||||||
MenuItem mi = menuItems.Add("Electronic Procedure Viewer Export");
|
|
||||||
foreach (EPFormatFile epAnnType in EPFiles)
|
|
||||||
{
|
|
||||||
|
|
||||||
//Add item for each individual EP Viewer
|
|
||||||
MenuItem mv = mi.MenuItems.Add(epAnnType.AnnotationName());
|
|
||||||
|
|
||||||
//tag will be of format:
|
|
||||||
//{EP Annotation Type ID},{Unit}
|
|
||||||
//if not multi-unit, unit will be zero.
|
|
||||||
if (MultiUnitCount > 1)
|
|
||||||
{
|
|
||||||
//if multi-unit, add menu item for each unit
|
|
||||||
int k = 0;
|
|
||||||
foreach (string s in UnitNames)
|
|
||||||
{
|
|
||||||
k++;
|
|
||||||
MenuItem multiunit_mv = mv.MenuItems.Add(s);
|
|
||||||
multiunit_mv.Tag = $"{epAnnType.AnnotationTypeID},{k}";
|
|
||||||
multiunit_mv.Click += new EventHandler(miEP_Click);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
mv.Tag = $"{epAnnType.AnnotationTypeID},0";
|
|
||||||
mv.Click += new EventHandler(miEP_Click);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void AddApprovedRevisionsMultiUnit(Menu.MenuItemCollection menuItemCollection, ProcedureInfo pri)
|
|
||||||
{
|
{
|
||||||
_currentPri = pri;
|
_currentPri = pri;
|
||||||
RevisionInfoList ril = RevisionInfoList.GetByItemID(pri.ItemID);
|
RevisionInfoList ril = RevisionInfoList.GetByItemID(pri.ItemID);
|
||||||
@@ -1478,11 +1406,11 @@ namespace Volian.Controls.Library
|
|||||||
ril = null;
|
ril = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void AddNewNode(IVEDrillDownReadOnly o)
|
public void AddNewNode(IVEDrillDownReadOnly o)
|
||||||
{
|
{
|
||||||
VETreeNode tn = new VETreeNode(o);
|
VETreeNode tn = new VETreeNode(o);
|
||||||
SelectedNode.Nodes.Add(tn);
|
SelectedNode.Nodes.Add(tn);
|
||||||
}
|
}
|
||||||
private void AddApprovedRevisions(Menu.MenuItemCollection menuItemCollection, ProcedureInfo pri)
|
private void AddApprovedRevisions(Menu.MenuItemCollection menuItemCollection, ProcedureInfo pri)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@@ -1491,7 +1419,7 @@ namespace Volian.Controls.Library
|
|||||||
_currentPri = pri;
|
_currentPri = pri;
|
||||||
using (RevisionInfoList ril = RevisionInfoList.GetByItemID(pri.ItemID))
|
using (RevisionInfoList ril = RevisionInfoList.GetByItemID(pri.ItemID))
|
||||||
{
|
{
|
||||||
//_MyLog.WarnFormat("Context Menu 1 After GET - {0}", GC.GetTotalMemory(true));
|
//_MyLog.WarnFormat("Context Menu 1 After GET - {0}", GC.GetTotalMemory(true));
|
||||||
if (ril.Count == 0) return; // no versions to list
|
if (ril.Count == 0) return; // no versions to list
|
||||||
MenuItem mi = menuItemCollection.Add("Versions");
|
MenuItem mi = menuItemCollection.Add("Versions");
|
||||||
int lastApprovedRevisionID = 0;
|
int lastApprovedRevisionID = 0;
|
||||||
@@ -1625,7 +1553,7 @@ namespace Volian.Controls.Library
|
|||||||
}
|
}
|
||||||
vlnTreeViewPdfArgs args = new vlnTreeViewPdfArgs(Volian.Base.Library.TmpFile.CreateFileName(ProcedureInfo.Get(ri.ItemID).PDFNumber), ri.LatestVersion.PDF, superceded ? "Superceded" : "");
|
vlnTreeViewPdfArgs args = new vlnTreeViewPdfArgs(Volian.Base.Library.TmpFile.CreateFileName(ProcedureInfo.Get(ri.ItemID).PDFNumber), ri.LatestVersion.PDF, superceded ? "Superceded" : "");
|
||||||
OnViewPDF(sender, args);
|
OnViewPDF(sender, args);
|
||||||
// System.Diagnostics.Process pp = System.Diagnostics.Process.Start(GetDocPdf(ri, superceded));
|
// System.Diagnostics.Process pp = System.Diagnostics.Process.Start(GetDocPdf(ri, superceded));
|
||||||
}
|
}
|
||||||
void MultiUnitApprovedRevision_Click(object sender, EventArgs e)
|
void MultiUnitApprovedRevision_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
@@ -1769,7 +1697,7 @@ namespace Volian.Controls.Library
|
|||||||
if (iiClipboard.IsRtfRaw) canPaste = false; // never paste an equation.
|
if (iiClipboard.IsRtfRaw) canPaste = false; // never paste an equation.
|
||||||
if (canPaste) cm.MenuItems.Add("Paste Procedure", new EventHandler(mi_Click));
|
if (canPaste) cm.MenuItems.Add("Paste Procedure", new EventHandler(mi_Click));
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -2068,7 +1996,7 @@ namespace Volian.Controls.Library
|
|||||||
{
|
{
|
||||||
ItemInfo lprc = ItemInfo.Get(ed.ItemID);
|
ItemInfo lprc = ItemInfo.Get(ed.ItemID);
|
||||||
bool hasValidConnectingProc = CheckForValidEnhLink(lprc);
|
bool hasValidConnectingProc = CheckForValidEnhLink(lprc);
|
||||||
// if there is a valid connection, unlink both. Otherwise, just unlink this selected procedure.
|
// if there is a valid connection, unlink both. Otherwise, just unlink this selected procedure.
|
||||||
if (hasValidConnectingProc)
|
if (hasValidConnectingProc)
|
||||||
lprc.DoUnlinkEnhanced(lprc, ed.Type, !hasValidConnectingProc);
|
lprc.DoUnlinkEnhanced(lprc, ed.Type, !hasValidConnectingProc);
|
||||||
else
|
else
|
||||||
@@ -2092,11 +2020,11 @@ namespace Volian.Controls.Library
|
|||||||
OnNodeSI(this, new vlnTreeEventArgs(tn, null, 0));
|
OnNodeSI(this, new vlnTreeEventArgs(tn, null, 0));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (mi.Text.StartsWith("Collapse"))
|
if (mi.Text.StartsWith("Collapse"))
|
||||||
{
|
{
|
||||||
CollapseProcedures();
|
CollapseProcedures();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (mi.Text == "Print Transition Report")
|
if (mi.Text == "Print Transition Report")
|
||||||
{
|
{
|
||||||
OnPrintTransitionReport(this, new vlnTreeEventArgs(SelectedNode as VETreeNode));
|
OnPrintTransitionReport(this, new vlnTreeEventArgs(SelectedNode as VETreeNode));
|
||||||
@@ -2112,17 +2040,17 @@ namespace Volian.Controls.Library
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (mi.Text == "Export Procedure Set" || mi.Text == "Export Procedure")
|
if (mi.Text == "Export Procedure Set" || mi.Text == "Export Procedure")
|
||||||
{
|
{
|
||||||
OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
|
OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (mi.Text == "Import Procedure Set" || mi.Text == "Import Procedure")
|
if (mi.Text == "Import Procedure Set" || mi.Text == "Import Procedure")
|
||||||
{
|
{
|
||||||
OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 1));
|
OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 1));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (mi.Text.StartsWith("Procedure Checked Out to") || mi.Text.StartsWith("Document Checked Out to"))
|
if (mi.Text.StartsWith("Procedure Checked Out to") || mi.Text.StartsWith("Document Checked Out to"))
|
||||||
{
|
{
|
||||||
OnProcedureCheckedOutTo(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
|
OnProcedureCheckedOutTo(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
|
||||||
return;
|
return;
|
||||||
@@ -2192,7 +2120,7 @@ namespace Volian.Controls.Library
|
|||||||
tv_NodeCopy();
|
tv_NodeCopy();
|
||||||
break;
|
break;
|
||||||
// lots of paste options:
|
// lots of paste options:
|
||||||
case "Paste Procedure":
|
case "Paste Procedure":
|
||||||
case "Paste Procedure Before":
|
case "Paste Procedure Before":
|
||||||
case "Paste Procedure After":
|
case "Paste Procedure After":
|
||||||
case "Paste Section":
|
case "Paste Section":
|
||||||
@@ -2294,12 +2222,12 @@ namespace Volian.Controls.Library
|
|||||||
case "Create Continuous Action Summary":
|
case "Create Continuous Action Summary":
|
||||||
OnCreateContinuousActionSummary(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
|
OnCreateContinuousActionSummary(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
|
||||||
break;
|
break;
|
||||||
// F2022-024 Time Critical Action Summary
|
// F2022-024 Time Critical Action Summary
|
||||||
case "Create Time Critical Action Summary":
|
case "Create Time Critical Action Summary":
|
||||||
OnCreateTimeCriticalActionSummary(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
|
OnCreateTimeCriticalActionSummary(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
|
||||||
break;
|
break;
|
||||||
// B2017-243 added the following two Cannot Paste items when dealing with enhanced documents
|
// B2017-243 added the following two Cannot Paste items when dealing with enhanced documents
|
||||||
// when then user selects these menu items a message box will appear giving more information as to why it cannot be pasted
|
// when then user selects these menu items a message box will appear giving more information as to why it cannot be pasted
|
||||||
case "CANNOT PASTE HERE. Click for more information...":
|
case "CANNOT PASTE HERE. Click for more information...":
|
||||||
FlexibleMessageBox.Show("You have copied a document that is linked to an Enhanced Document.\n\n" +
|
FlexibleMessageBox.Show("You have copied a document that is linked to an Enhanced Document.\n\n" +
|
||||||
"It can only be pasted before or after another document, within the set, that is linked to an Enhanced Document.", "Cannot Paste Here");
|
"It can only be pasted before or after another document, within the set, that is linked to an Enhanced Document.", "Cannot Paste Here");
|
||||||
@@ -2323,23 +2251,6 @@ namespace Volian.Controls.Library
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//C2025-024 Electronic Procedures - Phase 2 (PROMS XML output)
|
|
||||||
// Handles clicking of items in the context menu
|
|
||||||
// for exporting Electronic Procedures
|
|
||||||
// tag will be of format:
|
|
||||||
// {EP Annotation Type ID},{Unit}
|
|
||||||
// if not multi-unit, unit will be zero.
|
|
||||||
void miEP_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
MenuItem mi = sender as MenuItem;
|
|
||||||
int annTypeid = int.Parse(((string)mi.Tag).Split(',')[0]);
|
|
||||||
int unit = int.Parse(((string)mi.Tag).Split(',')[1]);
|
|
||||||
if (unit == 0)
|
|
||||||
OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, annTypeid));
|
|
||||||
else
|
|
||||||
OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, "", unit, annTypeid));
|
|
||||||
}
|
|
||||||
private bool _doingCollapseNode = false; // B2016-058 when collapse is done, it always calls the drag node event which doesn't appear to be needed
|
private bool _doingCollapseNode = false; // B2016-058 when collapse is done, it always calls the drag node event which doesn't appear to be needed
|
||||||
private void CollapseProcedures()
|
private void CollapseProcedures()
|
||||||
{
|
{
|
||||||
@@ -2358,7 +2269,7 @@ namespace Volian.Controls.Library
|
|||||||
foreach (VETreeNode tnc in tn.Nodes)
|
foreach (VETreeNode tnc in tn.Nodes)
|
||||||
CollapseProcedures(tnc);
|
CollapseProcedures(tnc);
|
||||||
if (tn.VEObject as DocVersionInfo == null && tn.VEObject as FolderInfo == null)
|
if (tn.VEObject as DocVersionInfo == null && tn.VEObject as FolderInfo == null)
|
||||||
tn.Collapse();
|
tn.Collapse();
|
||||||
_doingCollapseNode = true; // B2016-058 this will prevent a Drag Node error when collapsing an RNOs, Cautions, or Notes tree node
|
_doingCollapseNode = true; // B2016-058 this will prevent a Drag Node error when collapsing an RNOs, Cautions, or Notes tree node
|
||||||
}
|
}
|
||||||
private void tv_RemoveChgIds()
|
private void tv_RemoveChgIds()
|
||||||
@@ -2418,7 +2329,7 @@ namespace Volian.Controls.Library
|
|||||||
using (DocVersion dv = DocVersion.Get(MyDVI.VersionID))
|
using (DocVersion dv = DocVersion.Get(MyDVI.VersionID))
|
||||||
{
|
{
|
||||||
swROUpdate = new System.IO.StreamWriter(ROFstInfo.ROUpdateResultsPath(MyDVI)); // RO changes placed in file in the Documents\VEPROMS folder
|
swROUpdate = new System.IO.StreamWriter(ROFstInfo.ROUpdateResultsPath(MyDVI)); // RO changes placed in file in the Documents\VEPROMS folder
|
||||||
// B2022-026 RO Memory Reduction code - first load the new ro.fst so that we can assign the ROTableUpdate event to the correct roFstInfo
|
// B2022-026 RO Memory Reduction code - first load the new ro.fst so that we can assign the ROTableUpdate event to the correct roFstInfo
|
||||||
if (dv.ROfstLoadingFigures || dv.NewerRoFst) // B2017-125 see if loading figures was completed
|
if (dv.ROfstLoadingFigures || dv.NewerRoFst) // B2017-125 see if loading figures was completed
|
||||||
{
|
{
|
||||||
// only load the RO.fst
|
// only load the RO.fst
|
||||||
@@ -2669,7 +2580,7 @@ namespace Volian.Controls.Library
|
|||||||
|
|
||||||
|
|
||||||
//if (p.IndexOf("Replace") <= -1)
|
//if (p.IndexOf("Replace") <= -1)
|
||||||
this.Cursor = Cursors.Default;
|
this.Cursor = Cursors.Default;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void PasteAsDocVersionChild(VETreeNode tn, int copyStartID)
|
public void PasteAsDocVersionChild(VETreeNode tn, int copyStartID)
|
||||||
@@ -2801,7 +2712,7 @@ namespace Volian.Controls.Library
|
|||||||
SelectedNode.Nodes.Add(tn1); // add tree node to end of list.
|
SelectedNode.Nodes.Add(tn1); // add tree node to end of list.
|
||||||
SelectedNode = tn1;
|
SelectedNode = tn1;
|
||||||
}
|
}
|
||||||
private void tv_NodeCopy()
|
private void tv_NodeCopy()
|
||||||
{
|
{
|
||||||
if (SelectedNode == null) return;
|
if (SelectedNode == null) return;
|
||||||
VETreeNode tn = SelectedNode as VETreeNode;
|
VETreeNode tn = SelectedNode as VETreeNode;
|
||||||
@@ -2839,7 +2750,7 @@ namespace Volian.Controls.Library
|
|||||||
{
|
{
|
||||||
using (Folder folder = folderInfo.Get())
|
using (Folder folder = folderInfo.Get())
|
||||||
{
|
{
|
||||||
OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(string.Format("{0} Properties", folder.FolderConfig.Name), folder.FolderConfig));
|
OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(string.Format("{0} Properties", folder.FolderConfig.Name), folder.FolderConfig));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void OpenProperties(DocVersionInfo dvInfo)
|
private void OpenProperties(DocVersionInfo dvInfo)
|
||||||
@@ -2853,7 +2764,7 @@ namespace Volian.Controls.Library
|
|||||||
{
|
{
|
||||||
using (Procedure proc = procInfo.Get())
|
using (Procedure proc = procInfo.Get())
|
||||||
{
|
{
|
||||||
OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(string.Format("{0} {1} Properties", proc.ProcedureConfig.Number, proc.ProcedureConfig.Title), proc.ProcedureConfig));
|
OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(string.Format("{0} {1} Properties", proc.ProcedureConfig.Number, proc.ProcedureConfig.Title), proc.ProcedureConfig));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void OpenProperties(SectionInfo sectInfo)
|
private void OpenProperties(SectionInfo sectInfo)
|
||||||
@@ -2866,7 +2777,7 @@ namespace Volian.Controls.Library
|
|||||||
title = string.Format("{0} {1} Properties", sectInfo.SectionConfig.Number, sectInfo.SectionConfig.Title);
|
title = string.Format("{0} {1} Properties", sectInfo.SectionConfig.Number, sectInfo.SectionConfig.Title);
|
||||||
else
|
else
|
||||||
title = string.Format("{0} Properties", sectInfo.SectionConfig.Title);
|
title = string.Format("{0} Properties", sectInfo.SectionConfig.Title);
|
||||||
OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(title, sect.SectionConfig));
|
OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(title, sect.SectionConfig));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void OpenProperties(StepInfo stpinfo)
|
private void OpenProperties(StepInfo stpinfo)
|
||||||
@@ -3004,7 +2915,7 @@ namespace Volian.Controls.Library
|
|||||||
procedure.Save();
|
procedure.Save();
|
||||||
tn = new VETreeNode(_LastProcedureInfo);
|
tn = new VETreeNode(_LastProcedureInfo);
|
||||||
SelectedNode.Nodes.Add(tn); // add tree node to end of list.
|
SelectedNode.Nodes.Add(tn); // add tree node to end of list.
|
||||||
// The following line will allow for a refresh of the procedure list on the Working Draft's treenodes docversion (B2016-034)
|
// The following line will allow for a refresh of the procedure list on the Working Draft's treenodes docversion (B2016-034)
|
||||||
if (((SelectedNode as VETreeNode).VEObject as DocVersionInfo) != null) ((SelectedNode as VETreeNode).VEObject as DocVersionInfo).ResetProcedures();
|
if (((SelectedNode as VETreeNode).VEObject as DocVersionInfo) != null) ((SelectedNode as VETreeNode).VEObject as DocVersionInfo).ResetProcedures();
|
||||||
if (procedure.MyProcedureInfo.CreateEnhanced)
|
if (procedure.MyProcedureInfo.CreateEnhanced)
|
||||||
{
|
{
|
||||||
@@ -3056,11 +2967,11 @@ namespace Volian.Controls.Library
|
|||||||
string message = string.Empty;
|
string message = string.Empty;
|
||||||
if (_LastProcedureInfo != null)
|
if (_LastProcedureInfo != null)
|
||||||
if (!MySessionInfo.CanCheckOutItem(_LastProcedureInfo.ItemID, CheckOutType.Procedure, ref message))
|
if (!MySessionInfo.CanCheckOutItem(_LastProcedureInfo.ItemID, CheckOutType.Procedure, ref message))
|
||||||
{
|
{
|
||||||
FlexibleMessageBox.Show(this, message, "Item Already Checked Out", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
FlexibleMessageBox.Show(this, message, "Item Already Checked Out", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||||
OnUnPauseRefresh(this, null);
|
OnUnPauseRefresh(this, null);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
int s1 = -1;
|
int s1 = -1;
|
||||||
if (!(_LastProcedureInfo == null) || !(_LastSectionInfo == null))
|
if (!(_LastProcedureInfo == null) || !(_LastSectionInfo == null))
|
||||||
{
|
{
|
||||||
@@ -3113,8 +3024,8 @@ namespace Volian.Controls.Library
|
|||||||
{
|
{
|
||||||
tn = new VETreeNode(_LastSectionInfo);
|
tn = new VETreeNode(_LastSectionInfo);
|
||||||
SelectedNode.Nodes.Add(tn); // add tree node to end of list.
|
SelectedNode.Nodes.Add(tn); // add tree node to end of list.
|
||||||
// if the new section was flagged as either having an enhanced link for Title or Contents, create the
|
// if the new section was flagged as either having an enhanced link for Title or Contents, create the
|
||||||
// Enhanced section:
|
// Enhanced section:
|
||||||
Section sectiontmp = Section.Get(section.ItemID); // need to do this because of 'caching' problem.
|
Section sectiontmp = Section.Get(section.ItemID); // need to do this because of 'caching' problem.
|
||||||
if (sectiontmp.SectionConfig.LinkEnhanced == "T" || sectiontmp.SectionConfig.LinkEnhanced == "Y")
|
if (sectiontmp.SectionConfig.LinkEnhanced == "T" || sectiontmp.SectionConfig.LinkEnhanced == "Y")
|
||||||
CreateEnhancedForSection(newtype, sectiontmp, savLastSectionInfo, sectiontmp.DisplayNumber, sectiontmp.MyContent.Text);
|
CreateEnhancedForSection(newtype, sectiontmp, savLastSectionInfo, sectiontmp.DisplayNumber, sectiontmp.MyContent.Text);
|
||||||
@@ -3142,7 +3053,7 @@ namespace Volian.Controls.Library
|
|||||||
if (s1 != -1)
|
if (s1 != -1)
|
||||||
{
|
{
|
||||||
DeleteItemInfoAndChildren(_LastSectionInfo);// Delete Item and reset Previous and Next
|
DeleteItemInfoAndChildren(_LastSectionInfo);// Delete Item and reset Previous and Next
|
||||||
// B2020-087 refresh the tree node after canceling the creation of the subsection
|
// B2020-087 refresh the tree node after canceling the creation of the subsection
|
||||||
_LastTreeNode.ChildrenLoaded = false;
|
_LastTreeNode.ChildrenLoaded = false;
|
||||||
_LastTreeNode.RefreshNode();
|
_LastTreeNode.RefreshNode();
|
||||||
_LastTreeNode.Collapse();
|
_LastTreeNode.Collapse();
|
||||||
@@ -3189,7 +3100,7 @@ namespace Volian.Controls.Library
|
|||||||
if (s2 != -1)
|
if (s2 != -1)
|
||||||
{
|
{
|
||||||
DeleteItemInfoAndChildren(_LastSectionInfo);// Delete Item and reset Previous and Next
|
DeleteItemInfoAndChildren(_LastSectionInfo);// Delete Item and reset Previous and Next
|
||||||
// B2020-087 refresh the tree node after canceling the creation of the subsection
|
// B2020-087 refresh the tree node after canceling the creation of the subsection
|
||||||
_LastTreeNode.ChildrenLoaded = false;
|
_LastTreeNode.ChildrenLoaded = false;
|
||||||
_LastTreeNode.RefreshNode();
|
_LastTreeNode.RefreshNode();
|
||||||
_LastTreeNode.Collapse();
|
_LastTreeNode.Collapse();
|
||||||
@@ -4131,7 +4042,7 @@ namespace Volian.Controls.Library
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("Line at {0} Node {1}[{2}] {3}", _location, _dropNode.Text, _index, _position.ToString());
|
//if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("Line at {0} Node {1}[{2}] {3}", _location, _dropNode.Text, _index, _position.ToString());
|
||||||
// Changed the color of the drag indicator to always be red
|
// Changed the color of the drag indicator to always be red
|
||||||
Color lc = (_position == DropPosition.After ? Color.Red : Color.Red);
|
Color lc = (_position == DropPosition.After ? Color.Red : Color.Red);
|
||||||
Brush lb = (_position == DropPosition.After ? Brushes.Red : Brushes.Red);
|
Brush lb = (_position == DropPosition.After ? Brushes.Red : Brushes.Red);
|
||||||
@@ -4158,12 +4069,12 @@ namespace Volian.Controls.Library
|
|||||||
//if (e.Effect == DragDropEffects.None) return;
|
//if (e.Effect == DragDropEffects.None) return;
|
||||||
if (_dropNode != null)
|
if (_dropNode != null)
|
||||||
{
|
{
|
||||||
// if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("ShowLocation1 {0} {1}", e.Effect.ToString(), DateTime.Now.Millisecond);
|
// if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("ShowLocation1 {0} {1}", e.Effect.ToString(), DateTime.Now.Millisecond);
|
||||||
DragHelper.ImageList_DragShowNolock(false);
|
DragHelper.ImageList_DragShowNolock(false);
|
||||||
TreeView tv = _dropNode.TreeView;
|
TreeView tv = _dropNode.TreeView;
|
||||||
TreeNode tmp = tv.GetNodeAt(tv.PointToClient(new Point(e.X, e.Y)));
|
TreeNode tmp = tv.GetNodeAt(tv.PointToClient(new Point(e.X, e.Y)));
|
||||||
// if (!ScrollOnly)
|
// if (!ScrollOnly)
|
||||||
// {
|
// {
|
||||||
if (ScrollTreeView(tmp) || !ScrollOnly)
|
if (ScrollTreeView(tmp) || !ScrollOnly)
|
||||||
{
|
{
|
||||||
//if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("ShowLocation2 {0} {1}", e.Effect.ToString(), DateTime.Now.Millisecond);
|
//if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("ShowLocation2 {0} {1}", e.Effect.ToString(), DateTime.Now.Millisecond);
|
||||||
@@ -4176,8 +4087,8 @@ namespace Volian.Controls.Library
|
|||||||
if (_position != DropPosition.Child) InsertPointer(tmp, g);
|
if (_position != DropPosition.Child) InsertPointer(tmp, g);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// }
|
// }
|
||||||
// else ScrollTreeView(tmp);
|
// else ScrollTreeView(tmp);
|
||||||
DragHelper.ImageList_DragShowNolock(true);
|
DragHelper.ImageList_DragShowNolock(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4200,10 +4111,10 @@ namespace Volian.Controls.Library
|
|||||||
tn.NextVisibleNode.EnsureVisible();// Make sure that the next node is visible
|
tn.NextVisibleNode.EnsureVisible();// Make sure that the next node is visible
|
||||||
else
|
else
|
||||||
if (tn.PrevVisibleNode != null && tn.PrevVisibleNode.PrevVisibleNode != null && tn.PrevVisibleNode.PrevVisibleNode.IsVisible == false)
|
if (tn.PrevVisibleNode != null && tn.PrevVisibleNode.PrevVisibleNode != null && tn.PrevVisibleNode.PrevVisibleNode.IsVisible == false)
|
||||||
tn.PrevVisibleNode.PrevVisibleNode.EnsureVisible();// Make sure that the previous node is visible }
|
tn.PrevVisibleNode.PrevVisibleNode.EnsureVisible();// Make sure that the previous node is visible }
|
||||||
else
|
else
|
||||||
if (tn.PrevVisibleNode != null && tn.PrevVisibleNode.IsVisible == false)
|
if (tn.PrevVisibleNode != null && tn.PrevVisibleNode.IsVisible == false)
|
||||||
tn.PrevVisibleNode.EnsureVisible();// Make sure that the previous node is visible
|
tn.PrevVisibleNode.EnsureVisible();// Make sure that the previous node is visible
|
||||||
retval = (top != tn.Bounds.Top);
|
retval = (top != tn.Bounds.Top);
|
||||||
// if (retval) if(_MyLog.IsInfoEnabled)_MyLog.Info("Scroll");
|
// if (retval) if(_MyLog.IsInfoEnabled)_MyLog.Info("Scroll");
|
||||||
}
|
}
|
||||||
@@ -4432,28 +4343,28 @@ namespace Volian.Controls.Library
|
|||||||
if (_MyLog.IsErrorEnabled) _MyLog.Error("tv_DragDrop", ex);
|
if (_MyLog.IsErrorEnabled) _MyLog.Error("tv_DragDrop", ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// private void DumpMembers(object o)
|
// private void DumpMembers(object o)
|
||||||
// {
|
// {
|
||||||
// Type t = o.GetType();
|
// Type t = o.GetType();
|
||||||
// //if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("\r\n\r\nMembers for type {0}", t.ToString());
|
// //if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("\r\n\r\nMembers for type {0}", t.ToString());
|
||||||
// MemberInfo[] mis = t.GetMembers();
|
// MemberInfo[] mis = t.GetMembers();
|
||||||
// int i = 0;
|
// int i = 0;
|
||||||
// foreach (MemberInfo mi in mis)
|
// foreach (MemberInfo mi in mis)
|
||||||
// {
|
// {
|
||||||
// i++;
|
// i++;
|
||||||
// try
|
// try
|
||||||
// {
|
// {
|
||||||
// //if(mi.MemberType != MemberTypes.Method)
|
// //if(mi.MemberType != MemberTypes.Method)
|
||||||
// //if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("{0} {1} {2}", i, mi.Name, mi.MemberType);
|
// //if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("{0} {1} {2}", i, mi.Name, mi.MemberType);
|
||||||
//// if (fi.Name == "TreeView")
|
//// if (fi.Name == "TreeView")
|
||||||
//// fi.SetValue(o, null);
|
//// fi.SetValue(o, null);
|
||||||
// }
|
// }
|
||||||
// catch (Exception ex)
|
// catch (Exception ex)
|
||||||
// {
|
// {
|
||||||
// if(_MyLog.IsErrorEnabled)_MyLog.Error("DumpMembers", ex);
|
// if(_MyLog.IsErrorEnabled)_MyLog.Error("DumpMembers", ex);
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
private TreeNode Clone(TreeNode tn)
|
private TreeNode Clone(TreeNode tn)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@@ -1688,7 +1688,7 @@ namespace Volian.Print.Library
|
|||||||
System.Windows.Forms.MessageBox.Show(msg.ToString(), "Error during PDF creation for search:", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Exclamation);
|
System.Windows.Forms.MessageBox.Show(msg.ToString(), "Error during PDF creation for search:", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Exclamation);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string BuildStepTab(ItemInfo item)
|
private static string BuildStepTab(ItemInfo item)
|
||||||
{
|
{
|
||||||
if (item == null)
|
if (item == null)
|
||||||
return string.Empty;
|
return string.Empty;
|
||||||
|
Reference in New Issue
Block a user