A new demo.

2004-04-21  Matthias Clasen  <mclasen@redhat.com>

	* demos/gtk-demo/expander.c (do_expander): A new demo.

	* demos/gtk-demo/Makefile.am (demos): Add expander.c.
This commit is contained in:
Matthias Clasen 2004-04-21 17:52:33 +00:00 committed by Matthias Clasen
parent 4d74836ad0
commit 8d30ad2838
7 changed files with 90 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2004-04-21 Matthias Clasen <mclasen@redhat.com>
* demos/gtk-demo/expander.c (do_expander): A new demo.
* demos/gtk-demo/Makefile.am (demos): Add expander.c.
2004-04-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktextview.c (gtk_text_view_allocate_children): Make

View File

@ -1,3 +1,9 @@
2004-04-21 Matthias Clasen <mclasen@redhat.com>
* demos/gtk-demo/expander.c (do_expander): A new demo.
* demos/gtk-demo/Makefile.am (demos): Add expander.c.
2004-04-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktextview.c (gtk_text_view_allocate_children): Make

View File

@ -1,3 +1,9 @@
2004-04-21 Matthias Clasen <mclasen@redhat.com>
* demos/gtk-demo/expander.c (do_expander): A new demo.
* demos/gtk-demo/Makefile.am (demos): Add expander.c.
2004-04-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktextview.c (gtk_text_view_allocate_children): Make

View File

@ -1,3 +1,9 @@
2004-04-21 Matthias Clasen <mclasen@redhat.com>
* demos/gtk-demo/expander.c (do_expander): A new demo.
* demos/gtk-demo/Makefile.am (demos): Add expander.c.
2004-04-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktextview.c (gtk_text_view_allocate_children): Make

View File

@ -1,3 +1,9 @@
2004-04-21 Matthias Clasen <mclasen@redhat.com>
* demos/gtk-demo/expander.c (do_expander): A new demo.
* demos/gtk-demo/Makefile.am (demos): Add expander.c.
2004-04-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktextview.c (gtk_text_view_allocate_children): Make

View File

@ -13,6 +13,7 @@ demos = \
drawingarea.c \
editable_cells.c \
entry_completion.c \
expander.c \
hypertext.c \
images.c \
list_store.c \

59
demos/gtk-demo/expander.c Normal file
View File

@ -0,0 +1,59 @@
/* Expander
*
* GtkExpander allows to provide additional content that is initially hidden.
* This is also known as "disclosure triangle".
*
*/
#include <config.h>
#include <gtk/gtk.h>
static GtkWidget *window = NULL;
GtkWidget *
do_expander (GtkWidget *do_widget)
{
GtkWidget *vbox;
GtkWidget *label;
GtkWidget *expander;
if (!window)
{
window = gtk_dialog_new_with_buttons ("GtkExpander",
GTK_WINDOW (do_widget),
0,
GTK_STOCK_CLOSE,
GTK_RESPONSE_NONE,
NULL);
gtk_window_set_resizable (GTK_WINDOW (window), FALSE);
g_signal_connect (window, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
vbox = gtk_vbox_new (FALSE, 5);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (window)->vbox), vbox, TRUE, TRUE, 0);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
label = gtk_label_new ("Expander demo. Click on the triangle for details.");
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
/* Create the expander */
expander = gtk_expander_new ("Details");
gtk_box_pack_start (GTK_BOX (vbox), expander, FALSE, FALSE, 0);
label = gtk_label_new ("Details can be shown or hidden.");
gtk_container_add (GTK_CONTAINER (expander), label);
}
if (!GTK_WIDGET_VISIBLE (window))
gtk_widget_show_all (window);
else
gtk_widget_destroy (window);
return window;
}