TMPファイルを読み込ませたときに「用途」の選択可能な項目のマスクがおかしくなる問題を修正。

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlToolsRED@429 7061adef-622a-194b-ae81-725974e89856
This commit is contained in:
nishikawa_takeshi 2009-11-11 08:29:31 +00:00
parent 7c92719095
commit f69a4352c2
9 changed files with 94 additions and 33 deletions

View File

@ -4705,7 +4705,7 @@ private: System::Windows::Forms::TextBox^ tboxPurposeInError;
this->rPurposeZone
};
if( this->hSrl->IsMediaNand )
if( this->hSrl->IsMediaNand ) // SRLが読み込まれていないときにはfalseであることが保証されている
{
for each( System::Windows::Forms::RadioButton ^r in rbutsCard )
{
@ -4736,6 +4736,8 @@ private: System::Windows::Forms::TextBox^ tboxPurposeInError;
}
}
// SRLのリージョンによって選択可能な項目をマスクする
// 日本向けでは"店頭試遊台(単独型)"をなくす
if( this->hSrl->IsRegionJapan )
{
@ -4755,6 +4757,51 @@ private: System::Windows::Forms::TextBox^ tboxPurposeInError;
}
}
// さらにリージョンのコンボボックスによって選択可能な項目をマスクする
// 日本リージョンの場合には"店頭体験版(単独型)"を非表示にする
if( this->combRegion->SelectedIndex == 0 )
{
this->rPurposeCardKiosk->Enabled = false;
if( this->rPurposeCardKiosk->Checked )
{
this->changePurposeForms( this->rPurposeOther );
}
}
else
{
if( !System::String::IsNullOrEmpty(this->tboxFile->Text) && this->hSrl->IsMediaNand )
{
this->rPurposeCardKiosk->Enabled = false; // すでにメディアによってマスクされているときには選択不可
}
else
{
this->rPurposeCardKiosk->Enabled = true;
}
}
// 英語版では"Touch!Try!DS"をなくす
if( (this->combRegion->SelectedIndex == 1) ||
(this->combRegion->SelectedIndex == 5) ||
(this->combRegion->SelectedIndex == 6) )
{
this->rPurposeDSStation->Enabled = false;
if( this->rPurposeDSStation->Checked )
{
this->changePurposeForms(this->rPurposeOther);
}
}
else
{
if( !System::String::IsNullOrEmpty(this->tboxFile->Text) && this->hSrl->IsMediaNand )
{
this->rPurposeDSStation->Enabled = false;
}
else
{
this->rPurposeDSStation->Enabled = true;
}
}
} //maskPurposeForms()
private:
@ -4957,6 +5004,9 @@ private: System::Windows::Forms::TextBox^ tboxPurposeInError;
// コンボボックスをチェック
System::Boolean checkComboBoxIndex( System::Windows::Forms::ComboBox ^box, System::String ^tag, System::Boolean isAffectRom );
// ラジオボタンをチェック
System::Boolean checkRadioButton( cli::array<System::Windows::Forms::RadioButton^> ^rbuts, System::String ^tag );
// -----------------------------------------------------------------
// 提出情報(SRLに影響しない箇所のみ)とフォーム間のデータのやりとり
// -----------------------------------------------------------------
@ -5763,36 +5813,7 @@ private: System::Windows::Forms::TextBox^ tboxPurposeInError;
this->changeUnnecessaryRatingForms(false); // 一度コンボボックスがenableになるので再設定
// リージョン変更によって表示する「用途」を変更する
// 日本リージョンの場合には"店頭体験版(単独型)"を非表示にする
if( this->combRegion->SelectedIndex == 0 )
{
this->rPurposeCardKiosk->Enabled = false;
if( this->rPurposeCardKiosk->Checked )
{
this->changePurposeForms( this->rPurposeOther );
}
}
else
{
this->rPurposeCardKiosk->Enabled = true;
}
// 英語版では"Touch!Try!DS"をなくす
if( (this->combRegion->SelectedIndex == 1) ||
(this->combRegion->SelectedIndex == 5) ||
(this->combRegion->SelectedIndex == 6) )
{
this->rPurposeDSStation->Enabled = false;
if( this->rPurposeDSStation->Checked )
{
this->changePurposeForms(this->rPurposeOther);
}
}
else
{
this->rPurposeDSStation->Enabled = true;
}
this->maskPurposeForms();
}
private:
// レーティング表示不要が選択されたときにレーティングを選択不可にする

View File

@ -327,6 +327,20 @@ System::Boolean Form1::checkDeliverableForms(void)
this->checkTextForm( this->tboxPurposeOther->Text, "LabelUsage" );
}
//「用途」の項目はグループボックスの機能を使っておらず
// もしかしたらチェック漏れが発生するかもしれないのでチェックが入っているかを調べておく
cli::array<System::Windows::Forms::RadioButton^> ^rbuts = gcnew cli::array<System::Windows::Forms::RadioButton ^>
{
this->rPurposeCardProduction,
this->rPurposeCardDistribution,
this->rPurposeCardKiosk,
this->rPurposeDSiWare,
this->rPurposeDSStation,
this->rPurposeZone,
this->rPurposeOther
};
this->checkRadioButton( rbuts, "LabelUsage" );
// ‰ïŽÐ<C5BD>î•ñ
this->checkTextForm( this->tboxPerson1->Text, "LabelPerson1" );
this->checkTextForm( this->tboxCompany1->Text, "LabelCompany1" );

View File

@ -349,6 +349,7 @@ void Form1::loadTmp( System::String ^filename )
this->maskRatingForms(); // ペアレンタルコントロール情報をリージョンに合わせる
this->changeUnnecessaryRatingForms(true); // 一度コンボボックスがenableになるので再設定
this->maskBackupMemoryForms(); // NANDアプリのときのバックアップメモリの自動設定
this->maskPurposeForms();
//this->maskDLCategoryForms();
} //loadTmp()

View File

@ -74,10 +74,33 @@ System::Boolean Form1::checkComboBoxIndex( System::Windows::Forms::ComboBox ^box
System::String ^msgE = this->hMsg->getMessage("ComboBoxInput", "E");
this->hErrorList->Add( gcnew RCMrcError(
labelJ, 0, 0, msgJ, labelE, msgE, true, isAffectRom, RCMrcError::PurposeType::Common ) );
return false;
}
return true;
}
// ラジオボタンをチェック
System::Boolean Form1::checkRadioButton( cli::array<System::Windows::Forms::RadioButton^> ^rbuts, System::String ^tag )
{
bool checked = false;
for each( System::Windows::Forms::RadioButton ^r in rbuts )
{
if( r->Checked )
{
checked = true;
}
}
if( !checked )
{
System::String ^labelJ = this->hMsg->getMessage(tag,"J");
System::String ^labelE = this->hMsg->getMessage(tag,"E");
System::String ^msgJ = this->hMsg->getMessage("RadioButtonInput", "J");
System::String ^msgE = this->hMsg->getMessage("RadioButtonInput", "E");
this->hErrorList->Add( gcnew RCMrcError( labelJ, 0, 0, msgJ, labelE, msgE, true, false, RCMrcError::PurposeType::Common ) );
return false;
}
return true;
}
// --------------------------------------------------------
// エラー情報の登録

View File

@ -102,12 +102,13 @@ Exception:{0}
<TextBoxInput>Insufficient input: Input data.</TextBoxInput>
<NumRangeInput>Insufficient input: Illegal value.</NumRangeInput>
<ComboBoxInput>Insufficient input: Select data.</ComboBoxInput>
<RadioButtonInput>Insufficient input: Select data.</RadioButtonInput>
<LabelProductName>Product Name</LabelProductName>
<LabelProductCode>Product Code</LabelProductCode>
<LabelCountryCode>Product Code(Region Code)</LabelCountryCode>
<LabelProductNameForeign>Product Name(Foreign Version)</LabelProductNameForeign>
<LabelProductCodeForeign>Product Code(Foreign Version)</LabelProductCodeForeign>
<LabelUsage>Usage</LabelUsage>
<LabelUsage>Purpose</LabelUsage>
<LabelBackup>Backup Memory</LabelBackup>
<LabelPerson1>Contact1</LabelPerson1>
<LabelFurigana1>Furigana</LabelFurigana1>

View File

@ -102,12 +102,13 @@
<TextBoxInput>入力漏れ: 入力してください。</TextBoxInput>
<NumRangeInput>入力漏れ: 値が不正です。</NumRangeInput>
<ComboBoxInput>入力漏れ: 選択してください。</ComboBoxInput>
<RadioButtonInput>入力漏れ: 選択してください。</RadioButtonInput>
<LabelProductName>製品名</LabelProductName>
<LabelProductCode>製品コード</LabelProductCode>
<LabelCountryCode>製品コード(仕向地仕様コード)</LabelCountryCode>
<LabelProductNameForeign>製品名(海外版)</LabelProductNameForeign>
<LabelProductCodeForeign>製品コード(海外版)</LabelProductCodeForeign>
<LabelUsage>目的</LabelUsage>
<LabelUsage>用途</LabelUsage>
<LabelBackup>バックアップメモリ</LabelBackup>
<LabelPerson1>ご氏名(担当者1)</LabelPerson1>
<LabelFurigana1>ふりがな(担当者1)</LabelFurigana1>