/// <summary> /// コンストラクタ /// </summary> /// <param name="workAreaManager">作業エリア管理用オブジェクト</param> public LayoutsManager(WorkAreaManager workAreaManager) { _WorkAreaManager = workAreaManager; // レイアウト一覧の上書きボタンをトリガーにレイアウト上書き保存を実行 Layouts.ObserveElementObservableProperty(x => x.SaveButtonClickedCommand) .Select(x => x.Instance) .Subscribe(OverwritedSaveLayout) .AddTo(_Disposables); // レイアウト一覧の変更ボタンをトリガーにレイアウト名変更を実行 Layouts.ObserveElementObservableProperty(x => x.EditButtonClickedCommand) .Select(x => x.Instance) .Subscribe(EditLayoutName) .AddTo(_Disposables); // レイアウト一覧の削除ボタンをトリガーにレイアウト削除を実行 Layouts.ObserveElementObservableProperty(x => x.DeleteButtonClickedCommand) .Select(x => x.Instance) .Subscribe(DeleteLayout) .AddTo(_Disposables); // プリセットが選択、または解除された場合、DB に状態を保存する var changeChecked = Layouts.ObserveElementObservableProperty(x => x.IsChecked); changeChecked.Select(x => x.Instance) .Subscribe(x => SettingDatabase.Instance.ExecQuery($"UPDATE WorkAreaLayouts SET IsChecked = {(x.IsChecked.Value ? 1 : 0)} WHERE LayoutID = {x.LayoutID}")); // プリセットが選択された場合、他のチェックを全部外す changeChecked.Where(x => x.Value) .Select(x => x.Instance) .Subscribe(ExclusiveChecked); }
/// <summary> /// コンストラクタ /// </summary> /// <param name="workAreaManager">作業エリア管理用</param> public ImportExporter(WorkAreaManager workAreaManager) { _WorkAreaManager = workAreaManager; }
/// <summary> /// コンストラクタ /// </summary> public MainWindowModel(WorkAreaManager workAreaManager, WorkAreaFileIO workAreaFileIO) { _WorkAreaManager = workAreaManager; _WorkAreFileIO = workAreaFileIO; }