xentara-workbench-plugin v1.0.1
The Xentara Workbench Plugin Framework
Loading...
Searching...
No Matches
xentara::workbench::bindings Namespace Reference

UI bindings and bindable properties. More...

Namespaces

namespace  functional
 

Classes

class  AbstractElementBinding
 Base class for UI bindings for all types of elements. More...
 
class  AbstractJsonEditor
 Type-independent base class for JSON editors. More...
 
class  AbstractSpinBox
 Type-independent base class for spin boxes. More...
 
class  AttributePicker
 A picker for element attributes. More...
 
class  CollapsibleGroup
 A group that can be expanded and collapsed by the user. More...
 
class  ComboBox
 A combo box. More...
 
class  CrossReferenceController
 Base class for objects that contain a cross reference from one property controller to another. More...
 
class  DurationEdit
 An editor for time durations. More...
 
class  ElementBinding
 Base class for UI bindings for a certain type of element. More...
 
class  ElementPicker
 A picker for elements. More...
 
class  EventPicker
 A picker for element events. More...
 
class  FormField
 Base class for fields that can be added to a form. More...
 
class  FormGroup
 Base class for specialized groups that can be added to a form. More...
 
class  GroupField
 Base class for fields that can be added to a group or collapsible group. More...
 
class  ImportButton
 A button for generating child elements by importing an external file. More...
 
class  InfoField
 A read-only text field that can be used to show some non-editable information. More...
 
class  JsonEditor
 A field for editing JSON text. More...
 
class  PasswordField
 A text field for password entry. More...
 
class  PlaceholderNotice
 A notice that an element is a placeholder element. More...
 
class  PropertyChangedCallback
 A callback for changes to a property. More...
 
class  PropertyContainer
 Base class for objects that contain properties, directly or indirectly. More...
 
class  PropertyController
 An object that manages bindable properties. More...
 
class  PropertyHandle
 A handle for accessing a property. More...
 
class  PropertyId
 An ID to identify a property in a property controller. More...
 
class  SpinBox
 A spin box for entering numeric values. More...
 
class  SubElementList
 A list of sub elements. More...
 
class  SubElementPage
 A sub element shown on a separate page. More...
 
class  TaskPicker
 A picker for element tasks. More...
 
class  TextField
 A single-line text field. More...
 
class  TimePointEdit
 An editor for a time point. More...
 
class  ToggleSwitch
 A toggle switch for selecting a Boolean option. More...
 
class  UuidEdit
 An editor for a UUID. More...
 

Concepts

concept  Getter
 A concept that describes getters for bindings for a specific value.
 
concept  Setter
 A concept that describes setters for bindings for a specific value.
 
concept  Bindable
 A concept that describes values that can be bound to a binding.
 
concept  StringGetter
 A concept that describes getters for string bindings.
 
concept  StringSetter
 A concept that describes setters for string bindings.
 
concept  StringChecker
 A concept that describes checkers for string bindings.
 
concept  StringBindable
 A concept that describes values that can be bound to a string binding.
 
concept  SubElementFactoryFunction
 A concept that describes a factory function for creating sub elements.
 
concept  Callback
 A concept that describes const callbacks.
 
concept  ConstCallback
 A concept that describes const callbacks.
 
concept  JsonType
 A concept describing types that can be edited in a JSON editor.
 
concept  PropertyChangedInvocable
 A concept that describes objects that can be used as a property callback.
 

Typedefs

using ForEachSubPropertyContainerFunction = utils::functional::function_ref< auto(PropertyContainer &) ->void >
 A function object used to iterate over all the sub properties of a property container.
 
using ForEachCrossReferenceFunction = utils::functional::function_ref< auto(CrossReferenceController &) ->void >
 A function object used to iterate over all the cross reference contained within a property container.
 

Enumerations

enum class  Action { ValueChanged , ElementChanged , ElementInserted , ElementRemoved }
 Actions that can be published by a property controller. More...
 

Detailed Description

UI bindings and bindable properties.

This namespace contains the facilities necessary to bind bindable properties to the UI elements used to edit them.

Typedef Documentation

◆ ForEachCrossReferenceFunction

◆ ForEachSubPropertyContainerFunction

A function object used to iterate over all the sub properties of a property container.

See also
bindings::PropertyContainer::forEachChildPropertyContainer()

Enumeration Type Documentation

◆ Action

Actions that can be published by a property controller.

Include file
#include <xentara/workbench/bindings/Types.hpp>
Enumerator
ValueChanged 

The entire value of a property has changed.

For list-based properties, this indicates that complex changes were made to the list, and
the entire list should be updated. 
ElementChanged 

The element at the given index of a list-based property has changed.

ElementInserted 

An element was inserted into a list-based property at the given index.

ElementRemoved 

The element at the given index was removed from a list-based property.