public void SetStartNode(IDisplayNode displayNode) { m_Dispatcher.BeginInvoke(() => { StartNode = displayNode; NotifyPropertyChanged("StartNode"); }); }
public virtual int CompareFields(IDisplayNode n1, IDisplayNode n2) { var diff = (int)n1.Category - (int)n2.Category; if (diff != 0) { return(diff); } else { return(CompareFieldNames(n1.Name, n2.Name)); } }
public void Convert() { ReleaseDisplayNode(); m_DisplayNode = m_Factory.Create(NodeModel.Id, NodeModel.X, NodeModel.Y, NodeModel.DirectionAngle.Degrees, DefaultRadius, m_FillBrush, m_StrokeBrush, DefaultStrokeThickness); }
// on select in the list tree private void LeftTree_AfterSelect(object sender, TreeViewEventArgs e) { exportMeshToolStripMenuItem.Enabled = false; exportMorphToolStripMenuItem.Enabled = false; exportAllPccMeshesToolStripMenuItem.Enabled = false; exportAllPccMorphsToolStripMenuItem.Enabled = false; LeftTreeContextMenuStrip.Visible = false; exportContextMenuItem.Visible = false; IDisplayNode nodeToDisplay = LeftTree.SelectedNode as IDisplayNode; if (nodeToDisplay != null) { nodeToDisplay.DisplayDetails(DetailsTreeView); switch (nodeToDisplay.GetType()) { case "pcc": exportMeshToolStripMenuItem.Enabled = false; exportMorphToolStripMenuItem.Enabled = false; exportAllPccMeshesToolStripMenuItem.Enabled = true; exportAllPccMorphsToolStripMenuItem.Enabled = true; break; case "morph": exportMeshToolStripMenuItem.Enabled = false; exportAllPccMeshesToolStripMenuItem.Enabled = false; exportAllPccMorphsToolStripMenuItem.Enabled = false; if (((MorphTreeNode)nodeToDisplay).morph.IsExportable) { LeftTreeContextMenuStrip.Visible = true; exportContextMenuItem.Visible = true; exportContextMenuItem.Enabled = true; exportMorphToolStripMenuItem.Enabled = true; } break; case "mesh": exportMeshToolStripMenuItem.Enabled = true; exportMorphToolStripMenuItem.Enabled = false; exportAllPccMeshesToolStripMenuItem.Enabled = false; exportAllPccMorphsToolStripMenuItem.Enabled = false; LeftTreeContextMenuStrip.Visible = true; exportContextMenuItem.Visible = true; exportContextMenuItem.Enabled = true; break; } } }
// export contextual menu private void exportContextMenuItem_Click(object sender, EventArgs e) { IDisplayNode selectedNode = LeftTree.SelectedNode as IDisplayNode; if (selectedNode != null) { if (selectedNode.GetType() == "mesh") { exportMeshToolStripMenuItem_Click(sender, e); } else if (selectedNode.GetType() == "morph") { exportMorphToolStripMenuItem_Click(sender, e); } } }
private void stateViewMenu_Opening(object sender, CancelEventArgs e) { IDisplayNode sel = null; SkeletonItem skel = null; if (SelectedNode() != null) { sel = SelectedNode().dispNode; skel = SelectedNode().skel; } var items = stateViewMenu.Items; items.Clear(); if (sel == null) { items.Add(new ToolStripMenuItem("Unavailable") { Enabled = false }); return; } foreach (var x in sel.References.Where(q => q != sel.Element)) { var t = new ToolStripMenuItem(LangModel.CanonicalName(x)); items.Add(t); AddMenuItems(NamesFor(x), t.DropDownItems, "= ", 20); } if (sel.Element != null) { var selName = LangModel.CanonicalName(sel.Element); items.Add("Find uses...", null, (s, _) => SetSearch("use:" + selName)); var aliases = NamesFor(sel.Element).Where(s => s != skel).ToArray(); if (aliases.Length > 0) { items.Add("Aliases...", null, (s, _) => SetSearch("eq:" + selName)); AddMenuItems(aliases, items, " = ", 10); } } }
internal void Set(SkeletonItem s, int id, int prevId) { if (skel == s && stateId == id) return; skel = s; stateId = id; dispNode = skel.displayNodes[stateId]; active = dispNode != null; var closeStateId = stateId; if (dispNode == null) { while (closeStateId < skel.displayNodes.Length && skel.displayNodes[closeStateId] == null) closeStateId++; if (closeStateId >= skel.displayNodes.Length) { closeStateId = stateId; while (closeStateId >= 0 && skel.displayNodes[closeStateId] == null) closeStateId--; } dispNode = skel.displayNodes[closeStateId]; } var fullName = skel.LongName(closeStateId); var tooltip = dispNode.ToolTip; if (tooltip == null) tooltip = ""; if(tooltip.Length > 0 && tooltip[tooltip.Length - 1] != '\n') tooltip += "\n"; tooltip += "Full name: " + fullName; if (tooltip != null) { this.ToolTipText = tooltip; } var name = dispNode.Name; if (name != dispNode.ShortName) { name = dispNode.ShortName; } if (IsMatchListItem) { Util.Assert(active); name = fullName; } this.SubItems[0].Text = name; this.SubItems[1].Text = active ? dispNode.Value : ""; var prev = ""; if (!IsMatchListItem && prevId >= 0 && skel.displayNodes[prevId] != null) { prev = skel.displayNodes[prevId].Value; } this.SubItems[2].Text = prev; }
internal void Set(SkeletonItem s, int id, int prevId) { if (skel == s && stateId == id) { return; } skel = s; stateId = id; dispNode = skel.displayNodes[stateId]; active = dispNode != null; var closeStateId = stateId; if (dispNode == null) { while (closeStateId < skel.displayNodes.Length && skel.displayNodes[closeStateId] == null) { closeStateId++; } if (closeStateId >= skel.displayNodes.Length) { closeStateId = stateId; while (closeStateId >= 0 && skel.displayNodes[closeStateId] == null) { closeStateId--; } } dispNode = skel.displayNodes[closeStateId]; } var fullName = skel.LongName(closeStateId); var tooltip = dispNode.ToolTip; if (tooltip == null) { tooltip = ""; } if (tooltip.Length > 0 && tooltip[tooltip.Length - 1] != '\n') { tooltip += "\n"; } tooltip += "Full name: " + fullName; if (tooltip != null) { this.ToolTipText = tooltip; } var name = dispNode.Name; if (name != dispNode.ShortName) { name = dispNode.ShortName; } if (IsMatchListItem) { Util.Assert(active); name = fullName; } this.SubItems[0].Text = name; this.SubItems[1].Text = active ? dispNode.Value : ""; var prev = ""; if (!IsMatchListItem && prevId >= 0 && skel.displayNodes[prevId] != null) { prev = skel.displayNodes[prevId].Value; } this.SubItems[2].Text = prev; }