2001-05-14 Jon Trowbridge <trow@ximian.com>
* e-cell-text.c (_get_position_from_xy): Try to deal with bad
utf8.
(_get_position): Try to deal with bad utf8.
(number_of_lines): Try to deal with bad utf8.
(split_into_lines): Try to deal with bad utf8.
svn path=/trunk/; revision=9791
2001-04-16 Christopher James Lahey <clahey@ximian.com>
* gal/e-text/e-text.c (tooltip_event): Propagate the event after
sending it to the base EText.
svn path=/trunk/; revision=9379
2001-04-15 Christopher James Lahey <clahey@ximian.com>
* e-cell-text.c (ect_show_tooltip): Set the background color to
the specified tooltip->background. Set the foreground color to
the specified tooltip->foreground.
* e-table-item.c (eti_get_cell_background_color,
eti_get_cell_foreground_color): Added these functions.
(eti_draw, _do_tooltip): Use these new functions.
* e-table-tooltip.h: Added foreground and background colors to
this structure.
* e-tree.c, e-tree.h (e_tree_get_tooltip): Added this function.
svn path=/trunk/; revision=9338
2001-04-15 Christopher James Lahey <clahey@ximian.com>
* e-table-item.c: Added /* #defines */ at the top. Fixed
ALTERNATE_COLORS to be an #ifdef instead of an #if.
* e-cell-text.c (ect_show_tooltip): Set "strikeout" argument on
created tooltip.
svn path=/trunk/; revision=9328
2001-04-15 Christopher James Lahey <clahey@ximian.com>
* e-cell-text.c (tooltip_event): Use e_canvas_hide_tooltip and
e_canvas_popup_tooltip.
* e-table-item.c: Cleaned this up. Removed some #if 0 and
replaced others with #ifdefs.
* e-table-tooltip.h: Removed some unnecessary fields.
svn path=/trunk/; revision=9326
2001-04-15 Christopher James Lahey <clahey@ximian.com>
* e-cell-text.c (ect_show_tooltip): Set "bold" argument on created
tooltip. Adjusted position of displayed tooltip.
* e-cell-tree.c (offset_of_node): Changed it so that this function
handles knowing whether on not to indent non expandable first
level nodes. This makes things more consistent.
* e-table-item.c (eti_realize): Cleaned up the ETableItem code to
properly hide tooltips when going off the screen.
* e-table-tooltip.h: Added a visibility_count field to ETableTooltip.
svn path=/trunk/; revision=9320
2001-04-02 Federico Mena Quintero <federico@ximian.com>
* e-cell-popup.c (ecp_unrealize): Typo fix; call
e_cell_unrealize(), not e_cell_realize().
* e-cell-text.c (ect_event): Removed fallback "else", from "if
(edit_display)"since our planned return value is already zero and
we do need to unbuild_current_cell() instead of returning
immediately.
* e-table-state.c (etst_destroy): Free the expansions field.
* e-table.c (e_table_set_state_object): Do not ref the header
since we just created it!
svn path=/trunk/; revision=9123
2001-03-23 Christopher James Lahey <clahey@ximian.com>
* e-cell-text.c: Made this not create the new font until realize
instead of at new_view time.
* e-table-item.c: Don't request heights or do other things that
you aren't allowed to do before realization unless you're
realized.
svn path=/trunk/; revision=8915
2001-03-04 Damon Chaplin <damon@ximian.com>
* e-cell-text.c: added "editable" Arg, to stop the user from editing
the text. The user can still select the text, though. The "editable"
Arg is useful for ECellCombo where we want the user to select an item
in the popup but not edit the field itself.
* e-cell-combo.c: updated to select the matcing item before it pops up
the list.
svn path=/trunk/; revision=8544
2001-02-19 Christopher James Lahey <clahey@ximian.com>
* configure.in: Changed the version number to 0.5.99.1.
* gal/Makefile.am (libgal_la_LIBADD): Change the directories for
e-table-text-model.lo, e-text-event-processor.lo, and
e-text-event-processor-emacs-like.lo. Reordered the e-text
directory to be after the e-table directory in build order.
* gal/e-text/Makefile.am: Removed
e-text-event-processor-emacs-like.c,
e-text-event-processor-emacs-like.h,
e-text-event-processor-types.h, e-text-event-processor.c, and
e-text-event-processor.h. Added e-table-text-model.c and
e-table-text-model.h.
* gal/e-text/e-table-text-model.c: Changed the signature of these
mehtods to match the changed signature in ETextModel.
* gal/e-text/e-text-event-processor-emacs-like.c,
gal/e-text/e-text-event-processor-emacs-like.h,
gal/e-text/e-text-event-processor-types.h,
gal/e-text/e-text-event-processor.c,
gal/e-text/e-text-event-processor.h: Moved these to gal/util/.
* gal/e-text/e-text.c, gal/e-text/e-text.h: Changed the includes
to match the moved files.
* gal/util/Makefile.am: Added e-text-event-processor-emacs-like.c,
e-text-event-processor-emacs-like.h,
e-text-event-processor-types.h, e-text-event-processor.c, and
e-text-event-processor.h.
* gal/util/e-text-event-processor-emacs-like.h,
gal/util/e-text-event-processor.h: Changed the includes to match
the moved files.
2001-02-19 Christopher James Lahey <clahey@ximian.com>
* Makefile.am: Removed e-table-text-model.c and
e-table-text-model.h.
* e-table-text-model.c, e-table-text-model.h: Moved these to
gal/e-text/.
* e-cell-text.c: Changed the include line for
e-text-event-processor.h and e-text-event-processor-emacs-like.h.
svn path=/trunk/; revision=8298
2001-01-15 Christopher James Lahey <clahey@ximian.com>
* Makefile.am: Added e-cell-date.c, e-cell-date.h, e-cell-size.c,
and e-cell-size.h.
* e-cell-date.c, e-cell-date.h: New cell to implement displaying a
date.
* e-cell-size.c, e-cell-size.h: New cell to implement displaying a
file size.
* e-cell-text.c, e-cell-text.h: Got rid of the filter arguments.
Replaced them with the ability to subclass ECellText and override
the get_text method. Added free_text to override if your get_text
implementation returns allocated memory.
* e-table-extras.c (ete_init): Added "size" and "date" cells to
the default ETableExtras.
svn path=/trunk/; revision=7523
2001-01-12 Christopher James Lahey <clahey@helixcode.com>
* e-cell-text.h, e-cell-text.h: Changed the filter function back
to being args to be more consistent with the rest of the object.
svn path=/trunk/; revision=7465
2001-01-12 Miguel de Icaza <miguel@ximian.com>
* e-cell-text.c (key_begins_editing): New function. Tells whether
a key should begin editing.
(ect_event, GDK_KEY_PRESS/RELEASE): check whether we should start
editing.
svn path=/trunk/; revision=7445
2001-01-12 Miguel de Icaza <miguel@ximian.com>
* e-cell-text.c (e_cell_text_set_filter): Implement new function
API. Remove Gtk arguments for this.
(ect_height): Pass all the extra information Dan requested.
(ect_print): Pass all the extra information Dan requested.
(build_current_cell): ditto.
svn path=/trunk/; revision=7444
2000-12-27 Christopher James Lahey <clahey@helixcode.com>
* e-cell-text.c (ect_draw, ect_event): Removed a bunch of unused
code.
svn path=/trunk/; revision=7179
2000-12-14 Chris Toshok <toshok@helixcode.com>
* e-cell-text.c (ect_show_tooltip): call set_style and use the
appropriate style for the text to determine if the tooltip should
be shown.
svn path=/trunk/; revision=7016
2000-12-13 Christopher James Lahey <clahey@helixcode.com>
* e-cell-text.c (ect_show_tooltip): Changed the background color
of the tooltips to light gray.
* e-table-item.c (eti_event): Changed the tooltip timeout to 100
milliseconds.
svn path=/trunk/; revision=6988
2000-12-11 Christopher James Lahey <clahey@helixcode.com>
* e-cell-text.c (ect_draw): Made selected rows ignore their color
specification.
svn path=/trunk/; revision=6935
2000-12-09 Christopher James Lahey <clahey@helixcode.com>
* e-cell-text.c (_blink_scroll_timeout): Split the lines in this
cell before testing whether we're to the right of the right edge
of the text data (since that test uses the split lines.)
svn path=/trunk/; revision=6892
2000-12-09 Christopher James Lahey <clahey@helixcode.com>
* e-cell-text.c (_blink_scroll_timeout): cell should be edit cast
to a CurrentCell, not data cast to a CurrentCell. Fixed this.
svn path=/trunk/; revision=6890
2000-12-09 Christopher James Lahey <clahey@helixcode.com>
* e-cell-text.c: Added the actions parameter to ect_event. Added
an actions field to CellEdit. Handle CellEdit properly in the
ect_event function to do grabbing and ungrabbing when
appropriate. Set the actions field in CellEdit when appropriate
in e_cell_text_view_command.
* e-cell-toggle.c, e-cell-tree.c, e-cell.c, e-cell.h: Added a
ECellActions enum, a ECellActions actions parameter to
e_cell_event and added the actions parameter to all the handlers
of the event method including having ECellTree pass it on to its
child cell.
* e-table-header-item.c: Use the NULL cursor instead of the
E_CURSORS_ARROW cursor.
* e-table-item.c, e-table-item.h: Added grabbed_row and
grabbed_col fields to ETableItem (-1 on either means ungrabbed.)
Pay attention to them in the find_cell function. Handle the
actions parameter of e_cell_event and grab or ungrab the pointer
to a given cell if requested. This is done using the new function
eti_e_cell_event (which is internal to e-table-item.c,) instead of
the old e_cell_event function call. Fake an ungrabbed table when
calling find_cell from within the compute_location method.
svn path=/trunk/; revision=6889
2000-12-06 Chris Toshok <toshok@helixcode.com>
* e-table-item.c (_do_tooltip): pass along the column's width to
e_cell_show_tooltip.
* e-cell-text.c (ect_show_tooltip): add col_width argument, and
set cell.width = col_width - 8 (to mimic what happens in
build_current_cell, but with a possibly altered width).
* e-cell.c (e_cell_show_tooltip): add col_width argument, and pass
along to virtual function.
(ec_show_tooltip): add col_width argument.
* e-cell.h: change prototype of e_cell_show_tooltip to include a
width parameter.
* e-cell-tree.c (ect_show_tooltip): send the width - the subcell's
offset to e_cell_show_tooltip.
svn path=/trunk/; revision=6831
2000-12-06 Christopher James Lahey <clahey@helixcode.com>
* e-cell-text.c, e-cell-toggle.c, e-cell-tree.c: Adapted these to
accept the new flags parameter to e_cell_event.
* e-cell.c, e-cell.h: Added a flags parameter to e_cell_event.
* e-table-item.c: Send all e_cell_event calls a E_CELL_EDITABLE
flag. Add a new e_cell_event to the button press event that
happens before selecting the appropriate row and which does not
have the E_CELL_EDITABLE flag set.
svn path=/trunk/; revision=6823
2000-10-18 Christopher James Lahey <clahey@helixcode.com>
* e-cell-text.c: Make text a different color if !(flags &
E_CELL_FOCUSED).
* e-cell.h: Added E_CELL_FOCUSED to flags.
* e-table-item.c: Changed the background color of selected cells
if the widget is focused. Send E_CELL_FOCUSED to flags if the
widget is focused.
* e-table.c: Repaint the window if focus changes.
svn path=/trunk/; revision=6010
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 use the default cells.
From gal/e-table/ChangeLog:
2000-10-11 Christopher James Lahey <clahey@helixcode.com>
* e-cell-text.c, e-cell-text.h, e-cell-tree.c, e-cell-tree.h: Got
rid of the model parameter to e_cell_text_new and e_cell_tree_new
as they aren't used.
* e-table-extras.c: Added default "integer" compare and default
"tree-string", "string", and "checkbox" cells.
* e-table.c: Made this use the draw-grid, cursor-mode, and
_click-to-add-message fields from the xml.
svn path=/trunk/; revision=5841
2000-09-27 Iain Holmes <iain@helixcode.com>
* e-cell-text.c: Fudge the location of a click in the tooltip, so
that it selects the current cell.
Pass keyboard events to the e-table.
* e-table-item.c: Don't show the tooltip if the cell is being editted.
Also don't destroy the tooltip until the button release event (other
wise the e-table-item starts a select)
2000-09-25 Iain Holmes <iain@helixcode.com>
* e-table-header-item.c (draw_button): Calculate the vertical
offset correctly to centre text.
2000-09-25 Iain Holmes <iain@helixcode.com>
* e-table-header-item.c (ethi_popup_best_fit): Fill this out
to call the "request_width" signal and set the new size.
svn path=/trunk/; revision=5599
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-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-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-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-07-23 Damon Chaplin <damon@helixcode.com>
* e-cell-text.c: added a color_column where the color can be specified
as a string, e.g. "red" or "rgb:F/0/0".
* e-cell-text.c (ect_leave_edit): don't call unbuild_current_cell()
since the CellEdit struct has been freed in ect_stop_editing() and so
has the text.
* e-cell-text.c (unbuild_current_cell): set cell->text to NULL to make
sure we don't try to free it again.
svn path=/trunk/; revision=4279