2000-08-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, e-table-item.c, e-table-item.h:
Made drag events calculate a row and column and signal that
information.
* e-table-selection-model.c, e-table-selection-model.h: Changed
do_something to take a GdkModifierType.
svn path=/trunk/; revision=4529
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-07-29 Christopher James Lahey <clahey@helixcode.com>
* e-table-click-to-add.c: Made enter key destroy and recreate the
ETableItem.
* e-table-item.c: Grab focus when person clicks even if cursor
isn't changing.
svn path=/trunk/; revision=4416
2000-07-27 Christopher James Lahey <clahey@helixcode.com>
* e-table-item.c: Fixed up the table behavior so that it's not
always in an edit mode.
svn path=/trunk/; revision=4392
2000-07-27 Christopher James Lahey <clahey@helixcode.com>
* e-table-item.c (eti_cursor_change): Grab focus properly.
* e-table-item.c, e-table-click-to-add.c: Fixed ETableClickToAdd
to handle carriage return. This still doesn't quite work right.
svn path=/trunk/; revision=4384
2000-07-27 Christopher James Lahey <clahey@helixcode.com>
* e-table-click-to-add.c: Clear the selection model when
activating.
* e-table-item.c: Fixed a bunch of model column vs. view column
issues.
* e-table-selection-model.c: Set the cursor to -1, -1 and emi a
"cursor_changed" signal.
svn path=/trunk/; revision=4380
2000-07-26 Christopher James Lahey <clahey@helixcode.com>
* e-table-item.c: Fixed the model/view row confusion.
* e-table-selection-model.c: Changed one expression to use a
#define properly.
svn path=/trunk/; revision=4371
2000-07-26 Christopher James Lahey <clahey@helixcode.com>
* e-table-group-container.c, e-table-group-container.h,
e-table-group-leaf.c, e-table-group-leaf.h: Added "table_selection_model"
argument. Removed foreach function and selection notification.
* e-table-group.c, e-table-group.h: Removed foreach function and
selection notification.
* e-table-header.c: Fixed header width calculation to include the
last column.
* e-table-item.c, e-table-item.h: Fixed this to use the new
selection model.
* e-table-scrolled.c, e-table-scrolled.h: Removed selection
notification.
* e-table-selection-model.c, e-table-selection-model.h: Finished
notification signals and fixed a bunch of bit manipulations.
Implemented do_something method.
* e-table.c, e-table.h: Create an ETableSelectionModel and use it
properly.
svn path=/trunk/; revision=4363
2000-07-09 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Add e-table-scrolled.c and e-table-scrolled.h.
* e-table-item.c: Make sure that find_cell returns FALSE if the
item doesn't have any cells.
* e-table-scrolled.c, e-table-scrolled.h: Added a widget to
contain an ETable and provide scrollbars (for ease of use.)
* e-table.c, e-table.h: Make this support the scrollable interface
and not contain its own scrollbars.
svn path=/trunk/; revision=4031
2000-07-09 Christopher James Lahey <clahey@helixcode.com>
* e-table-item.c (eti_event): Put back e_cell_event sometimes when
we're not editing.
svn path=/trunk/; revision=4019
2000-07-08 Christopher James Lahey <clahey@helixcode.com>
* e-table-item.c (eti_event): Don't call e_cell_event if we're not
editing.
svn path=/trunk/; revision=3991
2000-07-08 Christopher James Lahey <clahey@helixcode.com>
* e-table-item.c (eti_table_model_changed): Commented out some
unnecessary and buggy code.
svn path=/trunk/; revision=3988
2000-07-06 Christopher James Lahey <clahey@helixcode.com>
* e-table-item.c: Send GDK_BUTTON_RELEASE events to the ecell
associated with the cell (if it's the cursor.)
svn path=/trunk/; revision=3909
2000-07-03 Christopher James Lahey <clahey@helixcode.com>
* e-table-item.c: Added a reflow_compare callback and did removal
if you do shift-click on a selected row that's not the cursor.
svn path=/trunk/; revision=3873
2000-06-29 Christopher James Lahey <clahey@helixcode.com>
* message-list.c, mail-ops.c: Changed the name of
e_table_select_row to e_table_set_cursor_row.
From widgets/e-table:
2000-06-29 Christopher James Lahey <clahey@helixcode.com>
* e-table-click-to-add.c: Made this appear a bit better.
* e-table-defines.h: Cleaned this up a bit, added
ETableForeachFunc.
* e-table-group-container.c, e-table-group-leaf.c,
e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h,
e-table.c, e-table.h: Changed e_table_select_row to
e_table_set_cursor_row. Changed e_table_get_selected_view_row to
e_table_get_cursor_row. Added e_table_selected_row_foreach.
* e-table-header-item.c: Fixed some warnings.
* e-table-sorted-variable.c: Removed some unneeded debugging print
statments.
* e-tree-example-1.c: Changed e_table_get_selected_view_row to
e_table_get_cursor_row.
svn path=/trunk/; revision=3799
2000-06-27 Christopher James Lahey <clahey@helixcode.com>
* e-table-header-item.c: Added an unsort command.
* e-table-item.c: leave_edit when you loose the cursor.
svn path=/trunk/; revision=3766
2000-06-26 Christopher James Lahey <clahey@helixcode.com>
* widgets/e-text/e-text.c: Calculate height including if
clip_height is set to -1.
From addressbook/ChangeLog:
2000-06-26 Christopher James Lahey <clahey@helixcode.com>
* contact-editor/e-contact-editor-categories.c,
addressbook/gui/component/e-cardlist-model.c: Added
value_to_string handlers.
* demo/addressbook-widget.c, demo/demo.c: Removed usage of "x" and
"y" arguments.
* addressbook/gui/component/addressbook.c: Activated Click To Add
and set the click to add message.
* addressbook/gui/component/e-addressbook-model.c: Added
value_to_string and append_row handlers.
* addressbook/gui/component/e-select-names.c: Added a column.
From calendar/ChangeLog:
2000-06-26 Christopher James Lahey <clahey@helixcode.com>
* gui/calendar-model.c: Added an #ifdefed value_to_string handler
assignment.
From camel/ChangeLog:
2000-06-26 Christopher James Lahey <clahey@helixcode.com>
* providers/mbox/camel-mbox-summary.c: Added debugging
information.
From composer/ChangeLog:
2000-06-26 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Added e-msg-composer-select-file.h for make
distcheck.
From e-util/ChangeLog:
2000-06-26 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Added e-canvas-vbox.c and e-canvas-vbox.h.
* e-canvas-vbox.c, e-canvas-vbox.h: New canvas object to act like
a vbox using the reflow system.
From mail/ChangeLog:
2000-06-26 Christopher James Lahey <clahey@helixcode.com>
* message-list.c: Added a value_to_string handler.
From shell/ChangeLog:
2000-06-26 Christopher James Lahey <clahey@helixcode.com>
* glade/Makefile.am: Added EXTRA_DIST for make distcheck.
From widgets/e-table/ChangeLog:
2000-06-26 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Added e-table-click-to-add.c,
e-table-click-to-add.h, e-table-one.c, and e-table-one.h.
* e-table-click-to-add.c, e-table-click-to-add.h: A new canvas
item that represents a single row that sometimes exists. It's for
adding new rows to your table.
* e-table-example-1.c, e-table-example-2.c, e-table-size-test.c,
test-check.c, test-cols.c, test-table.c: Added value_to_string handlers.
* e-table-group-container.c: Use value_to_string to make grouping
not crash for non string columns. Made some changes to work
properly in an ECanvasVbox.
* e-table-group-leaf.c, e-table-item.c: Made some changes to work
properly in an ECanvasVbox.
* e-table-model.c, e-table-model.h: Added append_row and
value_to_string methods.
* e-table-one.c, e-table-one.h: Given a source ETableModel, this
provides a single row model that uses the initialize_value,
duplicate_value, free_value, and value_is_empty methods of the
original source to implement set_value and value_at (and proxies
most of the other methods.) This is used for ETableClickToAdd.
* e-table-simple.c, e-table-simple.h: Added append_row and
value_to_string handlers. append_row uses a GtkArg instead of a
parameter to e_table_simple_new.
* e-table-subset.c: Added append_row and value_to_string handlers.
* e-table.c, e-table.h: Use a vbox containing an ETableClickToAdd
and an ETableItem instead of an ETableItem directly. Only show
the ETableClickToAdd if the top level of the xml SPEC has the
attribute click-to-add set to some non-zero integer.
(click-to-add="1"). Add a "click_to_add_message" argument.
* e-tree-model.c: Add a commented out value_to_string handler.
From widgets/meeting-time-sel/ChangeLog:
2000-06-26 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Added the include path to top_srcdir.
svn path=/trunk/; revision=3744
2000-06-22 Christopher James Lahey <clahey@helixcode.com>
* e-table-group-container.c: Remove use of the "x" and "y"
arguments to EText.
* e-table-item.c: Properly ref the source_model field.
* test-check.c, test-cols.c, test-table.c: Remove use of the "x"
and "y" arguments to ETableHeaderItem.
svn path=/trunk/; revision=3690
2000-06-20 Christopher James Lahey <clahey@helixcode.com>
* e-table-group-leaf.c: Fix a minor warning.
* e-table-item.c: Add to the selection if shift is held down.
Show cursor when changing sort (or if table changes majorly.)
svn path=/trunk/; revision=3667
2000-06-20 Christopher James Lahey <clahey@helixcode.com>
* e-table-group-container.c, e-table-group-leaf.c,
e-table-group.c, e-table-group.h: Removed the unfocus method since
that's handled by the canvas itself now.
* e-table-item.c, e-table-item.h: Finished adapting ETableItem to
use the canvas selection/cursor system. Selection and cursor now
use row numbers associated with the source model instead of the
sorted model (if the model they are given is an ETableSubset.)
This has no effect on the interface, except that unfocus was
removed and e_table_item_focus was renamed to
e_table_item_set_cursor.
svn path=/trunk/; revision=3660
2000-06-20 Christopher James Lahey <clahey@helixcode.com>
* e-table-item.c, e-table-item.h: Started adapting ETableItem to
use the canvas selection/cursor system.
svn path=/trunk/; revision=3656
2000-06-13 Christopher James Lahey <clahey@helixcode.com>
* e-cell-text.c: Clip the contained text.
* e-table-group-container.c: Did a first pass at grouped
printing. This works, but there's no fancy boxes or headers
around the groups.
* e-table-item.c: Added will_fit function and added quantize
function to _height.
svn path=/trunk/; revision=3552
2000-06-10 Chris Toshok <toshok@helixcode.com>
* e-table-item.c (eti_event): change things so we focus the cell
and select the row, and also dispatch the event to that row/cell.
This fixes the problem with the tree where you had to click twice
to activate the tree controls.
* Makefile.am (libetable_a_SOURCES): remove e-tree-gnode.* and add
e-tree-simple.*
(icons): add tree-expanded.xpm and tree-unexpanded.xpm
* e-cell-tree.c (ect_enter_edit): defer to subcell's view.
(ect_leave_edit): defer to subcell's view.
(visible_depth_of_node): visual depth, taking into account that
the root node of the model might not be displayed.
(offset_of_node): return the offset used to shift the subcell
over.
(ect_draw): don't draw vertical lines if we're the leftmode node
(a visual root node). also, don't shift x2 by the subcell offset,
so we get ellipses like we're supposed to.
(ect_event): remove GDK_BUTTON_RELEASE from the list of events
that we care about.
* e-tree-example-1.c: lots of changes, a more dynamic UI so we can
test tree model api stuff.
* e-tree-gnode.c, e-tree-gnode.c: removed files, since their guts
have been rolled into e-tree-model.c
* e-tree-model.c, e-tree-model.h: substantially changed. too much
to really describe here. this should really be considered the
first revision of these files :)
* e-tree-simple.c, e-tree-simple.h: analogous to e-table-simple, a
subclass that allows the use of function pointers.
svn path=/trunk/; revision=3519
2000-06-10 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Added $(GNOME_PRINT_LIBS) to all of the LDADDs.
* e-cell-text.c: Added printing of text cells.
* e-cell.c, e-cell.h: Added print and print_height methods.
* e-table-field-chooser.glade: Added a minimum size.
* e-table-group-container.c: Fixed a rectangle sizing bug.
* e-table-group-leaf.c: Implemented get_printable.
* e-table-group.c, e-table-group.h: Added a get_printable method
to return an EPrintable.
* e-table-item.c, e-table-item.h: Added a get_printable function
to return an EPrintable.
* e-table.c, e-table.h: Added a get_printable function to return
an EPrintable.
svn path=/trunk/; revision=3511
2000-06-01 Christopher James Lahey <clahey@helixcode.com>
* e-table.c: Copy and paste error.
* e-table-item.c: Mixed up parity on eti->editing.
svn path=/trunk/; revision=3368
2000-05-30 Christopher James Lahey <clahey@helixcode.com>
* e-table-item.c: Make sure that the cursor is always shown when
the selection changes.
svn path=/trunk/; revision=3290
2000-05-25 Christopher James Lahey <clahey@helixcode.com>
* e-table-header.c: Account for extra pixel at right end of
ETable.
* e-table-item.c: Make grid less intrusive.
* e-table.c: Make scrollbars disappear when appropriate.
svn path=/trunk/; revision=3206
2000-05-14 Christopher James Lahey <clahey@helixcode.com>
* Implemented the feature where the ETable columns automatically
fill the given space.
* e-cell-text.c, e-cell-text.h: Moved #include
e-text-event-processor.h from the .h to the .c.
* e-table-col.c, e-table-col.h: Added an expansion variable, and
made it so that width isn't set by the programmer but instead by
the e-table-header.
* e-table-example-1.c, e-table-example-2.c, e-table-size-test.c,
test-check.c, test-cols.c, test-table.c: Fixed to handle new
ETable column resizing.
* 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-item.c, e-table-item.h: Fixed these to do
a proper canvas reflow/update loop. Changed them to take a
minimum width and return a width and a height.
* e-table-header-item.c, e-table-header-item.h: Made this so that
it depends on e-table-header.c for deciding the actual size of
columns during resize (it was making incorrect decisions on its
own.)
* e-table-header.c, e-table-header.h: Changed this to make sure
that the sum of the widths of the columns was always as close as
possible to the width of the window. This is done by taking a
full width and having each of the columns have an "expansion"
field. This field is what makes each column have approximately
the same portion of its part of the screen that it used to.
* e-table.c: Changed this to set the width on the ETableHeader as
well as set the proper minimum width on the ETableGroup and get
the width and height it reports.
From addressbook/ChangeLog
2000-05-14 Christopher James Lahey <clahey@helixcode.com>
* backend/ebook/Makefile.am: Added libeutil for e-card's support
for categories.
* backend/ebook/e-card-list.c, backend/ebook/e-card-list.h: Added
a function to get the length.
* backend/ebook/e-card.c, backend/ebook/e-card.h: Added categories
support (accessible either as "categories" or "category_list".)
* contact-editor/Makefile.am: Added e-table and all of the
categories files.
* contact-editor/categories.glade,
contact-editor/categories-strings.h,
contact-editor/e-contact-editor-categories.c,
contact-editor/e-contact-editor-categories.h:
* contact-editor/contact-editor.glade,
contact-editor/e-contact-editor-strings.h: Rearranged this dialog.
* contact-editor/e-contact-editor.c: Rearranged dialog a bit.
Added opening of categories dialog.
* gui/component/Makefile.am: Rearranged libraries so that
libetable would be available for the contact editor categories
dialog.
* gui/component/addressbook.c: Fix for new ETable resizing. Make
contact editor dialog resizable.
* gui/minicard/Makefile.am: Added libetable contact editor
categories dialog.
* gui/minicard/e-minicard.c: Make contact editor dialog resizable.
From mail/ChangeLog
2000-05-14 Christopher James Lahey <clahey@helixcode.com>
* message-list.c: Updated to work with new ETable resizing.
svn path=/trunk/; revision=3027
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-04 Christopher James Lahey <clahey@helixcode.com>
* e-table-item.c, e-table-item.h: Added a height_cache idle loop
so that the height_cache will be validated in the idle loop.
svn path=/trunk/; revision=2794
2000-05-04 Christopher James Lahey <clahey@helixcode.com>
* e-cell-text.c, e-cell-text.h: Fix author information.
* e-table-group-leaf.c: Set a length threshold of 200.
* e-table-item.c: Height cache is now actually a map. Made
"length_threshold" argument work. If over the length threshold,
use the height cache to get a better estimate so that once the
height cache is full, height estimate is perfect.
svn path=/trunk/; revision=2791
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-25 Christopher James Lahey <clahey@helixcode.com>
* e-table-size-test.c: Fixed a warning.
* e-table-item.c: Removed the unnecessary gnome_canvas_update_bbox.
svn path=/trunk/; revision=2598
2000-04-23 Iain Holmes <ih@csd.abdn.ac.uk>
* e-table-item.c (eti_bounds): Calculate the width of the table from the
width of all the columns, and update the eti->width field as appropiate.
(eti_update): Update the bbox.
svn path=/trunk/; revision=2572
2000-04-16 Anders Carlsson <andersca@gnu.org>
* e-table-item.c (eti_event): Propagate mouse wheel events upwards.
* e-table.c (et_real_construct): Use a GtkScrolledWindow here
instead of a GtkScrollbar, since it makes mouse wheel scrolling
much easier.
svn path=/trunk/; revision=2463
2000-04-04 Christopher James Lahey <clahey@helixcode.com>
* widgets/e-minicard/e-minicard.c: Fixed some referencing and
lifetime issues.
From widgets/e-table:
2000-04-04 Christopher James Lahey <clahey@helixcode.com>
* e-table-text-model.c: Make this assert a bit more readable.
* e-table-item.c: Fix update loop behavior.
svn path=/trunk/; revision=2291
* 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