Add and adjust more scroll hints in the editor
This commit is contained in:
@@ -1321,6 +1321,22 @@ void EditorAudioBuses::_file_dialog_callback(const String &p_string) {
|
||||
open_layout(p_string);
|
||||
}
|
||||
|
||||
void EditorAudioBuses::update_layout(EditorDock::DockLayout p_layout) {
|
||||
bool new_floating = (p_layout == EditorDock::DOCK_LAYOUT_FLOATING);
|
||||
if (floating == new_floating) {
|
||||
return;
|
||||
}
|
||||
floating = new_floating;
|
||||
|
||||
if (floating) {
|
||||
bus_mc->set_theme_type_variation("NoBorderHorizontalBottom");
|
||||
bus_scroll->set_scroll_hint_mode(ScrollContainer::SCROLL_HINT_MODE_TOP_AND_LEFT);
|
||||
} else {
|
||||
bus_mc->set_theme_type_variation("NoBorderBottomPanel");
|
||||
bus_scroll->set_scroll_hint_mode(ScrollContainer::SCROLL_HINT_MODE_ALL);
|
||||
}
|
||||
}
|
||||
|
||||
void EditorAudioBuses::_bind_methods() {
|
||||
ClassDB::bind_method("_update_bus", &EditorAudioBuses::_update_bus);
|
||||
ClassDB::bind_method("_update_sends", &EditorAudioBuses::_update_sends);
|
||||
@@ -1387,15 +1403,15 @@ EditorAudioBuses::EditorAudioBuses() {
|
||||
top_hb->add_child(_new);
|
||||
_new->connect(SceneStringName(pressed), callable_mp(this, &EditorAudioBuses::_new_layout));
|
||||
|
||||
MarginContainer *mc = memnew(MarginContainer);
|
||||
mc->set_theme_type_variation("NoBorderHorizontal");
|
||||
mc->set_v_size_flags(SIZE_EXPAND_FILL);
|
||||
main_vb->add_child(mc);
|
||||
bus_mc = memnew(MarginContainer);
|
||||
bus_mc->set_theme_type_variation("NoBorderBottomPanel");
|
||||
bus_mc->set_v_size_flags(SIZE_EXPAND_FILL);
|
||||
main_vb->add_child(bus_mc);
|
||||
|
||||
bus_scroll = memnew(ScrollContainer);
|
||||
bus_scroll->set_scroll_hint_mode(ScrollContainer::SCROLL_HINT_MODE_ALL);
|
||||
bus_scroll->set_custom_minimum_size(Size2(0, 40 * EDSCALE));
|
||||
mc->add_child(bus_scroll);
|
||||
bus_mc->add_child(bus_scroll);
|
||||
|
||||
bus_hb = memnew(HBoxContainer);
|
||||
bus_hb->set_v_size_flags(SIZE_EXPAND_FILL);
|
||||
|
||||
@@ -42,7 +42,6 @@
|
||||
#include "scene/gui/scroll_container.h"
|
||||
#include "scene/gui/slider.h"
|
||||
#include "scene/gui/texture_progress_bar.h"
|
||||
#include "scene/gui/texture_rect.h"
|
||||
#include "scene/gui/tree.h"
|
||||
|
||||
class EditorAudioBuses;
|
||||
@@ -154,6 +153,7 @@ class EditorAudioBuses : public EditorDock {
|
||||
|
||||
HBoxContainer *top_hb = nullptr;
|
||||
|
||||
MarginContainer *bus_mc = nullptr;
|
||||
ScrollContainer *bus_scroll = nullptr;
|
||||
HBoxContainer *bus_hb = nullptr;
|
||||
|
||||
@@ -170,6 +170,8 @@ class EditorAudioBuses : public EditorDock {
|
||||
Timer *save_timer = nullptr;
|
||||
String edited_path;
|
||||
|
||||
bool floating = false;
|
||||
|
||||
void _update_file_label_size();
|
||||
|
||||
void _rebuild_buses();
|
||||
@@ -201,6 +203,8 @@ protected:
|
||||
static void _bind_methods();
|
||||
void _notification(int p_what);
|
||||
|
||||
virtual void update_layout(EditorDock::DockLayout p_layout) override;
|
||||
|
||||
public:
|
||||
void open_layout(const String &p_path);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user