+ 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
2000-03-06 Christopher James Lahey <clahey@helixcode.com>
* e-table-group-container.c: Use the style's font if lucidasans-10
is not found.
svn path=/trunk/; revision=2073
2000-03-06 Christopher James Lahey <clahey@helixcode.com>
* e-table-header-item.c, e-table-header-item.h: Made it so that
columns would be properly indented.
svn path=/trunk/; revision=2072
2000-03-06 Christopher James Lahey <clahey@helixcode.com>
* e-table-sorted-variable.c: Have identical values get sorted by
their actual row.
svn path=/trunk/; revision=2071
2000-03-06 Christopher James Lahey <clahey@helixcode.com>
* e-table.c, e-table.h: Add a "row_selection" signal.
* test-table.c: Test the new "row_selection" signal.
* e-table-group-container.c, e-table-group-leaf.c: Implement the
"row_selection" property properly.
* e-table-group.c, e-table-group.h: Add a "row_selection" signal.
svn path=/trunk/; revision=2069
2000-03-05 Christopher James Lahey <clahey@helixcode.com>
* e-table.c, e-table.h: Added support for the sorting info. The
Etable creates a sort_info object, and then connects to the
signals to rearrange the rows when the sort_info changes. It also
passes the info object to the ETableHeaderItem.
* e-table-model.c: Fixed a typo where ETableModel was written as
ETableModle.
* e-table-header.c, e-table-header.h: Added some code for sorting
here, but it's not used. I don't think we want this code, but I
wanted to check it in at least once so that it's not lost.
* e-table-header-item.c, e-table-header-item.h: Added a
"sort_info" argument to ETableHeaderItem. Added display of
current sort settings. Added support for clicking to change the
sort settings.
* e-table-col.h: E_TABLE_COL_ARROW_NONE is marked as being = 0
since this is required in other places. (I think C defines this
as being the case, but it's good to have the = 0 there so that
it's obvious that it has to be first.)
* TODO: Mark sorting as done.
* e-table-sort-info.c, e-table-sort-info.h: New files for
containing the xml grouping/sorting information and for sending
signals on that information.
* Makefile.am: Added e-table-sort-info.c and e-table-sort-info.h.
svn path=/trunk/; revision=2060
2000-03-04 Christopher James Lahey <clahey@helixcode.com>
* e-table.c: Added saving of frozen_columns count. Added a
vertical scrollbar to ETable.
svn path=/trunk/; revision=2052
2000-03-04 Christopher James Lahey <clahey@helixcode.com>
* e-table.c: Push the proper visual and colormap for ETable to work.
svn path=/trunk/; revision=2049
2000-03-04 Christopher James Lahey <clahey@helixcode.com>
* TODO: Touched this up a bit.
* e-table-group.c, e-table-group-leaf.c: Check for NULL before
calling gtk_object_unref or gtk_object_destroy.
svn path=/trunk/; revision=2045
2000-03-04 Christopher James Lahey <clahey@helixcode.com>
* e-table-item.c: Fixed a compile warning.
* e-table.c: Fixed a crash error.
svn path=/trunk/; revision=2039
2000-03-04 Christopher James Lahey <clahey@helixcode.com>
* TODO: Added a bunch of stuff to the TODO list. Put +s before a
few of the items that are finished.
* test-table.c: Add a button to save the spec file.
* e-table.c, e-table.h: Add loading configurations from files as
well as the ability to get the current configuration out of the
widget.
svn path=/trunk/; revision=2025
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 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-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>
* 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