/// <summary>Detailed string for the list</summary> string formatItem(ProjectFile.Var item) { string line = ""; if (item.RawOffset != "-1") { line += item.RawOffset + ": "; } line += item.Type.ToString().ToLower(); if (item.Type == ProjectFile.VarType.Collection) { line += "<" + item.ID + ">"; } line += " " + item.Name; if (item.DefaultValue != null) { line += " = " + item.DefaultValue; } if (item.Type != ProjectFile.VarType.Collection && item.ID != -1) { line += " ($" + item.ID + ")"; } if (item.IsValidated) { line += "*"; } // this next one is array only, the previous 3 wouldn't've happened if (item.RawQuantity != "" && item.RawQuantity != "1") { line += "[" + item.RawQuantity + "]"; } return(line); }
private void txtArrayNames_Leave(object sender, EventArgs e) { if (lstItems.SelectedIndex == -1 || LoadedProject == null || LoadedProject.Properties == null) { return; } ProjectFile.Var v = LoadedProject.Properties[lstItems.SelectedIndex]; string[] oldNames = v.Values.Names; try { string[] names = txtArrayNames.Text.Split(','); for (int i = 0; i < v.Quantity; i++) { try { v.Values.Names[i] = update(v.Values.Names[i], names[i]); } catch { v.Values.Names[i] = update(v.Values.Names[i], i.ToString()); System.Diagnostics.Debug.WriteLine("Names assignment count mismatch: " + v.ToString() + "[" + i + "]"); } } } catch (Exception x) { MessageBox.Show(x.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); v.Values.Names = oldNames; } txtArrayNames.Text = (v.Values.Names != null ? string.Join(",", v.Values.Names) : ""); }
private void lstItems_SelectedIndexChanged(object sender, EventArgs e) { if (lstItems.SelectedIndex == -1 || LoadedProject.Properties == null) { return; } ProjectFile.Var v = LoadedProject.Properties[lstItems.SelectedIndex]; txtOffset.Text = (v.RawOffset != "-1" ? v.RawOffset : ""); cboType.SelectedIndex = (int)v.Type; txtName.Text = v.Name; chkInput.Checked = (v.ID != -1 && v.Type != ProjectFile.VarType.Collection); lblID.Text = "ID: " + (chkInput.Checked ? v.ID.ToString() : "0"); chkValidate.Checked = v.IsValidated; txtDefault.Text = (v.DefaultValue != null ? v.DefaultValue.ToString() : ""); txtComment.Text = v.Comment; if (v.Values != null) { chkArray.Checked = true; txtArrayQty.Text = v.RawQuantity; txtArrayNames.Text = (v.Values.Names != null ? string.Join(",", v.Values.Names) : ""); txtArrayNames.Enabled = !v.HasDynamicQuantity; } else { chkArray.Checked = false; } if (v.Type == ProjectFile.VarType.Bool) { numBoolFalse.Value = ((ProjectFile.BoolVar)v).FalseValue; numBoolTrue.Value = ((ProjectFile.BoolVar)v).TrueValue; } if (v.Type == ProjectFile.VarType.Collection) { cboCollType.SelectedIndex = LoadedProject.Types.GetIndexByID(v.ID); } if (v.Type == ProjectFile.VarType.String) { txtLength.Text = v.RawLength; chkNullTermed.Checked = ((ProjectFile.StringVar)v).NullTermed; cboEncoding.SelectedIndex = getValueFromEncoding(((ProjectFile.StringVar)v).Encoding); } _loading = false; }
private void txtArrayQty_Leave(object sender, EventArgs e) { if (lstItems.SelectedIndex == -1 || LoadedProject == null || LoadedProject.Properties == null) { return; } ProjectFile.Var v = LoadedProject.Properties[lstItems.SelectedIndex]; string[] oldNames = v.Values.Names; try { v.RawQuantity = update(v.RawQuantity, txtArrayQty.Text); if (v.HasDynamicQuantity) { v.Values.Names = null; txtArrayNames.Text = ""; } else if (oldNames != null) { v.Values.Names = new string[v.Quantity]; for (int i = 0; i < v.Values.Names.Length; i++) { try { v.Values.Names[i] = oldNames[i]; } catch { v.Values.Names[i] = i.ToString(); System.Diagnostics.Debug.WriteLine("Names truncated: " + v.ToString() + "[" + i + "]"); } } } } catch (Exception x) { MessageBox.Show(x.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); txtArrayQty.Text = v.RawQuantity; v.Values.Names = oldNames; } txtArrayNames.Enabled = !v.HasDynamicQuantity; txtArrayNames.Text = (v.Values.Names != null ? string.Join(",", v.Values.Names) : ""); lstItems.Items[lstItems.SelectedIndex] = formatItem(v); }
private void chkInput_Leave(object sender, EventArgs e) { if (lstItems.SelectedIndex == -1 || LoadedProject == null || LoadedProject.Properties == null) { return; } ProjectFile.Var v = LoadedProject.Properties[lstItems.SelectedIndex]; int oldID = v.ID; if ((oldID == -1 && !chkInput.Checked) || (oldID != -1 && chkInput.Checked)) { return; } if (chkInput.Checked) { LoadedProject.Properties.AssignNextID(v); } else { LoadedProject.Properties.RemoveID(v); } lstItems.Items[lstItems.SelectedIndex] = formatItem(v); }