Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

dialog-tour.h File Reference

#include <gtk/gtk.h>
#include "common.h"

Include dependency graph for dialog-tour.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef _TourData TourData

Functions

void dialogTourGuide (AppData *app)


Typedef Documentation

typedef struct _TourData TourData
 

Definition at line 26 of file dialog-tour.h.


Function Documentation

void dialogTourGuide AppData app  ) 
 

Definition at line 30 of file dialog-tour.cpp.

References _TourData::app, CELSPACING, _TourData::descLabel, Destination::name, TourGuideDestroy(), TourGuideGoto(), and TourGuideSelect().

Referenced by actionTourGuide().

00031 {
00032         TourData* td = g_new0(TourData, 1);
00033         td->app = app;
00034 
00035         GtkWidget* dialog = gtk_dialog_new_with_buttons("Tour Guide...",
00036                                                         GTK_WINDOW(app->mainWindow),
00037                                                         GTK_DIALOG_DESTROY_WITH_PARENT,
00038                                                         GTK_STOCK_CLOSE,
00039                                                         GTK_RESPONSE_CLOSE,
00040                                                         NULL);
00041 
00042         GtkWidget* hbox = gtk_hbox_new(FALSE, CELSPACING); 
00043         gtk_container_set_border_width(GTK_CONTAINER(hbox), CELSPACING);
00044 
00045         GtkWidget* label = gtk_label_new("Select your destination:");
00046         gtk_box_pack_start(GTK_BOX(hbox), label, TRUE, TRUE, 0);
00047 
00048         GtkWidget* menubox = gtk_option_menu_new();
00049         gtk_box_pack_start(GTK_BOX(hbox), menubox, TRUE, TRUE, 0);
00050 
00051         GtkWidget* gotoButton = gtk_button_new_with_label("Go To");
00052         gtk_box_pack_start(GTK_BOX(hbox), gotoButton, TRUE, TRUE, 0);
00053 
00054         gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), hbox, FALSE, TRUE, 0);
00055 
00056         gtk_widget_show(hbox);
00057 
00058         td->descLabel = gtk_label_new("");
00059         gtk_label_set_line_wrap(GTK_LABEL(td->descLabel), TRUE);
00060         gtk_label_set_justify(GTK_LABEL(td->descLabel), GTK_JUSTIFY_FILL);
00061         gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), td->descLabel, TRUE, TRUE, 0);
00062 
00063         GtkWidget* menu = gtk_menu_new();
00064         const DestinationList* destinations = app->core->getDestinations();
00065         if (destinations != NULL)
00066         {
00067                 for (DestinationList::const_iterator iter = destinations->begin();
00068                      iter != destinations->end(); iter++)
00069                 {
00070                         Destination* dest = *iter;
00071                         if (dest != NULL)
00072                         {
00073                                 GtkWidget* item = gtk_menu_item_new_with_label(dest->name.c_str());
00074                                 gtk_menu_append(GTK_MENU(menu), item);
00075                                 gtk_widget_show(item);
00076                         }
00077                 }
00078         }
00079 
00080         g_signal_connect(GTK_OBJECT(menu),
00081                          "selection-done",
00082                          G_CALLBACK(TourGuideSelect),
00083                          td);
00084         g_signal_connect(GTK_OBJECT(gotoButton),
00085                          "pressed",
00086                          G_CALLBACK(TourGuideGoto),
00087                          td);
00088         g_signal_connect(dialog,
00089                          "response",
00090                          G_CALLBACK(TourGuideDestroy),
00091                          td);
00092 
00093         gtk_option_menu_set_menu(GTK_OPTION_MENU(menubox), menu);
00094 
00095         gtk_widget_set_usize(dialog, 440, 300);
00096 
00097         gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_OK);
00098         gtk_widget_show_all(dialog);
00099 }


Generated on Sat Jan 14 22:31:57 2006 for Celestia by  doxygen 1.4.1