public void addStage(Boolean showDialog) { Int32 stageId = 0; if (guiStagesTbl.Items.Count != 0) { stageId = Int32.Parse(((Stage)guiStagesTbl.Items[guiStagesTbl.Items.Count - 1].Tag).getId()) + 1; // TODO: Inserting a stage within the sequence involves updating all the dependants of the renumbered stage IDs /* if (guiStagesTbl.SelectedItems.Count == 0) { stageId = Int32.Parse(((Stage)guiStagesTbl.Items[guiStagesTbl.Items.Count - 1].Tag).getId()) + 1; } else { stageId = Int32.Parse(((Stage)guiStagesTbl.SelectedItems[0].Tag).getId()) + 1; } */ } Stage stage = null; Boolean addNewStage = true; if (showDialog) { m_dlgStages.setId(stageId); m_dlgStages.ShowDialog(); addNewStage = m_dlgStages.getValues(out stage); } else { stage = new Stage(); stage.setId(stageId.ToString()); } if (addNewStage) { m_parent.onChanged(); m_mission.addStage(stage); ListViewItem item = new ListViewItem(new String[] { stage.getId(), stage.getDescription() }); item.Tag = stage; guiStagesTbl.Items.Add(item); m_parent.onChangedStages(); item.Selected = true; } }
/// <summary> /// Validate the entered data and close the dialog /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void onOk(object sender, EventArgs e) { m_stage = new Stage(); m_stage.setId(guiIdTxt.Text); m_stage.setDescription(guiDescriptionTxt.Text); String error; m_stage.addValidations(Stage.ValidationType.FromDialog); if (Database.DataConfiguration.validate(out error)) { m_madeSelection = true; this.Close(); } else { MessageBox.Show(error); } }