Compare commits
73 Commits
C2025-021
...
C2025-047-
Author | SHA1 | Date | |
---|---|---|---|
d4719fe05e | |||
6bdc7d85c4 | |||
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 | |||
9ef9dcd7b9 | |||
5fd8096ef0 | |||
5f59543a14 | |||
d44593d6d4 | |||
38744ff8e8 | |||
83e935a3f4 | |||
4d96e73866 | |||
a55ce75e2e | |||
c45dbf1dac | |||
2d08629608 | |||
49bc67a64f | |||
abec4d9281 | |||
149bc601e2 | |||
66deede936 | |||
0df5511bf7 | |||
2e68218cfe | |||
80f3568dbd | |||
5fd0ff9e71 | |||
4dcfa05157 | |||
42648f31a5 | |||
e0b628dce9 | |||
8f31532917 | |||
5a7e63871d | |||
7ade7f6e24 | |||
e470ef0553 | |||
f49c888307 | |||
04a2da4371 | |||
31f608a9ec | |||
3e53ec9191 | |||
637cbd9954 | |||
e9e934cfb1 | |||
a417ddda85 | |||
f273a8839a | |||
62ae81c7b3 | |||
6db9567eb9 | |||
8ef08c53b3 | |||
9fdbdb05f4 | |||
d392131005 | |||
389b9e382b | |||
6fd84e2f2a |
@@ -28,7 +28,9 @@ namespace AT.STO.UI.Win
|
||||
|
||||
_dropDownHelper = new DropDownWindowHelper();
|
||||
|
||||
_dropDownHelper.DropDownClosed -= new DropDownClosedEventHandler(DropDownHelper_DropDownClosed);
|
||||
_dropDownHelper.DropDownClosed += new DropDownClosedEventHandler(DropDownHelper_DropDownClosed);
|
||||
_dropDownHelper.DropDownCancel -= new DropDownCancelEventHandler(DropDownHelper_DropDownCancel);
|
||||
_dropDownHelper.DropDownCancel += new DropDownCancelEventHandler(DropDownHelper_DropDownCancel);
|
||||
|
||||
combo.DisplayMember = "Text";
|
||||
@@ -82,7 +84,9 @@ namespace AT.STO.UI.Win
|
||||
DropDownForm dropDown = new DropDownForm(_dropDownControl);
|
||||
|
||||
|
||||
dropDown.FinishEditing -= new DropDownValueChangedEventHandler(DropDown_FinishEditing);
|
||||
dropDown.FinishEditing += new DropDownValueChangedEventHandler(DropDown_FinishEditing);
|
||||
dropDown.ValueChanged -= new DropDownValueChangedEventHandler(DropDown_ValueChanged);
|
||||
dropDown.ValueChanged += new DropDownValueChangedEventHandler(DropDown_ValueChanged);
|
||||
|
||||
combo.DroppedDown = false;
|
||||
|
@@ -49,7 +49,9 @@ namespace AT.STO.UI.Win
|
||||
{
|
||||
base.OnShown(e);
|
||||
|
||||
_control.FinishEditing -= new DropDownValueChangedEventHandler(Ctrl_FinishEditing);
|
||||
_control.FinishEditing += new DropDownValueChangedEventHandler(Ctrl_FinishEditing);
|
||||
_control.ValueChanged -= new DropDownValueChangedEventHandler(Ctrl_ValueChanged);
|
||||
_control.ValueChanged += new DropDownValueChangedEventHandler(Ctrl_ValueChanged);
|
||||
}
|
||||
#endregion
|
||||
|
@@ -39,6 +39,7 @@ namespace AT.STO.UI.Win
|
||||
public DropDownWindowHelper()
|
||||
{
|
||||
_filter = new DropDownMessageFilter(this);
|
||||
_filter.DropDownCancel -= new DropDownCancelEventHandler(Popup_Cancel);
|
||||
_filter.DropDownCancel += new DropDownCancelEventHandler(Popup_Cancel);
|
||||
}
|
||||
#endregion
|
||||
|
@@ -92,6 +92,10 @@
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="epall\EPFormatTST1.xml" />
|
||||
<Content Include="epall\EPFormatTST2.xml" />
|
||||
<Content Include="epall\EPFormatTST3.xml" />
|
||||
<Content Include="epall\EPFormatTST4.xml" />
|
||||
<Content Include="fmtall\AEPall.xml">
|
||||
<SubType>Designer</SubType>
|
||||
</Content>
|
||||
@@ -176,6 +180,7 @@
|
||||
<Content Include="fmtall\CPL_03all.xml" />
|
||||
<Content Include="fmtall\CPSAMGDataall.xml" />
|
||||
<Content Include="fmtall\CPSAMGDEVall.xml" />
|
||||
<Content Include="fmtall\EPTST1all.xml" />
|
||||
<Content Include="fmtall\CWEall.xml" />
|
||||
<Content Include="fmtall\CWEDEVall.xml" />
|
||||
<Content Include="fmtall\CWERall.xml" />
|
||||
@@ -187,6 +192,7 @@
|
||||
<Content Include="fmtall\EFSGBCKall.xml" />
|
||||
<Content Include="fmtall\ELFDEVall.xml" />
|
||||
<Content Include="fmtall\ENall.xml" />
|
||||
<Content Include="fmtall\EPTST2all.xml" />
|
||||
<Content Include="fmtall\ESFDEVall.xml" />
|
||||
<Content Include="fmtall\EXCLNall.xml" />
|
||||
<Content Include="fmtall\EXCLN_00all.xml" />
|
||||
|
BIN
PROMS/Formats/epall/EPFormatTST1.xml
Normal file
BIN
PROMS/Formats/epall/EPFormatTST1.xml
Normal file
Binary file not shown.
BIN
PROMS/Formats/epall/EPFormatTST2.xml
Normal file
BIN
PROMS/Formats/epall/EPFormatTST2.xml
Normal file
Binary file not shown.
BIN
PROMS/Formats/epall/EPFormatTST3.xml
Normal file
BIN
PROMS/Formats/epall/EPFormatTST3.xml
Normal file
Binary file not shown.
BIN
PROMS/Formats/epall/EPFormatTST4.xml
Normal file
BIN
PROMS/Formats/epall/EPFormatTST4.xml
Normal file
Binary file not shown.
BIN
PROMS/Formats/fmtall/EPTST1all.xml
Normal file
BIN
PROMS/Formats/fmtall/EPTST1all.xml
Normal file
Binary file not shown.
BIN
PROMS/Formats/fmtall/EPTST2all.xml
Normal file
BIN
PROMS/Formats/fmtall/EPTST2all.xml
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
206
PROMS/VEPROMS User Interface/DlgAnnotationsSelect.cs
Normal file
206
PROMS/VEPROMS User Interface/DlgAnnotationsSelect.cs
Normal file
@@ -0,0 +1,206 @@
|
||||
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();
|
||||
_MyTimer = new Timer();
|
||||
_MyTimer.Tick -= new EventHandler(_MyTimer_Tick);
|
||||
_MyTimer.Tick += new EventHandler(_MyTimer_Tick);
|
||||
_MyTimer.Interval = 100;
|
||||
_MyTimer.Enabled = true;
|
||||
|
@@ -1,5 +1,3 @@
|
||||
|
||||
|
||||
Set NoCount On;
|
||||
|
||||
If (db_name() in('master','model','msdn','tempdb'))
|
||||
@@ -23864,6 +23862,438 @@ IF (@@Error = 0) PRINT 'Running vesp_UpdateUserSettingMSWordSummaryPrompt Succee
|
||||
ELSE PRINT 'Running vesp_UpdateUserSettingMSWordSummaryPrompt Failed to Execute'
|
||||
GO
|
||||
|
||||
--- begin changes for:
|
||||
---C2025-023 - Electronic Procedures - Modifications to PROMS
|
||||
--- The following IsEPAnnotationType column was added for EP Annotations.
|
||||
--- IsEPAnnotationType = Is for EPs
|
||||
IF NOT EXISTS(SELECT *
|
||||
FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE TABLE_NAME = 'AnnotationTypes'
|
||||
AND COLUMN_NAME = 'IsEPAnnotationType')
|
||||
ALTER TABLE AnnotationTypes ADD IsEPAnnotationType bit NOT NULL DEFAULT(0);
|
||||
go
|
||||
-- Display the status
|
||||
IF (@@Error = 0) PRINT 'Altered table [AnnotationTypes] Succeeded for IsEPAnnotationType'
|
||||
ELSE PRINT 'Altered table [AnnotationTypes] Error on Alter for IsEPAnnotationType'
|
||||
go
|
||||
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getAnnotationType]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
|
||||
DROP PROCEDURE [getAnnotationType];
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
-- =============================================
|
||||
-- Author: Matthew Schill
|
||||
-- Create date: 3/21/2025
|
||||
-- Description: Add EP to AnnotationTypes
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[getAnnotationType]
|
||||
(
|
||||
@TypeID int
|
||||
)
|
||||
WITH EXECUTE AS OWNER
|
||||
AS
|
||||
SELECT
|
||||
[TypeID],
|
||||
[Name],
|
||||
[Config],
|
||||
[DTS],
|
||||
[UserID],
|
||||
[LastChanged],
|
||||
(SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[TypeID]=[AnnotationTypes].[TypeID]) [AnnotationCount],
|
||||
[IsEPAnnotationType]
|
||||
FROM [AnnotationTypes]
|
||||
WHERE [TypeID]=@TypeID
|
||||
|
||||
SELECT
|
||||
[Annotations].[AnnotationID],
|
||||
[Annotations].[ItemID],
|
||||
[Annotations].[TypeID],
|
||||
[Annotations].[RtfText],
|
||||
[Annotations].[SearchText],
|
||||
[Annotations].[Config],
|
||||
[Annotations].[DTS],
|
||||
[Annotations].[UserID],
|
||||
[Annotations].[LastChanged],
|
||||
[Items].[PreviousID] [Item_PreviousID],
|
||||
[Items].[ContentID] [Item_ContentID],
|
||||
[Items].[DTS] [Item_DTS],
|
||||
[Items].[UserID] [Item_UserID]
|
||||
FROM [Annotations]
|
||||
JOIN [Items] ON
|
||||
[Items].[ItemID]=[Annotations].[ItemID]
|
||||
WHERE
|
||||
[Annotations].[TypeID]=@TypeID
|
||||
|
||||
RETURN
|
||||
GO
|
||||
|
||||
IF (@@Error = 0) PRINT 'Running getAnnotationType Succeeded'
|
||||
ELSE PRINT 'Running getAnnotationType Failed to Execute'
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getAnnotationTypeByName]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
|
||||
DROP PROCEDURE [getAnnotationTypeByName];
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
-- =============================================
|
||||
-- Author: Matthew Schill
|
||||
-- Create date: 3/21/2025
|
||||
-- Description: Add EP to AnnotationTypes
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[getAnnotationTypeByName]
|
||||
(
|
||||
@Name nvarchar(100)
|
||||
)
|
||||
WITH EXECUTE AS OWNER
|
||||
AS
|
||||
SELECT
|
||||
[TypeID],
|
||||
[Name],
|
||||
[Config],
|
||||
[DTS],
|
||||
[UserID],
|
||||
[LastChanged],
|
||||
(SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[TypeID]=[AnnotationTypes].[TypeID]) [AnnotationCount],
|
||||
[IsEPAnnotationType]
|
||||
FROM [AnnotationTypes]
|
||||
WHERE [Name]=@Name
|
||||
RETURN
|
||||
GO
|
||||
|
||||
IF (@@Error = 0) PRINT 'Running getAnnotationTypeByName Succeeded'
|
||||
ELSE PRINT 'Running getAnnotationTypeByName Failed to Execute'
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getAnnotationTypes]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
|
||||
DROP PROCEDURE [getAnnotationTypes];
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
-- =============================================
|
||||
-- Author: Matthew Schill
|
||||
-- Create date: 3/21/2025
|
||||
-- Description: Add EP to AnnotationTypes
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[getAnnotationTypes]
|
||||
WITH EXECUTE AS OWNER
|
||||
AS
|
||||
SELECT
|
||||
[TypeID],
|
||||
[Name],
|
||||
[Config],
|
||||
[DTS],
|
||||
[UserID],
|
||||
[LastChanged],
|
||||
(SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[TypeID]=[AnnotationTypes].[TypeID]) [AnnotationCount],
|
||||
[IsEPAnnotationType]
|
||||
FROM [AnnotationTypes]
|
||||
RETURN
|
||||
|
||||
GO
|
||||
|
||||
IF (@@Error = 0) PRINT 'Running getAnnotationTypes Succeeded'
|
||||
ELSE PRINT 'Running getAnnotationTypes Failed to Execute'
|
||||
GO
|
||||
|
||||
IF Not Exists(SELECT * FROM sys.objects Where name = 'EPFormats' AND type in (N'U'))
|
||||
Begin -- Rofst Tables
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
|
||||
CREATE TABLE [dbo].[EPFormats](
|
||||
[FormatID] [int] IDENTITY(1,1) NOT NULL,
|
||||
[Name] [nvarchar](100) NOT NULL,
|
||||
[Data] [xml] NULL,
|
||||
[Created] [datetime] NOT NULL DEFAULT (getdate()),
|
||||
[CreatedBy] [nvarchar](100) NOT NULL DEFAULT (upper(suser_sname())),
|
||||
[Updated] [datetime] NOT NULL DEFAULT (getdate()),
|
||||
[UpdatedBy] [nvarchar](100) NOT NULL DEFAULT (upper(suser_sname()))
|
||||
CONSTRAINT [PK_EPFormats] PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[FormatID] ASC
|
||||
)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]
|
||||
|
||||
IF (@@Error = 0) PRINT 'Table Creation: [EPFormats] Succeeded'
|
||||
ELSE PRINT 'Table Creation: [EPFormats] Error on Creation'
|
||||
|
||||
End
|
||||
Go
|
||||
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vesp_UpdateEPFormat]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
|
||||
DROP PROCEDURE [vesp_UpdateEPFormat];
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
-- =============================================
|
||||
-- Author: Matthew Schill
|
||||
-- Create date: 3/26/2025
|
||||
-- Description: Update / Insert EP Format
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[vesp_UpdateEPFormat]
|
||||
(
|
||||
@name nvarchar(100),
|
||||
@data nvarchar(max),
|
||||
@userID nvarchar(15)
|
||||
)
|
||||
WITH EXECUTE AS OWNER
|
||||
AS
|
||||
|
||||
IF EXISTS(Select 1 FROM EPFormats where Name = @name )
|
||||
BEGIN
|
||||
UpDate EPFormats
|
||||
SET Name = @name,
|
||||
Data = @data,
|
||||
Updated = getdate(),
|
||||
UpdatedBy = upper(@userID)
|
||||
WHERE Name = @name
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO EPFormats (Name, Data, CreatedBy, UpdatedBy)
|
||||
values (@name, @data, 'Migration', 'Migration')
|
||||
|
||||
END
|
||||
|
||||
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'
|
||||
ELSE PRINT 'Running vesp_UpdateEPFormat Failed to Execute'
|
||||
GO
|
||||
UPDATE Formats SET ApplicablePlant = 1000 WHERE [Name] LIKE 'EPTST%';
|
||||
Go
|
||||
--- end changes for:
|
||||
---C2025-023 - Electronic Procedures - Modifications to PROMS
|
||||
|
||||
|
||||
/*
|
||||
---------------------------------------------------------------------------
|
||||
| ADD New Code Before this Block |
|
||||
@@ -23897,8 +24327,8 @@ BEGIN TRY -- Try Block
|
||||
DECLARE @RevDate varchar(255)
|
||||
DECLARE @RevDescription varchar(255)
|
||||
|
||||
set @RevDate = '5/19/2025 8:44 AM'
|
||||
set @RevDescription = 'C2025-013 Add ability to disable message that opening Summaries in MS Word'
|
||||
set @RevDate = '07/31/2025 10:30 AM'
|
||||
set @RevDescription = 'SQL Optimization'
|
||||
|
||||
Select cast(@RevDate as datetime) RevDate, @RevDescription RevDescription
|
||||
PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription
|
||||
|
@@ -152,6 +152,17 @@
|
||||
<DependentUpon>AboutVEPROMS.cs</DependentUpon>
|
||||
</Compile>
|
||||
<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">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -337,6 +348,10 @@
|
||||
<SubType>Designer</SubType>
|
||||
<DependentUpon>AboutVEPROMS.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="dlgAnnotationsSelect.resx">
|
||||
<DependentUpon>dlgAnnotationsSelect.cs</DependentUpon>
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="dlgMSWordMessage.resx">
|
||||
<DependentUpon>dlgMSWordMessage.cs</DependentUpon>
|
||||
</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
|
||||
_MyApproval = new ApprovalInfo(myFrmVEPROMS);// Save frmVEPROMS for Import to shutoff SessionPing
|
||||
ApplicabilityIndex = myDocVersion.DocVersionConfig.SelectedSlave;
|
||||
this.ConsistencyPrintRequest -= new DisplayConsistencyReportEvent(dlgApproveProcedure_ConsistencyPrintRequest);
|
||||
this.ConsistencyPrintRequest += new DisplayConsistencyReportEvent(dlgApproveProcedure_ConsistencyPrintRequest);
|
||||
_MyDocVersion = myDocVersion;
|
||||
_MyDocVersion.ResetProcedures(); // B2021-035: Pasted, modified number and deleted procedures not refreshed so missing from list
|
||||
InitializeComponent();
|
||||
FlexGridAddEvents();
|
||||
_MyApproval.StatusUpdated -= new ApprovalStatusChangeEvent(_MyApproval_StatusUpdated);
|
||||
_MyApproval.StatusUpdated += new ApprovalStatusChangeEvent(_MyApproval_StatusUpdated);
|
||||
SetupComboBoxes();
|
||||
foreach (ProcedureInfo pi in myDocVersion.Procedures)
|
||||
@@ -101,6 +103,7 @@ namespace VEPROMS
|
||||
//fgProcs.SetupEditor += new C1.Win.C1FlexGrid.RowColEventHandler(fgProcs_SetupEditor);
|
||||
//fgProcs.StartEdit += new C1.Win.C1FlexGrid.RowColEventHandler(fgProcs_StartEdit);
|
||||
//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.MouseDown += new MouseEventHandler(fgProcs_MouseDown);
|
||||
//fgProcs.MouseUp += new MouseEventHandler(fgProcs_MouseUp);
|
||||
@@ -275,6 +278,7 @@ namespace VEPROMS
|
||||
{
|
||||
MyFrmVEPROMS = 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);
|
||||
_MyDocVersion = myDocVersion;
|
||||
_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
|
||||
_MyApproval = new ApprovalInfo(myFrmVEPROMS);// Save frmVEPROMS for Import to shutoff SessionPing
|
||||
this.ConsistencyPrintRequest -= new DisplayConsistencyReportEvent(dlgApproveProcedure_ConsistencyPrintRequest);
|
||||
this.ConsistencyPrintRequest += new DisplayConsistencyReportEvent(dlgApproveProcedure_ConsistencyPrintRequest);
|
||||
_MyDocVersion = myProcedure.MyDocVersion;
|
||||
_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;
|
||||
string oldLabel = lblMore.Text;
|
||||
pbMore.Visible = true;
|
||||
ItemInfoList.ConsistencyCheckUpdated -= new ItemInfoListCCEvent(ItemInfoList_ConsistencyCheckUpdated);
|
||||
ItemInfoList.ConsistencyCheckUpdated += new ItemInfoListCCEvent(ItemInfoList_ConsistencyCheckUpdated);
|
||||
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)
|
||||
|
@@ -40,6 +40,7 @@ namespace VEPROMS
|
||||
rb.Parent = pnlGroups;
|
||||
rb.Dock = DockStyle.Top;
|
||||
rb.Tag = gi;
|
||||
rb.CheckedChanged -= new EventHandler(rb_CheckedChanged);
|
||||
rb.CheckedChanged += new EventHandler(rb_CheckedChanged);
|
||||
pnlGroups.Controls.Add(rb);
|
||||
rb.BringToFront();
|
||||
|
@@ -254,6 +254,7 @@ namespace VEPROMS
|
||||
if (CancelStop) btnCancel.Visible = true;
|
||||
Application.DoEvents();
|
||||
|
||||
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
|
||||
|
||||
|
2575
PROMS/VEPROMS User Interface/frmSysOptions.Designer.cs
generated
2575
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.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.Enabled = 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.Location = new System.Drawing.Point(5, 547);
|
||||
this.epAnnotations.Name = "epAnnotations";
|
||||
@@ -761,7 +761,7 @@ namespace VEPROMS
|
||||
this.ctrlAnnotationDetails.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.ctrlAnnotationDetails.Enabled = false;
|
||||
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.Name = "ctrlAnnotationDetails";
|
||||
this.ctrlAnnotationDetails.ProcItem = null;
|
||||
|
@@ -543,7 +543,6 @@ namespace VEPROMS
|
||||
tv.RefreshCheckedOutProcedures += new vlnTreeViewEvent(tv_RefreshCheckedOutProcedures);
|
||||
tv.ProcedureCheckedOutTo += new vlnTreeViewEvent(tv_ProcedureCheckedOutTo);
|
||||
tv.ViewPDF += new vlnTreeViewPdfEvent(tv_ViewPDF);
|
||||
|
||||
displayApplicability.ApplicabilityViewModeChanged += new DisplayApplicability.DisplayApplicabilityEvent(displayApplicability_ApplicabilityViewModeChanged);
|
||||
|
||||
tv.ExportImportProcedureSets += new vlnTreeViewEvent(tv_ExportImportProcedureSets);
|
||||
@@ -1296,7 +1295,11 @@ namespace VEPROMS
|
||||
|
||||
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)
|
||||
{
|
||||
DialogResult dr = System.Windows.Forms.DialogResult.Yes;
|
||||
@@ -3601,9 +3604,13 @@ namespace VEPROMS
|
||||
if (tn == null)
|
||||
return;
|
||||
_ExpandingTree = true;
|
||||
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.LoadingChildrenValue -= new VETreeNodeEvent(tn_LoadingChildrenValue);
|
||||
tn.LoadingChildrenValue += new VETreeNodeEvent(tn_LoadingChildrenValue);
|
||||
tn.LoadingChildrenSQL -= new VETreeNodeEvent(tn_LoadingChildrenSQL);
|
||||
tn.LoadingChildrenSQL += new VETreeNodeEvent(tn_LoadingChildrenSQL);
|
||||
tn.LoadChildren(true);
|
||||
}
|
||||
@@ -4324,7 +4331,11 @@ namespace VEPROMS
|
||||
_LastStepRTB.EditModeChanged -= new StepRTBEvent(_LastStepRTB_EditModeChanged);
|
||||
|
||||
_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 = " ";
|
||||
|
||||
if (args == null)
|
||||
@@ -4459,6 +4470,7 @@ namespace VEPROMS
|
||||
displayHistory.MyEditItem = args.MyEditItem;
|
||||
|
||||
lblEditView.Text = args.MyEditItem.MyStepPanel.VwMode == E_ViewMode.Edit ? "Edit" : "View";
|
||||
_CurrentItem.Deleted -= new ItemInfoEvent(_CurrentItem_Deleted);
|
||||
_CurrentItem.Deleted += new ItemInfoEvent(_CurrentItem_Deleted);
|
||||
dlgFindReplace.MyEditItem = args.MyEditItem;
|
||||
SpellChecker.MyEditItem = args.MyEditItem;
|
||||
|
45
PROMS/VEPROMS.CSLA.Library/Config/AnnotationConfig.cs
Normal file
45
PROMS/VEPROMS.CSLA.Library/Config/AnnotationConfig.cs
Normal file
@@ -0,0 +1,45 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace VEPROMS.CSLA.Library
|
||||
{
|
||||
//C2025-023 - Electronic Procedures - Modifications to PROMS
|
||||
//new class to handle access of tblAnnotations.Config
|
||||
[Serializable]
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public class AnnotationConfig : ConfigDynamicTypeDescriptor, INotifyPropertyChanged
|
||||
{
|
||||
private XMLProperties _Xp;
|
||||
private XMLProperties Xp
|
||||
{
|
||||
get { return _Xp; }
|
||||
}
|
||||
public AnnotationConfig(string xml)
|
||||
{
|
||||
if (xml == string.Empty) xml = "<Config/>";
|
||||
_Xp = new XMLProperties(xml);
|
||||
}
|
||||
|
||||
public AnnotationConfig()
|
||||
{
|
||||
_Xp = new XMLProperties();
|
||||
}
|
||||
public override string ToString()
|
||||
{
|
||||
string s = _Xp.ToString();
|
||||
if (s == "<Config/>" || s == "<Config></Config>") return string.Empty;
|
||||
return s;
|
||||
}
|
||||
public string GetValue(string group, string item)
|
||||
{
|
||||
return _Xp[group, item];
|
||||
}
|
||||
public void SetValue(string group, string item, string newvalue)
|
||||
{
|
||||
_Xp[group, item] = newvalue;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@@ -19,6 +19,7 @@ using System.Xml;
|
||||
using System.Drawing;
|
||||
using System.ComponentModel;
|
||||
using System.Collections.Generic;
|
||||
using Volian.Base.Library;
|
||||
|
||||
namespace VEPROMS.CSLA.Library
|
||||
{
|
||||
@@ -226,6 +227,34 @@ namespace VEPROMS.CSLA.Library
|
||||
//}
|
||||
}
|
||||
OnFormatLoaded(null, new FormatEventArgs("Formats Updated"));
|
||||
|
||||
//C2025-023 - Electronic Procedures - Modifications to PROMS
|
||||
//Begin section for processing Electronic Procedure (EP) Format Files
|
||||
// now loop through all EP format files
|
||||
string epPath = fmtPath.Replace("\\fmtall", "\\epall");
|
||||
DirectoryInfo diEP = new DirectoryInfo(epPath);
|
||||
if (diEP.Exists)
|
||||
{
|
||||
FileInfo[] fisEP = diEP.GetFiles("*.xml");
|
||||
OnFormatLoaded(null, new FormatEventArgs(fisEP.Length.ToString() + " EP Formats to Load"));
|
||||
foreach (FileInfo fi in fisEP)
|
||||
{
|
||||
string fmtname = Path.GetFileNameWithoutExtension(fi.Name);
|
||||
try
|
||||
{
|
||||
AddEPFormatToDB(fmtname, DateTime.Now, VlnSettings.UserID, epPath);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine("{0} - {1}", ex.GetType().Name, ex.Message);
|
||||
}
|
||||
}
|
||||
OnFormatLoaded(null, new FormatEventArgs("EP Formats Updated"));
|
||||
|
||||
// update all in-use annotation types that have Electronic Procedures
|
||||
EPFormatFile.UpdateAllInUseEPAnnotationTypes();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private static Dictionary<string, int> _LookupFormats;
|
||||
@@ -338,8 +367,54 @@ namespace VEPROMS.CSLA.Library
|
||||
}
|
||||
return rec;
|
||||
}
|
||||
|
||||
//C2025-023 - Electronic Procedures - Modifications to PROMS
|
||||
//Procedure to load the EP format fiels into the DB
|
||||
private static void AddEPFormatToDB(string formatname, DateTime Dts, string Userid, string epPath)
|
||||
{
|
||||
string fmtdata = null;
|
||||
FileInfo fmtfi = null;
|
||||
XmlDocument xd = null;
|
||||
|
||||
OnFormatLoaded(null, new FormatEventArgs("Loading Format " + formatname));
|
||||
|
||||
string path = Path.Combine(epPath, formatname + ".xml");
|
||||
if (File.Exists(path))
|
||||
{
|
||||
try
|
||||
{
|
||||
using (StreamReader srf = new StreamReader(path))
|
||||
{
|
||||
fmtfi = new FileInfo(path);
|
||||
xd = new XmlDocument();
|
||||
xd.XmlResolver = null;
|
||||
xd.Load(srf);
|
||||
fmtdata = xd.OuterXml;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
OnFormatLoaded(null, new FormatEventArgs("Error Loading Format " + formatname));
|
||||
_MyLog.ErrorFormat($"AddEPFormatToDB('{path}')");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(Userid)) Userid = "Migration";
|
||||
|
||||
try
|
||||
{
|
||||
EPFormatFile.UpdateEPFormat(formatname, fmtdata, Userid);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_MyLog.ErrorFormat($"AddFormatToDB-make format('{path}')");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
public partial class FormatInfo : IFormatOrFormatInfo
|
||||
|
||||
public partial class FormatInfo : IFormatOrFormatInfo
|
||||
{
|
||||
//transition report stuff
|
||||
private static Dictionary<int, string> _TransitionTypes;
|
||||
|
@@ -449,10 +449,9 @@ namespace VEPROMS.CSLA.Library
|
||||
{
|
||||
StringBuilder sret = new StringBuilder();
|
||||
ItemInfo pitem = this;
|
||||
|
||||
while (!pitem.IsSection && !pitem.IsHigh)
|
||||
{
|
||||
using (StepInfo stpinfo = StepInfo.Get(pitem.ItemID))
|
||||
using (StepInfo stpinfo = StepInfo.Get(pitem.ItemID))
|
||||
{
|
||||
string thisTab = stpinfo.MyTab.CleanText;
|
||||
|
||||
@@ -2112,6 +2111,56 @@ namespace VEPROMS.CSLA.Library
|
||||
return (sd.Type == type);
|
||||
}
|
||||
|
||||
// C2025-023 - Electronic Procedures - Modifications to PROMS
|
||||
//return EPFields that match this step type or a parent step type
|
||||
public EPFields GetValidEPFields(int AnnTypeID)
|
||||
{
|
||||
EPFields filtered = new EPFields();
|
||||
|
||||
if (ActiveFormat.PlantFormat.EPFormatFiles.Count == 0) return filtered;
|
||||
if ((int)MyContent.Type < 20000) return filtered;
|
||||
EPFields unfiltered = ActiveFormat.PlantFormat.EPFormatFiles.Find(x => x.AnnotationTypeID == AnnTypeID)?.FieldList;
|
||||
if (unfiltered == null) return filtered;
|
||||
|
||||
//Build list of step type and step type of it's parents
|
||||
List<string> steptypelist = new List<string>();
|
||||
int stepType = ((int)MyContent.Type) % 10000;
|
||||
StepDataList sdlist = ActiveFormat.PlantFormat.FormatData.StepDataList;
|
||||
if (stepType > sdlist.MaxIndex)
|
||||
{
|
||||
Console.WriteLine("Error getting type - contentid = {0}", MyContent.ContentID);
|
||||
return filtered;
|
||||
}
|
||||
StepData sd = sdlist[stepType];
|
||||
while (sd.Index != 0)
|
||||
{
|
||||
steptypelist.Add(sd.Type);
|
||||
sd = sdlist[sd.ParentType];
|
||||
}
|
||||
|
||||
//if unfiltered list contains All as a step type, include it
|
||||
foreach (EPField EP in unfiltered)
|
||||
{
|
||||
//if unfiltered list contains All as a step type, include it
|
||||
if (EP.IsValidForStepType("All"))
|
||||
filtered.Add(EP);
|
||||
|
||||
//check for intersections between unfiltered list and step type list
|
||||
List<string> tmpEP = EP.validforsteptypes();
|
||||
if (tmpEP.Any(steptypelist.Contains))
|
||||
filtered.Add(EP);
|
||||
}
|
||||
|
||||
return filtered;
|
||||
}
|
||||
|
||||
// C2025-023 - Electronic Procedures - Modifications to PROMS
|
||||
//return true if any EP Format files attached to the item's
|
||||
public bool HasEPformat(int AnnTypeID)
|
||||
{
|
||||
return GetValidEPFields(AnnTypeID).Count > 0;
|
||||
}
|
||||
|
||||
// determine if the the current step should automatically be placed on the Continuous Action Summary
|
||||
// Note, this logic only checks the format setting of the step. We will check the value of the Tag's Check Box later on.
|
||||
public bool IncludeOnContActSum
|
||||
@@ -4655,43 +4704,50 @@ namespace VEPROMS.CSLA.Library
|
||||
int localPrintLevel = PrintLevel;
|
||||
StepSectionData sd = ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData;
|
||||
bool doMeta = false;
|
||||
if (sd.StepSectionLayoutData.TieTabToLevel && ActiveFormat.PlantFormat.FormatData.SectData.UseMetaSections)
|
||||
if (sd.StepSectionLayoutData.TieTabToLevel) // C2025-036 reduce un-needed processing
|
||||
{
|
||||
if (sd.StepSectionLayoutData.ShowSectionTitles
|
||||
&& !MyDocStyle.CancelSectTitle
|
||||
&& !(MyDocStyle.SpecialStepsFoldout && MyDocStyle.UseColSByLevel))
|
||||
localPrintLevel = PrintLevel + (((ActiveFormat.PlantFormat.FormatData.Express && IsSequential)) ? 0 : CurrentSectionLevel());
|
||||
if (!ActiveFormat.PlantFormat.FormatData.Express) doMeta = true;
|
||||
}
|
||||
if (sd.StepSectionLayoutData.TieTabToLevel && ActiveFormat.PlantFormat.FormatData.SectData.CountSubSectionsForLevel)
|
||||
if (SectionLevel() > 1)
|
||||
if (ActiveFormat.PlantFormat.FormatData.SectData.UseMetaSections)
|
||||
{
|
||||
if (sd.StepSectionLayoutData.ShowSectionTitles
|
||||
&& !MyDocStyle.CancelSectTitle
|
||||
&& !(MyDocStyle.SpecialStepsFoldout && MyDocStyle.UseColSByLevel))
|
||||
localPrintLevel = PrintLevel + (((ActiveFormat.PlantFormat.FormatData.Express && IsSequential)) ? 0 : CurrentSectionLevel());
|
||||
if (!ActiveFormat.PlantFormat.FormatData.Express) doMeta = true;
|
||||
}
|
||||
if (ActiveFormat.PlantFormat.FormatData.SectData.CountSubSectionsForLevel && (SectionLevel() > 1))
|
||||
localPrintLevel += 1;
|
||||
}
|
||||
|
||||
SeqTabFmtList seqtabs = ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.SeqTabFmtList;
|
||||
|
||||
// Start with basic cases of alpha/numeric/seq:
|
||||
// If we have metasections AND...
|
||||
// If the seqtabs for this given level does not get a section number, use the seqtab rather than
|
||||
// the ident of the step:
|
||||
bool useSubStepTabs = false;
|
||||
if (doMeta && IsHigh
|
||||
&& !seqtabs[(localPrintLevel < 0 ? 0 : localPrintLevel) % seqtabs.MaxIndex].TabToken.Contains("{numericWpar}")
|
||||
&& tbformat.Contains("{")) useSubStepTabs = true;
|
||||
|
||||
// Check to be sure the parent tab should be included... If this sequential is within a note
|
||||
// or caution or equipment list, don't use parent tab AND always start the numbering as a numeric
|
||||
if (doMeta && IsSequential && (InNote() || InCaution() ||
|
||||
(MyParent.IsEquipmentList && !MyParent.FormatStepData.TabData.IdentPrint.Contains("{seq}"))))
|
||||
if (doMeta) // C2025-036 reduce un-needed processing
|
||||
{
|
||||
// if immediate parent is note, caution or equip, use numeric, otherwise use alpha.
|
||||
localPrintLevel = 0;
|
||||
int lv = 0;
|
||||
ItemInfo ii = MyParent;
|
||||
while (!ii.IsCaution && !ii.IsNote && !ii.IsEquipmentList)
|
||||
if (IsHigh
|
||||
&& !seqtabs[(localPrintLevel < 0 ? 0 : localPrintLevel) % seqtabs.MaxIndex].TabToken.Contains("{numericWpar}")
|
||||
&& tbformat.Contains("{")) useSubStepTabs = true;
|
||||
|
||||
// Check to be sure the parent tab should be included... If this sequential is within a note
|
||||
// or caution or equipment list, don't use parent tab AND always start the numbering as a numeric
|
||||
if (IsSequential && (InNote() || InCaution() ||
|
||||
(MyParent.IsEquipmentList && !MyParent.FormatStepData.TabData.IdentPrint.Contains("{seq}"))))
|
||||
{
|
||||
lv++;
|
||||
ii = ii.MyParent;
|
||||
// if immediate parent is note, caution or equip, use numeric, otherwise use alpha.
|
||||
localPrintLevel = 0;
|
||||
int lv = 0;
|
||||
ItemInfo ii = MyParent;
|
||||
while (!ii.IsCaution && !ii.IsNote && !ii.IsEquipmentList)
|
||||
{
|
||||
lv++;
|
||||
ii = ii.MyParent;
|
||||
}
|
||||
lv = lv % 2;
|
||||
tbformat = (lv == 0) ? "{numeric}." : "{alpha}.";
|
||||
}
|
||||
lv = lv % 2;
|
||||
tbformat = (lv == 0) ? "{numeric}." : "{alpha}.";
|
||||
}
|
||||
bool trimTabStart = false;
|
||||
bool dontTrimParentTabBeforeAppending = false; // B2019-011 for Barakah Alarm format
|
||||
@@ -4757,7 +4813,7 @@ namespace VEPROMS.CSLA.Library
|
||||
PrintLevel = 0;
|
||||
|
||||
// If token includes 'Wpar', the parent tab prefix's the tab.
|
||||
if (localPrintLevel > 0 && (tbformat.IndexOf("{numericWpar}") > -1 || tbformat.IndexOf("{alphaWpar}") > -1 || tbformat.IndexOf("{ALPHAWpar}") > -1))
|
||||
if (localPrintLevel > 0 && tbformat.Contains("Wpar}")) // C2025-036 reduce un-needed processing
|
||||
{
|
||||
string parentTab = null;
|
||||
ItemInfo myparent = ActiveParent as ItemInfo;
|
||||
@@ -4872,18 +4928,21 @@ namespace VEPROMS.CSLA.Library
|
||||
}
|
||||
string alpha = useLinked?LinkedTab.Trim():AlphabeticalNumbering(ordinal);
|
||||
if (trimSeqValue) alpha = alpha.Trim(); // F2024-043 trim white around SEQ tab value (for sub-steps)
|
||||
// B2017-211 Roman High Level steps should be followed by Uppercase alpha substeps - This is being limited to Calvert SAMG Format
|
||||
if (_ActiveFormat.Name =="BGESAM1" &&MyParent != null && MyParent.IsHigh && MyParent.IsStep && MyParent.FormatStepData.TabData.IdentEdit.Contains("ROMAN"))
|
||||
tbformat = tbformat.Replace("{alpha}", alpha);
|
||||
else
|
||||
tbformat = tbformat.Replace("{alpha}", alpha.ToLower());
|
||||
tbformat = tbformat.Replace("{alphaWpar}", alpha.ToLower());
|
||||
if (ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvert && tbformat.Contains("{ALPHA}") && alpha.Length > 1)
|
||||
tbformat = tbformat.Replace("{ALPHA}. ", alpha + "."); // if double chars, remove one of the space for BGE
|
||||
else
|
||||
tbformat = tbformat.Replace("{ALPHA}", alpha);
|
||||
if (tbformat.ToUpper().Contains("{ALPHA")) // C2025-036 reduce un-needed processing
|
||||
{
|
||||
// B2017-211 Roman High Level steps should be followed by Uppercase alpha substeps - This is being limited to Calvert SAMG Format
|
||||
if (_ActiveFormat.Name == "BGESAM1" && MyParent != null && MyParent.IsHigh && MyParent.IsStep && MyParent.FormatStepData.TabData.IdentEdit.Contains("ROMAN"))
|
||||
tbformat = tbformat.Replace("{alpha}", alpha);
|
||||
else
|
||||
tbformat = tbformat.Replace("{alpha}", alpha.ToLower());
|
||||
tbformat = tbformat.Replace("{alphaWpar}", alpha.ToLower());
|
||||
if (ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvert && tbformat.Contains("{ALPHA}") && alpha.Length > 1)
|
||||
tbformat = tbformat.Replace("{ALPHA}. ", alpha + "."); // if double chars, remove one of the space for BGE
|
||||
else
|
||||
tbformat = tbformat.Replace("{ALPHA}", alpha);
|
||||
|
||||
tbformat = tbformat.Replace("{ALPHAWpar}", alpha);
|
||||
tbformat = tbformat.Replace("{ALPHAWpar}", alpha);
|
||||
}
|
||||
if (tbformat.ToUpper().Contains("ROMAN"))
|
||||
{
|
||||
string roman = RomanNumbering(ordinal);
|
||||
@@ -4891,15 +4950,18 @@ namespace VEPROMS.CSLA.Library
|
||||
tbformat = tbformat.Replace("{ROMAN}", roman);
|
||||
tbformat = tbformat.Substring(0, tbformat.Length - ((roman.Length - 1) > 0 ? (roman.Length - 1) : 0));
|
||||
}
|
||||
if (tbformat.Contains("{numeric}") && ((MyDocStyle.StructureStyle.Style & E_DocStructStyle.DSS_AddDotZeroStdHLS) == E_DocStructStyle.DSS_AddDotZeroStdHLS) && MyContent.Type == 20002)
|
||||
if (tbformat.Contains("{numeric}")) // C2025-036 reduce un-needed processing
|
||||
{
|
||||
tbformat = tbformat.Replace("{numeric}", ordinal.ToString().PadLeft(2) + ".0");
|
||||
tbformat = tbformat.Substring(0, tbformat.Length - 2);
|
||||
}
|
||||
if (tbformat.Contains("{numeric}") && (this.FormatStepData.AppendDotZero)) // F2018-022 Added step type flag to append a ".0" to the end of the high level step - put in for Westinghouse single column format (wst1)
|
||||
{
|
||||
string numtxt = ordinal.ToString().PadLeft(2) + ".0";
|
||||
tbformat = tbformat.Replace("{numeric}.", numtxt).Replace("{numeric}", numtxt);
|
||||
if (((MyDocStyle.StructureStyle.Style & E_DocStructStyle.DSS_AddDotZeroStdHLS) == E_DocStructStyle.DSS_AddDotZeroStdHLS) && MyContent.Type == 20002)
|
||||
{
|
||||
tbformat = tbformat.Replace("{numeric}", ordinal.ToString().PadLeft(2) + ".0");
|
||||
tbformat = tbformat.Substring(0, tbformat.Length - 2);
|
||||
}
|
||||
if (this.FormatStepData.AppendDotZero) // F2018-022 Added step type flag to append a ".0" to the end of the high level step - put in for Westinghouse single column format (wst1)
|
||||
{
|
||||
string numtxt = ordinal.ToString().PadLeft(2) + ".0";
|
||||
tbformat = tbformat.Replace("{numeric}.", numtxt).Replace("{numeric}", numtxt);
|
||||
}
|
||||
}
|
||||
// if this is a wolf creek background, if the tbformat ends with a '.' don't add a space,
|
||||
// otherwise add a space.
|
||||
@@ -6097,9 +6159,10 @@ namespace VEPROMS.CSLA.Library
|
||||
}
|
||||
private bool IsLowestLevelStep
|
||||
{
|
||||
//F2025-015 added check for IsInCautionOrNote for sub-step inside Notes and Cautions
|
||||
get
|
||||
{
|
||||
return (!(IsCaution || IsNote || IsTable || IsFigure || Steps != null || MyParent.IsCaution || MyParent.IsNote));
|
||||
return (!(IsCaution || IsNote || IsInCautionOrNote || IsTable || IsFigure || Steps != null || MyParent.IsCaution || MyParent.IsNote));
|
||||
}
|
||||
}
|
||||
private bool RNOsHighHasCheckOff()
|
||||
@@ -8262,6 +8325,7 @@ namespace VEPROMS.CSLA.Library
|
||||
if (_ProcedureConfig == null)
|
||||
{
|
||||
_ProcedureConfig = new ProcedureConfig(this);
|
||||
this.MyContent.Changed -= new ContentInfoEvent(MyContent_Changed);
|
||||
this.MyContent.Changed += new ContentInfoEvent(MyContent_Changed);
|
||||
}
|
||||
return _ProcedureConfig;
|
||||
@@ -8271,6 +8335,7 @@ namespace VEPROMS.CSLA.Library
|
||||
|
||||
void MyContent_Changed(object sender)
|
||||
{
|
||||
this.MyContent.Changed -= new ContentInfoEvent(MyContent_Changed);
|
||||
this.MyContent.Changed += new ContentInfoEvent(MyContent_Changed);
|
||||
}
|
||||
#endregion
|
||||
|
412
PROMS/VEPROMS.CSLA.Library/Format/EPFormatFile.cs
Normal file
412
PROMS/VEPROMS.CSLA.Library/Format/EPFormatFile.cs
Normal file
@@ -0,0 +1,412 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.ComponentModel;
|
||||
using System.Xml;
|
||||
using System.Linq;
|
||||
using System.Data.SqlClient;
|
||||
using System.Data;
|
||||
using Csla.Data;
|
||||
using static VEPROMS.CSLA.Library.ROFSTLookup;
|
||||
|
||||
namespace VEPROMS.CSLA.Library
|
||||
{
|
||||
//C2025-023 - Electronic Procedures - Modifications to PROMS
|
||||
// class to handle storage and access of EPFormatFile and EPFormatFile details
|
||||
#region EPFormatFiles
|
||||
[TypeConverter(typeof(vlnListConverter<EPFormatFiles, EPFormatFile>))]
|
||||
public class EPFormatFiles : vlnFormatList<EPFormatFile>
|
||||
{
|
||||
public EPFormatFiles(XmlNodeList xmlNodeList) : base(xmlNodeList) { }
|
||||
}
|
||||
#endregion
|
||||
#region EPFormatFile
|
||||
public class EPFormatFile : vlnFormatItem
|
||||
{
|
||||
#region Constructor
|
||||
public EPFormatFile(XmlNode xmlNode) : base(xmlNode) { }
|
||||
public EPFormatFile() : base() { }
|
||||
#endregion
|
||||
#region Business Fields
|
||||
// Name of the EP Viewer Format File
|
||||
private LazyLoad<string> _Name;
|
||||
[DisplayName("Name")]
|
||||
[Description("EP Viewer File Name")]
|
||||
public string Name
|
||||
{
|
||||
get
|
||||
{
|
||||
return LazyLoad(ref _Name, "@Name");
|
||||
}
|
||||
}
|
||||
// Name of the EP Viewer Format File
|
||||
private LazyLoad<string> _Description;
|
||||
[DisplayName("Description")]
|
||||
[Description("EP Viewer Description")]
|
||||
public string Description
|
||||
{
|
||||
get
|
||||
{
|
||||
return LazyLoad(ref _Description, "@Description");
|
||||
}
|
||||
}
|
||||
// Id of Annotation Type Associated with this file
|
||||
private LazyLoad<int?> _AnnotationTypeID;
|
||||
[DisplayName("AnnotationTypeID")]
|
||||
[Description("Id of Annotation Type Associated with this file")]
|
||||
public int? AnnotationTypeID
|
||||
{
|
||||
get
|
||||
{
|
||||
return LazyLoad(ref _AnnotationTypeID, "@AnnotationTypeID");
|
||||
}
|
||||
}
|
||||
// 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 == null ? _FieldList = new EPFields(xd.SelectNodes("/EPFormat/EPField")) : _FieldList;
|
||||
}
|
||||
}
|
||||
#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);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
#region Data Access
|
||||
// static - Load EP Format details - save to db (insert/update)
|
||||
public static void UpdateEPFormat(string name, string data, string userID)
|
||||
{
|
||||
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||
{
|
||||
using (SqlCommand cm = cn.CreateCommand())
|
||||
{
|
||||
cm.CommandType = CommandType.StoredProcedure;
|
||||
cm.CommandText = "vesp_UpdateEPFormat";
|
||||
cm.Parameters.AddWithValue("@name", name);
|
||||
cm.Parameters.AddWithValue("@data", data);
|
||||
cm.Parameters.AddWithValue("@userID", userID);
|
||||
cm.CommandTimeout = Database.DefaultTimeout;
|
||||
cm.ExecuteNonQuery();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// load data for getting fieldlist for this EPFormat
|
||||
public static XmlDocument GetEPFormatData(string name)
|
||||
{
|
||||
name = name.Replace(".xml", "");
|
||||
|
||||
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||
{
|
||||
using (SqlCommand cm = cn.CreateCommand())
|
||||
{
|
||||
cm.CommandType = CommandType.Text;
|
||||
cm.CommandText = "Select Data FROM EPFormats where Name = @Name";
|
||||
cm.Parameters.AddWithValue("@Name", name);
|
||||
cm.CommandTimeout = Database.DefaultTimeout;
|
||||
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
||||
{
|
||||
if (dr.Read())
|
||||
{
|
||||
XmlDocument xd = new XmlDocument();
|
||||
xd.XmlResolver = null;
|
||||
xd.LoadXml(dr.GetString("Data"));
|
||||
return xd;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
// Get all in-use formats
|
||||
public static List<int> GetAllInUseFormats()
|
||||
{
|
||||
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||
{
|
||||
using (SqlCommand cm = cn.CreateCommand())
|
||||
{
|
||||
cm.CommandType = CommandType.Text;
|
||||
cm.CommandText = @"SELECT Distinct Formats.[FormatID]
|
||||
FROM
|
||||
(
|
||||
SELECT FormatID FROM Contents
|
||||
UNION
|
||||
SELECT FormatID FROM DocVersions
|
||||
UNION
|
||||
SELECT FormatID FROM Folders
|
||||
) inuse
|
||||
inner join Formats
|
||||
on inuse.FormatID = Formats.FormatID";
|
||||
cm.CommandTimeout = Database.DefaultTimeout;
|
||||
|
||||
using (DataTable dt = new DataTable())
|
||||
{
|
||||
using (SqlDataAdapter da = new SqlDataAdapter(cm))
|
||||
{
|
||||
da.Fill(dt);
|
||||
return dt.AsEnumerable().Select(x => x.Field<int>("FormatID")).ToList();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update an annotation type as an Electronic Procedure Annotation Type
|
||||
public static void UpdateAnnotationTypeAsEP(int typeID)
|
||||
{
|
||||
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||
{
|
||||
using (SqlCommand cm = cn.CreateCommand())
|
||||
{
|
||||
cm.CommandType = CommandType.Text;
|
||||
cm.CommandText = @"Update AnnotationTypes
|
||||
SET IsEPAnnotationType = 1
|
||||
WHERE TypeID = @typeID";
|
||||
cm.Parameters.AddWithValue("@typeID", typeID);
|
||||
cm.CommandTimeout = Database.DefaultTimeout;
|
||||
cm.ExecuteNonQuery();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Returns true if there are any EP Annotation Types
|
||||
public static bool IsEPAnnotationType()
|
||||
{
|
||||
try
|
||||
{
|
||||
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||
{
|
||||
using (SqlCommand cm = cn.CreateCommand())
|
||||
{
|
||||
cm.CommandType = CommandType.Text;
|
||||
cm.CommandText = @"SELECT RESULT = CASE WHEN
|
||||
EXISTS(SELECT 1 FROM AnnotationTypes where IsEPAnnotationType = 1)
|
||||
THEN 1 ELSE 0 END";
|
||||
cm.CommandTimeout = Database.DefaultTimeout;
|
||||
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
||||
{
|
||||
if (dr.Read() && dr.GetInt32("RESULT") == 1)
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
// EP Support has not yet been added for this DB
|
||||
// IsEPAnnotationType does not exist
|
||||
// need to run PROMS Fixes
|
||||
// until then will ignore EP code
|
||||
// instead of crashing for a field not found
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
public class EPFields : vlnFormatList<EPField>
|
||||
{
|
||||
public EPFields()
|
||||
{
|
||||
}
|
||||
|
||||
public EPFields(XmlNodeList xmlNodeList) : base(xmlNodeList) { }
|
||||
}
|
||||
// EP field class
|
||||
public class EPField : vlnFormatItem
|
||||
{
|
||||
public EPField(XmlNode xmlNode) : base(xmlNode) { }
|
||||
public EPField() : base() { }
|
||||
private LazyLoad<string> _name;
|
||||
public string name
|
||||
{
|
||||
get
|
||||
{
|
||||
return LazyLoad(ref _name, "@name");
|
||||
}
|
||||
}
|
||||
private LazyLoad<string> _type;
|
||||
public string type
|
||||
{
|
||||
get
|
||||
{
|
||||
return LazyLoad(ref _type, "@type");
|
||||
}
|
||||
}
|
||||
private LazyLoad<string> _label;
|
||||
public string label
|
||||
{
|
||||
get
|
||||
{
|
||||
string tmp = LazyLoad(ref _label, "@label");
|
||||
|
||||
if (string.IsNullOrEmpty(tmp))
|
||||
return LazyLoad(ref _name, "@name");
|
||||
else
|
||||
return tmp;
|
||||
}
|
||||
}
|
||||
private LazyLoad<string> _text;
|
||||
public string text
|
||||
{
|
||||
get
|
||||
{
|
||||
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
|
||||
private LazyLoad<string> _rosource;
|
||||
public string rosource
|
||||
{
|
||||
get
|
||||
{
|
||||
return LazyLoad(ref _rosource, "@rosource");
|
||||
}
|
||||
}
|
||||
//the columns in the RO that will be included in the exports
|
||||
private LazyLoad<string> _returncols;
|
||||
public List<string> returncols()
|
||||
{
|
||||
try
|
||||
{
|
||||
string tmp = LazyLoad(ref _returncols, "@returncols");
|
||||
|
||||
if (string.IsNullOrEmpty(tmp))
|
||||
return new List<string>();
|
||||
else
|
||||
return tmp.Split(',').Select(p => p.Trim()).ToList();
|
||||
}
|
||||
catch
|
||||
{
|
||||
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
|
||||
private LazyLoad<int?> _numlines;
|
||||
public int numlines
|
||||
{
|
||||
get
|
||||
{
|
||||
int? tmp = LazyLoad(ref _numlines, "@numlines");
|
||||
|
||||
if (tmp == null)
|
||||
return 1;
|
||||
|
||||
return (int) tmp;
|
||||
}
|
||||
}
|
||||
//step types that the EPForma Item is valid for (as a list of types)
|
||||
private LazyLoad<string> _validforsteptypes;
|
||||
public List<string> validforsteptypes()
|
||||
{
|
||||
try
|
||||
{
|
||||
string tmp = LazyLoad(ref _validforsteptypes, "@validforsteptypes");
|
||||
return tmp.Split(',').Select(p => p.Trim()).ToList();
|
||||
}
|
||||
catch
|
||||
{
|
||||
throw new ArgumentException($"Error in validforsteptypes for EP file: {((EPFormatFile) MyParentFormat).Name}.xml, field: {name}");
|
||||
}
|
||||
}
|
||||
public bool IsValidForStepType(string StepType)
|
||||
{
|
||||
List<string> tmp = validforsteptypes();
|
||||
return tmp.Contains(StepType);
|
||||
}
|
||||
|
||||
//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
|
||||
public List<ROListItem> getROList(AnnotationInfo currAnn, bool includeblank)
|
||||
{
|
||||
if (string.IsNullOrEmpty(rosource))
|
||||
return new List<ROListItem>();
|
||||
|
||||
try
|
||||
{
|
||||
DocVersionInfo MyDocVersion = currAnn.MyItem.MyDocVersion;
|
||||
ROFSTLookup lookup = MyDocVersion.DocVersionAssociations[0].MyROFst.GetROFSTLookup(MyDocVersion);
|
||||
|
||||
string roid = FormatRoidKey(rosource, false);
|
||||
rochild[] children = lookup.GetRoChildrenByRoid(roid);
|
||||
|
||||
List<ROListItem> mylist = children.Select(x => new ROListItem(x.title, x.roid.Substring(0, 12))).ToList();
|
||||
if (includeblank)
|
||||
mylist.Insert(0, new ROListItem("", ""));
|
||||
|
||||
return mylist;
|
||||
}
|
||||
catch (Exception Ex)
|
||||
{
|
||||
throw new ArgumentException($"Error in rosource for EP file: {((EPFormatFile)MyParentFormat).Name}.xml, field: {name}");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//return a list of values for the specified ROID
|
||||
//given the EP items return columns
|
||||
//will return all RO items under the Group that's roid = the rosource
|
||||
public List<string> getROValuesList(AnnotationInfo currAnn, string roid)
|
||||
{
|
||||
if (string.IsNullOrEmpty(roid))
|
||||
return new List<string>();
|
||||
|
||||
List<string> values = new List<string>();
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
return values;
|
||||
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
//C2025-023 - Electronic Procedures - Modifications to PROMS
|
||||
// class to handle return of RO Lists
|
||||
#region EPFormatFiles
|
||||
public class ROListItem
|
||||
{
|
||||
public string Text { get; private set; }
|
||||
public string Value { get; private set; }
|
||||
public ROListItem(string _text, string _value)
|
||||
{
|
||||
Text = _text; Value = _value;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
@@ -192,6 +192,18 @@ namespace VEPROMS.CSLA.Library
|
||||
}
|
||||
return (retlist);
|
||||
}
|
||||
|
||||
//C2025-023 - Electronic Procedures - Modifications to PROMS
|
||||
// EPFormatFiles contains which Electronic Procedure Format files apply to this main format file.
|
||||
private EPFormatFiles _EPFormatFiles;
|
||||
public EPFormatFiles EPFormatFiles
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_EPFormatFiles == null) _EPFormatFiles = new EPFormatFiles(XmlDoc.SelectNodes("/PlantFormat/EPFormatFiles/EPFormatFile"));
|
||||
return _EPFormatFiles;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
#region VE_Font
|
||||
|
@@ -57,6 +57,8 @@ namespace VEPROMS.CSLA.Library
|
||||
XmlNode xn = xmlNode.SelectSingleNode(path);
|
||||
if (xmlNode.Name == "Box") return xn; // if box, don't do inheritance.
|
||||
if (xmlNode.Name == "DocStyle") return xn;
|
||||
//C2025-023 - Electronic Procedures - Modifications to PROMS
|
||||
if (xmlNode.Name == "EPField") return xn; // if Electronic Procedure Field, don't do inheritance.
|
||||
if (xmlNode.Name == "StructureStyle")
|
||||
{
|
||||
Volian.Base.Library.DebugText.WriteLine("vlnFormatDocument:LookupSingleNode:StructureStyle - shouldn't get to this line of code.\r\nPath = {0}", path);
|
||||
|
@@ -18,6 +18,8 @@ using System.IO;
|
||||
using System.ComponentModel;
|
||||
using System.Collections.Generic;
|
||||
using Csla.Validation;
|
||||
using System.Linq;
|
||||
|
||||
namespace VEPROMS.CSLA.Library
|
||||
{
|
||||
/// <summary>
|
||||
@@ -207,6 +209,27 @@ namespace VEPROMS.CSLA.Library
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//C2025-023 - Electronic Procedures - Modifications to PROMS
|
||||
// Is Annotation Type an EP Annotation?
|
||||
private bool _IsEPAnnotationType = false;
|
||||
public bool IsEPAnnotationType
|
||||
{
|
||||
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
|
||||
get
|
||||
{
|
||||
return _IsEPAnnotationType;
|
||||
}
|
||||
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
|
||||
set
|
||||
{
|
||||
if (_IsEPAnnotationType != value)
|
||||
{
|
||||
_IsEPAnnotationType = value;
|
||||
PropertyHasChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
private byte[] _LastChanged = new byte[8];//timestamp
|
||||
private int _AnnotationTypeAnnotationCount = 0;
|
||||
/// <summary>
|
||||
@@ -712,6 +735,8 @@ namespace VEPROMS.CSLA.Library
|
||||
_UserID = dr.GetString("UserID");
|
||||
dr.GetBytes("LastChanged", 0, _LastChanged, 0, 8);
|
||||
_AnnotationTypeAnnotationCount = dr.GetInt32("AnnotationCount");
|
||||
if (dr.GetSchemaTable().Rows.OfType<DataRow>().Any(row => row["ColumnName"].ToString() == "IsEPAnnotationType"))
|
||||
_IsEPAnnotationType = (bool)dr.GetValue("IsEPAnnotationType");
|
||||
MarkOld();
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
@@ -17,6 +17,8 @@ using System.Configuration;
|
||||
using System.IO;
|
||||
using System.ComponentModel;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace VEPROMS.CSLA.Library
|
||||
{
|
||||
public delegate void AnnotationTypeInfoEvent(object sender);
|
||||
@@ -135,6 +137,19 @@ namespace VEPROMS.CSLA.Library
|
||||
return _UserID;
|
||||
}
|
||||
}
|
||||
|
||||
//C2025-023 - Electronic Procedures - Modifications to PROMS
|
||||
// Is Annotation Type an EP Annotation?
|
||||
private bool _IsEPAnnotationType = false;
|
||||
public bool IsEPAnnotationType
|
||||
{
|
||||
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
|
||||
get
|
||||
{
|
||||
return _IsEPAnnotationType;
|
||||
}
|
||||
}
|
||||
|
||||
private int _AnnotationTypeAnnotationCount = 0;
|
||||
/// <summary>
|
||||
/// Count of AnnotationTypeAnnotations for this AnnotationType
|
||||
@@ -312,6 +327,8 @@ namespace VEPROMS.CSLA.Library
|
||||
_DTS = dr.GetDateTime("DTS");
|
||||
_UserID = dr.GetString("UserID");
|
||||
_AnnotationTypeAnnotationCount = dr.GetInt32("AnnotationCount");
|
||||
if (dr.GetSchemaTable().Rows.OfType<DataRow>().Any(row => row["ColumnName"].ToString() == "IsEPAnnotationType"))
|
||||
_IsEPAnnotationType = (bool)dr.GetValue("IsEPAnnotationType");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
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;
|
||||
if (myItemInfo != null)
|
||||
{
|
||||
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.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.NewSiblingAfter -= new ItemInfoInsertEvent(myItemInfo_NewSiblingAfter);
|
||||
myItemInfo.NewSiblingAfter += new ItemInfoInsertEvent(myItemInfo_NewSiblingAfter);
|
||||
myItemInfo.NewSiblingBefore -= new ItemInfoInsertEvent(myItemInfo_NewSiblingBefore);
|
||||
myItemInfo.NewSiblingBefore += new ItemInfoInsertEvent(myItemInfo_NewSiblingBefore);
|
||||
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;
|
||||
if (myItemInfo != null)
|
||||
{
|
||||
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.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.NewSiblingAfter -= new ItemInfoInsertEvent(myItemInfo_NewSiblingAfter);
|
||||
myItemInfo.NewSiblingAfter += new ItemInfoInsertEvent(myItemInfo_NewSiblingAfter);
|
||||
myItemInfo.NewSiblingBefore -= new ItemInfoInsertEvent(myItemInfo_NewSiblingBefore);
|
||||
myItemInfo.NewSiblingBefore += new ItemInfoInsertEvent(myItemInfo_NewSiblingBefore);
|
||||
myItemInfo.NewChild -= new ItemInfoInsertEvent(myItemInfo_NewChild);
|
||||
myItemInfo.NewChild += new ItemInfoInsertEvent(myItemInfo_NewChild);
|
||||
}
|
||||
}
|
||||
|
@@ -98,6 +98,7 @@
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.configuration" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="System.Design" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
@@ -107,6 +108,7 @@
|
||||
<Compile Include="..\VEPROMS User Interface\Properties\Settings.Designer.cs">
|
||||
<Link>Properties\Settings.Designer.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="Config\AnnotationConfig.cs" />
|
||||
<Compile Include="Config\AnnotationTypeConfig.cs" />
|
||||
<Compile Include="Config\AssocConfig.cs" />
|
||||
<Compile Include="Config\ColorConfig.cs" />
|
||||
@@ -164,6 +166,7 @@
|
||||
<Compile Include="Format\Comparator.cs" />
|
||||
<Compile Include="Format\DocStyles.cs" />
|
||||
<Compile Include="Format\ENums.cs" />
|
||||
<Compile Include="Format\EPFormatFile.cs" />
|
||||
<Compile Include="Format\PageStyles.cs" />
|
||||
<Compile Include="Format\PlantFormat.cs" />
|
||||
<Compile Include="Format\vlnFormat.cs" />
|
||||
@@ -384,6 +387,7 @@
|
||||
<Compile Include="Generated\ZContentInfo.cs" />
|
||||
<Compile Include="Generated\ZTransition.cs" />
|
||||
<Compile Include="Generated\ZTransitionInfo.cs" />
|
||||
<Compile Include="Minimal\AnnotationstypeSections.cs" />
|
||||
<Compile Include="Minimal\UserSettings.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.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}"
|
||||
EndProject
|
||||
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
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
|
@@ -28,326 +28,341 @@ namespace Volian.Controls.Library
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
this.superTooltip1 = new DevComponents.DotNetBar.SuperTooltip();
|
||||
this.rtxbComment = new System.Windows.Forms.RichTextBox();
|
||||
this.btnSaveAnnotation = new DevComponents.DotNetBar.ButtonX();
|
||||
this.btnCancelAnnoation = new DevComponents.DotNetBar.ButtonX();
|
||||
this.cbGridAnnoType = new DevComponents.DotNetBar.Controls.ComboBoxEx();
|
||||
this.btnRemoveAnnotation = new DevComponents.DotNetBar.ButtonX();
|
||||
this.btnAddAnnotation = new DevComponents.DotNetBar.ButtonX();
|
||||
this.pannelAnnoEdit = new DevComponents.DotNetBar.PanelEx();
|
||||
this.labelX1 = new DevComponents.DotNetBar.LabelX();
|
||||
this.panelAnnoEditBtns = new DevComponents.DotNetBar.PanelEx();
|
||||
this.expandableSplitter4 = new DevComponents.DotNetBar.ExpandableSplitter();
|
||||
this.pannelAnnoGrid = new DevComponents.DotNetBar.PanelEx();
|
||||
this.dgAnnotations = new DevComponents.DotNetBar.Controls.DataGridViewX();
|
||||
this.myAnnotationTypeDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.dTSDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.userIDDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.searchTextDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.itemAnnotationsBindingSource = new System.Windows.Forms.BindingSource(this.components);
|
||||
this.pannelAnnoEdit.SuspendLayout();
|
||||
this.panelAnnoEditBtns.SuspendLayout();
|
||||
this.pannelAnnoGrid.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgAnnotations)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.itemAnnotationsBindingSource)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// superTooltip1
|
||||
//
|
||||
this.superTooltip1.DefaultTooltipSettings = new DevComponents.DotNetBar.SuperTooltipInfo("", "", "", null, null, DevComponents.DotNetBar.eTooltipColor.Gray);
|
||||
this.superTooltip1.LicenseKey = "F962CEC7-CD8F-4911-A9E9-CAB39962FC1F";
|
||||
//
|
||||
// rtxbComment
|
||||
//
|
||||
this.rtxbComment.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
this.superTooltip1 = new DevComponents.DotNetBar.SuperTooltip();
|
||||
this.rtxbComment = new System.Windows.Forms.RichTextBox();
|
||||
this.btnSaveAnnotation = new DevComponents.DotNetBar.ButtonX();
|
||||
this.btnCancelAnnoation = new DevComponents.DotNetBar.ButtonX();
|
||||
this.cbGridAnnoType = new DevComponents.DotNetBar.Controls.ComboBoxEx();
|
||||
this.btnRemoveAnnotation = new DevComponents.DotNetBar.ButtonX();
|
||||
this.btnAddAnnotation = new DevComponents.DotNetBar.ButtonX();
|
||||
this.btnEPAnnotation = new DevComponents.DotNetBar.ButtonX();
|
||||
this.pannelAnnoEdit = new DevComponents.DotNetBar.PanelEx();
|
||||
this.labelX1 = new DevComponents.DotNetBar.LabelX();
|
||||
this.panelAnnoEditBtns = new DevComponents.DotNetBar.PanelEx();
|
||||
this.expandableSplitter4 = new DevComponents.DotNetBar.ExpandableSplitter();
|
||||
this.pannelAnnoGrid = new DevComponents.DotNetBar.PanelEx();
|
||||
this.dgAnnotations = new DevComponents.DotNetBar.Controls.DataGridViewX();
|
||||
this.myAnnotationTypeDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.dTSDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.userIDDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.searchTextDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.itemAnnotationsBindingSource = new System.Windows.Forms.BindingSource(this.components);
|
||||
this.pannelAnnoEdit.SuspendLayout();
|
||||
this.panelAnnoEditBtns.SuspendLayout();
|
||||
this.pannelAnnoGrid.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgAnnotations)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.itemAnnotationsBindingSource)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// superTooltip1
|
||||
//
|
||||
this.superTooltip1.DefaultTooltipSettings = new DevComponents.DotNetBar.SuperTooltipInfo("", "", "", null, null, DevComponents.DotNetBar.eTooltipColor.Gray);
|
||||
this.superTooltip1.LicenseKey = "F962CEC7-CD8F-4911-A9E9-CAB39962FC1F";
|
||||
//
|
||||
// rtxbComment
|
||||
//
|
||||
this.rtxbComment.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.rtxbComment.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(128)))));
|
||||
this.rtxbComment.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.rtxbComment.Location = new System.Drawing.Point(87, 33);
|
||||
this.rtxbComment.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.rtxbComment.Name = "rtxbComment";
|
||||
this.rtxbComment.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.Vertical;
|
||||
this.rtxbComment.Size = new System.Drawing.Size(489, 291);
|
||||
this.superTooltip1.SetSuperTooltip(this.rtxbComment, new DevComponents.DotNetBar.SuperTooltipInfo("Annotation", "", "Enter the annotation information here.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray));
|
||||
this.rtxbComment.TabIndex = 1;
|
||||
this.rtxbComment.Text = "";
|
||||
this.rtxbComment.TextChanged += new System.EventHandler(this.rtxbComment_TextChanged);
|
||||
//
|
||||
// btnSaveAnnotation
|
||||
//
|
||||
this.btnSaveAnnotation.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
|
||||
this.btnSaveAnnotation.Enabled = false;
|
||||
this.btnSaveAnnotation.Location = new System.Drawing.Point(491, 4);
|
||||
this.btnSaveAnnotation.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.btnSaveAnnotation.Name = "btnSaveAnnotation";
|
||||
this.btnSaveAnnotation.Size = new System.Drawing.Size(71, 25);
|
||||
this.superTooltip1.SetSuperTooltip(this.btnSaveAnnotation, new DevComponents.DotNetBar.SuperTooltipInfo("Save Changes", "", "This will save the new annotation or changes made to an existing annotation.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray));
|
||||
this.btnSaveAnnotation.TabIndex = 9;
|
||||
this.btnSaveAnnotation.Text = "Save";
|
||||
this.btnSaveAnnotation.Click += new System.EventHandler(this.btnSaveAnnotation_Click);
|
||||
//
|
||||
// btnCancelAnnoation
|
||||
//
|
||||
this.btnCancelAnnoation.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
|
||||
this.btnCancelAnnoation.Enabled = false;
|
||||
this.btnCancelAnnoation.Location = new System.Drawing.Point(401, 4);
|
||||
this.btnCancelAnnoation.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.btnCancelAnnoation.Name = "btnCancelAnnoation";
|
||||
this.btnCancelAnnoation.Size = new System.Drawing.Size(69, 25);
|
||||
this.superTooltip1.SetSuperTooltip(this.btnCancelAnnoation, new DevComponents.DotNetBar.SuperTooltipInfo("Cancel", "", "This will cancel the changes made to the annotation text and type selection", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(145, 100)));
|
||||
this.btnCancelAnnoation.TabIndex = 8;
|
||||
this.btnCancelAnnoation.Text = "Cancel";
|
||||
this.btnCancelAnnoation.Click += new System.EventHandler(this.btnCancelAnnoation_Click);
|
||||
//
|
||||
// cbGridAnnoType
|
||||
//
|
||||
this.cbGridAnnoType.DisplayMember = "Text";
|
||||
this.cbGridAnnoType.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
|
||||
this.cbGridAnnoType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.cbGridAnnoType.FlatStyle = System.Windows.Forms.FlatStyle.Standard;
|
||||
this.cbGridAnnoType.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.cbGridAnnoType.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
this.cbGridAnnoType.ItemHeight = 17;
|
||||
this.cbGridAnnoType.Location = new System.Drawing.Point(133, 4);
|
||||
this.cbGridAnnoType.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.cbGridAnnoType.Name = "cbGridAnnoType";
|
||||
this.cbGridAnnoType.PreventEnterBeep = true;
|
||||
this.cbGridAnnoType.Size = new System.Drawing.Size(244, 23);
|
||||
this.superTooltip1.SetSuperTooltip(this.cbGridAnnoType, new DevComponents.DotNetBar.SuperTooltipInfo("Select Annotation Type", "", "This drop down list contains the possible annotation types.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray));
|
||||
this.cbGridAnnoType.TabIndex = 7;
|
||||
this.cbGridAnnoType.WatermarkBehavior = DevComponents.DotNetBar.eWatermarkBehavior.HideNonEmpty;
|
||||
this.cbGridAnnoType.WatermarkText = "Select Annotation Type";
|
||||
this.cbGridAnnoType.SelectedValueChanged += new System.EventHandler(this.cbGridAnnoType_SelectedValueChanged);
|
||||
//
|
||||
// btnRemoveAnnotation
|
||||
//
|
||||
this.btnRemoveAnnotation.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
|
||||
this.btnRemoveAnnotation.Location = new System.Drawing.Point(5, 34);
|
||||
this.btnRemoveAnnotation.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.btnRemoveAnnotation.Name = "btnRemoveAnnotation";
|
||||
this.btnRemoveAnnotation.Size = new System.Drawing.Size(71, 25);
|
||||
this.superTooltip1.SetSuperTooltip(this.btnRemoveAnnotation, new DevComponents.DotNetBar.SuperTooltipInfo("Remove Annotation", "", "This will remove the currently selected annotation.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray));
|
||||
this.btnRemoveAnnotation.TabIndex = 4;
|
||||
this.btnRemoveAnnotation.Text = "Remove";
|
||||
this.btnRemoveAnnotation.Click += new System.EventHandler(this.btnRemoveAnnotation_Click);
|
||||
//
|
||||
// btnAddAnnotation
|
||||
//
|
||||
this.btnAddAnnotation.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
|
||||
this.btnAddAnnotation.Location = new System.Drawing.Point(5, 4);
|
||||
this.btnAddAnnotation.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.btnAddAnnotation.Name = "btnAddAnnotation";
|
||||
this.btnAddAnnotation.Size = new System.Drawing.Size(71, 25);
|
||||
this.superTooltip1.SetSuperTooltip(this.btnAddAnnotation, new DevComponents.DotNetBar.SuperTooltipInfo("Add New Annotation", "", "This button will create a new annotation.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray));
|
||||
this.btnAddAnnotation.TabIndex = 3;
|
||||
this.btnAddAnnotation.Text = "Add";
|
||||
this.btnAddAnnotation.Click += new System.EventHandler(this.btnAddAnnotation_Click);
|
||||
//
|
||||
// pannelAnnoEdit
|
||||
//
|
||||
this.pannelAnnoEdit.CanvasColor = System.Drawing.SystemColors.Control;
|
||||
this.pannelAnnoEdit.Controls.Add(this.rtxbComment);
|
||||
this.pannelAnnoEdit.Controls.Add(this.btnSaveAnnotation);
|
||||
this.pannelAnnoEdit.Controls.Add(this.btnCancelAnnoation);
|
||||
this.pannelAnnoEdit.Controls.Add(this.labelX1);
|
||||
this.pannelAnnoEdit.Controls.Add(this.cbGridAnnoType);
|
||||
this.pannelAnnoEdit.Controls.Add(this.panelAnnoEditBtns);
|
||||
this.pannelAnnoEdit.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.pannelAnnoEdit.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pannelAnnoEdit.Location = new System.Drawing.Point(548, 0);
|
||||
this.pannelAnnoEdit.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.pannelAnnoEdit.Name = "pannelAnnoEdit";
|
||||
this.pannelAnnoEdit.Size = new System.Drawing.Size(576, 325);
|
||||
this.pannelAnnoEdit.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.pannelAnnoEdit.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground;
|
||||
this.pannelAnnoEdit.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2;
|
||||
this.pannelAnnoEdit.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
|
||||
this.pannelAnnoEdit.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.pannelAnnoEdit.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
|
||||
this.pannelAnnoEdit.Style.GradientAngle = 90;
|
||||
this.pannelAnnoEdit.TabIndex = 16;
|
||||
this.pannelAnnoEdit.Text = "panelEx2";
|
||||
this.pannelAnnoEdit.ThemeAware = true;
|
||||
//
|
||||
// labelX1
|
||||
//
|
||||
this.labelX1.AutoSize = true;
|
||||
//
|
||||
//
|
||||
//
|
||||
this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
|
||||
this.labelX1.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.labelX1.Location = new System.Drawing.Point(93, 7);
|
||||
this.labelX1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.labelX1.Name = "labelX1";
|
||||
this.labelX1.Size = new System.Drawing.Size(35, 17);
|
||||
this.labelX1.TabIndex = 10;
|
||||
this.labelX1.Text = "Type:";
|
||||
//
|
||||
// panelAnnoEditBtns
|
||||
//
|
||||
this.panelAnnoEditBtns.CanvasColor = System.Drawing.SystemColors.Control;
|
||||
this.panelAnnoEditBtns.Controls.Add(this.btnRemoveAnnotation);
|
||||
this.panelAnnoEditBtns.Controls.Add(this.btnAddAnnotation);
|
||||
this.panelAnnoEditBtns.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.panelAnnoEditBtns.Dock = System.Windows.Forms.DockStyle.Left;
|
||||
this.panelAnnoEditBtns.Location = new System.Drawing.Point(0, 0);
|
||||
this.panelAnnoEditBtns.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.panelAnnoEditBtns.Name = "panelAnnoEditBtns";
|
||||
this.panelAnnoEditBtns.Size = new System.Drawing.Size(87, 325);
|
||||
this.panelAnnoEditBtns.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.panelAnnoEditBtns.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground;
|
||||
this.panelAnnoEditBtns.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2;
|
||||
this.panelAnnoEditBtns.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.panelAnnoEditBtns.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
|
||||
this.panelAnnoEditBtns.Style.GradientAngle = 90;
|
||||
this.panelAnnoEditBtns.TabIndex = 11;
|
||||
this.panelAnnoEditBtns.ThemeAware = true;
|
||||
//
|
||||
// expandableSplitter4
|
||||
//
|
||||
this.expandableSplitter4.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(101)))), ((int)(((byte)(147)))), ((int)(((byte)(207)))));
|
||||
this.expandableSplitter4.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.expandableSplitter4.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground;
|
||||
this.expandableSplitter4.ExpandFillColor = System.Drawing.Color.FromArgb(((int)(((byte)(101)))), ((int)(((byte)(147)))), ((int)(((byte)(207)))));
|
||||
this.expandableSplitter4.ExpandFillColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.expandableSplitter4.ExpandLineColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
|
||||
this.expandableSplitter4.ExpandLineColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemText;
|
||||
this.expandableSplitter4.GripDarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
|
||||
this.expandableSplitter4.GripDarkColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemText;
|
||||
this.expandableSplitter4.GripLightColor = System.Drawing.Color.FromArgb(((int)(((byte)(227)))), ((int)(((byte)(239)))), ((int)(((byte)(255)))));
|
||||
this.expandableSplitter4.GripLightColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.BarBackground;
|
||||
this.expandableSplitter4.HotBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(151)))), ((int)(((byte)(61)))));
|
||||
this.expandableSplitter4.HotBackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(184)))), ((int)(((byte)(94)))));
|
||||
this.expandableSplitter4.HotBackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemPressedBackground2;
|
||||
this.expandableSplitter4.HotBackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemPressedBackground;
|
||||
this.expandableSplitter4.HotExpandFillColor = System.Drawing.Color.FromArgb(((int)(((byte)(101)))), ((int)(((byte)(147)))), ((int)(((byte)(207)))));
|
||||
this.expandableSplitter4.HotExpandFillColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.expandableSplitter4.HotExpandLineColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
|
||||
this.expandableSplitter4.HotExpandLineColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemText;
|
||||
this.expandableSplitter4.HotGripDarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(101)))), ((int)(((byte)(147)))), ((int)(((byte)(207)))));
|
||||
this.expandableSplitter4.HotGripDarkColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.expandableSplitter4.HotGripLightColor = System.Drawing.Color.FromArgb(((int)(((byte)(227)))), ((int)(((byte)(239)))), ((int)(((byte)(255)))));
|
||||
this.expandableSplitter4.HotGripLightColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.BarBackground;
|
||||
this.expandableSplitter4.Location = new System.Drawing.Point(545, 0);
|
||||
this.expandableSplitter4.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.expandableSplitter4.Name = "expandableSplitter4";
|
||||
this.expandableSplitter4.Size = new System.Drawing.Size(3, 325);
|
||||
this.expandableSplitter4.Style = DevComponents.DotNetBar.eSplitterStyle.Office2007;
|
||||
this.expandableSplitter4.TabIndex = 15;
|
||||
this.expandableSplitter4.TabStop = false;
|
||||
//
|
||||
// pannelAnnoGrid
|
||||
//
|
||||
this.pannelAnnoGrid.CanvasColor = System.Drawing.SystemColors.Control;
|
||||
this.pannelAnnoGrid.Controls.Add(this.dgAnnotations);
|
||||
this.pannelAnnoGrid.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.pannelAnnoGrid.Dock = System.Windows.Forms.DockStyle.Left;
|
||||
this.pannelAnnoGrid.Location = new System.Drawing.Point(0, 0);
|
||||
this.pannelAnnoGrid.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.pannelAnnoGrid.Name = "pannelAnnoGrid";
|
||||
this.pannelAnnoGrid.Size = new System.Drawing.Size(545, 325);
|
||||
this.pannelAnnoGrid.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.pannelAnnoGrid.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground;
|
||||
this.pannelAnnoGrid.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2;
|
||||
this.pannelAnnoGrid.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
|
||||
this.pannelAnnoGrid.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.pannelAnnoGrid.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
|
||||
this.pannelAnnoGrid.Style.GradientAngle = 90;
|
||||
this.pannelAnnoGrid.TabIndex = 14;
|
||||
this.pannelAnnoGrid.Text = "panelEx2";
|
||||
this.pannelAnnoGrid.ThemeAware = true;
|
||||
//
|
||||
// dgAnnotations
|
||||
//
|
||||
this.dgAnnotations.AutoGenerateColumns = false;
|
||||
this.dgAnnotations.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells;
|
||||
this.dgAnnotations.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
|
||||
this.dgAnnotations.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgAnnotations.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.rtxbComment.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(128)))));
|
||||
this.rtxbComment.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.rtxbComment.Location = new System.Drawing.Point(65, 27);
|
||||
this.rtxbComment.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.rtxbComment.Name = "rtxbComment";
|
||||
this.rtxbComment.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.Vertical;
|
||||
this.rtxbComment.Size = new System.Drawing.Size(368, 237);
|
||||
this.superTooltip1.SetSuperTooltip(this.rtxbComment, new DevComponents.DotNetBar.SuperTooltipInfo("Annotation", "", "Enter the annotation information here.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray));
|
||||
this.rtxbComment.TabIndex = 1;
|
||||
this.rtxbComment.Text = "";
|
||||
this.rtxbComment.TextChanged += new System.EventHandler(this.rtxbComment_TextChanged);
|
||||
//
|
||||
// btnSaveAnnotation
|
||||
//
|
||||
this.btnSaveAnnotation.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
|
||||
this.btnSaveAnnotation.Enabled = false;
|
||||
this.btnSaveAnnotation.Location = new System.Drawing.Point(368, 3);
|
||||
this.btnSaveAnnotation.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.btnSaveAnnotation.Name = "btnSaveAnnotation";
|
||||
this.btnSaveAnnotation.Size = new System.Drawing.Size(53, 20);
|
||||
this.superTooltip1.SetSuperTooltip(this.btnSaveAnnotation, new DevComponents.DotNetBar.SuperTooltipInfo("Save Changes", "", "This will save the new annotation or changes made to an existing annotation.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray));
|
||||
this.btnSaveAnnotation.TabIndex = 9;
|
||||
this.btnSaveAnnotation.Text = "Save";
|
||||
this.btnSaveAnnotation.Click += new System.EventHandler(this.btnSaveAnnotation_Click);
|
||||
//
|
||||
// btnCancelAnnoation
|
||||
//
|
||||
this.btnCancelAnnoation.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
|
||||
this.btnCancelAnnoation.Enabled = false;
|
||||
this.btnCancelAnnoation.Location = new System.Drawing.Point(301, 3);
|
||||
this.btnCancelAnnoation.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.btnCancelAnnoation.Name = "btnCancelAnnoation";
|
||||
this.btnCancelAnnoation.Size = new System.Drawing.Size(52, 20);
|
||||
this.superTooltip1.SetSuperTooltip(this.btnCancelAnnoation, new DevComponents.DotNetBar.SuperTooltipInfo("Cancel", "", "This will cancel the changes made to the annotation text and type selection", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(145, 100)));
|
||||
this.btnCancelAnnoation.TabIndex = 8;
|
||||
this.btnCancelAnnoation.Text = "Cancel";
|
||||
this.btnCancelAnnoation.Click += new System.EventHandler(this.btnCancelAnnoation_Click);
|
||||
//
|
||||
// cbGridAnnoType
|
||||
//
|
||||
this.cbGridAnnoType.DisplayMember = "Text";
|
||||
this.cbGridAnnoType.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
|
||||
this.cbGridAnnoType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.cbGridAnnoType.FlatStyle = System.Windows.Forms.FlatStyle.Standard;
|
||||
this.cbGridAnnoType.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.cbGridAnnoType.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
this.cbGridAnnoType.ItemHeight = 17;
|
||||
this.cbGridAnnoType.Location = new System.Drawing.Point(100, 3);
|
||||
this.cbGridAnnoType.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.cbGridAnnoType.Name = "cbGridAnnoType";
|
||||
this.cbGridAnnoType.PreventEnterBeep = true;
|
||||
this.cbGridAnnoType.Size = new System.Drawing.Size(184, 23);
|
||||
this.superTooltip1.SetSuperTooltip(this.cbGridAnnoType, new DevComponents.DotNetBar.SuperTooltipInfo("Select Annotation Type", "", "This drop down list contains the possible annotation types.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray));
|
||||
this.cbGridAnnoType.TabIndex = 7;
|
||||
this.cbGridAnnoType.WatermarkBehavior = DevComponents.DotNetBar.eWatermarkBehavior.HideNonEmpty;
|
||||
this.cbGridAnnoType.WatermarkText = "Select Annotation Type";
|
||||
this.cbGridAnnoType.SelectedValueChanged += new System.EventHandler(this.cbGridAnnoType_SelectedValueChanged);
|
||||
//
|
||||
// btnRemoveAnnotation
|
||||
//
|
||||
this.btnRemoveAnnotation.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
|
||||
this.btnRemoveAnnotation.Location = new System.Drawing.Point(4, 28);
|
||||
this.btnRemoveAnnotation.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.btnRemoveAnnotation.Name = "btnRemoveAnnotation";
|
||||
this.btnRemoveAnnotation.Size = new System.Drawing.Size(53, 20);
|
||||
this.superTooltip1.SetSuperTooltip(this.btnRemoveAnnotation, new DevComponents.DotNetBar.SuperTooltipInfo("Remove Annotation", "", "This will remove the currently selected annotation.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray));
|
||||
this.btnRemoveAnnotation.TabIndex = 4;
|
||||
this.btnRemoveAnnotation.Text = "Remove";
|
||||
this.btnRemoveAnnotation.Click += new System.EventHandler(this.btnRemoveAnnotation_Click);
|
||||
//
|
||||
// btnAddAnnotation
|
||||
//
|
||||
this.btnAddAnnotation.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
|
||||
this.btnAddAnnotation.Location = new System.Drawing.Point(4, 3);
|
||||
this.btnAddAnnotation.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.btnAddAnnotation.Name = "btnAddAnnotation";
|
||||
this.btnAddAnnotation.Size = new System.Drawing.Size(53, 20);
|
||||
this.superTooltip1.SetSuperTooltip(this.btnAddAnnotation, new DevComponents.DotNetBar.SuperTooltipInfo("Add New Annotation", "", "This button will create a new annotation.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray));
|
||||
this.btnAddAnnotation.TabIndex = 3;
|
||||
this.btnAddAnnotation.Text = "Add";
|
||||
this.btnAddAnnotation.Click += new System.EventHandler(this.btnAddAnnotation_Click);
|
||||
//
|
||||
// btnEPAnnotation
|
||||
//
|
||||
this.btnEPAnnotation.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
|
||||
this.btnEPAnnotation.Location = new System.Drawing.Point(4, 52);
|
||||
this.btnEPAnnotation.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.btnEPAnnotation.Name = "btnEPAnnotation";
|
||||
this.btnEPAnnotation.Size = new System.Drawing.Size(53, 20);
|
||||
this.superTooltip1.SetSuperTooltip(this.btnEPAnnotation, new DevComponents.DotNetBar.SuperTooltipInfo("Open Annotation", "", "This will open Electronic Procedure Details for this Annotation.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray));
|
||||
this.btnEPAnnotation.TabIndex = 5;
|
||||
this.btnEPAnnotation.Text = "Open";
|
||||
this.btnEPAnnotation.Visible = false;
|
||||
this.btnEPAnnotation.Click += new System.EventHandler(this.btnEPAnnotation_Click);
|
||||
//
|
||||
// pannelAnnoEdit
|
||||
//
|
||||
this.pannelAnnoEdit.CanvasColor = System.Drawing.SystemColors.Control;
|
||||
this.pannelAnnoEdit.Controls.Add(this.rtxbComment);
|
||||
this.pannelAnnoEdit.Controls.Add(this.btnSaveAnnotation);
|
||||
this.pannelAnnoEdit.Controls.Add(this.btnCancelAnnoation);
|
||||
this.pannelAnnoEdit.Controls.Add(this.labelX1);
|
||||
this.pannelAnnoEdit.Controls.Add(this.cbGridAnnoType);
|
||||
this.pannelAnnoEdit.Controls.Add(this.panelAnnoEditBtns);
|
||||
this.pannelAnnoEdit.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.pannelAnnoEdit.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pannelAnnoEdit.Location = new System.Drawing.Point(411, 0);
|
||||
this.pannelAnnoEdit.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.pannelAnnoEdit.Name = "pannelAnnoEdit";
|
||||
this.pannelAnnoEdit.Size = new System.Drawing.Size(432, 264);
|
||||
this.pannelAnnoEdit.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.pannelAnnoEdit.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground;
|
||||
this.pannelAnnoEdit.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2;
|
||||
this.pannelAnnoEdit.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
|
||||
this.pannelAnnoEdit.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.pannelAnnoEdit.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
|
||||
this.pannelAnnoEdit.Style.GradientAngle = 90;
|
||||
this.pannelAnnoEdit.TabIndex = 16;
|
||||
this.pannelAnnoEdit.Text = "panelEx2";
|
||||
this.pannelAnnoEdit.ThemeAware = true;
|
||||
//
|
||||
// labelX1
|
||||
//
|
||||
this.labelX1.AutoSize = true;
|
||||
//
|
||||
//
|
||||
//
|
||||
this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
|
||||
this.labelX1.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.labelX1.Location = new System.Drawing.Point(70, 6);
|
||||
this.labelX1.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.labelX1.Name = "labelX1";
|
||||
this.labelX1.Size = new System.Drawing.Size(29, 14);
|
||||
this.labelX1.TabIndex = 10;
|
||||
this.labelX1.Text = "Type:";
|
||||
//
|
||||
// panelAnnoEditBtns
|
||||
//
|
||||
this.panelAnnoEditBtns.CanvasColor = System.Drawing.SystemColors.Control;
|
||||
this.panelAnnoEditBtns.Controls.Add(this.btnEPAnnotation);
|
||||
this.panelAnnoEditBtns.Controls.Add(this.btnRemoveAnnotation);
|
||||
this.panelAnnoEditBtns.Controls.Add(this.btnAddAnnotation);
|
||||
this.panelAnnoEditBtns.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.panelAnnoEditBtns.Dock = System.Windows.Forms.DockStyle.Left;
|
||||
this.panelAnnoEditBtns.Location = new System.Drawing.Point(0, 0);
|
||||
this.panelAnnoEditBtns.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.panelAnnoEditBtns.Name = "panelAnnoEditBtns";
|
||||
this.panelAnnoEditBtns.Size = new System.Drawing.Size(65, 264);
|
||||
this.panelAnnoEditBtns.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.panelAnnoEditBtns.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground;
|
||||
this.panelAnnoEditBtns.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2;
|
||||
this.panelAnnoEditBtns.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.panelAnnoEditBtns.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
|
||||
this.panelAnnoEditBtns.Style.GradientAngle = 90;
|
||||
this.panelAnnoEditBtns.TabIndex = 11;
|
||||
this.panelAnnoEditBtns.ThemeAware = true;
|
||||
//
|
||||
// expandableSplitter4
|
||||
//
|
||||
this.expandableSplitter4.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(101)))), ((int)(((byte)(147)))), ((int)(((byte)(207)))));
|
||||
this.expandableSplitter4.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.expandableSplitter4.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground;
|
||||
this.expandableSplitter4.ExpandFillColor = System.Drawing.Color.FromArgb(((int)(((byte)(101)))), ((int)(((byte)(147)))), ((int)(((byte)(207)))));
|
||||
this.expandableSplitter4.ExpandFillColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.expandableSplitter4.ExpandLineColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
|
||||
this.expandableSplitter4.ExpandLineColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemText;
|
||||
this.expandableSplitter4.GripDarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
|
||||
this.expandableSplitter4.GripDarkColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemText;
|
||||
this.expandableSplitter4.GripLightColor = System.Drawing.Color.FromArgb(((int)(((byte)(227)))), ((int)(((byte)(239)))), ((int)(((byte)(255)))));
|
||||
this.expandableSplitter4.GripLightColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.BarBackground;
|
||||
this.expandableSplitter4.HotBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(151)))), ((int)(((byte)(61)))));
|
||||
this.expandableSplitter4.HotBackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(184)))), ((int)(((byte)(94)))));
|
||||
this.expandableSplitter4.HotBackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemPressedBackground2;
|
||||
this.expandableSplitter4.HotBackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemPressedBackground;
|
||||
this.expandableSplitter4.HotExpandFillColor = System.Drawing.Color.FromArgb(((int)(((byte)(101)))), ((int)(((byte)(147)))), ((int)(((byte)(207)))));
|
||||
this.expandableSplitter4.HotExpandFillColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.expandableSplitter4.HotExpandLineColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
|
||||
this.expandableSplitter4.HotExpandLineColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemText;
|
||||
this.expandableSplitter4.HotGripDarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(101)))), ((int)(((byte)(147)))), ((int)(((byte)(207)))));
|
||||
this.expandableSplitter4.HotGripDarkColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.expandableSplitter4.HotGripLightColor = System.Drawing.Color.FromArgb(((int)(((byte)(227)))), ((int)(((byte)(239)))), ((int)(((byte)(255)))));
|
||||
this.expandableSplitter4.HotGripLightColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.BarBackground;
|
||||
this.expandableSplitter4.Location = new System.Drawing.Point(409, 0);
|
||||
this.expandableSplitter4.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.expandableSplitter4.Name = "expandableSplitter4";
|
||||
this.expandableSplitter4.Size = new System.Drawing.Size(2, 264);
|
||||
this.expandableSplitter4.Style = DevComponents.DotNetBar.eSplitterStyle.Office2007;
|
||||
this.expandableSplitter4.TabIndex = 15;
|
||||
this.expandableSplitter4.TabStop = false;
|
||||
//
|
||||
// pannelAnnoGrid
|
||||
//
|
||||
this.pannelAnnoGrid.CanvasColor = System.Drawing.SystemColors.Control;
|
||||
this.pannelAnnoGrid.Controls.Add(this.dgAnnotations);
|
||||
this.pannelAnnoGrid.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.pannelAnnoGrid.Dock = System.Windows.Forms.DockStyle.Left;
|
||||
this.pannelAnnoGrid.Location = new System.Drawing.Point(0, 0);
|
||||
this.pannelAnnoGrid.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.pannelAnnoGrid.Name = "pannelAnnoGrid";
|
||||
this.pannelAnnoGrid.Size = new System.Drawing.Size(409, 264);
|
||||
this.pannelAnnoGrid.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.pannelAnnoGrid.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground;
|
||||
this.pannelAnnoGrid.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2;
|
||||
this.pannelAnnoGrid.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
|
||||
this.pannelAnnoGrid.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.pannelAnnoGrid.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
|
||||
this.pannelAnnoGrid.Style.GradientAngle = 90;
|
||||
this.pannelAnnoGrid.TabIndex = 14;
|
||||
this.pannelAnnoGrid.Text = "panelEx2";
|
||||
this.pannelAnnoGrid.ThemeAware = true;
|
||||
//
|
||||
// dgAnnotations
|
||||
//
|
||||
this.dgAnnotations.AutoGenerateColumns = false;
|
||||
this.dgAnnotations.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells;
|
||||
this.dgAnnotations.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
|
||||
this.dgAnnotations.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgAnnotations.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.myAnnotationTypeDataGridViewTextBoxColumn,
|
||||
this.dTSDataGridViewTextBoxColumn,
|
||||
this.userIDDataGridViewTextBoxColumn,
|
||||
this.searchTextDataGridViewTextBoxColumn});
|
||||
this.dgAnnotations.DataSource = this.itemAnnotationsBindingSource;
|
||||
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Window;
|
||||
dataGridViewCellStyle2.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.ControlText;
|
||||
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dgAnnotations.DefaultCellStyle = dataGridViewCellStyle2;
|
||||
this.dgAnnotations.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.dgAnnotations.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(215)))), ((int)(((byte)(229)))));
|
||||
this.dgAnnotations.HighlightSelectedColumnHeaders = false;
|
||||
this.dgAnnotations.Location = new System.Drawing.Point(0, 0);
|
||||
this.dgAnnotations.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.dgAnnotations.MultiSelect = false;
|
||||
this.dgAnnotations.Name = "dgAnnotations";
|
||||
this.dgAnnotations.RowHeadersVisible = false;
|
||||
this.dgAnnotations.RowTemplate.Height = 24;
|
||||
this.dgAnnotations.RowTemplate.ReadOnly = true;
|
||||
this.dgAnnotations.RowTemplate.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.dgAnnotations.SelectAllSignVisible = false;
|
||||
this.dgAnnotations.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
|
||||
this.dgAnnotations.Size = new System.Drawing.Size(545, 325);
|
||||
this.dgAnnotations.TabIndex = 1;
|
||||
this.dgAnnotations.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgAnnotations_CellClick);
|
||||
//
|
||||
// myAnnotationTypeDataGridViewTextBoxColumn
|
||||
//
|
||||
this.myAnnotationTypeDataGridViewTextBoxColumn.DataPropertyName = "MyAnnotationType";
|
||||
this.myAnnotationTypeDataGridViewTextBoxColumn.HeaderText = "Type";
|
||||
this.myAnnotationTypeDataGridViewTextBoxColumn.Name = "myAnnotationTypeDataGridViewTextBoxColumn";
|
||||
this.myAnnotationTypeDataGridViewTextBoxColumn.Width = 69;
|
||||
//
|
||||
// dTSDataGridViewTextBoxColumn
|
||||
//
|
||||
this.dTSDataGridViewTextBoxColumn.DataPropertyName = "DTS";
|
||||
this.dTSDataGridViewTextBoxColumn.HeaderText = "Date";
|
||||
this.dTSDataGridViewTextBoxColumn.Name = "dTSDataGridViewTextBoxColumn";
|
||||
this.dTSDataGridViewTextBoxColumn.Width = 67;
|
||||
//
|
||||
// userIDDataGridViewTextBoxColumn
|
||||
//
|
||||
this.userIDDataGridViewTextBoxColumn.DataPropertyName = "UserID";
|
||||
this.userIDDataGridViewTextBoxColumn.HeaderText = "User";
|
||||
this.userIDDataGridViewTextBoxColumn.Name = "userIDDataGridViewTextBoxColumn";
|
||||
this.userIDDataGridViewTextBoxColumn.Width = 67;
|
||||
//
|
||||
// searchTextDataGridViewTextBoxColumn
|
||||
//
|
||||
this.searchTextDataGridViewTextBoxColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
|
||||
this.searchTextDataGridViewTextBoxColumn.DataPropertyName = "SearchText";
|
||||
this.searchTextDataGridViewTextBoxColumn.HeaderText = "Description";
|
||||
this.searchTextDataGridViewTextBoxColumn.Name = "searchTextDataGridViewTextBoxColumn";
|
||||
//
|
||||
// itemAnnotationsBindingSource
|
||||
//
|
||||
this.itemAnnotationsBindingSource.DataSource = typeof(VEPROMS.CSLA.Library.ItemAnnotation);
|
||||
//
|
||||
// AnnotationDetails
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.pannelAnnoEdit);
|
||||
this.Controls.Add(this.expandableSplitter4);
|
||||
this.Controls.Add(this.pannelAnnoGrid);
|
||||
this.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.Name = "AnnotationDetails";
|
||||
this.Size = new System.Drawing.Size(1124, 325);
|
||||
this.pannelAnnoEdit.ResumeLayout(false);
|
||||
this.pannelAnnoEdit.PerformLayout();
|
||||
this.panelAnnoEditBtns.ResumeLayout(false);
|
||||
this.pannelAnnoGrid.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgAnnotations)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.itemAnnotationsBindingSource)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.dgAnnotations.DataSource = this.itemAnnotationsBindingSource;
|
||||
dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window;
|
||||
dataGridViewCellStyle1.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.ControlText;
|
||||
dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dgAnnotations.DefaultCellStyle = dataGridViewCellStyle1;
|
||||
this.dgAnnotations.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.dgAnnotations.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(215)))), ((int)(((byte)(229)))));
|
||||
this.dgAnnotations.HighlightSelectedColumnHeaders = false;
|
||||
this.dgAnnotations.Location = new System.Drawing.Point(0, 0);
|
||||
this.dgAnnotations.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.dgAnnotations.MultiSelect = false;
|
||||
this.dgAnnotations.Name = "dgAnnotations";
|
||||
this.dgAnnotations.RowHeadersVisible = false;
|
||||
this.dgAnnotations.RowTemplate.Height = 24;
|
||||
this.dgAnnotations.RowTemplate.ReadOnly = true;
|
||||
this.dgAnnotations.RowTemplate.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.dgAnnotations.SelectAllSignVisible = false;
|
||||
this.dgAnnotations.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
|
||||
this.dgAnnotations.Size = new System.Drawing.Size(409, 264);
|
||||
this.dgAnnotations.TabIndex = 1;
|
||||
this.dgAnnotations.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgAnnotations_CellClick);
|
||||
//
|
||||
// myAnnotationTypeDataGridViewTextBoxColumn
|
||||
//
|
||||
this.myAnnotationTypeDataGridViewTextBoxColumn.DataPropertyName = "MyAnnotationType";
|
||||
this.myAnnotationTypeDataGridViewTextBoxColumn.HeaderText = "Type";
|
||||
this.myAnnotationTypeDataGridViewTextBoxColumn.Name = "myAnnotationTypeDataGridViewTextBoxColumn";
|
||||
this.myAnnotationTypeDataGridViewTextBoxColumn.Width = 56;
|
||||
//
|
||||
// dTSDataGridViewTextBoxColumn
|
||||
//
|
||||
this.dTSDataGridViewTextBoxColumn.DataPropertyName = "DTS";
|
||||
this.dTSDataGridViewTextBoxColumn.HeaderText = "Date";
|
||||
this.dTSDataGridViewTextBoxColumn.Name = "dTSDataGridViewTextBoxColumn";
|
||||
this.dTSDataGridViewTextBoxColumn.Width = 55;
|
||||
//
|
||||
// userIDDataGridViewTextBoxColumn
|
||||
//
|
||||
this.userIDDataGridViewTextBoxColumn.DataPropertyName = "UserID";
|
||||
this.userIDDataGridViewTextBoxColumn.HeaderText = "User";
|
||||
this.userIDDataGridViewTextBoxColumn.Name = "userIDDataGridViewTextBoxColumn";
|
||||
this.userIDDataGridViewTextBoxColumn.Width = 54;
|
||||
//
|
||||
// searchTextDataGridViewTextBoxColumn
|
||||
//
|
||||
this.searchTextDataGridViewTextBoxColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
|
||||
this.searchTextDataGridViewTextBoxColumn.DataPropertyName = "SearchText";
|
||||
this.searchTextDataGridViewTextBoxColumn.HeaderText = "Description";
|
||||
this.searchTextDataGridViewTextBoxColumn.Name = "searchTextDataGridViewTextBoxColumn";
|
||||
//
|
||||
// itemAnnotationsBindingSource
|
||||
//
|
||||
this.itemAnnotationsBindingSource.DataSource = typeof(VEPROMS.CSLA.Library.ItemAnnotation);
|
||||
//
|
||||
// AnnotationDetails
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.pannelAnnoEdit);
|
||||
this.Controls.Add(this.expandableSplitter4);
|
||||
this.Controls.Add(this.pannelAnnoGrid);
|
||||
this.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.Name = "AnnotationDetails";
|
||||
this.Size = new System.Drawing.Size(843, 264);
|
||||
this.pannelAnnoEdit.ResumeLayout(false);
|
||||
this.pannelAnnoEdit.PerformLayout();
|
||||
this.panelAnnoEditBtns.ResumeLayout(false);
|
||||
this.pannelAnnoGrid.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgAnnotations)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.itemAnnotationsBindingSource)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
@@ -371,5 +386,6 @@ namespace Volian.Controls.Library
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn dTSDataGridViewTextBoxColumn;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn userIDDataGridViewTextBoxColumn;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn searchTextDataGridViewTextBoxColumn;
|
||||
}
|
||||
private DevComponents.DotNetBar.ButtonX btnEPAnnotation;
|
||||
}
|
||||
}
|
||||
|
@@ -119,8 +119,8 @@ namespace Volian.Controls.Library
|
||||
if (CurrentItem.MyDocVersion != null)
|
||||
if (CurrentItem.MyDocVersion.DocVersionAssociationCount > 0)
|
||||
_ROPath = CurrentItem.MyDocVersion.DocVersionAssociations[0].MyROFst.MyRODb.FolderPath;
|
||||
ProcItem = CurrentItem.MyProcedure;
|
||||
}
|
||||
|
||||
}
|
||||
public AnnotationInfo FirstExeAnnotation(ItemInfo ii)
|
||||
{
|
||||
if (ii == null) return null;
|
||||
@@ -329,14 +329,22 @@ namespace Volian.Controls.Library
|
||||
AnnotationDirty = true;
|
||||
}
|
||||
|
||||
private void dgAnnotations_CellClick(object sender, DataGridViewCellEventArgs e)
|
||||
//C2025-023 - Electronic Procedures - Modifications to PROMS
|
||||
// Only show Open button if it is an EPAnnotationType
|
||||
private void dgAnnotations_CellClick(object sender, DataGridViewCellEventArgs e)
|
||||
{
|
||||
if (!_LoadingGrid) // Only set the Current Annotation when not loading the grid
|
||||
btnEPAnnotation.Visible = false;
|
||||
|
||||
if (!_LoadingGrid) // Only set the Current Annotation when not loading the grid
|
||||
{
|
||||
if ((_Annotations != null) && (dgAnnotations.Rows.Count > 0))
|
||||
CurrentAnnotation = _Annotations[dgAnnotations.CurrentRow.Index];
|
||||
else
|
||||
CurrentAnnotation = null;
|
||||
if ((_Annotations != null) && (dgAnnotations.Rows.Count > 0))
|
||||
{
|
||||
CurrentAnnotation = _Annotations[dgAnnotations.CurrentRow.Index];
|
||||
if (CurrentAnnotation.MyAnnotationType.IsEPAnnotationType && CurrentItem.HasEPformat(CurrentAnnotation.MyAnnotationType.TypeID))
|
||||
btnEPAnnotation.Visible = true;
|
||||
}
|
||||
else
|
||||
CurrentAnnotation = null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -356,7 +364,11 @@ namespace Volian.Controls.Library
|
||||
|
||||
cbGridAnnoType.DisplayMember = "Name";
|
||||
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.
|
||||
// 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.
|
||||
@@ -600,6 +612,7 @@ namespace Volian.Controls.Library
|
||||
public void UpdateAnnotationGrid(ItemInfo currentitem)
|
||||
{
|
||||
CurrentItem = currentitem;
|
||||
btnEPAnnotation.Visible = false;
|
||||
UpdateAnnotationGrid();
|
||||
}
|
||||
|
||||
@@ -702,5 +715,12 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
#endregion
|
||||
|
||||
}
|
||||
//C2025-023 - Electronic Procedures - Modifications to PROMS
|
||||
// Open new Dynamic Form if open button selected
|
||||
private void btnEPAnnotation_Click(object sender, EventArgs e)
|
||||
{
|
||||
frmEPAnnotationDetails EPfrm = new frmEPAnnotationDetails(CurrentAnnotation);
|
||||
DialogResult dr = EPfrm.ShowDialog(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -69,6 +69,7 @@ namespace Volian.Controls.Library
|
||||
_AnnotationDetails = annotationDetails;
|
||||
cbAnnoType.DisplayMember = "Name";
|
||||
cbAnnoType.DataSource = AnnotationTypeInfoList.Get();
|
||||
lbResults.MouseMove -= new MouseEventHandler(lbResults_MouseMove);
|
||||
lbResults.MouseMove += new MouseEventHandler(lbResults_MouseMove);
|
||||
_TabControl = tc;
|
||||
}
|
||||
|
@@ -354,7 +354,10 @@ namespace Volian.Controls.Library
|
||||
private void WireCheckboxes()
|
||||
{
|
||||
foreach (CheckBox cb in MyCheckBoxes.Values)
|
||||
{
|
||||
cb.CheckedChanged -= new EventHandler(cb_CheckedChanged);
|
||||
cb.CheckedChanged += new EventHandler(cb_CheckedChanged);
|
||||
}
|
||||
}
|
||||
private void UnwireCheckboxes(bool reset)
|
||||
{
|
||||
|
@@ -211,7 +211,9 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
_myRTB = value;
|
||||
|
||||
MyRTB.LinkChanged -= new StepRTBLinkEvent(MyRTB_LinkChanged);
|
||||
MyRTB.LinkChanged += new StepRTBLinkEvent(MyRTB_LinkChanged);
|
||||
MyRTB.SelectionChanged -= new EventHandler(MyRTB_SelectionChanged);
|
||||
MyRTB.SelectionChanged += new EventHandler(MyRTB_SelectionChanged);
|
||||
|
||||
if (string.IsNullOrEmpty(MyRTB.MyLinkText))
|
||||
|
@@ -161,8 +161,11 @@ namespace Volian.Controls.Library
|
||||
|
||||
if (_MyROFSTLookup == null) return;
|
||||
|
||||
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.AfterCollapse -= new AdvTreeNodeEventHandler(advTreeRO_AfterExpandorCollapse);
|
||||
advTreeRO.AfterCollapse += new AdvTreeNodeEventHandler(advTreeRO_AfterExpandorCollapse);
|
||||
|
||||
topnode = new DevComponents.AdvTree.Node();
|
||||
@@ -250,6 +253,7 @@ namespace Volian.Controls.Library
|
||||
topnode.Tag = fi;
|
||||
}
|
||||
|
||||
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
|
||||
|
@@ -468,7 +468,9 @@ namespace Volian.Controls.Library
|
||||
lastLastFormatID = fv.FormatID;
|
||||
}
|
||||
}
|
||||
cbxTranVersion.SelectedIndexChanged -= new EventHandler(cbxTranVersion_SelectedIndexChanged);
|
||||
cbxTranVersion.SelectedIndexChanged += new EventHandler(cbxTranVersion_SelectedIndexChanged);
|
||||
cbxTranFormat.SelectedIndexChanged -= new EventHandler(cbxTranFormat_SelectedIndexChanged);
|
||||
cbxTranFormat.SelectedIndexChanged += new EventHandler(cbxTranFormat_SelectedIndexChanged);
|
||||
}
|
||||
this.Cursor = Cursors.Default;
|
||||
@@ -892,6 +894,7 @@ namespace Volian.Controls.Library
|
||||
topnode.DataKey = fi.FolderID;
|
||||
}
|
||||
|
||||
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
|
||||
@@ -986,6 +989,7 @@ namespace Volian.Controls.Library
|
||||
annoTypes.Add(new AnnotationTypeSearch(ati.Name, ati.TypeID.ToString()));
|
||||
cbxAnnoTypes.DisplayMember = "Name";
|
||||
cbxAnnoTypes.DataSource = annoTypes;
|
||||
lbSrchResults.MouseMove -= new MouseEventHandler(lbSrchResults_MouseMove);
|
||||
lbSrchResults.MouseMove += new MouseEventHandler(lbSrchResults_MouseMove);
|
||||
_TabControl = tc;
|
||||
}
|
||||
|
@@ -10,6 +10,7 @@ using Volian.Controls.Library;
|
||||
using DevComponents.DotNetBar;
|
||||
using JR.Utils.GUI.Forms;
|
||||
using Volian.Base.Library;
|
||||
using Microsoft.Win32;
|
||||
|
||||
namespace Volian.Controls.Library
|
||||
{
|
||||
@@ -377,7 +378,10 @@ namespace Volian.Controls.Library
|
||||
{
|
||||
_MyStepRTB = _MyEditItem.MyStepRTB;
|
||||
if (_MyStepRTB != null)
|
||||
{
|
||||
_MyStepRTB.Disposed -= new EventHandler(_MyStepRTB_Disposed);
|
||||
_MyStepRTB.Disposed += new EventHandler(_MyStepRTB_Disposed);
|
||||
}
|
||||
}
|
||||
else
|
||||
_MyStepRTB = null;
|
||||
@@ -468,6 +472,7 @@ namespace Volian.Controls.Library
|
||||
myBar.DockTabControl.CloseButtonPosition = DevComponents.DotNetBar.eTabCloseButtonPosition.Right;
|
||||
myBar.DockTabControl.Width = ClientRectangle.Width;
|
||||
}
|
||||
myBar.DockTabClosing -= new DockTabClosingEventHandler(myBar_DockTabClosing);
|
||||
myBar.DockTabClosing += new DockTabClosingEventHandler(myBar_DockTabClosing);
|
||||
if (!myBar.Visible)
|
||||
myBar.Visible = true;
|
||||
@@ -658,11 +663,35 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
else // Otherwise open it in the Word editor
|
||||
{
|
||||
Document.ConvertWordSectionToDOCX(myItemInfo); // B2023-093 Convert a Word section to the DOCX Word format if needed before opening it for edit
|
||||
return OpenDSOTabPage(myItemInfo);
|
||||
}
|
||||
}
|
||||
// B2025-034 Check to make sure that EDWord is installed in PROMS. If not return NULL.
|
||||
object EDOfficeViewerX = GetValue<object>(@"HKEY_CLASSES_ROOT\EDOfficeViewerX.Connect\CLSID\", @"", null);
|
||||
|
||||
object EDWordCtrl = GetValue<object>(@"HKEY_CLASSES_ROOT\EDWORD.EDWordCtrl.1\CLSID\", @"", null);
|
||||
|
||||
if (EDOfficeViewerX == null || EDWordCtrl == null)
|
||||
{
|
||||
|
||||
MessageBox.Show("Edraw needs to be installed or reinstalled on this device. " + Environment.NewLine + "" + Environment.NewLine +
|
||||
"Please contact your IT Administrator to install and register Edraw that was provided with the PROMS Installation media. If additional support is needed, please contact Volian.", "Error in Word section",
|
||||
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||||
return null;
|
||||
}
|
||||
else
|
||||
{
|
||||
Document.ConvertWordSectionToDOCX(myItemInfo); // B2023-093 Convert a Word section to the DOCX Word format if needed before opening it for edit
|
||||
return OpenDSOTabPage(myItemInfo);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
public T GetValue<T>(string registryKeyPath, string value, T defaultValue = default(T))
|
||||
{
|
||||
T retVal = default(T);
|
||||
|
||||
retVal = (T)Registry.GetValue(registryKeyPath, value, defaultValue);
|
||||
|
||||
return retVal;
|
||||
}
|
||||
public bool PasteRTBItem(ItemInfo myItemInfo, int copyStartID, ItemInfo.EAddpingPart pasteType, int type)
|
||||
{
|
||||
CleanUpClosedItems();
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -524,7 +524,56 @@ namespace Volian.Controls.Library
|
||||
ItemInfo secitm = (ItemInfo)cbTranSects.SelectedItem;
|
||||
bool hasMetaSubs = secitm.IsSection && secitm.Sections != null && secitm.Sections.Count > 0;
|
||||
bool editSteps = !hasMetaSubs || (secitm.MyConfig is SectionConfig && (secitm.MyConfig as SectionConfig).SubSection_Edit == "Y");
|
||||
if (!editSteps) return;
|
||||
if (!editSteps)
|
||||
{
|
||||
if (secitm.Sections != null)
|
||||
{
|
||||
// if the transition to point is a section or procedure, just return
|
||||
if (startitm.MyContent.Type < 20000) return;
|
||||
groupPanelTranstionSteps.Style.BackColor = Color.Cornsilk;
|
||||
// For the tree view, use parent, unless already at HLS. If at HLS, use this level.
|
||||
//ItemInfo selitm2 = startitm.MyHLS;
|
||||
ItemInfo selSubSec = secitm.Sections[0];
|
||||
|
||||
// The commented out code below is for displaying the steps from the first sub-section B2025-035
|
||||
//ItemInfo subSelStep = selSubSec.Steps[0];
|
||||
//E_TransUI etm2 = (E_TransUI)_CurItemFrom.ActiveFormat.PlantFormat.FormatData.TransData.TransTypeList[listBoxTranFmt.SelectedIndex].TransUI;
|
||||
//if (subSelStep.IsInRNO)
|
||||
// startitm = subSelStep.FirstSibling; // if in RNO tree, start out with HLS
|
||||
//else
|
||||
// startitm = subSelStep != null ? subSelStep.FirstSibling : startitm.FirstSibling;
|
||||
|
||||
// B2025-035
|
||||
ItemInfo subSelStep = secitm.Sections[0];
|
||||
E_TransUI etm2 = (E_TransUI)_CurItemFrom.ActiveFormat.PlantFormat.FormatData.TransData.TransTypeList[listBoxTranFmt.SelectedIndex].TransUI;
|
||||
if (subSelStep.IsInRNO)
|
||||
startitm = subSelStep.FirstSibling; // if in RNO tree, start out with HLS
|
||||
else
|
||||
startitm = subSelStep != null ? subSelStep.FirstSibling : startitm.FirstSibling;
|
||||
|
||||
// B2025-035
|
||||
bool setsel2 = false;
|
||||
while (startitm != null)
|
||||
{
|
||||
VETreeNode tvn = new VETreeNode(startitm, false);
|
||||
tvn.Tag = startitm;
|
||||
int active = this.tvTran.Nodes.Add(tvn);
|
||||
if (subSelStep != null && startitm.ItemID == subSelStep.ItemID)
|
||||
{
|
||||
tvTran.SelectedNode = tvTran.Nodes[active];
|
||||
setsel2 = true;
|
||||
}
|
||||
startitm = startitm.GetNext();
|
||||
}
|
||||
if (!setsel2) tvTran.SelectedNode = tvTran.Nodes[0];
|
||||
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
|
||||
tvTran.ItemHeight++;
|
||||
tvTran.ItemHeight--;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// if the transition to point is a section or procedure, just return
|
||||
if (startitm.MyContent.Type < 20000) return;
|
||||
@@ -551,6 +600,7 @@ namespace Volian.Controls.Library
|
||||
startitm = startitm.GetNext();
|
||||
}
|
||||
if (!setsel) tvTran.SelectedNode = tvTran.Nodes[0];
|
||||
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
|
||||
tvTran.ItemHeight++;
|
||||
@@ -934,7 +984,13 @@ namespace Volian.Controls.Library
|
||||
// a different section was selected, if step section, update step list, otherwise, empty
|
||||
// it & disable.
|
||||
ItemInfo secitm = (ItemInfo)cbTranSects.SelectedItem;
|
||||
if (!secitm.IsStepSection)
|
||||
|
||||
//if (secitm.IsStepSection)
|
||||
//{
|
||||
// cbTranSects.SelectedItem.Sections[0];
|
||||
|
||||
//}
|
||||
if (!secitm.IsStepSection)
|
||||
{
|
||||
tvTran.Nodes.Clear();
|
||||
tvTran.Enabled = false;
|
||||
|
@@ -214,10 +214,14 @@ namespace Volian.Controls.Library
|
||||
UserCheckOffChar = (char)co.UIMark;
|
||||
}
|
||||
// Deal with changes in content data
|
||||
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);
|
||||
// Deal with change in item data
|
||||
value.Changed -= new ItemInfoEvent(value_Changed);
|
||||
value.Changed += new ItemInfoEvent(value_Changed);
|
||||
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
|
||||
//if (value.FormatStepData != null && value.FormatStepData.TabData.IdentPrint.Contains("C0")) Circle = true;
|
||||
@@ -758,7 +762,7 @@ namespace Volian.Controls.Library
|
||||
// clear tabs, clears then all so that next 'get' will calculate new.
|
||||
public void SetAllTabs()
|
||||
{
|
||||
RefreshTab();
|
||||
RefreshTab();
|
||||
|
||||
if (_MyAfterEditItems != null) _MyAfterEditItems[0].SetAllTabs(); // B2020-043: used to loop through all, but then recursion would redo.
|
||||
if (_MyNextEditItem != null) _MyNextEditItem.SetAllTabs();
|
||||
@@ -1160,7 +1164,7 @@ namespace Volian.Controls.Library
|
||||
{
|
||||
if (myItemInfoList != null)
|
||||
foreach (ItemInfo item in myItemInfoList)
|
||||
AddChildBefore(item, expand);
|
||||
AddChildBefore(item, expand);
|
||||
}
|
||||
public EditItem AddChildBefore(ItemInfoList myItemInfoList, EditItem nextEditItem)
|
||||
{
|
||||
@@ -3994,11 +3998,16 @@ namespace Volian.Controls.Library
|
||||
// TODO: Adjust top based upon format
|
||||
// TODO: Remove Label and just output ident on the paint event
|
||||
TabLeft = 20;
|
||||
SetupHeader(itemInfo);
|
||||
if (!itemInfo.IsStep) // C2025-036 reduce un-needed processing - this will prevent duplicat calls that generate step tabs when loading a procedure
|
||||
SetupHeader(itemInfo);
|
||||
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.BackColorChanged -= new EventHandler(EditItem_BackColorChanged);
|
||||
this.BackColorChanged += new EventHandler(EditItem_BackColorChanged);
|
||||
this.Move -= new EventHandler(EditItem_Move);
|
||||
this.Move += new EventHandler(EditItem_Move);
|
||||
this.Resize -= new EventHandler(EditItem_Resize);
|
||||
this.Resize += new EventHandler(EditItem_Resize);
|
||||
if (itemInfo != null)
|
||||
{
|
||||
@@ -4049,6 +4058,7 @@ namespace Volian.Controls.Library
|
||||
SeqLevel = myParentEditItem.SeqLevel + ((myChildRelation == ChildRelation.After || myChildRelation == ChildRelation.Before) && itemInfo.IsSequential ? 1 : 0);
|
||||
//// TIMING: DisplayItem.TimeIt("CSLARTB seqLevel");
|
||||
MyItemInfo = itemInfo;
|
||||
MyItemInfo.MyConfig.PropertyChanged -= new PropertyChangedEventHandler(MyConfig_PropertyChanged);
|
||||
MyItemInfo.MyConfig.PropertyChanged += new PropertyChangedEventHandler(MyConfig_PropertyChanged);
|
||||
}
|
||||
//// TIMING: DisplayItem.TimeIt("CSLARTB MyItem");
|
||||
|
52
PROMS/Volian.Controls.Library/ListBoxMulti.cs
Normal file
52
PROMS/Volian.Controls.Library/ListBoxMulti.cs
Normal file
@@ -0,0 +1,52 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Volian.Controls.Library
|
||||
{
|
||||
//Class to handle bug in Windows WinForms ListBox
|
||||
// that autoselects first item when no items are selected
|
||||
public partial class ListBoxMulti : ListBox
|
||||
{
|
||||
public ListBoxMulti()
|
||||
{
|
||||
Visible = true;
|
||||
SelectionMode = SelectionMode.MultiSimple;
|
||||
|
||||
SelectedIndexChanged += lb_SelectedIndexChanged;
|
||||
|
||||
Disposed += ListBoxMulti_Disposed;
|
||||
}
|
||||
|
||||
//singleselectedindex
|
||||
// will help to fix bug in Winforms ListBox
|
||||
// that autoselects first item when no items are selected
|
||||
// -1 = multi or set to this after 1st initialization
|
||||
// if this = 0 and only 1 item selected,
|
||||
// that means item was autoselected, so clear all items.
|
||||
public int singleselectedindex { get; set; }
|
||||
private void lb_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
ListBoxMulti tmp = (ListBoxMulti)sender;
|
||||
|
||||
if (tmp.SelectedItems.Count == 1 && tmp.singleselectedindex == 0)
|
||||
{
|
||||
tmp.ClearSelected();
|
||||
}
|
||||
else if (tmp.SelectedItems.Count == 1)
|
||||
tmp.singleselectedindex = tmp.SelectedIndex;
|
||||
else
|
||||
tmp.singleselectedindex = -1;
|
||||
|
||||
}
|
||||
|
||||
//remove event when get rid of object
|
||||
private void ListBoxMulti_Disposed(object sender, EventArgs e)
|
||||
{
|
||||
SelectedIndexChanged -= lb_SelectedIndexChanged;
|
||||
}
|
||||
}
|
||||
}
|
@@ -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 + @"}}";
|
||||
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
|
||||
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");
|
||||
|
149
PROMS/Volian.Controls.Library/TablePropertiesControl.Designer.cs
generated
Normal file
149
PROMS/Volian.Controls.Library/TablePropertiesControl.Designer.cs
generated
Normal file
@@ -0,0 +1,149 @@
|
||||
|
||||
namespace Volian.Controls.Library
|
||||
{
|
||||
partial class TablePropertiesControl
|
||||
{
|
||||
/// <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 Component 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.lbl_Rows = new System.Windows.Forms.Label();
|
||||
this.lbl_Cols = new System.Windows.Forms.Label();
|
||||
this.NumRows = new System.Windows.Forms.NumericUpDown();
|
||||
this.NumCols = new System.Windows.Forms.NumericUpDown();
|
||||
this.dataview = new System.Windows.Forms.DataGridView();
|
||||
this.lbltitle = new System.Windows.Forms.Label();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NumRows)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NumCols)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dataview)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// lbl_Rows
|
||||
//
|
||||
this.lbl_Rows.AutoSize = true;
|
||||
this.lbl_Rows.Location = new System.Drawing.Point(0, 34);
|
||||
this.lbl_Rows.Name = "lbl_Rows";
|
||||
this.lbl_Rows.Size = new System.Drawing.Size(89, 13);
|
||||
this.lbl_Rows.TabIndex = 0;
|
||||
this.lbl_Rows.Text = "Number of Rows:";
|
||||
//
|
||||
// lbl_Cols
|
||||
//
|
||||
this.lbl_Cols.AutoSize = true;
|
||||
this.lbl_Cols.Location = new System.Drawing.Point(0, 56);
|
||||
this.lbl_Cols.Name = "lbl_Cols";
|
||||
this.lbl_Cols.Size = new System.Drawing.Size(102, 13);
|
||||
this.lbl_Cols.TabIndex = 1;
|
||||
this.lbl_Cols.Text = "Number of Columns:";
|
||||
//
|
||||
// NumRows
|
||||
//
|
||||
this.NumRows.Location = new System.Drawing.Point(114, 32);
|
||||
this.NumRows.Minimum = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NumRows.Name = "NumRows";
|
||||
this.NumRows.Size = new System.Drawing.Size(47, 20);
|
||||
this.NumRows.TabIndex = 3;
|
||||
this.NumRows.Value = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NumRows.ValueChanged += new System.EventHandler(this.NumRows_ValueChanged);
|
||||
//
|
||||
// NumCols
|
||||
//
|
||||
this.NumCols.Location = new System.Drawing.Point(114, 54);
|
||||
this.NumCols.Minimum = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NumCols.Name = "NumCols";
|
||||
this.NumCols.Size = new System.Drawing.Size(47, 20);
|
||||
this.NumCols.TabIndex = 4;
|
||||
this.NumCols.Value = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.NumCols.ValueChanged += new System.EventHandler(this.NumCols_ValueChanged);
|
||||
//
|
||||
// dataview
|
||||
//
|
||||
this.dataview.AllowUserToAddRows = false;
|
||||
this.dataview.AllowUserToDeleteRows = false;
|
||||
this.dataview.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.dataview.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dataview.ColumnHeadersVisible = false;
|
||||
this.dataview.Location = new System.Drawing.Point(3, 73);
|
||||
this.dataview.Name = "dataview";
|
||||
this.dataview.Size = new System.Drawing.Size(316, 150);
|
||||
this.dataview.TabIndex = 5;
|
||||
this.dataview.CellEndEdit += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataview_CellEndEdit);
|
||||
//
|
||||
// lbltitle
|
||||
//
|
||||
this.lbltitle.AutoSize = true;
|
||||
this.lbltitle.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.lbltitle.Location = new System.Drawing.Point(3, 4);
|
||||
this.lbltitle.Name = "lbltitle";
|
||||
this.lbltitle.Size = new System.Drawing.Size(0, 17);
|
||||
this.lbltitle.TabIndex = 6;
|
||||
//
|
||||
// TablePropertiesControl
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.lbltitle);
|
||||
this.Controls.Add(this.dataview);
|
||||
this.Controls.Add(this.NumCols);
|
||||
this.Controls.Add(this.NumRows);
|
||||
this.Controls.Add(this.lbl_Cols);
|
||||
this.Controls.Add(this.lbl_Rows);
|
||||
this.Name = "TablePropertiesControl";
|
||||
this.Size = new System.Drawing.Size(319, 252);
|
||||
((System.ComponentModel.ISupportInitialize)(this.NumRows)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.NumCols)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dataview)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Label lbl_Rows;
|
||||
private System.Windows.Forms.Label lbl_Cols;
|
||||
private System.Windows.Forms.NumericUpDown NumRows;
|
||||
private System.Windows.Forms.NumericUpDown NumCols;
|
||||
private System.Windows.Forms.DataGridView dataview;
|
||||
private System.Windows.Forms.Label lbltitle;
|
||||
}
|
||||
}
|
240
PROMS/Volian.Controls.Library/TablePropertiesControl.cs
Normal file
240
PROMS/Volian.Controls.Library/TablePropertiesControl.cs
Normal file
@@ -0,0 +1,240 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Volian.Controls.Library
|
||||
{
|
||||
//C2025-023 Electronic Procedures
|
||||
//Control for designating which cells in a table require EP input
|
||||
public partial class TablePropertiesControl : UserControl
|
||||
{
|
||||
//defines the type of possible inputs from an EP viewer
|
||||
public enum EPinputtype
|
||||
{
|
||||
none,
|
||||
textbox,
|
||||
checkbox
|
||||
};
|
||||
|
||||
private DataTable values;
|
||||
private BindingSource bindingSource = null;
|
||||
private int totalrows = 1;
|
||||
private int totalcols = 1;
|
||||
public readonly string epname;
|
||||
private bool IsInitializing;
|
||||
|
||||
//initialization / data will be in the format:
|
||||
// totalnumrows,totalnumcols;(row,col):value|(row,col):value...
|
||||
public TablePropertiesControl(string name, string title, string initialvalues)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
IsInitializing = true;
|
||||
|
||||
epname = name;
|
||||
lbltitle.Text = title;
|
||||
initializevalues(initialvalues);
|
||||
bindingSource = new BindingSource(values, "");
|
||||
dataview.DataSource = bindingSource;
|
||||
dataview.AutoGenerateColumns = false;
|
||||
|
||||
Load += new EventHandler(FormLoad_setDefaults);
|
||||
}
|
||||
|
||||
//initialization / data will be in the format:
|
||||
// totalnumrows,totalnumcols;(row,col):value|(row,col):value...
|
||||
private void initializevalues(string initialvalues)
|
||||
{
|
||||
values = new DataTable("values");
|
||||
|
||||
if (!string.IsNullOrEmpty(initialvalues))
|
||||
{
|
||||
string[] grp = initialvalues.Split(';');
|
||||
string[] total = grp[0].Split(',');
|
||||
initializedt(int.Parse(total[0]), int.Parse(total[1]));
|
||||
|
||||
string[] ivs = grp[1].Split('|');
|
||||
//pair will be of format:
|
||||
//(row,col):value
|
||||
foreach (string pair in ivs)
|
||||
{
|
||||
Match m = Regex.Match(pair, @"\(([\d]),([\d])\):([\w]+)");
|
||||
if (m.Success)
|
||||
{
|
||||
int row = int.Parse(m.Groups[1].Value);
|
||||
int col = int.Parse(m.Groups[2].Value);
|
||||
string v = m.Groups[3].Value;
|
||||
values.Rows[row][col] = v;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
values.AcceptChanges();
|
||||
}
|
||||
else
|
||||
{
|
||||
initializedt(1, 1);
|
||||
}
|
||||
}
|
||||
|
||||
//initialize the blank datatable
|
||||
private void initializedt(int numrows, int numcols)
|
||||
{
|
||||
totalrows = numrows;
|
||||
totalcols = numcols;
|
||||
|
||||
for (int c = 0; c < totalcols; c++)
|
||||
{
|
||||
values.Columns.Add(new DataColumn($"Column{c}") { DefaultValue = "none" });
|
||||
}
|
||||
|
||||
for (int rw = 0; rw < totalrows; rw++)
|
||||
{
|
||||
values.Rows.Add();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void FormLoad_setDefaults(object sender, EventArgs e)
|
||||
{
|
||||
BindingSource bindingSourceDropDown = new BindingSource();
|
||||
bindingSourceDropDown.DataSource = Enum.GetNames(typeof(EPinputtype));
|
||||
|
||||
//in order to achieve a dropdown of possible values need
|
||||
//to remove the auto-inserted columns
|
||||
//that were auto-generated of type type text
|
||||
//when values was bound to the datagrid
|
||||
for (int c = 0; c < totalcols; c++)
|
||||
{
|
||||
dataview.Columns.RemoveAt(c);
|
||||
var cName = new DataGridViewComboBoxColumn();
|
||||
cName.DataSource = bindingSourceDropDown;
|
||||
cName.DefaultCellStyle.NullValue = "none";
|
||||
dataview.Columns.Insert(c, cName);
|
||||
}
|
||||
|
||||
NumRows.Value = totalrows;
|
||||
NumCols.Value = totalcols;
|
||||
IsInitializing = false;
|
||||
setDataViewtoValues();
|
||||
|
||||
}
|
||||
|
||||
//set the display cells to match the values in the datatable for initialization
|
||||
//and resize of the dataviewgrid
|
||||
void setDataViewtoValues()
|
||||
{
|
||||
if (!IsInitializing)
|
||||
{
|
||||
for (int c = 0; c < totalcols; c++)
|
||||
{
|
||||
for (int rw = 0; rw < totalrows; rw++)
|
||||
{
|
||||
dataview.Rows[rw].Cells[c].Value = values.Rows[rw][c];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Get storage string for storing table values in db
|
||||
// data will be returned in the format:
|
||||
// totalnumrows,totalnumcols;(row,col):value|(row,col):value...
|
||||
public string GetStorageValue()
|
||||
{
|
||||
//force any in progress editing to commit.
|
||||
((BindingSource)dataview.DataSource).EndEdit();
|
||||
|
||||
StringBuilder bldr = new StringBuilder();
|
||||
bldr.Append($"{totalrows},{totalcols}");
|
||||
List<string> points = new List<string>();
|
||||
for (int rw = 0; rw < values.Rows.Count; rw++)
|
||||
{
|
||||
for (int col = 0; col < values.Columns.Count; col++)
|
||||
{
|
||||
if ((string) values.Rows[rw][col] != "none")
|
||||
points.Add($"({rw},{col}):{values.Rows[rw][col]}");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (points.Count > 0)
|
||||
{
|
||||
bldr.Append(";");
|
||||
bldr.Append(string.Join("|", points));
|
||||
}
|
||||
|
||||
return bldr.ToString();
|
||||
}
|
||||
|
||||
private void NumRows_ValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
int endNumRows = (int)NumRows.Value;
|
||||
int curNumRows = totalrows;
|
||||
|
||||
//remove rows till equal
|
||||
while (curNumRows > endNumRows)
|
||||
{
|
||||
values.Rows.RemoveAt(curNumRows - 1);
|
||||
curNumRows--;
|
||||
}
|
||||
//add rows till equal
|
||||
while (curNumRows < endNumRows)
|
||||
{
|
||||
values.Rows.Add();
|
||||
curNumRows++;
|
||||
}
|
||||
|
||||
totalrows = endNumRows;
|
||||
setDataViewtoValues();
|
||||
}
|
||||
|
||||
private void NumCols_ValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
int endNumCols = (int)NumCols.Value;
|
||||
int curNumCols = totalcols;
|
||||
|
||||
BindingSource bindingSourceDropDown = new BindingSource();
|
||||
bindingSourceDropDown.DataSource = Enum.GetNames(typeof(EPinputtype));
|
||||
|
||||
//remove cols till equal
|
||||
while (curNumCols > endNumCols)
|
||||
{
|
||||
values.Columns.RemoveAt(curNumCols - 1);
|
||||
dataview.Columns.RemoveAt(curNumCols - 1);
|
||||
curNumCols--;
|
||||
}
|
||||
//add cols till equal
|
||||
while (curNumCols < endNumCols)
|
||||
{
|
||||
values.Columns.Add(new DataColumn($"Column{curNumCols + 1}") { DefaultValue = "none"});
|
||||
if (dataview.Columns.Count > curNumCols) dataview.Columns.RemoveAt(curNumCols);
|
||||
var cName = new DataGridViewComboBoxColumn();
|
||||
cName.DataSource = bindingSourceDropDown;
|
||||
cName.DefaultCellStyle.NullValue = "none";
|
||||
dataview.Columns.Add(cName);
|
||||
|
||||
curNumCols++;
|
||||
}
|
||||
|
||||
totalcols = endNumCols;
|
||||
setDataViewtoValues();
|
||||
}
|
||||
|
||||
//set the datatable value to match the changed datagridview value
|
||||
//for some reason despite being bound, does not automatically update
|
||||
// (it may be that datatable as a bindingsource does not implement INotifyProperty
|
||||
// and thus needs manually set like this)
|
||||
private void dataview_CellEndEdit(object sender, DataGridViewCellEventArgs e)
|
||||
{
|
||||
values.Rows[e.RowIndex][e.ColumnIndex] = (string) dataview.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
120
PROMS/Volian.Controls.Library/TablePropertiesControl.resx
Normal file
120
PROMS/Volian.Controls.Library/TablePropertiesControl.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>
|
@@ -243,6 +243,12 @@
|
||||
<Compile Include="frmEnhanced.Designer.cs">
|
||||
<DependentUpon>frmEnhanced.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="frmEPAnnotationDetails.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="frmEPAnnotationDetails.Designer.cs">
|
||||
<DependentUpon>frmEPAnnotationDetails.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="frmImportWordContents.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -274,6 +280,9 @@
|
||||
<DependentUpon>ImageItem.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="LinkText.cs" />
|
||||
<Compile Include="ListBoxMulti.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="PreviewMultiLineRO.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -374,6 +383,12 @@
|
||||
</Compile>
|
||||
<Compile Include="RomanNumeral.cs" />
|
||||
<Compile Include="RTBAPI.cs" />
|
||||
<Compile Include="TablePropertiesControl.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="TablePropertiesControl.Designer.cs">
|
||||
<DependentUpon>TablePropertiesControl.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="TransPanel.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
@@ -474,6 +489,10 @@
|
||||
<EmbeddedResource Include="frmEnhanced.resx">
|
||||
<DependentUpon>frmEnhanced.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="frmEPAnnotationDetails.resx">
|
||||
<DependentUpon>frmEPAnnotationDetails.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="frmImportWordContents.resx">
|
||||
<DependentUpon>frmImportWordContents.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
@@ -515,6 +534,9 @@
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="TablePropertiesControl.resx">
|
||||
<DependentUpon>TablePropertiesControl.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="vlnExpander.resx">
|
||||
<DependentUpon>vlnExpander.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
|
111
PROMS/Volian.Controls.Library/frmEPAnnotationDetails.Designer.cs
generated
Normal file
111
PROMS/Volian.Controls.Library/frmEPAnnotationDetails.Designer.cs
generated
Normal file
@@ -0,0 +1,111 @@
|
||||
namespace Volian.Controls.Library
|
||||
{
|
||||
partial class frmEPAnnotationDetails
|
||||
{
|
||||
/// <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.btnOk = new System.Windows.Forms.Button();
|
||||
this.btnCancel = new System.Windows.Forms.Button();
|
||||
this.panel_btns = new System.Windows.Forms.Panel();
|
||||
this.panelEP = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.panel_btns.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// btnOk
|
||||
//
|
||||
this.btnOk.DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||
this.btnOk.Location = new System.Drawing.Point(9, 7);
|
||||
this.btnOk.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.btnOk.Name = "btnOk";
|
||||
this.btnOk.Size = new System.Drawing.Size(56, 19);
|
||||
this.btnOk.TabIndex = 0;
|
||||
this.btnOk.Text = "OK";
|
||||
this.btnOk.UseVisualStyleBackColor = true;
|
||||
this.btnOk.Click += new System.EventHandler(this.btnOk_Click);
|
||||
//
|
||||
// btnCancel
|
||||
//
|
||||
this.btnCancel.Location = new System.Drawing.Point(82, 7);
|
||||
this.btnCancel.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.btnCancel.Name = "btnCancel";
|
||||
this.btnCancel.Size = new System.Drawing.Size(56, 19);
|
||||
this.btnCancel.TabIndex = 1;
|
||||
this.btnCancel.Text = "Cancel";
|
||||
this.btnCancel.UseVisualStyleBackColor = true;
|
||||
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
|
||||
//
|
||||
// panel_btns
|
||||
//
|
||||
this.panel_btns.Controls.Add(this.btnCancel);
|
||||
this.panel_btns.Controls.Add(this.btnOk);
|
||||
this.panel_btns.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.panel_btns.Location = new System.Drawing.Point(0, 512);
|
||||
this.panel_btns.Name = "panel_btns";
|
||||
this.panel_btns.Size = new System.Drawing.Size(762, 30);
|
||||
this.panel_btns.TabIndex = 2;
|
||||
//
|
||||
// panelEP
|
||||
//
|
||||
this.panelEP.AutoScroll = true;
|
||||
this.panelEP.ColumnCount = 2;
|
||||
this.panelEP.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
|
||||
this.panelEP.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
|
||||
this.panelEP.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panelEP.Location = new System.Drawing.Point(0, 0);
|
||||
this.panelEP.Name = "panelEP";
|
||||
this.panelEP.RowCount = 1;
|
||||
this.panelEP.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.panelEP.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 512F));
|
||||
this.panelEP.Size = new System.Drawing.Size(762, 512);
|
||||
this.panelEP.TabIndex = 3;
|
||||
//
|
||||
// frmEPAnnotationDetails
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.AutoSize = true;
|
||||
this.ClientSize = new System.Drawing.Size(762, 542);
|
||||
this.Controls.Add(this.panelEP);
|
||||
this.Controls.Add(this.panel_btns);
|
||||
this.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.Name = "frmEPAnnotationDetails";
|
||||
this.Text = "Electronic Procedure Details";
|
||||
this.TopMost = true;
|
||||
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmEPAnnotationDetails_FormClosing);
|
||||
this.panel_btns.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Button btnOk;
|
||||
private System.Windows.Forms.Button btnCancel;
|
||||
private System.Windows.Forms.Panel panel_btns;
|
||||
private System.Windows.Forms.TableLayoutPanel panelEP;
|
||||
}
|
||||
}
|
320
PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs
Normal file
320
PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs
Normal file
@@ -0,0 +1,320 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using VEPROMS.CSLA.Library;
|
||||
using Volian.Controls.Library;
|
||||
using System.Linq;
|
||||
|
||||
namespace Volian.Controls.Library
|
||||
{
|
||||
//C2025-023 - Electronic Procedures - Modifications to PROMS
|
||||
//Form for Dynamic Showing of EP detail controls and entry
|
||||
public partial class frmEPAnnotationDetails : Form
|
||||
{
|
||||
private AnnotationInfo _CurrentAnnotation;
|
||||
private EPFields myEPFields;
|
||||
private AnnotationConfig MyConfig;
|
||||
|
||||
private StepTabRibbon _MyStepTabRibbon;
|
||||
private Dictionary<string, TextBox> _DicTB;
|
||||
private Dictionary<string, CheckBox> _DicCheckBox;
|
||||
private Dictionary<string, ComboBox> _DicComboBox;
|
||||
private Dictionary<string, ComboBox> _DicSingleRO;
|
||||
private Dictionary<string, ListBoxMulti> _DicMultiRO;
|
||||
private TablePropertiesControl _TablePropControl;
|
||||
|
||||
private string multiseparator = ",";
|
||||
|
||||
public frmEPAnnotationDetails(AnnotationInfo currAnn)
|
||||
{
|
||||
InitializeComponent();
|
||||
_DicTB = new Dictionary<string, TextBox>();
|
||||
_DicCheckBox = new Dictionary<string, CheckBox>();
|
||||
_DicComboBox = new Dictionary<string, ComboBox>();
|
||||
_DicSingleRO = new Dictionary<string, ComboBox>();
|
||||
_DicMultiRO = new Dictionary<string, ListBoxMulti>();
|
||||
InitializeSpecificControls(currAnn);
|
||||
_MyStepTabRibbon = new StepTabRibbon();
|
||||
}
|
||||
|
||||
private void InitializeSpecificControls(AnnotationInfo currAnn)
|
||||
{
|
||||
_CurrentAnnotation = currAnn;
|
||||
myEPFields = _CurrentAnnotation.MyItem.GetValidEPFields(_CurrentAnnotation.TypeID);
|
||||
MyConfig = new AnnotationConfig(currAnn.Config);
|
||||
|
||||
int MaxCharsInLabel = myEPFields.Where(y => y.type.ToLower() != "tableinput").Max(x => x.label.Length);
|
||||
//font size 8 - make labels slightly bigger than largest label
|
||||
panelEP.ColumnStyles[0].SizeType = SizeType.Absolute;
|
||||
panelEP.ColumnStyles[0].Width = (8 * MaxCharsInLabel) + 5;
|
||||
|
||||
int RowCount = 0;
|
||||
foreach (EPField EP in myEPFields)
|
||||
{
|
||||
RowCount += 1;
|
||||
panelEP.RowCount = RowCount;
|
||||
panelEP.Top = 20;
|
||||
|
||||
if (EP.type.ToLower() != "tableinput")
|
||||
{
|
||||
Label wlbl = new Label();
|
||||
wlbl.Text = EP.label;
|
||||
wlbl.Visible = true;
|
||||
wlbl.TextAlign = ContentAlignment.MiddleLeft;
|
||||
wlbl.Anchor = AnchorStyles.Left | AnchorStyles.Top;
|
||||
wlbl.Width = (8 * MaxCharsInLabel) + 5;
|
||||
panelEP.Controls.Add(wlbl, 0, panelEP.RowCount - 1);
|
||||
}
|
||||
|
||||
if (EP.type.ToLower() == "text")
|
||||
{
|
||||
TextBox tb = new TextBox();
|
||||
tb.Font = tb.Font = new Font("Arial", 8);
|
||||
tb.BorderStyle = BorderStyle.FixedSingle;
|
||||
//aligning to both left and right stretches the textbox to the width of the form
|
||||
tb.Anchor = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top;
|
||||
string val = MyConfig.GetValue("EP", EP.name).Replace("\\u8209?", "-").Replace(@"\u9586?", @"\");
|
||||
tb.Text = val;
|
||||
tb.Visible = true;
|
||||
tb.Height = EP.numlines * tb.Font.Height + 1 + tb.Margin.Vertical;
|
||||
tb.MinimumSize = new Size(0, EP.numlines * tb.Font.Height + 1 + tb.Margin.Vertical);
|
||||
if (EP.numlines > 1)
|
||||
{
|
||||
tb.Multiline = true;
|
||||
tb.ScrollBars = ScrollBars.Both;
|
||||
panelEP.RowStyles.Insert(panelEP.RowCount - 1, new RowStyle(SizeType.Absolute, 50));
|
||||
}
|
||||
else
|
||||
{
|
||||
panelEP.RowStyles.Insert(panelEP.RowCount - 1, new RowStyle(SizeType.AutoSize));
|
||||
}
|
||||
|
||||
_DicTB.Add(EP.name, tb);
|
||||
panelEP.Controls.Add(tb, 1, panelEP.RowCount - 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
panelEP.RowStyles.Insert(panelEP.RowCount - 1, new RowStyle(SizeType.AutoSize));
|
||||
}
|
||||
if (EP.type.ToLower() == "logical")
|
||||
{
|
||||
CheckBox cb = new CheckBox();
|
||||
cb.Text = EP.text;
|
||||
cb.Visible = true;
|
||||
string val = MyConfig.GetValue("EP", EP.name);
|
||||
cb.Checked = val != null && val != "" && val.ToUpper()[0] == 'Y';
|
||||
_DicCheckBox.Add(EP.name, cb);
|
||||
cb.AutoSize = true;
|
||||
panelEP.Controls.Add(cb, 1, panelEP.RowCount - 1);
|
||||
}
|
||||
if (EP.type.ToLower() == "combo")
|
||||
{
|
||||
ComboBox cmb = new ComboBox();
|
||||
cmb.Visible = true;
|
||||
string tmp = EP.text;
|
||||
string[] tmps = tmp.Split(",".ToCharArray());
|
||||
foreach (string t in tmps) cmb.Items.Add(t.Trim());
|
||||
string val = MyConfig.GetValue("EP", EP.name);
|
||||
if (val != null && val != "") cmb.SelectedItem = val;
|
||||
cmb.DropDownWidth = TextRenderer.MeasureText(tmps.OrderByDescending(x => x.Length).First(), cmb.Font).Width + SystemInformation.VerticalScrollBarWidth;
|
||||
cmb.Width = cmb.DropDownWidth;
|
||||
_DicComboBox.Add(EP.name, cmb);
|
||||
panelEP.Controls.Add(cmb, 1, panelEP.RowCount - 1);
|
||||
}
|
||||
if (EP.type.ToLower() == "rosingle")
|
||||
{
|
||||
ComboBox cmb = new ComboBox();
|
||||
cmb.Visible = true;
|
||||
|
||||
List<ROListItem> tmps = EP.getROList(currAnn, true);
|
||||
cmb.DisplayMember = "Text";
|
||||
cmb.ValueMember = "Value";
|
||||
cmb.DataSource = tmps;
|
||||
cmb.DropDownStyle = ComboBoxStyle.DropDownList;
|
||||
cmb.DropDownWidth = TextRenderer.MeasureText(tmps.OrderByDescending(x => x.Text.Length).First().Text, cmb.Font).Width + SystemInformation.VerticalScrollBarWidth;
|
||||
cmb.Width = cmb.DropDownWidth;
|
||||
|
||||
_DicSingleRO.Add(EP.name, cmb);
|
||||
panelEP.Controls.Add(cmb, 1, panelEP.RowCount - 1);
|
||||
}
|
||||
if (EP.type.ToLower() == "romulti")
|
||||
{
|
||||
ListBoxMulti lb = new ListBoxMulti();
|
||||
|
||||
List<ROListItem> tmps = EP.getROList(currAnn, false);
|
||||
lb.DisplayMember = "Text";
|
||||
lb.ValueMember = "Value";
|
||||
lb.Width = TextRenderer.MeasureText(tmps.OrderByDescending(x => x.Text.Length).First().Text, lb.Font).Width + SystemInformation.VerticalScrollBarWidth;
|
||||
|
||||
lb.DataSource = tmps;
|
||||
_DicMultiRO.Add(EP.name, lb);
|
||||
panelEP.Controls.Add(lb, 1, panelEP.RowCount - 1);
|
||||
|
||||
}
|
||||
//note will allow only 1 tableproperties control since it is a 1:1 match with the table that is in the step
|
||||
if (EP.type.ToLower() == "tableinput" && _TablePropControl == null)
|
||||
{
|
||||
string val = MyConfig.GetValue("EP", EP.name);
|
||||
_TablePropControl = new TablePropertiesControl(EP.name, EP.label, val);
|
||||
_TablePropControl.Anchor = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top;
|
||||
panelEP.Controls.Add(_TablePropControl, 1, panelEP.RowCount - 1);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Load += new EventHandler(Form1Load_setDefaults);
|
||||
}
|
||||
|
||||
void Form1Load_setDefaults(object sender, EventArgs e)
|
||||
{
|
||||
foreach (KeyValuePair<string, ComboBox> pair in _DicSingleRO)
|
||||
{
|
||||
string val = MyConfig.GetValue("EP", pair.Key);
|
||||
if (!string.IsNullOrEmpty(val) && pair.Value.Items.OfType<ROListItem>().Any(x=> x.Value == val))
|
||||
pair.Value.SelectedValue = val;
|
||||
else
|
||||
pair.Value.SelectedValue = "";
|
||||
}
|
||||
|
||||
foreach (KeyValuePair<string, ListBoxMulti> pair in _DicMultiRO)
|
||||
{
|
||||
//clear all items at start in case items were autoselected - bug in Winforms ListBox
|
||||
pair.Value.ClearSelected();
|
||||
string val = MyConfig.GetValue("EP", pair.Key);
|
||||
if (val != null && val != "")
|
||||
{
|
||||
var selectedvalues = val.Split(multiseparator.ToCharArray());
|
||||
foreach (string item in selectedvalues)
|
||||
{
|
||||
string text = ((List<ROListItem>)pair.Value.DataSource).Find(x => x.Value == item)?.Text;
|
||||
if (!string.IsNullOrEmpty(text)) pair.Value.SetSelected(pair.Value.FindString(text), true);
|
||||
}
|
||||
}
|
||||
|
||||
//set this to -1 after initial setting of values
|
||||
//this will help to fix bug in Winforms ListBox
|
||||
//that autoselects first item when no items are selected
|
||||
pair.Value.singleselectedindex = -1;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void FieldStepRTB_Enter(object sender, EventArgs e)
|
||||
{
|
||||
_MyStepTabRibbon.MyStepRTB = (StepRTB)sender;
|
||||
}
|
||||
private void btnOk_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
// loop through all of the fields
|
||||
bool isDirty = false;
|
||||
foreach (EPField EP in myEPFields)
|
||||
{
|
||||
if (EP.type.ToLower() == "text")
|
||||
{
|
||||
TextBox cur = _DicTB[EP.name];
|
||||
string newval = cur.Text;
|
||||
string oldval = MyConfig.GetValue("EP", EP.name);
|
||||
if (oldval != newval)
|
||||
{
|
||||
isDirty = true;
|
||||
MyConfig.SetValue("EP", EP.name, newval.Replace("\\u8209?","-"));
|
||||
}
|
||||
}
|
||||
else if (EP.type.ToLower() == "logical")
|
||||
{
|
||||
CheckBox cur = _DicCheckBox[EP.name];
|
||||
string newval = cur.Checked ? "Y" : "N";
|
||||
string oldval = MyConfig.GetValue("EP", EP.name);
|
||||
if (newval != oldval)
|
||||
{
|
||||
isDirty = true;
|
||||
MyConfig.SetValue("EP", EP.name, newval);
|
||||
}
|
||||
}
|
||||
else if (EP.type.ToLower() == "combo")
|
||||
{
|
||||
ComboBox cmbcur = _DicComboBox[EP.name];
|
||||
string newval = cmbcur.Text;
|
||||
string oldval = MyConfig.GetValue("EP", EP.name);
|
||||
if (newval != oldval)
|
||||
{
|
||||
isDirty = true;
|
||||
MyConfig.SetValue("EP", EP.name, newval);
|
||||
}
|
||||
}
|
||||
else if (EP.type.ToLower() == "rosingle")
|
||||
{
|
||||
ComboBox cmbcur = _DicSingleRO[EP.name];
|
||||
string newval = cmbcur.SelectedValue.ToString();
|
||||
string oldval = MyConfig.GetValue("EP", EP.name);
|
||||
if (newval == "-1") newval = "";
|
||||
if (newval != oldval)
|
||||
{
|
||||
isDirty = true;
|
||||
MyConfig.SetValue("EP", EP.name, newval);
|
||||
}
|
||||
}
|
||||
else if (EP.type.ToLower() == "romulti")
|
||||
{
|
||||
ListBoxMulti lbcur = _DicMultiRO[EP.name];
|
||||
string newvalues = String.Join(multiseparator, lbcur.SelectedItems.OfType<ROListItem>().Select(item => item.Value));
|
||||
string oldvalues = MyConfig.GetValue("EP", EP.name);
|
||||
if (newvalues != oldvalues)
|
||||
{
|
||||
isDirty = true;
|
||||
MyConfig.SetValue("EP", EP.name, newvalues);
|
||||
}
|
||||
}
|
||||
else if (EP.type.ToLower() == "tableinput" && EP.name == _TablePropControl.epname)
|
||||
{
|
||||
string newvalues = _TablePropControl.GetStorageValue();
|
||||
string oldvalues = MyConfig.GetValue("EP", EP.name);
|
||||
if (newvalues != oldvalues)
|
||||
{
|
||||
isDirty = true;
|
||||
MyConfig.SetValue("EP", EP.name, newvalues);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (isDirty)
|
||||
{
|
||||
using (Annotation annotation = _CurrentAnnotation.Get())
|
||||
{
|
||||
if (annotation != null)
|
||||
{
|
||||
annotation.Config = MyConfig.ToString();
|
||||
annotation.DTS = DateTime.Now;
|
||||
annotation.UserID = Volian.Base.Library.VlnSettings.UserID;
|
||||
annotation.Save();
|
||||
}
|
||||
}
|
||||
}
|
||||
DialogResult = DialogResult.OK;
|
||||
Close();
|
||||
}
|
||||
|
||||
private void btnCancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
DialogResult = DialogResult.Cancel;
|
||||
Close();
|
||||
}
|
||||
|
||||
//remove events so no memory loss
|
||||
private void frmEPAnnotationDetails_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
foreach (ListBoxMulti lb in _DicMultiRO.Values)
|
||||
{
|
||||
lb.Dispose();
|
||||
}
|
||||
|
||||
Load -= Form1Load_setDefaults;
|
||||
}
|
||||
}
|
||||
}
|
120
PROMS/Volian.Controls.Library/frmEPAnnotationDetails.resx
Normal file
120
PROMS/Volian.Controls.Library/frmEPAnnotationDetails.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>
|
File diff suppressed because it is too large
Load Diff
@@ -69,7 +69,7 @@ namespace Volian.Print.Library
|
||||
private string symblsStr = "\u25CF\u0394"; // string of possible symbol character in a tab
|
||||
// add symbol characters as needed
|
||||
// "\u25CF" - solid bullet
|
||||
// \x0394 - delta
|
||||
// \u0394 - delta
|
||||
|
||||
private System.Drawing.FontStyle GetSysFontStyle(VE_Font f)
|
||||
{
|
||||
@@ -267,7 +267,8 @@ namespace Volian.Print.Library
|
||||
}
|
||||
}
|
||||
Rtf = GetRtf(origTab, vFont);
|
||||
Rtf = Rtf.Replace("\u0394", @"\f1\u916?\f0 "); // delta 0x0394
|
||||
Rtf = Rtf.Replace("\u0394", @"\f1\u916?\f0 "); // delta 0x0394
|
||||
Rtf = Rtf.Replace("\u03BF", @"\f1\u959?\f0 "); // F2025-015 lowercase omicron check with hex value replace with RTF string
|
||||
if (ScriptCaution)
|
||||
{
|
||||
Rtf = GetRtf("\u25CFCaution ", vFont);
|
||||
|
Reference in New Issue
Block a user