Exemplo n.º 1
0
void moth_gui::goto_page(unsigned int number)
{
	if (page_is_moving())
		return;
	if (number < 1 || number > book->get_pages()) {
		moth_dialog dialog;
		std::string info("\"Bad page number\"");
		dialog.info(info);
		return;
	}
	if (book->get_page() == (number & (int)(~0x1)))
		return;

	number = (number & ~(0x1));
	dir = (book->get_page() > (number)) ? move_left : move_right;
	int page_before = book->get_page();
	book->set_page(number);
	if (check_textures())
		load_textures();
	book->set_page(page_before);
	move_by_pages = abs(number - page_before);
	moving_page = 1;
	moving_page_ctr = moving_ctr;
	sleep_time = moving_sleep_time;
}
Exemplo n.º 2
0
void moth_gui::move_page_right()
{
	stop_show_search_res();
	if (page_is_moving() || book->page_last())
		return;
	dir = move_right;
	if (check_textures())
		load_textures();
	moving_page = 1;
	moving_page_ctr = moving_ctr;
	sleep_time = moving_sleep_time;
}
// menu_action: Called when a menu/toolbar item is selected
// ----------------------------------------------------- >>
static void menu_action(GtkAction *action)
{
	string act = gtk_action_get_name(action);

	if (act == "WadManager")
		open_main_window();
	else if (act == "Exit")
		gtk_main_quit();
	else if (act == "Close")
		file_close();
	else if (act == "ModeVerts")
		change_edit_mode(0);
	else if (act == "ModeLines")
		change_edit_mode(1);
	else if (act == "ModeSectors")
		change_edit_mode(2);
	else if (act == "ModeThings")
		change_edit_mode(3);
	else if (act == "Mode3d")
	{
		if (map.opened)
			start_3d_mode();
	}
	else if (act == "ShowConsole")
		popup_console();
	else if (act == "ShowScriptEditor")
		open_script_edit();
	else if (act == "Preferences")
		open_prefs_dialog();
	else if (act == "About")
	{
		gtk_show_about_dialog(GTK_WINDOW(editor_window),
								"name", "SLADE",
								"comments", "by Simon 'SlayeR' Judd, 2005",
								"version", __SLADEVERS,
								"website", "http://slade.mancubus.net",
								NULL);
	}
	else if (act == "Save")
	{
		if (edit_wad)
			file_save();
		else
			file_saveas();
	}
	else if (act == "SaveAs")
		file_saveas();
	else if (act == "MergeSectors")
		sector_merge(false);
	else if (act == "JoinSectors")
		sector_merge(true);
	else if (act == "CreateDoor")
		sector_create_door(open_texture_browser(true, false, false, "-"));
	else if (act == "CreateStairs")
		edit_create_stairs();
	else if (act == "CheckMapStats")
		check_map_stats();
	else if (act == "CheckTags")
		message_box(parse_string("%d Tags Cleaned", clean_tags()), GTK_MESSAGE_INFO);
	else if (act == "CheckVerts")
		message_box(parse_string("%d Vertices Removed", remove_free_verts()), GTK_MESSAGE_INFO);
	else if (act == "CheckLines")
		message_box(parse_string("%d 0-Length Lines Removed", remove_zerolength_lines()), GTK_MESSAGE_INFO);
	else if (act == "CheckSectors")
		message_box(parse_string("%d Sectors Removed", remove_unused_sectors()), GTK_MESSAGE_INFO);
	else if (act == "CheckTextures")
		check_textures();
	else if (act == "AlignX")
		line_align_x();
	else if (act == "CorrectRefs")
		line_correct_references();
	else if (act == "SplitLine")
	{
		int splits = 2;
		string ret = entry_box("Enter Number Of Splits:");

		if (ret != "")
			splits = atoi(ret.c_str());

		line_split(splits);
	}
	else
		message_box("Menu action not implemented", GTK_MESSAGE_INFO);

	force_map_redraw(true, true);
}