2000-03-03 Christopher James Lahey <clahey@helixcode.com>
* e-table.c: Removed some unused code.
* e-table-header-item.c, e-table-header-item.h: Removed the unused
normal_cursor variable and object.
* e-table-col.c: Maintain a reference count in the contained ECell.
svn path=/trunk/; revision=2024
2000-02-29 Iain Holmes <ih@csd.abdn.ac.uk>
* widgets/e-text/e-text.c: Don't show the tooltip if the text is being
editted or isn't clipped. Remove the tooltip when editting starts.
* widgets/e-text/Makefile.am: Build the test program
svn path=/trunk/; revision=1994
2000-02-29 Christopher James Lahey <clahey@helixcode.com>
* test-table.c: Test frozen columns
* e-table.c: Make frozen columns available through the xml file.
* e-table-header.c, e-table-header.h, e-table-header-item.c: Added
frozen columns API to let you specify some number of leading
columns as undraggable.
* Makefile.am: Add e-table-example-1.c and e-table-example-2.c.
* e-table-example-1.c, e-table-example-2.c: New files. A couple
of examples of ETable use.
svn path=/trunk/; revision=1993
2000-02-28 Christopher James Lahey <clahey@helixcode.com>
* e-table-header-item.c, e-table-header.c: Fixed a couple of crash
bugs.
svn path=/trunk/; revision=1975
2000-02-28 Chris Lahey <clahey@umich.edu>
* widgets/e-text/e-text.c, widgets/e-text/e-text.h: Updated these
to use the canvas ::update system properly.
svn path=/trunk/; revision=1972
2000-02-25 Christopher James Lahey <clahey@helixcode.com>
* e-table-item.c: Made the E table item redraw properly.
* e-table-group-container.c: Added handling to distinguish between
n items and 1 item. Got rid of a crash due to an abandoned timeout
callback.
svn path=/trunk/; revision=1933
2000-02-24 Christopher James Lahey <clahey@helixcode.com>
* e-cell-text.c: Made carriage return stop editting instead of
inserting a carriage return.
svn path=/trunk/; revision=1932
2000-02-24 Christopher James Lahey <clahey@helixcode.com>
* e-util/e-xml-utils.c, e-util/e-xml-utils.h: Added
e_xml_get_integer_prop_by_name.
* e-util/Makefile.am: Added e-util.c.
* e-util/e-util.h: Added e-util.c functions.
* e-util/e-util.c: New file for compare functions
from mail:
2000-02-24 Christopher James Lahey <clahey@helixcode.com>
* message-list.c: Changed to match new e_table_simple interface.
svn path=/trunk/; revision=1931
2000-02-24 Christopher James Lahey <clahey@helixcode.com>
* test-table.c: Added duplicate_value and add_value. Use the new
compare functions. Made it so we only create one model to better
test model view stuff. Changed the test to not have as many
extra, useless, columns.
* test-cols.c, test-check.c: Added duplicate_value and add_value. Use the new
compare functions.
* e-table.c, e-table.h: Use all the new features of e-table-groups
(sorting and grouping). Handle on the fly reorganization of
groups in an idle loop. Compare functions now are to return -1 if
the first item is greater, 0 if they are equal, or 1 if the second
item is greater.
* e-table-subset.c, e-table-subset.h: Made e-table-subset
disconnect properly from its signals when it dies.
* e-table-subset-variable.c, e-table-subset-variable.h:
Virtualized the add and remove commands so that
e_table_sorted_variable could override the add command to do sorting.
* e-table-sorted.c: Fixed this to inherit properly from
ETableSubset.
* e-table-simple.h, e-table-simple.c: Added handling of
duplicate_value and free_value;
* e-table-model.c, e-table-model.h: Added duplicate_value and
free_value for memory allocation of table elements outside the
table.
* e-table-item.c: Fixed a crashing bug.
* e-table-group.c: Added sorting. Fixed destruction to delete the
right things.
* e-table-group-leaf.c, e-table-group-leaf.h: Pass column and sort
order information into the e_table_sorted_variable. Properly
destroy things when deleted.
* e-table-group-container.c, e-table-group-container.h: Properly
handle the list of subgroups. Handle proper sorting and grouping
of subgroups.
* e-table-sorted-variable.c, e-table-sorted-variable.h: Files to
do a sorted model that stays sorted as you add and remove rows.
* Makefile.am: Added e-table-sorted-variable.c and
e-table-sorted-variable.h.
svn path=/trunk/; revision=1930
2000-02-24 Christopher James Lahey <clahey@helixcode.com>
* e-table-item.c: Made keyboard focus navigation work across
groups.
* e-table-header.c: Made e_table_header_col_diff not crash if you
give it a column less than 0 (it truncates negative column values
to 0.)
* e-table-group.c, e-table-group.h: Added e_table_group_get_header
to get the ETableHeader for this ETableGroup.
* e-table-group-container.c: Made shift tab work.
svn path=/trunk/; revision=1917
2000-02-24 Christopher James Lahey <clahey@helixcode.com>
* widgets/e-text.c, widgets/e-text.h, e-text-event-processor.c,
e-text-event-processor.h, e-text-event-processor-emacs-like.c,
e-text-event-processor-emacs-like.h,
e-text-event-processor-types.h: This were moved to widgets/e-text/
a while ago but never removed. They have now been removed.
* widgets/e-text/e-text.c, widgets/e-text/e-text.h: Removed some
warnings from this file. Made tooltips disappear when you're
finished with them.
* widgets/e-minicard/test-reflow.c,
widgets/e-minicard/test-minicard.c,
widgets/e-minicard/test-minicard-label.c: Commented out unused
about_callback functions.
* widgets/e-minicard/e-reflow.c: Made e-reflow pass an EFocus to
its e-minicard children.
* widgets/e-minicard/e-minicard.c: Made e-minicard take and return
an EFocus for its "has_focus" argument. This makes shift-tab work properly.
* widgets/e-minicard/e-minicard-label.c: Made e-minicard-label take and return
an EFocus for its "has_focus" argument. Made the font that
e-minicard-label uses only be allocated once.
* e-util/e-canvas-utils.h: Fixed the comment at the top and added
#ifndef __E_CANVAS_UTILS__.
* e-util/Makefile.am: Added e-xml-utils.c and
e-xml-utils.h.
* e-util/e-xml-utils.h, e-util/e-xml-utils.c: Added files for some
xml utilities.
* e-util/e-util.h: Added type EFocus which describes which
direction the focus will be coming from.
in mail:
2000-02-24 Christopher James Lahey <clahey@helixcode.com>
* message-list.c: Changed this to not use the "x" and "y"
arguments to e-table-item.
in widgets/e-table:
2000-02-24 Christopher James Lahey <clahey@helixcode.com>
* e-table-subset-variable.c, e-table-subset-variable.h: A new
model which is a subset, but you can add and remove rows.
* test-table.c: Added a thaw method for use with the
e-table-subset (emits model_changed.) Adapted to the changes to
e_table_item. Properly parse headers. Adapted to the changes to
e_table, including creating example xml spec data.
* test-cols.c, test-check.c: Added a thaw method for use with the
e-table-subset (emits model_changed.) Adapted to the changes to
e_table_item.
* e-table.c, e-table.h: Reworked e-table to use the ETable
grouping system. The only difference for the interface is that
instead of passing in a column_spec and a grouping_spec, you pass
in a single string that is an xml format that includes both pieces
of information.
* e-table-subset.h: Added rules for emacs to do correct
indentation.
* e-table-subset.c: Implemented freezing. No signals are emitted
while frozen and "model_changed" is emitted when thawed.
* e-table-sorted.h: ETableSortedClass has ETableSubset as its
parent object instead of ETableSubsetClass. Fixed this.
* e-table-simple.c, e-table-simple.h: Implemented the thaw method.
Use of simple now requires an extra argument (the thaw method.)
* e-table-model.h, e-table-model.c: Added e_table_model_freeze and
e_table_model_thaw.
* e-table-item.h, e-table-item.c: Reworked this a bit to make it
provide some things the new group system needed and to make
inter-item keyboard focus work. Changed the external interface
only in the list of arguments it recognizes and signals it emits.
Instead of "x" and "y", you have to use
e_canvas_item_move_absolute and instead of emitting a
"height_changed" signal, it emits a "resize" signal. There's new
"has_focus", "width", and "height" arguments and a function to get
the currently focused column.
* e-table-header-item.c: Got rid of some warnings here. Changed
the
* e-table-group-leaf.h, e-table-group-leaf.c,
e-table-group-container.h, e-table-group-container.c: New types to
make e_table_group work properly.
* e-table-group.h, e-table-group.c: Completely reworked e-table
grouping. e-table-group now uses a hierarchical structure.
* e-cell.h: Added e_cell_print. This doesn't work yet.
* e-cell.c: Made e_cell_realize exist. (It was improperly named
e_cell_view_realize in the .c.)
* e-cell-text.c: Made the blinking cursor disappear properly.
* check-filled.xpm, check-empty.xpm: Made these const char *[]
instead of char *[] to avoid compiler warnings.
* Makefile.am: Added e-table-group-container.c,
e-table-group-container.h, e-table-group-leaf.c,
e-table-group-leaf.h, e-table-subset-variable.c,
e-table-subset-variable.h.
svn path=/trunk/; revision=1915
2000-02-20 Damon Chaplin <damon@helixcode.com>
* widgets/shortcut-bar/Makefile.am: added libetext.a and libeutil.a
to test_shortcut_bar_LDADD, and got rid of e-icon-bar-text-item.[hc].
I'll delete these soon.
* widgets/shortcut-bar/e-icon-bar.c: changed to be a subclass of
ECanvas and to use EText instead of EIconBarTextItem. Also set
"width_set" & "height_set" of the GnomeCanvasPixbuf items so they
work in the "Small Icon" view.
* widgets/shortcut-bar/e-vscrolled-bar.c: use map/unmap instead of
show/hide for the up & down buttons to avoid queueing resizes.
Otherwise the scrolling starts off a bit jerky.
* widgets/shortcut-bar/test-shortcut-bar.c: output a message when the
main label is resized, just for info.
* widgets/shortcut-bar/*.[hc]: updated my email address.
svn path=/trunk/; revision=1867
2000-02-20 Iain Holmes <ih@csd.abdn.ac.uk>
* widgets/e-text/e-text.[ch] (_do_tooltip): Show the text of the item,
in a tooltip style.
(e_text_event): Add a timeout on the Enter and remove it on the Leave
events.
* e-text-test.c: New file to test e-text items.
svn path=/trunk/; revision=1866
2000-02-14 Miguel de Icaza <miguel@gnu.org>
* camel/providers/mbox/Makefile.am (libcamelmbox_la_LIBADD): Add
the unicode libraries as well.
* camel/camel-provider.c (camel_provider_register_as_module): Add
error reporting here. Desire to use Solaris increases. Hair loss
in the last two hours: 5,400.
* camel/providers/mbox/camel-mbox-provider.c
(camel_mbox_get_provider): Renamed function.
* camel/camel.h: All include files use camel/ now here.
* camel/providers/mbox/Makefile.am: Drop all the dynamism from
Camel, and make this a standard library.
* configure.in: set the UNICODE_LIBS variable here.
2000-02-14 Miguel de Icaza <miguel@gnu.org>
* folder-browser.c (folder_browser_load_folder): New routine,
loads a camel folder.
(folder_browser_set_uri): redo.
* session.c: new file. Implements SessionStores to keep track of
a Session/Store tuple.
svn path=/trunk/; revision=1783
Some redraw speedups and the addition of XL2000 style alpha bended selections.
2000-02-13 Jody Goldberg <jgoldberg@home.com>
* ./src/sheet-view.c (sheet_view_redraw_cell_region) : redraw the
bounding grid lines too.
* src/item-cursor.c (item_cursor_get_pixel_coords) : Clip the cursor
region to the visible range. The layout still needs cleaning to
match the 'correct' way of implementing canvas-items, but this
heuristic saves us lots of iterations through the accumulator for
the size of the entire sheet.
2000-02-12 Jody Goldberg <jgoldberg@home.com>
* src/gnumeric-sheet.c : Use visible flag and adjust to naming and
margin changes.
* src/item-bar.c (colrow_tip_setlabel) : Use the format provided by
XL2000. Things are correct for rows, colwidth are quoted in pts
rather than char widths.
(get_col_from_pos) : Use visible flag.
(item_bar_start_resize) : Function renaming.
(is_pointer_on_division) : Ditto.
(item_bar_draw) : Changes to margins.
* src/item-edit.c : Function renaming.
* src/item-cursor.c : Ditto. decrease spacing for auto handle.
* src/item-grid.c (item_grid_draw) : Remove inversion process for the
selection. Instead have the cells draw their background
differently. Use the visible flag.
(item_grid_paint_empty_cell) : Ditto.
(item_grid_paint_cell) : Ditto.
* src/mstyle.c (mstyle_new_default) : The default vert alignment is BOTTOM.
* src/pattern.c (gnumeric_background_set_gc) : Draw the background of
a selected cell differently.
* src/print-cell.c (DIM) : margins are already included.
(print_cell_text) : Adjust argument order to more closely match
cell_draw. Add support for vertical alignment of 1 line cells.
Invert control of single vs multiple lines.
(print_cell) : Adjust to changes in the arguments.
(print_cell_range) : Use the visible flag.
Draw line at the boundary rather than pretending there were
additional rows/cols.
* src/print.c (compute_groups) : size_pts INCLUDES margins. Use 'visible' flag.
(print_page) : Adjust to function renaming.
(print_range_used_units) : Ditto.
* src/selection.c : Include sheet-view directly for now.
(cb_set_row_height) : Adjust to function renaming.
* src/sheet-view.c (sheet_view_redraw_cell_region) : Adjust to function
renaming.
(sheet_view_redraw_headers) : Ditto.
(sheet_view_set_zoom_factor) : Ditto.
(sheet_view_col_size_changed) : Ditto.
(sheet_view_row_size_changed) : Ditto.
(sheet_view_comment_get_points) : Ditto.
* src/sheet.[ch] : Rationalize function names, and add glossary.
Make the use of margins and sizes (in points and pixels) consistant.
(sheet_col_get_external_width : Delete.
(sheet_row_get_external_height : Delete.
(sheet_col_get_distance : Rename sheet_col_get_distance_pixels.
(sheet_row_get_distance : Rename sheet_row_get_distance_pixels.
(sheet_row_get_unit_distance : Rename sheet_row_get_distance_pts.
(sheet_col_get_unit_distance : Rename sheet_col_get_distance_pts.
(sheet_col_set_width : Rename sheet_col_set_size_pixels.
(sheet_col_set_width_units : Rename sheet_col_set_size_pts.
(sheet_row_set_height : Rename sheet_row_set_size_pixels.
(sheet_row_set_height_units) : Rename sheet_row_set_size_pts.
(sheet_get_default_external_col_width) : Rename sheet_col_get_default_size_pts.
(sheet_get_default_external_row_height): Rename sheet_row_get_default_size_pts.
(sheet_col_set_internal_width) : sheet_col_set_internal_size_pts.
(sheet_row_set_internal_height): sheet_row_set_internal_size_pts.
(sheet_{row,col}_set_default_size_pts) : New functions.
(sheet_init_default_styles) : Tune to match XL defaults.
* src/sort.c : Use g_strcasecmp, and include <stdlib.h>
* src/style.c (style_color_new) : Init the selection colour as a 50%
alpha blend with lavender.
* src/style.h : Change default font to be Helvetica 9 because it will
scale better when the standard 96 dpi resolution is assumed.
Add a selected_color to StyleColor.
* src/value-sheet.c : Include <gnome.h> to get the
internationalization support.
* src/workbook-cmd-format.c (workbook_cmd_format_column_auto_fit) :
sheet_col_set_width -> sheet_col_set_size_pixels.
(workbook_cmd_format_column_width) :
sheet_col_set_width_units -> sheet_col_set_size_pts.
(workbook_cmd_format_row_auto_fit) :
sheet_row_set_height -> sheet_row_set_size_pixels
(workbook_cmd_format_row_height) :
sheet_row_set_height_units -> sheet_row_set_size_pts.
* src/xml-io.c (xml_read_rows_info) : Rename
sheet_row_set_height_units -> sheet_row_set_size_pts.
(xml_read_cols_info) : Rename
sheet_col_set_height_units -> sheet_col_set_size_pts.
(xml_read_colrow_info) : Remove hack with negative pixels.
Use 'visible' flag instead.
(xml_write_colrow_info) : Ditto.
svn path=/trunk/; revision=1764
2000-02-12 Iain Holmes <ih@csd.abdn.ac.uk>
* e-table-header-item.c (ethi_drag_motion): Check the ethi is actually
the one being dragged. Prevents crashes when trying to drag headeritems
and there are multiple headeritems on the same canvas.
(ethi_drag_end): Same.
(ethi_drag_drop): Same.
(ethi_drag_leave): Same.
svn path=/trunk/; revision=1745
2000-02-11 Christopher James Lahey <clahey@helixcode.com>
* test-check.c: Added test of sort arrows.
* e-table-col.h, e-table-col.c: Added sort arrows for column
headers (It doesn't actually sort. It just displays the arrows.)
* e-table-header-item.c: Added display of arrows.
svn path=/trunk/; revision=1743
2000-02-11 Christopher James Lahey <clahey@helixcode.com>
* widgets/e-text/e-text.c (e_text_event): Made a click on a text
widget set the cursor properly.
svn path=/trunk/; revision=1740
2000-02-11 Christopher James Lahey <clahey@helixcode.com>
* e-cell-text.h, e-cell-text.c: Add an editable argument to
e_cell_text_new.
* test-table.c, test-cols.c, test-check.c: Set the editable
argument to e_cell_text_new.
svn path=/trunk/; revision=1738
2000-02-11 Christopher James Lahey <clahey@helixcode.com>
* widgets/e-text/e-text.h: Removed some arguments from the .h that
will never be implemented.
svn path=/trunk/; revision=1737
2000-02-11 Christopher James Lahey <clahey@helixcode.com>
* e-table-header-item.h, e-table-header-item.c: Added reordering
of columns.
* e-table-header.c: Fixed a couple of bugs in the move column and
remove column functions.
svn path=/trunk/; revision=1736
2000-02-11 Christopher James Lahey <clahey@helixcode.com>
* e-cell-text.c: Made space around text look right. Added a
blinking cursor.
svn path=/trunk/; revision=1735
2000-02-09 Christopher James Lahey <clahey@helixcode.com>
* e-cell-text.c: Tweaked e-cell-text. Added a white background
and tweaked the borders.
svn path=/trunk/; revision=1721
2000-02-09 Christopher James Lahey <clahey@helixcode.com>
* configure.in: Add new Makefiles to Makefile list.
* e-util/Makefile.am: Add canvas utilities to libeutil.
* widgets/e-text/Makefile.am: Build libetext.
* widgets/e-minicard/Makefile.am: Build libeminicard and test
programs.
* widgets/Makefile.am: Remove all e-text and e-minicard code and
add them to the SUBDIRS list.
svn path=/trunk/; revision=1706
2000-02-07 Christopher James Lahey <clahey@helixcode.com>
* e-table-item.c (eti_event): Fixed some motion event
bugs. (incorrect x and y.)
* Makefile.am: Added includes for dependencies in
evolution/widgets/libevolutionwidgets.a
* e-cell-text.h, e-cell-text.c: Completely revamped using code
from e-text.c and e-text.h.
svn path=/trunk/; revision=1692
2000-02-07 Christopher James Lahey <clahey@helixcode.com>
* widgets/e-text.h, widgets/e-text.c: Added line wrap and a max
number of lines (max number of lines is only obeyed if text is not
being edited).
svn path=/trunk/; revision=1691
2000-02-07 Miguel de Icaza <miguel@gnu.org>
* e-table.c (e_table_setup_table): Setup the scroll region of the
table canvas on size allocation.
(e_table_canvas_realize): Do not set the scrollregion here.
(e_table_canvas_init): Move root initialization here.
svn path=/trunk/; revision=1683
2000-01-28 Christopher James Lahey <clahey@helixcode.com>
* widgets/e-text.c (e_text_command): Handle the grab and ungrab
command instead of doing focus by hand. This fixes a problem
related to the scroll wheel.
(e_text_command): Reset the blink timer in many more command
situations so that the cursor blinks less when you're interacting
with it.
* widgets/e-text-event-processor-emacs-like.c: Send the grab focus
command when starting a selection and the ungrab focus command
when ending it.
* widgets/e-text-event-processor-types.h: Added grab command type
so that the event processor can tell the widget to grab the focus.
* widgets/e-reflow.c: Redefined all sizes using #defines so that
they can be tweaked later. Added scroll wheel handling and set up
adjustment increments so that the scroll bars will work correctly.
* widgets/e-minicard.h: Added minicard focus type enum. This
doesn't mean anything yet, but it will later be used to say which
direction the focus is coming from (below for shift-tab, above for
tab.)
svn path=/trunk/; revision=1650
2000-01-28 Christopher James Lahey <clahey@helixcode.com>
* widgets/e-minicard-label.c, widgets/e-minicard.c: Use
e_canvas_item_grab_focus so that it will work with old versions of
gnome-canvas.
* widgets/e-canvas.c, widgets/e-canvas.h: Finished working around
focus bugs.
svn path=/trunk/; revision=1649
2000-01-28 Christopher James Lahey <clahey@helixcode.com>
* widgets/test-reflow.c: Set the minimum_width.
* widgets/e-reflow.h, widgets/e-reflow.c: Added one more column
line so that the right edge of the reflow will have a line. Also
added a minimum_width so that even if the reflow is thinner than
the window, when you resize it larger all the lines are drawn.
svn path=/trunk/; revision=1648