From c39dffed55915a9367df8aba7c6eb237da30a66f Mon Sep 17 00:00:00 2001 From: GMT 1999 Tony Gake Date: Fri, 29 Jan 1999 09:53:14 +0000 Subject: [PATCH] examples/fixed/*, examples/frame/* - Examples from the Tutorial Fri Jan 29 09:44:37 GMT 1999 Tony Gake * examples/fixed/*, examples/frame/* - Examples from the Tutorial --- ChangeLog | 5 +++ ChangeLog.pre-2-0 | 5 +++ ChangeLog.pre-2-10 | 5 +++ ChangeLog.pre-2-2 | 5 +++ ChangeLog.pre-2-4 | 5 +++ ChangeLog.pre-2-6 | 5 +++ ChangeLog.pre-2-8 | 5 +++ examples/fixed/Makefile | 8 +++++ examples/fixed/fixed.c | 74 +++++++++++++++++++++++++++++++++++++++++ examples/frame/Makefile | 8 +++++ examples/frame/frame.c | 52 +++++++++++++++++++++++++++++ 11 files changed, 177 insertions(+) create mode 100644 examples/fixed/Makefile create mode 100644 examples/fixed/fixed.c create mode 100644 examples/frame/Makefile create mode 100644 examples/frame/frame.c diff --git a/ChangeLog b/ChangeLog index 091e23d8f7..55ff7712c7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri Jan 29 09:44:37 GMT 1999 Tony Gake + + * examples/fixed/*, examples/frame/* + - Examples from the Tutorial + Fri Jan 29 09:18:41 GMT 1999 Tony Gale * docs/gtk_tut.sgml: diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index 091e23d8f7..55ff7712c7 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,8 @@ +Fri Jan 29 09:44:37 GMT 1999 Tony Gake + + * examples/fixed/*, examples/frame/* + - Examples from the Tutorial + Fri Jan 29 09:18:41 GMT 1999 Tony Gale * docs/gtk_tut.sgml: diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 091e23d8f7..55ff7712c7 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +Fri Jan 29 09:44:37 GMT 1999 Tony Gake + + * examples/fixed/*, examples/frame/* + - Examples from the Tutorial + Fri Jan 29 09:18:41 GMT 1999 Tony Gale * docs/gtk_tut.sgml: diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index 091e23d8f7..55ff7712c7 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,8 @@ +Fri Jan 29 09:44:37 GMT 1999 Tony Gake + + * examples/fixed/*, examples/frame/* + - Examples from the Tutorial + Fri Jan 29 09:18:41 GMT 1999 Tony Gale * docs/gtk_tut.sgml: diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 091e23d8f7..55ff7712c7 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,8 @@ +Fri Jan 29 09:44:37 GMT 1999 Tony Gake + + * examples/fixed/*, examples/frame/* + - Examples from the Tutorial + Fri Jan 29 09:18:41 GMT 1999 Tony Gale * docs/gtk_tut.sgml: diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 091e23d8f7..55ff7712c7 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,8 @@ +Fri Jan 29 09:44:37 GMT 1999 Tony Gake + + * examples/fixed/*, examples/frame/* + - Examples from the Tutorial + Fri Jan 29 09:18:41 GMT 1999 Tony Gale * docs/gtk_tut.sgml: diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 091e23d8f7..55ff7712c7 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,8 @@ +Fri Jan 29 09:44:37 GMT 1999 Tony Gake + + * examples/fixed/*, examples/frame/* + - Examples from the Tutorial + Fri Jan 29 09:18:41 GMT 1999 Tony Gale * docs/gtk_tut.sgml: diff --git a/examples/fixed/Makefile b/examples/fixed/Makefile new file mode 100644 index 0000000000..c7fc2474eb --- /dev/null +++ b/examples/fixed/Makefile @@ -0,0 +1,8 @@ + +CC = gcc + +fixed: fixed.c + $(CC) `gtk-config --cflags` fixed.c -o fixed `gtk-config --libs` + +clean: + rm -f *.o fixed diff --git a/examples/fixed/fixed.c b/examples/fixed/fixed.c new file mode 100644 index 0000000000..372b1add15 --- /dev/null +++ b/examples/fixed/fixed.c @@ -0,0 +1,74 @@ +/* example-start fixed fixed.c */ + +#include + +/* I'm going to be lazy and use some global variables to + * store the position of the widget within the fixed + * container */ +gint x=50; +gint y=50; + +/* This callback function moves the button to a new position + * in the Fixed container. */ +void move_button( GtkWidget *widget, + GtkWidget *fixed ) +{ + x = (x+30)%300; + y = (y+50)%300; + gtk_fixed_move( GTK_FIXED(fixed), widget, x, y); +} + +int main( int argc, + char *argv[] ) +{ + /* GtkWidget is the storage type for widgets */ + GtkWidget *window; + GtkWidget *fixed; + GtkWidget *button; + gint i; + + /* Initialise GTK */ + gtk_init(&argc, &argv); + + /* Create a new window */ + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_window_set_title(GTK_WINDOW(window), "Fixed Container"); + + /* Here we connect the "destroy" event to a signal handler */ + gtk_signal_connect (GTK_OBJECT (window), "destroy", + GTK_SIGNAL_FUNC (gtk_main_quit), NULL); + + /* Sets the border width of the window. */ + gtk_container_set_border_width (GTK_CONTAINER (window), 10); + + /* Create a Fixed Container */ + fixed = gtk_fixed_new(); + gtk_container_add(GTK_CONTAINER(window), fixed); + gtk_widget_show(fixed); + + for (i = 1 ; i <= 3 ; i++) { + /* Creates a new button with the label "Press me" */ + button = gtk_button_new_with_label ("Press me"); + + /* When the button receives the "clicked" signal, it will call the + * function move_button() passing it the Fixed Containter as its + * argument. */ + gtk_signal_connect (GTK_OBJECT (button), "clicked", + GTK_SIGNAL_FUNC (move_button), fixed); + + /* This packs the button into the fixed containers window. */ + gtk_fixed_put (GTK_FIXED (fixed), button, i*50, i*50); + + /* The final step is to display this newly created widget. */ + gtk_widget_show (button); + } + + /* Display the window */ + gtk_widget_show (window); + + /* Enter the event loop */ + gtk_main (); + + return(0); +} +/* example-end */ diff --git a/examples/frame/Makefile b/examples/frame/Makefile new file mode 100644 index 0000000000..0afdbf2aa1 --- /dev/null +++ b/examples/frame/Makefile @@ -0,0 +1,8 @@ + +CC = gcc + +frame: frame.c + $(CC) `gtk-config --cflags` frame.c -o frame `gtk-config --libs` + +clean: + rm -f *.o frame diff --git a/examples/frame/frame.c b/examples/frame/frame.c new file mode 100644 index 0000000000..6091f0131d --- /dev/null +++ b/examples/frame/frame.c @@ -0,0 +1,52 @@ +/* example-start frame frame.c */ + +#include + +int main( int argc, + char *argv[] ) +{ + /* GtkWidget is the storage type for widgets */ + GtkWidget *window; + GtkWidget *frame; + GtkWidget *button; + gint i; + + /* Initialise GTK */ + gtk_init(&argc, &argv); + + /* Create a new window */ + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_window_set_title(GTK_WINDOW(window), "Frame Example"); + + /* Here we connect the "destroy" event to a signal handler */ + gtk_signal_connect (GTK_OBJECT (window), "destroy", + GTK_SIGNAL_FUNC (gtk_main_quit), NULL); + + gtk_widget_set_usize(window, 300, 300); + /* Sets the border width of the window. */ + gtk_container_set_border_width (GTK_CONTAINER (window), 10); + + /* Create a Frame */ + frame = gtk_frame_new(NULL); + gtk_container_add(GTK_CONTAINER(window), frame); + + /* Set the frames label */ + gtk_frame_set_label( GTK_FRAME(frame), "GTK Frame Widget" ); + + /* Align the label at the right of the frame */ + gtk_frame_set_label_align( GTK_FRAME(frame), 1.0, 0.0); + + /* Set the style of the frame */ + gtk_frame_set_shadow_type( GTK_FRAME(frame), GTK_SHADOW_ETCHED_OUT); + + gtk_widget_show(frame); + + /* Display the window */ + gtk_widget_show (window); + + /* Enter the event loop */ + gtk_main (); + + return(0); +} +/* example-end */