Skip to content

Oadm.Sdk.Client.Controls

The shared controls of the OADM client for plugin dialogs and pages.

Type Description
CardHeader The heading of a card, like the add devices page: card title, optional secondary description below it, optional controls on the right of the title (CardHeader.Trailing, e.g.
CodeEditor The one editable code field (request bodies): a monospace TextBox for typing, selecting, the caret and undo, with the same text drawn colored on top of it (JSON, XML, param.cgi key=value; the tokenizer and colors of CodeView).
CodeText Detection, pretty-printing and tokenizing behind CodeView (no UI types, testable on its own).
CodeView The one read-only code display (response bodies, headers): monospace, selectable and copyable, no line wrapping (horizontal scrolling), JSON and XML pretty-printed with 2 spaces and highlighted, param.cgi key=value text highlighted (keys, values, “# Error” lines).
DeviceIcon The icon of a device everywhere a device is listed (the device grid, the Web View tree): the icon of its category (Icon.device.*), neutral while the device is OK, amber when it needs attention (Credentials required, Password not set, Certificate changed), red when it does not answer.
DevicePickerViewModel The shared device picker (DevicePickerWindow): every managed device in address order, a search over address, model, MAC address, host name and tags, Select all / Select none for the devices the search shows, and the count.
DevicePickerWindow The shared device picker of every dialog that needs a set of devices (host and plugins, one window, never a copy): title bar, one card with the count and a search, Select all / Select none for the devices the search shows, and a virtualized list with a check box per device (address, model; a device that cannot be chosen is greyed with the reason), then Cancel / OK.
DevicePickItem One device in the DevicePickerWindow: check box, address, model, and why it cannot be chosen.
DeviceSelectorTexts Short texts of a device choice for the “Selected devices: …” buttons (event rules, device triggers).
DeviceTree The devices grouped by tag in one virtualized list (Web View, Live View): a group header with a chevron (a click collapses it), the devices with DeviceIcon and address below.
DeviceTreeDevice A device under one tag group; a device with several tags has one row per tag.
DeviceTreeGroup A tag (“No tag” for devices without one); collapsing hides its devices.
DeviceTreeModel The rows of a device tree: the devices grouped by tag in tag order (a device with several tags under each, “No tag” last), sorted by address, filtered by a search and an optional DeviceTreeModel.Filter; collapsed groups hide their devices.
DeviceTreeRow A row of the device tree (DeviceTree): a tag group header or a device under it.
DialogFooter The button row at the bottom of every dialog, laid out like the add devices page: Cancel (secondary, Escape) on the left, the dialog’s own buttons (DialogFooter.Actions, e.g.
DialogTitleBar The header of every dialog window (a window with WindowDecorations=“BorderOnly”, no system title bar): the title as a heading and an X that closes the window, aligned with the content.
FileRow A chosen local file: file icon, file name, secondary details (size, what it is for), an error line when the file was rejected, and the “Choose file” button on the right.
FormField The one labeled form row, used by every form of the host and the plugins: the label on the left (kept level with the input, also when a message appears below it), the input as content, and below the input either its validation error (red, small; the input’s own DataValidationErrors from INotifyDataErrorInfo, or FormField.Error for content without data validation such as a file row) or, when there is no error, the optional FormField.Hint.
IconLabel The one icon + text row used everywhere (toolbar buttons, navigation rail, menus, dialogs).
InfoIcon A small info icon next to an input (every “what does this mean” text): the text shows as a tooltip on hover and in a flyout on click.
LoadingOverlay Hides the content of a dialog (or page area) while it loads: the window background with the theme’s ProgressRing and the text below it in the middle; it takes the pointer, so nothing below can be clicked.
MessageWindow The message and confirmation dialog of the host and of plugin dialogs (one window, never a copy): title bar, the message, and a DialogFooter with Cancel on the left and the primary confirm button on the right.
OadmIcon Monochrome outline icon.
PageHeader Lets a plugin page put content into the host’s page header instead of a card heading: set ui:PageHeader.Subtitle (secondary line under the page title) and/or ui:PageHeader.Trailing (e.g.
PageTab One tab of a page with tabs (Web View devices, Live View views): the title and a close button, the active one underlined in the accent color (theme Border.browserTab).
PasswordBox The one password field used on every page and in every plugin dialog: a TextBox with the theme’s text box look (same height, padding and centering), masked with PasswordBox.Mask, and an eye button on the right that shows the password as plain text and hides it again (tooltip “Show password” / “Hide password”).
ProgressRing An indeterminate progress ring: a faint circle with an accent arc that turns (the turning is the theme’s style ui
ProgressRow The progress line used for scans and uploads: the theme progress bar (0 to 100, flowing “stream” dots while ProgressRow.IsActive) with a secondary status text on its right.
SearchBox The one search field used on every page and dialog: search icon left, clear button right while text is present, fixed width from the theme.
StatCard A monitoring card: a status icon and a title, a large count below and an optional detail line (e.g.
StatusChip The one status display: a small icon colored by the status (check, warning, error, running, neutral) followed by plain text in the normal text color, like every other cell.
TagPickItem One tag in the picker: check box, name, how many devices carry it.
ToolbarButton The one toolbar button: IconLabel (icon + text) in a Button.toolbar, or Button.primary when ToolbarButton.IsPrimary.
ToolbarSeparator The vertical line between toolbar groups (theme style Border.vseparator).
WizardStepItem One step of a WizardSteps row: number, name, current / done, and whether it can be opened (every step before it complete).
WizardSteps The step row of every wizard: a numbered circle and the name per step, a thin line between steps; the current step accent, done steps with a check, later steps grey.
Type Description
CodeDocument What a CodeView shows: the (pretty-printed) text, the language used and its tokens (empty = plain text).
DeviceChoice The result of the DevicePickerWindow: all devices, the device of the event, or chosen devices and tags.
DevicePickerOptions What the picker offers besides single devices (event rules: everything; a plain device list: nothing).
GroupedChoice One entry of a grouped select field (ComboBox with the class grouped): a group header (grey, not selectable) or a choice below it (indented).
Type Description
CodeToken A highlighted range of CodeDocument.Text.
Type Description
CodeLanguage Language of a CodeView; CodeLanguage.Auto detects it from the content type and the text.
CodeTokenKind Kind of a highlighted piece of code; each kind has a theme brush Oadm.Code.Brush.
DeviceChoiceKind What a DeviceChoice means.