Skip to content

IToolbarPlugin

Interface in Oadm.Sdk.Client · Oadm.Sdk.Client.dll

A part of the Devices page toolbar: any Avalonia control (button, toggle, dropdown, text, …). The host creates the control once per page with IToolbarPlugin.CreateControl and places it by IToolbarPlugin.Group, then IToolbarPlugin.Order, then IToolbarPlugin.Id. Build buttons from the shared Oadm.Sdk.Client.Controls.ToolbarButton so every toolbar entry looks the same. Found like the other client plugin parts: compiled into the client (built-in) or in a *.Client.dll with a public parameterless constructor.

public interface IToolbarPlugin

Guide: Core plugins and pages

ToolbarGroup Group { get; }

The toolbar group: Add, Manage, Tasks or Plugins, from left to right.

string Id { get; }

Unique id, e.g. “oadm.toolbar.scan”.

int Order { get; }

Position within the group, ascending.

string? RequiredPermission { get; }

Default implementation

The permission the entry needs (“devices.addRemove”, “oadm.system-report:download”); the host hides the entry while the user’s role lacks it and shows it again when the role changes. Null (the default): every user sees it.

Control CreateControl(IToolbarContext ctx)

Creates the control on the UI thread. Keep the context to react to selection changes.