From 5fe978afdeff55c62e03242b5074a941567afd2d Mon Sep 17 00:00:00 2001 From: Deon Ramsey Date: Fri, 15 Mar 2002 21:42:29 +0000 Subject: [PATCH] Bugfix for textEnter in UnixGTK, and new Labels --- ChangeLog | 2 ++ controls.txt | 3 +- src/celengine/simulation.cpp | 2 +- src/celestia/gtkmain.cpp | 58 ++++++++++++++++++++++++++---------- 4 files changed, 47 insertions(+), 18 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0bbe1880b..60aa3ee14 100644 --- a/ChangeLog +++ b/ChangeLog @@ -459,3 +459,5 @@ Code: crashes on some systems * UNIX: Modified GL extension handling code to make it possible to compile against Mesa 4 headers. +* Unix Gtk: removed bug in Text enter mode. (dramsey) +* Unix Gtk: Menus for new Labels. (dramsey) diff --git a/controls.txt b/controls.txt index 208d117d8..566c4e6bc 100644 --- a/controls.txt +++ b/controls.txt @@ -39,6 +39,7 @@ N : Toggle planet and moon labels B : Toggle star labels E : Toggle galaxy labels = : Toggle constellation labels +W : Toggle asteroid labels V : Toggle info text Options: @@ -57,7 +58,7 @@ Ctrl+S : Toggle rendering stars as points (otherwise, they're textures) } : Increase ambient illumination , : Narrow field of view . : Widen field of view -W : Toggle wireframe mode +Ctrl+W : Toggle wireframe mode Ctrl+P : Toggle per-pixel lighting (if supported) Ctrl+V : Toggle vertex programs (if supported) r R: lower or raise texture resolution diff --git a/src/celengine/simulation.cpp b/src/celengine/simulation.cpp index 2144fc9b5..ae6dedfac 100644 --- a/src/celengine/simulation.cpp +++ b/src/celengine/simulation.cpp @@ -698,7 +698,7 @@ void Simulation::gotoSelection(double gotoTime, UniversalCoord pos = selection.getPosition(simTime); Vec3d v = pos - observer.getPosition(); double distance = v.length(); - printf("Distance: %f km\n", astro::microLightYearsToKilometers(distance)); + //printf("Distance: %f km\n", astro::microLightYearsToKilometers(distance)); double maxOrbitDistance; if (selection.body != NULL) maxOrbitDistance = astro::kilometersToMicroLightYears(5.0f * selection.body->getRadius()); diff --git a/src/celestia/gtkmain.cpp b/src/celestia/gtkmain.cpp index e8d4ce915..e11a715aa 100644 --- a/src/celestia/gtkmain.cpp +++ b/src/celestia/gtkmain.cpp @@ -109,8 +109,8 @@ enum Menu_ShowClouds = 2005, Menu_ShowCelestialSphere = 2006, Menu_ShowNightSideMaps = 2007, - Menu_MajorPlanetLabels = 2008, - Menu_MinorPlanetLabels = 2009, + Menu_MoonLabels = 2008, + Menu_AsteroidLabels = 2009, Menu_StarLabels = 2010, Menu_GalaxyLabels = 2011, Menu_ConstellationLabels = 2012, @@ -119,6 +119,7 @@ enum Menu_ShowLocTime = 2015, Menu_ShowEclipseShadows = 2016, Menu_ShowStarsAsPoints = 2017, + Menu_CraftLabels = 2018, }; static void menuSelectSol() @@ -304,22 +305,39 @@ static gint menuConstellationLabels(GtkWidget* w, gpointer data) return TRUE; } -static gint menuMajorPlanetLabels(GtkWidget* w, gpointer data) +static gint menuPlanetLabels(GtkWidget* w, gpointer data) { // bool on = (GTK_CHECK_MENU_ITEM(w)->active == 1); - // SetLabelFlag(Renderer::MajorPlanetLabels, on); - appCore->charEntered('N'); + // SetLabelFlag(Renderer::PlanetLabels, on); + appCore->charEntered('P'); return TRUE; } -static gint menuMinorPlanetLabels(GtkWidget* w, gpointer data) +static gint menuMoonLabels(GtkWidget* w, gpointer data) { // bool on = (GTK_CHECK_MENU_ITEM(w)->active == 1); - // SetLabelFlag(Renderer::MinorPlanetLabels, on); + // SetLabelFlag(Renderer::MoonLabels, on); appCore->charEntered('M'); return TRUE; } +static gint menuAsteroidLabels(GtkWidget* w, gpointer data) +{ + // bool on = (GTK_CHECK_MENU_ITEM(w)->active == 1); + // SetLabelFlag(Renderer::AsteroidLabels, on); + DPRINTF(0,"Asteroid Labels Toggling\n"); + appCore->charEntered('W'); + return TRUE; +} + +static gint menuCraftLabels(GtkWidget* w, gpointer data) +{ + // bool on = (GTK_CHECK_MENU_ITEM(w)->active == 1); + // SetLabelFlag(Renderer::SpacecraftLabels, on); + appCore->charEntered('N'); + return TRUE; +} + static void menuMoreStars() { appCore->charEntered(']'); @@ -1710,8 +1728,10 @@ static GtkItemFactoryEntry menuItems[] = { "/Render/More Stars Visible", "bracketleft", menuMoreStars, 0, NULL }, { "/Render/Fewer Stars Visible", "bracketright", menuLessStars, 0, NULL }, { "/Render/sep2", NULL, NULL, 0, "" }, - { "/Render/Label Major Planets", "N", NULL, Menu_MajorPlanetLabels, "" }, - { "/Render/Label Minor Planets", "M", NULL, Menu_MinorPlanetLabels, "" }, + { "/Render/Label Planets", "P", NULL, Menu_PlanetLabels, "" }, + { "/Render/Label Moons", "M", NULL, Menu_MoonLabels, "" }, + { "/Render/Label Asteroids&Comets", "W",NULL, Menu_AsteroidLabels, "" }, + { "/Render/Label Spacecraft", "N", NULL, Menu_CraftLabels, "" }, { "/Render/Label Stars", "B", NULL, Menu_StarLabels, "" }, { "/Render/Label Galaxies", "E", NULL, Menu_GalaxyLabels, "" }, { "/Render/Label Constellations", "equal",NULL, Menu_ConstellationLabels, "" }, @@ -1790,8 +1810,10 @@ static CheckFunc checks[] = { NULL, "/Render/Show Night Side Lights",checkRenderFlag, 1, Renderer::ShowNightMaps }, { NULL, "/Render/Show Eclipse Shadows", checkRenderFlag, 1, Renderer::ShowEclipseShadows }, { NULL, "/Render/Show Stars as Points", checkRenderFlag, 1, Renderer::ShowStarsAsPoints }, - { NULL, "/Render/Label Major Planets", checkLabelFlag, 1, Renderer::MajorPlanetLabels }, - { NULL, "/Render/Label Minor Planets", checkLabelFlag, 1, Renderer::MinorPlanetLabels }, + { NULL, "/Render/Label Planets", checkLabelFlag, 1, Renderer::PlanetLabels }, + { NULL, "/Render/Label Moons", checkLabelFlag, 1, Renderer::MoonLabels }, + { NULL, "/Render/Label Asteroids&Comets",checkLabelFlag, 1, Renderer::AsteroidLabels }, + { NULL, "/Render/Label Spacecraft", checkLabelFlag, 1, Renderer::SpacecraftLabels }, { NULL, "/Render/Label Stars", checkLabelFlag, 1, Renderer::StarLabels }, { NULL, "/Render/Label Galaxies", checkLabelFlag, 1, Renderer::GalaxyLabels }, { NULL, "/Render/Label Constellations", checkRenderFlag, 1, Renderer::ConstellationLabels }, @@ -1855,10 +1877,14 @@ void createMainMenu(GtkWidget* window, GtkWidget** menubar) GTK_SIGNAL_FUNC(menuShowStarsAsPoints)); setupCheckItem(menuItemFactory, Menu_ShowOrbits, GTK_SIGNAL_FUNC(menuShowOrbits)); - setupCheckItem(menuItemFactory, Menu_MajorPlanetLabels, - GTK_SIGNAL_FUNC(menuMajorPlanetLabels)); - setupCheckItem(menuItemFactory, Menu_MinorPlanetLabels, - GTK_SIGNAL_FUNC(menuMinorPlanetLabels)); + setupCheckItem(menuItemFactory, Menu_PlanetLabels, + GTK_SIGNAL_FUNC(menuPlanetLabels)); + setupCheckItem(menuItemFactory, Menu_MoonLabels, + GTK_SIGNAL_FUNC(menuMoonLabels)); + setupCheckItem(menuItemFactory, Menu_AsteroidLabels, + GTK_SIGNAL_FUNC(menuAsteroidLabels)); + setupCheckItem(menuItemFactory, Menu_CraftLabels, + GTK_SIGNAL_FUNC(menuCraftLabels)); setupCheckItem(menuItemFactory, Menu_StarLabels, GTK_SIGNAL_FUNC(menuStarLabels)); setupCheckItem(menuItemFactory, Menu_GalaxyLabels, @@ -2140,7 +2166,7 @@ gint glarea_key_press(GtkWidget* widget, GdkEventKey* event) if (event->string != NULL) { // See if our key accelerators will handle this event. - if(gtk_accel_groups_activate (GTK_OBJECT (mainWindow), event->keyval, (GdkModifierType)event->state)) + if((!appCore->getTextEnterMode()) && gtk_accel_groups_activate (GTK_OBJECT (mainWindow), event->keyval, (GdkModifierType)event->state)) return TRUE; char* s = event->string;