瀏覽代碼

Merge pull request #62060 from fire-forge/h-offset

Rémi Verschelde 3 年之前
父節點
當前提交
57867d8ae3
共有 5 個文件被更改,包括 27 次插入4 次删除
  1. 15 0
      doc/classes/PopupMenu.xml
  2. 1 1
      editor/editor_path.cpp
  3. 1 1
      editor/scene_tree_dock.cpp
  4. 8 1
      scene/gui/popup_menu.cpp
  5. 2 1
      scene/gui/popup_menu.h

+ 15 - 0
doc/classes/PopupMenu.xml

@@ -201,6 +201,13 @@
 				Returns the accelerator of the item at the given [code]index[/code]. Accelerators are special combinations of keys that activate the item, no matter which control is focused.
 				Returns the accelerator of the item at the given [code]index[/code]. Accelerators are special combinations of keys that activate the item, no matter which control is focused.
 			</description>
 			</description>
 		</method>
 		</method>
+		<method name="get_item_horizontal_offset" qualifiers="const">
+			<return type="int" />
+			<argument index="0" name="index" type="int" />
+			<description>
+				Returns the horizontal offset of the item at the given [code]index[/code].
+			</description>
+		</method>
 		<method name="get_item_icon" qualifiers="const">
 		<method name="get_item_icon" qualifiers="const">
 			<return type="Texture2D" />
 			<return type="Texture2D" />
 			<argument index="0" name="index" type="int" />
 			<argument index="0" name="index" type="int" />
@@ -395,6 +402,14 @@
 				Enables/disables the item at the given [code]index[/code]. When it is disabled, it can't be selected and its action can't be invoked.
 				Enables/disables the item at the given [code]index[/code]. When it is disabled, it can't be selected and its action can't be invoked.
 			</description>
 			</description>
 		</method>
 		</method>
+		<method name="set_item_horizontal_offset">
+			<return type="void" />
+			<argument index="0" name="index" type="int" />
+			<argument index="1" name="offset" type="int" />
+			<description>
+				Sets the horizontal offset of the item at the given [code]index[/code].
+			</description>
+		</method>
 		<method name="set_item_icon">
 		<method name="set_item_icon">
 			<return type="void" />
 			<return type="void" />
 			<argument index="0" name="index" type="int" />
 			<argument index="0" name="index" type="int" />

+ 1 - 1
editor/editor_path.cpp

@@ -72,7 +72,7 @@ void EditorPath::_add_children_to_popup(Object *p_obj, int p_depth) {
 
 
 		int index = sub_objects_menu->get_item_count();
 		int index = sub_objects_menu->get_item_count();
 		sub_objects_menu->add_icon_item(icon, proper_name, objects.size());
 		sub_objects_menu->add_icon_item(icon, proper_name, objects.size());
-		sub_objects_menu->set_item_h_offset(index, p_depth * 10 * EDSCALE);
+		sub_objects_menu->set_item_horizontal_offset(index, p_depth * 10 * EDSCALE);
 		objects.push_back(obj->get_instance_id());
 		objects.push_back(obj->get_instance_id());
 
 
 		_add_children_to_popup(obj, p_depth + 1);
 		_add_children_to_popup(obj, p_depth + 1);

+ 1 - 1
editor/scene_tree_dock.cpp

@@ -2655,7 +2655,7 @@ void SceneTreeDock::_add_children_to_popup(Object *p_obj, int p_depth) {
 		}
 		}
 		int index = menu_subresources->get_item_count();
 		int index = menu_subresources->get_item_count();
 		menu_subresources->add_icon_item(icon, E.name.capitalize(), EDIT_SUBRESOURCE_BASE + subresources.size());
 		menu_subresources->add_icon_item(icon, E.name.capitalize(), EDIT_SUBRESOURCE_BASE + subresources.size());
-		menu_subresources->set_item_h_offset(index, p_depth * 10 * EDSCALE);
+		menu_subresources->set_item_horizontal_offset(index, p_depth * 10 * EDSCALE);
 		subresources.push_back(obj->get_instance_id());
 		subresources.push_back(obj->get_instance_id());
 
 
 		_add_children_to_popup(obj, p_depth + 1);
 		_add_children_to_popup(obj, p_depth + 1);

+ 8 - 1
scene/gui/popup_menu.cpp

@@ -1274,6 +1274,11 @@ Ref<Shortcut> PopupMenu::get_item_shortcut(int p_idx) const {
 	return items[p_idx].shortcut;
 	return items[p_idx].shortcut;
 }
 }
 
 
+int PopupMenu::get_item_horizontal_offset(int p_idx) const {
+	ERR_FAIL_INDEX_V(p_idx, items.size(), 0);
+	return items[p_idx].h_ofs;
+}
+
 int PopupMenu::get_item_state(int p_idx) const {
 int PopupMenu::get_item_state(int p_idx) const {
 	ERR_FAIL_INDEX_V(p_idx, items.size(), -1);
 	ERR_FAIL_INDEX_V(p_idx, items.size(), -1);
 	return items[p_idx].state;
 	return items[p_idx].state;
@@ -1339,7 +1344,7 @@ void PopupMenu::set_item_shortcut(int p_idx, const Ref<Shortcut> &p_shortcut, bo
 	control->update();
 	control->update();
 }
 }
 
 
-void PopupMenu::set_item_h_offset(int p_idx, int p_offset) {
+void PopupMenu::set_item_horizontal_offset(int p_idx, int p_offset) {
 	if (p_idx < 0) {
 	if (p_idx < 0) {
 		p_idx += get_item_count();
 		p_idx += get_item_count();
 	}
 	}
@@ -1862,6 +1867,7 @@ void PopupMenu::_bind_methods() {
 	ClassDB::bind_method(D_METHOD("set_item_as_radio_checkable", "index", "enable"), &PopupMenu::set_item_as_radio_checkable);
 	ClassDB::bind_method(D_METHOD("set_item_as_radio_checkable", "index", "enable"), &PopupMenu::set_item_as_radio_checkable);
 	ClassDB::bind_method(D_METHOD("set_item_tooltip", "index", "tooltip"), &PopupMenu::set_item_tooltip);
 	ClassDB::bind_method(D_METHOD("set_item_tooltip", "index", "tooltip"), &PopupMenu::set_item_tooltip);
 	ClassDB::bind_method(D_METHOD("set_item_shortcut", "index", "shortcut", "global"), &PopupMenu::set_item_shortcut, DEFVAL(false));
 	ClassDB::bind_method(D_METHOD("set_item_shortcut", "index", "shortcut", "global"), &PopupMenu::set_item_shortcut, DEFVAL(false));
+	ClassDB::bind_method(D_METHOD("set_item_horizontal_offset", "index", "offset"), &PopupMenu::set_item_horizontal_offset);
 	ClassDB::bind_method(D_METHOD("set_item_multistate", "index", "state"), &PopupMenu::set_item_multistate);
 	ClassDB::bind_method(D_METHOD("set_item_multistate", "index", "state"), &PopupMenu::set_item_multistate);
 	ClassDB::bind_method(D_METHOD("set_item_shortcut_disabled", "index", "disabled"), &PopupMenu::set_item_shortcut_disabled);
 	ClassDB::bind_method(D_METHOD("set_item_shortcut_disabled", "index", "disabled"), &PopupMenu::set_item_shortcut_disabled);
 
 
@@ -1887,6 +1893,7 @@ void PopupMenu::_bind_methods() {
 	ClassDB::bind_method(D_METHOD("is_item_shortcut_disabled", "index"), &PopupMenu::is_item_shortcut_disabled);
 	ClassDB::bind_method(D_METHOD("is_item_shortcut_disabled", "index"), &PopupMenu::is_item_shortcut_disabled);
 	ClassDB::bind_method(D_METHOD("get_item_tooltip", "index"), &PopupMenu::get_item_tooltip);
 	ClassDB::bind_method(D_METHOD("get_item_tooltip", "index"), &PopupMenu::get_item_tooltip);
 	ClassDB::bind_method(D_METHOD("get_item_shortcut", "index"), &PopupMenu::get_item_shortcut);
 	ClassDB::bind_method(D_METHOD("get_item_shortcut", "index"), &PopupMenu::get_item_shortcut);
+	ClassDB::bind_method(D_METHOD("get_item_horizontal_offset", "index"), &PopupMenu::get_item_horizontal_offset);
 
 
 	ClassDB::bind_method(D_METHOD("set_current_index", "index"), &PopupMenu::set_current_index);
 	ClassDB::bind_method(D_METHOD("set_current_index", "index"), &PopupMenu::set_current_index);
 	ClassDB::bind_method(D_METHOD("get_current_index"), &PopupMenu::get_current_index);
 	ClassDB::bind_method(D_METHOD("get_current_index"), &PopupMenu::get_current_index);

+ 2 - 1
scene/gui/popup_menu.h

@@ -186,7 +186,7 @@ public:
 	void set_item_as_radio_checkable(int p_idx, bool p_radio_checkable);
 	void set_item_as_radio_checkable(int p_idx, bool p_radio_checkable);
 	void set_item_tooltip(int p_idx, const String &p_tooltip);
 	void set_item_tooltip(int p_idx, const String &p_tooltip);
 	void set_item_shortcut(int p_idx, const Ref<Shortcut> &p_shortcut, bool p_global = false);
 	void set_item_shortcut(int p_idx, const Ref<Shortcut> &p_shortcut, bool p_global = false);
-	void set_item_h_offset(int p_idx, int p_offset);
+	void set_item_horizontal_offset(int p_idx, int p_offset);
 	void set_item_multistate(int p_idx, int p_state);
 	void set_item_multistate(int p_idx, int p_state);
 	void toggle_item_multistate(int p_idx);
 	void toggle_item_multistate(int p_idx);
 	void set_item_shortcut_disabled(int p_idx, bool p_disabled);
 	void set_item_shortcut_disabled(int p_idx, bool p_disabled);
@@ -212,6 +212,7 @@ public:
 	bool is_item_shortcut_disabled(int p_idx) const;
 	bool is_item_shortcut_disabled(int p_idx) const;
 	String get_item_tooltip(int p_idx) const;
 	String get_item_tooltip(int p_idx) const;
 	Ref<Shortcut> get_item_shortcut(int p_idx) const;
 	Ref<Shortcut> get_item_shortcut(int p_idx) const;
+	int get_item_horizontal_offset(int p_idx) const;
 	int get_item_state(int p_idx) const;
 	int get_item_state(int p_idx) const;
 
 
 	void set_current_index(int p_idx);
 	void set_current_index(int p_idx);