2000-05-08 Christopher James Lahey <clahey@helixcode.com>
* e-cell-text.c: Make multi-line texts display properly. Fixed
some mem leaks.
svn path=/trunk/; revision=2911
2000-05-07 Christopher James Lahey <clahey@helixcode.com>
* e-table-item.c, e-table-item.h, e-table.c, e-table.h: Handle
row_inserted and row_deleted signals properly.
* e-table-model.c, e-table-model.h: Created the row_inserted and
row_deleted signals.
* e-table-sorted-variable.c, e-table-subset-variable.c: Emit the
row_inserted and row_deleted signals as appropriate.
svn path=/trunk/; revision=2879
* e-cell-text.c (ect_accept_edits): only to set_value_at if the
value is indeed different.
(ect_stop_editing): free edit->cell.starting_text
(build_current_cell): initialize edit->cell.starting_text as a
copy of the initial text.
svn path=/trunk/; revision=2858
2000-05-06 Christopher James Lahey <clahey@helixcode.com>
* e-table-group-container.c, e-table.c: Killed some warnings.
svn path=/trunk/; revision=2836
* e-table-sorted-variable.c (etsv_sort): use rows here instead of
E_TABLE_SUBSET(etsv)->n_map, since the table can be populated by
the gtk_main_iteration above. otherwise the vals_closure may not
be fully populated.
svn path=/trunk/; revision=2809
2000-05-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: Add an e_table_group_add_all
function and implement it in the different ETableGroup classes.
* e-table-sort-info.c: Make set_nth not call changed twice if it
needs to allocate more space.
* e-table-sorted-variable.c, e-table-subset-variable.c,
e-table-subset-variable.h: Add and implement an
e_table_subset_variable_add_all command.
* e-table.c: Use e_table_group_add_all as appropriate. Fix ETable
grouping xml to work if there is a text element at the bottom of
the grouping tree.
svn path=/trunk/; revision=2806
2000-05-04 Christopher James Lahey <clahey@helixcode.com>
* e-table-item.c, e-table-item.h: Added a height_cache idle loop
so that the height_cache will be validated in the idle loop.
svn path=/trunk/; revision=2794
2000-05-04 Christopher James Lahey <clahey@helixcode.com>
* e-table-sorted-variable.c: Load all the data to be sorted by
before actually doing the sort.
svn path=/trunk/; revision=2793
2000-05-04 Christopher James Lahey <clahey@helixcode.com>
* e-cell-text.c, e-cell-text.h: Fix author information.
* e-table-group-leaf.c: Set a length threshold of 200.
* e-table-item.c: Height cache is now actually a map. Made
"length_threshold" argument work. If over the length threshold,
use the height cache to get a better estimate so that once the
height cache is full, height estimate is perfect.
svn path=/trunk/; revision=2791
2000-05-04 Christopher James Lahey <clahey@helixcode.com>
* e-table-sorted-variable.c (qsort_callback): Add back in main
loop calls during sorting.
svn path=/trunk/; revision=2788
2000-05-04 Christopher James Lahey <clahey@helixcode.com>
* e-table-sorted-variable.c: Replace insert sort completely with a
qsort.
svn path=/trunk/; revision=2786
2000-05-04 Christopher James Lahey <clahey@helixcode.com>
* e-table-sorted-variable.c: Changed the insert sort to be binary
instead of linear.
svn path=/trunk/; revision=2784
2000-04-30 Christopher James Lahey <clahey@helixcode.com>
* e-table-header-item.c: Made this more reentrant.
* e-table-sorted-variable.c, e-table-sorted-variable.h: Does a
proper resort when the sorting info changes.
* e-table.c, e-table.h: Made it so that ETable doesn't destroy and
recreate the entire table when sorting info changes.
svn path=/trunk/; revision=2704
2000-04-24 Miguel de Icaza <miguel@helixcode.com>
* e-table.c (e_table_class_init): Add argument handling here.
* e-table-group-leaf.c (e_table_group_apply_to_leafs): New method.
Enables us to walk all the children of an ETableGroup.
* e-table.c (et_get_arg, et_set_arg): Implement ::get and ::set
methods.
(e_table_construct_from_spec_file): Now we return the etable.
(e_table_construct): ditto.
(et_real_construct): Now we return the ETable. Returns NULL on
construct failure.
(e_table_new): ditto.
(e_table_new_from_spec_file): ditto.
* (et_build_grouping_spec): Removed vestige code that still
contained references to the etable->specification XML code.
Dumped all the ifdefed out code.
* e-table.h: Removed ETable->specification finally.
svn path=/trunk/; revision=2632
2000-04-25 Christopher James Lahey <clahey@helixcode.com>
* e-table-size-test.c: Fixed a warning.
* e-table-item.c: Removed the unnecessary gnome_canvas_update_bbox.
svn path=/trunk/; revision=2598
2000-04-24 Christopher James Lahey <clahey@helixcode.com>
* widgets/e-text/e-text.c: Made the tooltip show up in the correct
place and configuration when using the "max_lines", "anchor"
(untested), or "justification" arguments.
From a patch by Iain Holmes <ih@csd.abdn.ac.uk>
* widgets/e-text/e-text-event-processor-emacs-like.c,
widget/e-text/e-text-event-processor-types.h,
widgets/e-text/e-text.c, widgets/e-text/e-text.h: Changed C-w and
C-y to control the X clipboard. Added double and triple click
events.
From widgets/e-table/:
2000-04-24 Christopher James Lahey <clahey@helixcode.com>
* e-table.c: Fixed some warnings.
svn path=/trunk/; revision=2581
2000-04-23 Iain Holmes <ih@csd.abdn.ac.uk>
* e-table-item.c (eti_bounds): Calculate the width of the table from the
width of all the columns, and update the eti->width field as appropiate.
(eti_update): Update the bbox.
svn path=/trunk/; revision=2572
* Makefile.am (noinst_PROGRAMS): add table-size-test
* .cvsignore: add table-size-test.
* e-cell-text.c (ect_ecent): use e_table_model_is_cell_editable
instead of E_CELL_EDITABLE.
* e-cell-toggle.c (etog_event): same.
* e-cell.c (e_cell_init): don't call e_cell_set_editable. that
info comes from the model.
(e_cell_set_editable): removed function.
* e-cell.h: remove the E_CELL_EDITABLE flag. that should be
retrieved from the model. also, remove the prototype for
e_cell_set_editable.
* e-table-size-test.c: new file, for a stress test of sorts, of a
large, uneditable e-table.
svn path=/trunk/; revision=2468
2000-04-16 Anders Carlsson <andersca@gnu.org>
* e-table-item.c (eti_event): Propagate mouse wheel events upwards.
* e-table.c (et_real_construct): Use a GtkScrolledWindow here
instead of a GtkScrollbar, since it makes mouse wheel scrolling
much easier.
svn path=/trunk/; revision=2463
+ (search_entry_activated): New function. Gets called when the quick
+ search entry is called on to perform a search.
+ (make_quick_search_widget): New function; returns a "quick search"
+ widget.
+ (control_activate): During the construction of the toolbar, a
+ "quick search" widget is included.
+
+ * e-table.c (et_xml_to_header): sanity-check our parameters.
+ (et_grouping_xml_to_sort_info): same.
+ (et_real_construct): Bail if we couldn't get the children we
+ wanted.
svn path=/trunk/; revision=2455
2000-04-14 Miguel de Icaza <miguel@gnu.org>
* e-table.c, e-table.h: Switch the parent object to be a GtkTable.
(et_real_construct): apply massaging and some loving action to
make the thing behave as a GtkTable.
(e_table_init): More love.
svn path=/trunk/; revision=2431
2000-04-12 Miguel de Icaza <miguel@gnu.org>
* e-table-header-item.c (ethi_drag_motion): Remove test for
source. We will fix this later.
svn path=/trunk/; revision=2413
2000-04-11 Miguel de Icaza <miguel@helixcode.com>
* e-table-header-item.c (ethi_add_destroy_marker): Add group
indent width here.
(is_pointer_on_division): Use the group indent here, so the
resize pointer is shown at the correct time.
(TOLERANCE): Bump it up to 3
(draw_button): Do not paint an arrow if there is an icon present,
and not enough space to paint.
2000-04-10 Miguel de Icaza <miguel@helixcode.com>
* e-table-header-item.c (make_shapped_window_from_xpm): New
routine, creates a shapped mask window from an xpm buffer.
(ethi_add_drop_marker): New version, uses shaped windows instead
of canvas items to signal the drop location.
(ethi_maybe_start_drag): Disable dragging if there is only one
column left.
svn path=/trunk/; revision=2390
2000-04-10 Miguel de Icaza <miguel@gnu.org>
* e-table-header-item.c (ethi_drag_motion): Drop frozen count
support from here.
(ethi_start_drag): ditto.
* e-table-header.h: Kill frozen_count.
svn path=/trunk/; revision=2385
+ Added gtk_widget_push/pop_colormap/visual, which I assume is
+ necessary for canvas use.
+
+ * folder-browser.c (folder_browser_new): set folder_browser->uri
+ to NULL, so that we know when to free it.
+
+ * e-table-col.c (e_table_col_new_with_pixbuf): ref etc->ecell,
+ like in e_table_col_new, since that same ECell is unref'd in
+ etc_destroy().
+
svn path=/trunk/; revision=2350
2000-04-08 Christopher James Lahey <clahey@helixcode.com>
* e-table.c: Separated some functions into an xml bit and a
generic bit.
svn path=/trunk/; revision=2346
2000-04-06 Christopher James Lahey <clahey@helixcode.com>
* test-cols.c, test-table.c: Got rid of some warnings.
* e-table-group-container.c, e-table-group-container.h,
e-table-group-leaf.c, e-table-group-leaf.h, e-table-group.c,
e-table-group.h, e-table-header-item.c, e-table-header-item.h,
e-table-sort-info.c, e-table-sort-info.h,
e-table-sorted-variable.c, e-table-sorted-variable.h, e-table.c,
e-table.h: Changed ETableSortInfo to not use xml internally.
svn path=/trunk/; revision=2305
2000-04-06 Miguel de Icaza <miguel@gnu.org>
* shell/e-shortcut.c (shell_icon_cb): Load the icons from the
installation path, not form the GNOME-libs installation prefix.
(shell_icon_cb): Memory leak fix.
* shell/Makefile.am (imagesdir): Pass the EVOLUTION_IMAGES
installation directory here.
* art/Makefile.am (images_DATA): Renamed from pixmaps to images.
2000-04-06 Miguel de Icaza <miguel@gnu.org>
* message-list.c: Stick pixmaps here.
* mail-display.c (embeddable_destroy_cb): Replaced C++ comments
with C comments.
* message-list.c (load_internal_images): New function, loads images.
(message_list_init_renderers): Load images, fix previous attempt
at loading images.
* Makefile.am (dist-hook): Added distribution of pixmaps.
* pixmaps: New directory, used to hold the XPMs we ship with.
* pixmaps/envelope-closed.xpm, pixmaps/envelope-open.xpm: Tigert's
envelopes incorporated.
2000-04-06 Miguel de Icaza <miguel@gnu.org>
* e-cell-text.c: Killed ARG_EDITABLE.
(ect_event): Updated to new editable setup.
(e_cell_text_new): Kill editable argument.
* e-cell-toggle.c (etog_event): Handle editability here
* e-cell-text.h: Removed editable bit field from here, it is now
taken care at the e-cell level.
* e-cell.c (e_cell_set_editable): New function.
(e_cell_init): Set editable to TRUE by default.
* test-check.c (check_test): update to new api
* test-table.c (table_browser_test): ditto.
(do_e_table_demo): ditto.
* test-cols.c (multi_cols_test): ditto
svn path=/trunk/; revision=2302
2000-04-04 Christopher James Lahey <clahey@helixcode.com>
* widgets/e-minicard/e-minicard.c: Fixed some referencing and
lifetime issues.
From widgets/e-table:
2000-04-04 Christopher James Lahey <clahey@helixcode.com>
* e-table-text-model.c: Make this assert a bit more readable.
* e-table-item.c: Fix update loop behavior.
svn path=/trunk/; revision=2291
2000-03-26 Matias Mutchinick <matias@seul.org>
* e-cell-toggle.c (etog_draw): Removed extra code that computed
bogus width. This was the actual source of the problem with the
miss-rendering feature.
svn path=/trunk/; revision=2173
2000-03-21 Christopher James Lahey <clahey@helixcode.com>
* e-table.c: Make rectangles resize properly when receiving the
"model_changed" signal.
svn path=/trunk/; revision=2135
* e-table-group-container.c, e-table-group-container.h,
e-table-group-leaf.c: Updated these to use the new ECanvas reflow
infrastructure.
* e-table-item.c, e-table-item.h: Updated these to use the new
ECanvas reflow infrastructure. Fixed the bounding box.
* e-table.c, e-table.h: Made the header have no extra space around it.
svn path=/trunk/; revision=2124
2000-03-19 Christopher James Lahey <clahey@helixcode.com>
* e-table-header.c: Fixed a crashing bug when you close an
ETable.
svn path=/trunk/; revision=2120
2000-03-13 Christopher James Lahey <clahey@helixcode.com>
* e-cell-text.c: Fixed a crashing bug when you cancel an edit.
svn path=/trunk/; revision=2113
2000-03-12 Christopher James Lahey <clahey@helixcode.com>
* widgets/Makefile.am: Rearranged SUBDIRS for dependencies.
* widgets/e-text/e-text-model.c, widgets/e-text-model.h: New
object which stores a piece of text data. All methods are
virtual.
* widgets/e-text/e-text.c, widgets/e-text/e-text.h: Modified this
to use an ETextModel for its data.
* widgets/e-text/Makefile.am: Added e-text-model.c and e-text-model.h.
* widgets/e-minicard/test-minicard-label.c: Made this work again.
* widgets/e-minicard/e-minicard.c,
widgets/e-minicard/e-minicard.h: Made this use an ETableModel to
get its data.
* widgets/e-minicard/e-minicard-label.c,
widgets/e-minicard/e-minicard-label.h: Added the ability to set
the text model used for the contained text widget.
* widgets/e-minicard/Makefile.am: Added e-table since e-minicard
is now dependent on an e-table-model for its data.
* e-util/e-canvas.c, e-util/e-canvas.h: Fixed some bugs here to
speed up reflow and to make it fail less often.
* addressbook/demo, addressbook/demo/.cvsignore,
addressbook/demo/Makefile.am, addressbook/demo/demo.c,
addressbook/demo/spec: A new program to test ETable and EMinicard
integration.
* configure.in: Added addressbook/demo/Makefile.
* addressbook/Makefile.am: Added the demo/ subdirectory.
in widgets/e-table/:
2000-03-12 Christopher James Lahey <clahey@helixcode.com>
* e-table.c: Made this use an ECanvas. Fixed a bug where
e_table_new_from_spec_file was calling e_table_construct instead
of e_table_construct_from_spec_file.
* e-table-item.c, e-table-header-item.c, e-table-column-item.c:
Switched these to use GTK_TYPE_OBJECT and GTK_VALUE_OBJECT instead
of GTK_TYPE_POINTER and GTK_TYPE_OBJECT.
* e-cell-text.c: Got rid of a crashing bug.
* e-table-text-model.c, e-table-text-model.h: A new object which
is an e-text-model which uses an e-table-model for its data.
* Makefile.am: Added e-table-text-model.c and
e-table-text-model.h.
* .cvsignore: Added table-example-1 and table-example-2.
svn path=/trunk/; revision=2101
2000-03-08 Christopher James Lahey <clahey@helixcode.com>
* e-table.c: Changed the destroy function to disconnect from
signals before unrefing the objects the sinnals are on. Changed
the destroy function to match the objects and signal ids properly
in its disconnect section.
* e-table-item.c, e-table-item.h: Changed this to do follow the
canvas rules better.
* e-table-header-item.c, e-table-header-item.h: Made
ETableHeaderItem connect to the "sort_info_changed" on its
ETableSortInfo instead of just manually redrawing itself. Fixed
the update function a bit to follow the canvas rules a bit better.
svn path=/trunk/; revision=2087
2000-03-06 Christopher James Lahey <clahey@helixcode.com>
* e-table-item.c: Made rows get unselected when switching from one
group to the next.
svn path=/trunk/; revision=2075