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