Example #1
0
static SettingsDialog_t*
create_settings_dialog(void)
{
   SettingsDialog_t *data = g_new(SettingsDialog_t, 1);
   GtkWidget *table, *view, *frame, *hbox, *label, *swin;
   DefaultDialog_t *dialog;

   dialog = data->dialog = make_default_dialog(_("Settings for this Mapfile"));
   default_dialog_set_ok_cb(dialog, settings_ok_cb, (gpointer) data);
   table = default_dialog_add_table(dialog, 9, 2);

   create_label_in_table(table, 0, 0, _("Filename:"));
   data->filename = create_label_in_table(table, 0, 1, "");

   create_label_in_table(table, 1, 0, _("Image name:"));
   data->imagename = browse_widget_new(_("Select Image File"));
   gtk_table_attach_defaults(GTK_TABLE(table), data->imagename->hbox, 1, 2,
			     1, 2);

   label = create_label_in_table(table, 2, 0, _("_Title:"));
   data->title = create_entry_in_table(table, label, 2, 1);
   label = create_label_in_table(table, 3, 0, _("Aut_hor:"));
   data->author = create_entry_in_table(table, label, 3, 1);
   label = create_label_in_table(table, 4, 0, _("Default _URL:"));
   data->default_url = create_entry_in_table(table, label, 4, 1);
   label = create_label_in_table(table, 5, 0, _("_Description:"));

   data->description = gtk_text_buffer_new(NULL);

   view = gtk_text_view_new_with_buffer(data->description);
   gtk_widget_set_size_request(view, -1, 128);
   gtk_widget_show(view);

   gtk_label_set_mnemonic_widget (GTK_LABEL (label), view);

   swin = gtk_scrolled_window_new(NULL, NULL);
   gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(swin),
				       GTK_SHADOW_IN);
   gtk_table_attach(GTK_TABLE(table), swin, 1, 2, 5, 8,
		    GTK_EXPAND | GTK_SHRINK | GTK_FILL,
		    GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0);
   gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(swin),
				  GTK_POLICY_NEVER,
				  GTK_POLICY_AUTOMATIC);
   gtk_widget_show(swin);
   gtk_container_add(GTK_CONTAINER(swin), view);

   frame = gimp_frame_new(_("Map File Format"));
   gtk_widget_show(frame);
   gtk_table_attach_defaults(GTK_TABLE(table), frame, 0, 2, 9, 10);
   hbox = gtk_hbox_new(FALSE, 6);
   gtk_container_add(GTK_CONTAINER(frame), hbox);
   gtk_widget_show(hbox);

   data->ncsa = gtk_radio_button_new_with_mnemonic_from_widget(NULL, "_NCSA");
   g_signal_connect(data->ncsa, "toggled",
		    G_CALLBACK(type_toggled_cb), (gpointer) NCSA);
   gtk_box_pack_start(GTK_BOX(hbox), data->ncsa, FALSE, FALSE, 0);
   gtk_widget_show(data->ncsa);

   data->cern = gtk_radio_button_new_with_mnemonic_from_widget(
      GTK_RADIO_BUTTON(data->ncsa), "C_ERN");
   g_signal_connect(data->cern, "toggled",
		    G_CALLBACK(type_toggled_cb), (gpointer) CERN);
   gtk_box_pack_start(GTK_BOX(hbox), data->cern, FALSE, FALSE, 0);
   gtk_widget_show(data->cern);

   data->csim = gtk_radio_button_new_with_mnemonic_from_widget(
      GTK_RADIO_BUTTON(data->cern), "C_SIM");
   g_signal_connect(data->csim, "toggled",
		    G_CALLBACK(type_toggled_cb), (gpointer) CSIM);
   gtk_box_pack_start(GTK_BOX(hbox), data->csim, FALSE, FALSE, 0);
   gtk_widget_show(data->csim);

   return data;
}
Example #2
0
static GridDialog_t*
create_grid_settings_dialog(void)
{
   GridDialog_t *data = g_new(GridDialog_t, 1);
   DefaultDialog_t *dialog;
   GtkWidget *main_table, *table, *label;
   GtkWidget *frame;
   GtkWidget *hbox;
   GtkWidget *button;
   GtkWidget *chain_button;

   data->dialog = dialog = make_default_dialog(_("Grid Settings"));
   default_dialog_set_ok_cb(dialog, grid_settings_ok_cb, (gpointer) data);
   main_table = default_dialog_add_table(dialog, 4, 2);

   data->snap = gtk_check_button_new_with_mnemonic(_("_Snap-to grid enabled"));
   g_signal_connect(data->snap, "toggled",
                    G_CALLBACK (snap_toggled_cb), data);
   gtk_table_attach_defaults(GTK_TABLE(main_table), data->snap, 0, 1, 0, 1);
   gtk_widget_show(data->snap);

   data->type_frame = frame = gimp_frame_new(_("Grid Visibility and Type"));
   gtk_widget_show(frame);
   gtk_table_attach_defaults(GTK_TABLE(main_table), frame, 0, 2, 1, 2);
   hbox = gtk_hbox_new(FALSE, 6);
   gtk_container_add(GTK_CONTAINER(frame), hbox);
   gtk_widget_show(hbox);

   button = gtk_radio_button_new_with_mnemonic_from_widget(NULL, _("_Hidden"));
   data->hidden = button;
   g_signal_connect(button, "toggled",
                    G_CALLBACK (type_toggled_cb), (gpointer) GRID_HIDDEN);
   gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0);
   gtk_widget_show(button);

   button = gtk_radio_button_new_with_mnemonic_from_widget(
      GTK_RADIO_BUTTON(button), _("_Lines"));
   data->lines = button;
   g_signal_connect(button, "toggled",
                    G_CALLBACK (type_toggled_cb), (gpointer) GRID_LINES);
   gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), TRUE);
   gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0);
   gtk_widget_show(button);

   button = gtk_radio_button_new_with_mnemonic_from_widget(
      GTK_RADIO_BUTTON(button), _("C_rosses"));
   data->crosses = button;
   g_signal_connect(button, "toggled",
                    G_CALLBACK (type_toggled_cb),
                    (gpointer) GRID_CROSSES);
   gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0);
   gtk_widget_show(button);

   data->granularity_frame = frame = gimp_frame_new(_("Grid Granularity"));
   gtk_table_attach_defaults(GTK_TABLE(main_table), frame, 0, 1, 2, 3);
   table = gtk_table_new(2, 4, FALSE);
   gtk_table_set_row_spacings(GTK_TABLE(table), 6);
   gtk_table_set_col_spacings(GTK_TABLE(table), 6);
   gtk_container_add(GTK_CONTAINER(frame), table);

   label = create_label_in_table(table, 0, 0, _("_Width"));
   data->width = create_spin_button_in_table(table, label, 0, 1, 15, 1, 100);
   g_signal_connect(data->width, "value-changed",
                    G_CALLBACK (width_changed_cb), (gpointer) data);
   create_label_in_table(table, 0, 3, _("pixels"));

   label = create_label_in_table(table, 1, 0, _("_Height"));
   data->height = create_spin_button_in_table(table, label, 1, 1, 15, 1, 100);
   g_signal_connect(data->height, "value-changed",
                    G_CALLBACK (height_changed_cb), (gpointer) data);
   create_label_in_table(table, 1, 3, _("pixels"));

   chain_button = gimp_chain_button_new(GIMP_CHAIN_RIGHT);
   data->chain_width_height = chain_button;
   gtk_table_attach_defaults(GTK_TABLE(table), chain_button, 2, 3, 0, 2);
   gtk_widget_show(chain_button);

   gtk_widget_show(table);
   gtk_widget_show(frame);

   data->offset_frame = frame = gimp_frame_new(_("Grid Offset"));
   gtk_table_attach_defaults(GTK_TABLE(main_table), frame, 1, 2, 2, 3);
   table = gtk_table_new(2, 3, FALSE);
   gtk_table_set_row_spacings(GTK_TABLE(table), 6);
   gtk_table_set_col_spacings(GTK_TABLE(table), 6);
   gtk_container_add(GTK_CONTAINER(frame), table);

   label = create_label_in_table(table, 0, 2, _("pixels from l_eft"));
   data->left = create_spin_button_in_table(table, label, 0, 0, 0, 0, 100);
   g_signal_connect(data->left, "value-changed",
                    G_CALLBACK (left_changed_cb), (gpointer) data);

   label = create_label_in_table(table, 1, 2, _("pixels from _top"));
   data->top = create_spin_button_in_table(table, label, 1, 0, 0, 0, 100);
   g_signal_connect(data->top, "value-changed",
                    G_CALLBACK (top_changed_cb), (gpointer) data);

   chain_button = gimp_chain_button_new(GIMP_CHAIN_RIGHT);
   data->chain_left_top = chain_button;
   gtk_table_attach_defaults(GTK_TABLE(table), chain_button, 1, 2, 0, 2);
   gtk_widget_show(chain_button);

   data->preview = create_check_button_in_table(main_table, 3, 0,
                                                _("_Preview"));
   g_signal_connect(data->preview, "toggled",
                    G_CALLBACK (toggle_preview_cb), (gpointer) data);
   gtk_widget_show(data->preview);

   snap_toggled_cb(data->snap, data);

   gtk_widget_show(table);
   gtk_widget_show(frame);

   return data;
}