public void NavigateTo(NodeModel node)
{
if (node.ObjType == XObjType.Class || node.ObjType == XObjType.Internal)
{
SelectedNode = node;
FieldFilter = null;
SummaryLabel.Text = node.Name;
SummaryLabel.ForeColor = ColorProfile.ClassColor;
FieldsRadioButton.Visible = true;
MethodsRadioButton.Visible = true;
}
else if (node.ObjType == XObjType.Field)
{
SelectedNode = node.GetParentClass(false);
FieldFilter = node.XNode.UnformattedName;
SummaryLabel.Text = node.Name;
SummaryLabel.ForeColor = ColorProfile.FieldColor;
FieldsRadioButton.Visible = false;
MethodsRadioButton.Visible = false;
FieldsRadioButton.Checked = true;
}
else
{
SummaryLabel.Text = "";
return;
}
Model = new InstanceModel(SelectedNode.XNode, FieldFilter, GridModel_UpdateTree, GridModel_ExpandedField);
XRay.UIs[Thread.CurrentThread.ManagedThreadId].CurrentInstance = Model;
FieldGrid.Nodes.Clear();
FieldGrid.Columns.Clear();
if (!Visible)
{
return;
}
CurrentDisplay = SelectedNode;
ModelRowMap = new Dictionary <int, FieldRow>();
Model.BeginUpdateTree(false);
RefreshSubnodesView();
}