From 7e6fefb00ca3da62500d08e32b9c99056227631c Mon Sep 17 00:00:00 2001 From: Rich Date: Mon, 9 May 2011 14:09:20 +0000 Subject: [PATCH] Display a MessageBox if in debug mode ItemInfo (frmPropGrid) is opened without selecting an Item Added Interface properties SearchDVPath and SearchPath --- PROMS/VEPROMS User Interface/frmVEPROMS.cs | 10 ++-- .../Extension/DocVersionExt.cs | 14 ++++++ .../Extension/FolderExt.cs | 18 +++++++ .../VEPROMS.CSLA.Library/Extension/ItemExt.cs | 27 ++++++++++- .../VEPROMS.CSLA.Library/Extension/PartExt.cs | 47 +++++++++++++++++++ .../VEObjects/VEDrillDown.cs | 2 + 6 files changed, 113 insertions(+), 5 deletions(-) diff --git a/PROMS/VEPROMS User Interface/frmVEPROMS.cs b/PROMS/VEPROMS User Interface/frmVEPROMS.cs index 3afb3b9e..8fd9bc70 100644 --- a/PROMS/VEPROMS User Interface/frmVEPROMS.cs +++ b/PROMS/VEPROMS User Interface/frmVEPROMS.cs @@ -983,7 +983,6 @@ namespace VEPROMS { toolsPanel.Expanded = true; toolsTabs.SelectedTab = tabItemLibDocs; - toolsTabs.SelectedTab.PerformClick(); } else if (args.PanelTabName == "Annots") { @@ -1405,8 +1404,13 @@ namespace VEPROMS private void btnItemInfo_Click(object sender, EventArgs e) { - frmPropGrid pg = new frmPropGrid(tc.SelectedDisplayTabItem.SelectedItemInfo, tc.SelectedDisplayTabItem.SelectedItemInfo.Path); - pg.Show(); + if (tc.SelectedDisplayTabItem != null && tc.SelectedDisplayTabItem.SelectedItemInfo != null) + { + frmPropGrid pg = new frmPropGrid(tc.SelectedDisplayTabItem.SelectedItemInfo, tc.SelectedDisplayTabItem.SelectedItemInfo.Path); + pg.Show(); + } + else + MessageBox.Show("Select Item First", "Item not selected", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } private void epAnnotations_Resize(object sender, EventArgs e) diff --git a/PROMS/VEPROMS.CSLA.Library/Extension/DocVersionExt.cs b/PROMS/VEPROMS.CSLA.Library/Extension/DocVersionExt.cs index 736034d6..88db3f07 100644 --- a/PROMS/VEPROMS.CSLA.Library/Extension/DocVersionExt.cs +++ b/PROMS/VEPROMS.CSLA.Library/Extension/DocVersionExt.cs @@ -124,6 +124,20 @@ namespace VEPROMS.CSLA.Library } public partial class DocVersionInfo : IVEDrillDownReadOnly { + #region SearchPaths + public string _SearchDVPath; + public string SearchDVPath + { + get + { + if (_SearchDVPath == null) + _SearchDVPath = ActiveParent.SearchDVPath + "\u0007" + Name; + return _SearchDVPath; + } + } + public string SearchPath { get { return ""; } } + #endregion + #region DocVersion Config [NonSerialized] private DocVersionConfig _DocVersionConfig; diff --git a/PROMS/VEPROMS.CSLA.Library/Extension/FolderExt.cs b/PROMS/VEPROMS.CSLA.Library/Extension/FolderExt.cs index 3e2fd1e8..5cceb3fe 100644 --- a/PROMS/VEPROMS.CSLA.Library/Extension/FolderExt.cs +++ b/PROMS/VEPROMS.CSLA.Library/Extension/FolderExt.cs @@ -108,6 +108,24 @@ namespace VEPROMS.CSLA.Library } public partial class FolderInfo:IVEDrillDownReadOnly { + #region Search Paths + public string _SearchDVPath; + public string SearchDVPath + { + get + { + if (_SearchDVPath == null) + { + if (ActiveParent == null) + _SearchDVPath = Name; + else + _SearchDVPath = ActiveParent.SearchDVPath + "\u0007" + Name; + } + return _SearchDVPath; + } + } + public string SearchPath { get { return ""; } } + #endregion #region Folder Config (Read-Only) [NonSerialized] private FolderConfig _FolderConfig; diff --git a/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs b/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs index 78742856..bf3acd93 100644 --- a/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs +++ b/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs @@ -1141,12 +1141,35 @@ namespace VEPROMS.CSLA.Library internal string _SearchDVPath; public string SearchDVPath { - get { return _SearchDVPath; } + get + { + if (_SearchDVPath == null) + _SearchDVPath = ActiveParent.SearchDVPath; + return _SearchDVPath; + } } internal string _SearchPath; public string SearchPath { - get { return _SearchPath; } + get + { + if (_SearchPath==null) + { + if (IsProcedure) + _SearchPath = ActiveParent.SearchPath + "\u0007" + (DisplayNumber ?? "") + "\u0011" + DisplayText ; + else if (IsSection) + _SearchPath = ActiveParent.SearchPath + "\u0007" + (DisplayNumber ?? "") + "\u0011" + DisplayText; + else + { + PartInfo myPart = FirstSibling.ItemPartCount > 0 ? FirstSibling.ItemParts[0] : null; + if(myPart != null) + _SearchPath = myPart.SearchPath + (!IsHigh ? "." : "\u0007") + Ordinal.ToString(); + else + _SearchPath = ActiveParent.SearchPath + (!IsHigh ? "." : "\u0007") + Ordinal.ToString(); + } + } + return _SearchPath; + } } public string ShortSearchPath { diff --git a/PROMS/VEPROMS.CSLA.Library/Extension/PartExt.cs b/PROMS/VEPROMS.CSLA.Library/Extension/PartExt.cs index ede4b79e..4ce7e6b0 100644 --- a/PROMS/VEPROMS.CSLA.Library/Extension/PartExt.cs +++ b/PROMS/VEPROMS.CSLA.Library/Extension/PartExt.cs @@ -60,6 +60,53 @@ namespace VEPROMS.CSLA.Library } public partial class PartInfo : IVEDrillDownReadOnly { + private string _SearchDVPath; + public string SearchDVPath + { + get + { + if (_SearchDVPath == null) + _SearchDVPath = ActiveParent.SearchDVPath; + return _SearchDVPath; + } + } + private string _SearchPath; + public string SearchPath + { + get + { + if (_SearchPath == null) + { + string partText = ""; + switch ((E_FromType) FromType) + { + case E_FromType.Procedure: + break; + case E_FromType.Section: + break; + case E_FromType.Caution: + partText = ".Caution"; + break; + case E_FromType.Note: + partText = ".Note"; + break; + case E_FromType.RNO: + partText = ".RNO"; + break; + case E_FromType.Step: + break; + case E_FromType.Table: + partText = ".Table"; + break; + default: + break; + } + _SearchPath = ActiveParent.SearchPath + partText; + } + return _SearchPath; + } + } + internal PartInfo(SafeDataReader dr, ItemInfo itemInfo) { if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] PartInfo.Constructor", GetHashCode()); diff --git a/PROMS/VEPROMS.CSLA.Library/VEObjects/VEDrillDown.cs b/PROMS/VEPROMS.CSLA.Library/VEObjects/VEDrillDown.cs index 3c9a68af..be051ef4 100644 --- a/PROMS/VEPROMS.CSLA.Library/VEObjects/VEDrillDown.cs +++ b/PROMS/VEPROMS.CSLA.Library/VEObjects/VEDrillDown.cs @@ -14,6 +14,8 @@ namespace VEPROMS.CSLA.Library IVEDrillDownReadOnly ActiveParent { get; } FormatInfo ActiveFormat { get; } FormatInfo LocalFormat { get; } + string SearchDVPath { get; } + string SearchPath { get; } string ToString(); ConfigDynamicTypeDescriptor MyConfig { get; } //IVEDrillDown Get();