ATF Custom Dialogs - kaisu1986/ATF GitHub Wiki
ATF offers a variety of standard dialogs for WinForms applications, described in the following table. You can use WinForms dialogs in WPF applications; for more information, see Using WinForms Controls in WPF. WPF has dialogs of its own, described in WPF Dialogs.
For details on using dialogs, see Using Dialogs below.
Category | Dialog Class | Appearance | Description |
---|---|---|---|
About |
AboutDialog
|
![]() |
A "Help About..." dialog, with Sony Logo and assembly list. Used in numerous samples, such as ATF Circuit Editor Sample. |
AboutSysInfoDialog
|
![]() |
A system information dialog, with Sony Logo and assembly list. | |
Errors |
ErrorDialog
|
![]() |
Dialog to display error messages to a user. It is used by the ErrorDialogService component, which is imported by several samples, such as ATF Fsm Editor Sample. |
UnhandledExceptionDialog
|
![]() |
Unhandled exception dialog, which is used by the UnhandledExceptionService component employed in several samples, such as ATF Diagram Editor Sample. |
|
File Handling |
CustomFileDialog
|
None |
Abstract base class for a custom file dialog, which CustomSaveFileDialog and CustomOpenFileDialog derive from. Uses System.Windows.Forms.OpenFileDialog. |
CustomOpenFileDialog
|
![]() |
Custom open file dialog derived from CustomFileDialog . This class behaves the same as the System.Windows.Forms.OpenFileDialog class. Allows setting "Read Only" check box. Can indicate whether supports multiple file name selections. Used by FileDialogService component, which is used by numerous samples like ATF Code Editor Sample. |
|
CustomSaveFileDialog
|
![]() |
Custom save file dialog derived from CustomFileDialog . This class behaves the same as the System.Windows.Forms.SaveFileDialog class. Allows promptinguserwhen file does not exist and when file already exists. Used by the {}FileDialogService component, which is imported by numeroussamples like ATF Code Editor Sample. |
|
FilteredFileDialogBase
|
![]() |
Base class for filtered file dialogs, including OpenFilteredFileDialog . Its properties are equivalent to those with the same names in System.Windows.Forms.FileDialog . Unlike System.Windows.Forms.FileDialog or Sce.Atf.CustomFileDialog , this is a Windows® Forms implementation that does not use Win32 methods. It has a CustomFileFilter callback, which can be used to exclude files in the dialog's ListView of files. \\
|
|
FindFileDialog
|
![]() |
Dialog to assist the user in finding a missing file. | |
FindFileWithSuggestionDialog
|
![]() |
Dialog for finding missing files that allows the user to suggest a path. | |
FolderSelectDialog
|
None |
Folder selection dialog that wraps System.Windows.Forms.OpenFileDialog to make it present a Vista-style dialog. |
|
OpenFilteredFileDialog
|
![]() |
Open file dialog with a filter, derived from FilteredFileDialogBase . This class behaves the same as the System.Windows.Forms.OpenFileDialog class, but allows a custom file filter to be added to exclude files in the dialog's ListView of files. Use it for importing assets, for example.
|
|
Perforce |
Connections
|
![]() |
Form for connecting to a Perforce server. Used in the PerforceService component.
|
LoginDialog
|
![]() |
Login dialog to a Perforce server. Used in the PerforceService component.
|
|
UsersList
|
![]() |
Perforce server users list dialog. | |
WorkspaceList
|
![]() |
Perforce workspace list dialog. | |
Progress |
ProgressDialog
|
![]() |
Dialog to show progress of a task. |
ThreadSafeProgressDialog
|
None |
Thread-safe dialog to show task progress. Uses System.Windows.Forms.ProgressBar. |
|
Source Control |
CheckInForm
|
![]() |
Source control check-in form. Used in the SourceControlCommands component, which is imported in the ATF Code Editor Sample. |
ReconcileForm
|
![]() |
Source control reconcile form. Used in the SourceControlCommands component, which is imported in the ATF Code Editor Sample. |
|
Special Purpose |
ColorPicker
|
![]() |
Color picker adapted from the Adobe Color Picker Clone. |
ConfirmationDialog
|
![]() |
Simple customizable "Yes/No/Cancel" dialog box. Used by the FileDialogService component, which is imported by numerous samples like ATF Code Editor Sample. |
|
CustomizeKeyboardDialog
|
![]() |
Dialog to edit and assign keyboard shortcuts to registered commands. Used in CommandService component, that is imported by nearly all the samples, such as ATF Circuit Editor Sample. |
|
FeedbackForm
|
![]() |
Form for submitting bugs to the SourceForge bug tracker. Note that each project has a unique identifier used to map to the SourceForge project (for example, "com.scea.screamtool"). This identifier can be specified with the ProjectMappingAttribute . For more information, seeBug Submittal. Used in the UserFeedbackService component, which is imported by the ATF File Explorer Sample. |
|
GridControlShowHidePropertiesDialog
|
![]() |
Grid control with check boxes to show or hide properties. | |
HoverBase
|
![]() |
Base class for tool tips that appear when the mouse hovers over an item. Used in ATF Circuit Editor Sample. |
|
HoverLabel
|
![]() |
Control to display a string when the mouse hovers over an item. Derives from HoverBase . Used in ATF Circuit Editor Sample, ATF Fsm Editor Sample, and ATF State Chart Editor Sample. |
|
NestedCollectionEditorForm
|
![]() |
Nested collections editor form. Used by the NestedCollectionEditor editor class.
|
|
OscDialog
|
![]() |
Dialog for Open Sound Control (OSC), which allows devices to get or set properties on C# objects. It is used by OscCommands , a component that provides menu commandsfor users of the OscService component.
|
|
RenameCommandDialog
|
![]() |
Rename command dialog used to perform the action provided by the RenameCommand component that defines a mass rename command. |
|
TabbedControlSelectorDialog
|
![]() |
Dialog displayed by the TabbedControlSelector component, which enables a user to switch focus between controls accessible to a specified IControlHostService . TabbedControlSelector is usedin several samples, such as ATF Circuit Editor Sample and ATF Code Editor Sample |
|
Target Handling |
TargetDialog
|
![]() |
Dialog to add or edit a target device, such as a PS3™ controller. Used in the TargetService component.
|
TargetEditDialog
|
![]() |
Form for editing target devices. | |
Window Layout |
WindowLayoutManageDialog
|
![]() |
Dialog to manage window layouts. Used by the WindowLayoutServiceCommands component, which is imported by numerous samples, such as the ATF Circuit Editor Sample. |
WindowLayoutNewDialog
|
![]() |
New window layout dialog. Used by the WindowLayoutServiceCommands component, which isimported by numerous samples, such as the [ |ATF] ATF Circuit Editor Sample. |
Dialog Class | Appearance | Description |
---|---|---|
AboutDialog
|
![]() |
About dialog. |
CommonDialog
|
None | Base class for WPF dialogs. |
ErrorDialog
|
![]() |
Error dialog. |
MessageBoxDialog
|
![]() |
Message boxes. An alternative to the native Win32 message box if WPF styling is required. |
OutputView
|
![]() |
Dialog for text output to user. Used in the WPF OutputService component.
|
ProgressDialog
|
![]() |
Dialog to show progress of a task. |
UnhandledExceptionDialog
|
![]() |
Unhandled exception dialog. Used in the WPF UnhandledExceptionService component.
|
You can use dialogs in two ways: indirectly through a component or directly by constructing the dialog class.
Some ATF components do all the dialog handling for you. For instance, the FileDialogService
component creates and displays the CustomOpenFileDialog
, CustomSaveFileDialog
, and ConfirmationDialog
dialogs, as directed by the StandardFileCommands
component in response to a user selecting File menu commands. Similarly, UnhandledExceptionDialog
is used by the UnhandledExceptionService
component to inform the user when an unhandled exception occurs. Simply use these components in your application to employ the dialogs.
You can also manage dialogs by creating dialog objects yourself with dialog constructors and their parameters. For example, FindFileDialog()
takes a string
for the path to the original (missing) file.
Dialogs also have properties appropriate for the dialog. For instance, FindFileDialog
has an Action
property of type FindFileAction
indicating the action the user took, such as accepting the suggested file name found, based on which button the user pressed on the dialog.
Dialogs have a ShowDialog()
method, which returns a System.Windows.Forms.DialogResult
value, so you can determine the result of the user's interaction with the dialog.
This example is from the class FindFileResolver
. It creates dialog objects using a file path and checks their return value and Action
property, which gets the user's choice of action from the radio buttons after the OK button was pressed. It sets the FindFileAction
variable accordingly.
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;
}