internal static TreeViewItemViewModel Create(WpfTestAppData appData) { var rootNode = new TreeViewItemViewModel(appData.Student); var physicalClass = new TreeViewItemViewModel("身体測定"); rootNode.Children.Add(physicalClass); foreach (var item in appData.Physicals) { var child = new TreeViewItemViewModel(item); physicalClass.Children.Add(child); } var testPointClass = new TreeViewItemViewModel("試験結果"); rootNode.Children.Add(testPointClass); foreach (var item in appData.TestPoints) { var child = new TreeViewItemViewModel(item); testPointClass.Children.Add(child); } return(rootNode); }
/// <summary>ツリー構造を作成してルートノードを返します。</summary> /// <param name="appData">アプリのデータを表すWpfTestAppData。</param> /// <param name="parent">TreeViewItemViewModelの親を表すNavigationTreeViewModel。</param> /// <returns>作成したツリー構造のルートノードを表すTreeViewItemViewModel。</returns> internal static TreeViewItemViewModel Create(WpfTestAppData appData, NavigationTreeViewModel parent) { var rootNode = new TreeViewItemViewModel(appData.Student, parent); var physicalClass = new TreeViewItemViewModel("身体測定", parent, TreeNodeCategoryType.Physical); rootNode.Children.Add(physicalClass); foreach (var item in appData.Physicals) { var child = new TreeViewItemViewModel(item, parent); physicalClass.Children.Add(child); } var testPointClass = new TreeViewItemViewModel("試験結果", parent, TreeNodeCategoryType.TestPoint); rootNode.Children.Add(testPointClass); foreach (var item in appData.TestPoints) { var child = new TreeViewItemViewModel(item, parent); testPointClass.Children.Add(child); } return(rootNode); }
/// <summary>コンストラクタ。</summary> /// <param name="data">アプリのデータオブジェクト(Unity からインジェクション)</param> public NavigationTreeViewModel(WpfTestAppData data) { this.appData = data; this.rootNode = TreeViewItemCreator.Create(this.appData); var col = new System.Collections.ObjectModel.ObservableCollection <TreeViewItemViewModel>(); col.Add(this.rootNode); this.TreeNodes = col.ToReadOnlyReactiveCollection() .AddTo(this.disposables); }
/// <summary>新規テストデータを作成します。</summary> /// <returns>新規テストデータを表すWpfTestAppData。</returns> private static WpfTestAppData createNewTestData() { var appData = new WpfTestAppData(); appData.Student.Name = "新しい生徒"; appData.Student.ClassNumber = "所属クラス"; appData.Student.Sex = "男"; appData.Physicals.Add(appData.CreateNewData <PhysicalInformation>()); appData.TestPoints.Add(appData.CreateNewData <TestPointInformation>()); return(appData); }
/// <summary>コンストラクタ。</summary> /// <param name="data">アプリのデータオブジェクト(Unity からインジェクション)</param> /// <param name="rm">IRegionManager(Unity からインジェクション)</param> public NavigationTreeViewModel(WpfTestAppData data, Prism.Regions.IRegionManager rm) { this.appData = data; this.regionManager = rm; this.rootNode = TreeViewItemCreator.Create(this.appData); var col = new System.Collections.ObjectModel.ObservableCollection <TreeViewItemViewModel>(); col.Add(this.rootNode); this.TreeNodes = col.ToReadOnlyReactiveCollection() .AddTo(this.disposables); this.SelectedItemChanged = new ReactiveCommand <System.Windows.RoutedPropertyChangedEventArgs <object> >() .AddTo(this.disposables); this.SelectedItemChanged.Subscribe(e => this.nodeChanged(e)); }
/// <summary>新規テストデータを作成します。</summary> /// <returns>新規テストデータを表すWpfTestAppData。</returns> private static WpfTestAppData createNewTestData() { var appData = new WpfTestAppData(); appData.Student.Name = "新しい生徒"; appData.Student.ClassNumber = "所属クラス"; appData.Student.Sex = "男"; appData.Physicals.Add(new PhysicalInformation() { Id = 1 }); appData.TestPoints.Add(new TestPointInformation() { Id = 1, TestDate = "新しい試験日" }); return(appData); }
/// <summary>コンストラクタ。</summary> /// <param name="data">アプリのデータオブジェクト。(Unity からインジェクション)</param> /// <param name="msgService">メッセージボックス表示インタフェース。(Unity からインジェクション)</param> public PhysicalEditorViewModel(WpfTestAppData data, IMessageBoxService msgService) { this.appData = data; this.messageBoxService = msgService; }
/// <summary>コンストラクタ。</summary> /// <param name="data">アプリのデータオブジェクト(Unity からインジェクション)</param> public PhysicalEditorViewModel(WpfTestAppData data) { this.appData = data; }
/// <summary>コンストラクタ。</summary> public TestPointEditorViewModel(WpfTestAppData testAppData) { this.appData = testAppData; }