summaryrefslogtreecommitdiff
path: root/editor/editor_inspector.h
diff options
context:
space:
mode:
Diffstat (limited to 'editor/editor_inspector.h')
-rw-r--r--editor/editor_inspector.h49
1 files changed, 47 insertions, 2 deletions
diff --git a/editor/editor_inspector.h b/editor/editor_inspector.h
index a6b183799f..454622d662 100644
--- a/editor/editor_inspector.h
+++ b/editor/editor_inspector.h
@@ -55,6 +55,9 @@ private:
bool draw_red;
bool keying;
+ Rect2 right_child_rect;
+ Rect2 bottom_child_rect;
+
Rect2 keying_rect;
bool keying_hover;
Rect2 revert_rect;
@@ -76,10 +79,14 @@ private:
bool selected;
int selected_focusable;
+ float split_ratio;
+
Vector<Control *> focusables;
Control *label_reference;
Control *bottom_editor;
+ mutable String tooltip_text;
+
protected:
void _notification(int p_what);
static void _bind_methods();
@@ -134,7 +141,14 @@ public:
void set_selectable(bool p_selectable);
bool is_selectable() const;
+ void set_name_split_ratio(float p_ratio);
+ float get_name_split_ratio() const;
+
void set_object_and_property(Object *p_object, const StringName &p_property);
+ virtual Control *make_custom_tooltip(const String &p_text) const;
+
+ String get_tooltip_text() const;
+
EditorProperty();
};
@@ -172,12 +186,17 @@ class EditorInspectorCategory : public Control {
Ref<Texture> icon;
String label;
Color bg_color;
+ mutable String tooltip_text;
protected:
void _notification(int p_what);
+ static void _bind_methods();
public:
virtual Size2 get_minimum_size() const;
+ virtual Control *make_custom_tooltip(const String &p_text) const;
+
+ String get_tooltip_text() const;
EditorInspectorCategory();
};
@@ -189,9 +208,12 @@ class EditorInspectorSection : public Container {
String section;
Object *object;
VBoxContainer *vbox;
+ bool vbox_added; //optimization
Color bg_color;
bool foldable;
+ void _test_unfold();
+
protected:
void _notification(int p_what);
static void _bind_methods();
@@ -208,6 +230,7 @@ public:
Object *get_edited_object();
EditorInspectorSection();
+ ~EditorInspectorSection();
};
class EditorInspector : public ScrollContainer {
@@ -244,19 +267,28 @@ class EditorInspector : public ScrollContainer {
bool update_all_pending;
bool read_only;
bool keying;
+ bool use_sub_inspector_bg;
- int refresh_countdown;
+ float refresh_countdown;
bool update_tree_pending;
StringName _prop_edited;
StringName property_selected;
int property_focusable;
+ int update_scroll_request;
Map<StringName, Map<StringName, String> > descr_cache;
Map<StringName, String> class_descr_cache;
+ Set<StringName> restart_request_props;
+
+ Map<ObjectID, int> scroll_cache;
+
+ String property_prefix; //used for sectioned inspector
+ String object_class;
void _edit_set(const String &p_name, const Variant &p_value, bool p_refresh_all, const String &p_changed_field);
- void _property_changed(const String &p_path, const Variant &p_value);
+ void _property_changed(const String &p_path, const Variant &p_value, bool changing = false);
+ void _property_changed_update_all(const String &p_path, const Variant &p_value);
void _multiple_properties_changed(Vector<String> p_paths, Array p_values);
void _property_keyed(const String &p_path);
void _property_keyed_with_value(const String &p_path, const Variant &p_value);
@@ -275,6 +307,8 @@ class EditorInspector : public ScrollContainer {
void _filter_changed(const String &p_text);
void _parse_added_editors(VBoxContainer *current_vbox, Ref<EditorInspectorPlugin> ped);
+ void _vscroll_changed(double);
+
protected:
static void _bind_methods();
void _notification(int p_what);
@@ -284,6 +318,8 @@ public:
static void remove_inspector_plugin(const Ref<EditorInspectorPlugin> &p_plugin);
static void cleanup_plugins();
+ static EditorProperty *instantiate_property_editor(Object *p_object, Variant::Type p_type, const String &p_path, PropertyHint p_hint, const String &p_hint_text, int p_usage);
+
void set_undo_redo(UndoRedo *p_undo_redo);
String get_selected_path() const;
@@ -314,6 +350,7 @@ public:
void set_property_selectable(bool p_selectable);
void set_use_folding(bool p_enable);
+ bool is_using_folding();
void collapse_all_folding();
void expand_all_folding();
@@ -321,6 +358,14 @@ public:
void set_scroll_offset(int p_offset);
int get_scroll_offset() const;
+ void set_property_prefix(const String &p_prefix);
+ String get_property_prefix() const;
+
+ void set_object_class(const String &p_class);
+ String get_object_class() const;
+
+ void set_use_sub_inspector_bg(bool p_enable);
+
EditorInspector();
};