Home   |   Guides and Tutorials   |   What's New?   |   Comments   |   About
 

GtkCombo - Combo Text List Widget

by Tammy Fox
Last Modified: Wednesday, 19-May-2004 11:54:21 EDT

Introduction
    This example produces a simple GTK combo pull-down list. It allows you to add default values to the list. In addition, the user is allowed to enter his/her own value.
Screenshot



Source Code
Source code for this example is also available in the file combo.c
/*
 *File name: hbox.c
 */

#include <gtk/gtk.h>
#include <glib.h>

/*-- This function allows the program to exit properly when the window is closed --*/
gint destroyapp (GtkWidget *widget, gpointer gdata)
{
  g_print ("Quitting...\n");
  gtk_main_quit();
  return (FALSE);
}
int main (int argc, char *argv[])
{

	/*-- Declare the GTK Widgets used in the program --*/
	GtkWidget *window;
	GtkWidget *combo;
	GList *items = NULL;

	/*--Initialize GTK--*/
	gtk_init (&argc, &argv);

	/*--Create the new window--*/
	window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

	/*--Connect the window to the destroyapp function --*/
	gtk_signal_connect(GTK_OBJECT(window), "delete_event", GTK_SIGNAL_FUNC(destroyapp), NULL);

	/*-- Items to be added to combo widget--*/
	items = g_list_append (items, "Banana");
	items = g_list_append (items, "Orange");
	items = g_list_append (items, "Peach");
	items = g_list_append (items, "Strawberry");

	/*--Create a new combo widget --*/
	combo = gtk_combo_new();
	/*-- Set items in the popup list--*/
	gtk_combo_set_popdown_strings (GTK_COMBO (combo), items);

	/*--- Add combo widget to window-*/
	gtk_container_add(GTK_CONTAINER (window), combo);

	/*-- Add a border to the window to give the button a little room --*/
	gtk_container_border_width (GTK_CONTAINER (window), 15);
         
	/*-- Display the widgets --*/
	gtk_widget_show(combo);
	gtk_widget_show(window);

	/*-- Start the GTK event loop--*/
	gtk_main();

	/*--Return 0 if exit is successful--*/
	return 0;

}
Compile the Source Code
gcc -Wall -g combo.c -o combo `gtk-config --cflags` `gtk-config --libs`

Execute the Program
./combo

What's Related


All Rights Reserved Linux Headquarters © 2000-2007
Linux is a registered trademark of Linus Torvalds
All logos are registered trademarks of their respective owners
Last modified: Wednesday, May 19, 2004