public void OnSaveSettingsClick(object sender, EventArgs e) { SaveFileDialog dialog = new SaveFileDialog(); dialog.Title = "Save config as..."; dialog.Filter = "CA configuration|*.cac"; dialog.RestoreDirectory = true; if (dialog.ShowDialog() == DialogResult.OK && dialog.FileName != "") { CA.Model.Settings config = new CA.Model.Settings(); config.Senescence = caController.Calc.senescence; config.CellRelation = caController.Calc.sm; config.RuleLife = caController.Calc.liv; config.RuleDeath = caController.Calc.dth; config.GradientMap = gedit.getMap(); CA.Model.Serializer.SSettings serializer = new CA.Model.Serializer.SSettings(); serializer.SerializeObject(dialog.FileName, config); } }
public void OnLoadSettingsClick(object sender, EventArgs e) { OpenFileDialog dialog = new OpenFileDialog(); dialog.Title = "Select config to load"; dialog.Filter = "CA configuration|*.cac"; dialog.RestoreDirectory = true; if (dialog.ShowDialog() == DialogResult.OK) { startButton.Text = "Start"; tmr.Stop(); gedit.Enabled = true; try { CA.Model.Serializer.SSettings serializer = new CA.Model.Serializer.SSettings(); CA.Model.Settings config = serializer.DeSerializeObject(dialog.FileName); _resetCA(); ageingCB.Checked = config.Senescence; for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { crmCB[i, j].Checked = config.CellRelation[i, j]; } } caController.Calc.liv = config.RuleLife; caController.Calc.dth = config.RuleDeath; RefreshLivDthTB(livTB); RefreshLivDthTB(dthTB); gedit.setMap(config.GradientMap); } catch (Exception ex) { MessageBox.Show("Could not load config (corrupted file?)."); _resetCA(); } } }