コード例 #1
0
ファイル: scene_tree_dock.cpp プロジェクト: 19Staceys/godot
void SceneTreeDock::_unhandled_key_input(InputEvent p_event) {


	uint32_t sc = p_event.key.get_scancode_with_modifiers();
	if (!p_event.key.pressed || p_event.key.echo)
		return;

	switch(sc) {
		case KEY_MASK_CMD|KEY_A: { _tool_selected(TOOL_NEW); } break;
		case KEY_MASK_CMD|KEY_D: { _tool_selected(TOOL_DUPLICATE); } break;
		case KEY_MASK_CMD|KEY_UP: { _tool_selected(TOOL_MOVE_UP); } break;
		case KEY_MASK_CMD|KEY_DOWN: { _tool_selected(TOOL_MOVE_DOWN); } break;
		case KEY_DELETE: { _tool_selected(TOOL_ERASE); } break;
	}
}
コード例 #2
0
ファイル: resources_dock.cpp プロジェクト: 0871087123/godot
void ResourcesDock::save_resource_as(const Ref<Resource>& p_resource) {


	add_resource(p_resource);
	TreeItem *root=resources->get_root();
	ERR_FAIL_COND(!root);

	TreeItem *existing=root->get_children();

	while(existing) {

		Ref<Resource> r = existing->get_metadata(0);
		if (r==p_resource) {
			//existing->move_to_top();
			existing->select(0);
			resources->ensure_cursor_is_visible();
			return; // existing
		}
		existing=existing->get_next();
	}

	ERR_FAIL_COND(!existing);

	existing->select(0);

	_tool_selected(TOOL_SAVE_AS);




}