2002-03-15 Christopher James Lahey <clahey@ximian.com>
* e-table-header.c, e-table-header.h (e_table_header_min_width):
New function that returns the total minimum width of all the
columns.
* e-table.c, e-table.h (set_header_width): Call
e_table_header_min_width here instead of total_width.
(et_size_request): Override the size_request method instead of
doing set_usize.
svn path=/trunk/; revision=16175
2002-03-14 Christopher James Lahey <clahey@ximian.com>
* e-table-search.c, e-table-search.h (e_table_search_backspace):
Made this return a boolean that returns whether the ETableSearch
used the backspace at all.
* e-table.c (group_key_press), e-tree.c (item_key_press): Used the
new return value from e_table_search_backspace.
svn path=/trunk/; revision=16166
* e-tree.c (item_key_press): Don't search if any modifier but
SHIFT or LOCK is pressed.
* e-table.c (group_key_press): Don't search if any modifier but
SHIFT or LOCK is pressed.
svn path=/trunk/; revision=16161
2002-03-13 Christopher James Lahey <clahey@ximian.com>
* e-table-search.c, e-table-search.h (e_table_search_backspace):
Added this function.
* e-table.c, e-tree.c: Call the new function on backspace.
svn path=/trunk/; revision=16145
2002-03-13 Christopher James Lahey <clahey@ximian.com>
* gal/util/e-util.c, gal/util/e-util.h
(e_marshal_BOOL__STRING_INT): Replaced e_marshal_BOOL__STRING with
this since the function it was used for has been modified.
From gal/e-table/ChangeLog:
2002-03-13 Christopher James Lahey <clahey@ximian.com>
* e-table-extras.c (e_string_search): Check for a NULL haystack
here.
* e-table-search.c, e-table-search.h: Added a parameter to the
search signal here to pass in flags. Specifically, added the
E_TABLE_SEARCH_FLAGS_CHECK_CURSOR_FIRST flag. Improved the search
behavior here.
* e-table.c, e-tree.c: Handle the new signature for the search
signal here.
svn path=/trunk/; revision=16139
2002-03-12 Christopher James Lahey <clahey@ximian.com>
* e-cell-vbox.c (ecv_draw): Give the correct height to the
subcells instead of overlapping them.
* e-table-header.c, e-table-header.h (e_table_header_move,
eth_calc_widths): Emit the dimension_changed signal with the width
of the header.
* e-table-memory-store.c (duplicate_value, etms_free_value):
Handle NULL pixbufs here.
* e-table.c, e-table.h: Connect to the dimension_changed signal
and call set_header_width. Did a bit of refactoring here.
svn path=/trunk/; revision=16128
2002-03-12 Christopher James Lahey <clahey@ximian.com>
* gal/Makefile.am (libgal_la_LIBADD): Added e-table-search.lo.
* gal/util/e-util.c, gal/util/e-util.h (e_marshal_BOOL__STRING):
Added this marshal function.
From gal/e-table/ChangeLog:
2002-03-12 Christopher James Lahey <clahey@ximian.com>
* Makefile.am (libetable_la_SOURCES): Added e-table-search.c.
(libetableinclude_HEADERS): Added e-table-search.h.
* e-cell.h: Added ETableSearchFun here.
* e-table-col.h: Added search here.
* e-table-column-specification.c, e-table-column-specification.h:
Added search here.
* e-table-extras.c, e-table-extras.h (e_table_extras_add_search):
Added ETableSearchFuncs here.
* e-table-memory-store.c (e_table_memory_store_insert,
e_table_memory_store_insert_adopt): Handle row == -1 here.
* e-table-search.c, e-table-search.h: New class to reusably handle
the semantics of searching for a string.
* e-table-simple.c, e-table-simple.h: Added a bunch of simple
functions here for if your table is all strings. Should be
reusable.
* e-table-utils.c (et_col_spec_to_col): Added support for searches
here.
* e-table.c, e-table.h: Added an ETableSearch here.
svn path=/trunk/; revision=16119
2002-02-08 Christopher James Lahey <clahey@ximian.com>
* e-table.c (et_unrealize), e-tree.c (et_unrealize): Call
scroll_off and in e-tree.c hover_off.
svn path=/trunk/; revision=15618
2002-01-09 Christopher James Lahey <clahey@ximian.com>
* configure.in: Bumped version number to 0.19.99.0. Bumped
GAL_CURRENT. Reset GAL_REVISION.
From gal/e-table/ChangeLog:
2002-01-09 Christopher James Lahey <clahey@ximian.com>
* e-table.c, e-table.h (scroll_timeout), e-tree.c
(scroll_timeout): Made these handle horizontal scrolling during
drags.
svn path=/trunk/; revision=15272
2001-12-04 Christopher James Lahey <clahey@ximian.com>
* configure.in (GAL_CURRENT): Bumped version number to 0.18.99.0
and CURRENT to 19.
2001-11-21 Christopher James Lahey <clahey@ximian.com>
* gal/widgets/e-reflow.c, gal/widgets/e-reflow.h: Handle
selection_row_changed signal.
* gal/widgets/e-selection-model-array.c,
gal/widgets/e-selection-model-array.h: Properly send
selection_row_changed signals if changing from a single row
selected to a single other row selected or if moving the
selection_end by a single row.
* gal/widgets/e-selection-model.c,
gal/widgets/e-selection-model.h: Added selection_row_changed
signal.
(e_selection_model_select_as_key_press): Fixed the case statement
here to make MULTIPLE and EXTENDED the same as BROWSE instead of
as SINGLE.
From gal/e-table/ChangeLog:
2001-11-21 Christopher James Lahey <clahey@ximian.com>
* e-table-item.c, e-table-item.h: Handle selection_row_changed
signal. Keep track of the old cursor row so that we only redraw
two rows when the cursor changes.
* e-table.c, e-tree.c: Handle selection_row_changed signal.
* e-tree-selection-model.c: Properly send selection_row_changed
signals if changing from a single row selected to a single other
row selected or if moving the selection_end by a single row.
svn path=/trunk/; revision=14870
2001-11-28 Christopher James Lahey <clahey@ximian.com>
* e-table.c (context_destroyed), e-tree.c (context_destroyed):
Check for et being destroyed here before doing anything. Fixes
Ximian bug #15728.
svn path=/trunk/; revision=14864
2001-12-04 Christopher James Lahey <clahey@ximian.com>
* e-table-group.c, e-table.c, e-tree.c: Changed some comments.
Added a bunch of documentation here.
svn path=/trunk/; revision=14861
2001-11-10 Christopher James Lahey <clahey@ximian.com>
* e-table.c (group_key_press), e-tree.c (item_key_press): Handle
the case where page up or page down goes off the end of the table
or tree.
svn path=/trunk/; revision=14702
2001-10-30 Christopher James Lahey <clahey@ximian.com>
* e-table.c (e_table_commit_click_to_add): Leave edit if commit is
called.
svn path=/trunk/; revision=14487
2001-10-30 Christopher James Lahey <clahey@ximian.com>
* e-table-click-to-add.c (etcta_class_init): Remove point handler
and just let GnomeCanvasGroup handle it.
* e-table.c (e_table_commit_click_to_add): Don't commit the
click_to_add if there's no click_to_add to commit.
svn path=/trunk/; revision=14476
2001-10-30 Christopher James Lahey <clahey@ximian.com>
* configure.in: Bumped the version number here to 0.15.99.10.
From gal/e-table/ChangeLog:
2001-10-30 Christopher James Lahey <clahey@ximian.com>
* e-table.c (e_table_commit_click_to_add): Added this new function
to allow the user to specify a commit.
svn path=/trunk/; revision=14473
2001-10-26 Christopher James Lahey <clahey@ximian.com>
* docs/etablexml.txt: Document allow-grouping attribute.
* tests/test-table-1.c (SPEC): Updated this to test the
allow_grouping=\"false\" attribute.
From gal/e-table/ChangeLog:
2001-10-26 Christopher James Lahey <clahey@ximian.com>
* e-table-config.c (config_group_info_update,
config_fields_info_update): Added some checks for NULL labels
here.
* e-table-specification.c, e-table-specification.h: Added
allow_grouping field. Fixes Ximian bug #13412.
* e-table.c, e-table.h: Added allow_grouping field. Set this
field for the sort infos from state objects.
svn path=/trunk/; revision=14134
2001-10-25 Federico Mena Quintero <federico@ximian.com>
Fixes Ximian bug #6832.
* e-table.c (e_table_setup_table): Use a callback instead of
gtk_widget_queue_draw() for focus events, as the latter does not
have the correct prototype for an event handler.
(group_start_drag): Emit START_DRAG, not KEY_PRESS!
(focus_first_etable_item): Focus the first row in the first
ETableItem if there is no focused item.
* e-tree.c (e_tree_setup_table): Same change as in
e_table_setup_table().
(table_canvas_focus_event_cb): Focus the first row in the tree
item if there is no focused item.
svn path=/trunk/; revision=14124
2001-10-24 Christopher James Lahey <clahey@ximian.com>
* e-cell-combo.c: Added #include "gal/widgets/e-unicode.h".
* e-cell-text.c: Added lots of deactivated debugging printfs here.
(ect_event): Fixed the flags check here. Set edit->actions to 0
before calling e_text_event_processor_handle_event.
* e-table-item.c, e-table-item.h: Use eti_grab and eti_ungrab all
over the place. Added lots and lots of deactivated debugging
printfs here.
(eti_grab, eti_ungrab): New functions to encapsulate grabbing and
ungrabbing the cursor and to allow for recursive grabs
(refcounting style.)
* e-table.c: Added deactivated debugging printfs here.
(et_canvas_root_event): Attach to the event handler on the root
canvas item instead of the canvas itself when making the ETable
leave editing state. Fixes Ximian bug #9737.
svn path=/trunk/; revision=14072
2001-10-12 Christopher James Lahey <clahey@ximian.com>
* e-table-click-to-add.c (set_initial_selection): Use new
e_table_header_prioritized_column field.
* e-table-header.c, e-table-header.h
(e_table_header_prioritized_column): New function. Refactors the
code from ETableClickToAdd to find the column with the highest
priority.
* e-table-selection-model.c, e-table-selection-model.h
(model_changed_idle): Changed this function to use the
e_table_header_prioritized_column function. Added an argument to
set the "header" on this selection model.
* e-table-utils.h: Indentation cleanup.
* e-table.c (et_real_construct): Set the "header" argument on the
selection model here.
* e-table.h: #include <gal/e-table/e-table-sorter.h>
svn path=/trunk/; revision=13633
2001-10-10 Christopher James Lahey <clahey@ximian.com>
* e-table.c, e-table.h (e_table_get_selection_model): Added this
function.
svn path=/trunk/; revision=13548
2001-10-06 Christopher James Lahey <clahey@ximian.com>
* e-tree.c (context_destroyed), e-table.c (context_destroyed): Use
g_dataset_set_data_full to find out when the context is destroyed.
Fixes Ximian bug #8502 and Ximian bug #11691.
svn path=/trunk/; revision=13482
2001-10-05 Michael Meeks <michael@ximian.com>
* gal/util/e-util.h: add E_OBJECT_CLASS_ADD_SIGNALS and
E_OBJECT_CLASS_TYPE to ease migration to Gnome 2.0 from
a single source base.
* All C files:
s/object_class->type,/E_OBJECT_CLASS_TYPE (object_class),/g;
s/gtk_object_class_add_signals([^\(]*)\(([^,]*),([^,]*),([^\)]*)/
E_OBJECT_CLASS_ADD_SIGNALS\1(\2,\3,\4/;
svn path=/trunk/; revision=13428
2001-09-26 Christopher James Lahey <clahey@ximian.com>
* e-table.c, e-tree.c: Set the step_increment on the horizontal
scrollbars here to 20.
svn path=/trunk/; revision=13146
2001-09-24 Federico Mena Quintero <federico@ximian.com>
* e-table.c (et_canvas_button_press): Use the correct prototype
for the signal handler.
* e-tree.c (et_canvas_button_press): Likewise.
svn path=/trunk/; revision=13105
2001-09-24 Federico Mena Quintero <federico@ximian.com>
* e-table-group.c (e_table_group_add): Assert that the virtual
method is implemented instead of being forgiving.
(e_table_group_add_array): Likewise.
(e_table_group_add_all): Likewise.
(e_table_group_remove): Likewise.
(e_table_group_increment): Likewise.
(e_table_group_decrement): Likewise.
(e_table_group_row_count): Likewise.
(e_table_group_set_focus): Likewise.
(e_table_group_get_focus): Likewise.
(e_table_group_get_focus_column): Likewise.
(e_table_group_get_printable): Likewise.
(e_table_group_compute_location): Likewise.
(e_table_group_get_cell_geometry): Likewise.
(etg_destroy): Clear the fields after we unref them.
* e-table-group-leaf.c (etgl_destroy): Clear the fields after we
unref them.
(e_table_group_leaf_construct): Subsets should not be sunk. Do
not ref/sink the subset.
* e-table-header.c (e_table_header_add_column): Document the fact
that the header assumes ownership of the column.
svn path=/trunk/; revision=13102
2001-08-24 Christopher James Lahey <clahey@ximian.com>
* e-table-group-container.c, e-table-group-leaf.c,
e-table-group-leaf.h, e-table-group.c, e-table-group.h: Added
start_drag signals.
* e-table-item.c, e-table-item.h (eti_event): Send the start_drag
signal. Fixes Ximian bug #807.
* e-table.c, e-table.h, e-tree.c, e-tree.h: Added start_drag
signal. Made default handler start drag & drop if we're set to
automatically handle dnd. Ripped out the code to handle watching
events for dnd since start_drag does this now.
svn path=/trunk/; revision=12437
2001-08-10 JP Rosevear <jpr@ximian.com>
* gal/widgets/e-canvas-vbox.h: new proto and virtual method
* gal/widgets/e-canvas-vbox.c (e_canvas_vbox_real_add_item_start):
adds the the item to the beginning
(e_canvas_vbox_add_item_start): call the virtual method
2001-08-10 JP Rosevear <jpr@ximian.com>
* e-table.c (et_build_groups): add the items to the start or end
based on where the click to add should be
(e_table_setup_table): ditto
(et_real_construct): read additional spec flag
* e-table.h: new flag
* e-table-specification.c (etsp_init): init new flag
(e_table_specification_load_from_node): set click to add end flag
(e_table_specification_save_to_node): write out flag
* e-table-specification.h: new flag
svn path=/trunk/; revision=11880
2001-08-07 Christopher James Lahey <clahey@ximian.com>
* e-tree.c (scroll_timeout): Added scrolling to access nodes that
are scrolled off screen for drops. Fixes Ximian bug #5645.
* e-table.c, e-table.h (scroll_timeout): Added scrolling to access
rows that are scrolled off screen for drops. This doesn't work
for some reason, but I'm checking the code in.
svn path=/trunk/; revision=11724
2001-08-01 Federico Mena Quintero <federico@ximian.com>
* e-table.c (group_cursor_change): Set the et->cursor_loc *before*
committing the click-to-add to avoid reentrancy issues if the
table model changes while the click-to-add is being committed.
svn path=/trunk/; revision=11564
2001-07-11 Christopher James Lahey <clahey@ximian.com>
* gal/widgets/e-selection-model.c, gal/widgets/e-selection-model.h
(e_selection_model_select_as_key_press): Created this function for
key presses that move in some way other than just to the next or
previous row.
(e_selection_model_key_press): Use
e_selection_model_select_as_key_press for handling home and end
here.
svn path=/trunk/; revision=10993
2001-07-11 Christopher James Lahey <clahey@ximian.com>
* e-table.c (group_key_press), e-tree.c (item_key_press): Made the
amount to scroll by smaller here.
svn path=/trunk/; revision=10992
2001-07-11 Christopher James Lahey <clahey@ximian.com>
* e-table.c (group_key_press), e-tree.c (item_key_press): Use
e_selection_model_do_something directly for page up and page down
instead of emulating a key press.
svn path=/trunk/; revision=10990
2001-05-25 Christopher James Lahey <clahey@ximian.com>
* e-table.c (et_table_rows_deleted): Remove row row + i instead of
row i.
(et_table_rows_inserted): Insert row row + i instead of row row.
svn path=/trunk/; revision=10003
2001-05-25 Christopher James Lahey <clahey@ximian.com>
* e-table.c (et_table_rows_deleted): Remove row i instead of row
row. Destroy et->group when you get the changed or
sort_info_changed signal instead of in the idle handler.
svn path=/trunk/; revision=10002
2001-04-28 Jason Leach <jasonleach@usa.net>
(Make the alternating row colors a option in ETableSpecification
instead of a compiled in #define)
* e-table-specification.c (e_table_specification_load_from_node):
Read in the "alternating-row-colors=bool" option for
ETableSpecifications. Default value is true so unless it is
specified to be false, row colors will alternate.
(e_table_specification_save_to_node): Save the alternating row
color options here.
* e-table.c (et_build_groups): Pass down the alternating row
colors through to the ETableGroup.
* e-table-group-container.[ch]: Handle the new alternating row
colors
option here, passing it to ETableItem.
* e-table-group-leaf.[ch]: Here too.
* e-table-item.c (eti_get_cell_background_color): Got rid of the
#define ALTERNATE_COLORS, replaced with truth check for
ETableItem::alternating_row_colors.
* e-tree.c: Make ETree recognize alternating row color options as
well.
svn path=/trunk/; revision=9622
2001-04-25 Christopher James Lahey <clahey@ximian.com>
* e-table.c (e_table_get_cell_geometry): Add the header height to
the returned y location here so that things will be lined up
correctly.
svn path=/trunk/; revision=9563
2001-04-23 Christopher James Lahey <clahey@ximian.com>
* e-table.c (e_table_get_cell_geometry): Documented this function
properly.
* e-tree.c, e-tree.h (e_tree_get_cell_geometry): Added this
function.
svn path=/trunk/; revision=9533