/src/wrappers/gtk/examples/gtk-demo/button_box.e
http://github.com/tybor/Liberty · Specman e · 154 lines · 21 code · 35 blank · 98 comment · 2 complexity · c1bc5673fb38e2b8e6fd87e5b1e70641 MD5 · raw file
- indexing
- description: "."
- copyright: "[
- Copyright (C) 2006 Paolo Redaelli, GTK+ team
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public License
- as published by the Free Software Foundation; either version 2.1 of
- the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- 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., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA
- ]"
- class BUTTON_BOX
- creation make
- feature
- -- /* Button Boxes
- -- *
- -- * The Button Box widgets are used to arrange buttons with padding.
- -- */
- -- #include <gtk/gtk.h>
- -- static GtkWidget *
- -- create_bbox (gint horizontal,
- -- char *title,
- -- gint spacing,
- -- gint layout)
- -- {
- -- GtkWidget *frame;
- -- GtkWidget *bbox;
- -- GtkWidget *button;
-
- -- frame = gtk_frame_new (title);
- -- if (horizontal)
- -- bbox = gtk_hbutton_box_new ();
- -- else
- -- bbox = gtk_vbutton_box_new ();
- -- gtk_container_set_border_width (GTK_CONTAINER (bbox), 5);
- -- gtk_container_add (GTK_CONTAINER (frame), bbox);
- -- gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), layout);
- -- gtk_box_set_spacing (GTK_BOX (bbox), spacing);
-
- -- button = gtk_button_new_from_stock (GTK_STOCK_OK);
- -- gtk_container_add (GTK_CONTAINER (bbox), button);
-
- -- button = gtk_button_new_from_stock (GTK_STOCK_CANCEL);
- -- gtk_container_add (GTK_CONTAINER (bbox), button);
-
- -- button = gtk_button_new_from_stock (GTK_STOCK_HELP);
- -- gtk_container_add (GTK_CONTAINER (bbox), button);
- -- return frame;
- -- }
- -- GtkWidget *
- -- do_button_box (GtkWidget *do_widget)
- -- {
- -- static GtkWidget *window = NULL;
- -- GtkWidget *main_vbox;
- -- GtkWidget *vbox;
- -- GtkWidget *hbox;
- -- GtkWidget *frame_horz;
- -- GtkWidget *frame_vert;
-
- -- if (!window)
- -- {
- -- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
- -- gtk_window_set_screen (GTK_WINDOW (window),
- -- gtk_widget_get_screen (do_widget));
- -- gtk_window_set_title (GTK_WINDOW (window), "Button Boxes");
-
- -- g_signal_connect (window, "destroy",
- -- G_CALLBACK (gtk_widget_destroyed),
- -- &window);
-
- -- gtk_container_set_border_width (GTK_CONTAINER (window), 10);
- -- main_vbox = gtk_vbox_new (FALSE, 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);
- -- gtk_container_set_border_width (GTK_CONTAINER (vbox), 10);
- -- gtk_container_add (GTK_CONTAINER (frame_horz), vbox);
- -- gtk_box_pack_start (GTK_BOX (vbox),
- -- create_bbox (TRUE, "Spread", 40, GTK_BUTTONBOX_SPREAD),
- -- TRUE, TRUE, 0);
- -- gtk_box_pack_start (GTK_BOX (vbox),
- -- create_bbox (TRUE, "Edge", 40, GTK_BUTTONBOX_EDGE),
- -- TRUE, TRUE, 5);
-
- -- gtk_box_pack_start (GTK_BOX (vbox),
- -- create_bbox (TRUE, "Start", 40, GTK_BUTTONBOX_START),
- -- TRUE, TRUE, 5);
-
- -- gtk_box_pack_start (GTK_BOX (vbox),
- -- create_bbox (TRUE, "End", 40, GTK_BUTTONBOX_END),
- -- TRUE, TRUE, 5);
- -- 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);
- -- gtk_container_set_border_width (GTK_CONTAINER (hbox), 10);
- -- gtk_container_add (GTK_CONTAINER (frame_vert), hbox);
- -- gtk_box_pack_start (GTK_BOX (hbox),
- -- create_bbox (FALSE, "Spread", 30, GTK_BUTTONBOX_SPREAD),
- -- TRUE, TRUE, 0);
- -- gtk_box_pack_start (GTK_BOX (hbox),
- -- create_bbox (FALSE, "Edge", 30, GTK_BUTTONBOX_EDGE),
- -- TRUE, TRUE, 5);
- -- gtk_box_pack_start (GTK_BOX (hbox),
- -- create_bbox (FALSE, "Start", 30, GTK_BUTTONBOX_START),
- -- TRUE, TRUE, 5);
- -- gtk_box_pack_start (GTK_BOX (hbox),
- -- create_bbox (FALSE, "End", 30, GTK_BUTTONBOX_END),
- -- TRUE, TRUE, 5);
- -- }
- -- if (!GTK_WIDGET_VISIBLE (window))
- -- {
- -- gtk_widget_show_all (window);
- -- }
- -- else
- -- {
- -- gtk_widget_destroy (window);
- -- window = NULL;
- -- }
- -- return window;
- -- }
- end