packages icon
GtkSheet is a matrix widget for Gtk+. It consist of an scrollable grid of
cells where you can allocate text which can be edited interactively. It is
also a container subclass so it allows you to display buttons, curves,
pixmaps and any other widget in it. You can also set many attributes as:
border, foreground and background color, text justification, etc. GtkSheet
comes also with an extra set of useful widgets: GtkComboBox, GtkColorCombo,
and GtkBorderCombo. A demo program shows all of them interacting in a
spreadsheet-like GUI.

This distribution includes the following set of widgets:

    * GtkSheet
    * GtkSheetEntry
    * GtkComboBox
    * GtkColorCombo
    * GtkBorderCombo

and a demo program showing their features acting interactivelly.

Download fom http://magnet.fsu.edu/~feiguin/gtk/download.html

NEWS & CHANGES
==============

GtkSheet has its own Home Page!
Take a look at http://magnet.fsu.edu/~feiguin/gtk

GtkSheet-9.0
============

- Fixes in row/column deletion and text editing.
  Thanks to Matias Mutchinick <mmb@quetzal.innsz.mx> for his patches and
  Kevin Handy for his examples <kth@srv.net>.

- Fixes in GtkItemEntry, GtkColorCombo and GtkBorderCombo.

- Fixes in gtk_sheet_map/realize/destroy/finalize/size_allocate

- Fixes in delete/insert rows/columns for the attached widgets
  (Thanks to Striker <striker@dread.net> for pointing me out the bug)

- Fixes in gtksheet.h
  Thanks to Aaron Lehman

- New feature: gtk_sheet_set_selection_mode
  Use GTK_SELECTION_SINGLE to select single rows/columns/cells


GtkSheet-8.0
============

- GtkSheetEntry changed by GtkItemEntry (cast using GTK_IENTRY now)
  GtkItemEntry is a completely independent widget and it's been used also
  in GtkIconList.

- Improvements in look and feel, mainly in GtkItemEntry

- "Unlimited" text size.

- Bugfixes.

  Many thanks to Brad Pepers <brad@linuxcanada.com> who read the code
  carefully and pointed me out lots of details.
  Thanks to Kevin Handy <kth.srv.net>, Ralf Forsberg <rfg@home.se>,
  Tom Sobota <tsobota@teleline.es>, and of course, Bob Lissner and the
  Quicklist team.


GtkSheet-7.10
=============

- New functions:

  * gtk_sheet_cell_delete
  * gtk_sheet_range_delete
   (They remove cell contents and links, while gtk_sheet_cell/range_clear
    remove only contents)

  * gtk_sheet_remove_link

  * gtk_sheet_row_button_justify
  * gtk_sheet_column_button_justify
    (justify row/column button label)

- Some small fixes.


GtkSheet-7.9
============

- Bugfix release.

  * gtk_sheet_get_link patched by Bob Lissner.
  
GtkSheet-7.8
============

- Bugfix release.

  * GtkSheetEntry was grabbing focus with button presses.
    Now it doesn't do that with right button to avoid problems with popups.
    (Thanks to Scott Dattalo <sdattalo@unix.sri.com> and
     Brad Pepers <brad@linuxcanada.com>) 

GtkSheet-7.7
============

- Bugfix release.

  * Key presses: events propagation, and patches by Kevin Handy <kth@srv.net>
  * Hiding rows/columns 
    Both patched by Sam Phillips from the quicklist team.
    <sam@usaworks.com>
  * gtk_sheet_link_cell,
    gtk_sheet_get_link, patched by Bob Lissner from the quicklist team.

  * sheet's entry creation warnings
    Patched by Heath Martin <martinh@pegasus.cc.ucf.edu>
  

GtkSheet-7.6
============

- This is mainly a bugfix release. Thanks again to the quicklist team.

  List of fixed bugs:
  * Ctrl+Key.
  * row/column deletion.
  * flashing range scrolling.
  * child widgets scrolling.
  * auto scrolling.
    (If you click on the last cell of a row/column, the sheet scrolls to show the 
     entire cell.)
  * selection DnD.
  * selection highlighting 
    (patched by Sam Phillips from the quicklist team <sam@usaworks.com>)
  * hiding titles when the widget is not realized. 
    (Thanks to Glenn Trigg <ggt@linuxfan.com> -- www.linuxfan.com/~gtk/privtool.html)

- Renamed libGtkSheet.a as libgtksheet.a

GtkSheet-7.5
============

- New field in the GtkSheetCell struct : 
  gpointer link;

- You can link a cell to an object using:
  gtk_sheet_link_cell(GtkSheet *sheet, gint row, gint col, gpointer link);
  gtk_sheet_get_link(GtkSheet *sheet, gint row, gint col);

  The only efect is making cell->link point to the given object.

- New signal "clear cell"

- Bug fix in column shifts when they are deleted
  Thanks to Nick Slobodsky <pentahd@pentahd.redline.ru> 

GtkSheet-7.4
============

* Rows/Columns insertion/deletion optimized.

* Improvements in scrollbars

* Improvements in dragging and resizing selections

* Features added:

- Multiline button labels. ("this is\na multiline\nlabel")

- Themeable button gadgets.

- gtk_sheet_attach (GtkSheet *sheet, GtkWidget *child,
		    gint row, gint column,
		    gfloat x_align, gfloat y_align); 

  Attaches a child widget to the given cell with the given alignments.
  The child is reallocated each time the column or row changes, keeping
  attached to the same cell.

- GTK_SHEET_ADJUST_TEXT flag renamed as GTK_SHEET_CLIP_TEXT

Thanks to Jan Fedak <J.Fedak@sh.cvut.cz> for his comments, and to the
quicklist team for their perseverance (www.quicklist.org).


GtkSheet-7.3
============

Silly but big bug fixed on previous version.


GtkSheet-7.2
============

More silly bugs fixed. Thanks again to Sam and Bob.
(gtk_sheet_set_column_width/row_height, gtksheet_row/column_set_sensitivity)

Thanks to Erwan Corvellec <eco@club-internet.fr> for his patches and bug reports.

Twitching scrollbars aren't anymore.

Makefile builds libGtkSheet.a


GtkSheet-7.1
============

Maily a bug fix release, and some new features:

* About a dozen of "invisible" bugs fixed thanks to Quicklist team 
(www.quicklist.org). Special thanks to Bob Lissner <lissnerr@ColdSprings.net>
and Sam Philips <sam@usaworks.com>. GtkSheet is being used by Quicklist,
and these guys made a lot of tests for it. 

* Features added:

 - gtk_sheet_set_column_titles_height(GtkSheet *sheet, gint height);

 - gtk_sheet_set_row_titles_width(GtkSheet *sheet, gint width);

 - gtk_sheet_column_set_justification(GtkSheet *sheet, gint column, 
                                      gint justification);

  If column->justification != GTK_JUSTIFY_FILL (default value) it 
  will always win over individual cells' justifications.

  - New flag: GTK_SHEET_AUTO_SCROLL. For default this flag is on. If
  you turn it off, gtksheet won't scroll automatically to keep the 
  active cell in the viewport. 


GtkSheet-7.0
============

GtkSheet has moved to gtk+-1.2 and new features have been added.
This version has been tested with gtk+-1.2.0

* GtkSheet is a self scrolling widget a la GtkClist and GtkLayout. 
You have to add it to a scrolled window to display it propertly.
Shadow borders will be fixed with the patch added to gtkscrolledwindow.

* Container features implemented. Adding widgets to the sheet is very easy
with:

gtk_sheet_put (GtkSheet *sheet, GtkWidget *child, gint x, gint y);

* Move it with

gtk_sheet_move_child (GtkSheet *sheet, GtkWidget *widget, gint x, gint y);

* Remove it with

gtk_container_remove(GTK_CONTAINER(sheet), GtkWidget *child);

* Some signals have been renamed:

  "activate_cell" -> "activate"
  "deactivate_cell" -> "deactivate"
 
* Rejection option for activation/deactivation of the active cell.

* New signals:

  "new_column_width"
  "new_row_height"

* new function 

gtk_sheet_set_cell_text(GtkSheet *sheet, gint row, gint col, gchar *text);
(you don't have to set the justification)

* Some minor bugs fixed.


** READ THE HEADERS FOR MORE INFORMATION **

GtkSheet Xtra Widgets Set
=========================

GtkComboBox: 
============
Derived from Paolo Molaro's GtkCombo, it consists of a button, an arrow button,
and a popup window with a frame, that can contain a widget which is displayed
with the arrow. You can pack any widget in the frame (e.g. GtkCalendar).
It has been thought to be a parent class for the following widgets: 

GtkColorCombo:
==============
It's a GtkComboBox subclass with a pallette of colors diplayed in a table.

GtkBorderCombo:
==============
It's a GtkComboBox subclass with a set of border patterns displayed in a table.