Commit Graph

22 Commits

Author SHA1 Message Date
9b97a17eb7 GObjectify GObjectify GObjectify use GObject api for models use GObject
2002-11-05  Mike Kestner  <mkestner@ximian.com>

	* e-table-col.[ch] : GObjectify
	* e-table-column-specification.[ch] : GObjectify
	* e-table-config.[ch] : GObjectify
	* e-table-group-leaf.c : use GObject api for models
	* e-table-group.c : use GObject api for models
	* e-table-header-item.c : use GObject api for models
	* e-table-header.c : use GObject api for models
	* e-table-selection-model.c : use GObject api for models
	* e-table-sort-info.[ch] : GObjectify
	* e-table-sorted.[ch] : GObjectify
	* e-table-sorter.c : use GObject api for models
	* e-table-specification.c : use GObject api for models
	* e-table-state.[ch] : GObjectify
	* e-table-subset-variable.[ch] : GObjectify
	* e-table-subset.[ch] : GObjectify
	* e-table.c : use GObject api for models

svn path=/trunk/; revision=18571
2002-11-05 22:53:40 +00:00
613453b109 merging the gal-2 branch back to the trunk.
merging the gal-2 branch back to the trunk.

svn path=/trunk/; revision=18471
2002-10-31 21:30:57 +00:00
b036c8392d Ansification patch from danw.
2002-04-25  Christopher James Lahey  <clahey@ximian.com>

	* e-cell-checkbox.c, e-cell-combo.c, e-cell-date.c,
	e-cell-float.c, e-cell-number.c, e-cell-pixbuf.c, e-cell-popup.c,
	e-cell-size.c, e-cell-spin-button.c, e-cell-text.c,
	e-cell-toggle.c, e-cell-tree.c, e-cell.c, e-cell.h,
	e-table-click-to-add.c, e-table-col.c,
	e-table-column-specification.c, e-table-config-field.c,
	e-table-config.c, e-table-extras.c,
	e-table-field-chooser-dialog.c, e-table-field-chooser-item.c,
	e-table-field-chooser.c, e-table-group-container.c,
	e-table-group-leaf.c, e-table-group.c, e-table-header-item.c,
	e-table-header.c, e-table-item.c, e-table-memory-callbacks.c,
	e-table-model.c, e-table-scrolled.c, e-table-selection-model.c,
	e-table-sort-info.c, e-table-sorted-variable.c, e-table-sorted.c,
	e-table-sorter.c, e-table-specification.c, e-table-state.c,
	e-table-subset-variable.c, e-table-subset.c, e-table-without.c,
	e-table.c, e-table.h, e-tree-scrolled.c, e-tree-selection-model.c,
	e-tree-sorted-variable.c, e-tree-sorted.c, e-tree-table-adapter.c,
	e-tree.c: Ansification patch from danw.

svn path=/trunk/; revision=16586
2002-04-25 19:56:41 +00:00
4f122d673c Added e-table-memory-store.lo.
2002-02-21  Christopher James Lahey  <clahey@ximian.com>

	* gal/Makefile.am (libgal_la_LIBADD): Added
	e-table-memory-store.lo.

From gal/e-table/ChangeLog:

2002-02-21  Christopher James Lahey  <clahey@ximian.com>

	* Makefile.am (libetable_la_SOURCES): Added
	e-table-memory-store.c.
	(libetableinclude_HEADERS): Added e-table-memory-store.h.

	* e-table-config-no-group.glade, e-table-config.glade: Updated
	these.

	* e-table-config.c, e-table-config.h: Updated this to have a
	working field list editor.

	* e-table-memory-store.c, e-table-memory-store.h: New ETableModel
	that is a complete store of all the data in your table.  No
	callbacks at all.

	* e-table-subset-variable.c, e-table-subset-variable.h
	(e_table_subset_variable_clear): Added this simple function

	* e-table-subset.c (etss_get_save_id): Made this return the row
	number g_strdup_printfed if the source model doesn't support save
	ids.

2002-02-20  Christopher James Lahey  <clahey@ximian.com>

	* e-table-sorter.c, e-table-sorter.h: Connect to the
	model_rows_inserted, model_rows_deleted, and group_info_changed
	here.

svn path=/trunk/; revision=15783
2002-02-21 19:02:32 +00:00
c3e3a85f28 Changed the license announcement at the top of these files.
2001-10-26  Christopher James Lahey  <clahey@ximian.com>

	* e-cell-checkbox.c, e-cell-checkbox.h, e-cell-combo.c,
	e-cell-combo.h, e-cell-date.c, e-cell-date.h, e-cell-number.c,
	e-cell-number.h, e-cell-pixbuf.c, e-cell-pixbuf.h, e-cell-popup.c,
	e-cell-popup.h, e-cell-size.c, e-cell-size.h,
	e-cell-spin-button.c, e-cell-spin-button.h, e-cell-string.c,
	e-cell-text.c, e-cell-text.h, e-cell-toggle.c, e-cell-toggle.h,
	e-cell-tree.c, e-cell-tree.h, e-cell.c, e-cell.h,
	e-table-click-to-add.c, e-table-click-to-add.h, e-table-col-dnd.h,
	e-table-col.c, e-table-col.h, e-table-column-specification.c,
	e-table-column-specification.h, e-table-column.c,
	e-table-config-field.c, e-table-config-field.h, e-table-config.c,
	e-table-config.h, e-table-defines.h, e-table-example-1.c,
	e-table-example-2.c, e-table-extras.c, e-table-extras.h,
	e-table-field-chooser-dialog.c, e-table-field-chooser-dialog.h,
	e-table-field-chooser-item.c, e-table-field-chooser-item.h,
	e-table-field-chooser.c, e-table-field-chooser.h,
	e-table-group-container.c, e-table-group-container.h,
	e-table-group-leaf.c, e-table-group-leaf.h, e-table-group.c,
	e-table-group.h, e-table-header-item.c, e-table-header-item.h,
	e-table-header-utils.c, e-table-header-utils.h, e-table-header.c,
	e-table-header.h, e-table-item.c, e-table-item.h,
	e-table-memory-callbacks.c, e-table-memory-callbacks.h,
	e-table-memory.c, e-table-memory.h, e-table-model.c,
	e-table-model.h, e-table-one.c, e-table-one.h, e-table-scrolled.c,
	e-table-scrolled.h, e-table-selection-model.c,
	e-table-selection-model.h, e-table-simple.c, e-table-simple.h,
	e-table-size-test.c, e-table-sort-info.c, e-table-sort-info.h,
	e-table-sorted-variable.c, e-table-sorted-variable.h,
	e-table-sorted.c, e-table-sorted.h, e-table-sorter.c,
	e-table-sorter.h, e-table-sorting-utils.c,
	e-table-sorting-utils.h, e-table-specification.c,
	e-table-specification.h, e-table-state.c, e-table-state.h,
	e-table-subset-variable.c, e-table-subset-variable.h,
	e-table-subset.c, e-table-subset.h, e-table-tooltip.h,
	e-table-tree.h, e-table-utils.c, e-table-utils.h,
	e-table-without.c, e-table-without.h, e-table.c, e-table.h,
	e-tree-memory-callbacks.c, e-tree-memory-callbacks.h,
	e-tree-memory.c, e-tree-memory.h, e-tree-model.c, e-tree-model.h,
	e-tree-scrolled.c, e-tree-scrolled.h, e-tree-selection-model.c,
	e-tree-selection-model.h, e-tree-simple.c, e-tree-simple.h,
	e-tree-sorted-variable.c, e-tree-sorted-variable.h,
	e-tree-sorted.c, e-tree-sorted.h, e-tree-table-adapter.c,
	e-tree-table-adapter.h, e-tree.c, e-tree.h, table-test.c,
	table-test.h, test-check.c, test-cols.c, test-table.c: Changed the
	license announcement at the top of these files.

	* e-cell-string.c: Removed unused file.

svn path=/trunk/; revision=14154
2001-10-26 18:25:47 +00:00
08940ce6f6 Fix headers. Ditto. Ditto. Ditto. Ditto. Ditto. Ditto. Ditto. Ditto.
2001-04-04  Kjartan Maraas  <kmaraas@gnome.org>

	* e-cell-date.c: Fix headers.
	* e-cell-number.c: Ditto.
	* e-cell-pixbuf.[ch]: Ditto.
	* e-cell-size.c: Ditto.
	* e-cell-text.c: Ditto.
	* e-cell-tree.c: Ditto.
	* e-table-click-to-add.[ch]: Ditto.
	* e-table-column-specification.h: Ditto.
	* e-table-config-field.c: Ditto.
	* e-table-config.[ch]: Ditto.
	* e-table-example-2.c: Ditto.
	* e-table-field-chooser-dialog.[ch]: Ditto.
	* e-table-field-chooser-item.c: Ditto.
	* e-table-field-chooser.h: Ditto.
	* e-table-group-container.c: Ditto.
	* e-table-item.c: Ditto
	* e-table-memory.c: Ditto.
	* e-table-selection-model.c: Ditto.
	* e-table-sorter.c: Ditto.
	* e-table-subset-variable.c: Ditto.
	* e-table.c: Ditto.
	* e-tree-memory.c: Ditto.
	* e-tree-model.c: Ditto.
	* e-tree-selection-model.[ch]: Ditto.
	* e-tree-sorted-variable.c: Ditto.
	* e-tree-sorted.c: Ditto.
	* e-tree-table-adapter.c: Ditto.
	* e-tree.[ch]: Same here.

svn path=/trunk/; revision=9164
2001-04-04 05:24:34 +00:00
89ec4e5af6 Fixed some warnings.
2001-03-01  Christopher James Lahey  <clahey@ximian.com>

	* e-cell-pixbuf.c: Fixed some warnings.

	* e-table-subset.c, e-table-subset.h: Added
	e_table_subset_print_debugging.

2001-02-27  Christopher James Lahey  <clahey@ximian.com>

	* e-table-sorted-variable.c: Moved etsv_compare to etsu_compare in
	e-table-sorting-utils.c.  Moved most of the contents of etsv_add
	to e_table_sorting_utils_insert in e-table-sorting-utils.c and
	call the function.

	* e-table-sorted.c: Rewrote ets_proxy_row_changed,
	ets_proxy_row_inserted, and ets_proxy_row_deleted.

	* e-table-sorting-utils.c, e-table-sorting-utils.h (etsu_compare,
	e_table_sorting_utils_insert): Added e_table_sorting_utils_insert.

	* e-table-subset-variable.c: Changed this implementation to be
	slightly more consistent with other code.

svn path=/trunk/; revision=8453
2001-03-01 17:52:12 +00:00
40d58afa7c Added e-table/e-table-sorting-utils.lo.
2001-02-23  Christopher James Lahey  <clahey@ximian.com>

	* gal/Makefile.am (libgal_la_LIBADD): Added
	e-table/e-table-sorting-utils.lo.

From gal/e-table/ChangeLog:

2001-02-23  Christopher James Lahey  <clahey@ximian.com>

	* Makefile.am (libetable_la_SOURCES): Added
	e-table-sorting-utils.c.
	(libetableinclude_HEADERS): Added e-table-sorting-utils.h.

	* e-table-group-container.c: Implemented add_array method.  Use
	add_array to implement add_all instead of using add.  Did some
	general clean up.

	* e-table-group-leaf.c, e-table-group-leaf.h: Implemented
	add_array method.  Changed everything to use an ETableSubset
	variable instead of an ETableSortedVariable.  Implemented it as
	ETableSortedVariable if there's grouping involved and ETableSorted
	if there isn't.

	* e-table-group.c, e-table-group.h: Added add_array method.  Added
	unused get_position code.

	* e-table-sorted-variable.c, e-table-sorted-variable.h: Moved a
	lot of the actual implementation of sorting to
	e-table-sorting-utils.c.  Got rid of the signal handlers here
	since we weren't using them and ETableSubset has the proxy virtual
	methods.

	* e-table-sorted.c, e-table-sorted.h: Completely replaced these
	files with a variation on ETableSortedVariable that doesn't have
	the add methods and such but instead just mimics the source
	model's set of rows completely.

	* e-table-sorter.c, e-table-sorter.h: Added functions to get at
	the arrays here.

	* e-table-sorting-utils.c, e-table-sorting-utils.h: Utility
	functions for doing sorting.

	* e-table-subset-variable.c, e-table-subset-variable.h: Added
	add_array method.

	* e-table-subset.c, e-table-subset.h: Made it so that the signal
	hookups to the source model's signals are virtual methods.

	* e-table.c, e-table.h: Don't call add_all and add and remove type
	functions if not grouped.  Don't rebuild for sort changes unless
	it was either grouped before or will be grouped now.

svn path=/trunk/; revision=8374
2001-02-23 23:00:09 +00:00
ac063e3d36 Rename from Helix Code -> Ximian
svn path=/trunk/; revision=7520
2001-01-15 23:32:09 +00:00
9cf73d61eb Unref the object instead of destroying it.
2000-12-09  Federico Mena Quintero  <federico@helixcode.com>

	* e-table-sorted.c (e_table_sorted_new): Unref the object instead
	of destroying it.

	* e-table-sorted-variable.c (e_table_sorted_variable_new): Likewise.

	* e-table-subset.c (e_table_subset_new): Likewise.

	* e-table-subset-variable.c (e_table_subset_variable_new): Likewise.

svn path=/trunk/; revision=6888
2000-12-09 20:04:18 +00:00
a3de274f7c Moved files, fixed header files and paths - Federico
svn path=/trunk/; revision=5513
2000-09-19 22:57:58 +00:00
8c99725b91 Fixed e-table #includes so that it would compile.
svn path=/trunk/; revision=5482
2000-09-17 20:29:14 +00:00
c512a22478 Fixed a bug in e_table_subset_variable_increment that causes problems with
2000-08-23  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-subset-variable.c: Fixed a bug in
	e_table_subset_variable_increment that causes problems with
	ETree's.  Specifically, when you incremented at position x, the
	row x didn't get incremented as it should (s/>/>=/.)

svn path=/trunk/; revision=4994
2000-08-23 22:59:09 +00:00
862d1f25de Made background colors alternate.
2000-08-19  Christopher James Lahey  <clahey@helixcode.com>

	* e-cell-text.c: Made background colors alternate.

	* e-table-click-to-add.c: Made tabbing off the right edge of the
	click to add commit the new values.

	* e-table-group-container.c, e-table-group-leaf.c,
	e-table-group.c, e-table-group.h, e-table-sorted-variable.c,
	e-table-subset-variable.c, e-table-subset-variable.h: Added a
	decrement method.  Made the add and remove methods not
	automatically increment and decrement.

	* e-table-item.c: Fixed some view vs model issues for both rows
	and columns.

	* e-table-model.c: Added debugging code.  Removed automatic
	signalling of changes by the ETableModel set_value_at function
	(the model should send these signals itself.)

	* e-table.c: Added increment and decrement calls when a row is
	removed or added from the source model.

svn path=/trunk/; revision=4881
2000-08-19 23:32:50 +00:00
5fbcc4828e Add a handler for "model_pre_change" and properly stop editing.
2000-08-02  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-item.c, e-table-item.h: Add a handler for
	"model_pre_change" and properly stop editing.

	* e-table-model.c, e-table-model.h: Added a "model_pre_change"
	signal that gets sent before any row numbers are changed.

	* e-table-sorted-variable.c, e-table-subset-variable.c: Emit
	"model_pre_change" signals as appropriate.

	* e-table-subset.c, e-table-subset.h: Proxy "model_pre_changed"
	signals.

svn path=/trunk/; revision=4472
2000-08-02 16:56:26 +00:00
9de25e88aa Removed the freeze/thaw stuff for the model. As Chris wisely pointed out,
2000-06-12  Federico Mena Quintero  <federico@helixcode.com>

	* e-table-model.[ch]: Removed the freeze/thaw stuff for the model.
	As Chris wisely pointed out, having freeze/thaw on the model makes
	its state inconsistent from the perspective of the views.

	* e-table-sorted-variable.c: Do not check for a frozen model.
	* e-table-subset.c: Likewise.
	* e-table-subset-variable.c: Likewise.

	* e-table-example-1.c: Removed the ETableModel thaw handler.
	* e-table-example-2.c: Likewise.
	* e-table-simple.c: Likewise.
	* e-table-size-test.c: Likewise.
	* test-check.c: Likewise.
	* test-cols.c: Likewise.
	* test-table.c: Likewise.

svn path=/trunk/; revision=3543
2000-06-13 00:41:47 +00:00
ac7def3e9d Fixed etssv_remove.
2000-05-09  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-subset-variable.c: Fixed etssv_remove.

svn path=/trunk/; revision=2951
2000-05-09 17:17:34 +00:00
56f9196ac4 Handle row_inserted and row_deleted signals properly.
2000-05-07  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-item.c, e-table-item.h, e-table.c, e-table.h: Handle
	row_inserted and row_deleted signals properly.

	* e-table-model.c, e-table-model.h: Created the row_inserted and
	row_deleted signals.

	* e-table-sorted-variable.c, e-table-subset-variable.c: Emit the
	row_inserted and row_deleted signals as appropriate.

svn path=/trunk/; revision=2879
2000-05-07 20:49:02 +00:00
ccd8e1fedd Add an e_table_group_add_all function and implement it in the different
2000-05-04  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-group-container.c, e-table-group-leaf.c,
	e-table-group.c, e-table-group.h: Add an e_table_group_add_all
	function and implement it in the different ETableGroup classes.

	* e-table-sort-info.c: Make set_nth not call changed twice if it
	needs to allocate more space.

	* e-table-sorted-variable.c, e-table-subset-variable.c,
	e-table-subset-variable.h: Add and implement an
	e_table_subset_variable_add_all command.

	* e-table.c: Use e_table_group_add_all as appropriate.  Fix ETable
	grouping xml to work if there is a text element at the bottom of
	the grouping tree.

svn path=/trunk/; revision=2806
2000-05-05 00:10:32 +00:00
a02608b078 Fix indentation
svn path=/trunk/; revision=2252
2000-03-30 01:35:18 +00:00
14bfde56c8 Added duplicate_value and add_value. Use the new compare functions. Made
2000-02-24  Christopher James Lahey  <clahey@helixcode.com>

        * test-table.c: Added duplicate_value and add_value.  Use the new
        compare functions.  Made it so we only create one model to better
        test model view stuff.  Changed the test to not have as many
        extra, useless, columns.

        * test-cols.c, test-check.c: Added duplicate_value and add_value.  Use the new
        compare functions.

        * e-table.c, e-table.h: Use all the new features of e-table-groups
        (sorting and grouping).  Handle on the fly reorganization of
        groups in an idle loop.  Compare functions now are to return -1 if
        the first item is greater, 0 if they are equal, or 1 if the second
        item is greater.

        * e-table-subset.c, e-table-subset.h: Made e-table-subset
        disconnect properly from its signals when it dies.

        * e-table-subset-variable.c, e-table-subset-variable.h:
        Virtualized the add and remove commands so that
        e_table_sorted_variable could override the add command to do sorting.

        * e-table-sorted.c: Fixed this to inherit properly from
        ETableSubset.

        * e-table-simple.h, e-table-simple.c: Added handling of
        duplicate_value and free_value;

        * e-table-model.c, e-table-model.h: Added duplicate_value and
        free_value for memory allocation of table elements outside the
        table.

        * e-table-item.c: Fixed a crashing bug.

        * e-table-group.c: Added sorting.  Fixed destruction to delete the
        right things.

        * e-table-group-leaf.c, e-table-group-leaf.h: Pass column and sort
        order information into the e_table_sorted_variable.  Properly
        destroy things when deleted.

        * e-table-group-container.c, e-table-group-container.h: Properly
        handle the list of subgroups.  Handle proper sorting and grouping
        of subgroups.

        * e-table-sorted-variable.c, e-table-sorted-variable.h: Files to
        do a sorted model that stays sorted as you add and remove rows.

        * Makefile.am: Added e-table-sorted-variable.c and
        e-table-sorted-variable.h.

svn path=/trunk/; revision=1930
2000-02-25 04:08:59 +00:00
7699b8996a This were moved to widgets/e-text/ a while ago but never removed. They
2000-02-24  Christopher James Lahey  <clahey@helixcode.com>

        * widgets/e-text.c, widgets/e-text.h, e-text-event-processor.c,
        e-text-event-processor.h, e-text-event-processor-emacs-like.c,
        e-text-event-processor-emacs-like.h,
        e-text-event-processor-types.h: This were moved to widgets/e-text/
        a while ago but never removed.  They have now been removed.

        * widgets/e-text/e-text.c, widgets/e-text/e-text.h: Removed some
        warnings from this file.  Made tooltips disappear when you're
        finished with them.

        * widgets/e-minicard/test-reflow.c,
        widgets/e-minicard/test-minicard.c,
        widgets/e-minicard/test-minicard-label.c: Commented out unused
        about_callback functions.

        * widgets/e-minicard/e-reflow.c: Made e-reflow pass an EFocus to
        its e-minicard children.

        * widgets/e-minicard/e-minicard.c: Made e-minicard take and return
        an EFocus for its "has_focus" argument.  This makes shift-tab work properly.

        * widgets/e-minicard/e-minicard-label.c: Made e-minicard-label take and return
        an EFocus for its "has_focus" argument.  Made the font that
        e-minicard-label uses only be allocated once.

        * e-util/e-canvas-utils.h: Fixed the comment at the top and added
        #ifndef __E_CANVAS_UTILS__.

        * e-util/Makefile.am: Added e-xml-utils.c and
        e-xml-utils.h.

        * e-util/e-xml-utils.h, e-util/e-xml-utils.c: Added files for some
        xml utilities.

        * e-util/e-util.h: Added type EFocus which describes which
        direction the focus will be coming from.


in mail:

2000-02-24  Christopher James Lahey  <clahey@helixcode.com>

        * message-list.c: Changed this to not use the "x" and "y"
        arguments to e-table-item.


in widgets/e-table:

2000-02-24  Christopher James Lahey  <clahey@helixcode.com>

        * e-table-subset-variable.c, e-table-subset-variable.h: A new
        model which is a subset, but you can add and remove rows.

        * test-table.c: Added a thaw method for use with the
        e-table-subset (emits model_changed.)  Adapted to the changes to
        e_table_item.  Properly parse headers.  Adapted to the changes to
        e_table, including creating example xml spec data.

        * test-cols.c, test-check.c: Added a thaw method for use with the
        e-table-subset (emits model_changed.)  Adapted to the changes to
        e_table_item.

        * e-table.c, e-table.h: Reworked e-table to use the ETable
        grouping system.  The only difference for the interface is that
        instead of passing in a column_spec and a grouping_spec, you pass
        in a single string that is an xml format that includes both pieces
        of information.

        * e-table-subset.h: Added rules for emacs to do correct
        indentation.

        * e-table-subset.c: Implemented freezing.  No signals are emitted
        while frozen and "model_changed" is emitted when thawed.

        * e-table-sorted.h: ETableSortedClass has ETableSubset as its
        parent object instead of ETableSubsetClass.  Fixed this.

        * e-table-simple.c, e-table-simple.h: Implemented the thaw method.
        Use of simple now requires an extra argument (the thaw method.)

        * e-table-model.h, e-table-model.c: Added e_table_model_freeze and
        e_table_model_thaw.

        * e-table-item.h, e-table-item.c: Reworked this a bit to make it
        provide some things the new group system needed and to make
        inter-item keyboard focus work.  Changed the external interface
        only in the list of arguments it recognizes and signals it emits.
        Instead of "x" and "y", you have to use
        e_canvas_item_move_absolute and instead of emitting a
        "height_changed" signal, it emits a "resize" signal.  There's new
        "has_focus", "width", and "height" arguments and a function to get
        the currently focused column.

        * e-table-header-item.c: Got rid of some warnings here.  Changed
        the

        * e-table-group-leaf.h, e-table-group-leaf.c,
        e-table-group-container.h, e-table-group-container.c: New types to
        make e_table_group work properly.

        * e-table-group.h, e-table-group.c: Completely reworked e-table
        grouping.  e-table-group now uses a hierarchical structure.

        * e-cell.h: Added e_cell_print.  This doesn't work yet.

        * e-cell.c: Made e_cell_realize exist.  (It was improperly named
        e_cell_view_realize in the .c.)

        * e-cell-text.c: Made the blinking cursor disappear properly.

        * check-filled.xpm, check-empty.xpm: Made these const char *[]
        instead of char *[] to avoid compiler warnings.

        * Makefile.am: Added e-table-group-container.c,
        e-table-group-container.h, e-table-group-leaf.c,
        e-table-group-leaf.h, e-table-subset-variable.c,
        e-table-subset-variable.h.

svn path=/trunk/; revision=1915
2000-02-24 06:51:23 +00:00