Пример #1
0
        private void setEdit(XWNTItem xi)
        {
            internalchg = true;
            try
            {
                cbProperty.SelectedIndex = XWNTItem.ValidKeys.IndexOf(xi.Key);
                switch (xi.Key)
                {
                case "integerOperator": setCbValue(XWNTItem.ValidIntegerOperators, xi.Value); break;

                case "integerType": setCbValue(XWNTItem.ValidIntegerTypes, xi.Value); break;

                case "level": setCbValue(XWNTItem.ValidLevels, xi.Value); break;

                case "objectType": setCbValue(XWNTItem.ValidObjectTypes, xi.Value); break;

                default:
                    switch (xi.Stype)
                    {
                    case "AnyBoolean": setCbValue(new List <string>(new string[] { Boolean.FalseString, Boolean.TrueString, }), xi.Value); break;

                    default: setTbValue(xi.Value); break;
                    }
                    break;
                }
            }
            finally { internalchg = false; }
        }
Пример #2
0
        private void WrapperChanged(object sender, System.EventArgs e)
        {
            this.btnCommit.Enabled = wrapper.Changed;

            if (internalchg)
            {
                return;
            }
            internalchg = true;
            try
            {
                if (sender.Equals(wrapper))
                {
                }
                else
                {
                    List <string> keys = new List <string>(new string[] { "folder", "nodeText", "objectType", });
                    XWNTItem      xi   = (XWNTItem)sender;
                    if (keys.Contains(xi.Key))
                    {
                        setLbWant();
                    }
                }
            }
            finally { internalchg = false; }
        }
Пример #3
0
        private void cbProperty_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (internalchg)
            {
                return;
            }
            if (cbProperty.SelectedIndex == -1)
            {
                return;
            }

            XWNTItem xi  = wrapper[lvWants.SelectedItems[0].Text];
            string   key = XWNTItem.ValidKeys[cbProperty.SelectedIndex];

            // Disallow duplicate keys
            if (wrapper[key] != null)
            {
                internalchg = true;
                cbProperty.SelectedIndex = XWNTItem.ValidKeys.IndexOf(xi.Key);
                internalchg = false;
                return;
            }

            lvWants.SelectedItems[0].Text = xi.Key = key;

            // Initialise value to a sane value for this key
            switch (key)
            {
            case "integerOperator": setCbValue(XWNTItem.ValidIntegerOperators, XWNTItem.ValidIntegerOperators[0]); break;

            case "integerType": setCbValue(XWNTItem.ValidIntegerTypes, XWNTItem.ValidIntegerTypes[0]); break;

            case "level": setCbValue(XWNTItem.ValidLevels, XWNTItem.ValidLevels[0]); break;

            case "objectType": setCbValue(XWNTItem.ValidObjectTypes, XWNTItem.ValidObjectTypes[0]); break;

            default:
                switch (XWNTItem.StypeForKey(XWNTItem.ValidKeys[cbProperty.SelectedIndex]))
                {
                case "AnyBoolean": setCbValue(new List <string>(new string[] { Boolean.FalseString, Boolean.TrueString, }), Boolean.FalseString); break;

                case "AnyString": setTbValue(""); break;

                default: setTbValue(XWNTItem.IsUint32Long(XWNTItem.ValidKeys[cbProperty.SelectedIndex]) ? "0x00000000" : "0"); break;
                }
                break;
            }
        }
Пример #4
0
        private void tbValue_TextChanged(object sender, EventArgs e)
        {
            if (internalchg)
            {
                return;
            }
            internalchg = true;
            XWNTItem xi = wrapper[lvWants.SelectedItems[0].Text];

            try
            {
                switch (xi.Stype)
                {
                case "AnySint32":
                    try
                    {
                        int sint = Convert.ToInt32(tbValue.Text, tbValue.Text.Trim().ToLower().StartsWith("0x") ? 16 : 10);
                        xi.Value = sint.ToString();
                    }
                    catch { tbValue.Text = xi.Value; tbValue.SelectAll(); }
                    break;

                case "AnyUint32":
                    try
                    {
                        uint u = Convert.ToUInt32(tbValue.Text, tbValue.Text.Trim().ToLower().StartsWith("0x") || XWNTItem.IsUint32Long(xi.Key) ? 16 : 10);
                        if (XWNTItem.IsUint32Long(xi.Key))
                        {
                            xi.Value = "0x" + u.ToString("x").PadLeft(8, '0');
                        }
                        else
                        {
                            xi.Value = u.ToString();
                        }
                    }
                    catch { tbValue.Text = xi.Value; tbValue.SelectAll(); }
                    break;

                default:
                    xi.Value = tbValue.Text;
                    break;
                }
            }
            finally { lvWants.SelectedItems[0].SubItems[2].Text = xi.Value; internalchg = false; }
        }