From 6eda082acd838093811ac5e5f959e77dd38aad05 Mon Sep 17 00:00:00 2001 From: Liam Girdwood Date: Mon, 7 Jul 2008 21:35:46 +0100 Subject: [PATCH] ui: menu & toolbar - added default code and test handlers. --- src/main.c | 67 +++++++++++++++++++++++++++++++++++++++------------- src/sky/projection.c | 12 +++++----- 2 files changed, 56 insertions(+), 23 deletions(-) diff --git a/src/main.c b/src/main.c index 8967cc4..8a00550 100644 --- a/src/main.c +++ b/src/main.c @@ -27,33 +27,63 @@ #include "sky/sky.h" #include "sky/legend.h" +static gboolean menu_help_clicked_event(GtkWidget *widget, + gpointer user_data) +{ + printf("about\n"); + return TRUE; +} + static GtkItemFactoryEntry menu_items[] = { - { "/_File", NULL, NULL, 0, "" }, - { "/File/_New", "N", NULL, 0, "", GTK_STOCK_NEW }, - { "/File/_Open", "O", NULL, 0, "", GTK_STOCK_OPEN }, - { "/File/_Save", "S", NULL, 0, "", GTK_STOCK_SAVE }, - { "/File/Save _As", NULL, NULL, 0, "" }, - { "/File/sep1", NULL, NULL, 0, "" }, - { "/File/_Quit", "Q", gtk_main_quit, 0, "", GTK_STOCK_QUIT }, - { "/_Help", NULL, NULL, 0, "" }, - { "/_Help/About", NULL, NULL, 0, "" }, + { "/_File", NULL, NULL, 0, "" }, + { "/File/_New", "N", NULL, 0, "", GTK_STOCK_NEW }, + { "/File/_Open", "O", NULL, 0, "", GTK_STOCK_OPEN }, + { "/File/_Save", "S", NULL, 0, "", GTK_STOCK_SAVE }, + { "/File/Save _As", NULL, NULL, 0, "" }, + { "/File/sep1", NULL, NULL, 0, "" }, + { "/File/_Quit", "Q", gtk_main_quit, 0, "", GTK_STOCK_QUIT }, + { "/_Help", NULL, NULL, 0, "" }, + { "/_Help/About", NULL, G_CALLBACK(menu_help_clicked_event), 0, "" }, }; static gint nmenu_items = sizeof (menu_items) / sizeof (menu_items[0]); -static GtkWidget *get_menubar_menu(GtkWidget *window) +static GtkWidget *get_menubar_menu(GtkWidget *window) { - GtkItemFactory *item_factory; - GtkAccelGroup *accel_group; + GtkItemFactory *item_factory; + GtkAccelGroup *accel_group; - accel_group = gtk_accel_group_new(); - item_factory = gtk_item_factory_new(GTK_TYPE_MENU_BAR, "
", + accel_group = gtk_accel_group_new(); + item_factory = gtk_item_factory_new(GTK_TYPE_MENU_BAR, "
", accel_group); - gtk_item_factory_create_items(item_factory, nmenu_items, menu_items, NULL); - gtk_window_add_accel_group(GTK_WINDOW (window), accel_group); + gtk_item_factory_create_items(item_factory, nmenu_items, menu_items, NULL); + gtk_window_add_accel_group(GTK_WINDOW (window), accel_group); + + return gtk_item_factory_get_widget(item_factory, "
"); +} + +static gboolean tool_button_clicked_event(GtkWidget *widget, + gpointer user_data) +{ + printf("convert\n"); + return TRUE; +} - return gtk_item_factory_get_widget(item_factory, "
"); +static GtkWidget *create_toolbar(void) +{ + GtkWidget *toolbar; + GtkToolItem *item; + + toolbar = gtk_toolbar_new(); + gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_ICONS); + + item = gtk_toggle_tool_button_new_from_stock(GTK_STOCK_CONVERT); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, 0); + g_signal_connect(item, "clicked", + G_CALLBACK(tool_button_clicked_event), NULL); + + return toolbar; } int main (int argc, char **argv) @@ -63,6 +93,7 @@ int main (int argc, char **argv) GtkWidget *gtk_legend; GtkWidget *vbox; GtkWidget *menubar; + GtkWidget *toolbar; int err; #ifdef ENABLE_NLS @@ -89,10 +120,12 @@ int main (int argc, char **argv) gtk_widget_set_usize(gtk_legend, -1, 20); menubar = get_menubar_menu (window); + toolbar = create_toolbar(); vbox = gtk_vbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(window), vbox); gtk_box_pack_start (GTK_BOX (vbox), menubar, FALSE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (vbox), toolbar, FALSE, TRUE, 0); gtk_box_pack_start(GTK_BOX(vbox), gtk_sky, TRUE, TRUE, 0); diff --git a/src/sky/projection.c b/src/sky/projection.c index 37935eb..859088f 100644 --- a/src/sky/projection.c +++ b/src/sky/projection.c @@ -43,12 +43,12 @@ struct _mag_const { }; static struct _mag_const mag_const[] = { - {180.0, 2.5 * PROJ_MAG_CONST}, - {160.0, 2.6 * PROJ_MAG_CONST}, - {140.0, 2.7 * PROJ_MAG_CONST}, - {130.0, 2.7 * PROJ_MAG_CONST}, - {120.0, 3.0 * PROJ_MAG_CONST}, - {110.0, 3.3 * PROJ_MAG_CONST}, + {180.0, 2.7 * PROJ_MAG_CONST}, + {160.0, 2.9 * PROJ_MAG_CONST}, + {140.0, 3.0 * PROJ_MAG_CONST}, + {130.0, 3.1 * PROJ_MAG_CONST}, + {120.0, 3.2 * PROJ_MAG_CONST}, + {110.0, 3.4 * PROJ_MAG_CONST}, {100.0, 3.7 * PROJ_MAG_CONST}, {90.0, 3.9 * PROJ_MAG_CONST}, {80.0, 4.1 * PROJ_MAG_CONST}, -- 2.11.4.GIT