You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-16 14:00:40 +00:00
Add a API to add/remove items to the "Tools" menu
This commit is contained in:
committed by
Rémi Verschelde
parent
e0faf8a51b
commit
b24b52d56b
@@ -27,6 +27,7 @@
|
||||
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
/*************************************************************************/
|
||||
#include "editor_plugin.h"
|
||||
#include "scene/gui/popup_menu.h"
|
||||
#include "scene/3d/camera.h"
|
||||
#include "plugins/canvas_item_editor_plugin.h"
|
||||
#include "plugins/spatial_editor_plugin.h"
|
||||
@@ -132,6 +133,24 @@ void EditorPlugin::add_control_to_container(CustomControlContainer p_location,Co
|
||||
}
|
||||
}
|
||||
|
||||
void EditorPlugin::add_tool_menu_item(const String& p_name, Object *p_handler, const String& p_callback, const Variant& p_ud) {
|
||||
|
||||
EditorNode::get_singleton()->add_tool_menu_item(p_name, p_handler, p_callback, p_ud);
|
||||
}
|
||||
|
||||
void EditorPlugin::add_tool_submenu_item(const String& p_name, Object *p_submenu) {
|
||||
|
||||
ERR_FAIL_NULL(p_submenu);
|
||||
PopupMenu *submenu = p_submenu->cast_to<PopupMenu>();
|
||||
ERR_FAIL_NULL(submenu);
|
||||
EditorNode::get_singleton()->add_tool_submenu_item(p_name, submenu);
|
||||
}
|
||||
|
||||
void EditorPlugin::remove_tool_menu_item(const String& p_name) {
|
||||
|
||||
EditorNode::get_singleton()->remove_tool_menu_item(p_name);
|
||||
}
|
||||
|
||||
Ref<SpatialEditorGizmo> EditorPlugin::create_spatial_gizmo(Spatial* p_spatial) {
|
||||
//??
|
||||
if (get_script_instance() && get_script_instance()->has_method("create_spatial_gizmo")) {
|
||||
@@ -351,6 +370,9 @@ void EditorPlugin::_bind_methods() {
|
||||
ClassDB::bind_method(_MD("add_control_to_dock","slot","control:Control"),&EditorPlugin::add_control_to_dock);
|
||||
ClassDB::bind_method(_MD("remove_control_from_docks","control:Control"),&EditorPlugin::remove_control_from_docks);
|
||||
ClassDB::bind_method(_MD("remove_control_from_bottom_panel","control:Control"),&EditorPlugin::remove_control_from_bottom_panel);
|
||||
ClassDB::bind_method(_MD("add_tool_menu_item", "name", "handler", "callback", "ud"),&EditorPlugin::add_tool_menu_item,DEFVAL(Variant()));
|
||||
ClassDB::bind_method(_MD("add_tool_submenu_item", "name", "submenu:PopupMenu"),&EditorPlugin::add_tool_submenu_item);
|
||||
ClassDB::bind_method(_MD("remove_tool_menu_item", "name"),&EditorPlugin::remove_tool_menu_item);
|
||||
ClassDB::bind_method(_MD("add_custom_type","type","base","script:Script","icon:Texture"),&EditorPlugin::add_custom_type);
|
||||
ClassDB::bind_method(_MD("remove_custom_type","type"),&EditorPlugin::remove_custom_type);
|
||||
ClassDB::bind_method(_MD("get_editor_viewport:Control"), &EditorPlugin::get_editor_viewport);
|
||||
|
||||
Reference in New Issue
Block a user