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; }
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; }