diff --git a/PROMS/Volian.Controls.Library/DisplayItem.cs b/PROMS/Volian.Controls.Library/DisplayItem.cs
index 308d774f..6e9dbc7a 100644
--- a/PROMS/Volian.Controls.Library/DisplayItem.cs
+++ b/PROMS/Volian.Controls.Library/DisplayItem.cs
@@ -594,6 +594,7 @@ namespace Volian.Controls.Library
void _DisplayRTB_Enter(object sender, EventArgs e)
{
_Panel._ItemSelected = _MyItem;
+ _Panel.OnItemSelectedChanged(sender, new DisplayPanelEventArgs(this, null));
}
public void AutoExpand()
{
diff --git a/PROMS/Volian.Controls.Library/DisplayPanel.cs b/PROMS/Volian.Controls.Library/DisplayPanel.cs
index 7957ec77..073dc938 100644
--- a/PROMS/Volian.Controls.Library/DisplayPanel.cs
+++ b/PROMS/Volian.Controls.Library/DisplayPanel.cs
@@ -19,6 +19,11 @@ namespace Volian.Controls.Library
{
if (ItemClick != null) ItemClick(sender, args);
}
+ public event DisplayPanelEvent ItemSelectedChanged;
+ internal void OnItemSelectedChanged(object sender, DisplayPanelEventArgs args)
+ {
+ if (ItemSelectedChanged != null) ItemSelectedChanged(sender, args);
+ }
public event DisplayPanelLinkEvent LinkClicked;
internal void OnLinkClicked(object sender, DisplayLinkEventArgs args)
{
diff --git a/PROMS/Volian.Controls.Library/DisplayPanel.resx b/PROMS/Volian.Controls.Library/DisplayPanel.resx
new file mode 100644
index 00000000..19dc0dd8
--- /dev/null
+++ b/PROMS/Volian.Controls.Library/DisplayPanel.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/PROMS/Volian.Controls.Library/DisplayTabControl.cs b/PROMS/Volian.Controls.Library/DisplayTabControl.cs
index 2834f29b..33042067 100644
--- a/PROMS/Volian.Controls.Library/DisplayTabControl.cs
+++ b/PROMS/Volian.Controls.Library/DisplayTabControl.cs
@@ -12,12 +12,17 @@ namespace Volian.Controls.Library
{
public partial class DisplayTabControl : UserControl
{
- public event DisplayPanelEvent ItemClick;
private Dictionary _MyPages;
+ public event DisplayPanelEvent ItemClick;
internal void OnItemClick(object sender, DisplayPanelEventArgs args)
{
if (ItemClick != null) ItemClick(sender, args);
}
+ public event DisplayPanelEvent ItemSelectedChanged;
+ internal void OnItemSelectedChanged(object sender, DisplayPanelEventArgs args)
+ {
+ if (ItemSelectedChanged != null) ItemSelectedChanged(sender, args);
+ }
public DisplayTabControl()
{
InitializeComponent();
diff --git a/PROMS/Volian.Controls.Library/DisplayTabPanel.cs b/PROMS/Volian.Controls.Library/DisplayTabPanel.cs
index 3ed4c320..44af0262 100644
--- a/PROMS/Volian.Controls.Library/DisplayTabPanel.cs
+++ b/PROMS/Volian.Controls.Library/DisplayTabPanel.cs
@@ -53,6 +53,12 @@ namespace Volian.Controls.Library
_MyPanel.LinkClicked +=new Volian.Controls.Library.DisplayPanelLinkEvent(_MyPanel_LinkClicked);
_MyPanel.ItemClick +=new Volian.Controls.Library.DisplayPanelEvent(_MyPanel_ItemClick);
_MyPanel.AttachmentClicked += new Volian.Controls.Library.DisplayPanelAttachmentEvent(_MyPanel_AttachmentClicked);
+ _MyPanel.ItemSelectedChanged += new DisplayPanelEvent(_MyPanel_ItemSelectedChanged);
+ }
+
+ void _MyPanel_ItemSelectedChanged(object sender, DisplayPanelEventArgs args)
+ {
+ _MyTabControl.OnItemSelectedChanged(sender, args);
}
void _MyPanel_AttachmentClicked(object sender, DisplayPanelAttachmentEventArgs args)
{
diff --git a/PROMS/Volian.Controls.Library/vlnTreeView3.Designer.cs b/PROMS/Volian.Controls.Library/vlnTreeView3.Designer.cs
new file mode 100644
index 00000000..5ef609d4
--- /dev/null
+++ b/PROMS/Volian.Controls.Library/vlnTreeView3.Designer.cs
@@ -0,0 +1,36 @@
+namespace Volian.Controls.Library
+{
+ partial class vlnTreeView3
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Component Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ components = new System.ComponentModel.Container();
+ }
+
+ #endregion
+ }
+}
diff --git a/PROMS/Volian.Controls.Library/vlnTreeView3.cs b/PROMS/Volian.Controls.Library/vlnTreeView3.cs
new file mode 100644
index 00000000..7c2d2b19
--- /dev/null
+++ b/PROMS/Volian.Controls.Library/vlnTreeView3.cs
@@ -0,0 +1,72 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Text;
+using System.Windows.Forms;
+using VEPROMS.CSLA.Library;
+
+namespace Volian.Controls.Library
+{
+ //public delegate void vlnTreeViewEvent(object sender, vlnTreeEventArgs args);
+ //public delegate bool vlnTreeViewBoolEvent(object sender, vlnTreeEventArgs args);
+ //public delegate TreeNode vlnTreeViewTreeNodeEvent(object sender, vlnTreeEventArgs args);
+ //public delegate void vlnTreeViewDDEvent(object sender, System.Windows.Forms.DragEventArgs args);
+ public partial class vlnTreeView3 : TreeView
+ {
+ private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
+ #region Events
+ public event vlnTreeViewEvent NodeSelectionChange;
+ private void OnNodeSelectionChange(object sender, vlnTreeEventArgs args)
+ {
+ if (NodeSelectionChange != null) NodeSelectionChange(sender, args);
+ }
+ #endregion
+ #region Business Methods
+ #endregion
+ #region Constructors
+ public vlnTreeView3()
+ {
+ InitializeComponent();
+ base.AfterSelect += new TreeViewEventHandler(tv_AfterSelect);
+ }
+ private void tv_AfterSelect(object sender, TreeViewEventArgs e)
+ {
+ OnNodeSelectionChange(sender, new vlnTreeEventArgs(e.Node));
+ }
+ #endregion
+ private static TreeNode GetTreeNodeFromData(IDataObject datobj)
+ {
+ foreach (string s in datobj.GetFormats())
+ {
+ try
+ {
+ return (TreeNode)datobj.GetData(s);
+ }
+ catch (Exception ex)
+ {
+ if (_MyLog.IsErrorEnabled) _MyLog.Error("GetTreeNodeFromData", ex);
+ }
+ }
+ return null;
+ }
+ private TreeNode Clone(TreeNode tn)
+ {
+
+ TreeNode tmp = (TreeNode)tn.Clone();
+ ExpandMatch(tmp, tn);
+ return tmp;
+ }
+ private void ExpandMatch(TreeNode tn1, TreeNode tn2)
+ {
+ if (tn2.IsExpanded) tn1.Expand();
+ foreach (TreeNode tc in tn2.Nodes) ExpandMatch(tn1.Nodes[tc.Index], tc);
+ }
+ private bool IsChild(TreeNode parent, TreeNode child)
+ {
+ if (parent.Equals(child)) return true;// Check against self
+ foreach (TreeNode tc in parent.Nodes) if (IsChild(tc, child)) return true;//Check all children
+ return false;// Must not be a child at this level
+ }
+ }
+}