![]() |
NDEVR
API Documentation
|
A widget allowing easy access to change the properties of a designObject by showing a toggle to the user. More...
Public Member Functions | |
| DesignObjectToggleWidget (QWidget *parent=nullptr) | |
| Constructs a DesignObjectToggleWidget for toggling a boolean property of a design object. | |
| void | clearTarget () |
| Clears the current target design object. | |
| void | setNDPO (NDPO property) |
| Sets the design object property to toggle and updates the title accordingly. | |
| void | setTarget (const DynamicPointer< QTDesignObject > &object) |
| Sets the target design object, connecting update and deletion signals. | |
| void | setTarget (NDPO property, const DynamicPointer< QTDesignObject > &object) |
| Sets both the target design object and the boolean property to toggle. | |
| void | setupForMetadata (const String &metadata) |
| Configures this widget to toggle a specific metadata key. | |
| void | setupForMetadata (const TranslatedString &title, String meta_data) |
| Configures this widget to toggle a specific metadata key with a custom title. | |
| Public Member Functions inherited from Toggle | |
| Toggle (const std::function< void(Button *)> &on_click) | |
| Constructs a Toggle with a click callback. | |
| Toggle (const TranslatedString &name, const std::function< void(Button *)> &on_click) | |
| Constructs a Toggle with a label and click callback. | |
| Toggle (const TranslatedString &name, const StringView &icon, const std::function< void(Button *)> &on_click) | |
| Constructs a Toggle with a label, icon, and click callback. | |
| Toggle (const TranslatedString &name, const StringView &icon, Resource< bool > &on_click) | |
| Constructs a Toggle bound to a boolean Resource. | |
| Toggle (QWidget *parent=nullptr) | |
| Constructs a Toggle with an optional parent widget. | |
| QSize | minimumSizeHint () const override |
| Returns the minimum recommended size for the toggle widget. | |
| float | offset () const |
| Returns the current horizontal offset of the slider knob. | |
| void | setOffset (float o) |
| Sets the horizontal offset of the slider knob and triggers a repaint. | |
| QSize | sizeHint () const override |
| Returns the recommended size for the toggle widget. | |
| Public Member Functions inherited from Button | |
| Button (ButtonState state, QWidget *parent=nullptr) | |
| Constructs a Button with a specified visual state. | |
| Button (const std::function< void(Button *)> &on_click, QWidget *parent=nullptr) | |
| Constructs a Button with a click callback. | |
| Button (const TranslatedString &name, const std::function< void(Button *)> &on_click, QWidget *parent=nullptr) | |
| Constructs a Button with a title and click callback. | |
| Button (const TranslatedString &name, const StringView &icon, const std::function< void(Button *)> &on_click, QWidget *parent=nullptr) | |
| Constructs a Button with a title, icon, and click callback. | |
| Button (const TranslatedString &name, const StringView &icon, TooltipType tooltip, const std::function< void(Button *)> &on_click, QWidget *parent=nullptr) | |
| Constructs a Button with a title, icon, tooltip type, and click callback. | |
| Button (const TranslatedString &name, const StringView &icon=StringView(), QWidget *parent=nullptr) | |
| Constructs a Button with a title and optional icon. | |
| Button (QWidget *parent=nullptr) | |
| Constructs a Button with an optional parent widget. | |
| ~Button () | |
| Destroys the Button and releases resources. | |
| ButtonState | buttonState () const |
| Returns the current visual state of the button. | |
| void | clearBackgroundColor () |
| Clears any custom background color, reverting to the theme default. | |
| void | copyButtonFrom (Button *button) |
| Copies all visual properties and settings from another Button. | |
| void | enterEvent (ButtonEnterEvent *e) override |
| Handles the mouse enter event. | |
| bool | event (QEvent *e) override |
| Processes a generic event, handling theme and style changes. | |
| bool | eventFilter (QObject *watched, QEvent *event) override |
| Filters events for watched objects, used for push button event forwarding. | |
| const String & | iconName () const |
| Returns the current icon resource name. | |
| void | leaveEvent (QEvent *e) override |
| Handles the mouse leave event. | |
| QMenu * | menu () const |
| Returns the dropdown menu attached to this button, if any. | |
| QSize | minimumSizeHint () const override |
| Returns the minimum recommended size for the button. | |
| void | paintEvent (QPaintEvent *event) override |
| Handles the paint event, rendering the button with its current style and state. | |
| bool | requestButtonState (ButtonState state) |
| Requests that the button adopt the specified state, returning whether it was accepted. | |
| void | requestFixedState (bool fixed_state) |
| Requests that the button maintain a fixed state, preventing automatic state changes. | |
| int | scaledIconSize () const |
| Returns the icon size after applying the current size multiplier. | |
| void | setAlignment (Qt::Alignment m_alignment) |
| Sets the text alignment within the button. | |
| void | setAutoDefault (bool is_auto_default) |
| Sets whether the button is an auto-default button in dialogs. | |
| void | setBackgroundColor (const RGBColor &color, bool update_foreground=true) |
| Sets a custom background color for the button. | |
| void | setBackgroundOpacity (fltp04 background_opacity) |
| Sets the opacity of the button background (0.0 = transparent, 1.0 = opaque). | |
| void | setBold (bool is_bold) |
| Sets whether the button text is rendered in bold. | |
| void | setButtonDialog (ButtonDialog *dialog) |
| Associates a ButtonDialog with this button for toggle-controlled dialog visibility. | |
| void | setButtonState (ButtonState state) |
| Sets the visual state/style of the button. | |
| void | setCheckable (bool checkable) |
| Sets whether the button supports a checked/unchecked toggle state. | |
| void | setChecked (bool checked) |
| Sets the checked state of the button. | |
| void | setCheckedIconName (const StringView &icon) |
| Sets an alternate icon displayed when the button is checked. | |
| void | setClickCooldown (const TimeSpan &span) |
| Sets the minimum time between successive click events. | |
| void | setDefault (bool is_default) |
| Sets whether the button is the default button in dialogs. | |
| void | setDisabledToolTip (const TranslatedString &tooltip) |
| Sets the tooltip shown when the button is disabled. | |
| void | setFlat (bool is_flat) |
| Sets whether the button has a flat (borderless) appearance. | |
| void | setFocusOnPress (bool focus_on_press) |
| Sets whether the button should receive focus when pressed. | |
| void | setFontMultiplier (fltp04 font_multiplier) |
| Sets a multiplier for the button's font size. | |
| void | setForErrorOrSuccess (bool is_error, bool is_success) |
| Sets the button's visual state to indicate an error or success condition. | |
| void | setFunction (const std::function< void(Button *)> &on_click) |
| Sets the callback function invoked when the button is clicked. | |
| void | setHoverFunction (const std::function< void(Button *, bool hovering)> &on_hover) |
| Sets a callback function invoked when the mouse enters or leaves the button. | |
| void | setHoverIconName (const StringView &icon) |
| Sets an alternate icon displayed when the button is hovered. | |
| void | setHoverIconSizeMultiplier (fltp04 icon_size_multiplier) |
| Sets a multiplier for the icon size when the button is hovered. | |
| void | setIcon (const QIcon &icon) |
| Sets the icon directly from a QIcon object. | |
| void | setIconColor (const RGBColor &color) |
| Sets a custom color for the button icon. | |
| void | setIconName (const StringView &icon) |
| Sets the icon by resource name, triggering an icon update. | |
| void | setIconSize (int size) |
| Sets the icon size in pixels, overriding automatic scaling. | |
| void | setIconSizeMultiplier (fltp04 icon_size_multiplier) |
| Sets a multiplier for the default icon size. | |
| void | setIgnoreClicks (bool ignore_clicks) |
| Sets whether click events should be ignored. | |
| void | setLogOutput (bool log_output) |
| Enables or disables logging of button click events. | |
| void | setMargin (uint04 margin) |
| Sets the margin around the button content in pixels. | |
| void | setMenu (QMenu *menu) |
| Sets a dropdown QMenu to display when the button is clicked. | |
| void | setMenuDialog (QWidget *widget) |
| Sets a widget to be shown as a popup menu when the button is clicked. | |
| void | setPressFunction (const std::function< void(Button *, bool hovering)> &on_press) |
| Sets a callback function invoked when the button is pressed or released. | |
| void | setProgressPercent (fltp04 progress) |
| Sets a progress percentage to display as an overlay on the button. | |
| void | setSound (const StringView &sound) |
| Sets the sound played when the button is clicked. | |
| void | setText (const QString &text) |
| Sets the display text of the button (Qt override). | |
| void | setTitle (const TranslatedString &title) |
| Sets the display title of the button. | |
| void | setToolTip (const QString &tip) |
| Sets the tooltip text from a QString. | |
| void | setToolTip (const TranslatedString &enabled_tooltip, const TranslatedString &disabled_tooltip) |
| Sets separate tooltips for the enabled and disabled states. | |
| void | setToolTip (const TranslatedString &tooltip) |
| Sets the tooltip text from a TranslatedString. | |
| void | setToolTip (TooltipType type) |
| Sets the tooltip from a predefined tooltip type. | |
| void | setup (ApplicationOption< bool > &checked_var) |
| Sets up the button as a checkable toggle bound to an ApplicationOption<bool>. | |
| void | setup (const TranslatedString &name, const StringView &icon, ApplicationOption< bool > &checked_var) |
| Sets up the button with a name, icon, and ApplicationOption<bool> binding. | |
| void | setup (const TranslatedString &name, const StringView &icon, const std::function< void(Button *)> &on_click) |
| Sets up the button with a name, icon, and click callback. | |
| void | setup (const TranslatedString &name, const StringView &icon, Resource< bool > &checked_var) |
| Sets up the button as a checkable toggle bound to a bool Resource. | |
| void | setup (const TranslatedString &name, const StringView &icon, TooltipType tooltip, const std::function< void(Button *)> &on_click) |
| Sets up the button with a name, icon, tooltip type, and click callback. | |
| void | setup (GenericOption &checked_var) |
| Sets up the button from a GenericOption, using its name, icon, and value. | |
| void | showPopupMenu (QWidget *widget, bool is_popup=true) |
| Shows a popup menu widget anchored to this button. | |
| void | showToolTip () const |
| Programmatically shows the button's tooltip at the button's position. | |
| QSize | sizeHint () const override |
| Returns the recommended size for the button. | |
| int | styleDefaultIconSize () const |
| Returns the default icon size as determined by the current style. | |
| const TranslatedString & | title () const |
| Returns the translated title of the button. | |
| void | virtualMouseEvent (QEvent::Type event) |
| Simulates a mouse event of the given type on the button. | |
Protected Member Functions | |
| void | onObjectDeletedSlot () |
| Slot called when the target design object is deleted, clearing the target. | |
| void | onObjectUpdatedSlot () |
| Slot called when the target design object is updated, refreshing the toggle state. | |
| void | sendCommand () |
| Sends the current toggle state as a command to the target design object. | |
| Protected Member Functions inherited from Toggle | |
| void | mouseReleaseEvent (QMouseEvent *) override |
| Handles mouse release to toggle the checked state. | |
| void | onChecked (bool checked) |
| Slot invoked when the checked state changes, triggers the slide animation. | |
| void | paintEvent (QPaintEvent *) override |
| Custom paint handler that draws the toggle slider in touch mode. | |
| void | setupToggle () |
| Performs initial configuration of the toggle appearance and behavior. | |
| int | sliderHeight () const |
| Returns the height of the slider track in pixels. | |
| QRect | sliderRect () const |
| Returns the bounding rectangle of the slider knob. | |
| int | sliderWidth () const |
| Returns the width of the slider track in pixels. | |
| int | spacing () const |
| Returns the spacing between the slider and the label in pixels. | |
| Protected Member Functions inherited from Button | |
| void | mousePressEvent (QMouseEvent *) override |
| Handles the mouse press event. | |
| void | mouseReleaseEvent (QMouseEvent *) override |
| Handles the mouse release event for click detection. | |
| void | onButtonClickSlot () |
| Slot invoked when the button is clicked, executing the click callback. | |
| void | onButtonPressSlot () |
| Slot invoked when the button is pressed down. | |
| void | onButtonReleaseSlot () |
| Slot invoked when the button is released. | |
Protected Attributes | |
| String | m_meta_data |
| The metadata key when toggling metadata properties. | |
| NDPO | m_property |
| The design object property being toggled. | |
| DynamicPointer< QTDesignObject > | m_target |
| The target design object. | |
| TranslatedString | m_title |
| The custom display title, if set. | |
| Protected Attributes inherited from Button | |
| Qt::Alignment | m_alignment |
| Text alignment within the button. | |
| fltp04 | m_background_opacity = 1.0f |
| Opacity of the button background. | |
| String | m_checked_icon |
| Icon resource name displayed when checked. | |
| TimeSpan | m_click_cooldown = TimeSpan(0.1) |
| Minimum duration between successive clicks. | |
| String | m_current_icon |
| The currently displayed icon resource name. | |
| ButtonDialog * | m_dialog = nullptr |
| Associated ButtonDialog for toggle-controlled visibility. | |
| TranslatedString | m_disabled_tooltip |
| Tooltip shown when the button is disabled. | |
| TranslatedString | m_enabled_tooltip |
| Tooltip shown when the button is enabled. | |
| bool | m_fixed_state_requested = false |
| Whether the button state has been locked. | |
| bool | m_focus_on_press = true |
| Whether the button receives focus when pressed. | |
| fltp04 | m_font_multiplier = 1.0f |
| Multiplier applied to the default font size. | |
| bool | m_has_custom_background_color = false |
| Whether a custom background color has been set. | |
| String | m_hover_icon |
| Icon resource name displayed on hover. | |
| fltp04 | m_hover_icon_size_multiplier = Constant<fltp04>::Invalid |
| Icon size multiplier when hovered, or Invalid for default. | |
| String | m_icon |
| The requested icon resource name. | |
| RGBColor | m_icon_color |
| Custom icon color override. | |
| fltp04 | m_icon_size_multiplier = 1.0f |
| Multiplier applied to the default icon size. | |
| QTResourceListener * | m_icon_theme_listener = nullptr |
| Listener for icon theme changes. | |
| bool | m_ignore_clicks = false |
| Whether to ignore click events. | |
| bool | m_is_auto_default_button = false |
| Whether this is an auto-default button in a dialog. | |
| bool | m_is_bold = false |
| Whether the button text is bold. | |
| bool | m_is_default_button = false |
| Whether this is the default button in a dialog. | |
| Time | m_last_click_time = Time(0) |
| Timestamp of the most recent click event. | |
| bool | m_log_output = true |
| Whether click events are logged. | |
| uint04 | m_margin = Constant<uint04>::Invalid |
| Custom margin around button content, or Invalid for default. | |
| QPointer< QWidget > | m_menu_dialog = nullptr |
| Widget shown as a popup menu on click. | |
| std::function< void(Button *)> | m_on_click = nullptr |
| Callback invoked on button click. | |
| std::function< void(Button *, bool hovering)> | m_on_hover = nullptr |
| Callback invoked on hover state change. | |
| std::function< void(Button *, bool pressing)> | m_on_press = nullptr |
| Callback invoked on press state change. | |
| fltp04 | m_progress = Constant<fltp04>::Invalid |
| Progress overlay value (0.0-1.0), or Invalid to hide. | |
| QPushButton * | m_push_button = nullptr |
| Internal QPushButton used for push button state rendering. | |
| String | m_sound |
| Sound resource name played on click. | |
| ButtonState | m_state = ButtonState::e_large |
| The current visual state/style of the button. | |
| TranslatedString | m_title |
| The display title of the button. | |
Additional Inherited Members | |
| Public Types inherited from Button | |
| enum | ButtonState { e_large , e_medium , e_medium_centered , e_small , e_circular , e_circular_small , e_push_button , e_none } |
| Defines the visual size and style of the button. More... | |
| Static Public Attributes inherited from Button | |
| static String | s_default_sound |
| The default sound played by all buttons on click. | |
A widget allowing easy access to change the properties of a designObject by showing a toggle to the user.
Definition at line 43 of file DesignObjectToggleWidget.h.
|
inline |
Constructs a DesignObjectToggleWidget for toggling a boolean property of a design object.
| [in] | parent | The parent widget. |
Definition at line 51 of file DesignObjectToggleWidget.h.
References Toggle::Toggle(), m_property, property_size, sendCommand(), and Button::setFunction().
|
inline |
Sets the design object property to toggle and updates the title accordingly.
| [in] | property | The NDPO property to bind to. |
Definition at line 103 of file DesignObjectToggleWidget.h.
References String::DisplayString(), m_meta_data, m_property, m_title, meta_data, onObjectUpdatedSlot(), and Button::setTitle().
Referenced by setTarget(), setupForMetadata(), and setupForMetadata().
|
inline |
Sets the target design object, connecting update and deletion signals.
| [in] | object | The design object to edit. |
Definition at line 81 of file DesignObjectToggleWidget.h.
References QTDesignObject::deletedSignal(), m_target, onObjectDeletedSlot(), onObjectUpdatedSlot(), and QTDesignObject::updatedSignal().
|
inline |
Sets both the target design object and the boolean property to toggle.
| [in] | property | The NDPO property to bind to. |
| [in] | object | The design object to edit. |
Definition at line 72 of file DesignObjectToggleWidget.h.
References setNDPO(), and setTarget().
Referenced by clearTarget(), onObjectDeletedSlot(), and setTarget().
|
inline |
Configures this widget to toggle a specific metadata key.
| [in] | metadata | The metadata key to toggle. |
Definition at line 130 of file DesignObjectToggleWidget.h.
References m_meta_data, meta_data, and setNDPO().
|
inline |
Configures this widget to toggle a specific metadata key with a custom title.
| [in] | title | The display title for the widget. |
| [in] | meta_data | The metadata key to toggle. |
Definition at line 120 of file DesignObjectToggleWidget.h.
References m_meta_data, m_title, meta_data, setNDPO(), and Button::title().