Class AbstractScriptBasedBuilderUI<RUNNER, MODEL>
Last update: 19.06.2026Namespace: Phoenix.ComponentPlugInSDK
Assembly: Phoenix.ComponentPlugInSDK.dll
This class provides a common script editor UI for a script based HarnessBuilderUI component.
public abstract class AbstractScriptBasedBuilderUI<RUNNER, MODEL> : AbstractModelBasedBuilderUI<RUNNER, MODEL>, IHarnessBuilderUI<RUNNER>, IHarnessBuilderUIBase, IDisposable where RUNNER : IHarnessRunner where MODEL : ScriptModel, new()
Type Parameters
RUNNER
The type of IHarnessRunner that this builder edits.
MODEL
The model type to be used. Usually Phoenix.ComponentPlugInSDK.Models.ScriptModel1`
Inheritance
object ← AbstractDisposable ← AbstractBuilderUI<RUNNER> ← AbstractModelBasedBuilderUI<RUNNER, MODEL> ← AbstractScriptBasedBuilderUI<RUNNER, MODEL>
Implements
IHarnessBuilderUI<RUNNER>, IHarnessBuilderUIBase, IDisposable
Inherited Members
AbstractModelBasedBuilderUI<RUNNER, MODEL>.LoadFromPaczAsync(IExtractedPacz), AbstractModelBasedBuilderUI<RUNNER, MODEL>.SaveToPaczAsync(IExtractedPacz), AbstractModelBasedBuilderUI<RUNNER, MODEL>.Model, AbstractModelBasedBuilderUI<RUNNER, MODEL>.ConstructAsync(IHarnessBuilderUIHost<RUNNER>), AbstractModelBasedBuilderUI<RUNNER, MODEL>._saveAsync(IBuilderUIModel), AbstractModelBasedBuilderUI<RUNNER, MODEL>.Dispose(bool), AbstractBuilderUI<RUNNER>._window, AbstractBuilderUI<RUNNER>.Dispose(bool), AbstractBuilderUI<RUNNER>.ComponentName, AbstractBuilderUI<RUNNER>.ComponentIcon, AbstractBuilderUI<RUNNER>.CreateWindow(), AbstractBuilderUI<RUNNER>.AddMenuItem(ItemsControl, string, RoutedEventHandler), AbstractBuilderUI<RUNNER>.AddAsyncMenuItem(ItemsControl, string, AbstractBuilderUI<RUNNER>.RoutedEventHandlerAsync), AbstractBuilderUI<RUNNER>.AddMenuItem(ItemsControl, string, ImageType, bool, RoutedEventHandler), AbstractBuilderUI<RUNNER>.AddAsyncMenuItem(ItemsControl, string, ImageType, bool, AbstractBuilderUI<RUNNER>.RoutedEventHandlerAsync), AbstractBuilderUI<RUNNER>.AddMenuItem(ItemsControl, string, ImageSource, bool, RoutedEventHandler), AbstractBuilderUI<RUNNER>.AddAsyncMenuItem(ItemsControl, string, ImageSource, bool, AbstractBuilderUI<RUNNER>.RoutedEventHandlerAsync), AbstractBuilderUI<RUNNER>.SelectVariables(IEnumerable<IRuntimeVariable>, IEnumerable<IRuntimeVariable>, IPlugInViewModel, string, string, string), AbstractBuilderUI<RUNNER>.SelectVariables(AbstractVariableProvider, IPlugInViewModel, string), AbstractBuilderUI<RUNNER>.SetPaczIcon(Uri, string), AbstractBuilderUI<RUNNER>.HarnessType, AbstractBuilderUI<RUNNER>.WindowClosed, AbstractBuilderUI<RUNNER>.Host, AbstractBuilderUI<RUNNER>.ConstructAsync(IHarnessBuilderUIHost<RUNNER>), AbstractBuilderUI<RUNNER>.ShowAsync(), AbstractBuilderUI<RUNNER>.TrySaveAsync(), AbstractBuilderUI<RUNNER>.DisplayException(Exception), 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()
Properties
The URI of the icon to use for the builder UI. If null, the default Windows icon will be used.
The name of the builder to use in the UI.
The ScriptLanguage that is being used.
Methods
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.
Gets the properties for configuring the VariableTree.
SetupView(IExtractedPacz, ScriptEditorViewModel, Menu)
Called before the mainWindow is shown. This is where the view should be initialized. And Builder options loaded from the Pacz. Allows setup and customization of the mainMenu for windows that have them. This should be called by CreateWindow to allow derived classes to customize the menu.