Skip to main content

Component Plug-In SDK 2026 R1

Class AbstractBuilderUI<RUNNER>

Last update: 19.06.2026

Namespace: Phoenix.ComponentPlugInSDK
Assembly: Phoenix.ComponentPlugInSDK.dll

This class serves as a common base class that implements IHarnessBuilderUI. It contains logic for managing the lifespan and events around the window that implements the UI. It also contains some helper utilities around window management.

public abstract class AbstractBuilderUI<RUNNER> : AbstractDisposable, IHarnessBuilderUI<RUNNER>, IHarnessBuilderUIBase, IDisposable where RUNNER : IHarnessRunner

Type Parameters

RUNNER

The type of IHarnessRunner that this builder edits.

Inheritance

object ← AbstractDisposable ← AbstractBuilderUI<RUNNER>

Implements

IHarnessBuilderUI<RUNNER>, IHarnessBuilderUIBase, IDisposable

Inherited Members

AbstractDisposable.disposed, AbstractDisposable.Dispose(), AbstractDisposable.IsDisposed, AbstractDisposable.Dispose(bool), object.ToString(), object.Equals(object), object.Equals(object, object), object.ReferenceEquals(object, object), object.GetHashCode(), object.GetType(), object.MemberwiseClone()

Fields

_window

The main window of the Builder UI.

Properties

ComponentIcon

The URI of the icon to use for the builder UI. If null, the default Windows icon will be used.

ComponentName

The name of the builder to use in the UI.

HarnessType

Returns the Type object for the IHarnessRunner that this builder UI operates on.

Host

The host object

Methods

AddAsyncMenuItem(ItemsControl, string, RoutedEventHandlerAsync)

Adds a child menuItem to the specified parent.

AddAsyncMenuItem(ItemsControl, string, ImageType, bool, RoutedEventHandlerAsync)

Adds a child menuItem to the specified parent.

AddAsyncMenuItem(ItemsControl, string, ImageSource, bool, RoutedEventHandlerAsync)

Adds a child menuItem to the specified parent.

AddMenuItem(ItemsControl, string, RoutedEventHandler)

Adds a child menuItem to the specified parent.

AddMenuItem(ItemsControl, string, ImageType, bool, RoutedEventHandler)

Adds a child menuItem to the specified parent.

AddMenuItem(ItemsControl, string, ImageSource, bool, RoutedEventHandler)

Adds a child menuItem to the specified parent.

ConstructAsync(IHarnessBuilderUIHost<RUNNER>)

Will always be called first to allow the object to instantiate itself.

CreateWindow()

Creates the Main Window of the Builder UI. It is recommended that all implementations return a Window that implements Phoenix.ComponentPlugInSDK.Views.ISaveableWindow. If the window does not, then requests from the OEM to save the UI via Phoenix.ComponentBuilderAPI.IHarnessBuilderUIBase.TrySaveAsync will silently return true.

DisplayException(Exception)

Given an Exception, display an appropriate error dialog to the user and log the full stack trace to the logs.

Dispose(bool)

Standard disposal.

SelectVariables(IEnumerable<IRuntimeVariable>, IEnumerable<IRuntimeVariable>, IPlugInViewModel, string, string, string)

Opens the CommonSelectVariablesForm. The form will be initialized with the available variables plus the currently selected variables from the IPlugInViewModel. If the form is successfully closed, the viewModel's variable list will be updated to the selected variables.

SelectVariables(AbstractVariableProvider, IPlugInViewModel, string)

Opens the CommonSelectVariablesForm. The form will initialize with variables provided by the variableProvider with the viewModel's Phoenix.ComponentPlugInSDK.ViewModels.IPlugInViewModel.InputVariables and Phoenix.ComponentPlugInSDK.ViewModels.IPlugInViewModel.OutputVariables selected. If the form is successfully closed, the viewModel's variable list will be updated to the selected variables.

SetPaczIcon(Uri, string)

Adds an icon file to the Pacz from a resource image.

ShowAsync()

Request that the UI be shown.

TrySaveAsync()

Tells the UI to save any current work. If there are no change, this function should return true immediately. If there are unsaved changes, the user should be prompted to save their work with (yes, no, cancel) options.

If the plug-in writer does not wish to have this protection, just return true and do nothing.

WindowClosed

This event is raised any time the window is closed.

Connect with Ansys