155 lines
4.6 KiB
C#
155 lines
4.6 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Text;
|
||
|
||
namespace TJAPlayer3
|
||
{
|
||
/// <summary>
|
||
/// 「スリーステート」(ON, OFF, 不定 の3状態)を表すアイテム。
|
||
/// </summary>
|
||
internal class CItemThreeState : CItemBase
|
||
{
|
||
// プロパティ
|
||
|
||
public E状態 e現在の状態;
|
||
public enum E状態
|
||
{
|
||
ON,
|
||
OFF,
|
||
不定
|
||
}
|
||
|
||
|
||
// コンストラクタ
|
||
|
||
public CItemThreeState()
|
||
{
|
||
base.e種別 = CItemBase.E種別.ONorOFFor不定スリーステート;
|
||
this.e現在の状態 = E状態.不定;
|
||
}
|
||
public CItemThreeState( string str項目名, E状態 e初期状態 )
|
||
: this()
|
||
{
|
||
this.t初期化( str項目名, e初期状態 );
|
||
}
|
||
public CItemThreeState(string str項目名, E状態 e初期状態, string str説明文jp)
|
||
: this() {
|
||
this.t初期化(str項目名, e初期状態, str説明文jp, str説明文jp);
|
||
}
|
||
public CItemThreeState(string str項目名, E状態 e初期状態, string str説明文jp, string str説明文en)
|
||
: this() {
|
||
this.t初期化(str項目名, e初期状態, str説明文jp, str説明文en);
|
||
}
|
||
|
||
public CItemThreeState( string str項目名, E状態 e初期状態, CItemBase.Eパネル種別 eパネル種別 )
|
||
: this()
|
||
{
|
||
this.t初期化( str項目名, e初期状態, eパネル種別 );
|
||
}
|
||
public CItemThreeState(string str項目名, E状態 e初期状態, CItemBase.Eパネル種別 eパネル種別, string str説明文jp)
|
||
: this() {
|
||
this.t初期化(str項目名, e初期状態, eパネル種別, str説明文jp, str説明文jp);
|
||
}
|
||
public CItemThreeState(string str項目名, E状態 e初期状態, CItemBase.Eパネル種別 eパネル種別, string str説明文jp, string str説明文en)
|
||
: this() {
|
||
this.t初期化(str項目名, e初期状態, eパネル種別, str説明文jp, str説明文en);
|
||
}
|
||
|
||
|
||
// CItemBase 実装
|
||
|
||
public override void tEnter押下()
|
||
{
|
||
this.t項目値を次へ移動();
|
||
}
|
||
public override void t項目値を次へ移動()
|
||
{
|
||
switch( this.e現在の状態 )
|
||
{
|
||
case E状態.ON:
|
||
this.e現在の状態 = E状態.OFF;
|
||
return;
|
||
|
||
case E状態.OFF:
|
||
this.e現在の状態 = E状態.ON;
|
||
return;
|
||
|
||
case E状態.不定:
|
||
this.e現在の状態 = E状態.ON;
|
||
return;
|
||
}
|
||
}
|
||
public override void t項目値を前へ移動()
|
||
{
|
||
switch( this.e現在の状態 )
|
||
{
|
||
case E状態.ON:
|
||
this.e現在の状態 = E状態.OFF;
|
||
return;
|
||
|
||
case E状態.OFF:
|
||
this.e現在の状態 = E状態.ON;
|
||
return;
|
||
|
||
case E状態.不定:
|
||
this.e現在の状態 = E状態.OFF;
|
||
return;
|
||
}
|
||
}
|
||
public void t初期化( string str項目名, E状態 e初期状態 )
|
||
{
|
||
this.t初期化( str項目名, e初期状態, CItemBase.Eパネル種別.通常 );
|
||
}
|
||
public void t初期化(string str項目名, E状態 e初期状態, string str説明文jp) {
|
||
this.t初期化(str項目名, e初期状態, CItemBase.Eパネル種別.通常, str説明文jp, str説明文jp);
|
||
}
|
||
public void t初期化(string str項目名, E状態 e初期状態, string str説明文jp, string str説明文en) {
|
||
this.t初期化(str項目名, e初期状態, CItemBase.Eパネル種別.通常, str説明文jp, str説明文en);
|
||
}
|
||
|
||
public void t初期化( string str項目名, E状態 e初期状態, CItemBase.Eパネル種別 eパネル種別 )
|
||
{
|
||
this.t初期化(str項目名, e初期状態, CItemBase.Eパネル種別.通常, "", "");
|
||
}
|
||
public void t初期化(string str項目名, E状態 e初期状態, CItemBase.Eパネル種別 eパネル種別, string str説明文jp) {
|
||
this.t初期化(str項目名, e初期状態, CItemBase.Eパネル種別.通常, str説明文jp, str説明文jp);
|
||
}
|
||
public void t初期化(string str項目名, E状態 e初期状態, CItemBase.Eパネル種別 eパネル種別, string str説明文jp, string str説明文en) {
|
||
base.t初期化(str項目名, eパネル種別, str説明文jp, str説明文en);
|
||
this.e現在の状態 = e初期状態;
|
||
}
|
||
public override object obj現在値()
|
||
{
|
||
if ( this.e現在の状態 == E状態.不定 )
|
||
{
|
||
return "- -";
|
||
}
|
||
else
|
||
{
|
||
return this.e現在の状態.ToString();
|
||
}
|
||
}
|
||
public override int GetIndex()
|
||
{
|
||
return (int)this.e現在の状態;
|
||
}
|
||
public override void SetIndex( int index )
|
||
{
|
||
switch (index )
|
||
{
|
||
case 0:
|
||
this.e現在の状態 = E状態.ON;
|
||
break;
|
||
case 1:
|
||
this.e現在の状態 = E状態.OFF;
|
||
break;
|
||
case 2:
|
||
this.e現在の状態 = E状態.不定;
|
||
break;
|
||
default:
|
||
throw new ArgumentOutOfRangeException();
|
||
}
|
||
}
|
||
}
|
||
}
|