GtkExtra 3.0 Tutorial
Prev | Chapter 4. GtkSheet | Next

# 4.2. Creating a Sheet

The first step is to create the sheet widget and to pack it into a scrolled window. If you pack the sheet into a normal window you will receive some warnings about adjustment signals.

    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
    ...............................
    window_box= gtk_vbox_new (FALSE,TRUE);

    scrolled_window=gtk_scrolled_window_new(NULL, NULL);
    gtk_container_add (GTK_CONTAINER (window), window_box);
    gtk_box_pack_start (GTK_BOX (window_box), scrolled_window, 1,1,1);
    sheet=gtk_sheet_new(3,11,"Edit table");
    GTK_SHEET_SET_FLAGS(sheet, GTK_SHEET_AUTORESIZE);
    gtk_container_add(GTK_CONTAINER(scrolled_window), sheet);

    gtk_widget_show_all(window);

You should set the GTK_SHEET_AUTORESIZE flag so the cell would resize as you type. GtkSheet can be created with a custom entry widget. You can use GtkEntry or a GtkEntry subclass (e.g. GtkSheetEntry, GtkSpinButton) or a box or table containing a GtkEntry subclass (e.g. GtkCombo)

    gtk_sheet_new_with_custom_entry  (gint nrows, gint ncols, GtkType *entry_type);

if you want to construct a non-editable spreadsheet ( called "browser sheet") , just fow viewing purposes use:

    gtk_sheet_construct_browser(GtkSheet *sheet,guint rows,guint columns, const gchar *title);

The lines and columns(white coloured by default) are numbered from 0 to max row/col number. The gray row/col are numbered -1 . GtkSheet screenshot:

Prev | Home | Next
GtkSheet | Up | Sheet Signals