Ktam3874/pitx software guide – Kontron KTAM3874-pITX User Manual
Page 169

KTD-S0057-I
Page 165 Linux® Programming Examples (DebianTM)
KTAM3874/pITX Software Guide
static void create_button (GtkWidget *parent, GtkWidget *msglabel, GdkRectangle rc, gint id, gchar *msg)
{
GtkWidget
*button;
button = gtk_button_new_with_label (msg);
gtk_table_attach (GTK_TABLE (parent), button, rc.x, rc.x + rc.width, rc.y, rc.y + rc.height,
GTK_FILL, GTK_FILL, 0, 0);
switch
(id)
{
case
ID_COLOR:
g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (color_callback), (gpointer) msglabel);
break;
case
ID_FONT:
g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (font_callback), (gpointer) msglabel);
break;
case
ID_RADIUS:
g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (radius_callback), (gpointer) msglabel);
break;
}
}
static void create_button_frame (GtkWidget *parent, GdkRectangle rc)
{
GtkWidget
*frame,
*align;
frame = gtk_frame_new (FRAME_TITLE);
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_ETCHED_IN);
gtk_frame_set_label_align (GTK_FRAME (frame), CENTER, CENTER);
align = gtk_alignment_new (ZERO, ZERO, FRAME_SCALE, ONE);
gtk_alignment_set_padding (GTK_ALIGNMENT (align), 0, FRAME_BOTTOM, FRAME_LEFT, 0);
gtk_container_set_border_width (GTK_CONTAINER (frame), FRAME_BORDER);
gtk_table_attach (GTK_TABLE (parent), align, rc.x, rc.x + rc.width, rc.y, rc.y + rc.height,
GTK_FILL, GTK_FILL, 0, 0);
gtk_container_add (GTK_CONTAINER (align), frame);
}
static void create_menubar (GtkWidget *parent)
{
GtkWidget
*menubar,
*filemenu, *optsmenu, *helpmenu,
*file, *opts, *help,
*quit, *color, *font, *radius, *about;
menubar = gtk_menu_bar_new ();
filemenu = gtk_menu_new ();
optsmenu = gtk_menu_new ();
helpmenu = gtk_menu_new ();