Skip to content

ATF Custom Dialogs_j

HarukaK edited this page Mar 19, 2015 · 33 revisions

== ATF カスタムダイアログ ==

Table of Contents

ATF には、次の表に示される WinForms アプリケーション用のさまざまな標準ダイアログがあります。WinForms ダイアログは WPF アプリケーションで使用可能です。詳細は WPF での WinForms コントロールの使用 (英語) を参照してください。WPF には、WPF Dialogs in ATF (英語) で説明される独自のダイアログがあります。

ダイアログの使用に関する詳細は、ダイアログの使用を参照してください。

画像をフルサイズで表示するには、画像を右クリックし、[新しいタブで画像を開く] (Chrome) または [画像だけを表示] (Firefox) をクリックします。

WinForms ダイアログ

バージョン情報のダイアログクラス

AboutDialog

ATF のロゴが表示される、[ヘルプ]>[バージョン情報] ダイアログ。ATF CircuitEditor サンプルなど、多くのサンプルで使用。

AboutSysInfoDialog

アセンブリのリストが表示されるシステム情報ダイアログ。

エラーのダイアログクラス

ErrorDialog

ユーザーにエラーメッセージを表示するダイアログ。ErrorDialogService コンポーネントが使用し、ATF FsmEditor サンプルなどのサンプルにインポートされています。

UnhandledExceptionDialog

UnhandledExceptionService コンポーネントが使用する未処理例外のダイアログ。DiagramEditor サンプルなどのサンプルで使用されています。

ファイル処理のダイアログクラス

CustomFileDialog

CustomSaveFileDialog および CustomOpenFileDialog を派生する、カスタムファイルダイアログの抽象基底クラス。System.Windows.Forms.OpenFileDialog を使用。

CustomOpenFileDialog

CustomFileDialog から派生する、カスタムのファイルを開くダイアログ。System.Windows.Forms.OpenFileDialog クラスと同様の振る舞いをします。「読み取り専用」チェックボックスの設定が可能です。複数ファイルの選択が可能かどうかを示すことができます。FileDialogService コンポーネントが使用し、ATF CodeEditor サンプルなどの多くのサンプルで使われています。

CustomSaveFileDialog

CustomFileDialog から派生する、カスタムのファイル保存ダイアログ。このクラスは System.Windows.Forms.SaveFileDialog クラスと同様の振る舞いをします。ファイルが存在しない場合と存在する場合に、ユーザーに入力を促すことができます。{}FileDialogService コンポーネントが使用し、ATF CodeEditor サンプルなどの多くのサンプルで使われています。

FilteredFileDialogBase

OpenFilteredFileDialog を含む、フィルタリングされたファイルのダイアログの基底クラスです。このプロパティは、System.Windows.Forms.FileDialog の同じ名前のプロパティに相当します。System.Windows.Forms.FileDialogSce.Atf.CustomFileDialog とは異なり、Win32 メソッドを使用しない Windows® フォームです。ダイアログのファイルの ListView からファイルを除外するための、CustomFileFilter コールバックがあります。

FindFileDialog

見つからないファイルを探すためのダイアログ。

FindFileWithSuggestionDialog

見つからないファイルを探すために、ユーザーがパスを指定できるダイアログ。

FolderSelectDialog

フォルダー選択のダイアログ。System.Windows.Forms.OpenFileDialog をラッピングし、Vista 形式のダイアログを表示します。

OpenFilteredFileDialog

FilteredFileDialogBase から派生した、フィルター機能のあるファイルを開くダイアログ。このクラスは System.Windows.Forms.OpenFileDialog クラスと同様の振る舞いをしますが、ダイアログのファイルの ListView からファイルを除外するカスタムフィルターが追加されています。アセットのインポートなどに使用します。

Perforce のダイアログクラス

Connections

Perforce サーバーに接続するためのフォーム。PerforceService コンポーネントで使用されます。

LoginDialog

Perforce サーバーにログインするダイアログ。PerforceService コンポーネントで使用されます。

UsersList

Perforce サーバーのユーザーリストのダイアログ。

WorkspaceList

Perforce のワークスペースリストのダイアログ。

進行状況のダイアログクラス

ProgressDialog

タスクの進行状況を表示するダイアログ。

ThreadSafeProgressDialog

タスクの進行状況を表示する、スレッドセーフなダイアログ。System.Windows.Forms.ProgressBar を使用します。

ソース管理のダイアログクラス

CheckInForm

ソース管理のチェックインフォーム。SourceControlCommands コンポーネントが使用し、ATF CodeEditor サンプルにインポートされています。

ReconcileForm

ソース管理の調整フォーム。SourceControlCommands コンポーネントが使用し、ATF CodeEditor サンプルにインポートされています。

特殊な用途のダイアログクラス

ColorPicker

Adobe Color Picker Clone から適用したカラーピッカー。

ConfirmationDialog

簡単でカスタム化可能な 「はい/いいえ/キャンセル」のダイアログボックス。FileDialogService コンポーネントが使用し、ATF CodeEditor サンプルなどの多くのサンプルにインポートされています。

CustomizeKeyboardDialog

登録したコマンドにキーボードショートカットを割り当て、編集するダイアログ。CommandService コンポーネントが使用し、ATF CodeEditor サンプルなどの、ほぼすべてのサンプルで使われています。




FeedbackForm

SourceForge バグトラッカーにバグを送信するフォーム。なお、各プロジェクトには SourceForge プロジェクトへのマッピングに使われる、「com.scea.screamtool」などの一意の識別子があります。この識別子は ProjectMappingAttribute で指定可能です。ソニー従業員は バグの送信 で詳細情報を参照できます。UserFeedbackService コンポーネントが使用し、ATF File Explorer サンプルにインポートされています。

GridControlShowHidePropertiesDialog

プロパティの表示、非表示を設定するチェックボックスのあるグリッドコントロール。




HoverBase

アイテム上にマウスポインタを移動したときに表示される、ツールチップの基底クラス。ATF CircuitEditor サンプルで使用されています。




HoverLabel

アイテム上にマウスポインタを移動したときに表示される文字列のコントロール。HoverBase から派生します。ATF CircuitEditor サンプルATF FsmEditor サンプル、および ATF StatechartEditor サンプルで使用されています。




NestedCollectionEditorForm

ネストされたコレクションのエディターフォーム。NestedCollectionEditor エディタークラスに使用されます。

OscDialog

デバイスが C# オブジェクトのプロパティを、取得もしくは設定するための Open Sound Control (OSC)。OscService コンポーネントのユーザーにメニューコマンドを提供する OscCommands に使用されます。

RenameCommandDialog

名前の変更をまとめて行うコマンドを定義するコンポーネント RenameCommand が提供する操作を実行するための、名前の変更コマンドダイアログ。

TabbedControlSelectorDialog

TabbedControlSelector コンポーネントが表示するダイアログ。指定した IControlHostService がアクセスできるコントロール間のフォーカスを、ユーザーが切り替えられるようにします。TabbedControlSelectorATF CircuitEditor サンプルATF CodeEditor サンプル などの、いくつかのサンプルで使用されています。

ターゲット処理のダイアログクラス

TargetDialog

PS3™ コントローラーなどのターゲットデバイスを追加、編集するダイアログ。TargetService コンポーネントで使用されます。

TargetEditDialog

ターゲットデバイスを編集するフォーム。

ウィンドウレイアウトのダイアログクラス

WindowLayoutManageDialog

ウィンドウのレイアウトを管理するダイアログ。WindowLayoutServiceCommands コンポーネントが使用し、ATF CircuitEditor サンプルなどの多くのサンプルにインポートされています。




WindowLayoutNewDialog

新しいウィンドウレイアウトのダイアログ。WindowLayoutServiceCommands コンポーネントが使用し、 ATF CircuitEditor サンプルなどの多くのサンプルにインポートされています。

ダイアログ の使用

ダイアログは、コンポーネントを通じて間接的に使用するか、もしくは直接ダイアログクラスを構築して使用する 2 つの方法があります。

コンポーネントのダイアログ

ATF コンポーネントの中には、ダイアログ処理をすべて行うものがあります。たとえば、ユーザーが [ファイル] メニューコマンドを選択すると StandardFileCommands コンポーネントが指示を出し、FileDialogService コンポーネントが CustomOpenFileDialogCustomSaveFileDialog および ConfirmationDialog ダイアログを作成、表示します。同様に、UnhandledExceptionService コンポーネントは UnhandledExceptionDialog を使用して、ユーザーに未処理例外の発生を通知します。アプリケーションでこれらのコンポーネントを活用して、ダイアログを使用してください。

ダイアログ を直接使用する方法

ダイアログコンストラクターおよびパラメーターのあるダイアログオブジェクトを、独自に作成しダイアログを管理することも可能です。たとえば、FindFileDialog() は元の (見つからない) ファイルへのパスとして string を取ります。

ダイアログにも、ダイアログに適したプロパティがあります。たとえば、FindFileDialog には FindFileAction 型の Action プロパティがあり、ユーザーがダイアログ内でクリックしたボタンに基づいて、発見したファイル名候補の承諾などの、ユーザー操作を示します。

ダイアログには System.Windows.Forms.DialogResult の値を返す ShowDialog() メソッドがあり、ユーザーのダイアログ操作の結果を知ることができます。

以下に FindFileResolver クラスの例を示します。ファイルパスを使用してダイアログオブジェクトを作成し、戻り値および Action プロパティを確認します。これにより、OK ボタンを押した後の、ユーザーのラジオボタン操作による選択を取得します。その結果に基づいて FindFileAction 変数を設定します。

FindFileAction userAction;
...
// Ask the user what we should do. There are two possible dialog boxes to use.
if (suggestedUri == null)
{
    // There are a two fewer options and slightly reorganized dialog box if there
    //  is no suggested replacement for the missing file.
    FindFileDialog dialog = new FindFileDialog(uri.LocalPath);
    if (dialog.ShowDialog() == DialogResult.Cancel)
        userAction = FindFileAction.Ignore;
    else
        userAction = dialog.Action;
}
else
{
    // We have a suggested replacement already, so allow the user to accept the
    //  suggestion.
    FindFileWithSuggestionDialog dialog =
        new FindFileWithSuggestionDialog(uri.LocalPath, suggestedUri.LocalPath);
    if (dialog.ShowDialog() == DialogResult.Cancel)
        userAction = FindFileAction.Ignore;
    else
        userAction = dialog.Action;
}

このセクションのトピック一覧

Clone this wiki locally