private void btnRemoveAttribute_Click(object sender, EventArgs e) { if (cbAttributes.Items.Count > 0) { if (MessageBox.Show("Do you confirm you wish to remove the attribute?", "Remove attribute", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { SmartB1tCSClass cs = cbClasses.SelectedItem as SmartB1tCSClass; SmartB1tCSVar csv = cbAttributes.SelectedItem as SmartB1tCSVar; GlobalData.GlobalProject.Classes.Remove(cs); ReloadAttributes(); } } }
public frmAddEditAttribute(SmartB1tCSClass currCS, SmartB1tCSVar currVar) { InitializeComponent(); Text = "Edit attribute"; this.currCS = currCS; editVar = currVar; FillWithCustomTypes(); txtVarname.Text = currVar.VarName; if (currVar.IsCustomType) { cbDataType.SelectedItem = currCS; } else { cbDataType.SelectedItem = currVar.DataType; } }
private void btnOK_Click(object sender, EventArgs e) { if (txtVarname.Text != "") { if (!VarExistsByName(txtVarname.Text)) { if (txtVarname.Text.Contains(" ")) { txtVarname.Text = txtVarname.Text.Replace(' ', '_'); } bool isCustomType = cbDataType.SelectedItem is SmartB1tCSClass; if (editVar == null) { //Add new var SmartB1tCSVar csv = new SmartB1tCSVar(txtVarname.Text, isCustomType ? (cbDataType.SelectedItem as SmartB1tCSClass).ClassName : cbDataType.SelectedItem.ToString(), isCustomType); currCS.Fields.Add(csv); } else { //Edit current var editVar.VarName = txtVarname.Text; editVar.DataType = isCustomType ? (cbDataType.SelectedItem as SmartB1tCSClass).ClassName : cbDataType.SelectedItem.ToString(); editVar.IsCustomType = isCustomType; } currCS.Fields.Sort(new Comparison <SmartB1tCSVar>(CompareVarsByName)); DialogResult = DialogResult.OK; } else { MessageBox.Show("Already exists an attribute with such name.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("Attribute name cannot be blank.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void LoadProjectData() { XMLTree tree = XMLTree.LoadFrom(path); foreach (XMLTag tgProj in tree.MainTag.Children) { foreach (XMLTag tgProjCh in tgProj.Children) { if (tgProjCh.TagName == "Classes") { foreach (XMLTag tgCS in tgProjCh.Children) { foreach (XMLTag tgCSCh in tgCS.Children) { if (tgCSCh.TagName == "Vars") { foreach (XMLTag tgVar in tgCSCh.Children) { SmartB1tCSVar csv = new SmartB1tCSVar("", "", false); foreach (XMLTag tgVarData in tgVar.Children) { if (tgVarData.TagName == "name") { csv.VarName = tgVarData.Body; } else { if (tgVarData.TagName == "custom_type") { csv.IsCustomType = bool.Parse(tgVarData.Body); } else { if (tgVarData.TagName == "data_type") { csv.DataType = tgVarData.Body; } } } } GlobalData.GlobalProject.Classes[GlobalData.GlobalProject.Classes.Count - 1].Fields.Add(csv); } } else { if (tgCSCh.TagName == "name") { GlobalData.GlobalProject.Classes.Add(new SmartB1tCSClass(tgCSCh.Body)); } } } } } else { if (tgProjCh.TagName == "namespace") { GlobalData.GlobalProject.ProjectName = tgProjCh.Body; } } } } }
private int CompareVarsByName(SmartB1tCSVar csv1, SmartB1tCSVar csv2) { return(string.CompareOrdinal(csv1.VarName, csv2.VarName)); }