removed a console.writeline

Control to create RO Usage, RO Summary, RO Complete, and Transition Usage reports
Logic to print RO Usage reports
Ifdef’d logic for UseOnFirstPage
logic for Width Override and Ifdef’d logic for UseOnFirstPage
Beginings of code to generate a Complete RO Report
This commit is contained in:
2012-09-13 19:58:05 +00:00
parent 80e72fbbb0
commit 04fac124c1
9 changed files with 3399 additions and 9 deletions

View File

@@ -0,0 +1,549 @@
namespace Volian.Controls.Library
{
partial class DisplayReports
{
/// <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.components = new System.ComponentModel.Container();
this.tctrlReports = new DevComponents.DotNetBar.TabControl();
this.tabControlPanel2 = new DevComponents.DotNetBar.TabControlPanel();
this.panRORpts = new DevComponents.DotNetBar.PanelEx();
this.cbxSummary = new DevComponents.DotNetBar.Controls.CheckBoxX();
this.cbxROUsage = new DevComponents.DotNetBar.Controls.CheckBoxX();
this.cbxComplete = new DevComponents.DotNetBar.Controls.CheckBoxX();
this.labelX1 = new DevComponents.DotNetBar.LabelX();
this.cmbxROUsageSort = new DevComponents.DotNetBar.Controls.ComboBoxEx();
this.cbiRO = new DevComponents.Editors.ComboItem();
this.cbiProc = new DevComponents.Editors.ComboItem();
this.tabROReports = new DevComponents.DotNetBar.TabItem(this.components);
this.tabControlPanel1 = new DevComponents.DotNetBar.TabControlPanel();
this.panelEx1 = new DevComponents.DotNetBar.PanelEx();
this.cbxTransToProcs = new DevComponents.DotNetBar.Controls.CheckBoxX();
this.cbxTransFromProcs = new DevComponents.DotNetBar.Controls.CheckBoxX();
this.tabTransitionReports = new DevComponents.DotNetBar.TabItem(this.components);
this.advTreeRO = new DevComponents.AdvTree.AdvTree();
this.elementStyle2 = new DevComponents.DotNetBar.ElementStyle();
this.node2 = new DevComponents.AdvTree.Node();
this.nodeConnector2 = new DevComponents.AdvTree.NodeConnector();
this.xpSetToReport = new DevComponents.DotNetBar.ExpandablePanel();
this.advTreeProcSets = new DevComponents.AdvTree.AdvTree();
this.elementStyle1 = new DevComponents.DotNetBar.ElementStyle();
this.node1 = new DevComponents.AdvTree.Node();
this.nodeConnector1 = new DevComponents.AdvTree.NodeConnector();
this.btnPrintReport = new DevComponents.DotNetBar.ButtonX();
this.xpSelROs = new DevComponents.DotNetBar.ExpandablePanel();
((System.ComponentModel.ISupportInitialize)(this.tctrlReports)).BeginInit();
this.tctrlReports.SuspendLayout();
this.tabControlPanel2.SuspendLayout();
this.panRORpts.SuspendLayout();
this.tabControlPanel1.SuspendLayout();
this.panelEx1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.advTreeRO)).BeginInit();
this.xpSetToReport.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.advTreeProcSets)).BeginInit();
this.xpSelROs.SuspendLayout();
this.SuspendLayout();
//
// tctrlReports
//
this.tctrlReports.CanReorderTabs = false;
this.tctrlReports.CloseButtonOnTabsAlwaysDisplayed = false;
this.tctrlReports.CloseButtonPosition = DevComponents.DotNetBar.eTabCloseButtonPosition.Right;
this.tctrlReports.Controls.Add(this.tabControlPanel2);
this.tctrlReports.Controls.Add(this.tabControlPanel1);
this.tctrlReports.Dock = System.Windows.Forms.DockStyle.Top;
this.tctrlReports.Location = new System.Drawing.Point(0, 0);
this.tctrlReports.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.tctrlReports.Name = "tctrlReports";
this.tctrlReports.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.tctrlReports.SelectedTabFont = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold);
this.tctrlReports.SelectedTabIndex = 0;
this.tctrlReports.ShowFocusRectangle = false;
this.tctrlReports.Size = new System.Drawing.Size(348, 112);
this.tctrlReports.Style = DevComponents.DotNetBar.eTabStripStyle.Office2007Document;
this.tctrlReports.TabIndex = 0;
this.tctrlReports.TabLayoutType = DevComponents.DotNetBar.eTabLayoutType.FixedWithNavigationBox;
this.tctrlReports.Tabs.Add(this.tabTransitionReports);
this.tctrlReports.Tabs.Add(this.tabROReports);
this.tctrlReports.Text = "tabControl1";
this.tctrlReports.ThemeAware = true;
//
// tabControlPanel2
//
this.tabControlPanel2.Controls.Add(this.panRORpts);
this.tabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.tabControlPanel2.Location = new System.Drawing.Point(0, 25);
this.tabControlPanel2.Margin = new System.Windows.Forms.Padding(4);
this.tabControlPanel2.Name = "tabControlPanel2";
this.tabControlPanel2.Padding = new System.Windows.Forms.Padding(1);
this.tabControlPanel2.Size = new System.Drawing.Size(348, 87);
this.tabControlPanel2.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(253)))), ((int)(((byte)(253)))), ((int)(((byte)(254)))));
this.tabControlPanel2.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(157)))), ((int)(((byte)(188)))), ((int)(((byte)(227)))));
this.tabControlPanel2.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
this.tabControlPanel2.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(146)))), ((int)(((byte)(165)))), ((int)(((byte)(199)))));
this.tabControlPanel2.Style.BorderSide = ((DevComponents.DotNetBar.eBorderSide)(((DevComponents.DotNetBar.eBorderSide.Left | DevComponents.DotNetBar.eBorderSide.Right)
| DevComponents.DotNetBar.eBorderSide.Bottom)));
this.tabControlPanel2.Style.GradientAngle = 90;
this.tabControlPanel2.TabIndex = 2;
this.tabControlPanel2.TabItem = this.tabROReports;
//
// panRORpts
//
this.panRORpts.CanvasColor = System.Drawing.SystemColors.Control;
this.panRORpts.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007;
this.panRORpts.Controls.Add(this.cbxSummary);
this.panRORpts.Controls.Add(this.cbxROUsage);
this.panRORpts.Controls.Add(this.cbxComplete);
this.panRORpts.Controls.Add(this.labelX1);
this.panRORpts.Controls.Add(this.cmbxROUsageSort);
this.panRORpts.Dock = System.Windows.Forms.DockStyle.Top;
this.panRORpts.Location = new System.Drawing.Point(1, 1);
this.panRORpts.Margin = new System.Windows.Forms.Padding(4);
this.panRORpts.Name = "panRORpts";
this.panRORpts.Size = new System.Drawing.Size(346, 84);
this.panRORpts.Style.Alignment = System.Drawing.StringAlignment.Center;
this.panRORpts.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground;
this.panRORpts.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2;
this.panRORpts.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
this.panRORpts.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
this.panRORpts.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
this.panRORpts.Style.GradientAngle = 90;
this.panRORpts.TabIndex = 10;
this.panRORpts.ThemeAware = true;
//
// cbxSummary
//
this.cbxSummary.BackColor = System.Drawing.Color.Transparent;
//
//
//
this.cbxSummary.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.cbxSummary.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton;
this.cbxSummary.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cbxSummary.Location = new System.Drawing.Point(190, 4);
this.cbxSummary.Margin = new System.Windows.Forms.Padding(4);
this.cbxSummary.Name = "cbxSummary";
this.cbxSummary.Size = new System.Drawing.Size(99, 28);
this.cbxSummary.TabIndex = 1;
this.cbxSummary.Text = "Summary";
this.cbxSummary.CheckedChanged += new System.EventHandler(this.cbxSummary_CheckedChanged);
//
// cbxROUsage
//
this.cbxROUsage.BackColor = System.Drawing.Color.Transparent;
//
//
//
this.cbxROUsage.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.cbxROUsage.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton;
this.cbxROUsage.Checked = true;
this.cbxROUsage.CheckState = System.Windows.Forms.CheckState.Checked;
this.cbxROUsage.CheckValue = "Y";
this.cbxROUsage.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cbxROUsage.Location = new System.Drawing.Point(9, 4);
this.cbxROUsage.Margin = new System.Windows.Forms.Padding(4);
this.cbxROUsage.Name = "cbxROUsage";
this.cbxROUsage.Size = new System.Drawing.Size(80, 28);
this.cbxROUsage.TabIndex = 2;
this.cbxROUsage.Text = "Usage";
this.cbxROUsage.CheckedChanged += new System.EventHandler(this.cbxROUsage_CheckedChanged);
//
// cbxComplete
//
this.cbxComplete.BackColor = System.Drawing.Color.Transparent;
//
//
//
this.cbxComplete.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.cbxComplete.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton;
this.cbxComplete.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cbxComplete.Location = new System.Drawing.Point(88, 4);
this.cbxComplete.Margin = new System.Windows.Forms.Padding(4);
this.cbxComplete.Name = "cbxComplete";
this.cbxComplete.Size = new System.Drawing.Size(105, 28);
this.cbxComplete.TabIndex = 0;
this.cbxComplete.Text = "Complete";
this.cbxComplete.CheckedChanged += new System.EventHandler(this.cbxComplete_CheckedChanged);
//
// labelX1
//
//
//
//
this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.labelX1.Location = new System.Drawing.Point(9, 39);
this.labelX1.Margin = new System.Windows.Forms.Padding(4);
this.labelX1.Name = "labelX1";
this.labelX1.Size = new System.Drawing.Size(59, 28);
this.labelX1.TabIndex = 8;
this.labelX1.Text = "Sort By:";
//
// cmbxROUsageSort
//
this.cmbxROUsageSort.DisplayMember = "Text";
this.cmbxROUsageSort.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
this.cmbxROUsageSort.FormattingEnabled = true;
this.cmbxROUsageSort.ItemHeight = 14;
this.cmbxROUsageSort.Items.AddRange(new object[] {
this.cbiRO,
this.cbiProc});
this.cmbxROUsageSort.Location = new System.Drawing.Point(76, 43);
this.cmbxROUsageSort.Margin = new System.Windows.Forms.Padding(4);
this.cmbxROUsageSort.Name = "cmbxROUsageSort";
this.cmbxROUsageSort.Size = new System.Drawing.Size(201, 20);
this.cmbxROUsageSort.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.cmbxROUsageSort.TabIndex = 9;
this.cmbxROUsageSort.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
//
// cbiRO
//
this.cbiRO.Text = "Referenced Object";
//
// cbiProc
//
this.cbiProc.Text = "Procedure";
//
// tabROReports
//
this.tabROReports.AttachedControl = this.tabControlPanel2;
this.tabROReports.Name = "tabROReports";
this.tabROReports.Text = "Referenced Objects";
this.tabROReports.Click += new System.EventHandler(this.tabROReports_Click);
//
// tabControlPanel1
//
this.tabControlPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Windows7;
this.tabControlPanel1.Controls.Add(this.panelEx1);
this.tabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tabControlPanel1.Location = new System.Drawing.Point(0, 25);
this.tabControlPanel1.Margin = new System.Windows.Forms.Padding(4);
this.tabControlPanel1.Name = "tabControlPanel1";
this.tabControlPanel1.Padding = new System.Windows.Forms.Padding(1);
this.tabControlPanel1.Size = new System.Drawing.Size(369, 87);
this.tabControlPanel1.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(253)))), ((int)(((byte)(253)))), ((int)(((byte)(254)))));
this.tabControlPanel1.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(157)))), ((int)(((byte)(188)))), ((int)(((byte)(227)))));
this.tabControlPanel1.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
this.tabControlPanel1.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(146)))), ((int)(((byte)(165)))), ((int)(((byte)(199)))));
this.tabControlPanel1.Style.BorderSide = ((DevComponents.DotNetBar.eBorderSide)(((DevComponents.DotNetBar.eBorderSide.Left | DevComponents.DotNetBar.eBorderSide.Right)
| DevComponents.DotNetBar.eBorderSide.Bottom)));
this.tabControlPanel1.Style.GradientAngle = 90;
this.tabControlPanel1.TabIndex = 1;
this.tabControlPanel1.TabItem = this.tabTransitionReports;
//
// panelEx1
//
this.panelEx1.CanvasColor = System.Drawing.SystemColors.Control;
this.panelEx1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007;
this.panelEx1.Controls.Add(this.cbxTransToProcs);
this.panelEx1.Controls.Add(this.cbxTransFromProcs);
this.panelEx1.Dock = System.Windows.Forms.DockStyle.Top;
this.panelEx1.Location = new System.Drawing.Point(1, 1);
this.panelEx1.Margin = new System.Windows.Forms.Padding(4);
this.panelEx1.Name = "panelEx1";
this.panelEx1.Size = new System.Drawing.Size(367, 84);
this.panelEx1.Style.Alignment = System.Drawing.StringAlignment.Center;
this.panelEx1.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground;
this.panelEx1.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2;
this.panelEx1.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
this.panelEx1.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
this.panelEx1.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
this.panelEx1.Style.GradientAngle = 90;
this.panelEx1.TabIndex = 2;
this.panelEx1.ThemeAware = true;
//
// cbxTransToProcs
//
this.cbxTransToProcs.BackColor = System.Drawing.Color.Transparent;
//
//
//
this.cbxTransToProcs.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.cbxTransToProcs.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton;
this.cbxTransToProcs.Checked = true;
this.cbxTransToProcs.CheckState = System.Windows.Forms.CheckState.Checked;
this.cbxTransToProcs.CheckValue = "Y";
this.cbxTransToProcs.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cbxTransToProcs.Location = new System.Drawing.Point(4, 4);
this.cbxTransToProcs.Margin = new System.Windows.Forms.Padding(4);
this.cbxTransToProcs.Name = "cbxTransToProcs";
this.cbxTransToProcs.Size = new System.Drawing.Size(343, 28);
this.cbxTransToProcs.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.cbxTransToProcs.TabIndex = 0;
this.cbxTransToProcs.Text = "Transitions To Selected Procedure(s)";
this.cbxTransToProcs.CheckedChanged += new System.EventHandler(this.cbxTransToProcs_CheckedChanged);
//
// cbxTransFromProcs
//
this.cbxTransFromProcs.BackColor = System.Drawing.Color.Transparent;
//
//
//
this.cbxTransFromProcs.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.cbxTransFromProcs.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton;
this.cbxTransFromProcs.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cbxTransFromProcs.Location = new System.Drawing.Point(3, 39);
this.cbxTransFromProcs.Margin = new System.Windows.Forms.Padding(4);
this.cbxTransFromProcs.Name = "cbxTransFromProcs";
this.cbxTransFromProcs.Size = new System.Drawing.Size(343, 28);
this.cbxTransFromProcs.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.cbxTransFromProcs.TabIndex = 1;
this.cbxTransFromProcs.Text = "Transitions From Selected Procedure(s)";
this.cbxTransFromProcs.CheckedChanged += new System.EventHandler(this.cbxTransFromProcs_CheckedChanged);
//
// tabTransitionReports
//
this.tabTransitionReports.AttachedControl = this.tabControlPanel1;
this.tabTransitionReports.Name = "tabTransitionReports";
this.tabTransitionReports.Text = "Transitions";
this.tabTransitionReports.Click += new System.EventHandler(this.tabTransitionReports_Click);
//
// advTreeRO
//
this.advTreeRO.AccessibleRole = System.Windows.Forms.AccessibleRole.Outline;
this.advTreeRO.AllowDrop = true;
this.advTreeRO.BackColor = System.Drawing.SystemColors.Window;
//
//
//
this.advTreeRO.BackgroundStyle.Class = "TreeBorderKey";
this.advTreeRO.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.advTreeRO.CellStyleSelected = this.elementStyle2;
this.advTreeRO.Dock = System.Windows.Forms.DockStyle.Fill;
this.advTreeRO.DragDropEnabled = false;
this.advTreeRO.DragDropNodeCopyEnabled = false;
this.advTreeRO.LicenseKey = "F962CEC7-CD8F-4911-A9E9-CAB39962FC1F";
this.advTreeRO.Location = new System.Drawing.Point(0, 32);
this.advTreeRO.Margin = new System.Windows.Forms.Padding(4);
this.advTreeRO.MultiSelect = true;
this.advTreeRO.MultiSelectRule = DevComponents.AdvTree.eMultiSelectRule.AnyNode;
this.advTreeRO.Name = "advTreeRO";
this.advTreeRO.Nodes.AddRange(new DevComponents.AdvTree.Node[] {
this.node2});
this.advTreeRO.NodesConnector = this.nodeConnector2;
this.advTreeRO.NodeStyle = this.elementStyle2;
this.advTreeRO.NodeStyleSelected = this.elementStyle2;
this.advTreeRO.PathSeparator = ";";
this.advTreeRO.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.advTreeRO.Size = new System.Drawing.Size(348, 395);
this.advTreeRO.Styles.Add(this.elementStyle2);
this.advTreeRO.TabIndex = 11;
this.advTreeRO.Text = "advTree1";
this.advTreeRO.AfterCheck += new DevComponents.AdvTree.AdvTreeCellEventHandler(this.advTreeRO_AfterCheck);
//
// elementStyle2
//
this.elementStyle2.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.elementStyle2.Name = "elementStyle2";
this.elementStyle2.TextColor = System.Drawing.SystemColors.ControlText;
//
// node2
//
this.node2.Expanded = true;
this.node2.Name = "node2";
this.node2.Text = "node2";
//
// nodeConnector2
//
this.nodeConnector2.LineColor = System.Drawing.SystemColors.ControlText;
//
// xpSetToReport
//
this.xpSetToReport.CanvasColor = System.Drawing.SystemColors.Control;
this.xpSetToReport.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007;
this.xpSetToReport.Controls.Add(this.advTreeProcSets);
this.xpSetToReport.Dock = System.Windows.Forms.DockStyle.Top;
this.xpSetToReport.ExpandOnTitleClick = true;
this.xpSetToReport.Location = new System.Drawing.Point(0, 539);
this.xpSetToReport.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.xpSetToReport.Name = "xpSetToReport";
this.xpSetToReport.Size = new System.Drawing.Size(348, 210);
this.xpSetToReport.Style.Alignment = System.Drawing.StringAlignment.Center;
this.xpSetToReport.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground;
this.xpSetToReport.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2;
this.xpSetToReport.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
this.xpSetToReport.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.BarDockedBorder;
this.xpSetToReport.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemText;
this.xpSetToReport.Style.GradientAngle = 90;
this.xpSetToReport.TabIndex = 8;
this.xpSetToReport.TitleStyle.Alignment = System.Drawing.StringAlignment.Center;
this.xpSetToReport.TitleStyle.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground;
this.xpSetToReport.TitleStyle.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2;
this.xpSetToReport.TitleStyle.Border = DevComponents.DotNetBar.eBorderType.RaisedInner;
this.xpSetToReport.TitleStyle.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
this.xpSetToReport.TitleStyle.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
this.xpSetToReport.TitleStyle.GradientAngle = 90;
this.xpSetToReport.TitleText = "Select Procedures";
//
// advTreeProcSets
//
this.advTreeProcSets.AccessibleRole = System.Windows.Forms.AccessibleRole.Outline;
this.advTreeProcSets.AllowDrop = true;
this.advTreeProcSets.BackColor = System.Drawing.SystemColors.Window;
//
//
//
this.advTreeProcSets.BackgroundStyle.Class = "TreeBorderKey";
this.advTreeProcSets.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.advTreeProcSets.CellStyleSelected = this.elementStyle1;
this.advTreeProcSets.Dock = System.Windows.Forms.DockStyle.Fill;
this.advTreeProcSets.DragDropEnabled = false;
this.advTreeProcSets.LicenseKey = "F962CEC7-CD8F-4911-A9E9-CAB39962FC1F";
this.advTreeProcSets.Location = new System.Drawing.Point(0, 26);
this.advTreeProcSets.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.advTreeProcSets.MultiSelect = true;
this.advTreeProcSets.MultiSelectRule = DevComponents.AdvTree.eMultiSelectRule.AnyNode;
this.advTreeProcSets.Name = "advTreeProcSets";
this.advTreeProcSets.Nodes.AddRange(new DevComponents.AdvTree.Node[] {
this.node1});
this.advTreeProcSets.NodesConnector = this.nodeConnector1;
this.advTreeProcSets.NodeStyle = this.elementStyle1;
this.advTreeProcSets.NodeStyleSelected = this.elementStyle1;
this.advTreeProcSets.PathSeparator = ";";
this.advTreeProcSets.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.advTreeProcSets.Size = new System.Drawing.Size(348, 184);
this.advTreeProcSets.Styles.Add(this.elementStyle1);
this.advTreeProcSets.TabIndex = 0;
this.advTreeProcSets.Text = "advTree1";
this.advTreeProcSets.AfterNodeSelect += new DevComponents.AdvTree.AdvTreeNodeEventHandler(this.advTreeProcSets_AfterNodeSelect);
this.advTreeProcSets.AfterCheck += new DevComponents.AdvTree.AdvTreeCellEventHandler(this.advTreeProcSets_AfterCheck);
//
// elementStyle1
//
this.elementStyle1.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.elementStyle1.Name = "elementStyle1";
this.elementStyle1.TextColor = System.Drawing.SystemColors.ControlText;
//
// node1
//
this.node1.Name = "node1";
this.node1.Text = "node1";
//
// nodeConnector1
//
this.nodeConnector1.LineColor = System.Drawing.SystemColors.ControlText;
//
// btnPrintReport
//
this.btnPrintReport.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnPrintReport.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnPrintReport.Dock = System.Windows.Forms.DockStyle.Top;
this.btnPrintReport.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnPrintReport.Location = new System.Drawing.Point(0, 749);
this.btnPrintReport.Margin = new System.Windows.Forms.Padding(4);
this.btnPrintReport.Name = "btnPrintReport";
this.btnPrintReport.Size = new System.Drawing.Size(348, 43);
this.btnPrintReport.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnPrintReport.TabIndex = 9;
this.btnPrintReport.Text = "Create Report";
this.btnPrintReport.Click += new System.EventHandler(this.btnPrintReport_Click);
//
// xpSelROs
//
this.xpSelROs.CanvasColor = System.Drawing.SystemColors.Control;
this.xpSelROs.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007;
this.xpSelROs.Controls.Add(this.advTreeRO);
this.xpSelROs.Dock = System.Windows.Forms.DockStyle.Top;
this.xpSelROs.Location = new System.Drawing.Point(0, 112);
this.xpSelROs.Margin = new System.Windows.Forms.Padding(4);
this.xpSelROs.Name = "xpSelROs";
this.xpSelROs.Size = new System.Drawing.Size(348, 427);
this.xpSelROs.Style.Alignment = System.Drawing.StringAlignment.Center;
this.xpSelROs.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground;
this.xpSelROs.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2;
this.xpSelROs.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
this.xpSelROs.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.BarDockedBorder;
this.xpSelROs.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemText;
this.xpSelROs.Style.GradientAngle = 90;
this.xpSelROs.TabIndex = 10;
this.xpSelROs.TitleHeight = 32;
this.xpSelROs.TitleStyle.Alignment = System.Drawing.StringAlignment.Center;
this.xpSelROs.TitleStyle.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground;
this.xpSelROs.TitleStyle.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2;
this.xpSelROs.TitleStyle.Border = DevComponents.DotNetBar.eBorderType.RaisedInner;
this.xpSelROs.TitleStyle.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
this.xpSelROs.TitleStyle.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
this.xpSelROs.TitleStyle.GradientAngle = 90;
this.xpSelROs.TitleText = "Select Referenced Objects";
//
// DisplayReports
//
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.btnPrintReport);
this.Controls.Add(this.xpSetToReport);
this.Controls.Add(this.xpSelROs);
this.Controls.Add(this.tctrlReports);
this.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.Name = "DisplayReports";
this.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
this.Size = new System.Drawing.Size(348, 832);
this.Load += new System.EventHandler(this.DisplayReports_Load);
((System.ComponentModel.ISupportInitialize)(this.tctrlReports)).EndInit();
this.tctrlReports.ResumeLayout(false);
this.tabControlPanel2.ResumeLayout(false);
this.panRORpts.ResumeLayout(false);
this.tabControlPanel1.ResumeLayout(false);
this.panelEx1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.advTreeRO)).EndInit();
this.xpSetToReport.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.advTreeProcSets)).EndInit();
this.xpSelROs.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private DevComponents.DotNetBar.TabControl tctrlReports;
private DevComponents.DotNetBar.TabControlPanel tabControlPanel1;
private DevComponents.DotNetBar.TabItem tabTransitionReports;
private DevComponents.DotNetBar.TabControlPanel tabControlPanel2;
private DevComponents.DotNetBar.TabItem tabROReports;
private DevComponents.DotNetBar.ExpandablePanel xpSetToReport;
private DevComponents.AdvTree.AdvTree advTreeProcSets;
private DevComponents.DotNetBar.ElementStyle elementStyle1;
private DevComponents.AdvTree.Node node1;
private DevComponents.AdvTree.NodeConnector nodeConnector1;
private DevComponents.DotNetBar.ButtonX btnPrintReport;
private DevComponents.DotNetBar.Controls.CheckBoxX cbxROUsage;
private DevComponents.DotNetBar.Controls.CheckBoxX cbxSummary;
private DevComponents.DotNetBar.Controls.CheckBoxX cbxComplete;
private DevComponents.DotNetBar.Controls.CheckBoxX cbxTransFromProcs;
private DevComponents.DotNetBar.Controls.CheckBoxX cbxTransToProcs;
private DevComponents.DotNetBar.Controls.ComboBoxEx cmbxROUsageSort;
private DevComponents.Editors.ComboItem cbiProc;
private DevComponents.Editors.ComboItem cbiRO;
private DevComponents.DotNetBar.LabelX labelX1;
private DevComponents.DotNetBar.PanelEx panRORpts;
private DevComponents.AdvTree.AdvTree advTreeRO;
private DevComponents.AdvTree.Node node2;
private DevComponents.AdvTree.NodeConnector nodeConnector2;
private DevComponents.DotNetBar.ElementStyle elementStyle2;
private DevComponents.DotNetBar.ExpandablePanel xpSelROs;
private DevComponents.DotNetBar.PanelEx panelEx1;
}
}

View File

@@ -0,0 +1,871 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
using System.IO;
using VEPROMS.CSLA.Library;
using DevComponents.DotNetBar;
using DevComponents.AdvTree;
using System.Text.RegularExpressions;
using Volian.Base.Library;
namespace Volian.Controls.Library
{
public partial class DisplayReports : UserControl
{
#region Events
public event DisplayReportsEvent PrintRequest;
private void OnPrintRequest(DisplayReportsEventArgs args)
{
if (PrintRequest != null)
PrintRequest(this, args);
}
#endregion
private List<DocVersionInfo> lstCheckedDocVersions = new List<DocVersionInfo>();
//private List<ROFSTLookup> lstCheckedROs = new List<ROFSTLookup>();
private List<object> lstCheckedROs = new List<object>();
private List<ItemInfoList> lstReportResults = new List<ItemInfoList>();
private List<string> ROList = new List<string>();
private List<object> lstROObj = new List<object>();
private int _MyRODbID;
private string DocVersionList
{
get
{
// append list of document versions to search
if (lstCheckedDocVersions.Count > 0)
{
string strRtnStr = "";
// get list of doc versions to search
foreach (DocVersionInfo dvi in lstCheckedDocVersions)
{
strRtnStr += string.Format(",{0}", dvi.VersionID.ToString());
}
return strRtnStr.Substring(1);
}
return "";
}
}
private DocVersionInfo _MyDocVersion;
public DocVersionInfo Mydocversion
{
get { return _MyDocVersion; }
set
{
_MyDocVersion = value;
if (_MyDocVersion != null)
{
if (_MyDocVersion.DocVersionAssociationCount > 0)
{
// if the count variable is not consistent with the actual list count,
// do a refresh. There was a bug, B2012-040, that was not reproducable..
// so this is an attempt to fix it.
if (_MyDocVersion.DocVersionAssociations.Count == 0)
{
_MyDocVersion.RefreshDocVersionAssociations();
if (_MyDocVersion.DocVersionAssociations.Count == 0) return;
}
MyROFSTLookup = _MyDocVersion.DocVersionAssociations[0].MyROFst.ROFSTLookup;
_MyRODbID = _MyDocVersion.DocVersionAssociations[0].MyROFst.RODbID;
}
}
}
}
private ROFSTLookup _MyROFSTLookup;
public ROFSTLookup MyROFSTLookup
{
get { return _MyROFSTLookup; }
set
{
//if (!Visible) return; // don't reset anything if the form is invisible.
_MyROFSTLookup = value; // define the tree nodes based on this rofst
advTreeROFillIn(true);
//LoadROComboTree();
}
}
private ItemInfoList _ReportResult;
public ItemInfoList ReportResult
{
get { return _ReportResult; }
set
{
_ReportResult = value;
//if (value != null) // Don't select an item from the list when it is updated
// _ReportResult.ListChanged += new ListChangedEventHandler(_SearchResults_ListChanged);
//DisplayResults();
}
}
private void GenerateROList()
{
string rtnStr = "";
ROFSTLookup.rochild[] chld = null;
ROFSTLookup.rochild ch;
ROList.Clear();
foreach (object rolkup in lstCheckedROs)
{
if (rolkup is ROFSTLookup.rodbi)
{
rtnStr = _MyRODbID.ToString() + ":" + string.Format("{0}", ((ROFSTLookup.rodbi)rolkup).dbiID.ToString("D4"));
}
else if (rolkup is ROFSTLookup.rochild)
{
ch = (ROFSTLookup.rochild)rolkup;
chld = ch.children;
rtnStr = _MyRODbID.ToString() + ":" + GetROChildren(rolkup);
}
//else if (rolkup is ROFSTLookup.rogrp)
// Console.WriteLine("RO Group");
//else if (rolkup is ROFSTLookup.roHdr)
// Console.WriteLine("RO Header");
ROList.Add(rtnStr);
}
}
//private string GetROList(ROFSTLookup.rochild[] chld)
private string GetROChildren(object roObj)
{
ROFSTLookup.rochild chld = (ROFSTLookup.rochild)roObj;
string rtnstr = "";
if (chld.children == null) // get a single ROID
{
//ROFSTLookup.rochild ro = (ROFSTLookup.rochild)roObj;
rtnstr += string.Format("{0}", chld.roid);
}
else
{ // spin through the child list and get the ROIDs.
// if the child has children, then call this function recursivly
foreach (ROFSTLookup.rochild roc in chld.children)
{
if (roc.children != null)
rtnstr += GetROChildren(roc);
else
rtnstr += string.Format("{0},", roc.roid);
}
}
return rtnstr;
}
private string GetListOfROs(bool keepREDbID)
{
string rtnStr = "";
string strRODbID = "";
int cnt = 0;
foreach (string rostr in ROList)
{
int ndxOf = rostr.IndexOf(":");
if (ndxOf > 0)
{
string tstr = rostr.Substring(0, ndxOf + 1);
if (tstr != strRODbID && keepREDbID)
{
strRODbID = tstr;
rtnStr += rostr;
}
else
rtnStr += rostr.Substring(ndxOf + 1);
}
else
rtnStr += rostr;
if (rtnStr.EndsWith(",")) rtnStr = rtnStr.Substring(0, rtnStr.Length - 1);
if (++cnt < ROList.Count)
rtnStr += ",";
}
return rtnStr;
}
public DisplayReports()
{
InitializeComponent();
EnableOrDisablePrintButton();
cmbxROUsageSort.SelectedIndex = 0;
tabTransitionReports.Visible = false;
cbxComplete.Enabled = false;
cbxSummary.Enabled = false;
}
public void SelectReferencedObjectTab()
{
tabROReports.PerformClick();
}
private void EnableOrDisablePrintButton()
{
switch (tctrlReports.SelectedTabIndex)
{
case 0: // Transition Reports
btnPrintReport.Enabled = (lstCheckedDocVersions.Count > 0);
break;
case 1: // Referenced Objects Reports
if (cbxROUsage.Checked)
btnPrintReport.Enabled = (lstCheckedDocVersions.Count > 0 && lstCheckedROs.Count > 0);
else
btnPrintReport.Enabled = ((cbxComplete.Checked || cbxSummary.Checked) && lstCheckedROs.Count > 0);
break;
}
}
private void tabTransitionReports_Click(object sender, EventArgs e)
{
xpSetToReport.Enabled = true;
xpSetToReport.Expanded = true;
xpSelROs.Expanded = false;
xpSelROs.Enabled = false;
EnableOrDisablePrintButton();
}
private void tabROReports_Click(object sender, EventArgs e)
{
xpSetToReport.Enabled = cbxROUsage.Checked;
xpSetToReport.Expanded = cbxROUsage.Checked;
cmbxROUsageSort.Enabled = cbxROUsage.Checked;
xpSelROs.Enabled = true;
xpSelROs.Expanded = true;
EnableOrDisablePrintButton();
}
private void cbxROUsage_CheckedChanged(object sender, EventArgs e)
{
xpSetToReport.Enabled = cbxROUsage.Checked;
xpSetToReport.Expanded = cbxROUsage.Checked;
cmbxROUsageSort.Enabled = cbxROUsage.Checked;
EnableOrDisablePrintButton();
}
#region Procedure List
private DevComponents.AdvTree.Node NewAdvTreeNode(string nodetext, bool selectable, bool chxbxvisable)
{
DevComponents.AdvTree.Node newnode;
newnode = new DevComponents.AdvTree.Node();
newnode.Text = nodetext;
newnode.Selectable = selectable;
newnode.CheckBoxAlignment = DevComponents.AdvTree.eCellPartAlignment.NearCenter;
newnode.CheckBoxStyle = eCheckBoxStyle.CheckBox;
newnode.CheckBoxThreeState = false;
newnode.CheckBoxVisible = chxbxvisable;
return newnode;
}
public void advTreeProcSetsFillIn(bool blSeachTabClicked)
{
DevComponents.AdvTree.Node topnode = null;
int cntnd = 0;
VETreeNode vtn = VETreeNode.GetFolder(1);
FolderInfo fi = vtn.VEObject as FolderInfo;
int fiCount = fi.ChildFolderCount;
advTreeProcSets.Nodes.Clear();
lstCheckedDocVersions.Clear();
topnode = new DevComponents.AdvTree.Node();
topnode.Text = "Available Procedure Sets";
topnode.Tag = fi;
advTreeProcSets.Nodes.Add(topnode);
//advTreeProcSets.AfterNodeInsert += new TreeNodeCollectionEventHandler(advTreeProcSets_AfterNodeInsert);
foreach (FolderInfo fic in fi.ChildFolders)
{
DevComponents.AdvTree.Node newnode = new DevComponents.AdvTree.Node();
newnode.Text = fic.ToString();
newnode.Tag = fic;
//int tmp;
//if (topnode == null)
//{
// newnode.Text = "Available Procedure Sets";
// tmp = advTreeProcSets.Nodes.Add(newnode);
// topnode = newnode;
//}
//else
//{
// newnode.Selectable = true;
// newnode.CheckBoxAlignment = DevComponents.AdvTree.eCellPartAlignment.NearCenter;
// newnode.CheckBoxStyle = eCheckBoxStyle.CheckBox;
// newnode.CheckBoxThreeState = false;
// newnode.CheckBoxVisible = true;
// tmp = topnode.Nodes.Add(newnode);
//}
cntnd++;
if (fic.ChildFolderCount > 0 || fic.FolderDocVersionCount > 0) // allow for '+' for tree expansion
{
DevComponents.AdvTree.Node tnt = new DevComponents.AdvTree.Node();
tnt.Text = "VLN_DUMMY";
newnode.Nodes.Add(tnt);
topnode.Nodes.Add(newnode);
}
}
// if nothing was added to the tree, just put in the node above the docversions...
if (advTreeProcSets.Nodes.Count == 0)
{
cntnd++;
fi = Mydocversion.MyFolder;
topnode = new DevComponents.AdvTree.Node();
topnode.Text = fi.ToString();
advTreeProcSets.Nodes.Add(topnode);
topnode.Tag = fi;
}
advTreeProcSets.BeforeExpand += new DevComponents.AdvTree.AdvTreeNodeCancelEventHandler(advTreeProcSets_BeforeExpand);
// position to the procedure set in the tree if we have a procedure open
if (Mydocversion != null)
advTreeProcSetsPreSelect();
else
advTreeProcSets.Nodes[0].SelectedCell = advTreeProcSets.Nodes[0].Cells[0]; // select the first node - fixes cosmetic problem
//if (blSeachTabClicked)
// cbxTextSearchText.Focus(); // set initial focus to enter search text
}
void advTreeProcSets_BeforeExpand(object sender, DevComponents.AdvTree.AdvTreeNodeCancelEventArgs e)
{
DevComponents.AdvTree.Node par = e.Node;
// get first child's text, if it has one & if the text is VLN_DUMMY, load children
DevComponents.AdvTree.Node tn = null;
if (par.Nodes.Count > 0) tn = par.Nodes[0];
if (tn.Text == "VLN_DUMMY") // expand this
{
par.Nodes.Clear();
Object obj = par.Tag;
if (!(obj is FolderInfo)) return; // should always be folderinfo on expand
FolderInfo fi = (FolderInfo)obj;
if (fi.ChildFolderCount > 0)
{
foreach (FolderInfo fic in fi.ChildFolders)
{
DevComponents.AdvTree.Node newnode = new DevComponents.AdvTree.Node();
newnode.Text = fic.ToString();
newnode.Tag = fic;
par.Nodes.Add(newnode);
if (fic.HasChildren) // allow for '+' for tree expansion
{
DevComponents.AdvTree.Node tnt = new DevComponents.AdvTree.Node();
tnt.Text = "VLN_DUMMY";
newnode.Nodes.Add(tnt);
}
}
}
else if (fi.FolderDocVersionCount > 0)
{
foreach (DocVersionInfo dv in fi.FolderDocVersions)
{
//if ((VersionTypeEnum)dv.VersionType == VersionTypeEnum.WorkingDraft)
//{
DevComponents.AdvTree.Node newnode = new DevComponents.AdvTree.Node();
newnode.Text = dv.ToString();
newnode.Tag = dv;
newnode.Selectable = true;
newnode.CheckBoxAlignment = DevComponents.AdvTree.eCellPartAlignment.NearCenter;
newnode.CheckBoxStyle = eCheckBoxStyle.CheckBox;
newnode.CheckBoxThreeState = false;
newnode.CheckBoxVisible = true;
par.Nodes.Add(newnode);
//}
}
}
}
}
private void advTreeProcSets_AfterCheck(object sender, DevComponents.AdvTree.AdvTreeCellEventArgs e)
{
DevComponents.AdvTree.Node n = advTreeProcSets.SelectedNode;
if (n.Checked)
{
n.Style = DevComponents.AdvTree.NodeStyles.Apple;
lstCheckedDocVersions.Add((DocVersionInfo)n.Tag);
if (lstCheckedDocVersions.Count == 1)//Mydocversion == null)
{
Mydocversion = (DocVersionInfo)n.Tag;
//advTreeStepTypesFillIn();
}
}
else
{
n.Style = null;
lstCheckedDocVersions.Remove((DocVersionInfo)n.Tag);
if (lstCheckedDocVersions.Count == 1)
{
if (Mydocversion != lstCheckedDocVersions[0])
{
Mydocversion = lstCheckedDocVersions[0];
//advTreeStepTypesFillIn();
}
}
else
{
if (lstCheckedDocVersions.Count == 0)
Mydocversion = null;
// do this if either none, or more than one procedure set selected
//advTreeStepTypes.Nodes.Clear();
//lstCheckedStepTypes.Clear();
//lstCheckedStepTypesStr.Clear();
//Node newnode = new DevComponents.AdvTree.Node();
//newnode.Text = "....select a procedure set for types to appear...";
//advTreeStepTypes.Nodes.Add(newnode);
//buildStepTypePannelTitle();
}
}
//// Enable the RO combo list only if at least one procedure set node
//// is selected
//cmboTreeROs.Enabled = (lstCheckedDocVersions.Count > 0);
//gpFindROs.Enabled = cmboTreeROs.Enabled;
//SetupContextMenu();
//buildSetToSearchPanelTitle();
EnableOrDisablePrintButton();
}
private void advTreeProcSets_AfterNodeSelect(object sender, AdvTreeNodeEventArgs e)
{
DevComponents.AdvTree.Node n = advTreeProcSets.SelectedNode;
//if (advTreeStepTypes.Nodes.Count == 1 && n.Checked)
//{
// Mydocversion = (DocVersionInfo)n.Tag;
// advTreeStepTypesFillIn();
//}
}
private void advTreeProcSetsPreSelect()
{
bool keeplooking = true;
//build a stack (bread crumb trail) of where is procedure set came from within the tree.
Stack<string> crumbs = new Stack<string>();
//crumbs.Push(Mydocversion.Name); // ex: "working draft"
//crumbs.Push(Mydocversion.MyFolder.Name); // ex: "Emergency Procedures"
//crumbs.Push(Mydocversion.MyFolder.MyParent.Name); // ex: "STPNOC-South Texas"
//crumbs.Push(advTreeProcSets.Nodes[0].Text); //top node of my tree
crumbs.Push(Mydocversion.Name); // ex: "working draft"
crumbs.Push(Mydocversion.MyFolder.Name); // ex: "Emergency Procedures"
FolderInfo fi = Mydocversion.MyFolder.MyParent;
while (fi != null)
{
if (fi.MyParent != null)
crumbs.Push(fi.Name);
fi = fi.MyParent;
}
crumbs.Push(advTreeProcSets.Nodes[0].Text); //top node of my tree
// now walk the tree, looking for the node names we saved in the stack.
NodeCollection monkeys = advTreeProcSets.Nodes;
while (keeplooking)
{
Node climber = LookInTree(monkeys, crumbs.Pop());
keeplooking = (climber != null && crumbs.Count > 0);
if (keeplooking)
monkeys = climber.Nodes;
if (!keeplooking && climber != null)
{
climber.Checked = true;
}
}
}
private Node LookInTree(NodeCollection monkeys, string bananna)
{
Node foundit = null;
foreach (Node chimp in monkeys)
{
if (chimp.Text.Equals(bananna))
{
foundit = chimp;
// need to select the node (cell) for it to be checked
chimp.SelectedCell = chimp.Cells[0];
if (chimp.Nodes.Count > 0)
chimp.Expand();
break;
}
chimp.Collapse();
}
return foundit;
}
#endregion
#region RO Tree
public void advTreeROFillIn(bool blSeachTabClicked)
{
DevComponents.AdvTree.Node topnode = null;
int cntnd = 0;
//VETreeNode vtn = VETreeNode.GetFolder(1);
//FolderInfo fi = vtn.VEObject as FolderInfo;
//int fiCount = fi.ChildFolderCount;
advTreeRO.Nodes.Clear();
if (_MyROFSTLookup == null) return;
advTreeRO.BeforeExpand +=new AdvTreeNodeCancelEventHandler(advTreeRO_BeforeExpand);
advTreeRO.AfterExpand += new AdvTreeNodeEventHandler(advTreeRO_AfterExpandorCollapse);
advTreeRO.AfterCollapse += new AdvTreeNodeEventHandler(advTreeRO_AfterExpandorCollapse);
//lstCheckedDocVersions.Clear();
topnode = new DevComponents.AdvTree.Node();
topnode.Text = "All Referenced Objects";
topnode.Tag = null;//fi;
topnode.CheckBoxVisible = true;
advTreeRO.Nodes.Add(topnode);
for (int i = 0; i < _MyROFSTLookup.myHdr.myDbs.Length; i++)
{
DevComponents.AdvTree.Node tn = new DevComponents.AdvTree.Node();
tn.Text = _MyROFSTLookup.myHdr.myDbs[i].dbiTitle;
tn.Tag = _MyROFSTLookup.myHdr.myDbs[i];
tn.CheckBoxVisible = true;
topnode.Nodes.Add(tn);
//cmboTreeROs.Nodes.Add(tn);
AddDummyGroup(_MyROFSTLookup.myHdr.myDbs[i], tn);
}
//foreach (FolderInfo fic in fi.ChildFolders)
//{
// DevComponents.AdvTree.Node newnode = new DevComponents.AdvTree.Node();
// newnode.Text = fic.ToString();
// newnode.Tag = fic;
// cntnd++;
// if (fic.ChildFolderCount > 0 || fic.FolderDocVersionCount > 0) // allow for '+' for tree expansion
// {
// DevComponents.AdvTree.Node tnt = new DevComponents.AdvTree.Node();
// tnt.Text = "VLN_DUMMY";
// newnode.Nodes.Add(tnt);
// topnode.Nodes.Add(newnode);
// }
//}
//// if nothing was added to the tree, just put in the node above the docversions...
//if (advTreeProcSets.Nodes.Count == 0)
//{
// cntnd++;
// fi = Mydocversion.MyFolder;
// topnode = new DevComponents.AdvTree.Node();
// topnode.Text = fi.ToString();
// advTreeProcSets.Nodes.Add(topnode);
// topnode.Tag = fi;
//}
//advTreeProcSets.BeforeExpand += new DevComponents.AdvTree.AdvTreeNodeCancelEventHandler(advTreeProcSets_BeforeExpand);
//// position to the procedure set in the tree if we have a procedure open
//if (Mydocversion != null)
// advTreeProcSetsPreSelect();
//else
// advTreeProcSets.Nodes[0].SelectedCell = advTreeProcSets.Nodes[0].Cells[0]; // select the first node - fixes cosmetic problem
//if (blSeachTabClicked)
// cbxTextSearchText.Focus(); // set initial focus to enter search text
}
private void AddDummyGroup(ROFSTLookup.rodbi rodbi, DevComponents.AdvTree.Node tn)
{
if (rodbi.children != null && rodbi.children.Length > 0)
{
DevComponents.AdvTree.Node tmp = new DevComponents.AdvTree.Node();
tmp.Text = "VLN_DUMMY_FOR_TREE";
tn.Nodes.Add(tmp);
}
}
private void advTreeRO_BeforeExpand(object sender, DevComponents.AdvTree.AdvTreeNodeCancelEventArgs e)
{
LoadChildren(e.Node);
}
private void LoadChildren(DevComponents.AdvTree.Node tn)
{
object tag = tn.Tag;
if (tn.HasChildNodes && tn.Nodes[0].Text != "VLN_DUMMY_FOR_TREE") return; // already loaded.
if (tn.HasChildNodes && tn.Nodes[0].Text == "VLN_DUMMY_FOR_TREE") tn.Nodes[0].Remove();
ROFSTLookup.rochild[] chld = null;
if (tn.Tag is ROFSTLookup.rodbi)
{
ROFSTLookup.rodbi db = (ROFSTLookup.rodbi)tn.Tag;
chld = db.children;
}
else if (tn.Tag is ROFSTLookup.rochild)
{
ROFSTLookup.rochild ch = (ROFSTLookup.rochild)tn.Tag;
chld = ch.children;
}
else
{
Console.WriteLine("error - no type");
return;
}
// if children, add dummy node
if (chld != null && chld.Length > 0)
{
//ProgressBar_Initialize(chld.Length, tn.Text);
for (int i = 0; i < chld.Length; i++)
{
//ProgressBar_SetValue(i);
DevComponents.AdvTree.Node tmp = null;
// if this is a group, i.e. type 0, add a dummy node
if (chld[i].type == 0 && chld[i].children == null)
//skip it.
// TODO: KBR how to handle this?
//Console.WriteLine("ro junk");
continue;
else if (chld[i].value == null)
{
tmp = new DevComponents.AdvTree.Node();
tmp.Text = chld[i].title;
tmp.Tag = chld[i];
tmp.CheckBoxVisible = true;
tn.Nodes.Add(tmp);
DevComponents.AdvTree.Node sub = new DevComponents.AdvTree.Node();
sub.Text = "VLN_DUMMY_FOR_TREE";
tmp.Nodes.Add(sub);
}
else
{
tmp = new DevComponents.AdvTree.Node();
tmp.Text = chld[i].title;
tmp.Tag = chld[i];
tmp.CheckBoxVisible = true;
int index = FindIndex(tn.Nodes, tmp.Text);
tn.Nodes.Insert(index, tmp);
//tn.Nodes.Add(tmp);
}
}
}
//ProgressBar_Clear();
}
void advTreeRO_AfterExpandorCollapse(object sender, AdvTreeNodeEventArgs e)
{
Node bottomNode = BottomTreeNode(advTreeRO.Nodes);
Node lastNode = advTreeRO.Nodes[advTreeRO.Nodes.Count - 1];
int top = advTreeRO.Nodes[0].Bounds.Top;
int bottom = bottomNode.Bounds.Bottom + 5;
int hScrollBarHeight = advTreeRO.HScrollBar != null ? advTreeRO.HScrollBar.Height : 0;
bottom = bottomNode.Bounds.Bottom + 5;
advTreeRO.Size = new Size(advTreeRO.Size.Width, Math.Min(525, bottom - top + hScrollBarHeight));
if (advTreeRO.VScrollBar != null && bottom < advTreeRO.Size.Height)
{
int yLookFor = (bottom - advTreeRO.Size.Height) + 2 * hScrollBarHeight;
Node topNode = FindTreeNodeAt(advTreeRO.Nodes, yLookFor);
if (topNode != null)
topNode.EnsureVisible();
}
}
private Node FindTreeNodeAt(NodeCollection nodes, int y)
{
foreach (Node node in nodes)
{
if (node.Bounds.Top <= y && node.Bounds.Bottom >= y)
return node;
if (node.Bounds.Top > y)
{
if (node.PrevNode != null && node.PrevNode.Expanded)
return FindTreeNodeAt(node.PrevNode.Nodes, y);
return node;
}
}
return null;
}
private Node BottomTreeNode(NodeCollection nodes)
{
Node bottomNode = nodes[nodes.Count - 1]; // Return bottom node in collection
if (bottomNode.Expanded) // If expanded return bottom child
return BottomTreeNode(bottomNode.Nodes);
return bottomNode;
}
private int FindIndex(NodeCollection nodes, string value)
{
int index = 0;
foreach (Node node in nodes)
{
if (GreaterValue(node.Text, value)) return index;
index++;
}
return index;
}
private static Regex _RegExGetNumber = new Regex(@"^ *[+-]?[.,0-9]+(E[+-]?[0-9]+)?");
private bool GreaterValue(string value1, string value2)
{
Match match1 = _RegExGetNumber.Match(value1);
Match match2 = _RegExGetNumber.Match(value2);
if (match1.Success && match2.Success) // Compare the numeric value
{
double dbl1 = double.Parse(match1.ToString());
double dbl2 = double.Parse(match2.ToString());
return dbl1 > dbl2;
}
return String.Compare(value1, value2, true) > 0;
}
#endregion
private void DisplayReports_Load(object sender, EventArgs e)
{
tabTransitionReports.PerformClick();
}
private void advTreeRO_AfterCheck(object sender, AdvTreeCellEventArgs e)
{
DevComponents.AdvTree.Node n = advTreeRO.SelectedNode;
//ROFSTLookup. rolkup = (ROFSTLookup)n.Tag;
if (n.Checked)
//lstCheckedROs.Add((ROFSTLookup)n.Tag);
//lstCheckedROs.Add(rolkup);
//lstROObj.Add(n.Tag);
lstCheckedROs.Add(n.Tag);
else
//lstCheckedROs.Remove((ROFSTLookup)n.Tag);
//lstCheckedROs.Remove(rolkup);
//lstROObj.Remove(n.Tag);
lstCheckedROs.Remove(n.Tag);
EnableOrDisablePrintButton();
}
private void cbxTransToProcs_CheckedChanged(object sender, EventArgs e)
{
EnableOrDisablePrintButton();
}
private void cbxTransFromProcs_CheckedChanged(object sender, EventArgs e)
{
EnableOrDisablePrintButton();
}
private void cbxComplete_CheckedChanged(object sender, EventArgs e)
{
EnableOrDisablePrintButton();
}
private void cbxSummary_CheckedChanged(object sender, EventArgs e)
{
EnableOrDisablePrintButton();
}
private string BuildRODataFile(string ROList)
{
DocVersionInfo MyDVI = Mydocversion;
string roDataFile = "PRINT.TMP";
if (VlnSettings.ReleaseMode.Equals("DEMO"))
{
MessageBox.Show("Referenced Object Reports not available in the Demo version.", "PROMS Demo Version");
return "";
}
string roapp = Environment.GetEnvironmentVariable("roapp");
if (roapp == null)
{
MessageBox.Show("Could not find path to Ro Editor, check 'roapp' environment variable");
return "";
}
if (MyDVI == null || MyDVI.DocVersionAssociationCount < 1)
{
MessageBox.Show("Could not find associated path for ro data.");
return "";
}
string roloc = "\"" + MyDVI.DocVersionAssociations[0].MyROFst.MyRODb.FolderPath + "\" " + "\"" + ROList + "\"";
if (!Directory.Exists(MyDVI.DocVersionAssociations[0].MyROFst.MyRODb.FolderPath))
{
MessageBox.Show(string.Format("RO Database directory does not exist: {0}", MyDVI.DocVersionAssociations[0].MyROFst.MyRODb.FolderPath));
return "";
}
string cmpRptExePath = roapp.Substring(0, roapp.LastIndexOf("\\")) + "\\CmpRpt.exe ";
try
{
System.Diagnostics.Process.Start(cmpRptExePath, roloc);
}
catch (Exception ex)
{
while (ex.InnerException != null)
ex = ex.InnerException;
string tmpmsg = ex.Message;
MessageBox.Show(tmpmsg, "RO Report Error: " + ex.GetType().Name);
}
roDataFile = MyDVI.DocVersionAssociations[0].MyROFst.MyRODb.FolderPath + "\\" + roDataFile;
return roDataFile;
}
private void btnPrintReport_Click(object sender, EventArgs e)
{
Cursor curcur = Cursor;
Cursor = Cursors.WaitCursor;
if (cbxSummary.Checked) // RO Summary Report
{
}
else if (cbxComplete.Checked) // Complete RO Report
{
GenerateROList();
string ROList = GetListOfROs(false);//don't include the RODbID in the RO list
string roDataFile = BuildRODataFile(ROList);
OnPrintRequest(new DisplayReportsEventArgs("RO Complete Report", "RO Report", roDataFile, cbxComplete.Checked));
}
else if (cbxROUsage.Checked)
{
bool usageSortedByProcedure = (cmbxROUsageSort.SelectedIndex == 1);
GenerateROList();
string SearchString = GetListOfROs(true);// Include the RODbID in the RO list
ItemInfoList SearchResults = ItemInfoList.GetListFromROReport(DocVersionList, "", SearchString, "");
//OnPrintRequest(new DisplaySearchEventArgs(ReportTitle, TypesSelected, SearchString, lbSrchResults.DataSource as ICollection<ItemInfo>));
if (!usageSortedByProcedure) // sort on ROs
{
Csla.SortedBindingList<ItemInfo> sortedResults = new Csla.SortedBindingList<ItemInfo>(SearchResults);
sortedResults.ApplySort("FoundROID", ListSortDirection.Ascending);
OnPrintRequest(new DisplayReportsEventArgs("RO Usage Report", "RO Usage", sortedResults, usageSortedByProcedure));
}
else
OnPrintRequest(new DisplayReportsEventArgs("RO Usage Report", "RO Usage", SearchResults, usageSortedByProcedure));
}
else if (cbxTransFromProcs.Checked)
{
}
else if (cbxTransToProcs.Checked)
{
}
Cursor = curcur;
}
}
public class DisplayReportsEventArgs
{
private string _ReportTitle;
public string ReportTitle
{
get { return _ReportTitle; }
set { _ReportTitle = value; }
}
private string _TypesSelected;
public string TypesSelected
{
get { return _TypesSelected; }
set { _TypesSelected = value; }
}
private ICollection<ItemInfo> _MyItemInfoList;
public ICollection<ItemInfo> MyItemInfoList
{
get { return _MyItemInfoList; }
set { _MyItemInfoList = value; }
}
private bool _SortUsageByProcedure;
public bool SortUsageByProcedure
{
get { return _SortUsageByProcedure; }
set { _SortUsageByProcedure = value; }
}
private string _RODataFile = "";
public string RODataFile
{
get { return _RODataFile; }
set { _RODataFile = value; }
}
private bool _CompleteROReport = true;
public bool CompleteROReport
{
get { return _CompleteROReport; }
set { _CompleteROReport = value; }
}
public DisplayReportsEventArgs(string reportTitle, string typesSelected, ICollection<ItemInfo> myItemInfoList, bool sortByProcedure)
{
_ReportTitle = reportTitle;
_TypesSelected = typesSelected;
_MyItemInfoList = myItemInfoList;
_SortUsageByProcedure = sortByProcedure;
}
public DisplayReportsEventArgs(string reportTitle, string typesSelected, string roDataFile, bool completeROReport)
{
_ReportTitle = reportTitle;
_TypesSelected = typesSelected;
_RODataFile = roDataFile;
_CompleteROReport = completeROReport;
}
}
public delegate void DisplayReportsEvent(object sender, DisplayReportsEventArgs args);
}

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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -846,7 +846,7 @@ namespace Volian.Controls.Library
Cursor savcursor = Cursor;
Application.DoEvents();
Cursor = Cursors.WaitCursor;
Console.WriteLine(string.Format("Checked = {0}", cbSorted.Checked));
//Console.WriteLine(string.Format("Checked = {0}", cbSorted.Checked));
DisplayResults();
Cursor = savcursor;
}