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);
 }