DevToys logo DevToys
  • Home
  • Blog
  • Documentation
  • Download
Search Results for

    Show / Hide Table of Contents

    Class UIToolView

    Represents the root ui definition of a IGuiTool.

    Inheritance
    object
    UIToolView
    Implements
    INotifyPropertyChanged
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: DevToys.Api
    Assembly: DevToys.Api.dll
    Syntax
    public class UIToolView : INotifyPropertyChanged

    Constructors

    UIToolView()

    Creates a new instance of the UIToolView class.

    Declaration
    public UIToolView()

    UIToolView(IUIElement?)

    Creates a new instance of the UIToolView class.

    Declaration
    public UIToolView(IUIElement? rootElement)
    Parameters
    Type Name Description
    IUIElement rootElement

    The root element of the tool's UI.

    UIToolView(bool)

    Creates a new instance of the UIToolView class.

    Declaration
    public UIToolView(bool isScrollable)
    Parameters
    Type Name Description
    bool isScrollable

    Indicates whether the UI of the tool is scrollable or should fits to the window boundaries.

    UIToolView(bool, IUIElement?)

    Creates a new instance of the UIToolView class.

    Declaration
    public UIToolView(bool isScrollable, IUIElement? rootElement)
    Parameters
    Type Name Description
    bool isScrollable

    Indicates whether the UI of the tool is scrollable or should fits to the window boundaries.

    IUIElement rootElement

    The root element of the tool's UI.

    Properties

    CurrentOpenedDialog

    Gets the UIDialog currently opened. Only one at a time can be opened.

    Declaration
    public UIDialog? CurrentOpenedDialog { get; }
    Property Value
    Type Description
    UIDialog

    IsScrollable

    Gets whether the UI of the tool is scrollable or should fits to the window boundaries. Default is true.

    Declaration
    public bool IsScrollable { get; }
    Property Value
    Type Description
    bool

    RootElement

    Gets the root element of the tool's UI.

    Declaration
    public IUIElement? RootElement { get; }
    Property Value
    Type Description
    IUIElement

    Methods

    GetChildElementById(string)

    Gets the first child element with the specified id.

    Declaration
    public IUIElement? GetChildElementById(string id)
    Parameters
    Type Name Description
    string id

    The id of a child element.

    Returns
    Type Description
    IUIElement

    Returns null if the element could not be found. If many elements have the name id, this method returns the first it finds

    Remarks

    This method is recursive and navigate through each element in the UI. It can be slow depending on the complexity of the UI. Be cautious when using it.

    OnPropertyChanged(string?)

    Raises the property changed event for the specified property.

    Declaration
    protected void OnPropertyChanged(string? propertyName = null)
    Parameters
    Type Name Description
    string propertyName

    The name of the property. Automatically inferred if not provided.

    OpenDialogAsync(IUIElement, IUIElement?, bool)

    Shows the dialog box in the UI. Only one dialog can be opened at a time.

    Declaration
    public Task<UIDialog> OpenDialogAsync(IUIElement dialogContent, IUIElement? footerContent, bool isDismissible = false)
    Parameters
    Type Name Description
    IUIElement dialogContent

    The element to display in the dialog.

    IUIElement footerContent

    The element to display in the dialog footer.

    bool isDismissible

    Indicates whether the dialog can be closed by clicking outside of the dialog.

    Returns
    Type Description
    Task<UIDialog>

    An instance of the opened dialog.

    OpenDialogAsync(IUIElement, bool)

    Shows the dialog box in the UI. Only one dialog can be opened at a time.

    Declaration
    public Task<UIDialog> OpenDialogAsync(IUIElement dialogContent, bool isDismissible = false)
    Parameters
    Type Name Description
    IUIElement dialogContent

    The element to display in the dialog.

    bool isDismissible

    Indicates whether the dialog can be closed by clicking outside of the dialog.

    Returns
    Type Description
    Task<UIDialog>

    An instance of the opened dialog.

    SetPropertyValue<T>(ref T, T, EventHandler?, string?)

    Sets the property value and raises the property changed event if the value has changed.

    Declaration
    protected void SetPropertyValue<T>(ref T field, T value, EventHandler? propertyChangedEventHandler, string? propertyName = null)
    Parameters
    Type Name Description
    T field

    The reference to the field storing the property value.

    T value

    The new value to set.

    EventHandler propertyChangedEventHandler

    The event handler to raise the property changed event.

    string propertyName

    The name of the property. Automatically inferred if not provided.

    Type Parameters
    Name Description
    T

    The type of the property.

    Events

    CurrentOpenedDialogChanged

    Raised when CurrentOpenedDialog changed.

    Declaration
    public event EventHandler? CurrentOpenedDialogChanged
    Event Type
    Type Description
    EventHandler

    IsScrollableChanged

    Raised when IsScrollable changed.

    Declaration
    public event EventHandler? IsScrollableChanged
    Event Type
    Type Description
    EventHandler

    PropertyChanged

    Raised when a property value changes.

    Declaration
    public event PropertyChangedEventHandler? PropertyChanged
    Event Type
    Type Description
    PropertyChangedEventHandler

    RootElementChanged

    Raised when RootElement changed.

    Declaration
    public event EventHandler? RootElementChanged
    Event Type
    Type Description
    EventHandler

    Implements

    INotifyPropertyChanged

    Extension Methods

    GUI.WithRootElement(UIToolView, IUIElement?)
    LoggingExtensions.Log<T>(T)
    In this article
    DevToys logo © 2024 DevToys