internal void SetAlerm(Alerm a, List <Alerm> list) { alerm = a.DeepCopy(); alerm.AlermDelete = true; alerm.ScheduleList.Clear(); snoozeList = list; }
/// <summary> /// 削除ボタンのクリックイベント /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void RemoveButton_Click(object sender, RoutedEventArgs e) { try { if (AlermGrid.SelectedIndex < 0) { return; } MessageBoxResult result = MessageBox.Show("アラームを削除しますか?", "削除確認", MessageBoxButton.YesNo, MessageBoxImage.Information); if (result == MessageBoxResult.No) { return; } Alerm remove = (Alerm)AlermGrid.Items[AlermGrid.SelectedIndex]; AlermGrid.Items.Remove(remove); alermList.Remove(remove); SetButtonEnabled(); if (AlermGrid.Items.Count > 0) { AlermGrid.SelectedIndex = 0; } } catch (Exception ex) { throw ex; } }
/// <summary> /// 新規作成ボタンのクリックイベント /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void AddButton_Click(object sender, RoutedEventArgs e) { try { ScheduleSettingWindow form = new ScheduleSettingWindow(); Alerm alerm = LoadFormSetting(); form.Init(alerm); form.ShowDialog(); if (form.Committed) { AlermGrid.Items.Add(form.EditData); alermList.Add(form.EditData); SaveFormSetting(form.EditData); } AlermGrid.SelectedIndex = AlermGrid.Items.Count - 1; SetButtonEnabled(); } catch (Exception ex) { throw ex; } }
/// <summary> /// 初期化処理を行う /// </summary> /// <param name="alm"></param> public void Init(Alerm alm) { try { EditData = alm.DeepCopy(); AlermEnableCheck.IsChecked = EditData.Enable; TorokuNameTextBox.Text = EditData.Name; AlermDeleteCheck.IsChecked = EditData.AlermDelete; switch (EditData.ExecTypeIndex) { case 0: AlermRadio.IsChecked = true; AlermMessageTextBox.Text = EditData.Message; EdgeColorColorPicker.SelectedColor = Color.FromArgb(EditData.EdgeColor[0], EditData.EdgeColor[1], EditData.EdgeColor[2], EditData.EdgeColor[3]); LabelColorColorPicker.SelectedColor = Color.FromArgb(EditData.LabelColor[0], EditData.LabelColor[1], EditData.LabelColor[2], EditData.LabelColor[3]); ForeColorColorPicker.SelectedColor = Color.FromArgb(EditData.ForeColor[0], EditData.ForeColor[1], EditData.ForeColor[2], EditData.ForeColor[3]); SetSelectedFont(EditData.FontName); SetFontSampleBorderColor(); SetFontSampleBackColor(); SetFontSampleForeColor(); break; case 1: ExecRadio.IsChecked = true; ExecPathTextBox.Text = EditData.Message; break; } SetScheduleGrid(); SetButtonEnabled(); } catch (Exception ex) { throw ex; } }
/// <summary> /// 画面状態を読み込む /// </summary> private Alerm LoadFormSetting() { try { string appDir = AppUtil.GetAppDirPath() + @"\" + SCHEDULE_SETTING_FILE; ScheduleSetting setting = new ScheduleSetting(); if (!System.IO.File.Exists(appDir)) { string jsonString = JsonConvert.SerializeObject(setting); using (StreamWriter sw = new StreamWriter(appDir, false)) { sw.WriteLine(jsonString); } } else { using (StreamReader sr = new StreamReader(appDir)) { string jsonString = sr.ReadToEnd(); setting = JsonConvert.DeserializeObject <ScheduleSetting>(jsonString); } } Alerm alerm = new Alerm(); alerm.EdgeColor = setting.EdgeColor; alerm.LabelColor = setting.LabelColor; alerm.ForeColor = setting.ForeColor; alerm.AlermDelete = setting.AlermDelete; alerm.FontName = setting.FontName; alerm.TimeAddUpDown = setting.TimeAddUpDown; return(alerm); } catch (Exception ex) { throw ex; } }
/// <summary> /// 修正を実行する /// </summary> private void ExecuteEdit() { try { if (AlermGrid.SelectedIndex < 0) { return; } Alerm edit = (Alerm)AlermGrid.SelectedItem; ScheduleSettingWindow form = new ScheduleSettingWindow(); form.Init(edit); form.ShowDialog(); if (form.Committed) { edit.Clone(form.EditData); SaveFormSetting(form.EditData); SetAlermGrid(); } } catch (Exception ex) { throw ex; } }
/// <summary> /// 画面状態を保存する /// </summary> private void SaveFormSetting(Alerm alerm) { try { string appDir = AppUtil.GetAppDirPath() + @"\" + SCHEDULE_SETTING_FILE; ScheduleSetting setting = new ScheduleSetting(); setting.EdgeColor = new byte[] { alerm.EdgeColor[0], alerm.EdgeColor[1], alerm.EdgeColor[2], alerm.EdgeColor[3] }; setting.LabelColor = new byte[] { alerm.LabelColor[0], alerm.LabelColor[1], alerm.LabelColor[2], alerm.LabelColor[3] }; setting.ForeColor = new byte[] { alerm.ForeColor[0], alerm.ForeColor[1], alerm.ForeColor[2], alerm.ForeColor[3] }; setting.AlermDelete = alerm.AlermDelete; setting.FontName = alerm.FontName; setting.TimeAddUpDown = alerm.TimeAddUpDown; string jsonString = JsonConvert.SerializeObject(setting); using (StreamWriter sw = new StreamWriter(appDir, false)) { sw.WriteLine(jsonString); } } catch (Exception ex) { throw ex; } }