OSDN Git Service

SST.曲 名前空間のクラスについて、ビュアーモードに対応。
authorくまかみ工房 <kumakamikoubou@gmail.com>
Sun, 6 Nov 2016 05:36:13 +0000 (14:36 +0900)
committerくまかみ工房 <kumakamikoubou@gmail.com>
Sun, 6 Nov 2016 05:36:13 +0000 (14:36 +0900)
StrokeStyleT/曲/MusicNode.cs
StrokeStyleT/曲/曲ツリー管理.cs

index e789691..614414b 100644 (file)
@@ -32,12 +32,12 @@ namespace SST.曲
                        }
                        //----------------
                        #endregion
-                       #region " sstf と同じ場所に対応するサムネイル画像ファイルがあるなら、それをサムネイル画像として採用する。"
+                       #region " sstf と同じ場所に画像ファイルがあるなら、それをサムネイル画像として採用する。"
                        //----------------
                        var サムネイル画像ファイルパス =
                                ( from ファイル名 in Directory.GetFiles( Path.GetDirectoryName( this.sstfファイルパス ) )
-                                 where 対応するサムネイル画像名.Any( thumbファイル名 => ( Path.GetFileName( ファイル名 ).ToLower() == thumbファイル名 ) )
-                                 select ファイル名 ).FirstOrDefault();  // 複数あったら、最初に見つけたほうを採用。1つも見つからなければ null。
+                                 where this.対応するサムネイル画像名.Any( thumbファイル名 => ( Path.GetFileName( ファイル名 ).ToLower() == thumbファイル名 ) )
+                                 select ファイル名 ).FirstOrDefault();
 
                        if( null != サムネイル画像ファイルパス )
                                this.サムネイル画像 = new テクスチャ( サムネイル画像ファイルパス );
index 0660926..9a8e542 100644 (file)
@@ -10,8 +10,19 @@ namespace SST.曲
        /// <summary>
        /// 曲ツリーへの参照を受け取り、その曲ツリーに対する様々な操作を提供する。
        /// </summary>
+       /// <remarks>
+       /// ビュアーモード時は、現在の対象管理ツリー = null とし、現在選択されているノード に直接生成した MusicNode を設定する。
+       /// </remarks>
        public class 曲ツリー管理 : FDK.Activity
        {
+               /// <summary>
+               /// 曲ツリー(Nodeのツリー)のルートノード。
+               /// </summary>
+               /// <remarks>
+               /// ツリー自体は、このクラスの外で構築し、保持すること。
+               /// ルートノードは、ツリー内で唯一の RootNode 型であること。
+               /// ビュアーモード時は null とする。
+               /// </remarks>
                public RootNode 現在の管理対象ツリー
                {
                        get
@@ -22,10 +33,23 @@ namespace SST.曲
                        {
                                this.bs_現在の管理対象ツリー = value;
 
-                               // 選択ノードを子リストの先頭にリセット。
-                               this.現在選択されているノード = ( 0 < value.子ノードリスト.Count ) ? value.子ノードリスト[ 0 ] : null;
+                               // 曲ツリーの子リストの先頭ノードを選択ノードとしてセットする。
+                               if( null != value )
+                               {
+                                       this.現在選択されているノード = ( 0 < value.子ノードリスト.Count ) ? value.子ノードリスト[ 0 ] : null;
+                               }
+                               else
+                               {
+                                       // ビュアーモードなら、選択ノードは null 。
+                                       this.現在選択されているノード = null;
+                               }
+
                        }
                }
+
+               /// <remarks>
+               /// ビュアーモード時は、このプロパティに直接ノード(MusicNode)を指定する。
+               /// </remarks>
                public Node 現在選択されているノード { get; set; } = null;
 
                public void 前のノードを選択する()