Copy all fields from Library Document when converting a Library Document to a Stand-alone Document

Added code to update the Procedure Panel when a Word Section is added.
Created a method to find a ProcedureDisplayTabItem for a specific item
Added code to Reset the Tab when a Section's Number is changed.
Added code to Reset a Procedures Parts when a Panel is Reset
Added an event for a Node being added.
This commit is contained in:
Rich 2010-11-17 22:29:54 +00:00
parent c57078a7cb
commit f208c98202
6 changed files with 33 additions and 4 deletions

View File

@ -465,7 +465,7 @@ namespace VEPROMS
{ {
// make new document with 'no' libtitle - use libtitle for the doc title. Then link this // make new document with 'no' libtitle - use libtitle for the doc title. Then link this
// to the item... // to the item...
Document doc = Document.MakeDocument(null, doclibinfo.DocContent, null, null, null); Document doc = Document.MakeDocument(null, doclibinfo.DocContent,doclibinfo.DocAscii,doclibinfo.Config,doclibinfo.DocPdf);
_SectionConfig.MySection.MyContent.MyEntry.MyDocument = doc; _SectionConfig.MySection.MyContent.MyEntry.MyDocument = doc;
} }
ppCmbxLibDoc.Items.Clear(); ppCmbxLibDoc.Items.Clear();

View File

@ -149,6 +149,7 @@ namespace VEPROMS
tv.Nodes.Add(tn); tv.Nodes.Add(tn);
tv.NodeOpenProperty += new vlnTreeViewPropertyEvent(tv_NodeOpenProperty); tv.NodeOpenProperty += new vlnTreeViewPropertyEvent(tv_NodeOpenProperty);
tv.NodeSelect += new Volian.Controls.Library.vlnTreeViewEvent(tv_NodeSelect); tv.NodeSelect += new Volian.Controls.Library.vlnTreeViewEvent(tv_NodeSelect);
tv.NodeNew += new vlnTreeViewEvent(tv_NodeNew);
tv.OpenItem += new vlnTreeViewItemInfoEvent(tv_OpenItem); tv.OpenItem += new vlnTreeViewItemInfoEvent(tv_OpenItem);
tv.DeleteItemInfo += new vlnTreeViewItemInfoDeleteEvent(tv_DeleteItemInfo); tv.DeleteItemInfo += new vlnTreeViewItemInfoDeleteEvent(tv_DeleteItemInfo);
tv.InsertItemInfo += new vlnTreeViewItemInfoInsertEvent(tv_InsertItemInfo); tv.InsertItemInfo += new vlnTreeViewItemInfoInsertEvent(tv_InsertItemInfo);
@ -331,7 +332,20 @@ namespace VEPROMS
} }
// The following code is used to setup the user interface depending on what // The following code is used to setup the user interface depending on what
// is selected on the tree view (see vlnTreeView.cs) // is selected on the tree view (see vlnTreeView.cs)
private void tv_NodeSelect(object sender, Volian.Controls.Library.vlnTreeEventArgs args) void tv_NodeNew(object sender, vlnTreeEventArgs args)
{
VETreeNode vNode = (VETreeNode)args.Node;
IVEDrillDownReadOnly veObj = vNode.VEObject;
SectionInfo mySection = veObj as SectionInfo;
if (mySection.MyContent.MyEntry != null)
{
// if it is a word section, find the DisplayTabItem;
DisplayTabItem tabItem = tc.GetProcDisplayTabItem(mySection);
if(tabItem != null)tabItem.MyStepTabPanel.MyStepPanel.Reset();
}
SetupNodes((VETreeNode)args.Node);
}
private void tv_NodeSelect(object sender, vlnTreeEventArgs args)
{ {
SetupNodes((VETreeNode)args.Node); SetupNodes((VETreeNode)args.Node);
} }

View File

@ -560,6 +560,15 @@ namespace Volian.Controls.Library
} }
return null; return null;
} }
public DisplayTabItem GetProcDisplayTabItem(ItemInfo myItemInfo)
{
ItemInfo proc = myItemInfo.MyProcedure; // Find procedure Item
string key = "Item - " + proc.ItemID.ToString();
DisplayTabItem pg = null;
if (_MyDisplayTabItems.ContainsKey(key)) // If procedure page open use it
return _MyDisplayTabItems[key];
return null;
}
/// <summary> /// <summary>
/// This opens a Step page based upon a ItemInfo. /// This opens a Step page based upon a ItemInfo.
/// ///

View File

@ -168,6 +168,7 @@ namespace Volian.Controls.Library
// Update the text to reflect the content change // Update the text to reflect the content change
MyStepRTB.MyItemInfo.RefreshItemAnnotations(); MyStepRTB.MyItemInfo.RefreshItemAnnotations();
MyStepRTB.MyItemInfo=MyStepRTB.MyItemInfo; // Reset Text MyStepRTB.MyItemInfo=MyStepRTB.MyItemInfo; // Reset Text
TabFormat = null; // Reset Tab
SetExpandAndExpander(MyItemInfo); SetExpandAndExpander(MyItemInfo);
// TODO: Need code to update tabs ? not sure what this is - maybe for // TODO: Need code to update tabs ? not sure what this is - maybe for
// transitions? // transitions?

View File

@ -321,6 +321,7 @@ namespace Volian.Controls.Library
{ {
ItemInfo parent = SelectedItemInfo.ActiveParent as ItemInfo; ItemInfo parent = SelectedItemInfo.ActiveParent as ItemInfo;
if (parent != null) ItemInfo.ResetParts(parent.ItemID); // Force data to reload if (parent != null) ItemInfo.ResetParts(parent.ItemID); // Force data to reload
else ItemInfo.ResetParts(SelectedItemInfo.ItemID);
// The following line actually reloads the procedure item // The following line actually reloads the procedure item
MyProcedureItemInfo = MyProcedureItemInfo; // see get/set above. - Load Procedure and Sections MyProcedureItemInfo = MyProcedureItemInfo; // see get/set above. - Load Procedure and Sections
// The following line expands the items needed to display SelectedItemInfo // The following line expands the items needed to display SelectedItemInfo

View File

@ -302,6 +302,11 @@ namespace Volian.Controls.Library
{ {
if (NodeSelect != null) NodeSelect(sender, args); if (NodeSelect != null) NodeSelect(sender, args);
} }
public event vlnTreeViewEvent NodeNew;
private void OnNodeNew(object sender, vlnTreeEventArgs args)
{
if (NodeNew != null) NodeNew(sender, args);
}
public event vlnTreeViewEvent NodeSelectionChange; public event vlnTreeViewEvent NodeSelectionChange;
private void OnNodeSelectionChange(object sender, vlnTreeEventArgs args) private void OnNodeSelectionChange(object sender, vlnTreeEventArgs args)
{ {
@ -935,8 +940,7 @@ namespace Volian.Controls.Library
if (tn != null) if (tn != null)
{ {
SelectedNode = tn; SelectedNode = tn;
OnNodeSelect(this, new vlnTreeEventArgs(SelectedNode)); OnNodeNew(this, new vlnTreeEventArgs(SelectedNode));
Refresh(); Refresh();
} }
} }