当前位置: 首页>>代码示例>>C++>>正文


C++ emit_signal函数代码示例

本文整理汇总了C++中emit_signal函数的典型用法代码示例。如果您正苦于以下问题:C++ emit_signal函数的具体用法?C++ emit_signal怎么用?C++ emit_signal使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了emit_signal函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: emit_signal

void CreateDialog::_update_favorite_list() {

	favorites->clear();
	TreeItem *root = favorites->create_item();
	for (int i = 0; i < favorite_list.size(); i++) {
		String l = favorite_list[i];
		String name = l.split(" ")[0];
		if (!(ClassDB::class_exists(name) || ScriptServer::is_global_class(name)))
			continue;
		TreeItem *ti = favorites->create_item(root);
		ti->set_text(0, l);
		ti->set_icon(0, EditorNode::get_singleton()->get_class_icon(l, base_type));
	}
	emit_signal("favorites_updated");
}
开发者ID:timoschwarzer,项目名称:godot,代码行数:15,代码来源:create_dialog.cpp

示例2: print_verbose

void FindInFiles::start() {
	if (_pattern == "") {
		print_verbose("Nothing to search, pattern is empty");
		emit_signal(SIGNAL_FINISHED);
		return;
	}
	if (_extension_filter.size() == 0) {
		print_verbose("Nothing to search, filter matches no files");
		emit_signal(SIGNAL_FINISHED);
		return;
	}

	// Init search
	_current_dir = "";
	PoolStringArray init_folder;
	init_folder.append(_root_dir);
	_folders_stack.clear();
	_folders_stack.push_back(init_folder);

	_initial_files_count = 0;

	_searching = true;
	set_process(true);
}
开发者ID:deliciousfudge,项目名称:godot,代码行数:24,代码来源:find_in_files.cpp

示例3: emit_signal

Error Object::emit_signal(const StringName &p_name, VARIANT_ARG_DECLARE) {

	VARIANT_ARGPTRS;

	int argc = 0;

	for (int i = 0; i < VARIANT_ARG_MAX; i++) {

		if (argptr[i]->get_type() == Variant::NIL)
			break;
		argc++;
	}

	return emit_signal(p_name, argptr, argc);
}
开发者ID:Bonfi96,项目名称:godot,代码行数:15,代码来源:object.cpp

示例4: ERR_FAIL_INDEX

void GeometryInstance::set_flag(Flags p_flag,bool p_value) {

	ERR_FAIL_INDEX(p_flag,FLAG_MAX);
	if (flags[p_flag]==p_value)
		return;

	flags[p_flag]=p_value;
	VS::get_singleton()->instance_geometry_set_flag(get_instance(),(VS::InstanceFlags)p_flag,p_value);
	if (p_flag==FLAG_VISIBLE) {
		_change_notify("geometry/visible");
		emit_signal(SceneStringNames::get_singleton()->visibility_changed);
	}


}
开发者ID:9cat,项目名称:godot,代码行数:15,代码来源:visual_instance.cpp

示例5: get_node

void SceneTreeEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) {

	if (!can_drop_data_fw(p_point, p_data, p_from))
		return;

	TreeItem *item = tree->get_item_at_pos(p_point);
	if (!item)
		return;
	int section = tree->get_drop_section_at_pos(p_point);
	if (section < -1)
		return;

	NodePath np = item->get_metadata(0);
	Node *n = get_node(np);
	if (!n)
		return;

	Dictionary d = p_data;

	if (String(d["type"]) == "nodes") {
		Array nodes = d["nodes"];
		emit_signal("nodes_rearranged", nodes, np, section);
	}

	if (String(d["type"]) == "files") {

		Vector<String> files = d["files"];

		String ftype = EditorFileSystem::get_singleton()->get_file_type(files[0]);
		if (_is_script_type(ftype)) {
			emit_signal("script_dropped", files[0], np);
		} else {
			emit_signal("files_dropped", files, np, section);
		}
	}
}
开发者ID:MattUV,项目名称:godot,代码行数:36,代码来源:scene_tree_editor.cpp

示例6: emit_signal

void EditorSubScene::ok_pressed() {


	TreeItem *s = tree->get_selected();
	if (!s)
		return;
	Node *selnode = s->get_metadata(0);
	if (!selnode)
		return;
	emit_signal("subscene_selected");
	hide();
	clear();


}
开发者ID:0871087123,项目名称:godot,代码行数:15,代码来源:editor_sub_scene.cpp

示例7: get_constant

void SplitContainer::_gui_input(const Ref<InputEvent> &p_event) {

	if (collapsed || !_getch(0) || !_getch(1) || dragger_visibility != DRAGGER_VISIBLE)
		return;

	Ref<InputEventMouseButton> mb = p_event;

	if (mb.is_valid()) {

		if (mb->get_button_index() == BUTTON_LEFT) {

			if (mb->is_pressed()) {

				int sep = get_constant("separation");

				if (vertical) {

					if (mb->get_position().y > middle_sep && mb->get_position().y < middle_sep + sep) {

						dragging = true;
						drag_from = mb->get_position().y;
						drag_ofs = expand_ofs;
					}
				} else {

					if (mb->get_position().x > middle_sep && mb->get_position().x < middle_sep + sep) {

						dragging = true;
						drag_from = mb->get_position().x;
						drag_ofs = expand_ofs;
					}
				}
			} else {

				dragging = false;
			}
		}
	}

	Ref<InputEventMouseMotion> mm = p_event;

	if (mm.is_valid() && dragging) {

		expand_ofs = drag_ofs + ((vertical ? mm->get_position().y : mm->get_position().x) - drag_from);
		queue_sort();
		emit_signal("dragged", get_split_offset());
	}
}
开发者ID:brakhane,项目名称:godot,代码行数:48,代码来源:split_container.cpp

示例8: while

void Node::_propagate_enter_tree() {
	// this needs to happen to all childs before any enter_tree

	if (data.parent) {
		data.tree=data.parent->data.tree;
		data.depth=data.parent->data.depth+1;
	} else {

		data.depth=1;
	}
	
	data.viewport = cast_to<Viewport>();
	if (!data.viewport)
		data.viewport = data.parent->data.viewport;

	data.inside_tree=true;

	const StringName *K=NULL;

	while ((K=data.grouped.next(K))) {

		data.tree->add_to_group(*K,this);
	}


	notification(NOTIFICATION_ENTER_TREE);

	if (get_script_instance()) {

		Variant::CallError err;
		get_script_instance()->call_multilevel_reversed(SceneStringNames::get_singleton()->_enter_tree,NULL,0);
	}

	emit_signal(SceneStringNames::get_singleton()->enter_tree);


	data.blocked++;
	//block while adding children

	for (int i=0;i<data.children.size();i++) {
		
		if (!data.children[i]->is_inside_tree()) // could have been added in enter_tree
			data.children[i]->_propagate_enter_tree();
	}	

	data.blocked--;
	// enter groups
}
开发者ID:Martho42,项目名称:godot,代码行数:48,代码来源:node.cpp

示例9: emit_signal

void Popup::popup() {

	emit_signal("about_to_show");
	show_modal(exclusive);


	_fix_size();

	Control *focusable = find_next_valid_focus();

	if (focusable)
		focusable->grab_focus();

	_post_popup();
	notification(NOTIFICATION_POST_POPUP);
}
开发者ID:0871087123,项目名称:godot,代码行数:16,代码来源:popup.cpp

示例10: set_color

void ColorPicker::_value_changed(double) {

	if (updating)
		return;

	for(int i=0;i<4;i++) {
		color.components[i] = scroll[i]->get_val()/(raw_mode_enabled?1.0:255.0);
	}

	set_color(color);

	_update_text_value();

	emit_signal("color_changed",color);

}
开发者ID:SPTelur,项目名称:godot,代码行数:16,代码来源:color_picker.cpp

示例11: emit_signal

void StreamPlayer::stop() {

	if (!is_inside_tree())
		return;
	if (playback.is_null())
		return;

	//_THREAD_SAFE_METHOD_
	AudioServer::get_singleton()->stream_set_active(stream_rid,false);
	stop_request=false;
	playback->stop();
	resampler.flush();
	emit_signal("finished");

	//set_idle_process(false);
}
开发者ID:hellaguy130,项目名称:godot,代码行数:16,代码来源:stream_player.cpp

示例12: pr

void EditorFileSystem::reimport_files(const Vector<String> &p_files) {

	importing = true;
	EditorProgress pr("reimport", TTR("(Re)Importing Assets"), p_files.size());
	for (int i = 0; i < p_files.size(); i++) {
		pr.step(p_files[i].get_file(), i);

		_reimport_file(p_files[i]);
	}

	_save_filesystem_cache();
	importing = false;
	if (!is_scanning()) {
		emit_signal("filesystem_changed");
	}
}
开发者ID:rrrfffrrr,项目名称:godot,代码行数:16,代码来源:editor_file_system.cpp

示例13: ERR_FAIL_COND

void ScriptTextEditor::set_edited_script(const Ref<Script>& p_script) {

	ERR_FAIL_COND(!script.is_null());

	script=p_script;


	_load_theme_settings();

	code_editor->get_text_edit()->set_text(script->get_source_code());
	code_editor->get_text_edit()->clear_undo_history();
	code_editor->get_text_edit()->tag_saved_version();

	emit_signal("name_changed");
	code_editor->update_line_and_column();
}
开发者ID:Blake-Hudson,项目名称:godot,代码行数:16,代码来源:script_text_editor.cpp

示例14: set_pick_color

void ColorPicker::_html_entered(const String &p_html) {

	if (updating)
		return;

	float last_alpha = color.a;
	color = Color::html(p_html);
	if (!is_editing_alpha())
		color.a = last_alpha;

	if (!is_inside_tree())
		return;

	set_pick_color(color);
	emit_signal("color_changed", color);
}
开发者ID:ialex32x,项目名称:godot,代码行数:16,代码来源:color_picker.cpp

示例15: ERR_FAIL_COND

void ARVRServer::add_interface(const Ref<ARVRInterface> &p_interface) {
	ERR_FAIL_COND(p_interface.is_null());

	for (int i = 0; i < interfaces.size(); i++) {

		if (interfaces[i] == p_interface) {
			ERR_PRINT("Interface was already added");
			return;
		};
	};

	print_line("ARVR: Registered interface: " + p_interface->get_name());

	interfaces.push_back(p_interface);
	emit_signal("interface_added", p_interface->get_name());
};
开发者ID:d-stewart,项目名称:godot,代码行数:16,代码来源:arvr_server.cpp


注:本文中的emit_signal函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。