C2025-027-Develop-a-way-to-filter-annotations-so-the-user-can-view-only-the-types-they-want-to-see-EP #544

Open
plarsen wants to merge 12 commits from C2025-027-Develop-a-way-to-filter-annotations-so-the-user-can-view-only-the-types-they-want-to-see-EP into C2025-023
35 changed files with 3889 additions and 625 deletions

View File

@ -92,6 +92,7 @@
</Compile>
</ItemGroup>
<ItemGroup>
<Content Include="epall\EPFormatTST1.xml" />
<Content Include="fmtall\AEPall.xml">
<SubType>Designer</SubType>
</Content>
@ -176,6 +177,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" />

Binary file not shown.

Binary file not shown.

View File

@ -23810,7 +23810,406 @@ GO
IF (@@Error = 0) PRINT 'Running vesp_UpdateUserSettings Succeeded'
ELSE PRINT 'Running vesp_UpdateUserSettings 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, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) 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
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
---C2025-027
/****** Object: Table [dbo].[AnnotationTypeSelections] Script Date: 4/25/2025 8:06:07 PM ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[AnnotationTypeSelections]') AND type in (N'U'))
DROP TABLE [dbo].[AnnotationTypeSelections]
GO
/****** Object: Table [dbo].[AnnotationTypeSelections] Script Date: 4/25/2025 8:06:07 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[AnnotationTypeSelections](
Review

Should there be indexes on this?

a Primary Key / TypeID and ItemID combo?

Should there be indexes on this? a Primary Key / TypeID and ItemID combo?
[ASTypeID] [int] IDENTITY(1,1) NOT NULL,
[TypeID] [int] NULL,
Review

I might be missing something - but seams strange to have this setting at the item level (i.e. turning off showing Annotation types at the item level) --- wouldn't this be overall (under options) or at the MyDocVersion / Section level?

--- again, could easily be missing something but figured I would bring it up.

I might be missing something - but seams strange to have this setting at the item level (i.e. turning off showing Annotation types at the item level) --- wouldn't this be overall (under options) or at the MyDocVersion / Section level? --- again, could easily be missing something but figured I would bring it up.
[ItemID] [int] NULL,
[Name] [nvarchar](100) NOT NULL,
[Config] [nvarchar](max) NULL,
[DTS] [datetime] NOT NULL,
[UserID] [nvarchar](100) NOT NULL,
[LastChanged] [timestamp] NOT NULL,
[IsEPAnnotationType] [bit] NOT NULL
Review

Might be missing something, but not sure why this would have a Is EPAnnotationType?

Since this has a TypeID --- would assume that would get this from:

Select AnnotationTypes.IsEPAnnotationType FROM AnnotationTypes where AnnotationTypes.TypeID = AnnotationTypeSelections.TypeID

Thoughts are if it is being stored in 2 places - how do you keep them in synch / what if they are not in synch?

Again - could easily be missing the reason for this flag, but figured I would double check?

Might be missing something, but not sure why this would have a Is EPAnnotationType? Since this has a TypeID --- would assume that would get this from: Select AnnotationTypes.IsEPAnnotationType FROM AnnotationTypes where AnnotationTypes.TypeID = AnnotationTypeSelections.TypeID Thoughts are if it is being stored in 2 places - how do you keep them in synch / what if they are not in synch? Again - could easily be missing the reason for this flag, but figured I would double check?
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
---C2025-027
/****** Object: StoredProcedure [dbo].[getAnnotationstypeSelections] Script Date: 4/25/2025 8:19:30 PM ******/
DROP PROCEDURE [dbo].[getAnnotationstypeSelections]
GO
/****** Object: StoredProcedure [dbo].[getAnnotationstypeSelections] Script Date: 4/25/2025 8:19:30 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
Review

Should this have Author / description info in it?

Should this have Author / description info in it?
-- Create date: <Create Date,,>
-- Description: <Description,,>
CREATE PROC [dbo].[getAnnotationstypeSelections]
(
@itemID int
)
AS
BEGIN
SELECT [ASTypeID]
,[TypeID]
,[ItemID]
,[Name]
,[Config]
,[DTS]
,[UserID]
,[IsEPAnnotationType]
FROM [dbo].[AnnotationTypeSelections]
WHERE itemid = @itemid
END
GO
---C2025-027
/****** Object: StoredProcedure [dbo].[getAnnotationTypes2] Script Date: 4/25/2025 8:08:38 PM ******/
DROP PROCEDURE [dbo].[getAnnotationTypes2]
GO
/****** Object: StoredProcedure [dbo].[getAnnotationTypes2] Script Date: 4/25/2025 8:08:38 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Matthew Schill
Review

Should this have different author / description/etc...?

Should this have different author / description/etc...?
-- Create date: 3/21/2025
-- Description: Add EP to AnnotationTypes
-- =============================================
CREATE PROCEDURE [dbo].[getAnnotationTypes2]
Review

Should this be something like get AnnotationTypeSelections since it gets the selections not the type details?

Should this be something like get AnnotationTypeSelections since it gets the selections not the type details?
(
@itemID int
)
WITH EXECUTE AS OWNER
AS
SELECT
A.[TypeID],
A.[Name],
A.[Config],
A.[DTS],
A.[UserID],
A.[LastChanged],
(SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[TypeID]=A.[TypeID]) [AnnotationCount]
--[IsEPAnnotationType]
FROM [AnnotationTypes] A
JOIN AnnotationTypeSelections S ON A.TypeID = S.TypeID
WHERE S.itemid = @itemID
RETURN
GO
---C2025-027
/****** Object: StoredProcedure [dbo].[getAnnotationSelectListTypes] Script Date: 4/25/2025 8:07:15 PM ******/
DROP PROCEDURE [dbo].[getAnnotationSelectListTypes]
GO
/****** Object: StoredProcedure [dbo].[getAnnotationSelectListTypes] Script Date: 4/25/2025 8:07:15 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
Review

Should this have different author / description/etc...?

Should this have different author / description/etc...?
-- Author: Matthew Schill
-- Create date: 3/21/2025
-- Description: Add EP to AnnotationTypes
-- =============================================
CREATE PROCEDURE [dbo].[getAnnotationSelectListTypes]
(
@ItemID int
)
WITH EXECUTE AS OWNER
AS
SELECT
[TypeID],
[Name],
[Config],
[DTS],
[UserID],
[LastChanged],
(SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[TypeID]= [TypeID]) [AnnotationCount]
--[IsEPAnnotationType]
FROM [AnnotationTypes] --A
--JOIN AnnotationTypeSelections S ON S.TypeID = A.TypeID
WHERE TypeID NOT IN (SELECT TypeID FROM AnnotationTypeSelections WHERE ItemID = @ItemID) --S.ItemID = @ItemID AND S.TypeID != A.TypeID
RETURN
--SELECT * FROM AnnotationTypeSelections
GO
--C2025-027
/****** Object: StoredProcedure [dbo].[UpdateAnnotationstypeSelections] Script Date: 4/25/2025 8:48:46 PM ******/
DROP PROCEDURE [dbo].[UpdateAnnotationstypeSelections]
GO
/****** Object: StoredProcedure [dbo].[UpdateAnnotationstypeSelections] Script Date: 4/25/2025 8:48:46 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
Review

Should this have different author / description/etc...?

Should this have different author / description/etc...?
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROC [dbo].[UpdateAnnotationstypeSelections]
(
@itemID int,
@TypeID int,
@dltFlg int,
@Name [nvarchar](100) = ''
)
AS
BEGIN
if (@dltFlg = 1)
BEGIN
DELETE FROM AnnotationTypeSelections WHERE itemid = @itemid;
END
INSERT INTO AnnotationTypeSelections ([TypeID], [ItemID], [Name], [Config], [DTS], [UserID], [IsEPAnnotationType])
(SELECT @TypeID, @itemID, @Name, [Config], [DTS], [UserID], [IsEPAnnotationType] FROM AnnotationTypes WHERE [TypeID] = @TypeID)
END
GO
/*
---------------------------------------------------------------------------
| ADD New Code Before this Block |
@ -23844,8 +24243,8 @@ BEGIN TRY -- Try Block
DECLARE @RevDate varchar(255)
DECLARE @RevDescription varchar(255)
set @RevDate = '4/03/2025 6:14 PM'
set @RevDescription = 'B2022-031 Add filtering for Proc and Section name from Global Search'
set @RevDate = '4/25/2025 8:30 PM'
set @RevDescription = 'Filter annotations so the user can view only the types they want to see.'
Select cast(@RevDate as datetime) RevDate, @RevDescription RevDescription
PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription

View File

@ -152,6 +152,12 @@
<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="dlgApproveProcedure.cs">
<SubType>Form</SubType>
</Compile>
@ -331,6 +337,9 @@
<SubType>Designer</SubType>
<DependentUpon>AboutVEPROMS.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="dlgAnnotationsSelect.resx">
<DependentUpon>dlgAnnotationsSelect.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="dlgCheckOpenTabs.resx">
<DependentUpon>dlgCheckOpenTabs.cs</DependentUpon>
</EmbeddedResource>

View File

@ -0,0 +1,197 @@

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.tableLayoutPanel1.SuspendLayout();
this.SuspendLayout();
//
// lstUnselected
//
this.lstUnselected.Dock = System.Windows.Forms.DockStyle.Fill;
this.lstUnselected.FormattingEnabled = true;
this.lstUnselected.IntegralHeight = false;
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, 394);
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.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, 394);
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, 38);
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(298, 138);
this.btnSelectAll.Name = "btnSelectAll";
this.btnSelectAll.Size = new System.Drawing.Size(28, 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(298, 238);
this.btnDeselectAll.Name = "btnDeselectAll";
this.btnDeselectAll.Size = new System.Drawing.Size(28, 23);
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, 338);
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 = "Update";
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, 12);
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, 400);
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 = "Cancel";
this.btnCancel.UseVisualStyleBackColor = true;
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click_1);
//
// DlgAnnotationsSelect
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(653, 466);
this.Controls.Add(this.btnCancel);
this.Controls.Add(this.tableLayoutPanel1);
this.Controls.Add(this.btnUpdate);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Name = "DlgAnnotationsSelect";
this.Text = "Select Annotation Types";
this.Load += new System.EventHandler(this.DlgAnnotationsSelect_Load);
this.tableLayoutPanel1.ResumeLayout(false);
this.ResumeLayout(false);
}
#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.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.TableLayoutPanel tableLayoutPanel1;
}
}

View File

@ -0,0 +1,193 @@
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
{
public partial class DlgAnnotationsSelect : Form
{
public DlgAnnotationsSelect()
{
InitializeComponent();
}
public DlgAnnotationsSelect(ProcedureInfo pi)
{
InitializeComponent();
MyItemID = pi.ItemID;
}
private int _MyItemID;
public int MyItemID
{
get { return _MyItemID; }
set { _MyItemID = 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";
//lstSelected.Items.Add(lstFrom.SelectedItems[0]);
//lstFrom.SelectedItems[0];
AnnotataionItem item = (AnnotataionItem)lstFrom.SelectedItems[0];
//string item2 = (string)lstFrom.;
lstTo.Items.Add(new AnnotataionItem(item.NameStr, item.TypeID));
//lstTo.Items.Add(item);
lstFrom.Items.Remove(item);
}
SetButtonsEditable();
}
// Move all items to lstSelected.
private void btnSelectAll_Click(object sender, EventArgs e)
{
MoveAllItems(lstUnselected, lstSelected);
}
// Move all items to lstUnselected.
private void btnDeselectAll_Click(object sender, EventArgs e)
{
MoveAllItems(lstSelected, lstUnselected);
}
// Move all items from one ListBox to another.
private void MoveAllItems(ListBox lstFrom, ListBox lstTo)
{
lstTo.Items.AddRange(lstFrom.Items);
lstFrom.Items.Clear();
SetButtonsEditable();
}
// Enable and disable buttons.
private void lst_SelectedIndexChanged(object sender, EventArgs e)
{
SetButtonsEditable();
}
// Move selected items to lstUnselected.
private void btnUpdate_Click(object sender, EventArgs e)
{
int dltFlg = 1;
foreach (AnnotataionItem item in lstSelected.Items)
{
//item.NameStr, item.TypeID
//string Name = (item.Row[lstSelected.DisplayMember].ToString());
//int TypeID = int.Parse(item.Row[lstSelected.ValueMember].ToString());
//lstSelected.Items.
// item.
//sb.Append(item.ToString());
//sb.Append(" ");
//DataTable lstSelectedTbl = VEPROMS.CSLA.Library.AnnotationstypeSelections.Get(MyItemID, item.ValueMember );
VEPROMS.CSLA.Library.AnnotationstypeSelections.Update(MyItemID, item.TypeID, dltFlg, item.NameStr);
dltFlg = 0;
}
//MoveSelectedItems(lstSelected, lstUnselected);
}
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);
}
//lstUnselected.DisplayMember = "NameStr";
//lstUnselected.ValueMember = "TypeID";
private void DlgAnnotationsSelect_Load(object sender, EventArgs e)
{
lstUnselected.DisplayMember = "NameStr";
lstUnselected.ValueMember = "TypeID";
SetButtonsEditable();
//AnnotationTypeInfoList tmp = AnnotationTypeInfoList.Get();
DataTable AnnoType = AnnotationstypeSelections.GetAnnoTypes(MyItemID);
foreach (DataRow dr in AnnoType.Rows)
{
//USStates.Add(new USState("Alabama", "AL"));
//AnnotataionItem
lstUnselected.Items.Add(new AnnotataionItem(dr["Name"].ToString(), (int)dr["TypeID"]));
//lstUnselected.Items.Add(new AnnotataionItem(tp.Name, tp.TypeID));
//lstUnselected.Items.Add(tp.Name);
//lstUnselected.DisplayMember = tp.Name;
//lstUnselected.ValueMember = tp.TypeID.ToString();
}
//AnnotationstypeSelections.retrieveAnnotSelectionsList tmp2 = AnnotationstypeSelections.Retrieve(MyItemID);
//foreach (AnnotationType tp2 in tmp2)
//{
// lstSelected.Items.Add(tp2.Name);
// lstSelected.DisplayMember = tp2.Name;
// lstSelected.ValueMember = tp2.TypeID.ToString();
//}
lstSelected.DisplayMember = "NameStr";
lstSelected.ValueMember = "TypeID";
DataTable lstSelectedTbl = VEPROMS.CSLA.Library.AnnotationstypeSelections.Retrieve(MyItemID);
if (lstSelectedTbl.Rows.Count > 0)
{
foreach (DataRow lstSelectedRow in lstSelectedTbl.Rows)
{
lstSelected.Items.Add(lstSelectedRow["Name"]);
lstSelected.DisplayMember = lstSelectedRow["Name"].ToString();
lstSelected.ValueMember = lstSelectedRow["TypeID"].ToString();
}
}
}
private void btnCancel_Click_1(object sender, EventArgs e)
{
this.Close();
}
}
}

View 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>

View File

@ -47,13 +47,13 @@ namespace VEPROMS
this.btnOpen = new DevComponents.DotNetBar.ButtonItem();
this.btnPrepare = new DevComponents.DotNetBar.ButtonItem();
this.btnAdmin = new DevComponents.DotNetBar.ButtonItem();
this.btnUpdateFormats = new DevComponents.DotNetBar.ButtonItem();
this.icRecentDocs = new DevComponents.DotNetBar.ItemContainer();
this.labelItem8 = new DevComponents.DotNetBar.LabelItem();
this.itemContainer5 = new DevComponents.DotNetBar.ItemContainer();
this.btnOptions = new DevComponents.DotNetBar.ButtonItem();
this.btnExit = new DevComponents.DotNetBar.ButtonItem();
this.qatCustomizeItem1 = new DevComponents.DotNetBar.QatCustomizeItem();
this.btnUpdateFormats = new DevComponents.DotNetBar.ButtonItem();
this.galleryGroup1 = new DevComponents.DotNetBar.GalleryGroup();
this.galleryGroup2 = new DevComponents.DotNetBar.GalleryGroup();
this.galleryGroup3 = new DevComponents.DotNetBar.GalleryGroup();
@ -250,7 +250,6 @@ namespace VEPROMS
//
// btnShowErrFld
//
//this.btnShowErrFld.Image = global::VEPROMS.Properties.Resources.GoToParentFolderHS;
this.btnShowErrFld.Image = ((System.Drawing.Image)(resources.GetObject("btnShowErrFld.Image")));
this.btnShowErrFld.Name = "btnShowErrFld";
this.btnShowErrFld.Text = "Open Log Folder";
@ -258,14 +257,11 @@ namespace VEPROMS
//
// btnShowPrtFld
//
//this.btnShowPrtFld.Image = global::VEPROMS.Properties.Resources.GoToParentFolderHS;
this.btnShowPrtFld.Image = ((System.Drawing.Image)(resources.GetObject("btnShowPrtFld.Image")));
this.btnShowPrtFld.Name = "btnShowPrtFld";
this.btnShowPrtFld.Text = "Open Default Print Folder";
this.btnShowPrtFld.Click += new System.EventHandler(this.btnShowPrtFld_Click);
//
//
//
// btnHelpAbout
//
this.btnHelpAbout.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText;
@ -303,6 +299,10 @@ namespace VEPROMS
this.itemContainer1.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] {
this.itemContainer2,
this.itemContainer5});
//
//
//
this.itemContainer1.TitleMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
//
//
//
@ -320,6 +320,10 @@ namespace VEPROMS
this.itemContainer2.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] {
this.itemContainer3,
this.icRecentDocs});
//
//
//
this.itemContainer2.TitleMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
//
//
//
@ -340,6 +344,10 @@ namespace VEPROMS
this.btnOpen,
this.btnPrepare,
this.btnAdmin});
//
//
//
this.itemContainer3.TitleMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
//
//
//
@ -363,7 +371,6 @@ namespace VEPROMS
this.btnOpen.SubItemsExpandWidth = 24;
this.btnOpen.Text = "&Open...";
this.btnOpen.Click += new System.EventHandler(this.btnOpen_Click);
//
// btnPrepare
//
@ -382,16 +389,8 @@ namespace VEPROMS
this.btnAdmin.CanCustomize = false;
this.btnAdmin.Image = global::VEPROMS.Properties.Resources.Admin;
this.btnAdmin.Name = "btnAdmin";
//this.btnAdmin.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] {
//this.btnUpdateFormats});
this.btnAdmin.Text = "A&dministration";
//
// btnUpdateFormats
//
this.btnUpdateFormats.Name = "btnUpdateFormats";
this.btnUpdateFormats.Text = "Update Formats";
this.btnUpdateFormats.Click += new System.EventHandler(this.btnUpdateFormat_Click);
//
// icRecentDocs
//
//
@ -404,6 +403,10 @@ namespace VEPROMS
this.icRecentDocs.Name = "icRecentDocs";
this.icRecentDocs.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] {
this.labelItem8});
//
//
//
this.icRecentDocs.TitleMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
//
//
//
@ -432,6 +435,10 @@ namespace VEPROMS
this.itemContainer5.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] {
this.btnOptions,
this.btnExit});
//
//
//
this.itemContainer5.TitleMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
//
//
//
@ -461,6 +468,12 @@ namespace VEPROMS
//
this.qatCustomizeItem1.Name = "qatCustomizeItem1";
//
// btnUpdateFormats
//
this.btnUpdateFormats.Name = "btnUpdateFormats";
this.btnUpdateFormats.Text = "Update Formats";
this.btnUpdateFormats.Click += new System.EventHandler(this.btnUpdateFormat_Click);
//
// galleryGroup1
//
this.galleryGroup1.Name = "galleryGroup1";
@ -535,7 +548,7 @@ namespace VEPROMS
//
this.txtSearch.Dock = System.Windows.Forms.DockStyle.Right;
this.txtSearch.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F);
this.txtSearch.Location = new System.Drawing.Point(820, 0);
this.txtSearch.Location = new System.Drawing.Point(810, 0);
this.txtSearch.Multiline = true;
this.txtSearch.Name = "txtSearch";
this.txtSearch.Size = new System.Drawing.Size(100, 25);
@ -544,7 +557,7 @@ namespace VEPROMS
// btnPrevious
//
this.btnPrevious.Dock = System.Windows.Forms.DockStyle.Right;
this.btnPrevious.Location = new System.Drawing.Point(920, 0);
this.btnPrevious.Location = new System.Drawing.Point(910, 0);
this.btnPrevious.Name = "btnPrevious";
this.btnPrevious.Size = new System.Drawing.Size(23, 25);
this.btnPrevious.TabIndex = 1;
@ -554,7 +567,7 @@ namespace VEPROMS
// btnPrint1
//
this.btnPrint1.Dock = System.Windows.Forms.DockStyle.Right;
this.btnPrint1.Location = new System.Drawing.Point(943, 0);
this.btnPrint1.Location = new System.Drawing.Point(933, 0);
this.btnPrint1.Name = "btnPrint1";
this.btnPrint1.Size = new System.Drawing.Size(23, 25);
this.btnPrint1.TabIndex = 2;
@ -566,7 +579,7 @@ namespace VEPROMS
this.cbScrunch.Checked = true;
this.cbScrunch.CheckState = System.Windows.Forms.CheckState.Checked;
this.cbScrunch.Dock = System.Windows.Forms.DockStyle.Right;
this.cbScrunch.Location = new System.Drawing.Point(966, 0);
this.cbScrunch.Location = new System.Drawing.Point(956, 0);
this.cbScrunch.Name = "cbScrunch";
this.cbScrunch.Size = new System.Drawing.Size(24, 25);
this.cbScrunch.TabIndex = 3;
@ -575,7 +588,7 @@ namespace VEPROMS
// btnNext
//
this.btnNext.Dock = System.Windows.Forms.DockStyle.Right;
this.btnNext.Location = new System.Drawing.Point(990, 0);
this.btnNext.Location = new System.Drawing.Point(980, 0);
this.btnNext.Name = "btnNext";
this.btnNext.Size = new System.Drawing.Size(23, 25);
this.btnNext.TabIndex = 4;
@ -586,7 +599,7 @@ namespace VEPROMS
//
this.cmbFont.Dock = System.Windows.Forms.DockStyle.Right;
this.cmbFont.FormattingEnabled = true;
this.cmbFont.Location = new System.Drawing.Point(1013, 0);
this.cmbFont.Location = new System.Drawing.Point(1003, 0);
this.cmbFont.Name = "cmbFont";
this.cmbFont.Size = new System.Drawing.Size(172, 23);
this.cmbFont.TabIndex = 0;
@ -596,9 +609,10 @@ namespace VEPROMS
//
this.lblDummy.Dock = System.Windows.Forms.DockStyle.Right;
this.lblDummy.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F);
this.lblDummy.Location = new System.Drawing.Point(1013, 0);
this.lblDummy.Location = new System.Drawing.Point(1175, 0);
this.lblDummy.Name = "lblDummy";
this.lblDummy.Size = new System.Drawing.Size(10, 25);
this.lblDummy.TabIndex = 5;
this.lblDummy.Visible = false;
//
// labelItem10
@ -707,9 +721,9 @@ namespace VEPROMS
this.epAnnotations.Expanded = false;
this.epAnnotations.ExpandedBounds = new System.Drawing.Rectangle(4, 544, 1187, 202);
this.epAnnotations.ExpandOnTitleClick = true;
this.epAnnotations.Location = new System.Drawing.Point(5, 547);
this.epAnnotations.Location = new System.Drawing.Point(5, 324);
this.epAnnotations.Name = "epAnnotations";
this.epAnnotations.Size = new System.Drawing.Size(1185, 26);
this.epAnnotations.Size = new System.Drawing.Size(1185, 249);
this.epAnnotations.Style.Alignment = System.Drawing.StringAlignment.Center;
this.epAnnotations.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground;
this.epAnnotations.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2;
@ -734,8 +748,9 @@ namespace VEPROMS
// ctrlAnnotationDetails
//
this.ctrlAnnotationDetails.AnnotationDirty = false;
this.ctrlAnnotationDetails.AnnotationRTFText = "{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1033{\\fonttbl{\\f0\\fnil\\fcharset0 Microsoft S" +
"ans Serif;}}\r\n\\viewkind4\\uc1\\pard\\f0\\fs20\\par\r\n}\r\n";
this.ctrlAnnotationDetails.AnnotationRTFText = "{\\rtf1\\ansi\\ansicpg1252\\deff0\\nouicompat\\deflang1033{\\fonttbl{\\f0\\fnil\\fcharset0 " +
"Microsoft Sans Serif;}}\r\n{\\*\\generator Riched20 10.0.26100}\\viewkind4\\uc1 \r\n\\par" +
"d\\f0\\fs20\\par\r\n}\r\n";
this.ctrlAnnotationDetails.Annotations = null;
this.ctrlAnnotationDetails.AnnotationText = "";
this.ctrlAnnotationDetails.ClientProcess = null;
@ -744,11 +759,11 @@ 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;
this.ctrlAnnotationDetails.Size = new System.Drawing.Size(1185, 0);
this.ctrlAnnotationDetails.Size = new System.Drawing.Size(1185, 223);
this.ctrlAnnotationDetails.TabIndex = 15;
//
// btnAnnoDetailsPushPin
@ -782,7 +797,7 @@ namespace VEPROMS
this.epProcedures.ExpandOnTitleClick = true;
this.epProcedures.Location = new System.Drawing.Point(5, 57);
this.epProcedures.Name = "epProcedures";
this.epProcedures.Size = new System.Drawing.Size(326, 490);
this.epProcedures.Size = new System.Drawing.Size(326, 267);
this.epProcedures.Style.Alignment = System.Drawing.StringAlignment.Center;
this.epProcedures.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground;
this.epProcedures.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2;
@ -806,6 +821,7 @@ namespace VEPROMS
// tv
//
this.tv.AllowDrop = true;
this.tv.DelProcReason = null;
this.tv.Dock = System.Windows.Forms.DockStyle.Fill;
this.tv.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.tv.HideSelection = false;
@ -814,7 +830,7 @@ namespace VEPROMS
this.tv.MyUserInfo = null;
this.tv.Name = "tv";
this.tv.ProgressBar = null;
this.tv.Size = new System.Drawing.Size(326, 464);
this.tv.Size = new System.Drawing.Size(326, 241);
this.tv.TabIndex = 1;
this.tv.SectionShouldClose += new Volian.Controls.Library.vlnTreeViewSectionInfoEvent(this.tv_SectionShouldClose);
this.tv.WordSectionDeleted += new Volian.Controls.Library.WordSectionDeletedEvent(this.tv_WordSectionDeleted);
@ -833,7 +849,7 @@ namespace VEPROMS
this.infoPanel.ExpandOnTitleClick = true;
this.infoPanel.Location = new System.Drawing.Point(614, 57);
this.infoPanel.Name = "infoPanel";
this.infoPanel.Size = new System.Drawing.Size(230, 490);
this.infoPanel.Size = new System.Drawing.Size(230, 267);
this.infoPanel.Style.Alignment = System.Drawing.StringAlignment.Center;
this.infoPanel.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground;
this.infoPanel.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2;
@ -870,7 +886,7 @@ namespace VEPROMS
this.infoTabs.Name = "infoTabs";
this.infoTabs.SelectedTabFont = new System.Drawing.Font("Microsoft Sans Serif", 8F, System.Drawing.FontStyle.Bold);
this.infoTabs.SelectedTabIndex = 0;
this.infoTabs.Size = new System.Drawing.Size(230, 464);
this.infoTabs.Size = new System.Drawing.Size(230, 241);
this.infoTabs.TabAlignment = DevComponents.DotNetBar.eTabStripAlignment.Right;
this.infoTabs.TabIndex = 1;
this.infoTabs.TabLayoutType = DevComponents.DotNetBar.eTabLayoutType.FixedWithNavigationBox;
@ -891,7 +907,7 @@ namespace VEPROMS
this.infotabControlPanelTags.Location = new System.Drawing.Point(0, 0);
this.infotabControlPanelTags.Name = "infotabControlPanelTags";
this.infotabControlPanelTags.Padding = new System.Windows.Forms.Padding(1);
this.infotabControlPanelTags.Size = new System.Drawing.Size(203, 464);
this.infotabControlPanelTags.Size = new System.Drawing.Size(203, 241);
this.infotabControlPanelTags.Style.BackColor1.Color = System.Drawing.SystemColors.Control;
this.infotabControlPanelTags.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
this.infotabControlPanelTags.Style.BorderSide = ((DevComponents.DotNetBar.eBorderSide)(((DevComponents.DotNetBar.eBorderSide.Left | DevComponents.DotNetBar.eBorderSide.Top)
@ -910,7 +926,7 @@ namespace VEPROMS
this.panelEx1.Dock = System.Windows.Forms.DockStyle.Fill;
this.panelEx1.Location = new System.Drawing.Point(1, 1);
this.panelEx1.Name = "panelEx1";
this.panelEx1.Size = new System.Drawing.Size(201, 462);
this.panelEx1.Size = new System.Drawing.Size(201, 239);
this.panelEx1.Style.Alignment = System.Drawing.StringAlignment.Center;
this.panelEx1.Style.BackColor1.Color = System.Drawing.Color.Transparent;
this.panelEx1.Style.BackColor2.Color = System.Drawing.Color.SlateGray;
@ -926,13 +942,15 @@ namespace VEPROMS
this.displayTags.Dock = System.Windows.Forms.DockStyle.Fill;
this.displayTags.IsVisible = false;
this.displayTags.Location = new System.Drawing.Point(0, 0);
this.displayTags.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.displayTags.Margin = new System.Windows.Forms.Padding(2);
this.displayTags.MinimumSize = new System.Drawing.Size(100, 630);
this.displayTags.MyEditItem = null;
this.displayTags.Name = "displayTags";
this.displayTags.NotVisibleEditItem = null;
this.displayTags.Size = new System.Drawing.Size(201, 630);
this.displayTags.TabIndex = 0;
this.displayTags.TbFSht = "";
this.displayTags.TbFSwd = "";
//
// infotabTags
//
@ -950,7 +968,7 @@ namespace VEPROMS
this.tcpApplicability.Location = new System.Drawing.Point(0, 0);
this.tcpApplicability.Name = "tcpApplicability";
this.tcpApplicability.Padding = new System.Windows.Forms.Padding(1);
this.tcpApplicability.Size = new System.Drawing.Size(203, 464);
this.tcpApplicability.Size = new System.Drawing.Size(203, 241);
this.tcpApplicability.Style.BackColor1.Color = System.Drawing.SystemColors.Control;
this.tcpApplicability.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
this.tcpApplicability.Style.BorderSide = ((DevComponents.DotNetBar.eBorderSide)(((DevComponents.DotNetBar.eBorderSide.Left | DevComponents.DotNetBar.eBorderSide.Top)
@ -969,7 +987,7 @@ namespace VEPROMS
this.displayApplicability.MyDisplayTabItem = null;
this.displayApplicability.MyItemInfo = null;
this.displayApplicability.Name = "displayApplicability";
this.displayApplicability.Size = new System.Drawing.Size(201, 462);
this.displayApplicability.Size = new System.Drawing.Size(201, 239);
this.displayApplicability.TabIndex = 2;
//
// infotabApplicability
@ -987,7 +1005,7 @@ namespace VEPROMS
this.tcpFoldoutMaint.Location = new System.Drawing.Point(0, 0);
this.tcpFoldoutMaint.Name = "tcpFoldoutMaint";
this.tcpFoldoutMaint.Padding = new System.Windows.Forms.Padding(1);
this.tcpFoldoutMaint.Size = new System.Drawing.Size(203, 464);
this.tcpFoldoutMaint.Size = new System.Drawing.Size(203, 241);
this.tcpFoldoutMaint.Style.BackColor1.Color = System.Drawing.SystemColors.Control;
this.tcpFoldoutMaint.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
this.tcpFoldoutMaint.Style.BorderSide = ((DevComponents.DotNetBar.eBorderSide)(((DevComponents.DotNetBar.eBorderSide.Left | DevComponents.DotNetBar.eBorderSide.Top)
@ -1004,7 +1022,7 @@ namespace VEPROMS
this.displayFoldoutMaint.Margin = new System.Windows.Forms.Padding(4);
this.displayFoldoutMaint.MyItemInfo = null;
this.displayFoldoutMaint.Name = "displayFoldoutMaint";
this.displayFoldoutMaint.Size = new System.Drawing.Size(201, 462);
this.displayFoldoutMaint.Size = new System.Drawing.Size(201, 239);
this.displayFoldoutMaint.TabIndex = 2;
//
// tabControlPanel1
@ -1015,7 +1033,7 @@ namespace VEPROMS
this.tabControlPanel1.Location = new System.Drawing.Point(0, 0);
this.tabControlPanel1.Name = "tabControlPanel1";
this.tabControlPanel1.Padding = new System.Windows.Forms.Padding(1);
this.tabControlPanel1.Size = new System.Drawing.Size(203, 464);
this.tabControlPanel1.Size = new System.Drawing.Size(203, 241);
this.tabControlPanel1.Style.BackColor1.Color = System.Drawing.SystemColors.Control;
this.tabControlPanel1.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
this.tabControlPanel1.Style.BorderSide = ((DevComponents.DotNetBar.eBorderSide)(((DevComponents.DotNetBar.eBorderSide.Left | DevComponents.DotNetBar.eBorderSide.Top)
@ -1036,7 +1054,7 @@ namespace VEPROMS
this.displayHistory.MyProcedureInfo = null;
this.displayHistory.MyRevDate = new System.DateTime(((long)(0)));
this.displayHistory.Name = "displayHistory";
this.displayHistory.Size = new System.Drawing.Size(201, 462);
this.displayHistory.Size = new System.Drawing.Size(201, 239);
this.displayHistory.TabIndex = 0;
//
// infotabHistory
@ -1054,7 +1072,7 @@ namespace VEPROMS
this.infotabControlPanelTransitions.Location = new System.Drawing.Point(0, 0);
this.infotabControlPanelTransitions.Name = "infotabControlPanelTransitions";
this.infotabControlPanelTransitions.Padding = new System.Windows.Forms.Padding(1);
this.infotabControlPanelTransitions.Size = new System.Drawing.Size(203, 464);
this.infotabControlPanelTransitions.Size = new System.Drawing.Size(203, 241);
this.infotabControlPanelTransitions.Style.BackColor1.Color = System.Drawing.SystemColors.Control;
this.infotabControlPanelTransitions.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
this.infotabControlPanelTransitions.Style.BorderSide = ((DevComponents.DotNetBar.eBorderSide)(((DevComponents.DotNetBar.eBorderSide.Left | DevComponents.DotNetBar.eBorderSide.Top)
@ -1076,7 +1094,7 @@ namespace VEPROMS
this.displayTransition.MyRTB = null;
this.displayTransition.Name = "displayTransition";
this.displayTransition.RangeColor = System.Drawing.Color.LightGray;
this.displayTransition.Size = new System.Drawing.Size(201, 462);
this.displayTransition.Size = new System.Drawing.Size(201, 239);
this.displayTransition.TabIndex = 0;
//
// infotabTransition
@ -1095,7 +1113,7 @@ namespace VEPROMS
this.infotabControlPanelRO.Location = new System.Drawing.Point(0, 0);
this.infotabControlPanelRO.Name = "infotabControlPanelRO";
this.infotabControlPanelRO.Padding = new System.Windows.Forms.Padding(1);
this.infotabControlPanelRO.Size = new System.Drawing.Size(203, 464);
this.infotabControlPanelRO.Size = new System.Drawing.Size(203, 241);
this.infotabControlPanelRO.Style.BackColor1.Color = System.Drawing.SystemColors.Control;
this.infotabControlPanelRO.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
this.infotabControlPanelRO.Style.BorderSide = ((DevComponents.DotNetBar.eBorderSide)(((DevComponents.DotNetBar.eBorderSide.Left | DevComponents.DotNetBar.eBorderSide.Top)
@ -1111,13 +1129,13 @@ namespace VEPROMS
this.displayRO.Dock = System.Windows.Forms.DockStyle.Fill;
this.displayRO.Location = new System.Drawing.Point(1, 1);
this.displayRO.Margin = new System.Windows.Forms.Padding(4);
this.displayRO.MyDvi = null;
this.displayRO.MyROFST = null;
//this.displayRO.MyROFSTLookup = null;
this.displayRO.MyRTB = null;
this.displayRO.Name = "displayRO";
this.displayRO.ProgressBar = null;
this.displayRO.ROTypeFilter = VEPROMS.CSLA.Library.E_ROValueType.All;
this.displayRO.Size = new System.Drawing.Size(201, 462);
this.displayRO.Size = new System.Drawing.Size(201, 239);
this.displayRO.TabControl = this.tc;
this.displayRO.TabIndex = 0;
//
@ -1126,6 +1144,7 @@ namespace VEPROMS
this.tc.ChgId = null;
this.tc.Dock = System.Windows.Forms.DockStyle.Fill;
this.tc.ForeColor = System.Drawing.SystemColors.ControlText;
this.tc.LastSelectedDisplayTabItem = null;
this.tc.Location = new System.Drawing.Point(334, 57);
this.tc.Margin = new System.Windows.Forms.Padding(4);
this.tc.MyAnnotationDetails = null;
@ -1137,7 +1156,7 @@ namespace VEPROMS
this.tc.SelectedDisplayTabItem = null;
this.tc.SeparateWindows = false;
this.tc.ShuttingDown = false;
this.tc.Size = new System.Drawing.Size(277, 487);
this.tc.Size = new System.Drawing.Size(277, 264);
this.tc.SyncEnhancedDocuments = false;
this.tc.TabIndex = 8;
this.tc.VersionID = 0;
@ -1209,7 +1228,7 @@ namespace VEPROMS
this.expandableSplitter1.HotGripLightColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.BarBackground;
this.expandableSplitter1.Location = new System.Drawing.Point(331, 57);
this.expandableSplitter1.Name = "expandableSplitter1";
this.expandableSplitter1.Size = new System.Drawing.Size(3, 490);
this.expandableSplitter1.Size = new System.Drawing.Size(3, 267);
this.expandableSplitter1.Style = DevComponents.DotNetBar.eSplitterStyle.Office2007;
this.expandableSplitter1.TabIndex = 5;
this.expandableSplitter1.TabStop = false;
@ -1241,7 +1260,7 @@ namespace VEPROMS
this.expandableSplitter2.HotGripDarkColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
this.expandableSplitter2.HotGripLightColor = System.Drawing.Color.FromArgb(((int)(((byte)(227)))), ((int)(((byte)(239)))), ((int)(((byte)(255)))));
this.expandableSplitter2.HotGripLightColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.BarBackground;
this.expandableSplitter2.Location = new System.Drawing.Point(334, 544);
this.expandableSplitter2.Location = new System.Drawing.Point(334, 321);
this.expandableSplitter2.Name = "expandableSplitter2";
this.expandableSplitter2.Size = new System.Drawing.Size(280, 3);
this.expandableSplitter2.Style = DevComponents.DotNetBar.eSplitterStyle.Office2007;
@ -1277,7 +1296,7 @@ namespace VEPROMS
this.expandableSplitter3.HotGripLightColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.BarBackground;
this.expandableSplitter3.Location = new System.Drawing.Point(611, 57);
this.expandableSplitter3.Name = "expandableSplitter3";
this.expandableSplitter3.Size = new System.Drawing.Size(3, 487);
this.expandableSplitter3.Size = new System.Drawing.Size(3, 264);
this.expandableSplitter3.Style = DevComponents.DotNetBar.eSplitterStyle.Office2007;
this.expandableSplitter3.TabIndex = 7;
this.expandableSplitter3.TabStop = false;
@ -1307,7 +1326,7 @@ namespace VEPROMS
this.toolsPanel.ExpandOnTitleClick = true;
this.toolsPanel.Location = new System.Drawing.Point(847, 57);
this.toolsPanel.Name = "toolsPanel";
this.toolsPanel.Size = new System.Drawing.Size(343, 490);
this.toolsPanel.Size = new System.Drawing.Size(343, 267);
this.toolsPanel.Style.Alignment = System.Drawing.StringAlignment.Center;
this.toolsPanel.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground;
this.toolsPanel.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2;
@ -1341,7 +1360,7 @@ namespace VEPROMS
this.toolsTabs.Name = "toolsTabs";
this.toolsTabs.SelectedTabFont = new System.Drawing.Font("Microsoft Sans Serif", 8F, System.Drawing.FontStyle.Bold);
this.toolsTabs.SelectedTabIndex = 0;
this.toolsTabs.Size = new System.Drawing.Size(343, 464);
this.toolsTabs.Size = new System.Drawing.Size(343, 241);
this.toolsTabs.TabAlignment = DevComponents.DotNetBar.eTabStripAlignment.Right;
this.toolsTabs.TabIndex = 1;
this.toolsTabs.TabLayoutType = DevComponents.DotNetBar.eTabLayoutType.FixedWithNavigationBox;
@ -1360,7 +1379,7 @@ namespace VEPROMS
this.annotationSearch.Location = new System.Drawing.Point(0, 0);
this.annotationSearch.Name = "annotationSearch";
this.annotationSearch.Padding = new System.Windows.Forms.Padding(1);
this.annotationSearch.Size = new System.Drawing.Size(316, 464);
this.annotationSearch.Size = new System.Drawing.Size(316, 241);
this.annotationSearch.Style.BackColor1.Color = System.Drawing.SystemColors.Control;
this.annotationSearch.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
this.annotationSearch.Style.BorderSide = ((DevComponents.DotNetBar.eBorderSide)(((DevComponents.DotNetBar.eBorderSide.Left | DevComponents.DotNetBar.eBorderSide.Top)
@ -1373,6 +1392,7 @@ namespace VEPROMS
// displaySearch1
//
this.displaySearch1.Dock = System.Windows.Forms.DockStyle.Fill;
this.displaySearch1.LastSearchWasAnnotations = false;
this.displaySearch1.LoadingList = false;
this.displaySearch1.Location = new System.Drawing.Point(1, 1);
this.displaySearch1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
@ -1382,9 +1402,10 @@ namespace VEPROMS
this.displaySearch1.ProgressBar = null;
this.displaySearch1.ReportTitle = null;
this.displaySearch1.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
this.displaySearch1.SearchIncTransII = null;
this.displaySearch1.SearchResults = null;
this.displaySearch1.SearchString = null;
this.displaySearch1.Size = new System.Drawing.Size(314, 462);
this.displaySearch1.Size = new System.Drawing.Size(314, 239);
this.displaySearch1.TabIndex = 0;
this.displaySearch1.TopFolderID = 1;
this.displaySearch1.TypesSelected = "";
@ -1404,7 +1425,7 @@ namespace VEPROMS
this.tabControlPanel2.Location = new System.Drawing.Point(0, 0);
this.tabControlPanel2.Name = "tabControlPanel2";
this.tabControlPanel2.Padding = new System.Windows.Forms.Padding(1);
this.tabControlPanel2.Size = new System.Drawing.Size(316, 464);
this.tabControlPanel2.Size = new System.Drawing.Size(316, 241);
this.tabControlPanel2.Style.BackColor1.Color = System.Drawing.SystemColors.Control;
this.tabControlPanel2.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
this.tabControlPanel2.Style.BorderSide = ((DevComponents.DotNetBar.eBorderSide)(((DevComponents.DotNetBar.eBorderSide.Left | DevComponents.DotNetBar.eBorderSide.Top)
@ -1424,7 +1445,7 @@ namespace VEPROMS
this.panelEx3.Dock = System.Windows.Forms.DockStyle.Fill;
this.panelEx3.Location = new System.Drawing.Point(1, 1);
this.panelEx3.Name = "panelEx3";
this.panelEx3.Size = new System.Drawing.Size(314, 462);
this.panelEx3.Size = new System.Drawing.Size(314, 239);
this.panelEx3.Style.Alignment = System.Drawing.StringAlignment.Center;
this.panelEx3.Style.BackColor1.Color = System.Drawing.Color.Transparent;
this.panelEx3.Style.BackColor2.Color = System.Drawing.Color.SlateGray;
@ -1442,7 +1463,7 @@ namespace VEPROMS
this.displayBookMarks.MyDisplayTabControl = null;
this.displayBookMarks.MyEditItem = null;
this.displayBookMarks.Name = "displayBookMarks";
this.displayBookMarks.Size = new System.Drawing.Size(314, 462);
this.displayBookMarks.Size = new System.Drawing.Size(314, 239);
this.displayBookMarks.TabIndex = 0;
//
// toolsTabBookMarks
@ -1459,7 +1480,7 @@ namespace VEPROMS
this.tabControlPanel3.Location = new System.Drawing.Point(0, 0);
this.tabControlPanel3.Name = "tabControlPanel3";
this.tabControlPanel3.Padding = new System.Windows.Forms.Padding(1);
this.tabControlPanel3.Size = new System.Drawing.Size(316, 464);
this.tabControlPanel3.Size = new System.Drawing.Size(316, 241);
this.tabControlPanel3.Style.BackColor1.Color = System.Drawing.SystemColors.Control;
this.tabControlPanel3.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
this.tabControlPanel3.Style.BorderSide = ((DevComponents.DotNetBar.eBorderSide)(((DevComponents.DotNetBar.eBorderSide.Left | DevComponents.DotNetBar.eBorderSide.Top)
@ -1479,7 +1500,7 @@ namespace VEPROMS
this.displayReports.Name = "displayReports";
this.displayReports.ReportResult = null;
this.displayReports.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
this.displayReports.Size = new System.Drawing.Size(314, 462);
this.displayReports.Size = new System.Drawing.Size(314, 239);
this.displayReports.TabIndex = 0;
//
// toosTabReports
@ -1497,7 +1518,7 @@ namespace VEPROMS
this.tabControlPanelLD.Location = new System.Drawing.Point(0, 0);
this.tabControlPanelLD.Name = "tabControlPanelLD";
this.tabControlPanelLD.Padding = new System.Windows.Forms.Padding(1);
this.tabControlPanelLD.Size = new System.Drawing.Size(316, 464);
this.tabControlPanelLD.Size = new System.Drawing.Size(316, 241);
this.tabControlPanelLD.Style.BackColor1.Color = System.Drawing.SystemColors.Control;
this.tabControlPanelLD.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
this.tabControlPanelLD.Style.BorderSide = ((DevComponents.DotNetBar.eBorderSide)(((DevComponents.DotNetBar.eBorderSide.Left | DevComponents.DotNetBar.eBorderSide.Top)
@ -1516,7 +1537,7 @@ namespace VEPROMS
this.displayLibDocs.Location = new System.Drawing.Point(1, 1);
this.displayLibDocs.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.displayLibDocs.Name = "displayLibDocs";
this.displayLibDocs.Size = new System.Drawing.Size(314, 462);
this.displayLibDocs.Size = new System.Drawing.Size(314, 239);
this.displayLibDocs.TabIndex = 0;
//
// tabItemLibDocs
@ -1556,7 +1577,7 @@ namespace VEPROMS
this.expandableSplitter4.HotGripLightColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.BarBackground;
this.expandableSplitter4.Location = new System.Drawing.Point(844, 57);
this.expandableSplitter4.Name = "expandableSplitter4";
this.expandableSplitter4.Size = new System.Drawing.Size(3, 490);
this.expandableSplitter4.Size = new System.Drawing.Size(3, 267);
this.expandableSplitter4.Style = DevComponents.DotNetBar.eSplitterStyle.Office2007;
this.expandableSplitter4.TabIndex = 3;
this.expandableSplitter4.TabStop = false;

View File

@ -542,6 +542,7 @@ namespace VEPROMS
tv.RefreshCheckedOutProcedures += new vlnTreeViewEvent(tv_RefreshCheckedOutProcedures);
tv.ProcedureCheckedOutTo += new vlnTreeViewEvent(tv_ProcedureCheckedOutTo);
tv.ViewPDF += new vlnTreeViewPdfEvent(tv_ViewPDF);
tv.SelectAnnotations += new vlnTreeViewEvent(tv_SelectAnnotations);
displayApplicability.ApplicabilityViewModeChanged += new DisplayApplicability.DisplayApplicabilityEvent(displayApplicability_ApplicabilityViewModeChanged);
@ -1300,6 +1301,23 @@ namespace VEPROMS
pi.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
}
void tv_SelectAnnotations(object sender, vlnTreeEventArgs args)
{
ProcedureInfo pi = (args.Node as VETreeNode).VEObject as ProcedureInfo;
if (pi == null) return;
tc.SaveCurrentEditItem(pi);
//pi.MyDocVersion.DocVersionConfig.SelectedSlave = args.UnitIndex;
DlgAnnotationsSelect sannoDlg = new DlgAnnotationsSelect(pi);
//sannoDlg.SelectedSlave = args.UnitIndex;
//sannoDlg.MySessionInfo = MySessionInfo;
sannoDlg.ShowDialog(this); // RHM 20120925 - Center dialog over PROMS window
//pi.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
}
void RefreshDisplayHistory(object sender)
{
displayHistory.RefreshChangeList();

View File

@ -172,16 +172,16 @@
</data>
<data name="btnShowErrFld.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAACxMAAAsTAQCanBgAAAA0SURBVDhPY2CgFHxqEvyPDX9sFOhAV4sVoGsk2RB0TeiY
oCH/l+n9pwSPGjBqAHUMGHAAAO9c/kJD+HpiAAAAAElFTkSuQmCC
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL
EwAACxMBAJqcGAAAADRJREFUOE9jYKAUfGoS/I8Nf2wU6EBXixWgayTZEHRN6JigIf+X6f2nBI8aMGoA
dQwYcAAA71z+QkP4emIAAAAASUVORK5CYII=
</value>
</data>
<data name="btnShowPrtFld.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAACxMAAAsTAQCanBgAAAA0SURBVDhPY2CgFHxqEvyPDX9sFOhAV4sVoGsk2RB0TeiY
oCH/l+n9pwSPGjBqAHUMGHAAAO9c/kJD+HpiAAAAAElFTkSuQmCC
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL
EwAACxMBAJqcGAAAADRJREFUOE9jYKAUfGoS/I8Nf2wU6EBXixWgayTZEHRN6JigIf+X6f2nBI8aMGoA
dQwYcAAA71z+QkP4emIAAAAASUVORK5CYII=
</value>
</data>
<data name="btnHelpAbout.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@ -418,7 +418,7 @@
<value>164, 17</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>64</value>
<value>25</value>
</metadata>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>

View 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;
}
}
}

View File

@ -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;
}
public partial class FormatInfo : IFormatOrFormatInfo
}
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
{
//transition report stuff
private static Dictionary<int, string> _TransitionTypes;

View File

@ -2112,6 +2112,45 @@ 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();
EPFields unfiltered = ActiveFormat.PlantFormat.EPFormatFiles.First(x => x.AnnotationTypeID == AnnTypeID).FieldList;
//Build list of step type and step type of it's parents
List<string> steptypelist = new List<string>();
if ((int)MyContent.Type < 20000) return filtered;
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
if (EP.validforsteptypes.Any(steptypelist.Contains))
filtered.Add(EP);
}
return filtered;
}
// 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

View File

@ -0,0 +1,359 @@
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");
}
}
private LazyLoad<string> _rosource;
public string rosource
{
get
{
return LazyLoad(ref _rosource, "@rosource");
}
}
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
{
get
{
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)
{
return validforsteptypes.Contains(StepType);
}
//return a list of items based on the ROsource specified in the EPFormat File
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)).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}");
}
}
}
#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
}

View File

@ -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

View File

@ -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);

View File

@ -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)

View File

@ -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)
{

View File

@ -105,6 +105,33 @@ namespace VEPROMS.CSLA.Library
throw new DbCslaException("Error on AnnotationTypeInfoList.Get", ex);
}
}
//AnnotationTypeInfoList AnnotationTypeInfoList2 = new AnnotationTypeInfoList();
public static AnnotationTypeInfoList AnnotationSelectByItem(int itemID)
{
try
{ // C2025-027 This method needs to be refreshed everytime.
//if (_AnnotationTypeInfoList != null)
// return _AnnotationTypeInfoList;
AnnotationTypeInfoList tmp = (AnnotationTypeInfoList)DataPortal.Fetch(new AnnotationSelectByItemIDCriteria(itemID));
if (tmp.Count < 1)
{
tmp = DataPortal.Fetch<AnnotationTypeInfoList>();
}
AnnotationTypeInfo.AddList(tmp);
tmp.AddEvents();
_AnnotationTypeInfoList = tmp;
OnListChanged();
return tmp;
}
catch (Exception ex)
{
throw new DbCslaException("Error on AnnotationTypeInfoList.Get", ex);
}
}
/// <summary>
/// Reset the list of all AnnotationTypeInfo.
/// </summary>
@ -157,6 +184,50 @@ namespace VEPROMS.CSLA.Library
}
this.RaiseListChangedEvents = true;
}
[Serializable()]
protected class AnnotationSelectByItemIDCriteria
{
private int _itemID;
public int ItemID
{ get { return _itemID; } }
public AnnotationSelectByItemIDCriteria(int itemID)
{
_itemID = itemID;
}
}
private void DataPortal_Fetch(AnnotationSelectByItemIDCriteria criteria)
{
this.RaiseListChangedEvents = false;
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] AnnotationTypeInfoList.DataPortal_Fetch", GetHashCode());
try
{
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
{
using (SqlCommand cm = cn.CreateCommand())
{
cm.CommandType = CommandType.StoredProcedure;
cm.CommandText = "getAnnotationTypes2";
cm.Parameters.AddWithValue("@itemID", criteria.ItemID);
cm.CommandTimeout = Database.DefaultTimeout;
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
{
IsReadOnly = false;
while (dr.Read()) this.Add(new AnnotationTypeInfo(dr));
IsReadOnly = true;
}
}
}
}
catch (Exception ex)
{
if (_MyLog.IsErrorEnabled) _MyLog.Error("AnnotationTypeInfoList.DataPortal_Fetch", ex);
throw new DbCslaException("AnnotationTypeInfoList.DataPortal_Fetch", ex);
}
this.RaiseListChangedEvents = true;
}
#endregion
#region ICustomTypeDescriptor impl
public String GetClassName()

View File

@ -0,0 +1,462 @@
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.
namespace VEPROMS.CSLA.Library
{
public class AnnotationstypeSelections
{
public static DataTable Get(int ItemID)
{
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("@ItemID", ItemID);
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)
{
//dt.Rows.Add(DataPortal.Fetch<AnnotationTypeInfoList>());
//DataPortal.Fetch<AnnotationTypeInfoList>();
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["ItemID"] = ItemID;
row["Name"] = annosel.Name;
row["Config"] = annosel.Config;
row["DTS"] = annosel.DTS;
row["UserID"] = annosel.UserID;
row["IsEPAnnotationType"] = annosel.IsEPAnnotationType;
dt.Rows.Add(row);
}
//row = dt.NewRow();
Review

This is an example of what I was referring to with the commented out code as it is very similar to the uncommented code above.

This is an example of what I was referring to with the commented out code as it is very similar to the uncommented code above.
//row["TypeID"] = annosel.TypeID;
//row["ItemID"] = ItemID;
//row["Name"] = annosel.Name;
//row["Config"] = annosel.Config;
//row["DTS"] = annosel.DTS;
//row["UserID"] = annosel.UserID;
//row["IsEPAnnotationType"] = annosel.IsEPAnnotationType;
//dt.Rows.Add(row);
//dt.Rows.Add(0,annosel.TypeID, ItemID, annosel.Name, annosel.Config, annosel.DTS, annosel.UserID, 0x0000000000000000, annosel.IsEPAnnotationType);
};
}
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(int ItemID)
{
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("@ItemID", ItemID);
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(int ItemID)
{
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("@ItemID", ItemID);
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(int ItemID, int TypeID, int dltFlg, string Name = "")
{
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
{
using (SqlCommand cm = cn.CreateCommand())
{
try
{
cm.CommandType = CommandType.StoredProcedure;
cm.CommandText = "UpdateAnnotationstypeSelections";
cm.CommandTimeout = Database.DefaultTimeout;
cm.Parameters.AddWithValue("@ItemID", ItemID);
cm.Parameters.AddWithValue("@TypeID", TypeID);
cm.Parameters.AddWithValue("@dltFlg", dltFlg);
cm.Parameters.AddWithValue("@Name", Name);
cm.ExecuteNonQuery();
}
catch (Exception ex)
{
}
}
}
}
public static AnnotationTypeInfoList AnnotationSelectByItem(int itemID)
{
try
{
//if (_AnnotationTypeInfoList != null)
// return _AnnotationTypeInfoList;
AnnotationTypeInfoList tmp = (AnnotationTypeInfoList)DataPortal.Fetch(new AnnotationSelectByItemIDCriteria(itemID));
if (tmp.Count < 1)
{
tmp = DataPortal.Fetch<AnnotationTypeInfoList>();
}
AnnotationTypeInfo.AddList(tmp);
tmp.AddEvents();
return tmp;
}
catch (Exception ex)
{
throw new DbCslaException("Error on AnnotationTypeInfoList.Get", ex);
}
}
private int _TypeID;
[System.ComponentModel.DataObjectField(true, true)]
public int TypeID
{
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
get
{
return _TypeID;
}
}
private int _ItemID;
[System.ComponentModel.DataObjectField(true, true)]
public int ItemID
{
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
get
{
return _ItemID;
}
}
private string _Name = string.Empty;
public string Name
{
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
get
{
return _Name;
}
}
private string _Config = string.Empty;
public string Config
{
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
get
{
return _Config;
}
}
private DateTime _DTS = new DateTime();
public DateTime DTS
{
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
get
{
return _DTS;
}
}
private string _UserID = string.Empty;
public string UserID
{
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
get
{
return _UserID;
}
}
private int _AnnotationTypeAnnotationCount = 0;
public int AnnotationTypeAnnotationCount
{
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
get
{
return _AnnotationTypeAnnotationCount;
}
}
//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();
}
}
}
#region Log4Net
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
#endregion
private string _ErrorMessage = string.Empty;
public string ErrorMessage
{
get { return _ErrorMessage; }
}
[Serializable()]
protected class retrieveAnnotSelections
{
private int _itemID;
public int itemID { get { return _itemID; } }
public retrieveAnnotSelections(int itemID)
{
_itemID = itemID;
}
}
[Serializable()]
public class retrieveAnnotSelectionsList
{
private int _TypeID;
public int TypeID
{
get { return _TypeID; }
set { _TypeID = value; }
}
private int _ItemID;
public int ItemID
{
get { return _ItemID; }
set { _ItemID = value; }
}
private string _Name;
public string Name
{
get { return _Name; }
set { _Name = value; }
}
private string _Config;
public string Config
{
get { return _Config; }
set { _Config = value; }
}
private DateTime _DTS;
public DateTime DTS
{
get { return _DTS; }
set { _DTS = value; }
}
private string _UserID;
public string UserID
{
get { return _UserID; }
set { _UserID = value; }
}
private bool _IsEPAnnotationType;
public bool IsEPAnnotationType
{
get { return _IsEPAnnotationType; }
set { _IsEPAnnotationType = value; }
}
private string _ErrorMessage = string.Empty;
public string ErrorMessage
{
get { return _ErrorMessage; }
}
}
private void DataPortal_Fetch(retrieveAnnotSelections criteria)
{
try
{
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
{
using (SqlCommand cm = cn.CreateCommand())
{
cm.CommandType = CommandType.StoredProcedure;
cm.CommandText = "getAnnotationstypeSelections";
cm.CommandTimeout = Database.DefaultTimeout;
cm.Parameters.AddWithValue("@itemID", criteria.itemID);
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
{
if (!dr.Read())
{
_ErrorMessage = "No Record Found";
return;
}
ReadData(dr);
}
}
}
}
catch (Exception ex)
{
if (_MyLog.IsErrorEnabled) _MyLog.Error("retrieveAnnotSelectionsList.DataPortal_Fetch", ex);
throw new DbCslaException("retrieveAnnotSelectionsList.DataPortal_Fetch", ex);
}
//this.RaiseListChangedEvents = true;
}
[Serializable()]
protected class AnnotationSelectByItemIDCriteria
{
private int _itemID;
public int ItemID
{ get { return _itemID; } }
public AnnotationSelectByItemIDCriteria(int itemID)
{
_itemID = itemID;
}
}
private void DataPortal_Fetch(AnnotationSelectByItemIDCriteria criteria)
{
//this.RaiseListChangedEvents = false;
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] AnnotationTypeInfoList.DataPortal_Fetch", GetHashCode());
try
{
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
{
using (SqlCommand cm = cn.CreateCommand())
{
cm.CommandType = CommandType.StoredProcedure;
cm.CommandText = "getAnnotationTypes2";
cm.Parameters.AddWithValue("@itemID", criteria.ItemID);
cm.CommandTimeout = Database.DefaultTimeout;
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
{
//IsReadOnly = false;
//while (dr.Read()) this.Add(new AnnotationTypeInfo(dr));
//IsReadOnly = true;
}
}
}
}
catch (Exception ex)
{
if (_MyLog.IsErrorEnabled) _MyLog.Error("AnnotationTypeInfoList.DataPortal_Fetch", ex);
throw new DbCslaException("AnnotationTypeInfoList.DataPortal_Fetch", ex);
}
//this.RaiseListChangedEvents = true;
}
private void ReadData(SafeDataReader dr)
{
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] retrieveAnnotSelectionsList.ReadData", GetHashCode());
try
{
_TypeID = dr.GetInt32("TypeID");
_ItemID = dr.GetInt32("ItemID");
_Name = dr.GetString("Name");
_Config = dr.GetString("Config");
_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)
{
if (_MyLog.IsErrorEnabled) _MyLog.Error("retrieveAnnotSelectionsList.ReadData", ex);
_ErrorMessage = ex.Message;
throw new DbCslaException("retrieveAnnotSelectionsList.ReadData", ex);
}
}
}
}

View File

@ -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\AnnotationstypeSelections.cs" />
<Compile Include="Minimal\UserSettings.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="VEObjects\VEDrillDown.cs" />

View File

@ -29,7 +29,7 @@ namespace Volian.Controls.Library
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
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();
@ -37,6 +37,7 @@ namespace Volian.Controls.Library
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();
@ -67,11 +68,11 @@ namespace Volian.Controls.Library
| 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.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(489, 291);
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 = "";
@ -81,10 +82,10 @@ namespace Volian.Controls.Library
//
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.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(71, 25);
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";
@ -94,10 +95,10 @@ namespace Volian.Controls.Library
//
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.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(69, 25);
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";
@ -112,11 +113,11 @@ namespace Volian.Controls.Library
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.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(244, 23);
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;
@ -126,10 +127,10 @@ namespace Volian.Controls.Library
// 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.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(71, 25);
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";
@ -138,15 +139,28 @@ namespace Volian.Controls.Library
// 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.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(71, 25);
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("Remove Annotation", "", "This will remove the currently selected 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;
@ -158,10 +172,10 @@ namespace Volian.Controls.Library
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.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(576, 325);
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;
@ -181,24 +195,25 @@ namespace Volian.Controls.Library
//
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.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(35, 17);
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(3, 2, 3, 2);
this.panelAnnoEditBtns.Margin = new System.Windows.Forms.Padding(2);
this.panelAnnoEditBtns.Name = "panelAnnoEditBtns";
this.panelAnnoEditBtns.Size = new System.Drawing.Size(87, 325);
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;
@ -233,10 +248,10 @@ namespace Volian.Controls.Library
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.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(3, 325);
this.expandableSplitter4.Size = new System.Drawing.Size(2, 264);
this.expandableSplitter4.Style = DevComponents.DotNetBar.eSplitterStyle.Office2007;
this.expandableSplitter4.TabIndex = 15;
this.expandableSplitter4.TabStop = false;
@ -248,9 +263,9 @@ namespace Volian.Controls.Library
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.Margin = new System.Windows.Forms.Padding(2);
this.pannelAnnoGrid.Name = "pannelAnnoGrid";
this.pannelAnnoGrid.Size = new System.Drawing.Size(545, 325);
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;
@ -274,19 +289,19 @@ namespace Volian.Controls.Library
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;
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(3, 2, 3, 2);
this.dgAnnotations.Margin = new System.Windows.Forms.Padding(2);
this.dgAnnotations.MultiSelect = false;
this.dgAnnotations.Name = "dgAnnotations";
this.dgAnnotations.RowHeadersVisible = false;
@ -295,7 +310,7 @@ namespace Volian.Controls.Library
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.Size = new System.Drawing.Size(409, 264);
this.dgAnnotations.TabIndex = 1;
this.dgAnnotations.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgAnnotations_CellClick);
//
@ -304,21 +319,21 @@ namespace Volian.Controls.Library
this.myAnnotationTypeDataGridViewTextBoxColumn.DataPropertyName = "MyAnnotationType";
this.myAnnotationTypeDataGridViewTextBoxColumn.HeaderText = "Type";
this.myAnnotationTypeDataGridViewTextBoxColumn.Name = "myAnnotationTypeDataGridViewTextBoxColumn";
this.myAnnotationTypeDataGridViewTextBoxColumn.Width = 69;
this.myAnnotationTypeDataGridViewTextBoxColumn.Width = 56;
//
// dTSDataGridViewTextBoxColumn
//
this.dTSDataGridViewTextBoxColumn.DataPropertyName = "DTS";
this.dTSDataGridViewTextBoxColumn.HeaderText = "Date";
this.dTSDataGridViewTextBoxColumn.Name = "dTSDataGridViewTextBoxColumn";
this.dTSDataGridViewTextBoxColumn.Width = 67;
this.dTSDataGridViewTextBoxColumn.Width = 55;
//
// userIDDataGridViewTextBoxColumn
//
this.userIDDataGridViewTextBoxColumn.DataPropertyName = "UserID";
this.userIDDataGridViewTextBoxColumn.HeaderText = "User";
this.userIDDataGridViewTextBoxColumn.Name = "userIDDataGridViewTextBoxColumn";
this.userIDDataGridViewTextBoxColumn.Width = 67;
this.userIDDataGridViewTextBoxColumn.Width = 54;
//
// searchTextDataGridViewTextBoxColumn
//
@ -333,14 +348,14 @@ namespace Volian.Controls.Library
//
// AnnotationDetails
//
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
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(3, 2, 3, 2);
this.Margin = new System.Windows.Forms.Padding(2);
this.Name = "AnnotationDetails";
this.Size = new System.Drawing.Size(1124, 325);
this.Size = new System.Drawing.Size(843, 264);
this.pannelAnnoEdit.ResumeLayout(false);
this.pannelAnnoEdit.PerformLayout();
this.panelAnnoEditBtns.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;
}
}

View File

@ -119,7 +119,13 @@ namespace Volian.Controls.Library
if (CurrentItem.MyDocVersion != null)
if (CurrentItem.MyDocVersion.DocVersionAssociationCount > 0)
_ROPath = CurrentItem.MyDocVersion.DocVersionAssociations[0].MyROFst.MyRODb.FolderPath;
ProcItem = CurrentItem.MyProcedure;
// C2025-027
cbGridAnnoType.DataSource = VEPROMS.CSLA.Library.AnnotationstypeSelections.Get(ProcItem.ItemID);
}
public AnnotationInfo FirstExeAnnotation(ItemInfo ii)
{
@ -329,12 +335,20 @@ namespace Volian.Controls.Library
AnnotationDirty = true;
}
//C2025-023 - Electronic Procedures - Modifications to PROMS
// Only show Open button if it is an EPAnnotationType
private void dgAnnotations_CellClick(object sender, DataGridViewCellEventArgs e)
{
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];
if (CurrentAnnotation.MyAnnotationType.IsEPAnnotationType)
btnEPAnnotation.Visible = true;
}
else
CurrentAnnotation = null;
}
@ -357,6 +371,7 @@ namespace Volian.Controls.Library
cbGridAnnoType.DisplayMember = "Name";
cbGridAnnoType.ValueMember = "TypeId";
cbGridAnnoType.DataSource = AnnotationTypeInfoList.Get().Clone();
// 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 +615,7 @@ namespace Volian.Controls.Library
public void UpdateAnnotationGrid(ItemInfo currentitem)
{
CurrentItem = currentitem;
btnEPAnnotation.Visible = false;
UpdateAnnotationGrid();
}
@ -702,5 +718,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);
}
}
}

View File

@ -50,6 +50,16 @@ namespace Volian.Controls.Library
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DisplaySearch));
this.tabSearchTypes = new DevComponents.DotNetBar.TabControl();
this.tabControlPanel3 = new DevComponents.DotNetBar.TabControlPanel();
this.gpSrchAnnoText = new DevComponents.DotNetBar.Controls.GroupPanel();
this.panel4 = new System.Windows.Forms.Panel();
this.cbxRnoOnlyAnnot = new DevComponents.DotNetBar.Controls.CheckBoxX();
this.cbxBooleanAnoTxtSrch = new DevComponents.DotNetBar.Controls.CheckBoxX();
this.cbxCaseSensitiveAnnoText = new DevComponents.DotNetBar.Controls.CheckBoxX();
this.cbxTextSearchAnnotation = new DevComponents.DotNetBar.Controls.ComboBoxEx();
this.label2 = new System.Windows.Forms.Label();
this.cbxAnnoTypes = new DevComponents.DotNetBar.Controls.ComboBoxEx();
this.tabAnnotationSearch = new DevComponents.DotNetBar.TabItem(this.components);
this.tabControlPanel4 = new DevComponents.DotNetBar.TabControlPanel();
this.gpSrchText = new DevComponents.DotNetBar.Controls.GroupPanel();
this.panel1 = new System.Windows.Forms.Panel();
@ -84,16 +94,6 @@ namespace Volian.Controls.Library
this.cbxFndUnLnkROVals = new DevComponents.DotNetBar.Controls.CheckBoxX();
this.cmboTreeROs = new DevComponents.DotNetBar.Controls.ComboTree();
this.tabROSearch = new DevComponents.DotNetBar.TabItem(this.components);
this.tabControlPanel3 = new DevComponents.DotNetBar.TabControlPanel();
this.gpSrchAnnoText = new DevComponents.DotNetBar.Controls.GroupPanel();
this.panel4 = new System.Windows.Forms.Panel();
this.cbxRnoOnlyAnnot = new DevComponents.DotNetBar.Controls.CheckBoxX();
this.cbxBooleanAnoTxtSrch = new DevComponents.DotNetBar.Controls.CheckBoxX();
this.cbxCaseSensitiveAnnoText = new DevComponents.DotNetBar.Controls.CheckBoxX();
this.cbxTextSearchAnnotation = new DevComponents.DotNetBar.Controls.ComboBoxEx();
this.label2 = new System.Windows.Forms.Label();
this.cbxAnnoTypes = new DevComponents.DotNetBar.Controls.ComboBoxEx();
this.tabAnnotationSearch = new DevComponents.DotNetBar.TabItem(this.components);
this.tabControlPanel1 = new DevComponents.DotNetBar.TabControlPanel();
this.btnTranCvtSelToTxt = new System.Windows.Forms.Button();
this.lblIncTran = new System.Windows.Forms.Label();
@ -155,6 +155,9 @@ namespace Volian.Controls.Library
this.checkedListBox1 = new System.Windows.Forms.CheckedListBox();
((System.ComponentModel.ISupportInitialize)(this.tabSearchTypes)).BeginInit();
this.tabSearchTypes.SuspendLayout();
this.tabControlPanel3.SuspendLayout();
this.gpSrchAnnoText.SuspendLayout();
this.panel4.SuspendLayout();
this.tabControlPanel4.SuspendLayout();
this.gpSrchText.SuspendLayout();
this.panel1.SuspendLayout();
@ -165,9 +168,6 @@ namespace Volian.Controls.Library
this.pnlTranVersion.SuspendLayout();
this.tabControlPanel2.SuspendLayout();
this.gpFindROs.SuspendLayout();
this.tabControlPanel3.SuspendLayout();
this.gpSrchAnnoText.SuspendLayout();
this.panel4.SuspendLayout();
this.tabControlPanel1.SuspendLayout();
this.groupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.contextMenuBar1)).BeginInit();
@ -185,9 +185,9 @@ namespace Volian.Controls.Library
this.tabSearchTypes.CloseButtonOnTabsAlwaysDisplayed = false;
this.tabSearchTypes.CloseButtonPosition = DevComponents.DotNetBar.eTabCloseButtonPosition.Right;
this.tabSearchTypes.Controls.Add(this.tabControlPanel4);
this.tabSearchTypes.Controls.Add(this.tabControlPanel3);
this.tabSearchTypes.Controls.Add(this.tabControlPanel5);
this.tabSearchTypes.Controls.Add(this.tabControlPanel2);
this.tabSearchTypes.Controls.Add(this.tabControlPanel3);
this.tabSearchTypes.Controls.Add(this.tabControlPanel1);
this.tabSearchTypes.Controls.Add(this.contextMenuBar1);
this.tabSearchTypes.Dock = System.Windows.Forms.DockStyle.Top;
@ -210,6 +210,199 @@ namespace Volian.Controls.Library
this.tabSearchTypes.Text = "tabControl1";
this.tabSearchTypes.ThemeAware = true;
//
// tabControlPanel3
//
this.tabControlPanel3.Controls.Add(this.gpSrchAnnoText);
this.tabControlPanel3.Controls.Add(this.cbxAnnoTypes);
this.tabControlPanel3.DisabledBackColor = System.Drawing.Color.Empty;
this.tabControlPanel3.Dock = System.Windows.Forms.DockStyle.Fill;
this.tabControlPanel3.Location = new System.Drawing.Point(0, 34);
this.tabControlPanel3.Margin = new System.Windows.Forms.Padding(2);
this.tabControlPanel3.Name = "tabControlPanel3";
this.tabControlPanel3.Padding = new System.Windows.Forms.Padding(1);
this.tabControlPanel3.Size = new System.Drawing.Size(277, 113);
this.tabControlPanel3.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(253)))), ((int)(((byte)(253)))), ((int)(((byte)(254)))));
this.tabControlPanel3.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(157)))), ((int)(((byte)(188)))), ((int)(((byte)(227)))));
this.tabControlPanel3.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
this.tabControlPanel3.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(146)))), ((int)(((byte)(165)))), ((int)(((byte)(199)))));
this.tabControlPanel3.Style.BorderSide = ((DevComponents.DotNetBar.eBorderSide)(((DevComponents.DotNetBar.eBorderSide.Left | DevComponents.DotNetBar.eBorderSide.Right)
| DevComponents.DotNetBar.eBorderSide.Bottom)));
this.tabControlPanel3.Style.GradientAngle = 90;
this.tabControlPanel3.TabIndex = 5;
this.tabControlPanel3.TabItem = this.tabAnnotationSearch;
//
// gpSrchAnnoText
//
this.gpSrchAnnoText.AutoSize = true;
this.gpSrchAnnoText.CanvasColor = System.Drawing.SystemColors.Control;
this.gpSrchAnnoText.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007;
this.gpSrchAnnoText.Controls.Add(this.panel4);
this.gpSrchAnnoText.DisabledBackColor = System.Drawing.Color.Empty;
this.gpSrchAnnoText.Dock = System.Windows.Forms.DockStyle.Fill;
this.gpSrchAnnoText.Enabled = false;
this.gpSrchAnnoText.Location = new System.Drawing.Point(1, 23);
this.gpSrchAnnoText.Margin = new System.Windows.Forms.Padding(2);
this.gpSrchAnnoText.Name = "gpSrchAnnoText";
this.gpSrchAnnoText.Size = new System.Drawing.Size(275, 89);
//
//
//
this.gpSrchAnnoText.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2;
this.gpSrchAnnoText.Style.BackColorGradientAngle = 90;
this.gpSrchAnnoText.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground;
this.gpSrchAnnoText.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid;
this.gpSrchAnnoText.Style.BorderBottomWidth = 1;
this.gpSrchAnnoText.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
this.gpSrchAnnoText.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid;
this.gpSrchAnnoText.Style.BorderLeftWidth = 1;
this.gpSrchAnnoText.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid;
this.gpSrchAnnoText.Style.BorderRightWidth = 1;
this.gpSrchAnnoText.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid;
this.gpSrchAnnoText.Style.BorderTopWidth = 1;
this.gpSrchAnnoText.Style.CornerDiameter = 4;
this.gpSrchAnnoText.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded;
this.gpSrchAnnoText.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center;
this.gpSrchAnnoText.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
this.gpSrchAnnoText.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near;
//
//
//
this.gpSrchAnnoText.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square;
//
//
//
this.gpSrchAnnoText.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.gpSrchAnnoText.TabIndex = 6;
this.gpSrchAnnoText.EnabledChanged += new System.EventHandler(this.gpSrchAnnoText_EnabledChanged);
//
// panel4
//
this.panel4.BackColor = System.Drawing.Color.Transparent;
this.panel4.Controls.Add(this.cbxRnoOnlyAnnot);
this.panel4.Controls.Add(this.cbxBooleanAnoTxtSrch);
this.panel4.Controls.Add(this.cbxCaseSensitiveAnnoText);
this.panel4.Controls.Add(this.cbxTextSearchAnnotation);
this.panel4.Controls.Add(this.label2);
this.panel4.Dock = System.Windows.Forms.DockStyle.Top;
this.panel4.Location = new System.Drawing.Point(0, 0);
this.panel4.Margin = new System.Windows.Forms.Padding(2);
this.panel4.Name = "panel4";
this.panel4.Size = new System.Drawing.Size(269, 62);
this.panel4.TabIndex = 9;
//
// cbxRnoOnlyAnnot
//
this.cbxRnoOnlyAnnot.BackColor = System.Drawing.Color.Transparent;
//
//
//
this.cbxRnoOnlyAnnot.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.cbxRnoOnlyAnnot.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cbxRnoOnlyAnnot.Location = new System.Drawing.Point(105, 24);
this.cbxRnoOnlyAnnot.Margin = new System.Windows.Forms.Padding(2);
this.cbxRnoOnlyAnnot.Name = "cbxRnoOnlyAnnot";
this.cbxRnoOnlyAnnot.Size = new System.Drawing.Size(71, 15);
this.superTooltip1.SetSuperTooltip(this.cbxRnoOnlyAnnot, new DevComponents.DotNetBar.SuperTooltipInfo("RNO Only", "", "When this box is checked, Search will find only the matches that are in RNO steps" +
".", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(180, 100)));
this.cbxRnoOnlyAnnot.TabIndex = 9;
this.cbxRnoOnlyAnnot.Text = "RNO Only";
//
// cbxBooleanAnoTxtSrch
//
//
//
//
this.cbxBooleanAnoTxtSrch.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.cbxBooleanAnoTxtSrch.Location = new System.Drawing.Point(12, 41);
this.cbxBooleanAnoTxtSrch.Name = "cbxBooleanAnoTxtSrch";
this.cbxBooleanAnoTxtSrch.Size = new System.Drawing.Size(111, 17);
this.cbxBooleanAnoTxtSrch.TabIndex = 8;
this.cbxBooleanAnoTxtSrch.Text = "Boolean Search";
this.cbxBooleanAnoTxtSrch.Visible = false;
this.cbxBooleanAnoTxtSrch.CheckedChanged += new System.EventHandler(this.cbxBooleanAnoTxtSrch_CheckedChanged);
//
// cbxCaseSensitiveAnnoText
//
this.cbxCaseSensitiveAnnoText.AutoSize = true;
this.cbxCaseSensitiveAnnoText.BackColor = System.Drawing.Color.Transparent;
//
//
//
this.cbxCaseSensitiveAnnoText.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.cbxCaseSensitiveAnnoText.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cbxCaseSensitiveAnnoText.Location = new System.Drawing.Point(12, 25);
this.cbxCaseSensitiveAnnoText.Margin = new System.Windows.Forms.Padding(2);
this.cbxCaseSensitiveAnnoText.Name = "cbxCaseSensitiveAnnoText";
this.cbxCaseSensitiveAnnoText.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.cbxCaseSensitiveAnnoText.Size = new System.Drawing.Size(92, 15);
this.superTooltip1.SetSuperTooltip(this.cbxCaseSensitiveAnnoText, new DevComponents.DotNetBar.SuperTooltipInfo("Case Sensitive", "", "When this box is checked, Search will find only exact mactches of the search text" +
" you had entered.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(180, 100)));
this.cbxCaseSensitiveAnnoText.TabIndex = 5;
this.cbxCaseSensitiveAnnoText.Text = "Case Sensitive";
//
// cbxTextSearchAnnotation
//
this.contextMenuBar1.SetContextMenuEx(this.cbxTextSearchAnnotation, this.btnCMIFindText);
this.cbxTextSearchAnnotation.DisplayMember = "Text";
this.cbxTextSearchAnnotation.Dock = System.Windows.Forms.DockStyle.Fill;
this.cbxTextSearchAnnotation.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
this.cbxTextSearchAnnotation.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cbxTextSearchAnnotation.FormattingEnabled = true;
this.cbxTextSearchAnnotation.ItemHeight = 16;
this.cbxTextSearchAnnotation.Location = new System.Drawing.Point(30, 0);
this.cbxTextSearchAnnotation.Margin = new System.Windows.Forms.Padding(2);
this.cbxTextSearchAnnotation.Name = "cbxTextSearchAnnotation";
this.cbxTextSearchAnnotation.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.cbxTextSearchAnnotation.Size = new System.Drawing.Size(239, 22);
this.superTooltip1.SetSuperTooltip(this.cbxTextSearchAnnotation, new DevComponents.DotNetBar.SuperTooltipInfo("Search For Annotaion Text", "", "Enter Annotation text to search for or select from the dropdown list.\r\n\r\nLeave Bl" +
"ank to search for occurences of the selected annotation.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(180, 140)));
this.cbxTextSearchAnnotation.TabIndex = 6;
this.cbxTextSearchAnnotation.WatermarkFont = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cbxTextSearchAnnotation.WatermarkText = "Enter Search Text Here";
this.cbxTextSearchAnnotation.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.ProcessEnterKey);
this.cbxTextSearchAnnotation.Leave += new System.EventHandler(this.cbxTextSearchAnnotation_Leave);
//
// label2
//
this.label2.AutoSize = true;
this.label2.BackColor = System.Drawing.Color.Transparent;
this.label2.Dock = System.Windows.Forms.DockStyle.Left;
this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label2.Location = new System.Drawing.Point(0, 0);
this.label2.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label2.Name = "label2";
this.label2.Padding = new System.Windows.Forms.Padding(0, 5, 0, 0);
this.label2.Size = new System.Drawing.Size(30, 18);
this.label2.TabIndex = 7;
this.label2.Text = "Find:";
//
// cbxAnnoTypes
//
this.cbxAnnoTypes.DisplayMember = "Text";
this.cbxAnnoTypes.Dock = System.Windows.Forms.DockStyle.Top;
this.cbxAnnoTypes.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
this.cbxAnnoTypes.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbxAnnoTypes.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cbxAnnoTypes.FormattingEnabled = true;
this.cbxAnnoTypes.ItemHeight = 16;
this.cbxAnnoTypes.Location = new System.Drawing.Point(1, 1);
this.cbxAnnoTypes.Margin = new System.Windows.Forms.Padding(2);
this.cbxAnnoTypes.Name = "cbxAnnoTypes";
this.cbxAnnoTypes.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.cbxAnnoTypes.Size = new System.Drawing.Size(275, 22);
this.superTooltip1.SetSuperTooltip(this.cbxAnnoTypes, new DevComponents.DotNetBar.SuperTooltipInfo("Select Annotation Type", "", "Select the type of annotation to search for.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(192, 61)));
this.cbxAnnoTypes.TabIndex = 0;
this.cbxAnnoTypes.WatermarkText = "Select AnnotationType to Search";
//
// tabAnnotationSearch
//
this.tabAnnotationSearch.AttachedControl = this.tabControlPanel3;
this.tabAnnotationSearch.Name = "tabAnnotationSearch";
this.superTooltip1.SetSuperTooltip(this.tabAnnotationSearch, new DevComponents.DotNetBar.SuperTooltipInfo("Search for Annotations", "", "Allows you to search for types and text for annotations in the selected procedure" +
" set(s).", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(170, 110)));
this.tabAnnotationSearch.Text = "Annotations";
this.tabAnnotationSearch.Click += new System.EventHandler(this.tabAnnotationSearch_Click);
//
// tabControlPanel4
//
this.tabControlPanel4.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007;
@ -782,199 +975,6 @@ namespace Volian.Controls.Library
this.superTooltip1.SetSuperTooltip(this.tabROSearch, new DevComponents.DotNetBar.SuperTooltipInfo("Search for Referenced Objects", "", "Allows you to search for referenced objects used in selected procedure set(s).", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(170, 110)));
this.tabROSearch.Text = "Reference\nObjects";
//
// tabControlPanel3
//
this.tabControlPanel3.Controls.Add(this.gpSrchAnnoText);
this.tabControlPanel3.Controls.Add(this.cbxAnnoTypes);
this.tabControlPanel3.DisabledBackColor = System.Drawing.Color.Empty;
this.tabControlPanel3.Dock = System.Windows.Forms.DockStyle.Fill;
this.tabControlPanel3.Location = new System.Drawing.Point(0, 34);
this.tabControlPanel3.Margin = new System.Windows.Forms.Padding(2);
this.tabControlPanel3.Name = "tabControlPanel3";
this.tabControlPanel3.Padding = new System.Windows.Forms.Padding(1);
this.tabControlPanel3.Size = new System.Drawing.Size(277, 113);
this.tabControlPanel3.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(253)))), ((int)(((byte)(253)))), ((int)(((byte)(254)))));
this.tabControlPanel3.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(157)))), ((int)(((byte)(188)))), ((int)(((byte)(227)))));
this.tabControlPanel3.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
this.tabControlPanel3.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(146)))), ((int)(((byte)(165)))), ((int)(((byte)(199)))));
this.tabControlPanel3.Style.BorderSide = ((DevComponents.DotNetBar.eBorderSide)(((DevComponents.DotNetBar.eBorderSide.Left | DevComponents.DotNetBar.eBorderSide.Right)
| DevComponents.DotNetBar.eBorderSide.Bottom)));
this.tabControlPanel3.Style.GradientAngle = 90;
this.tabControlPanel3.TabIndex = 5;
this.tabControlPanel3.TabItem = this.tabAnnotationSearch;
//
// gpSrchAnnoText
//
this.gpSrchAnnoText.AutoSize = true;
this.gpSrchAnnoText.CanvasColor = System.Drawing.SystemColors.Control;
this.gpSrchAnnoText.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007;
this.gpSrchAnnoText.Controls.Add(this.panel4);
this.gpSrchAnnoText.DisabledBackColor = System.Drawing.Color.Empty;
this.gpSrchAnnoText.Dock = System.Windows.Forms.DockStyle.Fill;
this.gpSrchAnnoText.Enabled = false;
this.gpSrchAnnoText.Location = new System.Drawing.Point(1, 23);
this.gpSrchAnnoText.Margin = new System.Windows.Forms.Padding(2);
this.gpSrchAnnoText.Name = "gpSrchAnnoText";
this.gpSrchAnnoText.Size = new System.Drawing.Size(275, 89);
//
//
//
this.gpSrchAnnoText.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2;
this.gpSrchAnnoText.Style.BackColorGradientAngle = 90;
this.gpSrchAnnoText.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground;
this.gpSrchAnnoText.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid;
this.gpSrchAnnoText.Style.BorderBottomWidth = 1;
this.gpSrchAnnoText.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
this.gpSrchAnnoText.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid;
this.gpSrchAnnoText.Style.BorderLeftWidth = 1;
this.gpSrchAnnoText.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid;
this.gpSrchAnnoText.Style.BorderRightWidth = 1;
this.gpSrchAnnoText.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid;
this.gpSrchAnnoText.Style.BorderTopWidth = 1;
this.gpSrchAnnoText.Style.CornerDiameter = 4;
this.gpSrchAnnoText.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded;
this.gpSrchAnnoText.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center;
this.gpSrchAnnoText.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
this.gpSrchAnnoText.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near;
//
//
//
this.gpSrchAnnoText.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square;
//
//
//
this.gpSrchAnnoText.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.gpSrchAnnoText.TabIndex = 6;
this.gpSrchAnnoText.EnabledChanged += new System.EventHandler(this.gpSrchAnnoText_EnabledChanged);
//
// panel4
//
this.panel4.BackColor = System.Drawing.Color.Transparent;
this.panel4.Controls.Add(this.cbxRnoOnlyAnnot);
this.panel4.Controls.Add(this.cbxBooleanAnoTxtSrch);
this.panel4.Controls.Add(this.cbxCaseSensitiveAnnoText);
this.panel4.Controls.Add(this.cbxTextSearchAnnotation);
this.panel4.Controls.Add(this.label2);
this.panel4.Dock = System.Windows.Forms.DockStyle.Top;
this.panel4.Location = new System.Drawing.Point(0, 0);
this.panel4.Margin = new System.Windows.Forms.Padding(2);
this.panel4.Name = "panel4";
this.panel4.Size = new System.Drawing.Size(269, 62);
this.panel4.TabIndex = 9;
//
// cbxRnoOnlyAnnot
//
this.cbxRnoOnlyAnnot.BackColor = System.Drawing.Color.Transparent;
//
//
//
this.cbxRnoOnlyAnnot.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.cbxRnoOnlyAnnot.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cbxRnoOnlyAnnot.Location = new System.Drawing.Point(105, 24);
this.cbxRnoOnlyAnnot.Margin = new System.Windows.Forms.Padding(2);
this.cbxRnoOnlyAnnot.Name = "cbxRnoOnlyAnnot";
this.cbxRnoOnlyAnnot.Size = new System.Drawing.Size(71, 15);
this.superTooltip1.SetSuperTooltip(this.cbxRnoOnlyAnnot, new DevComponents.DotNetBar.SuperTooltipInfo("RNO Only", "", "When this box is checked, Search will find only the matches that are in RNO steps" +
".", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(180, 100)));
this.cbxRnoOnlyAnnot.TabIndex = 9;
this.cbxRnoOnlyAnnot.Text = "RNO Only";
//
// cbxBooleanAnoTxtSrch
//
//
//
//
this.cbxBooleanAnoTxtSrch.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.cbxBooleanAnoTxtSrch.Location = new System.Drawing.Point(12, 41);
this.cbxBooleanAnoTxtSrch.Name = "cbxBooleanAnoTxtSrch";
this.cbxBooleanAnoTxtSrch.Size = new System.Drawing.Size(111, 17);
this.cbxBooleanAnoTxtSrch.TabIndex = 8;
this.cbxBooleanAnoTxtSrch.Text = "Boolean Search";
this.cbxBooleanAnoTxtSrch.Visible = false;
this.cbxBooleanAnoTxtSrch.CheckedChanged += new System.EventHandler(this.cbxBooleanAnoTxtSrch_CheckedChanged);
//
// cbxCaseSensitiveAnnoText
//
this.cbxCaseSensitiveAnnoText.AutoSize = true;
this.cbxCaseSensitiveAnnoText.BackColor = System.Drawing.Color.Transparent;
//
//
//
this.cbxCaseSensitiveAnnoText.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.cbxCaseSensitiveAnnoText.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cbxCaseSensitiveAnnoText.Location = new System.Drawing.Point(12, 25);
this.cbxCaseSensitiveAnnoText.Margin = new System.Windows.Forms.Padding(2);
this.cbxCaseSensitiveAnnoText.Name = "cbxCaseSensitiveAnnoText";
this.cbxCaseSensitiveAnnoText.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.cbxCaseSensitiveAnnoText.Size = new System.Drawing.Size(92, 15);
this.superTooltip1.SetSuperTooltip(this.cbxCaseSensitiveAnnoText, new DevComponents.DotNetBar.SuperTooltipInfo("Case Sensitive", "", "When this box is checked, Search will find only exact mactches of the search text" +
" you had entered.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(180, 100)));
this.cbxCaseSensitiveAnnoText.TabIndex = 5;
this.cbxCaseSensitiveAnnoText.Text = "Case Sensitive";
//
// cbxTextSearchAnnotation
//
this.contextMenuBar1.SetContextMenuEx(this.cbxTextSearchAnnotation, this.btnCMIFindText);
this.cbxTextSearchAnnotation.DisplayMember = "Text";
this.cbxTextSearchAnnotation.Dock = System.Windows.Forms.DockStyle.Fill;
this.cbxTextSearchAnnotation.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
this.cbxTextSearchAnnotation.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cbxTextSearchAnnotation.FormattingEnabled = true;
this.cbxTextSearchAnnotation.ItemHeight = 16;
this.cbxTextSearchAnnotation.Location = new System.Drawing.Point(30, 0);
this.cbxTextSearchAnnotation.Margin = new System.Windows.Forms.Padding(2);
this.cbxTextSearchAnnotation.Name = "cbxTextSearchAnnotation";
this.cbxTextSearchAnnotation.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.cbxTextSearchAnnotation.Size = new System.Drawing.Size(239, 22);
this.superTooltip1.SetSuperTooltip(this.cbxTextSearchAnnotation, new DevComponents.DotNetBar.SuperTooltipInfo("Search For Annotaion Text", "", "Enter Annotation text to search for or select from the dropdown list.\r\n\r\nLeave Bl" +
"ank to search for occurences of the selected annotation.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(180, 140)));
this.cbxTextSearchAnnotation.TabIndex = 6;
this.cbxTextSearchAnnotation.WatermarkFont = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cbxTextSearchAnnotation.WatermarkText = "Enter Search Text Here";
this.cbxTextSearchAnnotation.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.ProcessEnterKey);
this.cbxTextSearchAnnotation.Leave += new System.EventHandler(this.cbxTextSearchAnnotation_Leave);
//
// label2
//
this.label2.AutoSize = true;
this.label2.BackColor = System.Drawing.Color.Transparent;
this.label2.Dock = System.Windows.Forms.DockStyle.Left;
this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label2.Location = new System.Drawing.Point(0, 0);
this.label2.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label2.Name = "label2";
this.label2.Padding = new System.Windows.Forms.Padding(0, 5, 0, 0);
this.label2.Size = new System.Drawing.Size(30, 18);
this.label2.TabIndex = 7;
this.label2.Text = "Find:";
//
// cbxAnnoTypes
//
this.cbxAnnoTypes.DisplayMember = "Text";
this.cbxAnnoTypes.Dock = System.Windows.Forms.DockStyle.Top;
this.cbxAnnoTypes.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
this.cbxAnnoTypes.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbxAnnoTypes.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cbxAnnoTypes.FormattingEnabled = true;
this.cbxAnnoTypes.ItemHeight = 16;
this.cbxAnnoTypes.Location = new System.Drawing.Point(1, 1);
this.cbxAnnoTypes.Margin = new System.Windows.Forms.Padding(2);
this.cbxAnnoTypes.Name = "cbxAnnoTypes";
this.cbxAnnoTypes.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.cbxAnnoTypes.Size = new System.Drawing.Size(275, 22);
this.superTooltip1.SetSuperTooltip(this.cbxAnnoTypes, new DevComponents.DotNetBar.SuperTooltipInfo("Select Annotation Type", "", "Select the type of annotation to search for.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(192, 61)));
this.cbxAnnoTypes.TabIndex = 0;
this.cbxAnnoTypes.WatermarkText = "Select AnnotationType to Search";
//
// tabAnnotationSearch
//
this.tabAnnotationSearch.AttachedControl = this.tabControlPanel3;
this.tabAnnotationSearch.Name = "tabAnnotationSearch";
this.superTooltip1.SetSuperTooltip(this.tabAnnotationSearch, new DevComponents.DotNetBar.SuperTooltipInfo("Search for Annotations", "", "Allows you to search for types and text for annotations in the selected procedure" +
" set(s).", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(170, 110)));
this.tabAnnotationSearch.Text = "Annotations";
this.tabAnnotationSearch.Click += new System.EventHandler(this.tabAnnotationSearch_Click);
//
// tabControlPanel1
//
this.tabControlPanel1.Controls.Add(this.btnTranCvtSelToTxt);
@ -1738,6 +1738,11 @@ namespace Volian.Controls.Library
this.Size = new System.Drawing.Size(277, 676);
((System.ComponentModel.ISupportInitialize)(this.tabSearchTypes)).EndInit();
this.tabSearchTypes.ResumeLayout(false);
this.tabControlPanel3.ResumeLayout(false);
this.tabControlPanel3.PerformLayout();
this.gpSrchAnnoText.ResumeLayout(false);
this.panel4.ResumeLayout(false);
this.panel4.PerformLayout();
this.tabControlPanel4.ResumeLayout(false);
this.gpSrchText.ResumeLayout(false);
this.panel1.ResumeLayout(false);
@ -1749,11 +1754,6 @@ namespace Volian.Controls.Library
this.pnlTranVersion.ResumeLayout(false);
this.tabControlPanel2.ResumeLayout(false);
this.gpFindROs.ResumeLayout(false);
this.tabControlPanel3.ResumeLayout(false);
this.tabControlPanel3.PerformLayout();
this.gpSrchAnnoText.ResumeLayout(false);
this.panel4.ResumeLayout(false);
this.panel4.PerformLayout();
this.tabControlPanel1.ResumeLayout(false);
this.tabControlPanel1.PerformLayout();
this.groupBox1.ResumeLayout(false);

View File

@ -109,7 +109,7 @@ namespace Volian.Controls.Library
public string TbFSht
{
get { return tbFSHt.Text; }
set { tbFSHt.Text = value; tbFSHt.Refresh(); _origFigureSizeRatio = float.Parse(value) / float.Parse(tbFSWd.Text); }
set { tbFSHt.Text = value; tbFSHt.Refresh(); } //_origFigureSizeRatio = float.Parse(value) / float.Parse(tbFSWd.Text); }
}
#endregion

View 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;
}
}
}

View 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;
}
}

View 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;
}
}
}

View 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>

View File

@ -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>

View 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;
}
}

View File

@ -0,0 +1,322 @@
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, StepRTB> _DicStepRtb;
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();
_DicStepRtb = new Dictionary<string, StepRTB>();
_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.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;
panelEP.RowStyles.Insert(0, new RowStyle(SizeType.AutoSize));
Label wlbl = new Label();
wlbl.Text = EP.label;
wlbl.Visible = true;
wlbl.TextAlign = ContentAlignment.MiddleLeft;
wlbl.Anchor = AnchorStyles.Left | AnchorStyles.Top;
panelEP.Controls.Add(wlbl, 0, panelEP.RowCount - 1);
if (EP.type.ToLower() == "text")
{
StepRTB tb = new StepRTB();
tb.Font = tb.FormatFont = new Font("Arial", 8);
tb.FieldToEdit = E_FieldToEdit.PSI; //use same right click menu as PSI
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;
tb.Enter += new System.EventHandler(this.FieldStepRTB_Enter);
string val = MyConfig.GetValue("EP", EP.name).Replace("\\u8209?", "-");
DisplayText dt = new DisplayText(val, new VE_Font("Arial", 10, E_Style.None, 12), false);
StringBuilder sb = new StringBuilder();
sb.Append(@"{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Arial;}");
sb.Append(@"{\f1\fnil\fcharset0 Arial;}}{\colortbl ;\red255\green0\blue0;}"); //C2017-036 changed to just Arial because Microsoft removed Arial Unicode MS with Word16
sb.Append(@"\viewkind4\uc1\pard\sl-240\slmult0\fs" + (int)(this.Font.SizeInPoints * 2) + " " + dt.StartText + @"}");
tb.Rtf = sb.ToString();
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 = RichTextBoxScrollBars.Both;
}
_DicStepRtb.Add(EP.name, tb);
panelEP.Controls.Add(tb, 1, panelEP.RowCount - 1);
}
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.text, 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 (val != null && 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).First(x => x.Value == item).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")
{
StepRTB cur = _DicStepRtb[EP.name];
string rtf = cur.Rtf;
string newval = DisplayText.StaticStripRtfCommands(rtf, false);
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 (StepRTB tb in _DicStepRtb.Values)
{
tb.Enter -= FieldStepRTB_Enter;
}
foreach (ListBoxMulti lb in _DicMultiRO.Values)
{
lb.Dispose();
}
Load -= Form1Load_setDefaults;
}
}
}

View 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>

View File

@ -568,10 +568,12 @@ namespace Volian.Controls.Library
{
if (ProcedureCheckedOutTo != null) ProcedureCheckedOutTo(sender, args);
}
// C2025-027
public event vlnTreeViewEvent SelectAnnotations;
private void OnSelectAnnotations(object sender, vlnTreeEventArgs args)
{
if (SelectAnnotations != null) SelectAnnotations(sender, args);
}
public event vlnTreeViewEvent ExportImportProcedureSets;
private void OnExportImportProcedureSets(object sender, vlnTreeEventArgs args)
@ -866,6 +868,7 @@ namespace Volian.Controls.Library
MenuItem miqp = new MenuItem("Quick Print");
//MenuItem mips = new MenuItem("Print Section");
MenuItem mia = new MenuItem("Approve");
MenuItem misa = new MenuItem("Select Annotations"); //C2025-027
int k = 0;
foreach (string s in pri.MyDocVersion.UnitNames)
{
@ -890,6 +893,9 @@ namespace Volian.Controls.Library
MenuItem mtc = mitcas.MenuItems.Add(s, new EventHandler(miMultiUnit_Click));
mtc.Enabled = procAppl;
mtc.Tag = k;
MenuItem msa = misa.MenuItems.Add(s, new EventHandler(miMultiUnit_Click));
msa.Enabled = procAppl;
msa.Tag = k;
}
cm.MenuItems.Add(micas);
cm.MenuItems.Add(mitcas);
@ -898,6 +904,7 @@ namespace Volian.Controls.Library
//cm.MenuItems.Add(mips);
AddShowChangeBarsAfterMenuItem(cm.MenuItems, pri);
cm.MenuItems.Add(mia);
cm.MenuItems.Add(misa);
AddApprovedRevisionsMultiUnit(cm.MenuItems, pri);
}
else
@ -910,6 +917,7 @@ namespace Volian.Controls.Library
//MenuItem miqp = new MenuItem("Print");
AddShowChangeBarsAfterMenuItem(cm.MenuItems, pri);
cm.MenuItems.Add("Approve", new EventHandler(mi_Click));
cm.MenuItems.Add("Select Annotations", new EventHandler(mi_Click)); //C2025-027
//_MyLog.WarnFormat("Context Menu 1 before - {0}", GC.GetTotalMemory(true));
AddApprovedRevisions(cm.MenuItems, pri);
//_MyLog.WarnFormat("Context Menu 1 after - {0}", GC.GetTotalMemory(true));
@ -923,6 +931,7 @@ namespace Volian.Controls.Library
{
MenuItem mip = new MenuItem("Print");
MenuItem miqp = new MenuItem("Quick Print");
MenuItem misa = new MenuItem("Select Annotations"); //C2025-027
int k = 0;
foreach (string s in pri.MyDocVersion.UnitNames)
{
@ -931,15 +940,19 @@ namespace Volian.Controls.Library
mp.Tag = k;
MenuItem mqp = miqp.MenuItems.Add(s, new EventHandler(miMultiUnit_Click));
mqp.Tag = k;
MenuItem msa = misa.MenuItems.Add(s, new EventHandler(miMultiUnit_Click));
msa.Tag = k;
}
cm.MenuItems.Add(mip);
cm.MenuItems.Add(miqp);
cm.MenuItems.Add(misa);
AddApprovedRevisionsMultiUnit(cm.MenuItems, pri);
}
else
{
cm.MenuItems.Add("Print", new EventHandler(mi_Click));
cm.MenuItems.Add("Quick Print", new EventHandler(mi_Click));
cm.MenuItems.Add("Select Annotations", new EventHandler(mi_Click)); //C2025-027
AddApprovedRevisions(cm.MenuItems, pri);
}
}
@ -1885,6 +1898,9 @@ namespace Volian.Controls.Library
case "Create Time Critical Action Summary":
OnCreateTimeCriticalActionSummary(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null,0,mi.Text,(int)mi.Tag));
break;
case "Select Annotations": // C2025-027
OnSelectAnnotations(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag));
break;
default:
if (mip.Text.StartsWith("Showing Change Bars Starting"))
OnSelectDateToStartChangeBars(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
@ -2177,6 +2193,9 @@ namespace Volian.Controls.Library
FlexibleMessageBox.Show("You have copied a document that is NOT linked to an Enhanced Document.\n\n" +
"You cannot paste a Non-Enhanced Procedure into an Enhanced Procedure Set.", "Cannot Paste Here");
break;
case "Select Annotations": // C2025-027
OnSelectAnnotations(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
break;
//case "Check Out Procedure Set":
// CheckOutDocVersion(SelectedNode as VETreeNode);
// break;