Namespace DevToys.Api
Classes
AcceptedDataTypeNameAttribute
Defines a data type accepted by the IGuiTool as an input. This information is used to identify what tool can be recommended based on Smart Detection finding. The value of DataTypeName should match a name defined by a DataTypeName in a IDataTypeDetector.
AsyncLazy<T>
Represents an asynchronous lazy initialization.
AutoCompletionItem
Represents an item in the auto-completion list of IUIMultiLineTextInput.
CancellationTokenExtension
Provides a set of helper method to play around with cancellation tokens.
CommandLineOptionAttribute
Defines an option for a ICommandLineTool.
CommandNameAttribute
Defines the name of the CLI command of a ICommandLineTool.
ConsoleProgressBar
A progress bar for the console.
DataDetectionResult
Represents the result of data detection.
DataTypeNameAttribute
Defines a data type name attached to a IDataTypeDetector.
DictionaryExtensions
Provides extension methods for dictionaries.
DisposableSemaphore
Represents a semaphore that free other threads when disposing the result of the WaitAsync(CancellationToken) method.
FontDefinition
Represents a font definition.
GUI
Provides a set of extension methods for various UI components.
GuiToolGroup
Represents a group or category in the main menu of the app.
LoggingExtensions
Provides extension methods for logging.
MenuPlacementAttribute
Indicates where the IGuiTool should be displayed in the navigation view.
NameAttribute
Defines the internal name of this component. This name can be used to explicitly request this component to be invoked.
NoCompactOverlaySupportAttribute
Indicates that the IGuiTool does not support Compact Overlay mode.
NotFavorableAttribute
Indicates that the IGuiTool can not be added to the favorites.
NotSearchableAttribute
Indicates that the IGuiTool can not be searched.
ObservableCollectionExtensions
Provides extension methods for ObservableCollection<T>.
ObservableHashSet<T>
OneOfExtensions
Extension methods for working with OneOf types.
OrderAttribute
Defines the priority of this component over others.
PredefinedCommonDataTypeNames
Predefined common data type names.
PredefinedCommonToolGroupNames
Represents the predefined common tool group names.
PredefinedSupportedImageFormats
Represents a predefined list of supported image formats.
ResultInfo<T>
Record to contain both whether the task was a success and the resulting data
ResultInfo<T, U>
Record to contain both whether the task was a success and the resulting data
SandboxedFileReader
Represents a read-only access to a file on the file system.
SemanticToken
Represents a semantic token.
SettingChangedEventArgs
Represents the arguments of an event raised when an app setting change.
TargetPlatformAttribute
Defines the targeted platform for this component.
TaskExtensions
Provides a set of helper method to play around with threads.
TextSpan
Represents a span in a text.
ToolDisplayInformationAttribute
Defines the resources to get the information about the IGuiTool to be displayed in the UI.
UIDialog
Represents a modal dialog.
UIHighlightedTextSpan
Represents a highlighted span in a text.
UIHoverTooltip
Represents the Tooltip to display on hover
UIToolView
Represents the root ui definition of a IGuiTool.
Structs
SettingDefinition<T>
Represents the definition of a setting in the application.
TaskSchedulerAwaiter
An awaiter returned from GetAwaiter().
UIGridLength
Represents the length of a row or column.
Interfaces
IClipboard
Provides a platform agnostic way to interact with the clipboard of the operating system the app is running on.
ICommandLineTool
Represents the factory for command line tool.
IDataGridRow<T>
Represents a data grid row with optional detail information.
IDataTypeDetector
Represents a way to detect the type of data coming from an external source such as the OS's clipboard.
IFileStorage
Provides a platform agnostic way to interact with the file system of the operating system the app is running on.
IFontProvider
Provides a platform agnostic way to retrieve information about fonts installed on the operating system.
IGuiTool
Represents the declaration of a tool with a GUI.
ILanguageService
Represents the declaration of a language service for IUIMultiLineTextInput.
IMefProvider
Provides a way to import MEF components on the fly.
IOrderableMetadata
Represents an orderable component.
IResourceAssemblyIdentifier
Represents the factory to access some resources of the current assembly such as strings stored in RESX files, or Fonts.
ISettingsProvider
Provides a set of methods to manage the application's settings.
IThemeListener
Provides information about the application theme.
IUIButton
A component that represents a button, which reacts when clicking on it.
IUICard
A component that represents a empty card and IUIElement for the option value.
IUIDataGrid
A component that represents a grid that can display data with rows and columns.
IUIDataGridCell
A component that represents a cell in a IUIDataGridRow.
IUIDataGridRow
A component that represents a row in a IUIDataGrid.
IUIDiffTextInput
A component that can be used to display side by side or inlined texts and highlight differences between them.
IUIDropDownButton
A component that represents a drop down button where the user can click on a menu item.
IUIDropDownListItem
A component that represents an item in a drop down list.
IUIDropDownMenuItem
A component that represents a menu item, which reacts when clicking on it.
IUIElement
A base interface for all UI elements.
IUIElementWithChildren
A base interface for all UI elements that can have children elements.
IUIFileSelector
A component that represents a drop zone and selector for files, folders, images coming from the clipboard.
IUIGrid
A component provides a flexible grid area that consists of columns and rows. Child elements of the Grid are measured and arranged according to their row/column assignments and other logic.
IUIGridCell
A component hosted by a IUIGrid that represents a cell in a flexible grid.
IUIIcon
A component that represents an icon.
IUIImageViewer
A component that displays an image and allows the user to perform some read-only actions on it. By default, image viewer supports BMP, GIF, JPEG, PBM, PNG, TIFF, TGA, WEBP, SVG formats.
IUIInfoBar
A component that displays a bar aiming at indicating a relevant information to the user.
IUILabel
A component that displays a text.
IUIList
A component that represents a list of items.
IUIListItem
A component that represents an item in a list.
IUIMultiLineTextInput
A component that can be used to display or edit unformatted text on multiple lines.
IUINumberInput
A component that can be used to display or edit numbers on a single line.
IUIPasswordInput
A component that can be used to display or edit passwords on a single line.
IUIProgressBar
A component that indicates the progress of an operation.
IUIProgressRing
A circular component that indicates the progress of an operation.
IUISelectDropDownList
A component that represents a drop down list where the user can select one item in it.
IUISetting
A component that represents a setting, with a title, description, icon and IUIElement for the option value.
IUISettingGroup
A component that represents a group of settings, with a title, description and an icon.
IUISingleLineTextInput
A component that can be used to display or edit unformatted text on a single line.
IUISplitGrid
A component that splits horizontally or vertically an area into two panes. Panes can be resized by the user.
IUIStack
A component that stacks child elements into a single line that can be oriented horizontally or vertically.
IUISwitch
A component that represents a changeable switch.
IUITitledElement
A base interface for all UI elements that can have a title / header on top of the element.
IUITitledElementWithChildren
A base interface for all UI elements that can have a title / header on top of the element along with children elements.
IUIWebView
A component that represents a web view.
IUIWrap
A component that stacks child elements horizontally and stack them into multiple lines if there's not enough space to keep everything on a single line.
Enums
ApplicationTheme
Specifies a UI theme that should be used for individual UIElement parts of an app UI.
AutoCompletionItemKind
Represents the kind of an auto-completion item. See also https://microsoft.github.io/monaco-editor/typedoc/enums/languages.CompletionItemKind.html
AvailableApplicationTheme
Specifies a UI theme that should be used for individual UIElement parts of an app UI.
MenuPlacement
Represents the placement of a menu.
Platform
Represents the platform on which the application runs.
ResultInfoSeverity
Represents the severity of a result.
SemanticTokenModifier
Represents a semantic token modifier.
SemanticTokenType
Represents a semantic token type.
UIGridUnitType
Represents the unit type of a row or column.
UIHighlightedTextSpanColor
Represents the color options for a highlighted text span in the UI.
UIHorizontalAlignment
Indicates where an element should be displayed on the horizontal axis relative to the allocated layout slot of the parent element.
UIInfoBarSeverity
Represents the severity level of a IUIInfoBar.
UILabelStyle
Represents the style of a IUILabel.
UIOrientation
Defines the different orientations that an element or layout can have.
UISpacing
Defines the different spacing to apply between element in the layout.
UITextEndOfLinePreference
End of line character preference.
UITextLineNumber
Describes how the line number should be displayed in the text editor.
UITextWrapMode
Describes how a text in an element should wrap when it reached the maximum horizontal space it can take.
UIVerticalAlignment
Describes how a child element is vertically positioned or stretched within a parent's layout slot.