This commit is contained in:
parent
e98f6c1e92
commit
abf2a8919c
@ -516,6 +516,11 @@ namespace VEPROMS.CSLA.Library
|
|||||||
int stepType = ((int)MyContent.Type) % 10000;
|
int stepType = ((int)MyContent.Type) % 10000;
|
||||||
StepDataList sdlist = ActiveFormat.PlantFormat.FormatData.StepDataList;
|
StepDataList sdlist = ActiveFormat.PlantFormat.FormatData.StepDataList;
|
||||||
StepData sd = sdlist[stepType];
|
StepData sd = sdlist[stepType];
|
||||||
|
while (sd.Index != 0)
|
||||||
|
{
|
||||||
|
if (sd.Type == type) return true;
|
||||||
|
sd = sdlist[sd.ParentType];
|
||||||
|
}
|
||||||
// TODO: RHM20071115 while (sd.Index != 0)
|
// TODO: RHM20071115 while (sd.Index != 0)
|
||||||
// TODO: RHM20071115 {
|
// TODO: RHM20071115 {
|
||||||
// TODO: RHM20071115 if (sd.Type == type) return true;
|
// TODO: RHM20071115 if (sd.Type == type) return true;
|
||||||
@ -527,84 +532,84 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return IsType("CAUTION");
|
return IsType("Caution");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public bool IsNote
|
public bool IsNote
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return IsType("NOTE");
|
return IsType("Note");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public bool IsTable
|
public bool IsTable
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return IsType("TABLE");
|
return IsType("Table");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public bool IsFigure
|
public bool IsFigure
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return IsType("FIGURE");
|
return IsType("Figure");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public bool IsOr
|
public bool IsOr
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return IsType("OR");
|
return IsType("Or");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public bool IsAnd
|
public bool IsAnd
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return IsType("AND");
|
return IsType("And");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public bool IsEquipmentList
|
public bool IsEquipmentList
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return IsType("EQUIPMENTLIST");
|
return IsType("EquipmentList");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public bool IsTitle
|
public bool IsTitle
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return IsType("TITLE");
|
return IsType("Title");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public bool IsAccPages
|
public bool IsAccPages
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return IsType("ACCPAGES");
|
return IsType("AccPages");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public bool IsParagraph
|
public bool IsParagraph
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return IsType("PARAGRAPH");
|
return IsType("Paragraph");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public bool IsDefault
|
public bool IsDefault
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return IsType("DEFAULT");
|
return IsType("Default");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public bool IsContAcSequential
|
public bool IsContAcSequential
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return IsType("CONTACSEQUENTIAL");
|
return IsType("ContAcSequential");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public bool IsHigh
|
public bool IsHigh
|
||||||
@ -669,15 +674,28 @@ namespace VEPROMS.CSLA.Library
|
|||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// FormatStepType - Maps to step type in format file. All types map directly from step type in content
|
/// FormatStepType - Maps to step type in format file. All types map directly from step type in content
|
||||||
/// to step type in format except rno. The '39' is the RNO index in the format file. Note that we
|
/// to step type in format
|
||||||
/// could loop through the format's stepdata to find rnotype if we want this to be more flexible?
|
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int FormatStepType
|
public int FormatStepType
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (IsRNO) return 40;
|
return (((int)MyContent.Type) % 10000);
|
||||||
else return (((int)MyContent.Type) % 10000);
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// returns the format's stepdata for the given content type.
|
||||||
|
/// </summary>
|
||||||
|
public StepData FormatStepData
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
int typ = (int)MyContent.Type - 20000;
|
||||||
|
foreach (StepData sd in ActiveFormat.PlantFormat.FormatData.StepDataList)
|
||||||
|
{
|
||||||
|
if (sd.Index == typ) return sd;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public ItemInfo FirstSibling
|
public ItemInfo FirstSibling
|
||||||
@ -1090,7 +1108,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
if (MyContent.MyEntry == null)
|
if (MyContent.MyEntry == null)
|
||||||
return MyContent.Number;
|
return MyContent.Number;
|
||||||
if (MyContent.Number != "")
|
if (MyContent.Number != "")
|
||||||
return MyContent.Number;
|
return (MyContent.MyEntry.MyDocument.LibTitle == null ? "" : "\xA3 ") + MyContent.Number;
|
||||||
if (MyContent.Text.Length <= 10)
|
if (MyContent.Text.Length <= 10)
|
||||||
return MyContent.Text;
|
return MyContent.Text;
|
||||||
return MyContent.Text.Split(" ,.;:-_".ToCharArray())[0] + "...";
|
return MyContent.Text.Split(" ,.;:-_".ToCharArray())[0] + "...";
|
||||||
@ -1282,6 +1300,113 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
_MyContent = new ContentInfo(dr, true);
|
_MyContent = new ContentInfo(dr, true);
|
||||||
}
|
}
|
||||||
|
#region Insert New Items
|
||||||
|
public ItemInfo InsertSiblingBefore(string text)
|
||||||
|
{
|
||||||
|
return InsertSiblingBefore(text, null);
|
||||||
|
}
|
||||||
|
public ItemInfo InsertSiblingBefore(string text, string number)
|
||||||
|
{
|
||||||
|
ItemInfo prevItemInfo = MyPrevious;
|
||||||
|
ItemInfo newItemInfo = null;
|
||||||
|
PartInfoList partInfoList = MyParent != null && MyParent.MyContent != null ? MyParent.MyContent.ContentParts : null;
|
||||||
|
using (Item prevItem = prevItemInfo == null ? null : prevItemInfo.Get()) // Get the previous Item
|
||||||
|
{
|
||||||
|
using (Item newItem = Item.MakeItem(prevItem, Content.MakeContent(number, "", MyContent.Type, null, null))) // Create the new Item
|
||||||
|
{
|
||||||
|
using (Item thisItem = Get()) // Get the next item in the list
|
||||||
|
{
|
||||||
|
thisItem.MyPrevious = newItem; // Point to the new item
|
||||||
|
thisItem.Save(); // Save Changes
|
||||||
|
if (prevItem == null)
|
||||||
|
{
|
||||||
|
PartInfo partInfo = partInfoList.Find(this);
|
||||||
|
using (Part part = partInfo.Get())
|
||||||
|
{
|
||||||
|
part.MyItem = newItem;
|
||||||
|
part.Save();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
newItemInfo = ItemInfo.Get(newItem.ItemID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return newItemInfo;
|
||||||
|
}
|
||||||
|
public ItemInfo InsertSiblingAfter(string text)
|
||||||
|
{
|
||||||
|
return InsertSiblingAfter(text, null);
|
||||||
|
}
|
||||||
|
public ItemInfo InsertSiblingAfter(string text, string number)
|
||||||
|
{
|
||||||
|
return InsertSiblingAfter(text, number, MyContent.Type);
|
||||||
|
}
|
||||||
|
public ItemInfo InsertSiblingAfter(string text, string number, int? type)
|
||||||
|
{
|
||||||
|
ItemInfo nextItemInfo = (NextItemCount > 0) ? NextItems[0] : null;
|
||||||
|
ItemInfo newItemInfo = null;
|
||||||
|
using (Item thisItem = Get()) // Get the Current Item
|
||||||
|
{
|
||||||
|
using (Item newItem = Item.MakeItem(thisItem, Content.MakeContent(number, text, type, null, null))) // Create the new Item
|
||||||
|
{
|
||||||
|
if (nextItemInfo != null) // Simple case, adding to end of list:
|
||||||
|
using (Item nextItem = nextItemInfo.Get()) // Get the next item in the list
|
||||||
|
{
|
||||||
|
nextItem.MyPrevious = newItem; // Point to the new item
|
||||||
|
nextItem.Save(); // Save Changes
|
||||||
|
}
|
||||||
|
newItemInfo = ItemInfo.Get(newItem.ItemID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return newItemInfo;
|
||||||
|
}
|
||||||
|
public ItemInfo InsertChild(E_FromType fromType,int type,string text)
|
||||||
|
{
|
||||||
|
return InsertChild(fromType,type,text, null);
|
||||||
|
}
|
||||||
|
public ItemInfo InsertChild(E_FromType fromType,int type, string text, string number)
|
||||||
|
{
|
||||||
|
ItemInfo newItemInfo = null;
|
||||||
|
using (Item thisItem = Get()) // Get the Current Item
|
||||||
|
{
|
||||||
|
using (Item newItem = Item.MakeItem(null, Content.MakeContent(number, text, type, null, null))) // Create the new Item
|
||||||
|
{
|
||||||
|
PartInfo partInfo = MyContent.ContentParts == null ? null : MyContent.ContentParts.Find(fromType);
|
||||||
|
if (partInfo != null)
|
||||||
|
{
|
||||||
|
//this could be equivalent to adding a sibling with a specific type
|
||||||
|
using (Part part = partInfo.Get())
|
||||||
|
{
|
||||||
|
part.MyItem.MyPrevious = newItem;
|
||||||
|
part.MyItem.Save();
|
||||||
|
part.MyItem = newItem;
|
||||||
|
part.Save();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// This means that a part needs to be added to point to the new item
|
||||||
|
//using (Part part = Part.MakePart(thisItem.MyContent, ))
|
||||||
|
//{ ;}
|
||||||
|
thisItem.MyContent.ContentParts.Add((int)fromType, newItem);
|
||||||
|
thisItem.Save();
|
||||||
|
}
|
||||||
|
newItemInfo = ItemInfo.Get(newItem.ItemID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ResetParts();
|
||||||
|
return newItemInfo;
|
||||||
|
}
|
||||||
|
public ItemInfo NextItem
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (NextItemCount > 0 && NextItems.Count > 0)
|
||||||
|
return NextItems[0];
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
}
|
}
|
||||||
#endregion ItemInfo
|
#endregion ItemInfo
|
||||||
#region ItemInfoList
|
#region ItemInfoList
|
||||||
|
@ -39,6 +39,24 @@ namespace VEPROMS.CSLA.Library
|
|||||||
this.Add(new PartInfo(dr, itemInfo));
|
this.Add(new PartInfo(dr, itemInfo));
|
||||||
IsReadOnly = true;
|
IsReadOnly = true;
|
||||||
}
|
}
|
||||||
|
public PartInfo Find(E_FromType fromType)
|
||||||
|
{
|
||||||
|
foreach(PartInfo partInfo in this)
|
||||||
|
{
|
||||||
|
if ((E_FromType)partInfo.FromType == fromType)
|
||||||
|
return partInfo;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
public PartInfo Find(ItemInfo itemInfo)
|
||||||
|
{
|
||||||
|
foreach (PartInfo partInfo in this)
|
||||||
|
{
|
||||||
|
if (partInfo.MyItem.ItemID == itemInfo.ItemID)
|
||||||
|
return partInfo;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
public partial class PartInfo : IVEDrillDownReadOnly
|
public partial class PartInfo : IVEDrillDownReadOnly
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user