OSDN Git Service

#none [DTXC] ソースを検証ツールに掛けて指摘された問題に対処した。(BrushのDispose漏れ、nullチェック漏れなど)
[dtxmania/dtxmania.git] / DTXCreatorプロジェクト / コード / 04.チップパレット関連 / Cチップパレット.cs
1 using System;\r
2 using System.Collections.Generic;\r
3 using System.Text;\r
4 using System.Windows.Forms;\r
5 using System.ComponentModel;\r
6 using System.Drawing;\r
7 using DTXCreator.Properties;\r
8 using FDK;\r
9 \r
10 namespace DTXCreator.チップパレット関連\r
11 {\r
12         public partial class Cチップパレット : Form\r
13         {\r
14                 public bool b表示ON\r
15                 {\r
16                         get\r
17                         {\r
18                                 return this._b表示ON;\r
19                         }\r
20                 }\r
21 \r
22                 public Cチップパレット( Cメインフォーム formメインフォーム )\r
23                 {\r
24                         this.InitializeComponent();\r
25                         this.formメインフォーム = formメインフォーム;\r
26                         this.toolStripMenuItem詳細.CheckState = CheckState.Checked;\r
27                 }\r
28                 public void tパレットセルの番号を置換する( int nImageIndex, int n置換番号1, int n置換番号2 )\r
29                 {\r
30                         for( int i = 0; i < this.listViewチップリスト.Items.Count; i++ )\r
31                         {\r
32                                 ListViewItem item = this.listViewチップリスト.Items[ i ];\r
33                                 if( item.ImageIndex == nImageIndex )\r
34                                 {\r
35                                         int num2 = C変換.n36進数2桁の文字列を数値に変換して返す( item.SubItems[ 1 ].Text );\r
36                                         if( num2 == n置換番号1 )\r
37                                         {\r
38                                                 item.SubItems[ 1 ].Text = C変換.str数値を36進数2桁に変換して返す( n置換番号2 );\r
39                                         }\r
40                                         else if( num2 == n置換番号2 )\r
41                                         {\r
42                                                 item.SubItems[ 1 ].Text = C変換.str数値を36進数2桁に変換して返す( n置換番号1 );\r
43                                         }\r
44                                 }\r
45                         }\r
46                 }\r
47                 public void t一時的な隠蔽を解除する()\r
48                 {\r
49                         if( this._b表示ON )\r
50                         {\r
51                                 base.Show();\r
52                         }\r
53                 }\r
54                 public void t一時的に隠蔽する()\r
55                 {\r
56                         if( this._b表示ON )\r
57                         {\r
58                                 base.Hide();\r
59                         }\r
60                 }\r
61                 public void t隠す()\r
62                 {\r
63                         this._b表示ON = false;\r
64                         base.Hide();\r
65                         this.formメインフォーム.toolStripButtonチップパレット.CheckState = CheckState.Unchecked;\r
66                         this.formメインフォーム.toolStripMenuItemチップパレット.CheckState = CheckState.Unchecked;\r
67                 }\r
68                 public void t表示する()\r
69                 {\r
70                         this._b表示ON = true;\r
71                         base.Show();\r
72                         this.formメインフォーム.toolStripButtonチップパレット.CheckState = CheckState.Checked;\r
73                         this.formメインフォーム.toolStripMenuItemチップパレット.CheckState = CheckState.Checked;\r
74                 }\r
75 \r
76                 private bool _b表示ON;\r
77                 private Cメインフォーム formメインフォーム;\r
78 \r
79                 private void tチップの行交換( int n移動元Index0to1294, int n移動先Index0to1294 )\r
80                 {\r
81                         ListViewItem item = this.listViewチップリスト.Items[ n移動元Index0to1294 ];\r
82                         ListViewItem item2 = this.listViewチップリスト.Items[ n移動先Index0to1294 ];\r
83                         for( int i = 0; i < 3; i++ )\r
84                         {\r
85                                 string text = item.SubItems[ i ].Text;\r
86                                 item.SubItems[ i ].Text = item2.SubItems[ i ].Text;\r
87                                 item2.SubItems[ i ].Text = text;\r
88                         }\r
89                         Color backColor = item.BackColor;\r
90                         item.BackColor = item2.BackColor;\r
91                         item2.BackColor = backColor;\r
92                         backColor = item.ForeColor;\r
93                         item.ForeColor = item2.ForeColor;\r
94                         item2.ForeColor = backColor;\r
95                         int imageIndex = item.ImageIndex;\r
96                         item.ImageIndex = item2.ImageIndex;\r
97                         item2.ImageIndex = imageIndex;\r
98                         item2.Selected = true;\r
99                         item2.Focused = true;\r
100                         this.formメインフォーム.b未保存 = true;\r
101                 }\r
102                 private void t表示形式メニューのアイコンのチェック( bool b大きなアイコン, bool b小さなアイコン, bool b一覧, bool b詳細 )\r
103                 {\r
104                         this.toolStripMenuItem大きなアイコン.CheckState = b大きなアイコン ? CheckState.Checked : CheckState.Unchecked;\r
105                         this.toolStripMenuItem小さなアイコン.CheckState = b小さなアイコン ? CheckState.Checked : CheckState.Unchecked;\r
106                         this.toolStripMenuItem一覧.CheckState = b一覧 ? CheckState.Checked : CheckState.Unchecked;\r
107                         this.toolStripMenuItem詳細.CheckState = b詳細 ? CheckState.Checked : CheckState.Unchecked;\r
108                 }\r
109                 \r
110                 private void Cチップパレット_DragDrop( object sender, DragEventArgs e )\r
111                 {\r
112                         if( e.Data.GetDataPresent( typeof( Cチップパレット向けDragDropデータ ) ) )\r
113                         {\r
114                                 Cチップパレット向けDragDropデータ data = (Cチップパレット向けDragDropデータ) e.Data.GetData( typeof( Cチップパレット向けDragDropデータ ) );\r
115                 if (data != null)\r
116                 {\r
117                     ListViewItem item = new ListViewItem(new string[] { data.strラベル名, C変換.str数値を36進数2桁に変換して返す(data.n番号1to1295), data.strファイル名 });\r
118                     item.ImageIndex = data.n種類;\r
119                     item.ForeColor = data.col文字色;\r
120                     item.BackColor = data.col背景色;\r
121                     this.listViewチップリスト.Items.Add(item);\r
122                 }\r
123                         }\r
124                 }\r
125                 private void Cチップパレット_FormClosing( object sender, FormClosingEventArgs e )\r
126                 {\r
127                         if( e.CloseReason == CloseReason.UserClosing )\r
128                         {\r
129                                 this.t隠す();\r
130                                 e.Cancel = true;\r
131                         }\r
132                 }\r
133                 private void Cチップパレット_DragEnter( object sender, DragEventArgs e )\r
134                 {\r
135                         if( e.Data.GetDataPresent( typeof( Cチップパレット向けDragDropデータ ) ) )\r
136                         {\r
137                                 e.Effect = DragDropEffects.Copy;\r
138                         }\r
139                         else\r
140                         {\r
141                                 e.Effect = DragDropEffects.None;\r
142                         }\r
143                 }\r
144                 private void toolStripSplitButton表示形式_ButtonClick( object sender, EventArgs e )\r
145                 {\r
146                         this.toolStripSplitButton表示形式.ShowDropDown();\r
147                 }\r
148                 private void toolStripMenuItem大きなアイコン_Click( object sender, EventArgs e )\r
149                 {\r
150                         this.listViewチップリスト.View = View.LargeIcon;\r
151                         this.t表示形式メニューのアイコンのチェック( true, false, false, false );\r
152                 }\r
153                 private void toolStripMenuItem小さなアイコン_Click( object sender, EventArgs e )\r
154                 {\r
155                         this.listViewチップリスト.View = View.SmallIcon;\r
156                         this.t表示形式メニューのアイコンのチェック( false, true, false, false );\r
157                 }\r
158                 private void toolStripMenuItem一覧_Click( object sender, EventArgs e )\r
159                 {\r
160                         this.listViewチップリスト.View = View.List;\r
161                         this.t表示形式メニューのアイコンのチェック( false, false, true, false );\r
162                 }\r
163                 private void toolStripMenuItem詳細_Click( object sender, EventArgs e )\r
164                 {\r
165                         this.listViewチップリスト.View = View.Details;\r
166                         this.t表示形式メニューのアイコンのチェック( false, false, false, true );\r
167                 }\r
168                 private void toolStripButton上移動_Click( object sender, EventArgs e )\r
169                 {\r
170                         if( this.listViewチップリスト.SelectedIndices.Count > 0 )\r
171                         {\r
172                                 int num = this.listViewチップリスト.SelectedIndices[ 0 ];\r
173                                 if( num != 0 )\r
174                                 {\r
175                                         this.tチップの行交換( num, num - 1 );\r
176                                 }\r
177                         }\r
178                 }\r
179                 private void toolStripButton下移動_Click( object sender, EventArgs e )\r
180                 {\r
181                         if( this.listViewチップリスト.SelectedIndices.Count > 0 )\r
182                         {\r
183                                 int num = this.listViewチップリスト.SelectedIndices[ 0 ];\r
184                                 if( num < ( this.listViewチップリスト.Items.Count - 1 ) )\r
185                                 {\r
186                                         this.tチップの行交換( num, num + 1 );\r
187                                 }\r
188                         }\r
189                 }\r
190                 private void listViewチップリスト_SelectedIndexChanged( object sender, EventArgs e )\r
191                 {\r
192                         if( this.listViewチップリスト.SelectedIndices.Count != 0 )\r
193                         {\r
194                                 ListViewItem item = this.listViewチップリスト.Items[ this.listViewチップリスト.SelectedIndices[ 0 ] ];\r
195                                 int num = C変換.n36進数2桁の文字列を数値に変換して返す( item.SubItems[ 1 ].Text );\r
196                                 this.formメインフォーム.tWAV・BMP・AVIリストのカーソルを全部同じ行に合わせる( num - 1 );\r
197                                 this.formメインフォーム.tタブを選択する( (Cメインフォーム.Eタブ種別) ( item.ImageIndex + 1 ) );\r
198                         }\r
199                 }\r
200                 private void toolStripMenuItemパレットから削除する_Click( object sender, EventArgs e )\r
201                 {\r
202                         if( this.listViewチップリスト.SelectedIndices.Count != 0 )\r
203                         {\r
204                                 int index = this.listViewチップリスト.SelectedIndices[ 0 ];\r
205                                 this.listViewチップリスト.Items.RemoveAt( index );\r
206                         }\r
207                 }\r
208         }\r
209 }\r