* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
/*
static GtkWidget *
build_alpha_widgets (void)
{
- GtkWidget *table;
+ GtkWidget *grid;
GtkWidget *radio_button;
+ GtkWidget *check_button;
GtkWidget *hbox;
GtkWidget *label;
GtkWidget *entry;
- table = gtk_table_new (1, 1, FALSE);
+ grid = gtk_grid_new ();
radio_button = gtk_radio_button_new_with_label (NULL, "Red");
- gtk_table_attach (GTK_TABLE (table),
- radio_button,
- 0, 1, 0, 1,
- GTK_EXPAND | GTK_FILL, 0,
- 0, 0);
+ gtk_widget_set_hexpand (radio_button, TRUE);
+ gtk_grid_attach (GTK_GRID (grid), radio_button, 0, 0, 1, 1);
radio_button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (radio_button), "Green");
- gtk_table_attach (GTK_TABLE (table),
- radio_button,
- 0, 1, 1, 2,
- GTK_EXPAND | GTK_FILL, 0,
- 0, 0);
+ gtk_widget_set_hexpand (radio_button, TRUE);
+ gtk_grid_attach (GTK_GRID (grid), radio_button, 0, 1, 1, 1);
radio_button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (radio_button), "Blue"),
- gtk_table_attach (GTK_TABLE (table),
- radio_button,
- 0, 1, 2, 3,
- GTK_EXPAND | GTK_FILL, 0,
- 0, 0);
-
- gtk_table_attach (GTK_TABLE (table),
- gtk_check_button_new_with_label ("Sedentary"),
- 1, 2, 0, 1,
- GTK_EXPAND | GTK_FILL, 0,
- 0, 0);
- gtk_table_attach (GTK_TABLE (table),
- gtk_check_button_new_with_label ("Nocturnal"),
- 1, 2, 1, 2,
- GTK_EXPAND | GTK_FILL, 0,
- 0, 0);
- gtk_table_attach (GTK_TABLE (table),
- gtk_check_button_new_with_label ("Compulsive"),
- 1, 2, 2, 3,
- GTK_EXPAND | GTK_FILL, 0,
- 0, 0);
+ gtk_widget_set_hexpand (radio_button, TRUE);
+ gtk_grid_attach (GTK_GRID (grid), radio_button, 0, 2, 1, 1);
- radio_button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (radio_button), "Green");
- gtk_table_attach (GTK_TABLE (table),
- radio_button,
- 0, 1, 1, 2,
- GTK_EXPAND | GTK_FILL, 0,
- 0, 0);
+ check_button = gtk_check_button_new_with_label ("Sedentary"),
+ gtk_widget_set_hexpand (check_button, TRUE);
+ gtk_grid_attach (GTK_GRID (grid), check_button, 1, 0, 1, 1);
- radio_button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (radio_button), "Blue"),
- gtk_table_attach (GTK_TABLE (table),
- radio_button,
- 0, 1, 2, 3,
- GTK_EXPAND | GTK_FILL, 0,
- 0, 0);
-
- hbox = gtk_hbox_new (FALSE, 0);
+ check_button = gtk_check_button_new_with_label ("Nocturnal"),
+ gtk_widget_set_hexpand (check_button, TRUE);
+ gtk_grid_attach (GTK_GRID (grid), check_button, 1, 1, 1, 1);
+
+ check_button = gtk_check_button_new_with_label ("Compulsive"),
+ gtk_widget_set_hexpand (check_button, TRUE);
+ gtk_grid_attach (GTK_GRID (grid), check_button, 1, 2, 1, 1);
+
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
label = gtk_label_new (NULL);
gtk_label_set_markup (GTK_LABEL (label), "<i>Entry: </i>");
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
entry = gtk_entry_new ();
gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0);
- gtk_table_attach (GTK_TABLE (table),
- hbox,
- 0, 1, 3, 4,
- GTK_EXPAND | GTK_FILL, 0,
- 0, 0);
+ gtk_widget_set_hexpand (hbox, TRUE);
+ gtk_grid_attach (GTK_GRID (grid), hbox, 0, 3, 2, 1);
- return table;
+ return grid;
}
static void
content_area = gtk_dialog_get_content_area (GTK_DIALOG (window));
- vbox = gtk_vbox_new (FALSE, 8);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 12);
gtk_box_pack_start (GTK_BOX (content_area), vbox,
TRUE, TRUE, 0);
if (!window)
{
GtkWidget *event, *button;
- GdkColor red;
+ GdkRGBA red;
/* make the widgets */
button = gtk_button_new_with_label ("A Button");
&window);
/* put a red background on the window */
- gdk_color_parse ("red", &red);
- gtk_widget_modify_bg (window, GTK_STATE_NORMAL, &red);
+ gdk_rgba_parse (&red, "red");
+ gtk_widget_override_background_color (window, 0, &red);
/* set our event box to have a fully-transparent background
* drawn on it. currently there is no way to simply tell gtk
GdkWindow *child,
gint level)
{
- static const GdkColor colors[] = {
- { 0, 0x4444, 0x4444, 0xffff },
- { 0, 0x8888, 0x8888, 0xffff },
- { 0, 0xaaaa, 0xaaaa, 0xffff }
+ static GdkRGBA colors[] = {
+ { 0.27, 0.27, 1.0, 1.0 },
+ { 0.53, 0.53, 1.0, 1.0},
+ { 0.67, 0.67, 1.0, 1.0 }
};
gdk_window_set_user_data (child, widget);
- gdk_window_set_background (child, &colors[level]);
+ gdk_window_set_background_rgba (child, &colors[level]);
}
static void
#define PATTERN_SIZE (1 << 18)
static void
-pattern_hadj_changed (GtkAdjustment *adj,
+pattern_hadj_changed (GtkAdjustment *adjustment,
GtkWidget *darea)
{
- gint *old_value = g_object_get_data (G_OBJECT (adj), "old-value");
- gint new_value = adj->value;
+ gint *old_value = g_object_get_data (G_OBJECT (adjustment), "old-value");
+ gint new_value = gtk_adjustment_get_value (adjustment);
if (gtk_widget_get_realized (darea))
{
}
static void
-pattern_vadj_changed (GtkAdjustment *adj,
+pattern_vadj_changed (GtkAdjustment *adjustment,
GtkWidget *darea)
{
- gint *old_value = g_object_get_data (G_OBJECT (adj), "old-value");
- gint new_value = adj->value;
+ gint *old_value = g_object_get_data (G_OBJECT (adjustment), "old-value");
+ gint new_value = gtk_adjustment_get_value (adjustment);
if (gtk_widget_get_realized (darea))
{
{
static GtkWidget *window = NULL;
GtkWidget *content_area;
- GtkWidget *darea, *table, *scrollbar;
+ GtkWidget *darea, *grid, *scrollbar;
GtkWidget *eventbox;
- GtkAdjustment *hadj;
- GtkAdjustment *vadj;
+ GtkAdjustment *hadjustment;
+ GtkAdjustment *vadjustment;
static gint current_x;
static gint current_y;
content_area = gtk_dialog_get_content_area (GTK_DIALOG (window));
- table = gtk_table_new (2, 2, FALSE);
- gtk_box_pack_start (GTK_BOX (content_area), table, TRUE, TRUE, 0);
+ grid = gtk_grid_new ();
+ gtk_box_pack_start (GTK_BOX (content_area), grid, TRUE, TRUE, 0);
darea = gtk_drawing_area_new ();
- hadj = gtk_adjustment_new (0, 0, PATTERN_SIZE, 10, 100, 100);
- g_signal_connect (hadj, "value_changed",
+ hadjustment = gtk_adjustment_new (0, 0, PATTERN_SIZE, 10, 100, 100);
+ g_signal_connect (hadjustment, "value_changed",
G_CALLBACK (pattern_hadj_changed), darea);
- g_object_set_data (G_OBJECT (hadj), "old-value", ¤t_x);
+ g_object_set_data (G_OBJECT (hadjustment), "old-value", ¤t_x);
- vadj = gtk_adjustment_new (0, 0, PATTERN_SIZE, 10, 100, 100);
- g_signal_connect (vadj, "value_changed",
+ vadjustment = gtk_adjustment_new (0, 0, PATTERN_SIZE, 10, 100, 100);
+ g_signal_connect (vadjustment, "value_changed",
G_CALLBACK (pattern_vadj_changed), darea);
- g_object_set_data (G_OBJECT (vadj), "old-value", ¤t_y);
+ g_object_set_data (G_OBJECT (vadjustment), "old-value", ¤t_y);
g_signal_connect (darea, "realize",
G_CALLBACK (pattern_realize),
NULL);
eventbox = gtk_event_box_new ();
- gtk_table_attach (GTK_TABLE (table), eventbox,
- 0, 1, 0, 1,
- GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND,
- 0, 0);
+ gtk_widget_set_hexpand (eventbox, TRUE);
+ gtk_widget_set_vexpand (eventbox, TRUE);
+ gtk_grid_attach (GTK_GRID (grid), eventbox, 0, 0, 1, 1);
gtk_container_add (GTK_CONTAINER (eventbox), darea);
- scrollbar = gtk_hscrollbar_new (hadj);
- gtk_table_attach (GTK_TABLE (table), scrollbar,
- 0, 1, 1, 2,
- GTK_FILL | GTK_EXPAND, GTK_FILL,
- 0, 0);
-
- scrollbar = gtk_vscrollbar_new (vadj);
- gtk_table_attach (GTK_TABLE (table), scrollbar,
- 1, 2, 0, 1,
- GTK_FILL, GTK_EXPAND | GTK_FILL,
- 0, 0);
+ scrollbar = gtk_scrollbar_new (GTK_ORIENTATION_HORIZONTAL, hadjustment);
+ gtk_widget_set_hexpand (scrollbar, TRUE);
+ gtk_grid_attach (GTK_GRID (grid), scrollbar, 0, 1, 1, 1);
+ scrollbar = gtk_scrollbar_new (GTK_ORIENTATION_VERTICAL, vadjustment);
+ gtk_widget_set_vexpand (scrollbar, TRUE);
+ gtk_grid_attach (GTK_GRID (grid), scrollbar, 1, 0, 1, 1);
}
if (!gtk_widget_get_visible (window))
static GtkWidget *window = NULL;
GtkWidget *box1;
GtkWidget *box2;
- GtkWidget *table;
- GtkWidget *button[10];
+ GtkWidget *grid;
GtkWidget *separator;
+ GtkWidget *button[10];
+ int button_x[9] = { 0, 1, 2, 0, 2, 1, 1, 2, 0 };
+ int button_y[9] = { 0, 1, 2, 2, 0, 2, 0, 1, 1 };
+ guint i;
if (!window)
{
gtk_window_set_title (GTK_WINDOW (window), "GtkButton");
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
- box1 = gtk_vbox_new (FALSE, 0);
+ box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_add (GTK_CONTAINER (window), box1);
- table = gtk_table_new (3, 3, FALSE);
- gtk_table_set_row_spacings (GTK_TABLE (table), 5);
- gtk_table_set_col_spacings (GTK_TABLE (table), 5);
- gtk_container_set_border_width (GTK_CONTAINER (table), 10);
- gtk_box_pack_start (GTK_BOX (box1), table, TRUE, TRUE, 0);
+ grid = gtk_grid_new ();
+ gtk_grid_set_row_spacing (GTK_GRID (grid), 5);
+ gtk_grid_set_column_spacing (GTK_GRID (grid), 5);
+ gtk_container_set_border_width (GTK_CONTAINER (grid), 10);
+ gtk_box_pack_start (GTK_BOX (box1), grid, TRUE, TRUE, 0);
button[0] = gtk_button_new_with_label ("button1");
button[1] = gtk_button_new_with_mnemonic ("_button2");
button[7] = gtk_button_new_from_stock (GTK_STOCK_CLOSE);
button[8] = gtk_button_new_with_label ("button9");
- g_signal_connect (button[0], "clicked",
- G_CALLBACK (button_window),
- button[1]);
-
- gtk_table_attach (GTK_TABLE (table), button[0], 0, 1, 0, 1,
- GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
-
- g_signal_connect (button[1], "clicked",
- G_CALLBACK (button_window),
- button[2]);
-
- gtk_table_attach (GTK_TABLE (table), button[1], 1, 2, 1, 2,
- GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
-
- g_signal_connect (button[2], "clicked",
- G_CALLBACK (button_window),
- button[3]);
- gtk_table_attach (GTK_TABLE (table), button[2], 2, 3, 2, 3,
- GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
-
- g_signal_connect (button[3], "clicked",
- G_CALLBACK (button_window),
- button[4]);
- gtk_table_attach (GTK_TABLE (table), button[3], 0, 1, 2, 3,
- GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
-
- g_signal_connect (button[4], "clicked",
- G_CALLBACK (button_window),
- button[5]);
- gtk_table_attach (GTK_TABLE (table), button[4], 2, 3, 0, 1,
- GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
-
- g_signal_connect (button[5], "clicked",
- G_CALLBACK (button_window),
- button[6]);
- gtk_table_attach (GTK_TABLE (table), button[5], 1, 2, 2, 3,
- GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
-
- g_signal_connect (button[6], "clicked",
- G_CALLBACK (button_window),
- button[7]);
- gtk_table_attach (GTK_TABLE (table), button[6], 1, 2, 0, 1,
- GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
-
- g_signal_connect (button[7], "clicked",
- G_CALLBACK (button_window),
- button[8]);
- gtk_table_attach (GTK_TABLE (table), button[7], 2, 3, 1, 2,
- GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
-
- g_signal_connect (button[8], "clicked",
- G_CALLBACK (button_window),
- button[0]);
- gtk_table_attach (GTK_TABLE (table), button[8], 0, 1, 1, 2,
- GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
-
- separator = gtk_hseparator_new ();
+ for (i = 0; i < 9; i++)
+ {
+ g_signal_connect (button[i], "clicked",
+ G_CALLBACK (button_window),
+ button[(i + 1) % 9]);
+ gtk_widget_set_hexpand (button[i], TRUE);
+ gtk_widget_set_vexpand (button[i], TRUE);
+
+ gtk_grid_attach (GTK_GRID (grid), button[i],
+ button_x[i], button_y[i] + 1, 1, 1);
+ }
+
+ separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0);
- box2 = gtk_vbox_new (FALSE, 10);
+ box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0);
gtk_window_set_title (GTK_WINDOW (window), "GtkToggleButton");
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
- box1 = gtk_vbox_new (FALSE, 0);
+ box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_add (GTK_CONTAINER (window), box1);
- box2 = gtk_vbox_new (FALSE, 10);
+ box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0);
gtk_toggle_button_set_inconsistent (GTK_TOGGLE_BUTTON (button), TRUE);
gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
- separator = gtk_hseparator_new ();
+ separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0);
- box2 = gtk_vbox_new (FALSE, 10);
+ box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0);
static GtkWidget *
create_widget_grid (GType widget_type)
{
- GtkWidget *table;
+ GtkWidget *grid;
GtkWidget *group_widget = NULL;
gint i, j;
- table = gtk_table_new (FALSE, 3, 3);
+ grid = gtk_grid_new ();
for (i = 0; i < 5; i++)
{
}
if (widget)
- gtk_table_attach (GTK_TABLE (table), widget,
- i, i + 1, j, j + 1,
- 0, 0,
- 0, 0);
+ gtk_grid_attach (GTK_GRID (grid), widget, i, j, 1, 1);
}
}
- return table;
+ return grid;
}
/*
box1 = gtk_dialog_get_content_area (GTK_DIALOG (window));
- box2 = gtk_vbox_new (FALSE, 10);
+ box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0);
gtk_toggle_button_set_inconsistent (GTK_TOGGLE_BUTTON (button), TRUE);
gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
- separator = gtk_hseparator_new ();
+ separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0);
table = create_widget_grid (GTK_TYPE_CHECK_BUTTON);
box1 = gtk_dialog_get_content_area (GTK_DIALOG (window));
- box2 = gtk_vbox_new (FALSE, 10);
+ box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0);
gtk_toggle_button_set_inconsistent (GTK_TOGGLE_BUTTON (button), TRUE);
gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
- separator = gtk_hseparator_new ();
+ separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0);
- box2 = gtk_vbox_new (FALSE, 10);
+ box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0);
gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (button), FALSE);
gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
- separator = gtk_hseparator_new ();
+ separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0);
table = create_widget_grid (GTK_TYPE_RADIO_BUTTON);
frame = gtk_frame_new (title);
if (horizontal)
- bbox = gtk_hbutton_box_new ();
+ bbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL);
else
- bbox = gtk_vbutton_box_new ();
+ bbox = gtk_button_box_new (GTK_ORIENTATION_VERTICAL);
gtk_container_set_border_width (GTK_CONTAINER (bbox), 5);
gtk_container_add (GTK_CONTAINER (frame), bbox);
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
- main_vbox = gtk_vbox_new (FALSE, 0);
+ main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_add (GTK_CONTAINER (window), main_vbox);
frame_horz = gtk_frame_new ("Horizontal Button Boxes");
gtk_box_pack_start (GTK_BOX (main_vbox), frame_horz, TRUE, TRUE, 10);
- vbox = gtk_vbox_new (FALSE, 0);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 10);
gtk_container_add (GTK_CONTAINER (frame_horz), vbox);
frame_vert = gtk_frame_new ("Vertical Button Boxes");
gtk_box_pack_start (GTK_BOX (main_vbox), frame_vert, TRUE, TRUE, 10);
- hbox = gtk_hbox_new (FALSE, 0);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_container_set_border_width (GTK_CONTAINER (hbox), 10);
gtk_container_add (GTK_CONTAINER (frame_vert), hbox);
static GtkWidget*
new_pixbuf (char *filename,
- GdkWindow *window,
- GdkColor *background)
+ GdkWindow *window)
{
GtkWidget *widget;
GdkPixbuf *pixbuf;
{
GtkWidget *icon;
- icon = new_pixbuf ("test.xpm", gtk_widget_get_window (window),
- >k_widget_get_style (window)->bg[GTK_STATE_NORMAL]);
+ icon = new_pixbuf ("test.xpm", gtk_widget_get_window (window));
toolitem = gtk_tool_button_new (icon, create_toolbar_items[i].label);
}
if (create_toolbar_items[i].callback)
gtk_widget_destroy (window);
}
-static GtkActionEntry make_toolbar_items[] = {
- { NULL, NULL, "Horizontal", NULL, "Horizontal toolbar layout",
- G_CALLBACK (set_toolbar_horizontal) },
- { NULL, NULL, "Vertical", NULL, "Vertical toolbar layout",
- G_CALLBACK (set_toolbar_vertical) },
- { NULL },
- { NULL, NULL, "Icons", NULL, "Only show toolbar icons",
- G_CALLBACK (set_toolbar_icons) },
- { NULL, NULL, "Text", NULL, "Only show toolbar text",
- G_CALLBACK (set_toolbar_text) },
- { NULL, NULL, "Both", NULL, "Show toolbar icons and text",
- G_CALLBACK (set_toolbar_both) },
- { NULL },
- { NULL, NULL, "Woot", NULL, "Woot woot woot",
- NULL },
- { NULL, NULL, "Blah", NULL, "Blah blah blah",
- NULL },
- { NULL },
- { NULL, NULL, "Enable", NULL, "Enable tooltips",
- G_CALLBACK (set_toolbar_enable) },
- { NULL, NULL, "Disable", NULL, "Disable tooltips",
- G_CALLBACK (set_toolbar_disable) },
- { NULL },
- { NULL, NULL, "Hoo", NULL, "Hoo tooltip",
- NULL },
- { NULL, NULL, "Woo", NULL, "Woo tooltip",
- NULL }
-};
-
-static GtkWidget*
-make_toolbar (GtkWidget *window)
-{
- GtkWidget *toolbar;
- guint i;
-
- if (!gtk_widget_get_realized (window))
- gtk_widget_realize (window);
-
- toolbar = gtk_toolbar_new ();
- for (i = 0; i < G_N_ELEMENTS (make_toolbar_items); i++)
- {
- GtkWidget *icon;
- GtkToolItem *toolitem;
-
- if (make_toolbar_items[i].label == NULL)
- {
- toolitem = gtk_separator_tool_item_new ();
- continue;
- }
- icon = new_pixbuf ("test.xpm", gtk_widget_get_window (window),
- >k_widget_get_style (window)->bg[GTK_STATE_NORMAL]);
- toolitem = gtk_tool_button_new (icon, make_toolbar_items[i].label);
- gtk_tool_item_set_tooltip_text (toolitem, make_toolbar_items[i].tooltip);
- if (make_toolbar_items[i].callback != NULL)
- g_signal_connect (toolitem, "clicked", make_toolbar_items[i].callback, toolbar);
- gtk_toolbar_insert (GTK_TOOLBAR (toolbar), toolitem, -1);
- }
-
- return toolbar;
-}
-
/*
* GtkStatusBar
*/
gtk_window_set_title (GTK_WINDOW (window), "statusbar");
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
- box1 = gtk_vbox_new (FALSE, 0);
+ box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_add (GTK_CONTAINER (window), box1);
- box2 = gtk_vbox_new (FALSE, 10);
+ box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0);
"signal_after::clicked", statusbar_push_long, statusbar,
NULL);
- separator = gtk_hseparator_new ();
+ separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0);
- box2 = gtk_vbox_new (FALSE, 10);
+ box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0);
gtk_widget_destroy (window);
}
-/*
- * GtkHandleBox
- */
+/* Alpha demo */
static void
-handle_box_child_signal (GtkHandleBox *hb,
- GtkWidget *child,
- const gchar *action)
+alpha_changed (GtkRange *range, GtkWidget *widget)
{
- printf ("%s: child <%s> %sed\n",
- g_type_name (G_OBJECT_TYPE (hb)),
- g_type_name (G_OBJECT_TYPE (child)),
- action);
+ gdouble alpha;
+
+ alpha = gtk_range_get_value (range);
+
+ gtk_widget_set_opacity (widget, alpha / 100.0);
}
-static void
-create_handle_box (GtkWidget *widget)
+
+void
+create_alpha_widgets (GtkWidget *widget)
{
- static GtkWidget* window = NULL;
- GtkWidget *handle_box;
- GtkWidget *handle_box2;
- GtkWidget *vbox;
- GtkWidget *hbox;
- GtkWidget *toolbar;
- GtkWidget *label;
- GtkWidget *separator;
+ static GtkWidget *window = NULL;
if (!window)
- {
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-
- gtk_window_set_screen (GTK_WINDOW (window),
- gtk_widget_get_screen (widget));
- gtk_window_set_modal (GTK_WINDOW (window), FALSE);
- gtk_window_set_title (GTK_WINDOW (window),
- "Handle Box Test");
- gtk_window_set_resizable (GTK_WINDOW (window), TRUE);
-
- g_signal_connect (window, "destroy",
- G_CALLBACK (gtk_widget_destroyed),
- &window);
-
- gtk_container_set_border_width (GTK_CONTAINER (window), 20);
+ {
+ GtkWidget *vbox2, *vbox, *main_hbox;
+ GtkWidget *button, *event_box, *label, *scale;
+ GtkWidget *alpha1, *alpha2, *alpha3;
- vbox = gtk_vbox_new (FALSE, 0);
- gtk_container_add (GTK_CONTAINER (window), vbox);
- gtk_widget_show (vbox);
+ window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ gtk_window_set_screen (GTK_WINDOW (window),
+ gtk_widget_get_screen (widget));
+ gtk_window_set_default_size (GTK_WINDOW (window),
+ 450, 450);
- label = gtk_label_new ("Above");
- gtk_container_add (GTK_CONTAINER (vbox), label);
- gtk_widget_show (label);
+ g_signal_connect (window, "destroy",
+ G_CALLBACK (gtk_widget_destroyed), &window);
- separator = gtk_hseparator_new ();
- gtk_container_add (GTK_CONTAINER (vbox), separator);
- gtk_widget_show (separator);
-
- hbox = gtk_hbox_new (FALSE, 10);
- gtk_container_add (GTK_CONTAINER (vbox), hbox);
- gtk_widget_show (hbox);
-
- separator = gtk_hseparator_new ();
- gtk_container_add (GTK_CONTAINER (vbox), separator);
- gtk_widget_show (separator);
-
- label = gtk_label_new ("Below");
- gtk_container_add (GTK_CONTAINER (vbox), label);
- gtk_widget_show (label);
-
- handle_box = gtk_handle_box_new ();
- gtk_box_pack_start (GTK_BOX (hbox), handle_box, FALSE, FALSE, 0);
- g_signal_connect (handle_box,
- "child_attached",
- G_CALLBACK (handle_box_child_signal),
- "attached");
- g_signal_connect (handle_box,
- "child_detached",
- G_CALLBACK (handle_box_child_signal),
- "detached");
- gtk_widget_show (handle_box);
-
- toolbar = make_toolbar (window);
-
- gtk_container_add (GTK_CONTAINER (handle_box), toolbar);
- gtk_widget_show (toolbar);
-
- handle_box = gtk_handle_box_new ();
- gtk_box_pack_start (GTK_BOX (hbox), handle_box, FALSE, FALSE, 0);
- g_signal_connect (handle_box,
- "child_attached",
- G_CALLBACK (handle_box_child_signal),
- "attached");
- g_signal_connect (handle_box,
- "child_detached",
- G_CALLBACK (handle_box_child_signal),
- "detached");
- gtk_widget_show (handle_box);
-
- handle_box2 = gtk_handle_box_new ();
- gtk_container_add (GTK_CONTAINER (handle_box), handle_box2);
- g_signal_connect (handle_box2,
- "child_attached",
- G_CALLBACK (handle_box_child_signal),
- "attached");
- g_signal_connect (handle_box2,
- "child_detached",
- G_CALLBACK (handle_box_child_signal),
- "detached");
- gtk_widget_show (handle_box2);
-
- hbox = g_object_new (GTK_TYPE_HBOX, "visible", 1, "parent", handle_box2, NULL);
- label = gtk_label_new ("Fooo!");
- gtk_container_add (GTK_CONTAINER (hbox), label);
- gtk_widget_show (label);
- g_object_new (GTK_TYPE_ARROW, "visible", 1, "parent", hbox, NULL);
- }
+ gtk_window_set_title (GTK_WINDOW (window), "Alpha");
+ gtk_container_set_border_width (GTK_CONTAINER (window), 0);
+
+ main_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+ gtk_container_add (GTK_CONTAINER (window), main_hbox);
+
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+
+ gtk_box_pack_start (GTK_BOX (main_hbox), vbox, FALSE, FALSE, 0);
+
+ /* Plain button (no gdkwindows */
+
+ label = gtk_label_new ("non-window widget");
+ gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
+
+ alpha1 = button = gtk_button_new_with_label ("A Button");
+ gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
+
+ /* windowed container with both windowed and normal button */
+ label = gtk_label_new ("\nwindow widget");
+ gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
+
+ alpha2 = event_box = gtk_event_box_new ();
+ gtk_box_pack_start (GTK_BOX (vbox), event_box, FALSE, FALSE, 0);
+
+ vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+ gtk_container_add (GTK_CONTAINER (event_box), vbox2);
+
+ button = gtk_button_new_with_label ("A Button");
+ gtk_box_pack_start (GTK_BOX (vbox2), button, FALSE, FALSE, 0);
+
+ event_box = gtk_event_box_new ();
+ button = gtk_button_new_with_label ("A Button (in window)");
+ gtk_container_add (GTK_CONTAINER (event_box), button);
+ gtk_box_pack_start (GTK_BOX (vbox2), event_box, FALSE, FALSE, 0);
+
+ /* non-windowed container with both windowed and normal button */
+ label = gtk_label_new ("\nnon-window widget with widget child");
+ gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
+
+ alpha3 = vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+ gtk_box_pack_start (GTK_BOX (vbox), vbox2, FALSE, FALSE, 0);
+
+ button = gtk_button_new_with_label ("A Button");
+ gtk_box_pack_start (GTK_BOX (vbox2), button, FALSE, FALSE, 0);
+
+ event_box = gtk_event_box_new ();
+ button = gtk_button_new_with_label ("A Button (in window)");
+ gtk_container_add (GTK_CONTAINER (event_box), button);
+ gtk_box_pack_start (GTK_BOX (vbox2), event_box, FALSE, FALSE, 0);
+
+ scale = gtk_scale_new_with_range (GTK_ORIENTATION_VERTICAL,
+ 0, 100, 1);
+ gtk_box_pack_start (GTK_BOX (main_hbox), scale, FALSE, FALSE, 0);
+ g_signal_connect (scale, "value_changed", G_CALLBACK (alpha_changed), alpha1);
+ gtk_range_set_value (GTK_RANGE (scale), 50);
+
+ scale = gtk_scale_new_with_range (GTK_ORIENTATION_VERTICAL,
+ 0, 100, 1);
+ gtk_box_pack_start (GTK_BOX (main_hbox), scale, FALSE, FALSE, 0);
+ g_signal_connect (scale, "value_changed", G_CALLBACK (alpha_changed), alpha2);
+ gtk_range_set_value (GTK_RANGE (scale), 50);
+
+ scale = gtk_scale_new_with_range (GTK_ORIENTATION_VERTICAL,
+ 0, 100, 1);
+ gtk_box_pack_start (GTK_BOX (main_hbox), scale, FALSE, FALSE, 0);
+ g_signal_connect (scale, "value_changed", G_CALLBACK (alpha_changed), alpha3);
+ gtk_range_set_value (GTK_RANGE (scale), 50);
+
+ gtk_widget_show_all (main_hbox);
+ }
if (!gtk_widget_get_visible (window))
gtk_widget_show (window);
gtk_widget_destroy (window);
}
+
/*
* Label Demo
*/
gtk_window_set_title (GTK_WINDOW (window), "Label");
- vbox = gtk_vbox_new (FALSE, 5);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
- hbox = gtk_hbox_new (FALSE, 5);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
gtk_container_add (GTK_CONTAINER (window), vbox);
gtk_box_pack_end (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
- vbox = gtk_vbox_new (FALSE, 5);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0);
gtk_container_set_border_width (GTK_CONTAINER (window), 5);
gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
g_signal_connect (label, "activate-link", G_CALLBACK (activate_link), NULL);
- vbox = gtk_vbox_new (FALSE, 5);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0);
frame = gtk_frame_new ("Line wrapped label");
label = gtk_label_new ("This is an example of a line-wrapped label. It should not be taking "\
content_area = gtk_dialog_get_content_area (GTK_DIALOG (window));
- vbox = gtk_vbox_new (FALSE, 5);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 10);
gtk_label_set_markup (GTK_LABEL (label), "Hello World\n<i>Rotate</i> <span underline='single' foreground='blue'>me</span>");
gtk_box_pack_start (GTK_BOX (vbox), label, TRUE, TRUE, 0);
- scale_hbox = gtk_hbox_new (FALSE, 0);
+ scale_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_box_pack_start (GTK_BOX (vbox), scale_hbox, FALSE, FALSE, 0);
scale_label = gtk_label_new (NULL);
gtk_label_set_markup (GTK_LABEL (scale_label), "<i>Angle: </i>");
gtk_box_pack_start (GTK_BOX (scale_hbox), scale_label, FALSE, FALSE, 0);
- hscale = gtk_hscale_new_with_range (0, 360, 5);
+ hscale = gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL,
+ 0, 360, 5);
g_signal_connect (hscale, "value-changed",
G_CALLBACK (on_angle_scale_changed), label);
if (!window)
{
- const GdkColor white = { 0, 0xffff, 0xffff, 0xffff };
+ const GdkRGBA white = { 1.0, 1.0, 1.0, 1.0 };
GtkRequisition requisition;
GtkWidget *content_area;
GtkWidget *drawing_area;
drawing_area = gtk_drawing_area_new ();
gtk_box_pack_start (GTK_BOX (content_area), drawing_area, TRUE, TRUE, 0);
- gtk_widget_modify_bg (drawing_area, GTK_STATE_NORMAL, &white);
+ gtk_widget_override_background_color (drawing_area, 0, &white);
tile_pixbuf = gdk_pixbuf_new_from_file ("marble.xpm", NULL);
gtk_window_set_title (GTK_WINDOW (window), "reparent");
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
- box1 = gtk_vbox_new (FALSE, 0);
+ box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_add (GTK_CONTAINER (window), box1);
- box2 = gtk_hbox_new (FALSE, 5);
+ box2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0);
frame = gtk_frame_new ("Frame 1");
gtk_box_pack_start (GTK_BOX (box2), frame, TRUE, TRUE, 0);
- box3 = gtk_vbox_new (FALSE, 5);
+ box3 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
gtk_container_set_border_width (GTK_CONTAINER (box3), 5);
gtk_container_add (GTK_CONTAINER (frame), box3);
frame = gtk_frame_new ("Frame 2");
gtk_box_pack_start (GTK_BOX (box2), frame, TRUE, TRUE, 0);
- box3 = gtk_vbox_new (FALSE, 5);
+ box3 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
gtk_container_set_border_width (GTK_CONTAINER (box3), 5);
gtk_container_add (GTK_CONTAINER (frame), box3);
G_CALLBACK (reparent_label),
event_box);
- separator = gtk_hseparator_new ();
+ separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0);
- box2 = gtk_vbox_new (FALSE, 10);
+ box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0);
{
if (event->type == GDK_BUTTON_PRESS)
{
- if (event->button == 1)
+ if (event->button == GDK_BUTTON_PRIMARY)
gtk_window_begin_resize_drag (GTK_WINDOW (gtk_widget_get_toplevel (area)), edge,
event->button, event->x_root, event->y_root,
event->time);
- else if (event->button == 2)
+ else if (event->button == GDK_BUTTON_MIDDLE)
gtk_window_begin_move_drag (GTK_WINDOW (gtk_widget_get_toplevel (area)),
event->button, event->x_root, event->y_root,
event->time);
static gboolean
grippy_draw (GtkWidget *area, cairo_t *cr, GdkWindowEdge edge)
{
- gtk_paint_resize_grip (gtk_widget_get_style (area),
- cr,
- gtk_widget_get_state (area),
- area,
- "statusbar",
- edge,
- 0, 0,
- gtk_widget_get_allocated_width (area),
- gtk_widget_get_allocated_height (area));
+ GtkStyleContext *context;
+ GtkJunctionSides sides;
+
+ switch (edge)
+ {
+ case GDK_WINDOW_EDGE_NORTH_WEST:
+ sides = GTK_JUNCTION_CORNER_TOPLEFT;
+ break;
+ case GDK_WINDOW_EDGE_NORTH:
+ sides = GTK_JUNCTION_TOP;
+ break;
+ case GDK_WINDOW_EDGE_NORTH_EAST:
+ sides = GTK_JUNCTION_CORNER_TOPRIGHT;
+ break;
+ case GDK_WINDOW_EDGE_WEST:
+ sides = GTK_JUNCTION_LEFT;
+ break;
+ case GDK_WINDOW_EDGE_EAST:
+ sides = GTK_JUNCTION_RIGHT;
+ break;
+ case GDK_WINDOW_EDGE_SOUTH_WEST:
+ sides = GTK_JUNCTION_CORNER_BOTTOMLEFT;
+ break;
+ case GDK_WINDOW_EDGE_SOUTH:
+ sides = GTK_JUNCTION_BOTTOM;
+ break;
+ case GDK_WINDOW_EDGE_SOUTH_EAST:
+ sides = GTK_JUNCTION_CORNER_BOTTOMRIGHT;
+ break;
+ default:
+ g_assert_not_reached();
+ }
+
+ context = gtk_widget_get_style_context (area);
+ gtk_style_context_save (context);
+ gtk_style_context_add_class (context, "grip");
+ gtk_style_context_set_junction_sides (context, sides);
+ gtk_render_handle (context, cr,
+ 0, 0,
+ gtk_widget_get_allocated_width (area),
+ gtk_widget_get_allocated_height (area));
+
+ gtk_style_context_restore (context);
return TRUE;
}
G_CALLBACK (gtk_widget_destroyed),
&window);
- vbox = gtk_vbox_new (FALSE, 0);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_add (GTK_CONTAINER (window), vbox);
- hbox = gtk_hbox_new (FALSE, 0);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0);
/* North west */
g_signal_connect (area, "button_press_event", G_CALLBACK (grippy_button_press),
GINT_TO_POINTER (GDK_WINDOW_EDGE_NORTH_EAST));
- hbox = gtk_hbox_new (FALSE, 0);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0);
/* West */
GINT_TO_POINTER (GDK_WINDOW_EDGE_EAST));
- hbox = gtk_hbox_new (FALSE, 0);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0);
/* South west */
G_CALLBACK (gtk_widget_destroyed),
&window);
- main_vbox = gtk_vbox_new (FALSE, 5);
+ main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 0);
gtk_container_add (GTK_CONTAINER (window), main_vbox);
vbox =
- g_object_new (gtk_vbox_get_type (),
+ g_object_new (GTK_TYPE_BOX,
+ "orientation", GTK_ORIENTATION_VERTICAL,
"GtkBox::homogeneous", FALSE,
"GtkBox::spacing", 5,
"GtkContainer::border_width", 10,
NULL),
NULL);
- hbox = gtk_hbox_new (FALSE, 0);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_container_set_border_width (GTK_CONTAINER (hbox), 5);
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0);
label = gtk_label_new ("X Origin : ");
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
+ gtk_widget_set_halign (label, GTK_ALIGN_START);
+ gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0);
x_label = gtk_label_new ("");
gtk_box_pack_start (GTK_BOX (hbox), x_label, TRUE, TRUE, 0);
g_object_set_data (G_OBJECT (window), "x", x_label);
- hbox = gtk_hbox_new (FALSE, 0);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_container_set_border_width (GTK_CONTAINER (hbox), 5);
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0);
label = gtk_label_new ("Y Origin : ");
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
+ gtk_widget_set_halign (label, GTK_ALIGN_START);
+ gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0);
y_label = gtk_label_new ("");
g_object_set_data (G_OBJECT (window), "y", y_label);
any =
- g_object_new (gtk_hseparator_get_type (),
+ g_object_new (gtk_separator_get_type (),
"GtkWidget::visible", TRUE,
NULL);
gtk_box_pack_start (GTK_BOX (main_vbox), any, FALSE, TRUE, 0);
- hbox = gtk_hbox_new (FALSE, 0);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_container_set_border_width (GTK_CONTAINER (hbox), 10);
gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, TRUE, 0);
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
gtk_widget_realize(window);
- box1 = gtk_vbox_new (FALSE, 0);
+ box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_add (GTK_CONTAINER (window), box1);
- box2 = gtk_vbox_new (FALSE, 10);
+ box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0);
gdk_window = gtk_widget_get_window (window);
- pixbufwid = new_pixbuf ("test.xpm", gdk_window, NULL);
+ pixbufwid = new_pixbuf ("test.xpm", gdk_window);
label = gtk_label_new ("Pixbuf\ntest");
- box3 = gtk_hbox_new (FALSE, 0);
+ box3 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_container_set_border_width (GTK_CONTAINER (box3), 2);
gtk_container_add (GTK_CONTAINER (box3), pixbufwid);
gtk_container_add (GTK_CONTAINER (box3), label);
button = gtk_button_new ();
gtk_box_pack_start (GTK_BOX (box2), button, FALSE, FALSE, 0);
- pixbufwid = new_pixbuf ("test.xpm", gdk_window, NULL);
+ pixbufwid = new_pixbuf ("test.xpm", gdk_window);
label = gtk_label_new ("Pixbuf\ntest");
- box3 = gtk_hbox_new (FALSE, 0);
+ box3 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_container_set_border_width (GTK_CONTAINER (box3), 2);
gtk_container_add (GTK_CONTAINER (box3), pixbufwid);
gtk_container_add (GTK_CONTAINER (box3), label);
gtk_widget_set_sensitive (button, FALSE);
- separator = gtk_hseparator_new ();
+ separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0);
- box2 = gtk_vbox_new (FALSE, 10);
+ box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (widget));
- box1 = gtk_vbox_new (FALSE, 0);
+ box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_add (GTK_CONTAINER (window), box1);
- box2 = gtk_vbox_new (FALSE, 10);
+ box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0);
gtk_widget_set_tooltip_text (toggle, "Toggle TipsQuery view.");
box3 =
- g_object_new (gtk_vbox_get_type (),
+ g_object_new (GTK_TYPE_BOX,
+ "orientation", GTK_ORIENTATION_VERTICAL,
"homogeneous", FALSE,
"spacing", 5,
"border_width", 5,
NULL);
gtk_box_set_child_packing (GTK_BOX (box2), frame, TRUE, TRUE, 10, GTK_PACK_START);
- separator = gtk_hseparator_new ();
+ separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0);
- box2 = gtk_vbox_new (FALSE, 10);
+ box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0);
G_CALLBACK (gtk_widget_destroyed),
&window);
- vbox = gtk_vbox_new (FALSE, 5);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
gtk_container_add (GTK_CONTAINER (window), vbox);
*/
static GtkWidget*
-create_menu (GdkScreen *screen, gint depth, gint length, gboolean tearoff)
+create_menu (GdkScreen *screen, gint depth, gint length)
{
GtkWidget *menu;
GtkWidget *menuitem;
group = NULL;
- if (tearoff)
- {
- menuitem = gtk_tearoff_menu_item_new ();
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
- gtk_widget_show (menuitem);
- }
-
image = gtk_image_new_from_stock (GTK_STOCK_OPEN,
GTK_ICON_SIZE_MENU);
gtk_widget_show (image);
if (i < 5)
gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem),
- create_menu (screen, depth - 1, 5, TRUE));
+ create_menu (screen, depth - 1, 5));
}
return menu;
}
static GtkWidget*
-create_table_menu (GdkScreen *screen, gint cols, gint rows, gboolean tearoff)
+create_table_menu (GdkScreen *screen, gint cols, gint rows)
{
GtkWidget *menu;
GtkWidget *menuitem;
gtk_menu_set_screen (GTK_MENU (menu), screen);
j = 0;
- if (tearoff)
- {
- menuitem = gtk_tearoff_menu_item_new ();
- gtk_menu_attach (GTK_MENU (menu), menuitem, 0, cols, j, j + 1);
- gtk_widget_show (menuitem);
- j++;
- }
menuitem = gtk_menu_item_new_with_label ("items");
gtk_menu_attach (GTK_MENU (menu), menuitem, 0, cols, j, j + 1);
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
- box1 = gtk_vbox_new (FALSE, 0);
+ box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_add (GTK_CONTAINER (window), box1);
gtk_widget_show (box1);
gtk_box_pack_start (GTK_BOX (box1), menubar, FALSE, TRUE, 0);
gtk_widget_show (menubar);
- menu = create_menu (screen, 2, 50, TRUE);
+ menu = create_menu (screen, 2, 50);
menuitem = gtk_menu_item_new_with_label ("test\nline2");
gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), menu);
gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem);
gtk_widget_show (menuitem);
- menu = create_table_menu (screen, 2, 50, TRUE);
+ menu = create_table_menu (screen, 2, 50);
menuitem = gtk_menu_item_new_with_label ("table");
gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), menu);
gtk_widget_show (menuitem);
menuitem = gtk_menu_item_new_with_label ("foo");
- gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), create_menu (screen, 3, 5, TRUE));
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), create_menu (screen, 3, 5));
gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem);
gtk_widget_show (menuitem);
gtk_widget_show (image);
menuitem = gtk_image_menu_item_new_with_label ("Help");
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem), image);
- gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), create_menu (screen, 4, 5, TRUE));
- gtk_menu_item_set_right_justified (GTK_MENU_ITEM (menuitem), TRUE);
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), create_menu (screen, 4, 5));
+ gtk_widget_set_hexpand (menuitem, TRUE);
+ gtk_widget_set_halign (menuitem, GTK_ALIGN_END);
gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem);
gtk_widget_show (menuitem);
gtk_box_pack_start (GTK_BOX (box1), menubar, FALSE, TRUE, 0);
gtk_widget_show (menubar);
- menu = create_menu (screen, 2, 10, TRUE);
+ menu = create_menu (screen, 2, 10);
menuitem = gtk_menu_item_new_with_label ("Second menu bar");
gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), menu);
gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem);
gtk_widget_show (menuitem);
- box2 = gtk_vbox_new (FALSE, 10);
+ box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0);
gtk_widget_show (box2);
- menu = create_menu (screen, 1, 5, FALSE);
+ menu = create_menu (screen, 1, 5);
gtk_menu_set_accel_group (GTK_MENU (menu), accel_group);
menuitem = gtk_image_menu_item_new_from_stock (GTK_STOCK_NEW, accel_group);
gtk_box_pack_start (GTK_BOX (box2), optionmenu, TRUE, TRUE, 0);
gtk_widget_show (optionmenu);
- separator = gtk_hseparator_new ();
+ separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0);
gtk_widget_show (separator);
- box2 = gtk_vbox_new (FALSE, 10);
+ box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0);
gtk_widget_show (box2);
cmw_color (GtkWidget *widget, GtkWidget *parent)
{
GtkWidget *csd;
- GtkWidget *colorsel;
- GtkWidget *ok_button, *cancel_button;
-
- csd = gtk_color_selection_dialog_new ("This is a modal color selection dialog");
- gtk_window_set_screen (GTK_WINDOW (csd), gtk_widget_get_screen (parent));
+ csd = gtk_color_chooser_dialog_new ("This is a modal color selection dialog", GTK_WINDOW (parent));
- colorsel = gtk_color_selection_dialog_get_color_selection (GTK_COLOR_SELECTION_DIALOG (csd));
- gtk_color_selection_set_has_palette (GTK_COLOR_SELECTION (colorsel),
- TRUE);
-
/* Set as modal */
gtk_window_set_modal (GTK_WINDOW(csd),TRUE);
- /* And mark it as a transient dialog */
- gtk_window_set_transient_for (GTK_WINDOW (csd), GTK_WINDOW (parent));
-
g_signal_connect (csd, "destroy",
G_CALLBACK (cmw_destroy_cb), NULL);
-
- g_object_get (csd,
- "ok-button", &ok_button,
- "cancel-button", &cancel_button,
- NULL);
-
- g_signal_connect_swapped (ok_button,
- "clicked", G_CALLBACK (gtk_widget_destroy), csd);
- g_signal_connect_swapped (cancel_button,
- "clicked", G_CALLBACK (gtk_widget_destroy), csd);
+ g_signal_connect (csd, "response",
+ G_CALLBACK (gtk_widget_destroy), NULL);
/* wait until destroy calls gtk_main_quit */
gtk_widget_show (csd);
gtk_window_set_modal (GTK_WINDOW(window),TRUE);
/* Create widgets */
- box1 = gtk_vbox_new (FALSE,5);
+ box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
frame1 = gtk_frame_new ("Standard dialogs in modal form");
- box2 = gtk_vbox_new (TRUE,5);
+ box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
+ gtk_box_set_homogeneous (GTK_BOX (box2), TRUE);
btnColor = gtk_button_new_with_label ("Color");
btnFile = gtk_button_new_with_label ("File Selection");
btnClose = gtk_button_new_with_label ("Close");
gtk_container_add (GTK_CONTAINER (frame1), box2);
gtk_box_pack_start (GTK_BOX (box2), btnColor, FALSE, FALSE, 4);
gtk_box_pack_start (GTK_BOX (box2), btnFile, FALSE, FALSE, 4);
- gtk_box_pack_start (GTK_BOX (box1), gtk_hseparator_new (), FALSE, FALSE, 4);
+ gtk_box_pack_start (GTK_BOX (box1), gtk_separator_new (GTK_ORIENTATION_HORIZONTAL), FALSE, FALSE, 4);
gtk_box_pack_start (GTK_BOX (box1), btnClose, FALSE, FALSE, 4);
/* connect signals */
static GtkWidget *window;
GtkWidget *content_area, *action_area;
GtkWidget *scrolled_window;
- GtkWidget *table;
+ GtkWidget *grid;
GtkWidget *button;
char buffer[32];
int i, j;
gtk_box_pack_start (GTK_BOX (content_area), scrolled_window, TRUE, TRUE, 0);
gtk_widget_show (scrolled_window);
- table = gtk_table_new (20, 20, FALSE);
- gtk_table_set_row_spacings (GTK_TABLE (table), 10);
- gtk_table_set_col_spacings (GTK_TABLE (table), 10);
- gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrolled_window), table);
- gtk_container_set_focus_hadjustment (GTK_CONTAINER (table),
+ grid = gtk_grid_new ();
+ gtk_grid_set_row_spacing (GTK_GRID (grid), 10);
+ gtk_grid_set_column_spacing (GTK_GRID (grid), 10);
+ gtk_container_add (GTK_CONTAINER (scrolled_window), grid);
+ gtk_container_set_focus_hadjustment (GTK_CONTAINER (grid),
gtk_scrolled_window_get_hadjustment (GTK_SCROLLED_WINDOW (scrolled_window)));
- gtk_container_set_focus_vadjustment (GTK_CONTAINER (table),
+ gtk_container_set_focus_vadjustment (GTK_CONTAINER (grid),
gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (scrolled_window)));
- gtk_widget_show (table);
+ gtk_widget_show (grid);
for (i = 0; i < 20; i++)
for (j = 0; j < 20; j++)
{
sprintf (buffer, "button (%d,%d)\n", i, j);
button = gtk_toggle_button_new_with_label (buffer);
- gtk_table_attach_defaults (GTK_TABLE (table), button,
- i, i+1, j, j+1);
+ gtk_grid_attach (GTK_GRID (grid), button, i, j, 1, 1);
gtk_widget_show (button);
}
gtk_entry_set_progress_fraction (GTK_ENTRY (data), fraction);
}
- return TRUE;
+ return G_SOURCE_CONTINUE;
}
static void
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
- box1 = gtk_vbox_new (FALSE, 0);
+ box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_add (GTK_CONTAINER (window), box1);
- box2 = gtk_vbox_new (FALSE, 10);
+ box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0);
- hbox = gtk_hbox_new (FALSE, 5);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
gtk_box_pack_start (GTK_BOX (box2), hbox, TRUE, TRUE, 0);
entry = gtk_entry_new ();
g_signal_connect (progress_check, "toggled",
G_CALLBACK (entry_toggle_pulse), entry);
- separator = gtk_hseparator_new ();
+ separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0);
- box2 = gtk_vbox_new (FALSE, 10);
+ box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0);
gtk_window_set_title (GTK_WINDOW (window), "expander");
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
- box1 = gtk_vbox_new (FALSE, 0);
+ box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_add (GTK_CONTAINER (window), box1);
expander = gtk_expander_new ("The Hidden");
GtkWidget *label;
GtkWidget *visible_window_check;
GtkWidget *above_child_check;
- GdkColor color;
+ GdkRGBA color;
if (!window)
{
color.red = 0;
- color.blue = 65535;
+ color.blue = 1;
color.green = 0;
+ color.alpha = 1;
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_window_set_title (GTK_WINDOW (window), "event box");
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
- box1 = gtk_vbox_new (FALSE, 0);
+ box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_add (GTK_CONTAINER (window), box1);
- gtk_widget_modify_bg (window, GTK_STATE_NORMAL, &color);
+ gtk_widget_override_background_color (window, 0, &color);
- hbox = gtk_hbox_new (FALSE, 0);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_box_pack_start (GTK_BOX (box1), hbox, TRUE, FALSE, 0);
event_box = gtk_event_box_new ();
gtk_box_pack_start (GTK_BOX (hbox), event_box, TRUE, FALSE, 0);
- vbox = gtk_vbox_new (FALSE, 0);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_add (GTK_CONTAINER (event_box), vbox);
g_signal_connect (event_box, "button_press_event",
G_CALLBACK (event_box_label_pressed),
G_CALLBACK (event_box_toggle_above_child), event_box);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (above_child_check), FALSE);
- separator = gtk_hseparator_new ();
+ separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0);
- box2 = gtk_vbox_new (FALSE, 10);
+ box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0);
{
GtkWidget *content_area;
GtkWidget *window;
- GtkWidget *table;
+ GtkWidget *grid;
GtkWidget *main_button;
GtkWidget *button;
GtkWidget *spin_button;
content_area = gtk_dialog_get_content_area (GTK_DIALOG (window));
- table = gtk_table_new (2, 2, FALSE);
- gtk_box_pack_start (GTK_BOX (content_area), table, TRUE, TRUE, 0);
+ grid = gtk_grid_new ();
+ gtk_box_pack_start (GTK_BOX (content_area), grid, TRUE, TRUE, 0);
- gtk_table_set_row_spacings (GTK_TABLE (table), 5);
- gtk_table_set_col_spacings (GTK_TABLE (table), 5);
- gtk_container_set_border_width (GTK_CONTAINER (table), 5);
- gtk_widget_set_size_request (table, 250, 250);
+ gtk_grid_set_row_spacing (GTK_GRID (grid), 5);
+ gtk_grid_set_column_spacing (GTK_GRID (grid), 5);
+ gtk_container_set_border_width (GTK_CONTAINER (grid), 5);
+ gtk_widget_set_size_request (grid, 250, 250);
hgroup1 = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
hgroup2 = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
vgroup2 = gtk_size_group_new (GTK_SIZE_GROUP_VERTICAL);
main_button = gtk_button_new_with_label ("X");
+ gtk_widget_set_hexpand (main_button, TRUE);
+ gtk_widget_set_vexpand (main_button, TRUE);
+ gtk_widget_set_halign (main_button, GTK_ALIGN_CENTER);
+ gtk_widget_set_valign (main_button, GTK_ALIGN_CENTER);
+ gtk_grid_attach (GTK_GRID (grid), main_button, 0, 0, 1, 1);
- gtk_table_attach (GTK_TABLE (table), main_button,
- 0, 1, 0, 1,
- GTK_EXPAND, GTK_EXPAND,
- 0, 0);
gtk_size_group_add_widget (master_size_group, main_button);
gtk_size_group_add_widget (hgroup1, main_button);
gtk_size_group_add_widget (vgroup1, main_button);
SIZE_GROUP_INITIAL_SIZE);
button = gtk_button_new ();
- gtk_table_attach (GTK_TABLE (table), button,
- 1, 2, 0, 1,
- GTK_EXPAND, GTK_EXPAND,
- 0, 0);
+ gtk_widget_set_hexpand (button, TRUE);
+ gtk_widget_set_vexpand (button, TRUE);
+ gtk_widget_set_halign (button, GTK_ALIGN_CENTER);
+ gtk_widget_set_valign (button, GTK_ALIGN_CENTER);
+ gtk_grid_attach (GTK_GRID (grid), button, 1, 0, 1, 1);
+
gtk_size_group_add_widget (vgroup1, button);
gtk_size_group_add_widget (vgroup2, button);
button = gtk_button_new ();
- gtk_table_attach (GTK_TABLE (table), button,
- 0, 1, 1, 2,
- GTK_EXPAND, GTK_EXPAND,
- 0, 0);
+ gtk_widget_set_hexpand (button, TRUE);
+ gtk_widget_set_vexpand (button, TRUE);
+ gtk_widget_set_halign (button, GTK_ALIGN_CENTER);
+ gtk_widget_set_valign (button, GTK_ALIGN_CENTER);
+ gtk_grid_attach (GTK_GRID (grid), button, 0, 1, 1, 1);
+
gtk_size_group_add_widget (hgroup1, button);
gtk_size_group_add_widget (hgroup2, button);
button = gtk_button_new ();
- gtk_table_attach (GTK_TABLE (table), button,
- 1, 2, 1, 2,
- GTK_EXPAND, GTK_EXPAND,
- 0, 0);
+ gtk_widget_set_hexpand (button, TRUE);
+ gtk_widget_set_vexpand (button, TRUE);
+ gtk_widget_set_halign (button, GTK_ALIGN_CENTER);
+ gtk_widget_set_valign (button, GTK_ALIGN_CENTER);
+ gtk_grid_attach (GTK_GRID (grid), button, 1, 1, 1, 1);
+
gtk_size_group_add_widget (hgroup2, button);
gtk_size_group_add_widget (vgroup2, button);
g_object_unref (vgroup1);
g_object_unref (vgroup2);
- hbox = gtk_hbox_new (FALSE, 5);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
gtk_box_pack_start (GTK_BOX (content_area), hbox, FALSE, FALSE, 0);
spin_button = gtk_spin_button_new_with_range (1, 100, 1);
GtkWidget *button;
GtkWidget *label;
GtkWidget *val_label;
- GtkAdjustment *adj;
+ GtkAdjustment *adjustment;
if (!window)
{
gtk_window_set_title (GTK_WINDOW (window), "GtkSpinButton");
- main_vbox = gtk_vbox_new (FALSE, 5);
+ main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 10);
gtk_container_add (GTK_CONTAINER (window), main_vbox);
frame = gtk_frame_new ("Not accelerated");
gtk_box_pack_start (GTK_BOX (main_vbox), frame, TRUE, TRUE, 0);
- vbox = gtk_vbox_new (FALSE, 0);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
gtk_container_add (GTK_CONTAINER (frame), vbox);
/* Time, month, hex spinners */
- hbox = gtk_hbox_new (FALSE, 0);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 5);
- vbox2 = gtk_vbox_new (FALSE, 0);
+ vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 5);
label = gtk_label_new ("Time :");
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
+ gtk_widget_set_halign (label, GTK_ALIGN_START);
+ gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, TRUE, 0);
- adj = gtk_adjustment_new (0, 0, 1410, 30, 60, 0);
- spinner = gtk_spin_button_new (adj, 0, 0);
+ adjustment = gtk_adjustment_new (0, 0, 1410, 30, 60, 0);
+ spinner = gtk_spin_button_new (adjustment, 0, 0);
gtk_editable_set_editable (GTK_EDITABLE (spinner), FALSE);
g_signal_connect (spinner,
"output",
gtk_entry_set_width_chars (GTK_ENTRY (spinner), 5);
gtk_box_pack_start (GTK_BOX (vbox2), spinner, FALSE, TRUE, 0);
- vbox2 = gtk_vbox_new (FALSE, 0);
+ vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 5);
label = gtk_label_new ("Month :");
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
+ gtk_widget_set_halign (label, GTK_ALIGN_START);
+ gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, TRUE, 0);
- adj = gtk_adjustment_new (1.0, 1.0, 12.0, 1.0,
+ adjustment = gtk_adjustment_new (1.0, 1.0, 12.0, 1.0,
5.0, 0.0);
- spinner = gtk_spin_button_new (adj, 0, 0);
+ spinner = gtk_spin_button_new (adjustment, 0, 0);
gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (spinner),
GTK_UPDATE_IF_VALID);
g_signal_connect (spinner,
gtk_entry_set_width_chars (GTK_ENTRY (spinner), 9);
gtk_box_pack_start (GTK_BOX (vbox2), spinner, FALSE, TRUE, 0);
- vbox2 = gtk_vbox_new (FALSE, 0);
+ vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 5);
label = gtk_label_new ("Hex :");
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
+ gtk_widget_set_halign (label, GTK_ALIGN_START);
+ gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, TRUE, 0);
- adj = gtk_adjustment_new (0, 0, 255, 1, 16, 0);
- spinner = gtk_spin_button_new (adj, 0, 0);
+ adjustment = gtk_adjustment_new (0, 0, 255, 1, 16, 0);
+ spinner = gtk_spin_button_new (adjustment, 0, 0);
gtk_editable_set_editable (GTK_EDITABLE (spinner), TRUE);
g_signal_connect (spinner,
"input",
frame = gtk_frame_new ("Accelerated");
gtk_box_pack_start (GTK_BOX (main_vbox), frame, TRUE, TRUE, 0);
- vbox = gtk_vbox_new (FALSE, 0);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
gtk_container_add (GTK_CONTAINER (frame), vbox);
- hbox = gtk_hbox_new (FALSE, 0);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 5);
- vbox2 = gtk_vbox_new (FALSE, 0);
+ vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_box_pack_start (GTK_BOX (hbox), vbox2, FALSE, FALSE, 5);
label = gtk_label_new ("Value :");
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
+ gtk_widget_set_halign (label, GTK_ALIGN_START);
+ gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, TRUE, 0);
- adj = gtk_adjustment_new (0.0, -10000.0, 10000.0,
+ adjustment = gtk_adjustment_new (0.0, -10000.0, 10000.0,
0.5, 100.0, 0.0);
- spinner1 = gtk_spin_button_new (adj, 1.0, 2);
+ spinner1 = gtk_spin_button_new (adjustment, 1.0, 2);
gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spinner1), TRUE);
gtk_box_pack_start (GTK_BOX (vbox2), spinner1, FALSE, TRUE, 0);
- vbox2 = gtk_vbox_new (FALSE, 0);
+ vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_box_pack_start (GTK_BOX (hbox), vbox2, FALSE, FALSE, 5);
label = gtk_label_new ("Digits :");
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
+ gtk_widget_set_halign (label, GTK_ALIGN_START);
+ gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, TRUE, 0);
- adj = gtk_adjustment_new (2, 1, 15, 1, 1, 0);
- spinner2 = gtk_spin_button_new (adj, 0.0, 0);
- g_signal_connect (adj, "value_changed",
+ adjustment = gtk_adjustment_new (2, 1, 15, 1, 1, 0);
+ spinner2 = gtk_spin_button_new (adjustment, 0.0, 0);
+ g_signal_connect (adjustment, "value_changed",
G_CALLBACK (change_digits),
spinner2);
gtk_box_pack_start (GTK_BOX (vbox2), spinner2, FALSE, TRUE, 0);
- hbox = gtk_hbox_new (FALSE, 0);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 5);
button = gtk_check_button_new_with_label ("Snap to 0.5-ticks");
val_label = gtk_label_new ("");
- hbox = gtk_hbox_new (FALSE, 0);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 5);
button = gtk_button_new_with_label ("Value as Int");
frame = gtk_frame_new ("Using Convenience Constructor");
gtk_box_pack_start (GTK_BOX (main_vbox), frame, TRUE, TRUE, 0);
- hbox = gtk_hbox_new (FALSE, 0);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_container_set_border_width (GTK_CONTAINER (hbox), 5);
gtk_container_add (GTK_CONTAINER (frame), hbox);
gtk_box_pack_start (GTK_BOX (hbox), spinner, TRUE, TRUE, 5);
gtk_box_pack_start (GTK_BOX (hbox), val_label, TRUE, TRUE, 5);
- hbox = gtk_hbox_new (FALSE, 0);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, TRUE, 0);
button = gtk_button_new_with_label ("Close");
gpointer user_data)
{
int width, height;
+ GtkStyleContext *context;
+ GdkRGBA bg;
width = gtk_widget_get_allocated_width (widget);
height = gtk_widget_get_allocated_height (widget);
cairo_rectangle (cr, 0, height / 2, width, height / 2);
cairo_fill (cr);
- gdk_cairo_set_source_color (cr, >k_widget_get_style (widget)->bg[GTK_STATE_NORMAL]);
+ context = gtk_widget_get_style_context (widget);
+ gtk_style_context_get_background_color (context, GTK_STATE_FLAG_NORMAL, &bg);
+ gdk_cairo_set_source_rgba (cr, &bg);
cairo_rectangle (cr, width / 3, height / 3, width / 3, height / 3);
cairo_fill (cr);
cursor = gdk_cursor_new_for_display (gtk_widget_get_display (widget), c);
gdk_window_set_cursor (gtk_widget_get_window (widget),
cursor);
- gdk_cursor_unref (cursor);
+ g_object_unref (cursor);
}
static gint
GtkSpinButton *spinner)
{
if ((event->type == GDK_BUTTON_PRESS) &&
- ((event->button.button == 1) ||
- (event->button.button == 3)))
+ ((event->button.button == GDK_BUTTON_PRIMARY) ||
+ (event->button.button == GDK_BUTTON_SECONDARY)))
{
- gtk_spin_button_spin (spinner, event->button.button == 1 ?
+ gtk_spin_button_spin (spinner, event->button.button == GDK_BUTTON_PRIMARY ?
GTK_SPIN_STEP_FORWARD : GTK_SPIN_STEP_BACKWARD, 0);
return TRUE;
}
GtkWidget *button;
GtkWidget *label;
GtkWidget *any;
- GtkAdjustment *adj;
+ GtkAdjustment *adjustment;
GtkWidget *entry;
GtkWidget *size;
gtk_window_set_title (GTK_WINDOW (window), "Cursors");
- main_vbox = gtk_vbox_new (FALSE, 5);
+ main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 0);
gtk_container_add (GTK_CONTAINER (window), main_vbox);
vbox =
- g_object_new (gtk_vbox_get_type (),
+ g_object_new (GTK_TYPE_BOX,
+ "orientation", GTK_ORIENTATION_VERTICAL,
"GtkBox::homogeneous", FALSE,
"GtkBox::spacing", 5,
"GtkContainer::border_width", 10,
NULL);
#ifdef GDK_WINDOWING_X11
- hbox = gtk_hbox_new (FALSE, 0);
- gtk_container_set_border_width (GTK_CONTAINER (hbox), 5);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0);
-
- label = gtk_label_new ("Cursor Theme : ");
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
- gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0);
-
- entry = gtk_entry_new ();
- gtk_entry_set_text (GTK_ENTRY (entry), "default");
- gtk_box_pack_start (GTK_BOX (hbox), entry, FALSE, TRUE, 0);
-
- size = gtk_spin_button_new_with_range (1.0, 64.0, 1.0);
- gtk_spin_button_set_value (GTK_SPIN_BUTTON (size), 24.0);
- gtk_box_pack_start (GTK_BOX (hbox), size, TRUE, TRUE, 0);
-
- g_signal_connect (entry, "changed",
- G_CALLBACK (change_cursor_theme), hbox);
- g_signal_connect (size, "changed",
- G_CALLBACK (change_cursor_theme), hbox);
+ if (GDK_IS_X11_DISPLAY (gtk_widget_get_display (vbox)))
+ {
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+ gtk_container_set_border_width (GTK_CONTAINER (hbox), 5);
+ gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0);
+
+ label = gtk_label_new ("Cursor Theme : ");
+ gtk_widget_set_halign (label, GTK_ALIGN_START);
+ gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
+ gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0);
+
+ entry = gtk_entry_new ();
+ gtk_entry_set_text (GTK_ENTRY (entry), "default");
+ gtk_box_pack_start (GTK_BOX (hbox), entry, FALSE, TRUE, 0);
+
+ size = gtk_spin_button_new_with_range (1.0, 64.0, 1.0);
+ gtk_spin_button_set_value (GTK_SPIN_BUTTON (size), 24.0);
+ gtk_box_pack_start (GTK_BOX (hbox), size, TRUE, TRUE, 0);
+
+ g_signal_connect (entry, "changed",
+ G_CALLBACK (change_cursor_theme), hbox);
+ g_signal_connect (size, "changed",
+ G_CALLBACK (change_cursor_theme), hbox);
+ }
#endif
- hbox = gtk_hbox_new (FALSE, 0);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_container_set_border_width (GTK_CONTAINER (hbox), 5);
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0);
label = gtk_label_new ("Cursor Value : ");
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
+ gtk_widget_set_halign (label, GTK_ALIGN_START);
+ gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0);
- adj = gtk_adjustment_new (0,
+ adjustment = gtk_adjustment_new (0,
0, 152,
2,
10, 0);
- spinner = gtk_spin_button_new (adj, 0, 0);
+ spinner = gtk_spin_button_new (adjustment, 0, 0);
gtk_box_pack_start (GTK_BOX (hbox), spinner, TRUE, TRUE, 0);
frame =
NULL);
g_object_set_data (G_OBJECT (spinner), "user_data", label);
- any =
- g_object_new (gtk_hseparator_get_type (),
- "GtkWidget::visible", TRUE,
- NULL);
+ any = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
gtk_box_pack_start (GTK_BOX (main_vbox), any, FALSE, TRUE, 0);
- hbox = gtk_hbox_new (FALSE, 0);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_container_set_border_width (GTK_CONTAINER (hbox), 10);
gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, TRUE, 0);
* GtkColorSelection
*/
-void
-color_selection_ok (GtkWidget *w,
- GtkColorSelectionDialog *cs)
-{
- GtkWidget *colorsel;
- GdkColor color;
-
- colorsel = gtk_color_selection_dialog_get_color_selection (cs);
-
- gtk_color_selection_get_current_color (GTK_COLOR_SELECTION (colorsel), &color);
- gtk_color_selection_set_current_color (GTK_COLOR_SELECTION (colorsel), &color);
-}
-
-void
-color_selection_changed (GtkWidget *w,
- GtkColorSelectionDialog *cs)
-{
- GtkWidget *colorsel;
- GdkColor color;
-
- colorsel = gtk_color_selection_dialog_get_color_selection (cs);
- gtk_color_selection_get_current_color (GTK_COLOR_SELECTION (colorsel), &color);
- gtk_color_selection_set_current_color (GTK_COLOR_SELECTION (colorsel), &color);
-}
-
-#if 0 /* unused */
-static void
-opacity_toggled_cb (GtkWidget *w,
- GtkColorSelectionDialog *cs)
-{
- GtkColorSelection *colorsel;
-
- colorsel = GTK_COLOR_SELECTION (cs->colorsel);
- gtk_color_selection_set_has_opacity_control (colorsel,
- gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (w)));
-}
-
-static void
-palette_toggled_cb (GtkWidget *w,
- GtkColorSelectionDialog *cs)
-{
- GtkColorSelection *colorsel;
-
- colorsel = GTK_COLOR_SELECTION (cs->colorsel);
- gtk_color_selection_set_has_palette (colorsel,
- gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (w)));
-}
-#endif
-
void
create_color_selection (GtkWidget *widget)
{
gtk_window_set_title (GTK_WINDOW (window), "GtkColorButton");
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
- hbox = gtk_hbox_new (FALSE, 8);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 8);
gtk_container_set_border_width (GTK_CONTAINER (hbox), 8);
gtk_container_add (GTK_CONTAINER (window), hbox);
gtk_container_add (GTK_CONTAINER (hbox), label);
picker = gtk_color_button_new ();
- gtk_color_button_set_use_alpha (GTK_COLOR_BUTTON (picker), TRUE);
+ gtk_color_chooser_set_use_alpha (GTK_COLOR_CHOOSER (picker), TRUE);
gtk_container_add (GTK_CONTAINER (hbox), picker);
button = gtk_button_new_with_mnemonic ("_Props");
GtkTextDirection text_dir)
{
GtkWidget *frame = gtk_frame_new (title);
- GtkWidget *bbox = gtk_hbutton_box_new ();
+ GtkWidget *bbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL);
GtkWidget *back_button = gtk_button_new_from_stock (GTK_STOCK_GO_BACK);
GtkWidget *forward_button = gtk_button_new_from_stock (GTK_STOCK_GO_FORWARD);
static GtkWidget*
make_focus_table (GList **list)
{
- GtkWidget *table;
+ GtkWidget *grid;
gint i, j;
- table = gtk_table_new (5, 5, FALSE);
+ grid = gtk_grid_new ();
- i = 0;
- j = 0;
+ gtk_grid_set_row_spacing (GTK_GRID (grid), 10);
+ gtk_grid_set_column_spacing (GTK_GRID (grid), 10);
- while (i < 5)
+ for (i = 0; i < 5; i++)
{
- j = 0;
- while (j < 5)
+ for (j = 0; j < 5; j++)
{
GtkWidget *widget;
*list = g_list_prepend (*list, widget);
- gtk_table_attach (GTK_TABLE (table),
- widget,
- i, i + 1,
- j, j + 1,
- GTK_EXPAND | GTK_FILL,
- GTK_EXPAND | GTK_FILL,
- 5, 5);
-
- ++j;
- }
+ gtk_widget_set_hexpand (widget, TRUE);
+ gtk_widget_set_vexpand (widget, TRUE);
- ++i;
+ gtk_grid_attach (GTK_GRID (grid), widget, i, j, 1, 1);
+ }
}
*list = g_list_reverse (*list);
- return table;
+ return grid;
}
static void
* GtkFontSelection
*/
-void
-font_selection_ok (GtkWidget *w,
- GtkFontSelectionDialog *fs)
-{
- gchar *s = gtk_font_selection_dialog_get_font_name (fs);
-
- g_print ("%s\n", s);
- g_free (s);
- gtk_widget_destroy (GTK_WIDGET (fs));
-}
-
void
create_font_selection (GtkWidget *widget)
{
gtk_window_set_title (GTK_WINDOW (window), "GtkFontButton");
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
- hbox = gtk_hbox_new (FALSE, 8);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 8);
gtk_container_set_border_width (GTK_CONTAINER (hbox), 8);
gtk_container_add (GTK_CONTAINER (window), hbox);
"destroy",
G_CALLBACK (gtk_widget_destroyed),
label);
- gtk_misc_set_padding (GTK_MISC (*label), 10, 10);
+ g_object_set (*label, "margin", 10, NULL);
gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog_window))),
*label, TRUE, TRUE, 0);
gtk_widget_show (*label);
void
create_display_screen (GtkWidget *widget)
{
- GtkWidget *table, *frame, *window, *combo_dpy, *vbox;
+ GtkWidget *grid, *frame, *window, *combo_dpy, *vbox;
GtkWidget *radio_dpy, *radio_scr, *applyb, *cancelb;
GtkWidget *bbox;
ScreenDisplaySelection *scr_dpy_data;
GdkDisplay *display = gdk_screen_get_display (screen);
window = g_object_new (gtk_window_get_type (),
- "screen", screen,
- "user_data", NULL,
- "type", GTK_WINDOW_TOPLEVEL,
- "title",
- "Screen or Display selection",
- "border_width", 10, NULL);
+ "screen", screen,
+ "type", GTK_WINDOW_TOPLEVEL,
+ "title", "Screen or Display selection",
+ "border_width",
+ 10, NULL);
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroy), NULL);
- vbox = gtk_vbox_new (FALSE, 3);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3);
gtk_container_add (GTK_CONTAINER (window), vbox);
frame = gtk_frame_new ("Select screen or display");
gtk_container_add (GTK_CONTAINER (vbox), frame);
- table = gtk_table_new (2, 2, TRUE);
- gtk_table_set_row_spacings (GTK_TABLE (table), 3);
- gtk_table_set_col_spacings (GTK_TABLE (table), 3);
+ grid = gtk_grid_new ();
+ gtk_grid_set_row_spacing (GTK_GRID (grid), 3);
+ gtk_grid_set_column_spacing (GTK_GRID (grid), 3);
- gtk_container_add (GTK_CONTAINER (frame), table);
+ gtk_container_add (GTK_CONTAINER (frame), grid);
radio_dpy = gtk_radio_button_new_with_label (NULL, "move to another X display");
if (gdk_display_get_n_screens(display) > 1)
gtk_widget_set_sensitive (radio_scr, FALSE);
}
combo_dpy = gtk_combo_box_text_new_with_entry ();
+ gtk_widget_set_hexpand (combo_dpy, TRUE);
gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo_dpy), "diabolo:0.0");
gtk_entry_set_text (GTK_ENTRY (gtk_bin_get_child (GTK_BIN (combo_dpy))),
"<hostname>:<X Server Num>.<Screen Num>");
- gtk_table_attach_defaults (GTK_TABLE (table), radio_dpy, 0, 1, 0, 1);
- gtk_table_attach_defaults (GTK_TABLE (table), radio_scr, 0, 1, 1, 2);
- gtk_table_attach_defaults (GTK_TABLE (table), combo_dpy, 1, 2, 0, 1);
+ gtk_grid_attach (GTK_GRID (grid), radio_dpy, 0, 0, 1, 1);
+ gtk_grid_attach (GTK_GRID (grid), radio_scr, 0, 1, 1, 1);
+ gtk_grid_attach (GTK_GRID (grid), combo_dpy, 1, 0, 1, 1);
- bbox = gtk_hbutton_box_new ();
+ bbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL);
applyb = gtk_button_new_from_stock (GTK_STOCK_APPLY);
cancelb = gtk_button_new_from_stock (GTK_STOCK_CANCEL);
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
- box1 = gtk_vbox_new (FALSE, 0);
+ box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_add (GTK_CONTAINER (window), box1);
gtk_widget_show (box1);
- box2 = gtk_vbox_new (FALSE, 10);
+ box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0);
gtk_widget_show (box2);
adjustment = gtk_adjustment_new (0.0, 0.0, 101.0, 0.1, 1.0, 1.0);
- scale = gtk_hscale_new (GTK_ADJUSTMENT (adjustment));
+ scale = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, GTK_ADJUSTMENT (adjustment));
gtk_widget_set_size_request (GTK_WIDGET (scale), 150, -1);
- gtk_range_set_update_policy (GTK_RANGE (scale), GTK_UPDATE_DELAYED);
gtk_scale_set_digits (GTK_SCALE (scale), 1);
gtk_scale_set_draw_value (GTK_SCALE (scale), TRUE);
gtk_box_pack_start (GTK_BOX (box2), scale, TRUE, TRUE, 0);
gtk_widget_show (scale);
- scrollbar = gtk_hscrollbar_new (GTK_ADJUSTMENT (adjustment));
- gtk_range_set_update_policy (GTK_RANGE (scrollbar),
- GTK_UPDATE_CONTINUOUS);
+ scrollbar = gtk_scrollbar_new (GTK_ORIENTATION_HORIZONTAL, GTK_ADJUSTMENT (adjustment));
gtk_box_pack_start (GTK_BOX (box2), scrollbar, TRUE, TRUE, 0);
gtk_widget_show (scrollbar);
- scale = gtk_hscale_new (GTK_ADJUSTMENT (adjustment));
+ scale = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, GTK_ADJUSTMENT (adjustment));
gtk_scale_set_draw_value (GTK_SCALE (scale), TRUE);
g_signal_connect (scale,
"format_value",
gtk_box_pack_start (GTK_BOX (box2), scale, TRUE, TRUE, 0);
gtk_widget_show (scale);
- hbox = gtk_hbox_new (FALSE, 0);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
- scale = gtk_vscale_new (GTK_ADJUSTMENT (adjustment));
+ scale = gtk_scale_new (GTK_ORIENTATION_VERTICAL, GTK_ADJUSTMENT (adjustment));
gtk_widget_set_size_request (scale, -1, 200);
gtk_scale_set_digits (GTK_SCALE (scale), 2);
gtk_scale_set_draw_value (GTK_SCALE (scale), TRUE);
gtk_box_pack_start (GTK_BOX (hbox), scale, TRUE, TRUE, 0);
gtk_widget_show (scale);
- scale = gtk_vscale_new (GTK_ADJUSTMENT (adjustment));
+ scale = gtk_scale_new (GTK_ORIENTATION_VERTICAL, GTK_ADJUSTMENT (adjustment));
gtk_widget_set_size_request (scale, -1, 200);
gtk_scale_set_digits (GTK_SCALE (scale), 2);
gtk_scale_set_draw_value (GTK_SCALE (scale), TRUE);
gtk_box_pack_start (GTK_BOX (hbox), scale, TRUE, TRUE, 0);
gtk_widget_show (scale);
- scale = gtk_vscale_new (GTK_ADJUSTMENT (adjustment));
+ scale = gtk_scale_new (GTK_ORIENTATION_VERTICAL, GTK_ADJUSTMENT (adjustment));
gtk_scale_set_draw_value (GTK_SCALE (scale), TRUE);
g_signal_connect (scale,
"format_value",
gtk_box_pack_start (GTK_BOX (box2), hbox, TRUE, TRUE, 0);
gtk_widget_show (hbox);
- separator = gtk_hseparator_new ();
+ separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0);
gtk_widget_show (separator);
- box2 = gtk_vbox_new (FALSE, 10);
+ box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0);
gtk_widget_show (box2);
gtk_widget_destroy (window);
}
-/*
- * GtkRulers
- */
-
-void
-create_rulers (GtkWidget *widget)
-{
- static GtkWidget *window = NULL;
- GtkWidget *table;
- GtkWidget *ruler;
-
- if (!window)
- {
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-
- gtk_window_set_screen (GTK_WINDOW (window),
- gtk_widget_get_screen (widget));
-
- gtk_window_set_resizable (GTK_WINDOW (window), TRUE);
-
- g_signal_connect (window, "destroy",
- G_CALLBACK (gtk_widget_destroyed),
- &window);
-
- gtk_window_set_title (GTK_WINDOW (window), "rulers");
- gtk_widget_set_size_request (window, 300, 300);
- gtk_widget_set_events (window,
- GDK_POINTER_MOTION_MASK
- | GDK_POINTER_MOTION_HINT_MASK);
- gtk_container_set_border_width (GTK_CONTAINER (window), 0);
-
- table = gtk_table_new (2, 2, FALSE);
- gtk_container_add (GTK_CONTAINER (window), table);
- gtk_widget_show (table);
-
- ruler = gtk_hruler_new ();
- gtk_ruler_set_metric (GTK_RULER (ruler), GTK_CENTIMETERS);
- gtk_ruler_set_range (GTK_RULER (ruler), 100, 0, 0, 20);
-
- g_signal_connect_swapped (window,
- "motion_notify_event",
- G_CALLBACK (GTK_WIDGET_GET_CLASS (ruler)->motion_notify_event),
- ruler);
-
- gtk_table_attach (GTK_TABLE (table), ruler, 1, 2, 0, 1,
- GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0);
- gtk_widget_show (ruler);
-
-
- ruler = gtk_vruler_new ();
- gtk_ruler_set_range (GTK_RULER (ruler), 5, 15, 0, 20);
-
- g_signal_connect_swapped (window,
- "motion_notify_event",
- G_CALLBACK (GTK_WIDGET_GET_CLASS (ruler)->motion_notify_event),
- ruler);
-
- gtk_table_attach (GTK_TABLE (table), ruler, 0, 1, 1, 2,
- GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
- gtk_widget_show (ruler);
- }
-
- if (!gtk_widget_get_visible (window))
- gtk_widget_show (window);
- else
- gtk_widget_destroy (window);
-}
-
struct {
GdkColor color;
gchar *name;
child = gtk_frame_new (buffer);
gtk_container_set_border_width (GTK_CONTAINER (child), 10);
- vbox = gtk_vbox_new (TRUE,0);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+ gtk_box_set_homogeneous (GTK_BOX (vbox), TRUE);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 10);
gtk_container_add (GTK_CONTAINER (child), vbox);
- hbox = gtk_hbox_new (TRUE,0);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+ gtk_box_set_homogeneous (GTK_BOX (hbox), TRUE);
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 5);
button = gtk_check_button_new_with_label ("Fill Tab");
gtk_widget_show_all (child);
- label_box = gtk_hbox_new (FALSE, 0);
+ label_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
pixwid = gtk_image_new_from_pixbuf (book_closed);
g_object_set_data (G_OBJECT (child), "tab_pixmap", pixwid);
gtk_box_pack_start (GTK_BOX (label_box), pixwid, FALSE, TRUE, 0);
- gtk_misc_set_padding (GTK_MISC (pixwid), 3, 1);
+ gtk_widget_set_margin_left (pixwid, 3);
+ gtk_widget_set_margin_right (pixwid, 3);
+ gtk_widget_set_margin_bottom (pixwid, 1);
+ gtk_widget_set_margin_top (pixwid, 1);
label = gtk_label_new_with_mnemonic (accel_buffer);
gtk_box_pack_start (GTK_BOX (label_box), label, FALSE, TRUE, 0);
gtk_widget_show_all (label_box);
- menu_box = gtk_hbox_new (FALSE, 0);
+ menu_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
pixwid = gtk_image_new_from_pixbuf (book_closed);
g_object_set_data (G_OBJECT (child), "menu_pixmap", pixwid);
gtk_box_pack_start (GTK_BOX (menu_box), pixwid, FALSE, TRUE, 0);
- gtk_misc_set_padding (GTK_MISC (pixwid), 3, 1);
+ gtk_widget_set_margin_left (pixwid, 3);
+ gtk_widget_set_margin_right (pixwid, 3);
+ gtk_widget_set_margin_bottom (pixwid, 1);
+ gtk_widget_set_margin_top (pixwid, 1);
label = gtk_label_new (buffer);
gtk_box_pack_start (GTK_BOX (menu_box), label, FALSE, TRUE, 0);
gtk_widget_show_all (menu_box);
gtk_window_set_title (GTK_WINDOW (window), "notebook");
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
- box1 = gtk_vbox_new (FALSE, 0);
+ box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_add (GTK_CONTAINER (window), box1);
sample_notebook = gtk_notebook_new ();
create_pages (GTK_NOTEBOOK (sample_notebook), 1, 5);
- separator = gtk_hseparator_new ();
+ separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 10);
- box2 = gtk_hbox_new (FALSE, 5);
+ box2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0);
G_CALLBACK (notebook_popup),
sample_notebook);
- box2 = gtk_hbox_new (FALSE, 5);
+ box2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0);
g_signal_connect (button, "clicked",
G_CALLBACK (show_all_pages), sample_notebook);
- box2 = gtk_hbox_new (TRUE, 10);
+ box2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 10);
+ gtk_box_set_homogeneous (GTK_BOX (box2), TRUE);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0);
G_CALLBACK (rotate_notebook), sample_notebook);
gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
- separator = gtk_hseparator_new ();
+ separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 5);
button = gtk_button_new_with_label ("close");
gtk_widget_destroy (window);
}
+void
+create_settings (GtkWidget *widget)
+{
+ static GtkWidget *window = NULL;
+
+ if (!window)
+ {
+ window = create_prop_editor (G_OBJECT (gtk_settings_get_default ()), GTK_TYPE_SETTINGS);
+ gtk_window_set_screen (GTK_WINDOW (window),
+ gtk_widget_get_screen (widget));
+
+ gtk_widget_hide (window);
+ gtk_window_set_title (GTK_WINDOW (window), "GTK+ Settings");
+
+ g_signal_connect (window, "destroy",
+ G_CALLBACK (gtk_widget_destroyed),
+ &window);
+ }
+
+ if (!gtk_widget_get_visible (window))
+ gtk_widget_show (window);
+ else
+ gtk_widget_destroy (window);
+}
+
/*
* GtkPanes
*/
toggle_resize (GtkWidget *widget, GtkWidget *child)
{
GtkContainer *container = GTK_CONTAINER (gtk_widget_get_parent (child));
- GValue value = { 0, };
+ GValue value = G_VALUE_INIT;
g_value_init (&value, G_TYPE_BOOLEAN);
gtk_container_child_get_property (container, child, "resize", &value);
g_value_set_boolean (&value, !g_value_get_boolean (&value));
toggle_shrink (GtkWidget *widget, GtkWidget *child)
{
GtkContainer *container = GTK_CONTAINER (gtk_widget_get_parent (child));
- GValue value = { 0, };
+ GValue value = G_VALUE_INIT;
g_value_init (&value, G_TYPE_BOOLEAN);
gtk_container_child_get_property (container, child, "shrink", &value);
g_value_set_boolean (&value, !g_value_get_boolean (&value));
{
GtkWidget *child1, *child2;
GtkWidget *frame;
- GtkWidget *table;
+ GtkWidget *grid;
GtkWidget *label;
GtkWidget *button;
GtkWidget *check_button;
frame = gtk_frame_new (frame_label);
gtk_container_set_border_width (GTK_CONTAINER (frame), 4);
- table = gtk_table_new (4, 2, 4);
- gtk_container_add (GTK_CONTAINER (frame), table);
+ grid = gtk_grid_new ();
+ gtk_container_add (GTK_CONTAINER (frame), grid);
label = gtk_label_new (label1);
- gtk_table_attach_defaults (GTK_TABLE (table), label,
- 0, 1, 0, 1);
+ gtk_grid_attach (GTK_GRID (grid), label, 0, 0, 1, 1);
check_button = gtk_check_button_new_with_label ("Resize");
- gtk_table_attach_defaults (GTK_TABLE (table), check_button,
- 0, 1, 1, 2);
+ gtk_grid_attach (GTK_GRID (grid), check_button, 0, 1, 1, 1);
g_signal_connect (check_button, "toggled",
G_CALLBACK (toggle_resize),
child1);
check_button = gtk_check_button_new_with_label ("Shrink");
- gtk_table_attach_defaults (GTK_TABLE (table), check_button,
- 0, 1, 2, 3);
+ gtk_grid_attach (GTK_GRID (grid), check_button, 0, 2, 1, 1);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_button),
TRUE);
g_signal_connect (check_button, "toggled",
child1);
label = gtk_label_new (label2);
- gtk_table_attach_defaults (GTK_TABLE (table), label,
- 1, 2, 0, 1);
+ gtk_grid_attach (GTK_GRID (grid), label, 1, 0, 1, 1);
check_button = gtk_check_button_new_with_label ("Resize");
- gtk_table_attach_defaults (GTK_TABLE (table), check_button,
- 1, 2, 1, 2);
+ gtk_grid_attach (GTK_GRID (grid), check_button, 1, 1, 1, 1);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_button),
TRUE);
g_signal_connect (check_button, "toggled",
child2);
check_button = gtk_check_button_new_with_label ("Shrink");
- gtk_table_attach_defaults (GTK_TABLE (table), check_button,
- 1, 2, 2, 3);
+ gtk_grid_attach (GTK_GRID (grid), check_button, 1, 2, 1, 1);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_button),
TRUE);
g_signal_connect (check_button, "toggled",
child2);
button = gtk_button_new_with_mnemonic ("_Properties");
- gtk_table_attach_defaults (GTK_TABLE (table), button,
- 0, 2, 3, 4);
+ gtk_grid_attach (GTK_GRID (grid), button, 0, 3, 2, 1);
g_signal_connect (button, "clicked",
G_CALLBACK (paned_props_clicked),
paned);
gtk_window_set_title (GTK_WINDOW (window), "Panes");
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
- vbox = gtk_vbox_new (FALSE, 0);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_add (GTK_CONTAINER (window), vbox);
- vpaned = gtk_vpaned_new ();
+ vpaned = gtk_paned_new (GTK_ORIENTATION_VERTICAL);
gtk_box_pack_start (GTK_BOX (vbox), vpaned, TRUE, TRUE, 0);
gtk_container_set_border_width (GTK_CONTAINER(vpaned), 5);
- hpaned = gtk_hpaned_new ();
+ hpaned = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL);
gtk_paned_add1 (GTK_PANED (vpaned), hpaned);
frame = gtk_frame_new (NULL);
GtkWidget *button6;
GtkWidget *frame3;
GtkWidget *frame4;
- GtkWidget *table1;
+ GtkWidget *grid1;
GtkWidget *button1;
GtkWidget *button2;
GtkWidget *button3;
gtk_window_set_screen (GTK_WINDOW (window1),
gtk_widget_get_screen (widget));
- hpaned1 = gtk_hpaned_new ();
+ hpaned1 = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL);
gtk_container_add (GTK_CONTAINER (window1), hpaned1);
frame1 = gtk_frame_new (NULL);
gtk_paned_pack1 (GTK_PANED (hpaned1), frame1, FALSE, TRUE);
gtk_frame_set_shadow_type (GTK_FRAME (frame1), GTK_SHADOW_IN);
- vbox1 = gtk_vbox_new (FALSE, 0);
+ vbox1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_add (GTK_CONTAINER (frame1), vbox1);
button7 = gtk_button_new_with_label ("button7");
button9 = gtk_button_new_with_label ("button9");
gtk_box_pack_start (GTK_BOX (vbox1), button9, FALSE, FALSE, 0);
- vpaned1 = gtk_vpaned_new ();
+ vpaned1 = gtk_paned_new (GTK_ORIENTATION_VERTICAL);
gtk_paned_pack2 (GTK_PANED (hpaned1), vpaned1, TRUE, TRUE);
frame2 = gtk_frame_new (NULL);
frame5 = gtk_frame_new (NULL);
gtk_container_add (GTK_CONTAINER (frame2), frame5);
- hbox1 = gtk_hbox_new (FALSE, 0);
+ hbox1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_container_add (GTK_CONTAINER (frame5), hbox1);
button5 = gtk_button_new_with_label ("button5");
gtk_container_add (GTK_CONTAINER (frame3), frame4);
gtk_container_set_border_width (GTK_CONTAINER (frame4), 15);
- table1 = gtk_table_new (2, 2, FALSE);
- gtk_container_add (GTK_CONTAINER (frame4), table1);
- gtk_container_set_border_width (GTK_CONTAINER (table1), 11);
+ grid1 = gtk_grid_new ();
+ gtk_container_add (GTK_CONTAINER (frame4), grid1);
+ gtk_container_set_border_width (GTK_CONTAINER (grid1), 11);
button1 = gtk_button_new_with_label ("button1");
- gtk_table_attach (GTK_TABLE (table1), button1, 0, 1, 0, 1,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
+ gtk_grid_attach (GTK_GRID (grid1), button1, 0, 0, 1, 1);
button2 = gtk_button_new_with_label ("button2");
- gtk_table_attach (GTK_TABLE (table1), button2, 1, 2, 0, 1,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
+ gtk_grid_attach (GTK_GRID (grid1), button2, 1, 0, 1, 1);
button3 = gtk_button_new_with_label ("button3");
- gtk_table_attach (GTK_TABLE (table1), button3, 0, 1, 1, 2,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
+ gtk_grid_attach (GTK_GRID (grid1), button3, 0, 1, 1, 1);
button4 = gtk_button_new_with_label ("button4");
- gtk_table_attach (GTK_TABLE (table1), button4, 1, 2, 1, 2,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
+ gtk_grid_attach (GTK_GRID (grid1), button4, 1, 1, 1, 1);
return window1;
}
gtk_window_set_screen (GTK_WINDOW (window2),
gtk_widget_get_screen (widget));
- hpaned2 = gtk_hpaned_new ();
+ hpaned2 = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL);
gtk_container_add (GTK_CONTAINER (window2), hpaned2);
frame6 = gtk_frame_new (NULL);
button13 = gtk_button_new_with_label ("button13");
gtk_container_add (GTK_CONTAINER (frame6), button13);
- hbox2 = gtk_hbox_new (FALSE, 0);
+ hbox2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_paned_pack2 (GTK_PANED (hpaned2), hbox2, TRUE, TRUE);
- vpaned2 = gtk_vpaned_new ();
+ vpaned2 = gtk_paned_new (GTK_ORIENTATION_VERTICAL);
gtk_box_pack_start (GTK_BOX (hbox2), vpaned2, TRUE, TRUE, 0);
frame7 = gtk_frame_new (NULL);
gtk_widget_get_screen (widget));
- vbox2 = gtk_vbox_new (FALSE, 0);
+ vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_add (GTK_CONTAINER (window3), vbox2);
label1 = gtk_label_new ("Three panes nested inside each other");
gtk_box_pack_start (GTK_BOX (vbox2), label1, FALSE, FALSE, 0);
- hpaned3 = gtk_hpaned_new ();
+ hpaned3 = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL);
gtk_box_pack_start (GTK_BOX (vbox2), hpaned3, TRUE, TRUE, 0);
frame9 = gtk_frame_new (NULL);
button14 = gtk_button_new_with_label ("button14");
gtk_container_add (GTK_CONTAINER (frame9), button14);
- hpaned4 = gtk_hpaned_new ();
+ hpaned4 = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL);
gtk_paned_pack2 (GTK_PANED (hpaned3), hpaned4, TRUE, TRUE);
frame10 = gtk_frame_new (NULL);
button15 = gtk_button_new_with_label ("button15");
gtk_container_add (GTK_CONTAINER (frame10), button15);
- hpaned5 = gtk_hpaned_new ();
+ hpaned5 = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL);
gtk_paned_pack2 (GTK_PANED (hpaned4), hpaned5, TRUE, TRUE);
frame11 = gtk_frame_new (NULL);
gtk_window_set_screen (GTK_WINDOW (window4),
gtk_widget_get_screen (widget));
- vbox3 = gtk_vbox_new (FALSE, 0);
+ vbox3 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_add (GTK_CONTAINER (window4), vbox3);
label2 = gtk_label_new ("Widget tree:\n\nhpaned \n - vpaned\n - hbox\n - vpaned\n - vpaned\n - vpaned\n");
gtk_box_pack_start (GTK_BOX (vbox3), label2, FALSE, FALSE, 0);
gtk_label_set_justify (GTK_LABEL (label2), GTK_JUSTIFY_LEFT);
- hpaned6 = gtk_hpaned_new ();
+ hpaned6 = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL);
gtk_box_pack_start (GTK_BOX (vbox3), hpaned6, TRUE, TRUE, 0);
- vpaned3 = gtk_vpaned_new ();
+ vpaned3 = gtk_paned_new (GTK_ORIENTATION_VERTICAL);
gtk_paned_pack1 (GTK_PANED (hpaned6), vpaned3, FALSE, TRUE);
button19 = gtk_button_new_with_label ("button19");
button18 = gtk_button_new_with_label ("button18");
gtk_paned_pack2 (GTK_PANED (vpaned3), button18, TRUE, TRUE);
- hbox3 = gtk_hbox_new (FALSE, 0);
+ hbox3 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_paned_pack2 (GTK_PANED (hpaned6), hbox3, TRUE, TRUE);
- vpaned4 = gtk_vpaned_new ();
+ vpaned4 = gtk_paned_new (GTK_ORIENTATION_VERTICAL);
gtk_box_pack_start (GTK_BOX (hbox3), vpaned4, TRUE, TRUE, 0);
button21 = gtk_button_new_with_label ("button21");
button20 = gtk_button_new_with_label ("button20");
gtk_paned_pack2 (GTK_PANED (vpaned4), button20, TRUE, TRUE);
- vpaned5 = gtk_vpaned_new ();
+ vpaned5 = gtk_paned_new (GTK_ORIENTATION_VERTICAL);
gtk_box_pack_start (GTK_BOX (hbox3), vpaned5, TRUE, TRUE, 0);
button23 = gtk_button_new_with_label ("button23");
button22 = gtk_button_new_with_label ("button22");
gtk_paned_pack2 (GTK_PANED (vpaned5), button22, TRUE, TRUE);
- vpaned6 = gtk_vpaned_new ();
+ vpaned6 = gtk_paned_new (GTK_ORIENTATION_VERTICAL);
gtk_box_pack_start (GTK_BOX (hbox3), vpaned6, TRUE, TRUE, 0);
button25 = gtk_button_new_with_label ("button25");
p->y = (int) event->y;
gtk_grab_add (widget);
- gdk_pointer_grab (gtk_widget_get_window (widget), TRUE,
- GDK_BUTTON_RELEASE_MASK |
- GDK_BUTTON_MOTION_MASK |
- GDK_POINTER_MOTION_HINT_MASK,
- NULL, NULL, 0);
+ gdk_device_grab (gdk_event_get_device ((GdkEvent*)event),
+ gtk_widget_get_window (widget),
+ GDK_OWNERSHIP_NONE,
+ TRUE,
+ GDK_BUTTON_RELEASE_MASK |
+ GDK_BUTTON_MOTION_MASK |
+ GDK_POINTER_MOTION_HINT_MASK,
+ NULL,
+ event->time);
}
static void
-shape_released (GtkWidget *widget)
+shape_released (GtkWidget *widget,
+ GdkEventButton *event)
{
gtk_grab_remove (widget);
- gdk_display_pointer_ungrab (gtk_widget_get_display (widget),
- GDK_CURRENT_TIME);
+ gdk_device_ungrab (gdk_event_get_device ((GdkEvent*)event), event->time);
}
static void
-shape_motion (GtkWidget *widget,
+shape_motion (GtkWidget *widget,
GdkEventMotion *event)
{
gint xp, yp;
CursorOffset * p;
- GdkModifierType mask;
p = g_object_get_data (G_OBJECT (widget), "cursor_offset");
* Can't use event->x / event->y here
* because I need absolute coordinates.
*/
- gdk_window_get_pointer (NULL, &xp, &yp, &mask);
+ gdk_window_get_device_position (gdk_screen_get_root_window (gtk_widget_get_screen (widget)),
+ gdk_event_get_device ((GdkEvent *) event),
+ &xp, &yp, NULL);
gtk_window_move (GTK_WINDOW (widget), xp - p->x, yp - p->y);
}
gdk_window_set_decorations (gdk_window, GDK_DECOR_ALL | GDK_DECOR_MENU);
gdk_window_set_functions (gdk_window, GDK_FUNC_ALL | GDK_FUNC_RESIZE);
- box1 = gtk_vbox_new (FALSE, 0);
+ box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_add (GTK_CONTAINER (window), box1);
gtk_widget_show (box1);
gtk_widget_show (label);
- separator = gtk_hseparator_new ();
+ separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0);
gtk_widget_show (separator);
- box2 = gtk_vbox_new (FALSE, 10);
+ box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0);
gtk_widget_show (box2);
GtkWidget *hbox;
GtkWidget *button;
- hbox = gtk_hbox_new (FALSE, 5);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
g_signal_connect_object (hbox,
"destroy",
GtkWidget *button_above;
GtkWidget *button_below;
- vbox = gtk_vbox_new (FALSE, 0);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
button = gtk_button_new_with_label ("Stick");
g_signal_connect_object (button,
gtk_window_set_title (GTK_WINDOW (window), "Window states");
- box1 = gtk_vbox_new (FALSE, 0);
+ box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_add (GTK_CONTAINER (window), box1);
iconified = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (destroy_with));
- vbox = gtk_vbox_new (FALSE, 0);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_widget_show (vbox);
gtk_container_add (GTK_CONTAINER (window), vbox);
GtkWidget *vbox;
GtkWidget *button;
GtkWidget *spin;
- GtkAdjustment *adj;
+ GtkAdjustment *adjustment;
GtkWidget *entry;
GtkWidget *om;
gint i;
window,
G_CONNECT_SWAPPED);
- vbox = gtk_vbox_new (FALSE, 5);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
gtk_container_add (GTK_CONTAINER (control_window), vbox);
G_CALLBACK (configure_event_callback),
label);
- adj = gtk_adjustment_new (10.0, -2000.0, 2000.0, 1.0, 5.0, 0.0);
- spin = gtk_spin_button_new (adj, 0, 0);
+ adjustment = gtk_adjustment_new (10.0, -2000.0, 2000.0, 1.0, 5.0, 0.0);
+ spin = gtk_spin_button_new (adjustment, 0, 0);
gtk_box_pack_start (GTK_BOX (vbox), spin, FALSE, FALSE, 0);
g_object_set_data (G_OBJECT (control_window), "spin1", spin);
- adj = gtk_adjustment_new (10.0, -2000.0, 2000.0, 1.0, 5.0, 0.0);
- spin = gtk_spin_button_new (adj, 0, 0);
+ adjustment = gtk_adjustment_new (10.0, -2000.0, 2000.0, 1.0, 5.0, 0.0);
+ spin = gtk_spin_button_new (adjustment, 0, 0);
gtk_box_pack_start (GTK_BOX (vbox), spin, FALSE, FALSE, 0);
destroy_progress (GtkWidget *widget,
ProgressData **pdata)
{
- g_source_remove ((*pdata)->timer);
- (*pdata)->timer = 0;
+ if ((*pdata)->timer)
+ {
+ g_source_remove ((*pdata)->timer);
+ (*pdata)->timer = 0;
+ }
(*pdata)->window = NULL;
g_free (*pdata);
*pdata = NULL;
pdata->activity = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget));
}
+static void
+toggle_running (GtkWidget *widget, ProgressData *pdata)
+{
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)))
+ {
+ if (pdata->timer == 0)
+ pdata->timer = g_timeout_add (100, (GSourceFunc)progress_timeout, pdata);
+ }
+ else
+ {
+ if (pdata->timer != 0)
+ {
+ g_source_remove (pdata->timer);
+ pdata->timer = 0;
+ }
+ }
+}
+
static void
entry_changed (GtkWidget *widget, ProgressData *pdata)
{
GtkWidget *hbox;
GtkWidget *check;
GtkWidget *frame;
- GtkWidget *tab;
+ GtkWidget *grid;
GtkWidget *label;
- GtkWidget *align;
static ProgressData *pdata = NULL;
static gchar *items1[] =
gtk_window_set_title (GTK_WINDOW (pdata->window), "GtkProgressBar");
gtk_container_set_border_width (GTK_CONTAINER (pdata->window), 0);
- vbox = gtk_vbox_new (FALSE, 5);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 10);
gtk_box_pack_start (GTK_BOX (content_area), vbox, FALSE, TRUE, 0);
frame = gtk_frame_new ("Progress");
gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, TRUE, 0);
- vbox2 = gtk_vbox_new (FALSE, 5);
+ vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
gtk_container_add (GTK_CONTAINER (frame), vbox2);
- align = gtk_alignment_new (0.5, 0.5, 0, 0);
- gtk_box_pack_start (GTK_BOX (vbox2), align, FALSE, FALSE, 5);
-
pdata->pbar = gtk_progress_bar_new ();
gtk_progress_bar_set_ellipsize (GTK_PROGRESS_BAR (pdata->pbar),
PANGO_ELLIPSIZE_MIDDLE);
-
- gtk_container_add (GTK_CONTAINER (align), pdata->pbar);
- pdata->timer = g_timeout_add (100, (GSourceFunc)progress_timeout, pdata);
-
- align = gtk_alignment_new (0.5, 0.5, 0, 0);
- gtk_box_pack_start (GTK_BOX (vbox2), align, FALSE, FALSE, 5);
-
- hbox = gtk_hbox_new (FALSE, 5);
- gtk_container_add (GTK_CONTAINER (align), hbox);
+ gtk_widget_set_halign (pdata->pbar, GTK_ALIGN_CENTER);
+ gtk_widget_set_valign (pdata->pbar, GTK_ALIGN_CENTER);
+ gtk_box_pack_start (GTK_BOX (vbox2), pdata->pbar, FALSE, FALSE, 5);
+
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
+ gtk_widget_set_halign (hbox, GTK_ALIGN_CENTER);
+ gtk_widget_set_valign (hbox, GTK_ALIGN_CENTER);
+ gtk_box_pack_start (GTK_BOX (vbox2), hbox, FALSE, FALSE, 5);
label = gtk_label_new ("Label updated by user :");
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0);
pdata->label = gtk_label_new ("");
frame = gtk_frame_new ("Options");
gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, TRUE, 0);
- vbox2 = gtk_vbox_new (FALSE, 5);
+ vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
gtk_container_add (GTK_CONTAINER (frame), vbox2);
- tab = gtk_table_new (7, 2, FALSE);
- gtk_box_pack_start (GTK_BOX (vbox2), tab, FALSE, TRUE, 0);
+ grid = gtk_grid_new ();
+ gtk_grid_set_row_spacing (GTK_GRID (grid), 10);
+ gtk_grid_set_column_spacing (GTK_GRID (grid), 10);
+ gtk_box_pack_start (GTK_BOX (vbox2), grid, FALSE, TRUE, 0);
label = gtk_label_new ("Orientation :");
- gtk_table_attach (GTK_TABLE (tab), label, 0, 1, 0, 1,
- GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL,
- 5, 5);
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
+ gtk_grid_attach (GTK_GRID (grid), label, 0, 0, 1, 1);
+ gtk_widget_set_halign (label, GTK_ALIGN_START);
+ gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
pdata->omenu1 = build_option_menu (items1, 4, 0,
progressbar_toggle_orientation,
pdata);
- hbox = gtk_hbox_new (FALSE, 0);
- gtk_table_attach (GTK_TABLE (tab), hbox, 1, 2, 0, 1,
- GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL,
- 5, 5);
- gtk_box_pack_start (GTK_BOX (hbox), pdata->omenu1, TRUE, TRUE, 0);
+ gtk_grid_attach (GTK_GRID (grid), pdata->omenu1, 1, 0, 1, 1);
+ check = gtk_check_button_new_with_label ("Running");
+ g_signal_connect (check, "toggled",
+ G_CALLBACK (toggle_running),
+ pdata);
+ gtk_grid_attach (GTK_GRID (grid), check, 0, 1, 2, 1);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check), TRUE);
+
check = gtk_check_button_new_with_label ("Show text");
g_signal_connect (check, "clicked",
G_CALLBACK (toggle_show_text),
pdata);
- gtk_table_attach (GTK_TABLE (tab), check, 0, 1, 1, 2,
- GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL,
- 5, 5);
+ gtk_grid_attach (GTK_GRID (grid), check, 0, 2, 1, 1);
- hbox = gtk_hbox_new (FALSE, 0);
- gtk_table_attach (GTK_TABLE (tab), hbox, 1, 2, 1, 2,
- GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL,
- 5, 5);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+ gtk_grid_attach (GTK_GRID (grid), hbox, 1, 2, 1, 1);
label = gtk_label_new ("Text: ");
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0);
pdata->entry = gtk_entry_new ();
+ gtk_widget_set_hexpand (pdata->entry, TRUE);
g_signal_connect (pdata->entry, "changed",
G_CALLBACK (entry_changed),
pdata);
gtk_widget_set_size_request (pdata->entry, 100, -1);
label = gtk_label_new ("Ellipsize text :");
- gtk_table_attach (GTK_TABLE (tab), label, 0, 1, 10, 11,
- GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL,
- 5, 5);
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
+ gtk_grid_attach (GTK_GRID (grid), label, 0, 10, 1, 1);
+
+ gtk_widget_set_halign (label, GTK_ALIGN_START);
+ gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
pdata->elmenu = build_option_menu (ellipsize_items,
sizeof (ellipsize_items) / sizeof (ellipsize_items[0]),
2, // PANGO_ELLIPSIZE_MIDDLE
progressbar_toggle_ellipsize,
pdata);
- hbox = gtk_hbox_new (FALSE, 0);
- gtk_table_attach (GTK_TABLE (tab), hbox, 1, 2, 10, 11,
- GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL,
- 5, 5);
- gtk_box_pack_start (GTK_BOX (hbox), pdata->elmenu, TRUE, TRUE, 0);
+ gtk_grid_attach (GTK_GRID (grid), pdata->elmenu, 1, 10, 1, 1);
check = gtk_check_button_new_with_label ("Activity mode");
g_signal_connect (check, "clicked",
G_CALLBACK (toggle_activity_mode), pdata);
- gtk_table_attach (GTK_TABLE (tab), check, 0, 1, 15, 16,
- GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL,
- 5, 5);
+ gtk_grid_attach (GTK_GRID (grid), check, 0, 15, 1, 1);
button = gtk_button_new_with_label ("close");
g_signal_connect_swapped (button, "clicked",
}
static GtkWidget *
-find_widget_at_pointer (GdkDisplay *display)
+find_widget_at_pointer (GdkDevice *device)
{
GtkWidget *widget = NULL;
GdkWindow *pointer_window;
gint x, y;
FindWidgetData data;
- pointer_window = gdk_display_get_window_at_pointer (display, NULL, NULL);
+ pointer_window = gdk_device_get_window_at_position (device, NULL, NULL);
if (pointer_window)
{
if (widget)
{
- gdk_window_get_pointer (gtk_widget_get_window (widget),
- &x, &y, NULL);
+ gdk_window_get_device_position (gtk_widget_get_window (widget),
+ device,
+ &x, &y, NULL);
data.x = x;
data.y = y;
if (data->cursor)
{
- gdk_cursor_unref (data->cursor);
+ g_object_unref (data->cursor);
data->cursor = NULL;
}
}
static gint
-property_query_event (GtkWidget *widget,
- GdkEvent *event,
- struct PropertiesData *data)
+property_query_event (GtkWidget *widget,
+ GdkEvent *event,
+ struct PropertiesData *data)
{
GtkWidget *res_widget = NULL;
if (!data->in_query)
return FALSE;
-
+
if (event->type == GDK_BUTTON_RELEASE)
{
gtk_grab_remove (widget);
- gdk_display_pointer_ungrab (gtk_widget_get_display (widget),
- GDK_CURRENT_TIME);
-
- res_widget = find_widget_at_pointer (gtk_widget_get_display (widget));
+ gdk_device_ungrab (gdk_event_get_device (event), GDK_CURRENT_TIME);
+
+ res_widget = find_widget_at_pointer (gdk_event_get_device (event));
if (res_widget)
{
g_object_set_data (G_OBJECT (res_widget), "prop-editor-screen",
struct PropertiesData *data)
{
GtkWidget *widget = GTK_WIDGET (button);
- gint failure;
+ GdkDisplay *display;
+ GdkDeviceManager *device_manager;
+ GdkDevice *device;
g_signal_connect (button, "event",
G_CALLBACK (property_query_event), data);
+ display = gtk_widget_get_display (widget);
if (!data->cursor)
- data->cursor = gdk_cursor_new_for_display (gtk_widget_get_display (widget),
- GDK_TARGET);
-
- failure = gdk_pointer_grab (gtk_widget_get_window (widget),
- TRUE,
- GDK_BUTTON_RELEASE_MASK,
- NULL,
- data->cursor,
- GDK_CURRENT_TIME);
-
+ data->cursor = gdk_cursor_new_for_display (display, GDK_TARGET);
+
+ device_manager = gdk_display_get_device_manager (display);
+ device = gdk_device_manager_get_client_pointer (device_manager);
+ gdk_device_grab (device,
+ gtk_widget_get_window (widget),
+ GDK_OWNERSHIP_NONE,
+ TRUE,
+ GDK_BUTTON_RELEASE_MASK,
+ data->cursor,
+ GDK_CURRENT_TIME);
gtk_grab_add (widget);
data->in_query = TRUE;
gtk_window_set_title (GTK_WINDOW (window), "test properties");
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
- vbox = gtk_vbox_new (FALSE, 1);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 1);
gtk_container_add (GTK_CONTAINER (window), vbox);
label = gtk_label_new ("This is just a dumb test to test properties.\nIf you need a generic module, get GLE.");
if (data->cursor)
{
- gdk_cursor_unref (data->cursor);
+ g_object_unref (data->cursor);
data->cursor = NULL;
}
if (event->type == GDK_BUTTON_RELEASE)
{
gtk_grab_remove (widget);
- gdk_display_pointer_ungrab (gtk_widget_get_display (widget),
- GDK_CURRENT_TIME);
+ gdk_device_ungrab (gdk_event_get_device (event),
+ GDK_CURRENT_TIME);
- res_widget = find_widget_at_pointer (gtk_widget_get_display (widget));
+ res_widget = find_widget_at_pointer (gdk_event_get_device (event));
if (data->is_toplevel && res_widget)
res_widget = gtk_widget_get_toplevel (res_widget);
if (res_widget)
struct SnapshotData *data)
{
GtkWidget *widget = GTK_WIDGET (button);
- gint failure;
+ GdkDevice *device;
- g_signal_connect (button, "event",
- G_CALLBACK (snapshot_widget_event), data);
+ device = gtk_get_current_event_device ();
+ if (device == NULL)
+ return;
+
+ if (gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD)
+ device = gdk_device_get_associated_device (device);
data->is_toplevel = widget == data->toplevel_button;
data->cursor = gdk_cursor_new_for_display (gtk_widget_get_display (widget),
GDK_TARGET);
- failure = gdk_pointer_grab (gtk_widget_get_window (widget),
- TRUE,
- GDK_BUTTON_RELEASE_MASK,
- NULL,
- data->cursor,
- GDK_CURRENT_TIME);
+ gdk_device_grab (device,
+ gtk_widget_get_window (widget),
+ GDK_OWNERSHIP_APPLICATION,
+ TRUE,
+ GDK_BUTTON_RELEASE_MASK,
+ data->cursor,
+ GDK_CURRENT_TIME);
+
+ g_signal_connect (button, "event",
+ G_CALLBACK (snapshot_widget_event), data);
gtk_grab_add (widget);
gtk_window_set_title (GTK_WINDOW (window), "test snapshot");
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
- vbox = gtk_vbox_new (FALSE, 1);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 1);
gtk_container_add (GTK_CONTAINER (window), vbox);
button = gtk_button_new_with_label ("Snapshot widget");
void
selection_test_received (GtkWidget *tree_view,
- GtkSelectionData *data)
+ GtkSelectionData *selection_data)
{
GtkTreeModel *model;
GtkListStore *store;
GdkAtom *atoms;
int i, l;
- if (data->length < 0)
+ if (gtk_selection_data_get_length (selection_data) < 0)
{
g_print ("Selection retrieval failed\n");
return;
}
- if (data->type != GDK_SELECTION_TYPE_ATOM)
+ if (gtk_selection_data_get_data_type (selection_data) != GDK_SELECTION_TYPE_ATOM)
{
g_print ("Selection \"TARGETS\" was not returned as atoms!\n");
return;
/* Add new items to list */
- atoms = (GdkAtom *)data->data;
+ gtk_selection_data_get_targets (selection_data,
+ &atoms, &l);
- l = data->length / sizeof (GdkAtom);
for (i = 0; i < l; i++)
{
char *name;
/* Create the list */
- vbox = gtk_vbox_new (FALSE, 5);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 10);
gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0);
store = gtk_list_store_new (1, G_TYPE_STRING);
tree_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (store));
- gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrolled_win), tree_view);
+ gtk_container_add (GTK_CONTAINER (scrolled_win), tree_view);
renderer = gtk_cell_renderer_text_new ();
column = gtk_tree_view_column_new_with_attributes ("Target", renderer,
static gint
scroll_test_draw (GtkWidget *widget,
cairo_t *cr,
- GtkAdjustment *adj)
+ GtkAdjustment *adjustment)
{
gint i,j;
gint imin, imax, jmin, jmax;
imin = (clip.x) / 10;
imax = (clip.x + clip.width + 9) / 10;
- jmin = ((int)adj->value + clip.y) / 10;
- jmax = ((int)adj->value + clip.y + clip.height + 9) / 10;
+ jmin = ((int)gtk_adjustment_get_value (adjustment) + clip.y) / 10;
+ jmax = ((int)gtk_adjustment_get_value (adjustment) + clip.y + clip.height + 9) / 10;
for (i=imin; i<imax; i++)
for (j=jmin; j<jmax; j++)
if ((i+j) % 2)
- cairo_rectangle (cr, 10*i, 10*j - (int)adj->value, 1+i%10, 1+j%10);
+ cairo_rectangle (cr, 10*i, 10*j - (int)gtk_adjustment_get_value (adjustment), 1+i%10, 1+j%10);
cairo_fill (cr);
static gint
scroll_test_scroll (GtkWidget *widget, GdkEventScroll *event,
- GtkAdjustment *adj)
+ GtkAdjustment *adjustment)
{
- gdouble new_value = adj->value + ((event->direction == GDK_SCROLL_UP) ?
- -adj->page_increment / 2:
- adj->page_increment / 2);
- new_value = CLAMP (new_value, adj->lower, adj->upper - adj->page_size);
- gtk_adjustment_set_value (adj, new_value);
+ gdouble new_value = gtk_adjustment_get_value (adjustment) + ((event->direction == GDK_SCROLL_UP) ?
+ -gtk_adjustment_get_page_increment (adjustment) / 2:
+ gtk_adjustment_get_page_increment (adjustment) / 2);
+ new_value = CLAMP (new_value, gtk_adjustment_get_lower (adjustment), gtk_adjustment_get_upper (adjustment) - gtk_adjustment_get_page_size (adjustment));
+ gtk_adjustment_set_value (adjustment, new_value);
return TRUE;
}
static void
scroll_test_configure (GtkWidget *widget, GdkEventConfigure *event,
- GtkAdjustment *adj)
+ GtkAdjustment *adjustment)
{
GtkAllocation allocation;
gtk_widget_get_allocation (widget, &allocation);
- adj->page_increment = 0.9 * allocation.height;
- adj->page_size = allocation.height;
-
- g_signal_emit_by_name (adj, "changed");
+ gtk_adjustment_configure (adjustment,
+ gtk_adjustment_get_value (adjustment),
+ gtk_adjustment_get_lower (adjustment),
+ gtk_adjustment_get_upper (adjustment),
+ 0.1 * allocation.height,
+ 0.9 * allocation.height,
+ allocation.height);
}
static void
-scroll_test_adjustment_changed (GtkAdjustment *adj, GtkWidget *widget)
+scroll_test_adjustment_changed (GtkAdjustment *adjustment, GtkWidget *widget)
{
GdkWindow *window;
gint dy;
- dy = scroll_test_pos - (int)adj->value;
- scroll_test_pos = adj->value;
+ dy = scroll_test_pos - (int)gtk_adjustment_get_value (adjustment);
+ scroll_test_pos = gtk_adjustment_get_value (adjustment);
if (!gtk_widget_is_drawable (widget))
return;
GtkWidget *drawing_area;
GtkWidget *scrollbar;
GtkWidget *button;
- GtkAdjustment *adj;
+ GtkAdjustment *adjustment;
GdkGeometry geometry;
GdkWindowHints geometry_mask;
gtk_window_set_title (GTK_WINDOW (window), "Scroll Test");
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
- hbox = gtk_hbox_new (FALSE, 0);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_box_pack_start (GTK_BOX (content_area), hbox, TRUE, TRUE, 0);
gtk_widget_show (hbox);
gtk_widget_set_events (drawing_area, GDK_EXPOSURE_MASK | GDK_SCROLL_MASK);
- adj = gtk_adjustment_new (0.0, 0.0, 1000.0, 1.0, 180.0, 200.0);
+ adjustment = gtk_adjustment_new (0.0, 0.0, 1000.0, 1.0, 180.0, 200.0);
scroll_test_pos = 0.0;
- scrollbar = gtk_vscrollbar_new (adj);
+ scrollbar = gtk_scrollbar_new (GTK_ORIENTATION_VERTICAL, adjustment);
gtk_box_pack_start (GTK_BOX (hbox), scrollbar, FALSE, FALSE, 0);
gtk_widget_show (scrollbar);
g_signal_connect (drawing_area, "draw",
- G_CALLBACK (scroll_test_draw), adj);
+ G_CALLBACK (scroll_test_draw), adjustment);
g_signal_connect (drawing_area, "configure_event",
- G_CALLBACK (scroll_test_configure), adj);
+ G_CALLBACK (scroll_test_configure), adjustment);
g_signal_connect (drawing_area, "scroll_event",
- G_CALLBACK (scroll_test_scroll), adj);
+ G_CALLBACK (scroll_test_scroll), adjustment);
- g_signal_connect (adj, "value_changed",
+ g_signal_connect (adjustment, "value_changed",
G_CALLBACK (scroll_test_adjustment_changed),
drawing_area);
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
label = gtk_label_new ("count: 0");
- gtk_misc_set_padding (GTK_MISC (label), 10, 10);
+ g_object_set (label, "margin", 10, NULL);
gtk_box_pack_start (GTK_BOX (content_area), label, TRUE, TRUE, 0);
gtk_widget_show (label);
sprintf (buffer, "count: %d", ++count);
gtk_label_set_text (GTK_LABEL (label), buffer);
- return TRUE;
+ return G_SOURCE_CONTINUE;
}
static void
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
label = gtk_label_new ("count: 0");
- gtk_misc_set_padding (GTK_MISC (label), 10, 10);
+ g_object_set (label, "margin", 10, NULL);
gtk_widget_show (label);
container =
- g_object_new (GTK_TYPE_HBOX,
+ g_object_new (GTK_TYPE_BOX,
"visible", TRUE,
/* "GtkContainer::child", g_object_new (GTK_TYPE_HBOX,
* "GtkWidget::visible", TRUE,
"parent", content_area,
NULL);
box =
- g_object_new (GTK_TYPE_VBOX,
+ g_object_new (GTK_TYPE_BOX,
"visible", TRUE,
"parent", frame,
+ "orientation", GTK_ORIENTATION_VERTICAL,
NULL);
button =
g_object_connect (g_object_new (GTK_TYPE_RADIO_BUTTON,
* rc file test
*/
-void
-reload_all_rc_files (void)
-{
- static GdkAtom atom_rcfiles = GDK_NONE;
-
- GdkEvent *send_event = gdk_event_new (GDK_CLIENT_EVENT);
- int i;
-
- if (!atom_rcfiles)
- atom_rcfiles = gdk_atom_intern("_GTK_READ_RCFILES", FALSE);
-
- for(i = 0; i < 5; i++)
- send_event->client.data.l[i] = 0;
- send_event->client.data_format = 32;
- send_event->client.message_type = atom_rcfiles;
- gdk_event_send_clientmessage_toall (send_event);
-
- gdk_event_free (send_event);
-}
-
void
create_rc_file (GtkWidget *widget)
{
frame = gtk_aspect_frame_new ("Testing RC file prioritization", 0.5, 0.5, 0.0, TRUE);
gtk_box_pack_start (GTK_BOX (content_area), frame, FALSE, FALSE, 0);
- vbox = gtk_vbox_new (FALSE, 0);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_add (GTK_CONTAINER (frame), vbox);
label = gtk_label_new ("This label should be red");
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
button = gtk_button_new_with_label ("Reload");
- g_signal_connect (button, "clicked",
- G_CALLBACK (gtk_rc_reparse_all), NULL);
+ g_signal_connect_swapped (button, "clicked",
+ G_CALLBACK (gtk_style_context_reset_widgets),
+ gtk_widget_get_screen (button));
gtk_widget_set_can_default (button, TRUE);
gtk_box_pack_start (GTK_BOX (action_area), button, TRUE, TRUE, 0);
gtk_widget_grab_default (button);
- button = gtk_button_new_with_label ("Reload All");
- g_signal_connect (button, "clicked",
- G_CALLBACK (reload_all_rc_files), NULL);
- gtk_widget_set_can_default (button, TRUE);
- gtk_box_pack_start (GTK_BOX (action_area), button, TRUE, TRUE, 0);
-
button = gtk_button_new_with_label ("Close");
g_signal_connect_swapped (button, "clicked",
G_CALLBACK (gtk_widget_destroy),
action_area = gtk_dialog_get_action_area (GTK_DIALOG (window));
label = gtk_label_new ("In recursive main loop...");
- gtk_misc_set_padding (GTK_MISC(label), 20, 20);
+ g_object_set (label, "margin", 20, NULL);
gtk_box_pack_start (GTK_BOX (content_area), label, TRUE, TRUE, 0);
gtk_widget_show (label);
/* We set step sizes here since GtkLayout does not set
* them itself.
*/
- hadjustment = gtk_layout_get_hadjustment (layout);
- vadjustment = gtk_layout_get_vadjustment (layout);
+ hadjustment = gtk_scrollable_get_hadjustment (GTK_SCROLLABLE (layout));
+ vadjustment = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (layout));
gtk_adjustment_set_step_increment (hadjustment, 10.0);
gtk_adjustment_set_step_increment (vadjustment, 10.0);
- gtk_layout_set_hadjustment (layout, hadjustment);
- gtk_layout_set_vadjustment (layout, vadjustment);
+ gtk_scrollable_set_hadjustment (GTK_SCROLLABLE (layout), hadjustment);
+ gtk_scrollable_set_vadjustment (GTK_SCROLLABLE (layout), vadjustment);
gtk_widget_set_events (layout_widget, GDK_EXPOSURE_MASK);
g_signal_connect (layout, "draw",
gtk_widget_destroy (window);
}
+#if 0
+/* FIXME: need to completely redo this for GtkStyleContext */
void
create_styles (GtkWidget *widget)
{
GtkWidget *button;
GtkWidget *entry;
GtkWidget *vbox;
- static GdkColor red = { 0, 0xffff, 0, 0 };
- static GdkColor green = { 0, 0, 0xffff, 0 };
- static GdkColor blue = { 0, 0, 0, 0xffff };
- static GdkColor yellow = { 0, 0xffff, 0xffff, 0 };
- static GdkColor cyan = { 0, 0 , 0xffff, 0xffff };
+ static GdkRGBA red = { 1,0,0,1 };
+ static GdkRGBA green = { 0,1,0,1 };
+ static GdkRGBA blue = { 0,0,1,1 };
+ static GdkRGBA yellow = { 1,1,0,1 };
+ static GdkRGBA cyan = { 0,1,1,1 };
PangoFontDescription *font_desc;
GtkRcStyle *rc_style;
gtk_box_pack_start (GTK_BOX (action_area), button, TRUE, TRUE, 0);
gtk_widget_show (button);
- vbox = gtk_vbox_new (FALSE, 5);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 10);
gtk_box_pack_start (GTK_BOX (content_area), vbox, FALSE, FALSE, 0);
label = gtk_label_new ("Font:");
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
+ gtk_widget_set_halign (label, GTK_ALIGN_START);
+ gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
font_desc = pango_font_description_from_string ("Helvetica,Sans Oblique 18");
button = gtk_button_new_with_label ("Some Text");
- gtk_widget_modify_font (gtk_bin_get_child (GTK_BIN (button)),
- font_desc);
+ gtk_widget_override_font (gtk_bin_get_child (GTK_BIN (button)), font_desc);
gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
label = gtk_label_new ("Foreground:");
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
+ gtk_widget_set_halign (label, GTK_ALIGN_START);
+ gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
button = gtk_button_new_with_label ("Some Text");
- gtk_widget_modify_fg (gtk_bin_get_child (GTK_BIN (button)),
- GTK_STATE_NORMAL, &red);
+ gtk_widget_override_color (gtk_bin_get_child (GTK_BIN (button)), 0, &red);
gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
label = gtk_label_new ("Background:");
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
+ gtk_widget_set_halign (label, GTK_ALIGN_START);
+ gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
button = gtk_button_new_with_label ("Some Text");
- gtk_widget_modify_bg (button, GTK_STATE_NORMAL, &green);
+ gtk_widget_override_background_color (button, 0, &green);
gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
label = gtk_label_new ("Text:");
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
+ gtk_widget_set_halign (label, GTK_ALIGN_START);
+ gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
entry = gtk_entry_new ();
gtk_entry_set_text (GTK_ENTRY (entry), "Some Text");
- gtk_widget_modify_text (entry, GTK_STATE_NORMAL, &blue);
+ gtk_widget_override_color (entry, 0, &blue);
gtk_box_pack_start (GTK_BOX (vbox), entry, FALSE, FALSE, 0);
label = gtk_label_new ("Base:");
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
+ gtk_widget_set_halign (label, GTK_ALIGN_START);
+ gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
entry = gtk_entry_new ();
gtk_entry_set_text (GTK_ENTRY (entry), "Some Text");
- gtk_widget_modify_base (entry, GTK_STATE_NORMAL, &yellow);
+ gtk_widget_override_background_color (entry, 0, &yellow);
gtk_box_pack_start (GTK_BOX (vbox), entry, FALSE, FALSE, 0);
label = gtk_label_new ("Cursor:");
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
+ gtk_widget_set_halign (label, GTK_ALIGN_START);
+ gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
entry = gtk_entry_new ();
gtk_box_pack_start (GTK_BOX (vbox), entry, FALSE, FALSE, 0);
label = gtk_label_new ("Multiple:");
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
+ gtk_widget_set_halign (label, GTK_ALIGN_START);
+ gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
button = gtk_button_new_with_label ("Some Text");
else
gtk_widget_destroy (window);
}
+#endif
/*
* Main Window and Exit
} buttons[] =
{
{ "alpha window", create_alpha_window },
+ { "alpha widget", create_alpha_widgets },
{ "big windows", create_big_windows },
{ "button box", create_button_box },
{ "buttons", create_buttons },
{ "flipping", create_flipping },
{ "focus", create_focus },
{ "font selection", create_font_selection },
- { "handle box", create_handle_box },
{ "image", create_image },
{ "key lookup", create_key_lookup },
{ "labels", create_labels },
{ "resize grips", create_resize_grips },
{ "rotated label", create_rotated_label },
{ "rotated text", create_rotated_text },
- { "rulers", create_rulers },
{ "saved position", create_saved_position },
{ "scrolled windows", create_scrolled_windows },
+ { "settings", create_settings },
{ "shapes", create_shapes },
{ "size groups", create_size_groups },
{ "snapshot", create_snapshot },
{ "spinbutton", create_spins },
{ "statusbar", create_statusbar },
+#if 0
{ "styles", create_styles },
+#endif
{ "test idle", create_idle_test },
{ "test mainloop", create_mainloop, TRUE },
{ "test scrolling", create_scroll_test },
int i;
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
- gtk_widget_set_name (window, "main window");
+ gtk_widget_set_name (window, "main_window");
gtk_window_move (GTK_WINDOW (window), 50, 20);
gtk_window_set_default_size (GTK_WINDOW (window), -1, 400);
G_CALLBACK (gtk_false),
NULL);
- box1 = gtk_vbox_new (FALSE, 0);
+ box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_add (GTK_CONTAINER (window), box1);
if (gtk_micro_version > 0)
GTK_POLICY_AUTOMATIC);
gtk_box_pack_start (GTK_BOX (box1), scrolled_window, TRUE, TRUE, 0);
- box2 = gtk_vbox_new (FALSE, 0);
+ box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
- gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrolled_window), box2);
+ gtk_container_add (GTK_CONTAINER (scrolled_window), box2);
gtk_container_set_focus_vadjustment (GTK_CONTAINER (box2),
gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (scrolled_window)));
gtk_widget_show (box2);
gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
}
- separator = gtk_hseparator_new ();
+ separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0);
- box2 = gtk_vbox_new (FALSE, 10);
+ box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0);
static void
test_init (void)
{
- if (g_file_test ("../gdk-pixbuf/libpixbufloader-pnm.la",
- G_FILE_TEST_EXISTS))
- {
- g_setenv ("GDK_PIXBUF_MODULE_FILE", "../gdk-pixbuf/loaders.cache", TRUE);
- g_setenv ("GTK_IM_MODULE_FILE", "../modules/input/immodules.cache", TRUE);
- }
+ if (g_file_test ("../modules/input/immodules.cache", G_FILE_TEST_EXISTS))
+ g_setenv ("GTK_IM_MODULE_FILE", "../modules/input/immodules.cache", TRUE);
}
static char *
int
main (int argc, char *argv[])
{
+ GtkCssProvider *provider, *memory_provider;
+ GdkDisplay *display;
+ GdkScreen *screen;
GtkBindingSet *binding_set;
int i;
gboolean done_benchmarks = FALSE;
test_init ();
+ g_set_application_name ("GTK+ Test Program");
+
+ gtk_init (&argc, &argv);
+
+ provider = gtk_css_provider_new ();
+
/* Check to see if we are being run from the correct
* directory.
*/
- if (file_exists ("testgtkrc"))
- gtk_rc_add_default_file ("testgtkrc");
- else if (file_exists ("tests/testgtkrc"))
- gtk_rc_add_default_file ("tests/testgtkrc");
+ if (file_exists ("testgtk.css"))
+ gtk_css_provider_load_from_path (provider, "testgtk.css", NULL);
+ else if (file_exists ("tests/testgtk.css"))
+ gtk_css_provider_load_from_path (provider, "tests/testgtk.css", NULL);
else
- g_warning ("Couldn't find file \"testgtkrc\".");
+ g_warning ("Couldn't find file \"testgtk.css\".");
- g_set_application_name ("GTK+ Test Program");
+ display = gdk_display_get_default ();
+ screen = gdk_display_get_default_screen (display);
- gtk_init (&argc, &argv);
+ gtk_style_context_add_provider_for_screen (screen, GTK_STYLE_PROVIDER (provider),
+ GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
+ g_object_unref (provider);
gtk_accelerator_set_default_mod_mask (GDK_SHIFT_MASK |
GDK_CONTROL_MASK |
"debug_msg",
1,
G_TYPE_STRING, "GtkWidgetClass <ctrl><release>9 test");
-
- /* We use gtk_rc_parse_string() here so we can make sure it works across theme
- * changes
- */
- gtk_rc_parse_string ("style \"testgtk-version-label\" { "
- " fg[NORMAL] = \"#ff0000\"\n"
- " font = \"Sans 18\"\n"
- "}\n"
- "widget \"*.testgtk-version-label\" style \"testgtk-version-label\"");
-
+ memory_provider = gtk_css_provider_new ();
+ gtk_css_provider_load_from_data (memory_provider,
+ "#testgtk-version-label {\n"
+ " color: #f00;\n"
+ " font: Sans 18;\n"
+ "}",
+ -1, NULL);
+ gtk_style_context_add_provider_for_screen (screen, GTK_STYLE_PROVIDER (memory_provider),
+ GTK_STYLE_PROVIDER_PRIORITY_APPLICATION + 1);
+
create_main_window ();
gtk_main ();