void ResourceConverterDialog::build_button(GtkWidget * &image_ok, GtkWidget * &label_ok, GtkWidget * &label_short, GtkWidget * &button, const gchar * button_text, Shortcuts & shortcuts, GCallback handler, GtkWidget * &label_long) { GtkWidget *hseparator; hseparator = gtk_hseparator_new(); gtk_widget_show(hseparator); gtk_table_attach(GTK_TABLE(table1), hseparator, 0, 4, table_attachment_offset, table_attachment_offset + 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); table_attachment_offset++; image_ok = gtk_image_new_from_icon_name("gtk-apply", GTK_ICON_SIZE_BUTTON); gtk_widget_show(image_ok); gtk_table_attach(GTK_TABLE(table1), image_ok, 0, 1, table_attachment_offset, table_attachment_offset + 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); label_ok = gtk_label_new(""); gtk_widget_show(label_ok); gtk_table_attach(GTK_TABLE(table1), label_ok, 1, 2, table_attachment_offset, table_attachment_offset + 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment(GTK_MISC(label_ok), 0, 0.5); label_short = gtk_label_new(""); gtk_widget_show(label_short); gtk_table_attach(GTK_TABLE(table1), label_short, 2, 3, table_attachment_offset, table_attachment_offset + 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment(GTK_MISC(label_short), 0, 0.5); button = gtk_button_new(); gtk_widget_show(button); gtk_table_attach(GTK_TABLE(table1), button, 3, 4, table_attachment_offset, table_attachment_offset + 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); table_attachment_offset++; GtkWidget *alignment; alignment = gtk_alignment_new(0.5, 0.5, 0, 0); gtk_widget_show(alignment); gtk_container_add(GTK_CONTAINER(button), alignment); GtkWidget *hbox; hbox = gtk_hbox_new(FALSE, 2); gtk_widget_show(hbox); gtk_container_add(GTK_CONTAINER(alignment), hbox); GtkWidget *image_button_surface; image_button_surface = gtk_image_new_from_stock("gtk-index", GTK_ICON_SIZE_BUTTON); gtk_widget_show(image_button_surface); gtk_box_pack_start(GTK_BOX(hbox), image_button_surface, FALSE, FALSE, 0); GtkWidget *label_button_surface; label_button_surface = gtk_label_new_with_mnemonic(button_text); gtk_widget_show(label_button_surface); gtk_box_pack_start(GTK_BOX(hbox), label_button_surface, FALSE, FALSE, 0); shortcuts.label(label_button_surface); label_long = gtk_label_new(""); gtk_widget_show(label_long); gtk_table_attach(GTK_TABLE(table1), label_long, 0, 4, table_attachment_offset, table_attachment_offset + 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment(GTK_MISC(label_long), 0, 0.5); table_attachment_offset++; g_signal_connect((gpointer) button, "clicked", handler, gpointer(this)); }
// Entry, combo, entry. void ResourceConverterDialog::build_entry_combo_entry(GtkWidget * &image_ok, GtkWidget * &label_ok, GtkWidget * &label, GtkWidget * &label_entry_1, GtkWidget * &entry_1, GtkWidget * &label_combo, GtkWidget * &combo, GtkWidget * &label_entry_2, GtkWidget * &entry_2, GCallback entry_handler, Shortcuts & shortcuts) { GtkWidget *hseparator; hseparator = gtk_hseparator_new(); gtk_widget_show(hseparator); gtk_table_attach(GTK_TABLE(table1), hseparator, 0, 4, table_attachment_offset, table_attachment_offset + 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); table_attachment_offset++; image_ok = gtk_image_new_from_icon_name("gtk-apply", GTK_ICON_SIZE_BUTTON); gtk_widget_show(image_ok); gtk_table_attach(GTK_TABLE(table1), image_ok, 0, 1, table_attachment_offset, table_attachment_offset + 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); label_ok = gtk_label_new(_("Done")); gtk_widget_show(label_ok); gtk_table_attach(GTK_TABLE(table1), label_ok, 1, 2, table_attachment_offset, table_attachment_offset + 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment(GTK_MISC(label_ok), 0, 0.5); label = gtk_label_new(""); gtk_widget_show(label); gtk_table_attach(GTK_TABLE(table1), label, 2, 4, table_attachment_offset, table_attachment_offset + 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); table_attachment_offset++; GtkWidget *hbox; hbox = gtk_hbox_new(FALSE, 5); gtk_widget_show(hbox); gtk_table_attach(GTK_TABLE(table1), hbox, 0, 4, table_attachment_offset, table_attachment_offset + 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); table_attachment_offset++; label_entry_1 = gtk_label_new(""); gtk_widget_show(label_entry_1); gtk_box_pack_start(GTK_BOX(hbox), label_entry_1, FALSE, FALSE, 0); entry_1 = gtk_entry_new(); gtk_widget_show(entry_1); gtk_box_pack_start(GTK_BOX(hbox), entry_1, TRUE, TRUE, 0); shortcuts.label(label_entry_1); gtk_label_set_mnemonic_widget(GTK_LABEL(label_entry_1), entry_1); label_combo = gtk_label_new(""); gtk_widget_show(label_combo); gtk_box_pack_start(GTK_BOX(hbox), label_combo, FALSE, FALSE, 0); combo = gtk_combo_box_new_text(); gtk_widget_show(combo); gtk_box_pack_start(GTK_BOX(hbox), combo, TRUE, TRUE, 0); shortcuts.label(label_combo); gtk_label_set_mnemonic_widget(GTK_LABEL(label_combo), combo); label_entry_2 = gtk_label_new(""); gtk_widget_show(label_entry_2); gtk_box_pack_start(GTK_BOX(hbox), label_entry_2, FALSE, FALSE, 0); entry_2 = gtk_entry_new(); gtk_widget_show(entry_2); gtk_box_pack_start(GTK_BOX(hbox), entry_2, TRUE, TRUE, 0); shortcuts.label(label_entry_2); gtk_label_set_mnemonic_widget(GTK_LABEL(label_entry_2), entry_2); g_signal_connect((gpointer) entry_1, "changed", entry_handler, gpointer(this)); g_signal_connect((gpointer) entry_2, "changed", entry_handler, gpointer(this)); }