Commit Graph

84 Commits

Author SHA1 Message Date
901f107f26 Drop frozen count support from here. (ethi_start_drag): ditto.
2000-04-10  Miguel de Icaza  <miguel@gnu.org>

	* e-table-header-item.c (ethi_drag_motion): Drop frozen count
	support from here.
	(ethi_start_drag): ditto.

	* e-table-header.h: Kill frozen_count.

svn path=/trunk/; revision=2385
2000-04-11 00:07:41 +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
bd040ea142 One liner
svn path=/trunk/; revision=2253
2000-03-30 01:42:04 +00:00
a02608b078 Fix indentation
svn path=/trunk/; revision=2252
2000-03-30 01:35:18 +00:00
09c05cbc76 Remove warning from here.
2000-03-26  Miguel de Icaza  <miguel@gnu.org>

	* e-table-header-item.c (ethi_realize): Remove warning from here.

	* test-table.c (table_browser_test): Use ECanvas, not GnomeCanvas,
	to support reflow.
	* test-cols.c (multi_cols_test): ditto
	* e-table.c (e_table_setup_header): ditto

	* e-table-header-item.c (ethi_font_load): Replace font.
	(ethi_realize): ditto.

svn path=/trunk/; revision=2172
2000-03-27 02:45:04 +00:00
1f7ba945b1 Rearranged SUBDIRS for dependencies.
2000-03-12  Christopher James Lahey  <clahey@helixcode.com>

        * widgets/Makefile.am: Rearranged SUBDIRS for dependencies.

        * widgets/e-text/e-text-model.c, widgets/e-text-model.h: New
        object which stores a piece of text data.  All methods are
        virtual.

        * widgets/e-text/e-text.c, widgets/e-text/e-text.h: Modified this
        to use an ETextModel for its data.

        * widgets/e-text/Makefile.am: Added e-text-model.c and e-text-model.h.

        * widgets/e-minicard/test-minicard-label.c: Made this work again.

        * widgets/e-minicard/e-minicard.c,
        widgets/e-minicard/e-minicard.h: Made this use an ETableModel to
        get its data.

        * widgets/e-minicard/e-minicard-label.c,
        widgets/e-minicard/e-minicard-label.h: Added the ability to set
        the text model used for the contained text widget.

        * widgets/e-minicard/Makefile.am: Added e-table since e-minicard
        is now dependent on an e-table-model for its data.

        * e-util/e-canvas.c, e-util/e-canvas.h: Fixed some bugs here to
        speed up reflow and to make it fail less often.

        * addressbook/demo, addressbook/demo/.cvsignore,
        addressbook/demo/Makefile.am, addressbook/demo/demo.c,
        addressbook/demo/spec: A new program to test ETable and EMinicard
        integration.

        * configure.in: Added addressbook/demo/Makefile.

        * addressbook/Makefile.am: Added the demo/ subdirectory.

in widgets/e-table/:

2000-03-12  Christopher James Lahey  <clahey@helixcode.com>

        * e-table.c: Made this use an ECanvas.  Fixed a bug where
        e_table_new_from_spec_file was calling e_table_construct instead
        of e_table_construct_from_spec_file.

        * e-table-item.c, e-table-header-item.c, e-table-column-item.c:
        Switched these to use GTK_TYPE_OBJECT and GTK_VALUE_OBJECT instead
        of GTK_TYPE_POINTER and GTK_TYPE_OBJECT.

        * e-cell-text.c: Got rid of a crashing bug.

        * e-table-text-model.c, e-table-text-model.h: A new object which
        is an e-text-model which uses an e-table-model for its data.

        * Makefile.am: Added e-table-text-model.c and
        e-table-text-model.h.

        * .cvsignore: Added table-example-1 and table-example-2.

svn path=/trunk/; revision=2101
2000-03-12 07:59:42 +00:00
c11cf5e774 Changed the destroy function to disconnect from signals before unrefing
2000-03-08  Christopher James Lahey  <clahey@helixcode.com>

        * e-table.c: Changed the destroy function to disconnect from
        signals before unrefing the objects the sinnals are on.  Changed
        the destroy function to match the objects and signal ids properly
        in its disconnect section.

        * e-table-item.c, e-table-item.h: Changed this to do follow the
        canvas rules better.

        * e-table-header-item.c, e-table-header-item.h: Made
        ETableHeaderItem connect to the "sort_info_changed" on its
        ETableSortInfo instead of just manually redrawing itself.  Fixed
        the update function a bit to follow the canvas rules a bit better.

svn path=/trunk/; revision=2087
2000-03-08 08:31:12 +00:00
d08ab36bfb Made it so that columns would be properly indented.
2000-03-06  Christopher James Lahey  <clahey@helixcode.com>

        * e-table-header-item.c, e-table-header-item.h: Made it so that
        columns would be properly indented.

svn path=/trunk/; revision=2072
2000-03-06 08:13:30 +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
bc0d854e93 Removed some unused code.
2000-03-03  Christopher James Lahey  <clahey@helixcode.com>

        * e-table.c: Removed some unused code.

        * e-table-header-item.c, e-table-header-item.h: Removed the unused
        normal_cursor variable and object.

        * e-table-col.c: Maintain a reference count in the contained ECell.

svn path=/trunk/; revision=2024
2000-03-03 20:05:56 +00:00
832150b0dd Test frozen columns
2000-02-29  Christopher James Lahey  <clahey@helixcode.com>

	* test-table.c: Test frozen columns

	* e-table.c: Make frozen columns available through the xml file.

	* e-table-header.c, e-table-header.h, e-table-header-item.c: Added
	frozen columns API to let you specify some number of leading
	columns as undraggable.

	* Makefile.am: Add e-table-example-1.c and e-table-example-2.c.

	* e-table-example-1.c, e-table-example-2.c: New files.  A couple
	of examples of ETable use.

svn path=/trunk/; revision=1993
2000-02-29 21:07:06 +00:00
e047685e4a Fixed a couple of crash bugs.
2000-02-28  Christopher James Lahey  <clahey@helixcode.com>

        * e-table-header-item.c, e-table-header.c: Fixed a couple of crash
        bugs.

svn path=/trunk/; revision=1975
2000-02-28 14:33:11 +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
e07a05c550 Check the ethi is actually the one being dragged. Prevents crashes when
2000-02-12  Iain Holmes  <ih@csd.abdn.ac.uk>

	* e-table-header-item.c (ethi_drag_motion): Check the ethi is actually
	the one being dragged. Prevents crashes when trying to drag headeritems
	and there are multiple headeritems on the same canvas.
	(ethi_drag_end): Same.
	(ethi_drag_drop): Same.
	(ethi_drag_leave): Same.

svn path=/trunk/; revision=1745
2000-02-12 20:36:48 +00:00
4ddf8af33a Added test of sort arrows.
2000-02-11  Christopher James Lahey  <clahey@helixcode.com>

        * test-check.c: Added test of sort arrows.

        * e-table-col.h, e-table-col.c: Added sort arrows for column
        headers (It doesn't actually sort.  It just displays the arrows.)

        * e-table-header-item.c: Added display of arrows.

svn path=/trunk/; revision=1743
2000-02-12 04:13:14 +00:00
04bb0a4fb0 Test column header image.
2000-02-11  Christopher James Lahey  <clahey@helixcode.com>

        * clip.png: Test column header image.

        * test-check.c: Test pixbuf column headers.

        * e-table-col.h, e-table-col.c: Added pixbufs for column headers.

        * e-table-header-item.c (draw_button): Draw pixbuf column headers properly.

svn path=/trunk/; revision=1739
2000-02-12 00:27:22 +00:00
4a25f612c0 Added reordering of columns.
2000-02-11  Christopher James Lahey  <clahey@helixcode.com>

        * e-table-header-item.h, e-table-header-item.c: Added reordering
        of columns.

        * e-table-header.c: Fixed a couple of bugs in the move column and
        remove column functions.

svn path=/trunk/; revision=1736
2000-02-11 22:08:09 +00:00
11a8bba27e Handle button releases properly.
2000-02-10  Christopher James Lahey  <clahey@helixcode.com>

        * e-cell-text.c: Handle button releases properly.

        * e-table-header-item.c (ethi_start_drag): Added a drag icon.

svn path=/trunk/; revision=1724
2000-02-10 12:05:01 +00:00
99d71d1132 Setup the scroll region of the table canvas on size allocation.
2000-02-07  Miguel de Icaza  <miguel@gnu.org>

	* e-table.c (e_table_setup_table): Setup the scroll region of the
	table canvas on size allocation.
	(e_table_canvas_realize): Do not set the scrollregion here.
	(e_table_canvas_init): Move root initialization here.

svn path=/trunk/; revision=1683
2000-02-07 13:08:33 +00:00
94a9228109 Compilation touchups -miguel
svn path=/trunk/; revision=1537
2000-01-06 05:59:35 +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
48618eb6eb fix this routine.
1999-12-09  Miguel de Icaza  <miguel@gnu.org>

	* e-table-header.c (e_table_header_col_diff): fix this routine.

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

	* e-table-header-item.c (ethi_event): Started drag and drop
	support.

	* e-table-item.c (eti_table_model_changed): The columns are
	controled by the Header, not by the TableModel.

	* e-table-header-item.c (ethi_draw): Fixed redraw logic to support
	arbitrary header positioning.

	* e-cell.h: Revamped e-cell interface.  We now provide the model
	column and the view column to all methods (so that the methods can
	talk to the view and to the model at the same time).

	* e-table-item.c: Update to new API
	* e-cell-test.c: Update to new API

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

	* e-cell.c (e_cell_class_init): Provide emtpy methods for
	enter_edit, and leave_edit.

	* e-table-item.c: Killed draw cell.
	(eti_draw): Perform column mapping here.
	(e_table_item_leave_edit): ditto.
	(e_table_item_enter_edit): ditto.
	(eti_event): ditto.

svn path=/trunk/; revision=1478
1999-12-10 07:36:51 +00:00
50006218b6 fixed api.
1999-12-02  Miguel de Icaza  <miguel@gnu.org>

	* e-table-header.c (e_table_header_index): fixed api.

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

	* test-cols.c (multi_cols_test): Update to simplified API.
	* test-check.c (check_test): ditto
	* test-table.c (table_browser_test): ditto

	* e-table-simple.c (e_table_simple_class_init): Kill column_name method.

	* e-table-model.h: Kill column_name method.

	* e-table-col.c (e_table_col_new): Instead of using a column name,
	use a column index.

svn path=/trunk/; revision=1459
1999-12-03 08:02:36 +00:00
9c0f9f1264 Removed change cursor from here.
1999-12-01  Miguel de Icaza  <miguel@gnu.org>

	* e-table-header-item.c (ethi_unrealize): Removed change cursor
	from here.

	* e-cell-text.c (ect_draw): Memory leak fix.

	* table-test.c (main): Enhance the demo to load sample.table
	automatically, to get memprof working.

	* e-table-header.c (eth_do_remove): Take an argument: do -remove.

	* e-table-header.c (e_table_header_add_column): Sink ETableCol to
	own the object.

	* e-table-col.h: Made ETableCol a GtkObject to make reference
	counting the lifecycle method for these objects.

	* e-table-col.c (e_table_col_destroy): New API call.

	* e-table-subset.c (e_table_subset_get_toplevel): New API call.

svn path=/trunk/; revision=1450
1999-12-01 18:18:35 +00:00
0177093e77 New cell-toggle stuff compiles -miguel
svn path=/trunk/; revision=1446
1999-11-30 09:34:50 +00:00
8d75b6689b beginning of the keyboard navigation.
1999-11-27  Miguel de Icaza  <miguel@gnu.org>

	* e-table-item.c (eti_event): beginning of the keyboard navigation.

	* e-table-model.c (e_table_model_row_changed): new function.
	(e_table_model_cell_changed): new function.
	(e_table_model_class_init): New signals.

	* e-table-item.c (eti_request_region_redraw): x2, y2 offsets were
	wrong.
	(eti_select): Repaint selected region.
	(eti_request_region_redraw): Fix range.
	(eti_draw): Correct offset computation here.
	(e_table_item_class_init): New method: row_selection, handles the
	selection.

	Now it implement GTK_SELECTION_SINGLE and GTK_SELECTION_MULTIPLE.

	Focusing and selection should be correct now.

svn path=/trunk/; revision=1441
1999-11-28 03:12:22 +00:00
465c8ae9a0 Compute height using the ecell methods here. (eti_get_height): new method
1999-11-26  Miguel de Icaza  <miguel@gnu.org>

	* e-table-item.c (eti_realize): Compute height using the ecell
	methods here.
	(eti_get_height): new method to compute dimensions.

	* e-cursors.c: use a different cursor.

	* e-table-model.h: kill height and row_height methods.

	* e-cell.c (ec_height): New method.

	* e-cell-text.c (ect_realize): Load the font from the canvas.
	(ect_draw): New color setup.
	Center in the row.
	(ect_height): Implement new method.

1999-11-26  Michael Meeks  <mmeeks@gnu.org>

	* ROADMAP.e-table: small spelling/typo fixes.

1999-11-25  Miguel de Icaza  <miguel@gnu.org>

	* e-table-item.c (eti_event): Work on mouse-button event

svn path=/trunk/; revision=1439
1999-11-26 19:25:02 +00:00
a04a846f41 It draws the data. WEEEEEEEEE! Miguel
svn path=/trunk/; revision=1435
1999-11-25 09:01:59 +00:00
385ccbd512 Realize cells.
1999-11-25  Miguel de Icaza  <miguel@gnu.org>

	* e-table-header-item.c (ethi_realize): Realize cells.

	* e-table-item.c (eti_header_dim_changed): redraw before and after.

	* e-table-header-item.c (ethi_event): Add continuous resizing.

1999-11-24  Miguel de Icaza  <miguel@gnu.org>

	* e-table-subset.h, e-table-subset.c: New files, used to implement
	subset tables.

	* e-table-sorted.h, e-table-sorted.c: Now they derive from
	e-table-subset.

	* e-cell.c, e-cell.h: realize method now return per view instance
	data.

svn path=/trunk/; revision=1434
1999-11-25 08:02:13 +00:00
77df46c366 Compute width, keep track of it. (ethi_add_table_header): Monitor changes
1999-11-20  Miguel de Icaza  <miguel@gnu.org>

	* e-table-header-item.c (ethi_set_arg): Compute width, keep track
	of it.
	(ethi_add_table_header): Monitor changes to the Header model;
	Queue updates.
	(ethi_draw): Fix the redraw logic here.

	* table-test.c (main): Change the sample code, so we can better
	debug this.

	* e-table-item.c (eti_header_structure_changed): Keep track of
	width;
	(eti_header_dim_changed): ditto.
	(eti_draw): Many redraw fixes.

svn path=/trunk/; revision=1425
1999-11-20 23:37:37 +00:00
da4c37043e New E-table-item.[ch] -mig
svn path=/trunk/; revision=1419
1999-11-19 05:34:23 +00:00
5ba51e992d Add resizing capabilities.
1999-11-14  Miguel de Icaza  <miguel@gnu.org>

	* e-table-header-item.c (is_pointer_on_division): Add resizing
	capabilities.

	* e-table-sorted.c: Finish implementation.

1999-11-13  Miguel de Icaza  <miguel@gnu.org>

	* e-table-sorted.c: Implement e-table-sorted object.

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

	* e-table-header-item.c: Make the thing configurable.

	* e-table-header-item.h: Add font field, location, height.

svn path=/trunk/; revision=1388
1999-11-15 20:59:29 +00:00
43fd06f8ec More table work
svn path=/trunk/; revision=1383
1999-11-12 08:41:20 +00:00
afbee2366a Stuff
svn path=/trunk/; revision=1378
1999-11-10 07:31:21 +00:00