mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-21 16:05:44 -07:00
GTK 3 port: use GtkGrid as an alternative to GtkTable.
This also involves setting some "hexpand" properties on the widgets contained in the GtkGrid, to achieve effects which GtkTable did by setting flags in gtk_table_attach.
This commit is contained in:
29
gtk.c
29
gtk.c
@ -1505,7 +1505,11 @@ static int get_config(frontend *fe, int which)
|
|||||||
g_signal_connect(G_OBJECT(w), "clicked",
|
g_signal_connect(G_OBJECT(w), "clicked",
|
||||||
G_CALLBACK(config_ok_button_clicked), fe);
|
G_CALLBACK(config_ok_button_clicked), fe);
|
||||||
|
|
||||||
|
#if GTK_CHECK_VERSION(3,0,0)
|
||||||
|
table = gtk_grid_new();
|
||||||
|
#else
|
||||||
table = gtk_table_new(1, 2, FALSE);
|
table = gtk_table_new(1, 2, FALSE);
|
||||||
|
#endif
|
||||||
y = 0;
|
y = 0;
|
||||||
gtk_box_pack_start
|
gtk_box_pack_start
|
||||||
(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(fe->cfgbox))),
|
(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(fe->cfgbox))),
|
||||||
@ -1513,7 +1517,9 @@ static int get_config(frontend *fe, int which)
|
|||||||
gtk_widget_show(table);
|
gtk_widget_show(table);
|
||||||
|
|
||||||
for (i = fe->cfg; i->type != C_END; i++) {
|
for (i = fe->cfg; i->type != C_END; i++) {
|
||||||
|
#if !GTK_CHECK_VERSION(3,0,0)
|
||||||
gtk_table_resize(GTK_TABLE(table), y+1, 2);
|
gtk_table_resize(GTK_TABLE(table), y+1, 2);
|
||||||
|
#endif
|
||||||
|
|
||||||
switch (i->type) {
|
switch (i->type) {
|
||||||
case C_STRING:
|
case C_STRING:
|
||||||
@ -1523,17 +1529,26 @@ static int get_config(frontend *fe, int which)
|
|||||||
|
|
||||||
w = gtk_label_new(i->name);
|
w = gtk_label_new(i->name);
|
||||||
gtk_misc_set_alignment(GTK_MISC(w), 0.0, 0.5);
|
gtk_misc_set_alignment(GTK_MISC(w), 0.0, 0.5);
|
||||||
|
#if GTK_CHECK_VERSION(3,0,0)
|
||||||
|
gtk_grid_attach(GTK_GRID(table), w, 0, y, 1, 1);
|
||||||
|
#else
|
||||||
gtk_table_attach(GTK_TABLE(table), w, 0, 1, y, y+1,
|
gtk_table_attach(GTK_TABLE(table), w, 0, 1, y, y+1,
|
||||||
GTK_SHRINK | GTK_FILL,
|
GTK_SHRINK | GTK_FILL,
|
||||||
GTK_EXPAND | GTK_SHRINK | GTK_FILL,
|
GTK_EXPAND | GTK_SHRINK | GTK_FILL,
|
||||||
3, 3);
|
3, 3);
|
||||||
|
#endif
|
||||||
gtk_widget_show(w);
|
gtk_widget_show(w);
|
||||||
|
|
||||||
w = gtk_entry_new();
|
w = gtk_entry_new();
|
||||||
|
#if GTK_CHECK_VERSION(3,0,0)
|
||||||
|
gtk_grid_attach(GTK_GRID(table), w, 1, y, 1, 1);
|
||||||
|
g_object_set(G_OBJECT(w), "hexpand", TRUE, (const char *)NULL);
|
||||||
|
#else
|
||||||
gtk_table_attach(GTK_TABLE(table), w, 1, 2, y, y+1,
|
gtk_table_attach(GTK_TABLE(table), w, 1, 2, y, y+1,
|
||||||
GTK_EXPAND | GTK_SHRINK | GTK_FILL,
|
GTK_EXPAND | GTK_SHRINK | GTK_FILL,
|
||||||
GTK_EXPAND | GTK_SHRINK | GTK_FILL,
|
GTK_EXPAND | GTK_SHRINK | GTK_FILL,
|
||||||
3, 3);
|
3, 3);
|
||||||
|
#endif
|
||||||
gtk_entry_set_text(GTK_ENTRY(w), i->sval);
|
gtk_entry_set_text(GTK_ENTRY(w), i->sval);
|
||||||
g_signal_connect(G_OBJECT(w), "changed",
|
g_signal_connect(G_OBJECT(w), "changed",
|
||||||
G_CALLBACK(editbox_changed), i);
|
G_CALLBACK(editbox_changed), i);
|
||||||
@ -1550,10 +1565,15 @@ static int get_config(frontend *fe, int which)
|
|||||||
w = gtk_check_button_new_with_label(i->name);
|
w = gtk_check_button_new_with_label(i->name);
|
||||||
g_signal_connect(G_OBJECT(w), "toggled",
|
g_signal_connect(G_OBJECT(w), "toggled",
|
||||||
G_CALLBACK(button_toggled), i);
|
G_CALLBACK(button_toggled), i);
|
||||||
|
#if GTK_CHECK_VERSION(3,0,0)
|
||||||
|
gtk_grid_attach(GTK_GRID(table), w, 0, y, 2, 1);
|
||||||
|
g_object_set(G_OBJECT(w), "hexpand", TRUE, (const char *)NULL);
|
||||||
|
#else
|
||||||
gtk_table_attach(GTK_TABLE(table), w, 0, 2, y, y+1,
|
gtk_table_attach(GTK_TABLE(table), w, 0, 2, y, y+1,
|
||||||
GTK_EXPAND | GTK_SHRINK | GTK_FILL,
|
GTK_EXPAND | GTK_SHRINK | GTK_FILL,
|
||||||
GTK_EXPAND | GTK_SHRINK | GTK_FILL,
|
GTK_EXPAND | GTK_SHRINK | GTK_FILL,
|
||||||
3, 3);
|
3, 3);
|
||||||
|
#endif
|
||||||
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), i->ival);
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), i->ival);
|
||||||
gtk_widget_show(w);
|
gtk_widget_show(w);
|
||||||
break;
|
break;
|
||||||
@ -1565,10 +1585,14 @@ static int get_config(frontend *fe, int which)
|
|||||||
|
|
||||||
w = gtk_label_new(i->name);
|
w = gtk_label_new(i->name);
|
||||||
gtk_misc_set_alignment(GTK_MISC(w), 0.0, 0.5);
|
gtk_misc_set_alignment(GTK_MISC(w), 0.0, 0.5);
|
||||||
|
#if GTK_CHECK_VERSION(3,0,0)
|
||||||
|
gtk_grid_attach(GTK_GRID(table), w, 0, y, 1, 1);
|
||||||
|
#else
|
||||||
gtk_table_attach(GTK_TABLE(table), w, 0, 1, y, y+1,
|
gtk_table_attach(GTK_TABLE(table), w, 0, 1, y, y+1,
|
||||||
GTK_SHRINK | GTK_FILL,
|
GTK_SHRINK | GTK_FILL,
|
||||||
GTK_EXPAND | GTK_SHRINK | GTK_FILL ,
|
GTK_EXPAND | GTK_SHRINK | GTK_FILL ,
|
||||||
3, 3);
|
3, 3);
|
||||||
|
#endif
|
||||||
gtk_widget_show(w);
|
gtk_widget_show(w);
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -1613,10 +1637,15 @@ static int get_config(frontend *fe, int which)
|
|||||||
G_CALLBACK(droplist_sel), i);
|
G_CALLBACK(droplist_sel), i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if GTK_CHECK_VERSION(3,0,0)
|
||||||
|
gtk_grid_attach(GTK_GRID(table), w, 1, y, 1, 1);
|
||||||
|
g_object_set(G_OBJECT(w), "hexpand", TRUE, (const char *)NULL);
|
||||||
|
#else
|
||||||
gtk_table_attach(GTK_TABLE(table), w, 1, 2, y, y+1,
|
gtk_table_attach(GTK_TABLE(table), w, 1, 2, y, y+1,
|
||||||
GTK_EXPAND | GTK_SHRINK | GTK_FILL,
|
GTK_EXPAND | GTK_SHRINK | GTK_FILL,
|
||||||
GTK_EXPAND | GTK_SHRINK | GTK_FILL,
|
GTK_EXPAND | GTK_SHRINK | GTK_FILL,
|
||||||
3, 3);
|
3, 3);
|
||||||
|
#endif
|
||||||
gtk_widget_show(w);
|
gtk_widget_show(w);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user