Commit Graph

66 Commits

Author SHA1 Message Date
eb5dc08dc9 Made this more reentrant.
2000-04-30  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-header-item.c: Made this more reentrant.

	* e-table-sorted-variable.c, e-table-sorted-variable.h: Does a
	proper resort when the sorting info changes.

	* e-table.c, e-table.h: Made it so that ETable doesn't destroy and
	recreate the entire table when sorting info changes.

svn path=/trunk/; revision=2704
2000-05-01 04:01:05 +00:00
3c1ddb743e Add argument handling here.
2000-04-24  Miguel de Icaza  <miguel@helixcode.com>

	* e-table.c (e_table_class_init): Add argument handling here.

	* e-table-group-leaf.c (e_table_group_apply_to_leafs): New method.
	Enables us to walk all the children of an ETableGroup.

	* e-table.c (et_get_arg, et_set_arg): Implement ::get and ::set
	methods.
	(e_table_construct_from_spec_file): Now we return the etable.
	(e_table_construct): ditto.
	(et_real_construct): Now we return the ETable.  Returns NULL on
	construct failure.
	(e_table_new): ditto.
	(e_table_new_from_spec_file): ditto.

	* (et_build_grouping_spec): Removed vestige code that still
	contained references to the etable->specification XML code.

	Dumped all the ifdefed out code.

	* e-table.h: Removed ETable->specification finally.

svn path=/trunk/; revision=2632
2000-04-26 14:47:10 +00:00
d870ec752c Switch the parent object to be a GtkTable. (et_real_construct): apply
2000-04-14  Miguel de Icaza  <miguel@gnu.org>

	* e-table.c, e-table.h: Switch the parent object to be a GtkTable.
	(et_real_construct): apply massaging and some loving action to
	make the thing behave as a GtkTable.
	(e_table_init): More love.

svn path=/trunk/; revision=2431
2000-04-14 19:46:55 +00:00
fe016cce58 Got rid of some warnings.
2000-04-06  Christopher James Lahey  <clahey@helixcode.com>

	* test-cols.c, test-table.c: Got rid of some warnings.

	* 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-sort-info.c, e-table-sort-info.h,
	e-table-sorted-variable.c, e-table-sorted-variable.h, e-table.c,
	e-table.h: Changed ETableSortInfo to not use xml internally.

svn path=/trunk/; revision=2305
2000-04-06 08:00:35 +00:00
8078ec7c1f Add so I can go to the chillout hack room
svn path=/trunk/; revision=2264
2000-03-30 22:50:40 +00:00
e3219d0bb2 Fix nasty rendering bugs,
Implement bbox calcs for e-tabel-item
Clean style lots

svn path=/trunk/; revision=2194
2000-03-27 21:28:57 +00:00
5fe5e0f743 i2000-03-20 Christopher James Lahey <clahey@helixcode.com>
* e-table-group-container.c, e-table-group-container.h,
        e-table-group-leaf.c: Updated these to use the new ECanvas reflow
        infrastructure.

        * e-table-item.c, e-table-item.h: Updated these to use the new
        ECanvas reflow infrastructure.  Fixed the bounding box.

        * e-table.c, e-table.h: Made the header have no extra space around it.

svn path=/trunk/; revision=2124
2000-03-21 02:50:04 +00:00
df08e926e4 Add a "row_selection" signal.
2000-03-06  Christopher James Lahey  <clahey@helixcode.com>

        * e-table.c, e-table.h: Add a "row_selection" signal.

        * test-table.c: Test the new "row_selection" signal.

        * e-table-group-container.c, e-table-group-leaf.c: Implement the
        "row_selection" property properly.

        * e-table-group.c, e-table-group.h: Add a "row_selection" signal.

svn path=/trunk/; revision=2069
2000-03-06 06:08:56 +00:00
3de981ec78 Added support for the sorting info. The Etable creates a sort_info object,
2000-03-05  Christopher James Lahey  <clahey@helixcode.com>

        * e-table.c, e-table.h: Added support for the sorting info.  The
        Etable creates a sort_info object, and then connects to the
        signals to rearrange the rows when the sort_info changes.  It also
        passes the info object to the ETableHeaderItem.

        * e-table-model.c: Fixed a typo where ETableModel was written as
        ETableModle.

        * e-table-header.c, e-table-header.h: Added some code for sorting
        here, but it's not used.  I don't think we want this code, but I
        wanted to check it in at least once so that it's not lost.

        * e-table-header-item.c, e-table-header-item.h: Added a
        "sort_info" argument to ETableHeaderItem.  Added display of
        current sort settings.  Added support for clicking to change the
        sort settings.

        * e-table-col.h: E_TABLE_COL_ARROW_NONE is marked as being = 0
        since this is required in other places.  (I think C defines this
        as being the case, but it's good to have the = 0 there so that
        it's obvious that it has to be first.)

        * TODO: Mark sorting as done.

        * e-table-sort-info.c, e-table-sort-info.h: New files for
        containing the xml grouping/sorting information and for sending
        signals on that information.

        * Makefile.am: Added e-table-sort-info.c and e-table-sort-info.h.

svn path=/trunk/; revision=2060
2000-03-05 23:15:14 +00:00
626f63df0b Added a bunch of stuff to the TODO list. Put +s before a few of the items
2000-03-04  Christopher James Lahey  <clahey@helixcode.com>

        * TODO: Added a bunch of stuff to the TODO list.  Put +s before a
        few of the items that are finished.

        * test-table.c: Add a button to save the spec file.

        * e-table.c, e-table.h: Add loading configurations from files as
        well as the ability to get the current configuration out of the
        widget.

svn path=/trunk/; revision=2025
2000-03-03 20:05:57 +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
f55c64565c Ok, the restructuring of ETableItem to compute its size without hacks is
Ok, the restructuring of ETableItem to compute its size without hacks is
in now.  I am feeling better now.

1999-12-30  Miguel de Icaza  <miguel@gnu.org>

	* e-table-item.c (eti_attach_cell_views): New routine, creates the
	cell views.
	(eti_detach_cell_views): Detaches the cell_views from the
	ETableItem.
	(eti_realize_cell_views, eti_unrealize_cell_views): Simplified to
	just do realize/unrealize notification.
	(eti_add_table_model): Only attach the cells when we have both the
	table model and the header model.

	* e-cell.h (ECellClass): Added two new methods: new_view and
	kill_view which drive the view process (instead of putting that on
	realize/unrealize).

	* e-cell.c: Adapt the code to use the new scheme for view
	instantiation.

	* e-cell-text.c, e-cell-toggle.c: Adapted to the new class
	changes.

svn path=/trunk/; revision=1523
1999-12-31 02:23:37 +00:00
f14fd12551 Sync, does not work, dont try it, just backing up -miguel
svn path=/trunk/; revision=1521
1999-12-28 06:09:02 +00:00
fa895ed8e1 More work. We now have the basics for nesting working, now we need all the
More work.  We now have the basics for nesting working, now we need all
the interactions done properly.

I want to use a new GnomeCanvasItem for the nesting parent as well.

DnD will have to be done with our own protocol to provide all the feedback
we want to provide.

Miguel

svn path=/trunk/; revision=1481
1999-12-12 09:20:46 +00:00
afbee2366a Stuff
svn path=/trunk/; revision=1378
1999-11-10 07:31:21 +00:00