|
UsoUIElements 0.1.0
Data Centric implimentation of Unity's UI Elements (UI Toolkit)
|
A custom foldout control that extends Unity's Foldout with USO UI framework functionality. Provides enhanced styling, field validation, data binding capabilities, and integration with the USO UI system. More...
Public Member Functions | |
| UsoFoldout () | |
| Initializes a new instance of the UsoFoldout class with default settings. Creates a basic foldout with USO framework integration enabled. | |
| UsoFoldout (string fieldName, bool state) | |
| Initializes a new instance of the UsoFoldout class with the specified field name and initial state. Creates a foldout with custom identification and sets its expanded/collapsed state. | |
| UsoFoldout (string fieldName, bool state, out UsoFoldout newField) | |
| Initializes a new instance of the UsoFoldout class with field name, initial state, and returns a reference. Provides custom identification and state configuration with an out parameter for immediate access. | |
| UsoFoldout (string fieldName, string headerText) | |
| Initializes a new instance of the UsoFoldout class with field name and header text. Combines custom identification with display text configuration for the header. | |
| UsoFoldout (string fieldName, string headerText, bool state) | |
| Initializes a new instance of the UsoFoldout class with field name, header text, and initial state. Creates a fully configured foldout with custom identification, display text, and expansion state. | |
| UsoFoldout (string fieldName, string headerText, bool state, out UsoFoldout newField) | |
| Initializes a new instance of the UsoFoldout class with full configuration and returns a reference. Provides complete foldout setup with custom identification, header text, state, and immediate access to the created instance. | |
| UsoFoldout (string fieldName, string headerText, out UsoFoldout newField) | |
| Initializes a new instance of the UsoFoldout class with field name, header text, and returns a reference. Provides custom identification and header configuration with an out parameter for immediate access. | |
| UsoFoldout (string headerText) | |
| Initializes a new instance of the UsoFoldout class with the specified header text. Creates a foldout with a custom display text for the header toggle. | |
| void | ApplyBinding (string fieldBindingProp, string fieldBindingPath, BindingMode fieldBindingMode) |
| Applies data binding to the specified property of this control using Unity's data binding system. Configures the binding with the provided path and mode for automatic data synchronization. | |
| UsoLineItem | GetParentLineItem () |
| Retrieves the first ancestor UsoLineItem control in the visual tree hierarchy. This is useful for accessing parent container functionality and maintaining proper UI structure. | |
| void | InitElement (string fieldName=null) |
| Initializes the USO UI element with the specified field name and applies necessary styling classes. This method sets up the basic USO framework integration for the control and configures the header toggle. | |
| void | SetFieldStatus (FieldStatusTypes fieldStatus) |
| Updates the field's status type, which affects its visual appearance and validation state. The status change is automatically reflected in the UI through the FieldStatus property. | |
| void | ShowFieldStatus (bool status) |
| Controls the visibility and functionality of the field status/validation system. When disabled, removes validation-related styling from the control. | |
| Public Member Functions inherited from GWG.UsoUIElements.IUsoUiElement | |
| void | AddToClassList (string className) |
| Adds the specified CSS class name to this element's class list. This method is inherited from Unity's VisualElement and enables dynamic styling modifications. | |
| void | ClearBindings () |
| Removes all data binding configurations from this element. This method is inherited from Unity's VisualElement and provides cleanup functionality for data bindings. | |
| void | RemoveFromClassList (string className) |
| Removes the specified CSS class name from this element's class list. This method is inherited from Unity's VisualElement and provides dynamic styling capabilities. | |
Public Attributes | |
| Toggle | Header |
| Reference to the toggle element that serves as the foldout header. This toggle controls the expanded/collapsed state and can be styled independently. | |
Properties | |
| FieldStatusTypes | FieldStatus [get, private set] |
| Gets the current field status type, which determines the visual state and validation feedback. This property is automatically reflected in the UI through CSS class modifications. | |
| bool | FieldStatusEnabled [get, private set] |
| Gets or sets whether field status/validation functionality is enabled for this control. When enabled, adds validation CSS class for styling. When disabled, removes validation styling. | |
Private Member Functions | |
| ~UsoFoldout () | |
| Finalizer for the UsoFoldout class. Currently empty but reserved for future cleanup operations if needed. | |
Private Attributes | |
| string | _elementHeaderStylesheet |
| Private field for storing custom header stylesheet information. Used for applying specific styling to the foldout header element. | |
| FieldStatusTypes | _fieldStatus |
| bool | _fieldStatusEnabled = true |
Static Private Attributes | |
| const string | DefaultBindProp = "value" |
| Default binding property used when applying data bindings to this field. Binds to the 'value' property which controls the expanded/collapsed state. | |
| const string | ElementClass = "uso-foldout" |
| CSS class name applied to all UsoFoldout instances for styling purposes. | |
| const string | ElementHeaderStylesheet = "uso-foldout-header" |
| CSS class name applied to the foldout header for independent styling of the toggle element. | |
| const string | ElementValidationClass = "uso-field-validation" |
| CSS class name applied when field validation/status functionality is enabled. | |
A custom foldout control that extends Unity's Foldout with USO UI framework functionality. Provides enhanced styling, field validation, data binding capabilities, and integration with the USO UI system.
This control implements the IUsoUiElement interface to provide consistent behavior across the USO UI framework. It supports field status indicators, automatic data binding, and custom styling through CSS classes. The control includes a header toggle element that can be styled independently and supports various constructor overloads for different initialization scenarios. The foldout is configured with flex-shrink: 0 by default to maintain its size.
| GWG.UsoUIElements.UsoFoldout.UsoFoldout | ( | ) |
Initializes a new instance of the UsoFoldout class with default settings. Creates a basic foldout with USO framework integration enabled.
| GWG.UsoUIElements.UsoFoldout.UsoFoldout | ( | string | headerText | ) |
Initializes a new instance of the UsoFoldout class with the specified header text. Creates a foldout with a custom display text for the header toggle.
| headerText | The text to display in the foldout header. |
| GWG.UsoUIElements.UsoFoldout.UsoFoldout | ( | string | fieldName, |
| bool | state ) |
Initializes a new instance of the UsoFoldout class with the specified field name and initial state. Creates a foldout with custom identification and sets its expanded/collapsed state.
| fieldName | The name to assign to this field element. |
| state | True to initialize the foldout as expanded; false for collapsed. |
| GWG.UsoUIElements.UsoFoldout.UsoFoldout | ( | string | fieldName, |
| bool | state, | ||
| out UsoFoldout | newField ) |
Initializes a new instance of the UsoFoldout class with field name, initial state, and returns a reference. Provides custom identification and state configuration with an out parameter for immediate access.
| fieldName | The name to assign to this field element. |
| state | True to initialize the foldout as expanded; false for collapsed. |
| newField | Output parameter that receives a reference to the newly created field. |
| GWG.UsoUIElements.UsoFoldout.UsoFoldout | ( | string | fieldName, |
| string | headerText ) |
Initializes a new instance of the UsoFoldout class with field name and header text. Combines custom identification with display text configuration for the header.
| fieldName | The name to assign to this field element. |
| headerText | The text to display in the foldout header. |
| GWG.UsoUIElements.UsoFoldout.UsoFoldout | ( | string | fieldName, |
| string | headerText, | ||
| out UsoFoldout | newField ) |
Initializes a new instance of the UsoFoldout class with field name, header text, and returns a reference. Provides custom identification and header configuration with an out parameter for immediate access.
| fieldName | The name to assign to this field element. |
| headerText | The text to display in the foldout header. |
| newField | Output parameter that receives a reference to the newly created field. |
| GWG.UsoUIElements.UsoFoldout.UsoFoldout | ( | string | fieldName, |
| string | headerText, | ||
| bool | state ) |
Initializes a new instance of the UsoFoldout class with field name, header text, and initial state. Creates a fully configured foldout with custom identification, display text, and expansion state.
| fieldName | The name to assign to this field element. |
| headerText | The text to display in the foldout header. |
| state | True to initialize the foldout as expanded; false for collapsed. |
| GWG.UsoUIElements.UsoFoldout.UsoFoldout | ( | string | fieldName, |
| string | headerText, | ||
| bool | state, | ||
| out UsoFoldout | newField ) |
Initializes a new instance of the UsoFoldout class with full configuration and returns a reference. Provides complete foldout setup with custom identification, header text, state, and immediate access to the created instance.
| fieldName | The name to assign to this field element. |
| headerText | The text to display in the foldout header. |
| state | True to initialize the foldout as expanded; false for collapsed. |
| newField | Output parameter that receives a reference to the newly created field. |
|
private |
Finalizer for the UsoFoldout class. Currently empty but reserved for future cleanup operations if needed.
| void GWG.UsoUIElements.UsoFoldout.ApplyBinding | ( | string | fieldBindingProp, |
| string | fieldBindingPath, | ||
| BindingMode | fieldBindingMode ) |
Applies data binding to the specified property of this control using Unity's data binding system. Configures the binding with the provided path and mode for automatic data synchronization.
| fieldBindingProp | The property name on this control to bind to. |
| fieldBindingPath | The path to the data source property to bind from. |
| fieldBindingMode | The binding mode that determines how data flows between source and target. |
| Exception | Thrown when binding setup fails. Original exception is preserved and re-thrown. |
Implements GWG.UsoUIElements.IUsoUiElement.
| UsoLineItem GWG.UsoUIElements.UsoFoldout.GetParentLineItem | ( | ) |
Retrieves the first ancestor UsoLineItem control in the visual tree hierarchy. This is useful for accessing parent container functionality and maintaining proper UI structure.
| void GWG.UsoUIElements.UsoFoldout.InitElement | ( | string | fieldName = null | ) |
Initializes the USO UI element with the specified field name and applies necessary styling classes. This method sets up the basic USO framework integration for the control and configures the header toggle.
| fieldName | Optional name to assign to the element. If null, no name is set. |
Implements GWG.UsoUIElements.IUsoUiElement.
| void GWG.UsoUIElements.UsoFoldout.SetFieldStatus | ( | FieldStatusTypes | fieldStatus | ) |
Updates the field's status type, which affects its visual appearance and validation state. The status change is automatically reflected in the UI through the FieldStatus property.
| fieldStatus | The new field status type to apply. |
Implements GWG.UsoUIElements.IUsoUiElement.
| void GWG.UsoUIElements.UsoFoldout.ShowFieldStatus | ( | bool | status | ) |
Controls the visibility and functionality of the field status/validation system. When disabled, removes validation-related styling from the control.
| status | True to enable field status functionality; false to disable it. |
Implements GWG.UsoUIElements.IUsoUiElement.
|
private |
Private field for storing custom header stylesheet information. Used for applying specific styling to the foldout header element.
|
private |
|
private |
|
staticprivate |
Default binding property used when applying data bindings to this field. Binds to the 'value' property which controls the expanded/collapsed state.
|
staticprivate |
CSS class name applied to all UsoFoldout instances for styling purposes.
|
staticprivate |
CSS class name applied to the foldout header for independent styling of the toggle element.
|
staticprivate |
CSS class name applied when field validation/status functionality is enabled.
| Toggle GWG.UsoUIElements.UsoFoldout.Header |
Reference to the toggle element that serves as the foldout header. This toggle controls the expanded/collapsed state and can be styled independently.
|
getprivate set |
Gets the current field status type, which determines the visual state and validation feedback. This property is automatically reflected in the UI through CSS class modifications.
The current FieldStatusTypes value indicating the field's validation state.
Implements GWG.UsoUIElements.IUsoUiElement.
|
getprivate set |
Gets or sets whether field status/validation functionality is enabled for this control. When enabled, adds validation CSS class for styling. When disabled, removes validation styling.
True if field status functionality is enabled; otherwise, false. Default is true.
Implements GWG.UsoUIElements.IUsoUiElement.