From 1eef90f60b852fdf28218aa8487b7204bff74392 Mon Sep 17 00:00:00 2001 From: Kathy Date: Fri, 14 Dec 2007 14:57:48 +0000 Subject: [PATCH] --- PROMS/Volian.Controls.Library/DisplayItem.cs | 1 + PROMS/Volian.Controls.Library/DisplayPanel.cs | 5 + .../Volian.Controls.Library/DisplayPanel.resx | 120 ++++++++++++++++++ .../DisplayTabControl.cs | 7 +- .../DisplayTabPanel.cs | 6 + .../vlnTreeView3.Designer.cs | 36 ++++++ PROMS/Volian.Controls.Library/vlnTreeView3.cs | 72 +++++++++++ 7 files changed, 246 insertions(+), 1 deletion(-) create mode 100644 PROMS/Volian.Controls.Library/DisplayPanel.resx create mode 100644 PROMS/Volian.Controls.Library/vlnTreeView3.Designer.cs create mode 100644 PROMS/Volian.Controls.Library/vlnTreeView3.cs 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 + } + } +}