2002-06-14 Christopher James Lahey <clahey@ximian.com>
* e-cell-popup.c (ecp_draw, ecp_event): Don't draw or interact
with the popup button if a cell isn't editable (based on a patch
by JPR.)
* e-table-col.c, e-table-col.h: Added the compare_col field to
this structure. Added a GtkArg to set it.
* e-table-column-specification.c, e-table-column-specification.h:
Added the compare_col field here. Made it load properly from xml.
* e-table-sorting-utils.c: Sort based on the compare_col in the
ETableCol instead of the col_idx.
* e-table-utils.c (et_col_spec_to_col): Set the compare_col field
in the ETableCol properly.
* e-table.c, e-table.h: Removed the drag_get_data_row and
drag_get_data_col fields since they're not used any longer.
(e_table_construct): If specification loading fails, return a NULL
ETable instead of just ignoring it.
(e_table_drag_highlight): Only destroy table->drop_highlight if it
exists.
svn path=/trunk/; revision=17190
2002-06-04 Christopher James Lahey <clahey@ximian.com>
* e-table-header.c, e-table-header.h
(e_table_header_prioritized_column_selected): Added this function.
* e-table-utils.c, e-table-utils.h
(e_table_util_calculate_current_search_col): Added this function.
* e-table.c, e-table.h, e-tree.c: Added a "always_search"
argument. If this is off, then searches only occur if there's
sort. If it's on, sort takes precendence in doing searches,
followed by the highest priority column shown.
svn path=/trunk/; revision=17109
2002-05-01 Christopher James Lahey <clahey@ximian.com>
* gal/e-text/e-completion-view.c (simple_spec),
gal/widgets/e-categories-master-list-dialog.c (SPEC),
gal/widgets/e-categories.c (INITIAL_SPEC): Set the gettext-domain
here.
* gal/util/e-i18n.h (E_I18N_DOMAIN): #define as makes sense in the
different cases.
From gal/e-table/ChangeLog:
2002-05-01 Christopher James Lahey <clahey@ximian.com>
* e-table-config.c, e-table-config.h, e-table-specification.c,
e-table-specification.h, e-table-utils.c, e-table-utils.h,
e-table.c, e-table.h: Made these pay attention to the
gettext-domain in the etspec.
* e-table-config.c: Set the gettext-domain in the etspec here.
From gal/menus/ChangeLog:
2002-05-01 Christopher James Lahey <clahey@ximian.com>
* gal-define-views-dialog.c (SPEC),
gal-view-instance-save-as-dialog.c (SPEC): Set the gettext-domain
here.
svn path=/trunk/; revision=16658
2002-04-11 Christopher James Lahey <clahey@ximian.com>
* e-table-header-item.c (ethi_header_context_menu): Fixed a memory
leak here by using the "selection-done" signal.
* e-table.c, e-table.h (white_item_event): Added the
"white_space_event" signal.
svn path=/trunk/; revision=16439
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-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-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-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-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-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-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-03-20 Christopher James Lahey <clahey@ximian.com>
* configure.in: Bumped the version number to 05.99.9.
From gal/e-table/ChangeLog:
2001-03-20 Christopher James Lahey <clahey@ximian.com>
* e-table-click-to-add.c: Turn on the vertical grid.
* e-table-group-container.c, e-table-group-container.h,
e-table-group-leaf.c, e-table-group-leaf.h, e-table-item.c,
e-table-item.h: Replaced the "drawgrid" argument with
"horizontal_draw_grid" and "vertical_draw_grid" arguments.
* e-table-specification.c, e-table-specifcation: Replaced the
draw_grid setting with the horizontal_draw_grid and
vertical_draw_grid settings. If the draw-grid property is set in
a ETableSpecification it is still obeyed and overrides the
vertical-draw-grid and horizontal-draw-grid properties.
* e-table.c, e-table.h, e-tree.c, e-tree.h: Deal with the
horizontal_draw_grid and vertical_draw_grid changes.
* e-tree-model.h: Added a missing include.
svn path=/trunk/; revision=8846
2001-03-19 Christopher James Lahey <clahey@ximian.com>
* e-tree-sorted.c (ets_proxy_node_changed): Deal with
proxy_node_changed being called on a different root node than the
one we have in our tree.
* e-tree-table-adapter.c: Did some general clean up here.
* Merged branch:
2001-03-19 Christopher James Lahey <clahey@ximian.com>
* e-tree-sorted.c (find_child_path): Added this function to allow
us to find paths that have been removed from the source.
(ets_proxy_node_removed): Fixed the memmove here a bit. Call
find_child_path.
* e-tree-table-adapter.c (find_node): Check that the passed in
path isn't NULL.
2001-03-19 Christopher James Lahey <clahey@ximian.com>
* e-table-item.c (eti_reflow): Get width from header object
instead of calculating it ourselves.
* e-table-selection-model.c: Turn off selection saving since it's
so slow.
* e-table.c (e_table_set_state_object): Set the width of the newly
created header object.
* e-tree.c (e_tree_set_state_object): Set the width of the newly
created header object.
(tree_canvas_size_allocate): Don't bother setting the dimensions
of the white background twice.
2001-03-18 Christopher James Lahey <clahey@ximian.com>
* e-table-selection-model.c, e-table-selection-model.h: Made
ETableSelectionModel save the cursor properly across changed
signals if has_save_id is true.
2001-03-18 Christopher James Lahey <clahey@ximian.com>
* e-table-selection-model.c, e-table-selection-model.h: Made
ETableSelectionModel save selection properly across changed
signals if has_save_id is true.
* e-tree-memory.c: A couple of typos.
2001-03-18 Christopher James Lahey <clahey@ximian.com>
* e-tree-memory.c, e-tree-sorted.c: Send pre_changes properly.
2001-03-18 Christopher James Lahey <clahey@ximian.com>
* e-tree-table-adapter.c: Send pre_changes when performing
set_expanded or root_node_set_visible.
2001-03-18 Christopher James Lahey <clahey@ximian.com>
* e-tree-sorted.c (ets_is_expandable): When the API requests
whether the object is expandable and it isn't, make sure to send a
signal when it becomes expandable.
* e-tree-table-adapter.c: Made it so that in a number of cases
where it doesn't need to create an empty hash table node if the
current tree node has no children, it doesn't.
2001-03-18 Christopher James Lahey <clahey@ximian.com>
* e-tree-memory-callbacks.c, e-tree-memory-callbacks.h
(etmc_has_save_id, etmc_get_save_id): Added has_save_id and
get_save_id to the list of methods supported by
e_tree_memory_callbacks.
* e-tree-table-adapter.c, e-tree-table-adapter.h: Added saving of
expanded nodes.
2001-03-18 Christopher James Lahey <clahey@ximian.com>
* e-table-model.c, e-table-model.h (e_table_model_get_save_id):
Changed row_save_id to get_save_id to be consistent with ETree.
* e-tree-model.c, e-tree-model.h: Added "pre_change" signal.
Added has_save_id and get_save_id methods.
* e-tree-sorted.c: Proxy pre_change signal. Implemented
has_save_id and get_save_id. If the base model doesn't provide
has_save_id then we g_strdup_printf the pointer of the base model
ETreePath as the save_id.
* e-tree-table-adapter.c: Proxy pre_change signal. If base model
has_save_id, then use the results of get_save_id as the key for
the hash table of node attributes. Otherwise use the pointer as
before.
2001-03-17 Christopher James Lahey <clahey@ximian.com>
* e-tree-sorted.c (ets_sort_idle): Fixed it so that all nodes get
sorted properly instead of just the top node.
2001-03-17 Christopher James Lahey <clahey@ximian.com>
* e-table-sorting-utils.c (e_table_sorting_utils_tree_sort): Made
tree sorting faster by using a cache.
* e-tree-sorted.c: Added commented out debugging g_prints.
2001-03-17 Christopher James Lahey <clahey@ximian.com>
* e-tree-sorted.c: Switched to using GMemChunks.
2001-03-17 Christopher James Lahey <clahey@ximian.com>
* e-tree-sorted.c (resort_node): Made it so that children of a
node that's being sorted don't send changed signals.
2001-03-17 Christopher James Lahey <clahey@ximian.com>
* e-table-sorting-utils.c, e-table-sorting-utils.h: Switched to
using e_sort and e_search instead of qsort and a linear search.
Added the tree functions e_table_sorting_utils_tree_sort,
e_table_sorting_utils_tree_check_position, and
e_table_sorting_utils_tree_insert.
* e-tree-sorted.c: Made this actually do sorting.
* e-tree-table-adapter.c (etta_proxy_node_changed): The old_size
needs to be the number of visible children + 1 to include the top
node.
* e-tree.c (e_tree_set_state_object): Set the sort_info on the
ETreeSorted when you get a new sort_info.
2001-03-16 Christopher James Lahey <clahey@ximian.com>
* Makefile.am: Added e-tree-sorted.c and e-tree-sorted.h.
* e-table-item.c (eti_realize_cell_views): Only realize the cells
if they're not realized already and if the canvas is realized.
* e-table-sorted.c (ets_proxy_model_cell_changed): Matched the
change to the signature of e_table_sorting_utils_affects_sort.
* e-table-sorting-utils.c, e-table-sorting-utils.h
(e_table_sorting_utils_affects_sort): Changed the signature of
this function to not take the ETableModel source since it doesn't
use it and we need to use this function for ETreeSorted which
doesn't have an ETableModel.
* e-tree-memory.c (etmm_get_expanded_default): Actually implement
the get_expanded_default for this tree.
* e-tree-model.h: Cleaned up the indentation here.
* e-tree-sorted.c, e-tree-sorted.h: New class meant to be used for
sorting trees. It doesn't actually sort yet. It simply acts as
an ETreeProxy which is the hardest part of making ETreeSorted.
* e-tree.c, e-tree.h: Made this use an ETreeSorted.
2001-03-14 Christopher James Lahey <clahey@ximian.com>
* e-table-item.c, e-table-item.h, e-table-selection-model.c,
e-table-selection-model.h, e-table-sorted.c, e-table-sorted.h,
e-table-subset.c, e-table-subset.h, e-table.c, e-table.h: Switch
to handling e_table_model_rows_inserted instead of
e_table_model_row_inserted and e_table_model_rows_deleted instead
of e_table_model_row_deleted.
* e-table-model.c, e-table-model.h: Replaced the signals
"model_row_inserted" and "model_row_deleted" with
"model_rows_inserted" and "model_rows_deleted" so that when
multiple rows are inserted or deleted at the same time they can be
handled properly.
* e-tree-table-adapter.c: Call "model_rows_inserted" and
"model_rows_deleted" instead of "model_changed" when inserting or
deleting multiple rows.
2001-03-14 Christopher James Lahey <clahey@ximian.com>
* e-table-item.c (e_table_item_row_diff): Made this not count the
pixel between rows if it isn't there.
2001-03-14 Christopher James Lahey <clahey@ximian.com>
* e-table-item.c (eti_header_structure_changed): Properly attach &
realize cell views here.
2001-03-13 Christopher James Lahey <clahey@ximian.com>
* e-tree-table-adapter.c (etta_proxy_node_removed): Check that
parent_node and parent aren't NULL before making function calls on
them.
2001-03-13 Christopher James Lahey <clahey@ximian.com>
* e-table-item.c (confirm_height_cache): Fixed a height cache
miscalculation.
* e-tree-table-adapter.c (find_first_child_node): Made the
semantics of this mean that find_first_child_node(adapter, -1)
means return the first node in the tree.
2001-03-13 Christopher James Lahey <clahey@ximian.com>
* e-table-extras.c: Added a "string-integer" comparison function
to the default %ETableExtras so you can do comparisons based on
integer value even if you using strings for the data (this lets
you do editable numbers, for instance.)
* e-table-item.c: Rearranged it a bit so that if you have
draw_grid off it doesn't add space for the horizontal lines, nor
leave them the background color.
* e-table-model.c, e-table-model.h: Added the row_save_id and
has_save_id methods to %ETableModel.
* e-tree.c, e-tree.h: Replaced e_tree_compute_location with
e_tree_get_cell_at.
2001-03-08 Christopher James Lahey <clahey@ximian.com>
* Makefile.am: Added e-table/e-table-utils.c,
e-table/e-tree-memory-callbacks.c, e-table/e-tree-memory.c,
e-table/e-tree-scrolled.c, e-table/e-tree-table-adapter.c, and
e-table/e-tree.c. Removed e-table/e-tree-simple.c. Added
e-table/e-table-utils.h, e-table/e-tree-memory-callbacks.h,
e-table/e-tree-memory.h, e-table/e-tree-scrolled.h,
e-table/e-tree-table-adapter.h, and e-table/e-tree.h. Removed
e-table/e-tree-simple.h.
* e-cell-tree.c: Updated this for the new tree.
* e-table-item.c: Added some redraw requests where appropriate.
* e-table-item.h: Fixed an incorrect class method declaration.
* e-table-model.c, e-table-model.h: Removed
e_table_model_has_sort_group and e_table_model_row_sort_group.
* e-table-scrolled.h: Removed unused headers.
* e-table-simple.c, e-table-simple.h: Rearranged this a bit.
* e-table-sorter.c, e-table-sorting-utils.c,
e-table-sorting-utils.h: Removed sort group stuff. Added the
function e_table_sorting_utils_check_position.
* e-table-utils.c, e-table-utils.h: Utility functions for ETable
and ETree.
* e-table.c: Moved some of the functionality from here to
e-table-utils.c so that it can be reused by ETree.
* e-tree-memory-callbacks.c, e-tree-memory-callbacks.h: Class to
implement an ETreeMemory as callbacks instead of overriding the
class.
* e-tree-memory.c, e-tree-memory.h: ETreeModel that stores a tree
of physical nodes.
* e-tree-model.c, e-tree-model.h: Removed most of the
functionality from here to the classes ETreeMemory and
ETreeTableAdapter. This is now just a simple virtualized tree
class.
* e-tree-scrolled.c, e-tree-scrolled.h: New class. An ETree in an
EScrollFrame.
* e-tree-simple.c: Small change. This is no longer used.
* e-tree-table-adapter.c, e-tree-table-adapter.h: ETableModel that
represents an ETreeModel as a table.
* e-tree.c, e-tree.h: New super class kind of like ETable but for
trees.
End of branch
svn path=/trunk/; revision=8837
2001-02-27 Christopher James Lahey <clahey@ximian.com>
* gal/e-text/e-completion-view.c: Changed
e_table_selection_model_clear to e_selection_model_clear.
* tests/test-tree-3.c: Changed E_TABLE_CURSOR_LINE to
E_CURSOR_LINE.
From gal/e-table/ChangeLog:
2001-02-27 Christopher James Lahey <clahey@ximian.com>
* e-table-click-to-add.c, e-table-group-container.c,
e-table-group-container.h, e-table-group-leaf.c,
e-table-group-leaf.h, e-table-item.c, e-table-item.h,
e-table-specification.c, e-table-specification.h, e-table.c,
e-table.h: Changed a lot of the ETableSelectionModels to
ESelectionModels, a lot of the ETableSorters to ESorters, all the
ETableCursorModes to ECursorModes, and all of the
ETableForeachFuncs into EForeachFuncs.
* e-table-defines.h: Moved ETableForeachFunc and ETableCursorMode
to e-selection-model.h.
* e-table-selection-model.c, e-table-selection-model.h: Made this
a subclass of ESelectionModel which simple connects to an
ETableModel.
* e-table-sorter.c, e-table-sorter.h: Made this a subclass of
ESorter so that implements the same semantics it used to.
svn path=/trunk/; revision=8422
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-13 Christopher James Lahey <clahey@ximian.com>
* e-table-header.c, e-table-header.h
(e_table_header_update_horizontal): This new function updates the
minimum width of all of the columns based on the data contained in
that column.
* e-table.c, e-table.h (changed_idle): Added a
horizontal_scrolling field. Call e_table_header_update_horizontal
if the model changes at all and horizontal_scrolling is set to TRUE.
svn path=/trunk/; revision=8214
2001-01-25 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:
Documented. Added a "cursor_activated" signal. Removed some
unused functions (e_table_group_get_count and
e_table_group_get_ecol).
* e-table-selection-model.c, e-table-selection-model.h: Added a
"cursor_activated" signal. Call it when the user changes the
selection to match the cursor.
* e-table.c, e-table.h: Added a "cursor_activated" signal. Fixed
the e_table_compute_location function to take into account the
scrolled position.
svn path=/trunk/; revision=7808
2000-12-07 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.c,
e-table.h: Add column and GdkEvent * parameters to the double
click signal.
* e-table-header-item: Unref the ETableFullHeader when we're done
with it.
* e-table-scrolled.c, e-table-scrolled.h: Remove all of the
proxies and add a function e_table_scrolled_get_table and a gtk
argument "table".
svn path=/trunk/; revision=6850
2000-11-02 Christopher James Lahey <clahey@helixcode.com>
* e-table-config.glade, e-table-config.glade.h: Updated these
unused glade files to better match the versions in the code.
* e-table.c, e-table.h: Added e_table_selected_count and
"selection_change" signal.
* e-tree-model.c: Fixed an out of order
svn path=/trunk/; revision=6354
2000-10-20 Christopher James Lahey <clahey@helixcode.com>
* e-table.c, e-table.h: Added e_table_set_state_object which loads
the state from the given ETableState object.
svn path=/trunk/; revision=6099
2000-10-18 Christopher James Lahey <clahey@helixcode.com>
* e-table-field-chooser-dialog.h: Removed an unnecessary glade
include file.
* e-table-field-chooser.c: Make sure that glade is initialized.
* e-table.c, e-table.h: Added a white background to the ETable.
svn path=/trunk/; revision=5988
2000-10-13 Christopher James Lahey <clahey@helixcode.com>
* gal/Makefile.am: Added e-table-config-field.lo.
* tests/test-tree-2.c: Changed this to use cursor-mode in the xml
instead of the no longer existing gtk argument.
From gal/e-table/ChangeLog:
2000-10-13 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Added e-table-config-field.c and
e-table-config-field.h.
* e-table-column-specification.c: Cleaned this up a bit. Made it
leak less memory.
* e-table-config-field.c, e-table-config-field.h: New files.
This is the configuration widgets for sorting or grouping.
* e-table-config.c, e-table-config.h: Nuked these and replaced
them with a widget that handles all the ETable configuration.
* e-table-config.glade, e-table-config.glade.h: Updated this a bit
to match what's actually being used better. This isn't used in
actual code.
* e-table-header-item.c, e-table-header-item.h: Added a pointer to
the table in the header item structure so that we can launch the
configuration from the header item right click menu. Made the
header item launch the ETable configuration dialog.
* e-table.c, e-table.h: Keep the spec given to us around. Added a
get_state_object function which returns an ETableState *. Set the
"table" argument on the header item.
svn path=/trunk/; revision=5901
2000-10-11 Christopher James Lahey <clahey@helixcode.com>
* tests/test-tree-1.c, tests/test-tree-2.c, tests/test-tree-3.c:
Changed these to match the new ETable system.
* gal/Makefile.am: Added e-table-column-specification.lo,
e-table-extras.lo, e-table-specification.lo, and e-table-state.lo.
From gal/e-table/ChangeLog:
2000-10-11 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Added e-table-column-specification.c,
e-table-column-specification.h, e-table-extras.c,
e-table-extras.h, e-table-specification.c,
e-table-specification.h, e-table-state.c, and e-table-state.h.
Removed some duplicated .h files.
* e-cell-tree.c: Ref, sink, and unref the subcell instead of destroying
it when done.
* e-table-column-specification.c, e-table-column-specification.h:
New class which describes a column without having a table get
instantiated.
* e-table-config.c: Changed get_specification to get_state to get
this to compile.
* e-table-defines.h, e-table-item.h: Moved the definition of
ETableCursorMode from e-table-item.h to e-table-defines.h.
* e-table-extras.c, e-table-extras.h: New class which acts as a
set of 3 hash tables. All from char * and to alternately, ECells,
GCompareFuncs, and GdkPxibufs.
* e-table-scrolled.c, e-table-scrolled.h: Changed this to match
the new ETable function declarations.
* e-table-sort-info.c, e-table-sort-info.h: Added functions for
saving to and loading from xml.
* e-table-specification.c, e-table-specification.h: New class
which describes a table without having to instantiate it.
* e-table-state.c, e-table-state.h: New class which describes the
state of a table without having to instantiate the table.
* e-table.c, e-table.h: Changed this to accept both a state and a
specification instead of just a specification. You then save only
the state. The specification stays exactly the same. Also, you
no longer need to pass in an ETableHeader. Most of the
information contained in the ETableHeader are in the
specification. However you may need to translate some of the
strings in the specification to objects. If you need anything
other than the builtin choices, you need to create an ETableExtras
and pass it in.
* e-tree-model.c: Removed an unused variable.
svn path=/trunk/; revision=5837
2000-10-06 Not Zed <NotZed@HelixCode.com>
* e-table-item.c (eti_header_structure_changed): Removed the
assertion that there must be at least 1 column. No way to remove
all columns otherwise (which the header allows).
* e-table.c (et_xml_config_header): Reconfigure header based on
xml nodes for header.
(et_real_set_specification): Just configure the header only, dont
try to recreate everything.
2000-10-05 Not Zed <NotZed@HelixCode.com>
* e-table-scrolled.c (e_table_scrolled_set_specification): Set the
spec on a scrolled etable.
(e_table_scrolled_load_specification): Likewise for load.
* e-table.c (et_real_set_specification): Allow you to set the
specification after the widget was created.
(et_real_construct): Changed to use et_real_set_specification to
set the spec.
(e_table_load_specification): New frunction, load the
speficication from a specific file.
(e_table_set_specification): NEw function to set the specification
from a string.
svn path=/trunk/; revision=5795
2000-10-04 Jeffrey Stedfast <fejj@helixcode.com>
* e-table-selection-model.c (e_table_selection_model_select_all):
Select all elements of the etable.
(e_table_selection_model_invert_selection): Invert the current
selection.
* e-table.c (e_table_select_all): New convenience function to
select all elements in an e-table.
(e_table_invert_selection): New convenience function to invert the
current selection in an e-table.
svn path=/trunk/; revision=5719
2000-08-24 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,
e-table.c, e-table.h: Added a click signal which gets sent if the
user hits the left or middle mouse button on a cell.
svn path=/trunk/; revision=5020
2000-08-05 Christopher James Lahey <clahey@helixcode.com>
* e-table.c, e-table.h: Added functions to convert from view row
to model row or from model row to view row. Also changed
e_table_set_cursor_row and e_table_get_cursor_row to take a model
row as this works better with the rest of the model. Changed the
name of e_table_get_next_row_sorted and
e_table_get_prev_row_sorted. (Dropped the _sorted.)
svn path=/trunk/; revision=4556
2000-08-05 Christopher James Lahey <clahey@helixcode.com>
* e-table.c: Added a function to get the next row with sorting
taken into account.
svn path=/trunk/; revision=4549
2000-08-05 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am, e-table-selection-model.c,
e-table-selection-model.h, e-table.c, e-table.h: Made selection
ranges work even if the table is sorted.
* e-table-sorter.c, e-table-sorter.h: New files to help with
making selection ranges work even if sorted.
svn path=/trunk/; revision=4546
2000-08-04 Christopher James Lahey <clahey@helixcode.com>
* e-table.c, e-table.h: Built code to have autodrags only work
from within the table and to report the row dragged from
automatically.
svn path=/trunk/; revision=4542
2000-07-26 Christopher James Lahey <clahey@helixcode.com>
* e-table-click-to-add.c: Fixed a reference.
* e-table-selection-model.c, e-table-selection-model.h: Added a
clear function.
* e-table.c, e-table.h: Made going from click to add to the main
table and back work better.
svn path=/trunk/; revision=4373