mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-23 20:30:15 +00:00
examples/fixed/*, examples/frame/* - Examples from the Tutorial
Fri Jan 29 09:44:37 GMT 1999 Tony Gake <gale@gtk.org> * examples/fixed/*, examples/frame/* - Examples from the Tutorial
This commit is contained in:
parent
e735ac6c86
commit
c39dffed55
@ -1,3 +1,8 @@
|
||||
Fri Jan 29 09:44:37 GMT 1999 Tony Gake <gale@gtk.org>
|
||||
|
||||
* examples/fixed/*, examples/frame/*
|
||||
- Examples from the Tutorial
|
||||
|
||||
Fri Jan 29 09:18:41 GMT 1999 Tony Gale <gale@gtk.org>
|
||||
|
||||
* docs/gtk_tut.sgml:
|
||||
|
@ -1,3 +1,8 @@
|
||||
Fri Jan 29 09:44:37 GMT 1999 Tony Gake <gale@gtk.org>
|
||||
|
||||
* examples/fixed/*, examples/frame/*
|
||||
- Examples from the Tutorial
|
||||
|
||||
Fri Jan 29 09:18:41 GMT 1999 Tony Gale <gale@gtk.org>
|
||||
|
||||
* docs/gtk_tut.sgml:
|
||||
|
@ -1,3 +1,8 @@
|
||||
Fri Jan 29 09:44:37 GMT 1999 Tony Gake <gale@gtk.org>
|
||||
|
||||
* examples/fixed/*, examples/frame/*
|
||||
- Examples from the Tutorial
|
||||
|
||||
Fri Jan 29 09:18:41 GMT 1999 Tony Gale <gale@gtk.org>
|
||||
|
||||
* docs/gtk_tut.sgml:
|
||||
|
@ -1,3 +1,8 @@
|
||||
Fri Jan 29 09:44:37 GMT 1999 Tony Gake <gale@gtk.org>
|
||||
|
||||
* examples/fixed/*, examples/frame/*
|
||||
- Examples from the Tutorial
|
||||
|
||||
Fri Jan 29 09:18:41 GMT 1999 Tony Gale <gale@gtk.org>
|
||||
|
||||
* docs/gtk_tut.sgml:
|
||||
|
@ -1,3 +1,8 @@
|
||||
Fri Jan 29 09:44:37 GMT 1999 Tony Gake <gale@gtk.org>
|
||||
|
||||
* examples/fixed/*, examples/frame/*
|
||||
- Examples from the Tutorial
|
||||
|
||||
Fri Jan 29 09:18:41 GMT 1999 Tony Gale <gale@gtk.org>
|
||||
|
||||
* docs/gtk_tut.sgml:
|
||||
|
@ -1,3 +1,8 @@
|
||||
Fri Jan 29 09:44:37 GMT 1999 Tony Gake <gale@gtk.org>
|
||||
|
||||
* examples/fixed/*, examples/frame/*
|
||||
- Examples from the Tutorial
|
||||
|
||||
Fri Jan 29 09:18:41 GMT 1999 Tony Gale <gale@gtk.org>
|
||||
|
||||
* docs/gtk_tut.sgml:
|
||||
|
@ -1,3 +1,8 @@
|
||||
Fri Jan 29 09:44:37 GMT 1999 Tony Gake <gale@gtk.org>
|
||||
|
||||
* examples/fixed/*, examples/frame/*
|
||||
- Examples from the Tutorial
|
||||
|
||||
Fri Jan 29 09:18:41 GMT 1999 Tony Gale <gale@gtk.org>
|
||||
|
||||
* docs/gtk_tut.sgml:
|
||||
|
8
examples/fixed/Makefile
Normal file
8
examples/fixed/Makefile
Normal file
@ -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
|
74
examples/fixed/fixed.c
Normal file
74
examples/fixed/fixed.c
Normal file
@ -0,0 +1,74 @@
|
||||
/* example-start fixed fixed.c */
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
/* 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 */
|
8
examples/frame/Makefile
Normal file
8
examples/frame/Makefile
Normal file
@ -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
|
52
examples/frame/frame.c
Normal file
52
examples/frame/frame.c
Normal file
@ -0,0 +1,52 @@
|
||||
/* example-start frame frame.c */
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
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 */
|
Loading…
Reference in New Issue
Block a user