2000-09-15 Iain Holmes <iain@helixcode.com>
* e-cell-tree.c (ect_show_tooltip): If the cursor is inside
the subcell, call the show_tooltip on it.
* e-table-header-item.c (draw_button): Draw the arrow first,
then take it's size into account when calculating how to draw
the text. Use ellipsis if the text it too long.
2000-09-15 Iain Holmes <iain@helixcode.com>
* e-table-header-item.c (draw_button): Fix a crash by passing
the canvas widget to gtk_paint_box. Reported by Radek.
2000-09-14 Iain Holmes <iain@helixcode.com>
* e-table-header-item.c (set_cursor): The column isn't resizable
if it is the last, or if all other columns after it are not
resizable.
* e-cell-text.c (ect_max_width): Correctly calculate the width
of the line of text. Unbuild the current cell and unref the lines
as well.
(build_current_cell): Initialize cell->style to 0;
2000-09-14 Iain Holmes <iain@helixcode.com>
* e-table-item.c: Start timers for the tooltip to appear, on motion
events.
* e-cell.[ch]: Add a new show_tooltip method.
* e-cell-text.c (ect_show_tooltip): Show the tooltip.
svn path=/trunk/; revision=5466
Fix some crashes
Make double clicking on the header dividers automatically size the header
to it's best fit.
When dragging onto the header check the dragged item is a header object.
Check the column is resizeable before setting the cursor to <->
Use the font and themes to draw the table and items.
svn path=/trunk/; revision=5438
2000-09-11 Christopher James Lahey <clahey@helixcode.com>
* e-table.c: Made page up and page down active in the ETable.
svn path=/trunk/; revision=5319
2000-09-08 Christopher James Lahey <clahey@helixcode.com>
* e-tree-example-1.c: Added base ETableModel functions.
* e-tree-example-2.c: Added base ETableModel functions. Made it
never return NULL as a string, instead return "".
* e-tree-simple.c, e-tree-simple.h: Require base ETableModel
functions.
svn path=/trunk/; revision=5266
2000-09-01 Christopher James Lahey <clahey@helixcode.com>
* e-table-item.c, e-table.c: Fixed a leak and a double unref.
svn path=/trunk/; revision=5174
2000-09-01 Chris Toshok <toshok@helixcode.com>
* e-tree-example-2.c: new test, a home grown 2 hour hack of a file
browser. uses node_collapsed/emitted signals to populate the left
tree.
* Makefile.am: add tree-example-2.c stuff.
* .cvsignore: add tree-example-2
svn path=/trunk/; revision=5163
2000-09-01 Chris Toshok <toshok@helixcode.com>
* e-tree-model.h: add signals/prototypes for
e_tree_model_node_collapsed and e_tree_model_node_expanded.
* e-tree-model.c (etree_set_expanded): emit
node_expanded/node_collapsed signals, with node_expanded happening
before the expansion so it can much with the children, and
collapsed being emitted after.
(e_tree_model_row_of_node): remove stupid check, and g_warning.
(e_tree_model_node_collapsed): new function.
(e_tree_model_node_expanded): new function.
svn path=/trunk/; revision=5162
2000-08-31 Christopher James Lahey <clahey@helixcode.com>
* e-table-selection-model.c: Made the selection work when shift
clicking on the first row of the table.
svn path=/trunk/; revision=5139
2000-08-28 Christopher James Lahey <clahey@helixcode.com>
* e-table-group-container.c: Make printing of groups work better
and make them print headers.
* e-table-item.c: Turn off alternating row support.
svn path=/trunk/; revision=5086
2000-08-25 Christopher James Lahey <clahey@helixcode.com>
* e-table-col.c, e-table-config.c, e-table-header.c,
e-table-text-model.c: Added some g_return_if_fails and
g_return_val_if_fails.
svn path=/trunk/; revision=5056
2000-08-24 Christopher James Lahey <clahey@helixcode.com>
* e-table.c: Fix an off by one error that was causing crashes.
svn path=/trunk/; revision=5027
2000-08-24 Christopher James Lahey <clahey@helixcode.com>
* e-table.c: Set default values for all of the signal emissions.
svn path=/trunk/; revision=5026
2000-08-24 Christopher James Lahey <clahey@helixcode.com>
* e-table-selection-model.c: Check for selection->selection being
NULL in e_table_selection_model_selected_count.
svn path=/trunk/; revision=5025
2000-08-24 Christopher James Lahey <clahey@helixcode.com>
* e-table-item.c: Pay attention to the return value from the click
signal.
svn path=/trunk/; revision=5022
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-24 Christopher James Lahey <clahey@helixcode.com>
* e-cell-text.c, e-cell-toggle.c, e-cell-tree.c, e-cell.c,
e-cell.h, e-table-col.c, e-table-col.h, e-table-item.c: Added
infrastructure for setting the justification of columns. Still
need to change the cells to support it and need to add user
interface to change the justification.
svn path=/trunk/; revision=5010
2000-08-23 Christopher James Lahey <clahey@helixcode.com>
* e-table-subset-variable.c: Fixed a bug in
e_table_subset_variable_increment that causes problems with
ETree's. Specifically, when you incremented at position x, the
row x didn't get incremented as it should (s/>/>=/.)
svn path=/trunk/; revision=4994
2000-08-22 Christopher James Lahey <clahey@helixcode.com>
* e-cell-text.c, e-cell-toggle.c, e-cell-tree.c, e-table-item.c:
Moved drawing of the cell backgrounds from ECell into ETableItem.
* e-tree-model.c: Include stdlib.c.
svn path=/trunk/; revision=4915
2000-08-21 Chris Toshok <toshok@helixcode.com>
* e-tree-example-1.c (remove_node): we can remove nodes with
children now.
* e-tree-model.h: add prototype for e_tree_model_node_sort.
* e-tree-model.c (etree_set_expanded): if the node is invisible,
just set its expanded flag and return.
(e_tree_model_root_node_set_visible): call set_expanded before we
remove it from the row array or else the aforementioned change
will result in nothing happening.
(e_tree_model_node_insert): use a position of -1 as "append".
(e_tree_model_node_insert): if the model was marked with
root_visible == FALSE, make sure to set it's expanded flag to TRUE
when the root node is inserted.
(e_tree_model_node_sort): new function.
svn path=/trunk/; revision=4912
2000-08-21 Chris Toshok <toshok@helixcode.com>
* e-table.c (e_table_drag_source_set): pass table, not site as the
closure for these drag signals, since e_table_drag_source_event_cb
assumes it's the table.
svn path=/trunk/; revision=4911
2000-08-19 Christopher James Lahey <clahey@helixcode.com>
* e-cell-text.c: Made background colors alternate.
* e-table-click-to-add.c: Made tabbing off the right edge of the
click to add commit the new values.
* e-table-group-container.c, e-table-group-leaf.c,
e-table-group.c, e-table-group.h, e-table-sorted-variable.c,
e-table-subset-variable.c, e-table-subset-variable.h: Added a
decrement method. Made the add and remove methods not
automatically increment and decrement.
* e-table-item.c: Fixed some view vs model issues for both rows
and columns.
* e-table-model.c: Added debugging code. Removed automatic
signalling of changes by the ETableModel set_value_at function
(the model should send these signals itself.)
* e-table.c: Added increment and decrement calls when a row is
removed or added from the source model.
svn path=/trunk/; revision=4881
2000-08-09 Christopher James Lahey <clahey@helixcode.com>
* e-table-item.c, e-table-selection-model.c,
e-table-selection-model.h: Make right click select if the current
row is not selected.
svn path=/trunk/; revision=4658
2000-08-09 Christopher James Lahey <clahey@helixcode.com>
* e-table-header-item.c: Changed e_popup_menu_run call to match
the new arguments.
svn path=/trunk/; revision=4628
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>
* e-table-sorter.c: Made it so that selection ranges work even if
the table is using grouping.
svn path=/trunk/; revision=4547
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-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