--- /dev/null
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Windows.Forms;
+using System.ComponentModel;
+using System.Drawing;
+using DTXCreator.Properties;
+using FDK;
+
+namespace DTXCreator.チップパレット関連
+{
+ public partial class Cチップパレット : Form
+ {
+ public bool b表示ON
+ {
+ get
+ {
+ return this._b表示ON;
+ }
+ }
+
+ public Cチップパレット( Cメインフォーム formメインフォーム )
+ {
+ this.InitializeComponent();
+ this.formメインフォーム = formメインフォーム;
+ this.toolStripMenuItem詳細.CheckState = CheckState.Checked;
+ }
+ public void tパレットセルの番号を置換する( int nImageIndex, int n置換番号1, int n置換番号2 )
+ {
+ for( int i = 0; i < this.listViewチップリスト.Items.Count; i++ )
+ {
+ ListViewItem item = this.listViewチップリスト.Items[ i ];
+ if( item.ImageIndex == nImageIndex )
+ {
+ int num2 = C変換.n36進数2桁の文字列を数値に変換して返す( item.SubItems[ 1 ].Text );
+ if( num2 == n置換番号1 )
+ {
+ item.SubItems[ 1 ].Text = C変換.str数値を36進数2桁に変換して返す( n置換番号2 );
+ }
+ else if( num2 == n置換番号2 )
+ {
+ item.SubItems[ 1 ].Text = C変換.str数値を36進数2桁に変換して返す( n置換番号1 );
+ }
+ }
+ }
+ }
+ public void t一時的な隠蔽を解除する()
+ {
+ if( this._b表示ON )
+ {
+ base.Show();
+ }
+ }
+ public void t一時的に隠蔽する()
+ {
+ if( this._b表示ON )
+ {
+ base.Hide();
+ }
+ }
+ public void t隠す()
+ {
+ this._b表示ON = false;
+ base.Hide();
+ this.formメインフォーム.toolStripButtonチップパレット.CheckState = CheckState.Unchecked;
+ this.formメインフォーム.toolStripMenuItemチップパレット.CheckState = CheckState.Unchecked;
+ }
+ public void t表示する()
+ {
+ this._b表示ON = true;
+ base.Show();
+ this.formメインフォーム.toolStripButtonチップパレット.CheckState = CheckState.Checked;
+ this.formメインフォーム.toolStripMenuItemチップパレット.CheckState = CheckState.Checked;
+ }
+
+ private bool _b表示ON;
+ private Cメインフォーム formメインフォーム;
+
+ private void tチップの行交換( int n移動元Index0to1294, int n移動先Index0to1294 )
+ {
+ ListViewItem item = this.listViewチップリスト.Items[ n移動元Index0to1294 ];
+ ListViewItem item2 = this.listViewチップリスト.Items[ n移動先Index0to1294 ];
+ for( int i = 0; i < 3; i++ )
+ {
+ string text = item.SubItems[ i ].Text;
+ item.SubItems[ i ].Text = item2.SubItems[ i ].Text;
+ item2.SubItems[ i ].Text = text;
+ }
+ Color backColor = item.BackColor;
+ item.BackColor = item2.BackColor;
+ item2.BackColor = backColor;
+ backColor = item.ForeColor;
+ item.ForeColor = item2.ForeColor;
+ item2.ForeColor = backColor;
+ int imageIndex = item.ImageIndex;
+ item.ImageIndex = item2.ImageIndex;
+ item2.ImageIndex = imageIndex;
+ item2.Selected = true;
+ item2.Focused = true;
+ this.formメインフォーム.b未保存 = true;
+ }
+ private void t表示形式メニューのアイコンのチェック( bool b大きなアイコン, bool b小さなアイコン, bool b一覧, bool b詳細 )
+ {
+ this.toolStripMenuItem大きなアイコン.CheckState = b大きなアイコン ? CheckState.Checked : CheckState.Unchecked;
+ this.toolStripMenuItem小さなアイコン.CheckState = b小さなアイコン ? CheckState.Checked : CheckState.Unchecked;
+ this.toolStripMenuItem一覧.CheckState = b一覧 ? CheckState.Checked : CheckState.Unchecked;
+ this.toolStripMenuItem詳細.CheckState = b詳細 ? CheckState.Checked : CheckState.Unchecked;
+ }
+
+ private void Cチップパレット_DragDrop( object sender, DragEventArgs e )
+ {
+ if( e.Data.GetDataPresent( typeof( Cチップパレット向けDragDropデータ ) ) )
+ {
+ Cチップパレット向けDragDropデータ data = (Cチップパレット向けDragDropデータ) e.Data.GetData( typeof( Cチップパレット向けDragDropデータ ) );
+ ListViewItem item = new ListViewItem( new string[] { data.strラベル名, C変換.str数値を36進数2桁に変換して返す( data.n番号1to1295 ), data.strファイル名 } );
+ item.ImageIndex = data.n種類;
+ item.ForeColor = data.col文字色;
+ item.BackColor = data.col背景色;
+ this.listViewチップリスト.Items.Add( item );
+ }
+ }
+ private void Cチップパレット_FormClosing( object sender, FormClosingEventArgs e )
+ {
+ if( e.CloseReason == CloseReason.UserClosing )
+ {
+ this.t隠す();
+ e.Cancel = true;
+ }
+ }
+ private void Cチップパレット_DragEnter( object sender, DragEventArgs e )
+ {
+ if( e.Data.GetDataPresent( typeof( Cチップパレット向けDragDropデータ ) ) )
+ {
+ e.Effect = DragDropEffects.Copy;
+ }
+ else
+ {
+ e.Effect = DragDropEffects.None;
+ }
+ }
+ private void toolStripSplitButton表示形式_ButtonClick( object sender, EventArgs e )
+ {
+ this.toolStripSplitButton表示形式.ShowDropDown();
+ }
+ private void toolStripMenuItem大きなアイコン_Click( object sender, EventArgs e )
+ {
+ this.listViewチップリスト.View = View.LargeIcon;
+ this.t表示形式メニューのアイコンのチェック( true, false, false, false );
+ }
+ private void toolStripMenuItem小さなアイコン_Click( object sender, EventArgs e )
+ {
+ this.listViewチップリスト.View = View.SmallIcon;
+ this.t表示形式メニューのアイコンのチェック( false, true, false, false );
+ }
+ private void toolStripMenuItem一覧_Click( object sender, EventArgs e )
+ {
+ this.listViewチップリスト.View = View.List;
+ this.t表示形式メニューのアイコンのチェック( false, false, true, false );
+ }
+ private void toolStripMenuItem詳細_Click( object sender, EventArgs e )
+ {
+ this.listViewチップリスト.View = View.Details;
+ this.t表示形式メニューのアイコンのチェック( false, false, false, true );
+ }
+ private void toolStripButton上移動_Click( object sender, EventArgs e )
+ {
+ if( this.listViewチップリスト.SelectedIndices.Count > 0 )
+ {
+ int num = this.listViewチップリスト.SelectedIndices[ 0 ];
+ if( num != 0 )
+ {
+ this.tチップの行交換( num, num - 1 );
+ }
+ }
+ }
+ private void toolStripButton下移動_Click( object sender, EventArgs e )
+ {
+ if( this.listViewチップリスト.SelectedIndices.Count > 0 )
+ {
+ int num = this.listViewチップリスト.SelectedIndices[ 0 ];
+ if( num < ( this.listViewチップリスト.Items.Count - 1 ) )
+ {
+ this.tチップの行交換( num, num + 1 );
+ }
+ }
+ }
+ private void listViewチップリスト_SelectedIndexChanged( object sender, EventArgs e )
+ {
+ if( this.listViewチップリスト.SelectedIndices.Count != 0 )
+ {
+ ListViewItem item = this.listViewチップリスト.Items[ this.listViewチップリスト.SelectedIndices[ 0 ] ];
+ int num = C変換.n36進数2桁の文字列を数値に変換して返す( item.SubItems[ 1 ].Text );
+ this.formメインフォーム.tWAV_BMP_AVIリストのカーソルを全部同じ行に合わせる( num - 1 );
+ this.formメインフォーム.tタブを選択する( (Cメインフォーム.Eタブ種別) ( item.ImageIndex + 1 ) );
+ }
+ }
+ private void toolStripMenuItemパレットから削除する_Click( object sender, EventArgs e )
+ {
+ if( this.listViewチップリスト.SelectedIndices.Count != 0 )
+ {
+ int index = this.listViewチップリスト.SelectedIndices[ 0 ];
+ this.listViewチップリスト.Items.RemoveAt( index );
+ }
+ }
+ }
+}