private void ValuePushed_(object sender, NodeControlValueEventArgs e) { if (e.Node != null && e.Node.Tag != null) { GrtTreeNode node = e.Node.Tag as GrtTreeNode; String value = e.Value as String; if (node != null && value != null) { GrtValueType nodeType = (GrtValueType)_grtTree.get_field_type(node.NodeId, _valueColumn); NodeCustomBox.EditMethod editMethod = GetNodeEditMethod(e.Node); switch (nodeType) { case GrtValueType.StringValue: PushStringValue(node, value, editMethod); break; case GrtValueType.IntValue: PushIntValue(node, value, editMethod); break; case GrtValueType.RealValue: PushRealValue(node, value, editMethod); break; default: MessageBox.Show("This value cannot be edited."); break; } } } }
private void ValueNeeded_(object sender, NodeControlValueEventArgs e) { if (e.Node != null && e.Node.Tag != null) { GrtTreeNode node = e.Node.Tag as GrtTreeNode; if (node != null) { string caption; _grtTree.get_field(node.NodeId, _valueColumn, out caption); e.Value = caption; NodeCustomBox.EditMethod editMethod = GetNodeEditMethod(e.Node); switch (editMethod) { case NodeCustomBox.EditMethod.Bool: switch (e.Value as string) { case "": case "0": e.Value = "False"; break; default: e.Value = "True"; break; } break; } } } }
private void PushRealValue(GrtTreeNode node, string value, NodeCustomBox.EditMethod editMethod) { try { double doubleValue = double.Parse(value); _grtTree.set_field(node.NodeId, _valueColumn, doubleValue); } catch (Exception ex) { MessageBox.Show(String.Format("The value you have entered is not a float value.\n\n({0})", ex.Message)); } }
private string RunExtEditor_(TreeNodeAdv treeNodeAdv, string value, NodeCustomBox.EditMethod editMethod) { switch (editMethod) { case NodeCustomBox.EditMethod.Color: value = RunColorEditor(value); break; case NodeCustomBox.EditMethod.File: value = RunFilenameEditor(value); break; default: value = RunTextEditor(value); break; } return(value); }
private void PushIntValue(GrtTreeNode node, string value, NodeCustomBox.EditMethod editMethod) { try { int intValue = 0; switch (editMethod) { case NodeCustomBox.EditMethod.Bool: switch (value) { case "": case "False": intValue = 0; break; default: intValue = 1; break; } break; default: try { Decimal d = Decimal.Parse(value, System.Globalization.NumberStyles.Float); intValue = Decimal.ToInt32(Decimal.Round(d, 0)); } catch (Exception) { } break; } _grtTree.set_field(node.NodeId, _valueColumn, intValue); } catch (Exception ex) { MessageBox.Show(String.Format("The value you have entered is not an integer value.\n\n({0})", ex.Message)); } }
private void PushStringValue(GrtTreeNode node, string value, NodeCustomBox.EditMethod editMethod) { _grtTree.set_field(node.NodeId, _valueColumn, value); }