Allow to use sliders for integers in EditorSpinSlider

This commit is contained in:
Michael Alexsander
2025-09-12 12:40:07 -03:00
parent ba0da90ba6
commit f16ff829f0
21 changed files with 189 additions and 97 deletions

View File

@ -68,7 +68,15 @@ class EditorSpinSlider : public Range {
uint64_t value_input_closed_frame = 0;
bool value_input_dirty = false;
bool hide_slider = false;
public:
enum ControlState {
CONTROL_STATE_DEFAULT,
CONTROL_STATE_PREFER_SLIDER,
CONTROL_STATE_HIDE,
};
private:
ControlState control_state = CONTROL_STATE_DEFAULT;
bool flat = false;
bool editing_integer = false;
@ -110,8 +118,13 @@ public:
void set_suffix(const String &p_suffix);
String get_suffix() const;
void set_control_state(ControlState p_type);
ControlState get_control_state() const;
#ifndef DISABLE_DEPRECATED
void set_hide_slider(bool p_hide);
bool is_hiding_slider() const;
#endif
void set_editing_integer(bool p_editing_integer);
bool is_editing_integer() const;
@ -130,3 +143,5 @@ public:
virtual Size2 get_minimum_size() const override;
EditorSpinSlider();
};
VARIANT_ENUM_CAST(EditorSpinSlider::ControlState)