Code to walk through Items for Find and Replace
This commit is contained in:
parent
a6e6392c65
commit
fbd6429670
76
PROMS/VEPROMS.CSLA.Library/Extension/ItemInfoSearchExt.cs
Normal file
76
PROMS/VEPROMS.CSLA.Library/Extension/ItemInfoSearchExt.cs
Normal file
@ -0,0 +1,76 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace VEPROMS.CSLA.Library
|
||||
{
|
||||
public partial class ItemInfo
|
||||
{
|
||||
public ItemInfo SearchNext
|
||||
{
|
||||
get
|
||||
{
|
||||
return SearchNextSkip(SkipPartType.This);
|
||||
}
|
||||
}
|
||||
public string SearchNextPath
|
||||
{
|
||||
get
|
||||
{
|
||||
ItemInfo itemInfo = SearchNext;
|
||||
return itemInfo == null ? "" : itemInfo.Path;
|
||||
}
|
||||
}
|
||||
private ItemInfo SearchNextSkip(SkipPartType skip)
|
||||
{
|
||||
if (skip < SkipPartType.Caution && Cautions != null) return Cautions[0].SearchTop;
|
||||
if (skip < SkipPartType.Note && Notes != null) return Notes[0].SearchTop;
|
||||
if (skip < SkipPartType.This) return this;
|
||||
if (skip < SkipPartType.RNO && RNOs != null) return RNOs[0].SearchTop;
|
||||
if (skip < SkipPartType.Table && Tables != null) return Tables[0].SearchTop;
|
||||
if (skip < SkipPartType.Procedures && Procedures != null) return Procedures[0].SearchTop;
|
||||
if (skip < SkipPartType.Sections && Sections != null) return Sections[0].SearchTop;
|
||||
if (skip < SkipPartType.Steps && Steps != null) return Steps[0].SearchTop;
|
||||
if (NextItem != null) return NextItem.SearchTop;
|
||||
return UpOneNext;
|
||||
}
|
||||
public ItemInfo SearchTop
|
||||
{
|
||||
get
|
||||
{
|
||||
if (Cautions != null) return Cautions[0].SearchTop;
|
||||
if (Notes != null) return Notes[0].SearchTop;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
public ItemInfo UpOneNext
|
||||
{
|
||||
get
|
||||
{
|
||||
ItemInfo parentItem = ActiveParent as ItemInfo;
|
||||
if (parentItem == null) return null;
|
||||
if (IsCautionStructureFirstSib) return parentItem.SearchNextSkip(SkipPartType.Caution);
|
||||
if (IsNoteStructureFirstSib) return parentItem.SearchNextSkip(SkipPartType.Note);
|
||||
if (IsRNO) return parentItem.SearchNextSkip(SkipPartType.RNO);
|
||||
if (IsTable) return parentItem.SearchNextSkip(SkipPartType.Table);
|
||||
if (IsProcedure) return parentItem.SearchNextSkip(SkipPartType.Procedures);
|
||||
if (IsSection) return parentItem.SearchNextSkip(SkipPartType.Sections);
|
||||
if (IsStep) return parentItem.SearchNextSkip(SkipPartType.Steps);
|
||||
if (parentItem.NextItem != null) return parentItem.NextItem.SearchTop;
|
||||
return parentItem.UpOneNext;
|
||||
}
|
||||
}
|
||||
enum SkipPartType
|
||||
{
|
||||
Nothing=0,
|
||||
Caution=1,
|
||||
Note=2,
|
||||
This=3,
|
||||
RNO=4,
|
||||
Table=5,
|
||||
Procedures=6,
|
||||
Sections=7,
|
||||
Steps=8
|
||||
}
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user