Merge pull request #70868 from Maran23/4-x-scrollcontainer-custom-step-editor
Expose horizontal/vertical `custom_step` as editor property for the `ScrollContainer`
This commit is contained in:
commit
704560cc3c
3 changed files with 36 additions and 0 deletions
|
@ -54,9 +54,15 @@
|
|||
<member name="scroll_horizontal" type="int" setter="set_h_scroll" getter="get_h_scroll" default="0">
|
||||
The current horizontal scroll value.
|
||||
</member>
|
||||
<member name="scroll_horizontal_custom_step" type="float" setter="set_horizontal_custom_step" getter="get_horizontal_custom_step" default="-1.0">
|
||||
Overrides the [member ScrollBar.custom_step] used when clicking the internal scroll bar's horizontal increment and decrement buttons or when using arrow keys when the [ScrollBar] is focused.
|
||||
</member>
|
||||
<member name="scroll_vertical" type="int" setter="set_v_scroll" getter="get_v_scroll" default="0">
|
||||
The current vertical scroll value.
|
||||
</member>
|
||||
<member name="scroll_vertical_custom_step" type="float" setter="set_vertical_custom_step" getter="get_vertical_custom_step" default="-1.0">
|
||||
Overrides the [member ScrollBar.custom_step] used when clicking the internal scroll bar's vertical increment and decrement buttons or when using arrow keys when the [ScrollBar] is focused.
|
||||
</member>
|
||||
<member name="vertical_scroll_mode" type="int" setter="set_vertical_scroll_mode" getter="get_vertical_scroll_mode" enum="ScrollContainer.ScrollMode" default="1">
|
||||
Controls whether vertical scrollbar can be used and when it should be visible. See [enum ScrollMode] for options.
|
||||
</member>
|
||||
|
|
|
@ -482,6 +482,22 @@ int ScrollContainer::get_v_scroll() const {
|
|||
return v_scroll->get_value();
|
||||
}
|
||||
|
||||
void ScrollContainer::set_horizontal_custom_step(float p_custom_step) {
|
||||
h_scroll->set_custom_step(p_custom_step);
|
||||
}
|
||||
|
||||
float ScrollContainer::get_horizontal_custom_step() const {
|
||||
return h_scroll->get_custom_step();
|
||||
}
|
||||
|
||||
void ScrollContainer::set_vertical_custom_step(float p_custom_step) {
|
||||
v_scroll->set_custom_step(p_custom_step);
|
||||
}
|
||||
|
||||
float ScrollContainer::get_vertical_custom_step() const {
|
||||
return v_scroll->get_custom_step();
|
||||
}
|
||||
|
||||
void ScrollContainer::set_horizontal_scroll_mode(ScrollMode p_mode) {
|
||||
if (horizontal_scroll_mode == p_mode) {
|
||||
return;
|
||||
|
@ -570,6 +586,12 @@ void ScrollContainer::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("set_v_scroll", "value"), &ScrollContainer::set_v_scroll);
|
||||
ClassDB::bind_method(D_METHOD("get_v_scroll"), &ScrollContainer::get_v_scroll);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_horizontal_custom_step", "value"), &ScrollContainer::set_horizontal_custom_step);
|
||||
ClassDB::bind_method(D_METHOD("get_horizontal_custom_step"), &ScrollContainer::get_horizontal_custom_step);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_vertical_custom_step", "value"), &ScrollContainer::set_vertical_custom_step);
|
||||
ClassDB::bind_method(D_METHOD("get_vertical_custom_step"), &ScrollContainer::get_vertical_custom_step);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_horizontal_scroll_mode", "enable"), &ScrollContainer::set_horizontal_scroll_mode);
|
||||
ClassDB::bind_method(D_METHOD("get_horizontal_scroll_mode"), &ScrollContainer::get_horizontal_scroll_mode);
|
||||
|
||||
|
@ -594,6 +616,8 @@ void ScrollContainer::_bind_methods() {
|
|||
ADD_GROUP("Scroll", "scroll_");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "scroll_horizontal", PROPERTY_HINT_NONE, "suffix:px"), "set_h_scroll", "get_h_scroll");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "scroll_vertical", PROPERTY_HINT_NONE, "suffix:px"), "set_v_scroll", "get_v_scroll");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "scroll_horizontal_custom_step", PROPERTY_HINT_RANGE, "-1,4096,suffix:px"), "set_horizontal_custom_step", "get_horizontal_custom_step");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "scroll_vertical_custom_step", PROPERTY_HINT_RANGE, "-1,4096,suffix:px"), "set_vertical_custom_step", "get_vertical_custom_step");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "horizontal_scroll_mode", PROPERTY_HINT_ENUM, "Disabled,Auto,Always Show,Never Show"), "set_horizontal_scroll_mode", "get_horizontal_scroll_mode");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "vertical_scroll_mode", PROPERTY_HINT_ENUM, "Disabled,Auto,Always Show,Never Show"), "set_vertical_scroll_mode", "get_vertical_scroll_mode");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "scroll_deadzone"), "set_deadzone", "get_deadzone");
|
||||
|
|
|
@ -98,6 +98,12 @@ public:
|
|||
void set_v_scroll(int p_pos);
|
||||
int get_v_scroll() const;
|
||||
|
||||
void set_horizontal_custom_step(float p_custom_step);
|
||||
float get_horizontal_custom_step() const;
|
||||
|
||||
void set_vertical_custom_step(float p_custom_step);
|
||||
float get_vertical_custom_step() const;
|
||||
|
||||
void set_horizontal_scroll_mode(ScrollMode p_mode);
|
||||
ScrollMode get_horizontal_scroll_mode() const;
|
||||
|
||||
|
|
Loading…
Reference in a new issue