本文整理汇总了C#中ITreeNavigator.MoveToParent方法的典型用法代码示例。如果您正苦于以下问题:C# ITreeNavigator.MoveToParent方法的具体用法?C# ITreeNavigator.MoveToParent怎么用?C# ITreeNavigator.MoveToParent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ITreeNavigator
的用法示例。
在下文中一共展示了ITreeNavigator.MoveToParent方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Fill
public void Fill (Extension ext, ITreeNavigator nav)
{
labelName.Markup = "<small>Extension</small>\n<big><b>" + GLib.Markup.EscapeText (Util.GetDisplayName (ext)) + "</b></big>";
object parent = ext.GetExtendedObject ();
if (parent is ExtensionPoint) {
ExtensionPoint ep = (ExtensionPoint) parent;
string txt = "<small>Extension Point</small>\n<b>" + GLib.Markup.EscapeText (Util.GetDisplayName (ep)) + "</b>";
if (!string.IsNullOrEmpty (ep.Description))
txt += "\n" + GLib.Markup.EscapeText (ep.Description);
Gtk.Label lab = new Gtk.Label ();
lab.Xalign = lab.Yalign = 0;
lab.Markup = txt;
lab.WidthRequest = 400;
lab.Wrap = true;
Gtk.Image img = new Gtk.Image (ImageService.GetPixbuf ("md-extension-point", Gtk.IconSize.Menu));
img.Yalign = 0;
Gtk.HBox box = new Gtk.HBox (false, 6);
box.PackStart (img, false, false, 0);
box.PackStart (lab, true, true, 0);
buttonExt.Add (box);
buttonExt.ShowAll ();
buttonExt.Clicked += delegate {
if (nav.MoveToObject (ext)) {
nav.MoveToParent (typeof(Solution));
nav.Expanded = true;
if (nav.MoveToObject (ep.ParentAddinDescription)) {
nav.Expanded = true;
if (nav.MoveToObject (ep))
nav.Selected = true;
}
}
};
}
}
示例2: RestoreState
internal static void RestoreState(TreeViewPad pad, ITreeNavigator nav, NodeState es)
{
if (es == null) return;
Gtk.TreeIter it = nav.CurrentPosition._iter;
if (es.Options != null) {
pad.SetIterOptions (it, es.Options);
}
pad.ResetState (it);
nav.Expanded = es.Expanded;
if (es.ChildrenState != null) {
foreach (NodeState ces in es.ChildrenState) {
if (nav.MoveToChild (ces.NodeName, null)) {
RestoreState (pad, nav, ces);
nav.MoveToParent ();
}
}
}
if (es.Selected)
nav.Selected = true;
}
示例3: SearchMember
ITreeNavigator SearchMember (ITreeNavigator nav, string helpUrl)
{
if (nav == null)
return null;
bool searchType = helpUrl.StartsWith ("T:", StringComparison.Ordinal);
do {
if (IsMatch (nav, helpUrl, searchType)) {
inspectEditor.ClearSelection ();
nav.ExpandToNode ();
nav.Selected = nav.Expanded = true;
nav.ScrollToNode ();
return nav;
}
if (!SkipChildren (nav, helpUrl, searchType) && nav.HasChildren ()) {
nav.MoveToFirstChild ();
ITreeNavigator result = SearchMember (nav, helpUrl);
if (result != null)
return result;
if (!nav.MoveToParent ()) {
return null;
}
try {
if (nav.DataItem is TypeDefinition && PublicApiOnly) {
nav.MoveToFirstChild ();
result = SearchMember (nav, helpUrl);
if (result != null)
return result;
nav.MoveToParent ();
}
} catch (Exception) {
}
}
} while (nav.MoveNext());
return null;
}
示例4: Dispose
void Dispose (ITreeNavigator nav)
{
if (nav == null)
return;
IDisposable d = nav.DataItem as IDisposable;
if (d != null)
d.Dispose ();
if (nav.HasChildren ()) {
nav.MoveToFirstChild ();
do {
Dispose (nav);
} while (nav.MoveNext ());
nav.MoveToParent ();
}
}
示例5: SaveStateRec
static NodeState SaveStateRec(TreeViewPad pad, ITreeNavigator nav)
{
Gtk.TreeIter it = nav.CurrentPosition._iter;
ArrayList childrenState = null;
if (nav.Filled && nav.MoveToFirstChild ()) {
do {
NodeState cs = SaveStateRec (pad, nav);
if (cs != null) {
cs.NodeName = nav.NodeName;
if (childrenState == null) childrenState = new ArrayList ();
childrenState.Add (cs);
}
} while (nav.MoveNext ());
nav.MoveToParent ();
}
TreeViewPad.TreeOptions ops = pad.GetIterOptions (it);
if (ops != null || nav.Expanded || childrenState != null || nav.Selected) {
NodeState es = new NodeState ();
es.Expanded = nav.Expanded;
es.Selected = nav.Selected;
es.Options = ops;
es.ChildrenState = childrenState;
return es;
} else
return null;
}
示例6: SearchMember
ITreeNavigator SearchMember (ITreeNavigator nav, string helpUrl, bool expandNode = true)
{
if (nav == null)
return null;
bool searchType = helpUrl.StartsWith ("T:", StringComparison.Ordinal);
do {
if (IsMatch (nav, helpUrl, searchType)) {
inspectEditor.ClearSelection ();
nav.ExpandToNode ();
if (expandNode) {
nav.Selected = nav.Expanded = true;
nav.ScrollToNode ();
} else {
nav.Selected = true;
nav.ScrollToNode ();
}
return nav;
}
if (!SkipChildren (nav, helpUrl, searchType) && nav.HasChildren ()) {
nav.MoveToFirstChild ();
ITreeNavigator result = SearchMember (nav, helpUrl, expandNode);
if (result != null)
return result;
if (!nav.MoveToParent ()) {
return null;
}
}
} while (nav.MoveNext());
return null;
}
示例7: GetFiles
private void GetFiles(ITreeNavigator nav, List<SystemFile> filesToAdd)
{
nav.MoveToFirstChild ();
do {
if (nav.HasChildren ()) {
ProjectFolder pf = nav.DataItem as ProjectFolder;
if (pf != null && (File.GetAttributes (pf.Path) & FileAttributes.Hidden) == 0) {
ITreeNavigator newNav = nav.Clone ();
GetFiles (newNav, filesToAdd);
}
} else if (nav.DataItem is SystemFile) {
filesToAdd.Add ((SystemFile) nav.DataItem);
}
} while (nav.MoveNext ());
nav.MoveToParent ();
}
示例8: SearchMember
ITreeNavigator SearchMember (ITreeNavigator nav, string helpUrl)
{
do {
if (IsMatch (nav, helpUrl))
return nav;
if (!SkipChildren (nav, helpUrl) && nav.HasChildren ()) {
DispatchService.RunPendingEvents ();
nav.MoveToFirstChild ();
ITreeNavigator result = SearchMember (nav, helpUrl);
if (result != null)
return result;
if (!nav.MoveToParent ())
return null;
try {
if (nav.DataItem is DomCecilType && nav.Options["PublicApiOnly"]) {
nav.Options["PublicApiOnly"] = false;
nav.MoveToFirstChild ();
result = SearchMember (nav, helpUrl);
if (result != null)
return result;
nav.MoveToParent ();
}
} catch (Exception) {
return null;
}
}
} while (nav.MoveNext());
return null;
}
示例9: RestoreState
internal static void RestoreState (ExtensibleTreeView pad, ITreeNavigator nav, NodeState es)
{
if (es == null)
return;
if (es.Options != null)
pad.SetNodeOptions (nav, es.Options);
pad.ResetState (nav);
nav.Expanded = es.Expanded;
if (es.ChildrenState != null) {
foreach (NodeState ces in es.ChildrenState) {
if (nav.MoveToChild (ces.NodeName, null)) {
RestoreState (pad, nav, ces);
nav.MoveToParent ();
}
}
}
if (es.Selected)
nav.Selected = true;
}
示例10: SaveStateRec
static NodeState SaveStateRec (ExtensibleTreeView pad, ITreeNavigator nav)
{
List<NodeState> childrenState = null;
if (nav.Filled && nav.MoveToFirstChild ()) {
do {
NodeState cs = SaveStateRec (pad, nav);
if (cs != null) {
cs.NodeName = nav.NodeName;
if (childrenState == null)
childrenState = new List<NodeState> ();
childrenState.Add (cs);
}
} while (nav.MoveNext ());
nav.MoveToParent ();
}
ExtensibleTreeView.TreeOptions ops = pad.GetNodeOptions (nav);
if (ops != null || nav.Expanded || childrenState != null || nav.Selected) {
NodeState es = new NodeState ();
es.Expanded = nav.Expanded;
es.Selected = nav.Selected;
es.Options = ops;
es.ChildrenState = childrenState;
return es;
} else
return null;
}
示例11: SearchMember
ITreeNavigator SearchMember (ITreeNavigator nav, string helpUrl)
{
bool searchType = helpUrl.StartsWith ("T:");
do {
if (IsMatch (nav, helpUrl, searchType)) {
nav.ExpandToNode ();
nav.Selected = nav.Expanded = true;
return nav;
}
if (!SkipChildren (nav, helpUrl, searchType) && nav.HasChildren ()) {
nav.MoveToFirstChild ();
ITreeNavigator result = SearchMember (nav, helpUrl);
if (result != null)
return result;
if (!nav.MoveToParent ()) {
return null;
}
try {
if (nav.DataItem is TypeDefinition && nav.Options ["PublicApiOnly"]) {
nav.Options ["PublicApiOnly"] = PublicApiOnly;
nav.MoveToFirstChild ();
result = SearchMember (nav, helpUrl);
if (result != null)
return result;
nav.MoveToParent ();
}
} catch (Exception) {
}
}
} while (nav.MoveNext());
return null;
}