/// <summary> /// 新しいインスタンスを初期化します。 /// </summary> public MainWindow() { Wf.Application.EnableVisualStyles(); InitializeComponent(); InitializeContextMenu(); DataContext = this; ThumbnailSize = new System.Drawing.Size(96, 96); scenarioSelectListView.View = Wf.View.LargeIcon; ClearScenarioInfo(); //初期グルーピング groupIdx = Scenario.SubItemIndex.ROUTE_TITLE; CheckSortMenuItem(menuItem_SortRouteTitle); //コンボボックスのアイテムを復元 if (Properties.Settings.Default.PathList != null) { foreach (var path in Properties.Settings.Default.PathList) { filePathComboBox.Items.Add(path); } } }
/// <summary> /// シナリオのグルーピングとソートを行います。 /// </summary> /// <param name="subIdx">グルーピングする項目</param> void GroupingFor(Scenario.SubItemIndex subIdx) { //シナリオ読み込み前は何もしない if (scenarioManager == null) { return; } //ソート List <Scenario> scenarios = scenarioManager.GetNewestSnapShot(); scenarios.Sort((a, b) => string.Compare(a.Item.SubItems[(int)subIdx].Text, b.Item.SubItems[(int)subIdx].Text)); scenarioSelectListView.Items.Clear(); scenarioSelectListView.Groups.Clear(); //グルーピング foreach (Scenario scenario in scenarios) { if (!scenario.DidDelete) { scenarioSelectListView.Items.Add(scenario.Item); scenario.AddGroup(scenarioSelectListView, (int)subIdx); } } //ウインドウのタイトルを変更 int editNum = scenarioManager.NewestSnapEditCount(); if (editNum > 0) { this.Title = "Bve5 Scenario Editor [" + editNum + "個のシナリオを編集中]"; } else { this.Title = "Bve5 Scenario Editor"; } }
/// <summary> /// ファイル名でシナリオを並び替えます。 /// </summary> /// <param name="sender">イベントのソース</param> /// <param name="e">イベントのデータ</param> void Sort_File(object sender, RoutedEventArgs e) { CheckSortMenuItem(sender); groupIdx = Scenario.SubItemIndex.FILE_NAME; GroupingFor(groupIdx); }
/// <summary> /// 作者名でシナリオを並び替えます。 /// </summary> /// <param name="sender">イベントのソース</param> /// <param name="e">イベントのデータ</param> void Sort_Author(object sender, RoutedEventArgs e) { CheckSortMenuItem(sender); groupIdx = Scenario.SubItemIndex.AUTHOR; GroupingFor(groupIdx); }
/// <summary> /// 車両名でシナリオを並び替えます。 /// </summary> /// <param name="sender">イベントのソース</param> /// <param name="e">イベントのデータ</param> void Sort_VehicleTitle(object sender, RoutedEventArgs e) { CheckSortMenuItem(sender); groupIdx = Scenario.SubItemIndex.VEHICLE_TITLE; GroupingFor(groupIdx); }