actions.cpp

来自「celestia源代码」· C++ 代码 · 共 1,258 行 · 第 1/3 页

CPP
1,258
字号
		gtk_window_fullscreen(GTK_WINDOW(app->mainWindow));	}	else		gtk_window_unfullscreen(GTK_WINDOW(app->mainWindow));	/* Enable/Disable the Viewer Size action */	gtk_action_set_sensitive(gtk_action_group_get_action(app->agMain, "ViewerSize"), !app->fullScreen);		#ifdef GNOME	gconf_client_set_bool(app->client, "/apps/celestia/fullScreen", app->fullScreen, NULL);	#endif}void actionViewOptions(GtkAction*, AppData* app){	dialogViewOptions(app);}void actionStarsMore(GtkAction*, AppData* app){	app->core->charEntered(']');		#ifdef GNOME	gconf_client_set_float(app->client, "/apps/celestia/visualMagnitude", app->simulation->getFaintestVisible(), NULL);	#endif}void actionStarsFewer(GtkAction*, AppData* app){	app->core->charEntered('[');	#ifdef GNOME	gconf_client_set_float(app->client, "/apps/celestia/visualMagnitude", app->simulation->getFaintestVisible(), NULL);	#endif}void actionMenuBarVisible(GtkToggleAction* action, AppData* app){	g_object_set(G_OBJECT(app->mainMenu), "visible", gtk_toggle_action_get_active(action), NULL);}void actionMultiSplitH(GtkAction*, AppData* app){	app->core->splitView(View::HorizontalSplit);}void actionMultiSplitV(GtkAction*, AppData* app){	app->core->splitView(View::VerticalSplit);}void actionMultiCycle(GtkAction*, AppData* app){	/* Pass a Tab character */	app->core->charEntered('\011');}void actionMultiDelete(GtkAction*, AppData* app){	app->core->deleteView();}void actionMultiSingle(GtkAction*, AppData* app){	app->core->singleView();}void actionMultiShowFrames(GtkToggleAction* action, AppData* app){	app->core->setFramesVisible(gtk_toggle_action_get_active(action));}void actionMultiShowActive(GtkToggleAction* action, AppData* app){	app->core->setActiveFrameVisible(gtk_toggle_action_get_active(action));}void actionMultiSyncTime(GtkToggleAction* action, AppData* app){	app->simulation->setSyncTime(gtk_toggle_action_get_active(action));}void actionRunDemo(GtkAction*, AppData* app){	app->core->charEntered('D');}void actionHelpControls(GtkAction*, AppData* app){	char *txt = readFromFile("controls.txt");	textInfoDialog(txt, "Mouse and Keyboard Controls", app);	g_free(txt);}void actionHelpOpenGL(GtkAction*, AppData* app){	/* Code grabbed from winmain.cpp */	char* vendor = (char*) glGetString(GL_VENDOR);	char* render = (char*) glGetString(GL_RENDERER);	char* version = (char*) glGetString(GL_VERSION);	char* ext = (char*) glGetString(GL_EXTENSIONS);		string s;	s = "Vendor: ";	if (vendor != NULL)		s += vendor;	s += "\n";	s += "Renderer: ";	if (render != NULL)		s += render;	s += "\n";	s += "Version: ";	if (version != NULL)		s += version;	s += "\n";	char buf[100];	GLint simTextures = 1;	if (ExtensionSupported("GL_ARB_multitexture"))		glGetIntegerv(GL_MAX_TEXTURE_UNITS_ARB, &simTextures);	sprintf(buf, "Max simultaneous textures: %d\n", simTextures);	s += buf;	GLint maxTextureSize = 0;	glGetIntegerv(GL_MAX_TEXTURE_SIZE, &maxTextureSize);	sprintf(buf, "Max texture size: %d\n\n", maxTextureSize);	s += buf;	s += "Supported Extensions:\n    ";	if (ext != NULL)	{		string extString(ext);		unsigned int pos = extString.find(' ', 0);		while (pos != (unsigned int)string::npos)		{			extString.replace(pos, 1, "\n    ");			pos = extString.find(' ', pos + 5);		}		s += extString;	}	textInfoDialog(s.c_str(), "Open GL Info", app);}void actionHelpAbout(GtkAction*, AppData* app){	const gchar* authors[] = {		"Chris Laurel <claurel@shatters.net>",		"Clint Weisbrod <cweisbrod@cogeco.ca>",		"Fridger Schrempp <fridger.schrempp@desy.de>",		"Bob Ippolito <bob@redivi.com>",		"Christophe Teyssier <chris@teyssier.org>",		"Hank Ramsey <hramsey@users.sourceforce.net>",		"Grant Hutchison <grantcelestia@xemaps.com>",		"Pat Suwalski <pat@suwalski.net>",		"Toti <>",		"Da-Woon Jung <dirkpitt2050@users.sf.net>",		NULL    };	GdkPixbuf *logo = gdk_pixbuf_new_from_file ("celestia-logo.png", NULL);		gtk_show_about_dialog(GTK_WINDOW(app->mainWindow),	                     "name", "Celestia",	                     "version", VERSION,	                     "copyright", "Copyright \xc2\xa9 2001-2005 Chris Laurel",	                     "comments", FRONTEND " Front-End",	                     "website", "http://celestia.sf.net",	                     "authors", authors,	                     "license", readFromFile("COPYING"),	                     "logo", logo,	                     NULL);}void actionVerbosity(GtkRadioAction* action, GtkRadioAction*, AppData* app){	int value = gtk_radio_action_get_current_value(action);	app->core->setHudDetail(value);		#ifdef GNOME	gconf_client_set_int(app->client, "/apps/celestia/verbosity", value, NULL);	#endif}void actionStarStyle(GtkRadioAction* action, GtkRadioAction*, AppData* app){	int value = gtk_radio_action_get_current_value(action);	app->renderer->setStarStyle((Renderer::StarStyle)value);		#ifdef GNOME	gconf_client_set_int(app->client, "/apps/celestia/starStyle", value, NULL);	#endif}void actionAmbientLight(GtkRadioAction* action, GtkRadioAction*, AppData* app){	float value = amLevels[gtk_radio_action_get_current_value(action)];	app->renderer->setAmbientLightLevel(value);	#ifdef GNOME	gconf_client_set_float(app->client, "/apps/celestia/ambientLight", value, NULL);	#endif}/* Render-Flag Actions */void actionRenderAA(GtkToggleAction* action, AppData* app){	setRenderFlag(app, Renderer::ShowSmoothLines, gtk_toggle_action_get_active(action));}void actionRenderAtmospheres(GtkToggleAction* action, AppData* app){	setRenderFlag(app, Renderer::ShowAtmospheres, gtk_toggle_action_get_active(action));}void actionRenderAutoMagnitude(GtkToggleAction* action, AppData* app){	setRenderFlag(app, Renderer::ShowAutoMag, gtk_toggle_action_get_active(action));}void actionRenderCelestialGrid(GtkToggleAction* action, AppData* app){	setRenderFlag(app, Renderer::ShowCelestialSphere, gtk_toggle_action_get_active(action));}void actionRenderClouds(GtkToggleAction* action, AppData* app){	setRenderFlag(app, Renderer::ShowCloudMaps, gtk_toggle_action_get_active(action));}void actionRenderCometTails(GtkToggleAction* action, AppData* app){	setRenderFlag(app, Renderer::ShowCometTails, gtk_toggle_action_get_active(action));}void actionRenderConstellationBoundaries(GtkToggleAction* action, AppData* app){	setRenderFlag(app, Renderer::ShowBoundaries, gtk_toggle_action_get_active(action));}void actionRenderConstellations(GtkToggleAction* action, AppData* app){	setRenderFlag(app, Renderer::ShowDiagrams, gtk_toggle_action_get_active(action));}void actionRenderEclipseShadows(GtkToggleAction* action, AppData* app){	setRenderFlag(app, Renderer::ShowEclipseShadows, gtk_toggle_action_get_active(action));}void actionRenderGalaxies(GtkToggleAction* action, AppData* app){	setRenderFlag(app, Renderer::ShowGalaxies, gtk_toggle_action_get_active(action));}void actionRenderMarkers(GtkToggleAction* action, AppData* app){	setRenderFlag(app, Renderer::ShowMarkers, gtk_toggle_action_get_active(action));}void actionRenderNebulae(GtkToggleAction* action, AppData* app){	setRenderFlag(app, Renderer::ShowNebulae, gtk_toggle_action_get_active(action));}void actionRenderNightLights(GtkToggleAction* action, AppData* app){	setRenderFlag(app, Renderer::ShowNightMaps, gtk_toggle_action_get_active(action));}void actionRenderOpenClusters(GtkToggleAction* action, AppData* app){	setRenderFlag(app, Renderer::ShowOpenClusters, gtk_toggle_action_get_active(action));}void actionRenderOrbits(GtkToggleAction* action, AppData* app){	setRenderFlag(app, Renderer::ShowOrbits, gtk_toggle_action_get_active(action));}void actionRenderPlanets(GtkToggleAction* action, AppData* app){	setRenderFlag(app, Renderer::ShowPlanets, gtk_toggle_action_get_active(action));}void actionRenderRingShadows(GtkToggleAction* action, AppData* app){	setRenderFlag(app, Renderer::ShowRingShadows, gtk_toggle_action_get_active(action));}void actionRenderStars(GtkToggleAction* action, AppData* app){	setRenderFlag(app, Renderer::ShowStars, gtk_toggle_action_get_active(action));}void actionOrbitAsteroids(GtkToggleAction* action, AppData* app){	setOrbitMask(app, Body::Asteroid, gtk_toggle_action_get_active(action));}void actionOrbitComets(GtkToggleAction* action, AppData* app){	setOrbitMask(app, Body::Comet, gtk_toggle_action_get_active(action));}void actionOrbitMoons(GtkToggleAction* action, AppData* app){	setOrbitMask(app, Body::Moon, gtk_toggle_action_get_active(action));}void actionOrbitPlanets(GtkToggleAction* action, AppData* app){	setOrbitMask(app, Body::Planet, gtk_toggle_action_get_active(action));}void actionOrbitSpacecraft(GtkToggleAction* action, AppData* app){	setOrbitMask(app, Body::Spacecraft, gtk_toggle_action_get_active(action));}void actionLabelAsteroids(GtkToggleAction* action, AppData* app){	setLabelMode(app, Renderer::AsteroidLabels, gtk_toggle_action_get_active(action));}void actionLabelComets(GtkToggleAction* action, AppData* app){	setLabelMode(app, Renderer::CometLabels, gtk_toggle_action_get_active(action));}void actionLabelConstellations(GtkToggleAction* action, AppData* app){	setLabelMode(app, Renderer::ConstellationLabels, gtk_toggle_action_get_active(action));}void actionLabelGalaxies(GtkToggleAction* action, AppData* app){	setLabelMode(app, Renderer::GalaxyLabels, gtk_toggle_action_get_active(action));}void actionLabelLocations(GtkToggleAction* action, AppData* app){	setLabelMode(app, Renderer::LocationLabels, gtk_toggle_action_get_active(action));}void actionLabelMoons(GtkToggleAction* action, AppData* app){	setLabelMode(app, Renderer::MoonLabels, gtk_toggle_action_get_active(action));}void actionLabelNebulae(GtkToggleAction* action, AppData* app){	setLabelMode(app, Renderer::NebulaLabels, gtk_toggle_action_get_active(action));}void actionLabelOpenClusters(GtkToggleAction* action, AppData* app){	setLabelMode(app, Renderer::OpenClusterLabels, gtk_toggle_action_get_active(action));}void actionLabelPlanets(GtkToggleAction* action, AppData* app){	setLabelMode(app, Renderer::PlanetLabels, gtk_toggle_action_get_active(action));}void actionLabelSpacecraft(GtkToggleAction* action, AppData* app)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?