2001-02-23 Christopher James Lahey <clahey@ximian.com>
* gal/Makefile.am (libgal_la_LIBADD): Added
e-table/e-table-sorting-utils.lo.
From gal/e-table/ChangeLog:
2001-02-23 Christopher James Lahey <clahey@ximian.com>
* Makefile.am (libetable_la_SOURCES): Added
e-table-sorting-utils.c.
(libetableinclude_HEADERS): Added e-table-sorting-utils.h.
* e-table-group-container.c: Implemented add_array method. Use
add_array to implement add_all instead of using add. Did some
general clean up.
* e-table-group-leaf.c, e-table-group-leaf.h: Implemented
add_array method. Changed everything to use an ETableSubset
variable instead of an ETableSortedVariable. Implemented it as
ETableSortedVariable if there's grouping involved and ETableSorted
if there isn't.
* e-table-group.c, e-table-group.h: Added add_array method. Added
unused get_position code.
* e-table-sorted-variable.c, e-table-sorted-variable.h: Moved a
lot of the actual implementation of sorting to
e-table-sorting-utils.c. Got rid of the signal handlers here
since we weren't using them and ETableSubset has the proxy virtual
methods.
* e-table-sorted.c, e-table-sorted.h: Completely replaced these
files with a variation on ETableSortedVariable that doesn't have
the add methods and such but instead just mimics the source
model's set of rows completely.
* e-table-sorter.c, e-table-sorter.h: Added functions to get at
the arrays here.
* e-table-sorting-utils.c, e-table-sorting-utils.h: Utility
functions for doing sorting.
* e-table-subset-variable.c, e-table-subset-variable.h: Added
add_array method.
* e-table-subset.c, e-table-subset.h: Made it so that the signal
hookups to the source model's signals are virtual methods.
* e-table.c, e-table.h: Don't call add_all and add and remove type
functions if not grouped. Don't rebuild for sort changes unless
it was either grouped before or will be grouped now.
svn path=/trunk/; revision=8374
2001-02-02 Not Zed <NotZed@Ximian.com>
* e-cell-tree.c (ect_draw): If we are drawing a top-level tree
node, without any children then dont offset it for the expansion
image it doesn't need.
svn path=/trunk/; revision=8304
2001-02-20 Chris Toshok <toshok@ximian.com>
* e-tree-model.c: add some more (mostly empty) api docs.
(e_tree_model_node_changed): pass the node in the "node_changed"
signal.
(etree_destroy): e_tree_model_node_remove our root node here to
free up the tree's storage.
svn path=/trunk/; revision=8302
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-02-17 Christopher James Lahey <clahey@ximian.com>
* e-table.c (et_real_construct): Removed setting of invalid
"horizontal_scrolling" argument.
* e-table-column-model.h: Removed this as it is not used.
svn path=/trunk/; revision=8268
2001-02-17 Rusty Conover <rconover@zootweb.com>
* e-cell-tree.c (ect_max_width): Change the calculation of the
maximum with of tree cell, from O(n^2) to O(n), we don't need to
continually recalculate the maximum width of the subcells when
calculating the width of every row.
svn path=/trunk/; revision=8264
2001-02-15 Christopher James Lahey <clahey@ximian.com>
* e-table-selection-model.c
(e_table_selection_model_do_something): Made it so that if you set
the row or col to something not equal to -1, it makes sure that
the other one is also not equal to -1.
svn path=/trunk/; revision=8240
2001-02-13 Christopher James Lahey <clahey@ximian.com>
* e-table-header.c, e-table-header.h
(e_table_header_update_horizontal): This new function updates the
minimum width of all of the columns based on the data contained in
that column.
* e-table.c, e-table.h (changed_idle): Added a
horizontal_scrolling field. Call e_table_header_update_horizontal
if the model changes at all and horizontal_scrolling is set to TRUE.
svn path=/trunk/; revision=8214
2001-02-13 Christopher James Lahey <clahey@ximian.com>
* e-table-scrolled.c (e_table_scrolled_real_construct): Set policy
of scrolled window to be automatic/automatic.
* e-table-specification.c, e-table-specification.h (etsp_init):
Added a horizontal-scrolling attribute.
svn path=/trunk/; revision=8208
2001-02-13 Christopher James Lahey <clahey@ximian.com>
* e-table-item.c (eti_destroy): Fix the crash when ETableItems are
destroyed.
svn path=/trunk/; revision=8207
2001-02-11 Christopher James Lahey <clahey@ximian.com>
* e-table-selection-model.c (change_one_row): Fix selection so
that changing a model row equal to 31 mod 32 works.
svn path=/trunk/; revision=8170
2001-02-11 Christopher James Lahey <clahey@ximian.com>
* e-table-item.c (eti_cursor_change): Let
e_canvas_item_show_area_delayed deal with a delayed area show
instead of dealing with it ourselves.
svn path=/trunk/; revision=8169
2001-02-08 Christopher James Lahey <clahey@ximian.com>
* e-table.c (e_table_setup_header): Set the dnd_code on the header
properly.
svn path=/trunk/; revision=8110
2001-02-08 Christopher James Lahey <clahey@ximian.com>
* e-tree-model.c, e-tree-model.h (e_tree_model_show_node): Added
this function. Made frozen an int so that recursive freezes and
thaws behaves properly.
svn path=/trunk/; revision=8106
2001-02-06 Christopher James Lahey <clahey@ximian.com>
* e-cell-date.c (ecd_get_text): Change encoding from locale
encoding to utf8.
svn path=/trunk/; revision=8033
2001-02-05 Christopher James Lahey <clahey@helixcode.com>
* e-table-header-item.c: Changed the text to pop up the Field
Chooser.
svn path=/trunk/; revision=7988
2001-02-04 Christopher James Lahey <clahey@ximian.com>
* e-table-item.c (view_to_model_col): Make this not error out if
ecol is not found, but simply return -1.
(eti_event): Don't call view_to_model_col here as we already have
a model column.
svn path=/trunk/; revision=7960
2001-02-02 Not Zed <NotZed@Ximian.com>
* e-table-selection-model.c (model_row_deleted): Dont overwrite
the end of our bitmap array.
svn path=/trunk/; revision=7944
2001-01-31 Larry Ewing <lewing@ximian.com>
* e-table-item.c (view_to_model_col): make the segfault caused by
double clicking into a critical warning until it can be fixed.
svn path=/trunk/; revision=7927
2001-01-30 Christopher James Lahey <clahey@helixcode.com>
* e-table-click-to-add.c (etcta_event): Made the contained
%ETableItem have cursor_mode as %E_TABLE_CURSOR_SPREADSHEET.
* e-table-defines.h, e-table-item.c, e-table-specification.c:
Added a new cursor mode E_TABLE_CURSOR_SPREADSHEET. This is
accessed using cursor_mode="spreadsheet" in your specification
xml, as well as by the click_to_add item. It is identical to
E_TABLE_CURSOR_SIMPLE, except that tab goes to the next item in
the table instead of to the next widget.
svn path=/trunk/; revision=7910
2001-01-30 Christopher James Lahey <clahey@helixcode.com>
* e-table-click-to-add.c (etcta_event): Made carriage return
finish editing.
* e-table-item.c (eti_event): Made carriage return key press
signal go out before sending it to the selection model.
svn path=/trunk/; revision=7909
2001-01-29 Christopher James Lahey <clahey@ximian.com>
* gal/Makefile.am (libgal_la_LIBADD): Added e-cell-number.lo
From gal/e-table/Changelog:
2001-01-29 Christopher James Lahey <clahey@ximian.com>
* Makefile.am: Added e-cell-number.c and e-cell-number.h.
* e-cell-number.c, e-cell-number.h: A new cell for rendering
numbers.
* e-table-extras.c (ete_init): Added a default number cell. Made
the default size cell right aligned.
svn path=/trunk/; revision=7889
2001-01-28 Christopher James Lahey <clahey@helixcode.com>
* e-table-item.c, e-table-item.h: Made the scrolling to show the
current roll happen in a time out.
svn path=/trunk/; revision=7875
2001-01-27 Christopher James Lahey <clahey@helixcode.com>
* e-table-item.c (eti_event): Make home and end keys move to the
beginning and end of the row if cursor mode is set to
E_TABLE_CURSOR_SIMPLE. Otherwise have %ETableSelectionModel
handle them.
* e-table-selection-model.c, e-table-selection-model.h: Added a
"cursor_mode" argument.
(e_table_selection_model_key_press): Made home and end keys move
the beginning and end of the table if cursor_mode is
E_TABLE_CURSOR_MODE_LINE.
* e-table.c: Set the cursor-mode argument of our
%ETableSelectionModel.
svn path=/trunk/; revision=7864
2001-01-27 Christopher James Lahey <clahey@helixcode.com>
* e-table-item.c (eti_event): Make ETable stop editing when it
looses focus.
* e-table.c (et_canvas_button_press): Make ETable stop editing if
you click on an unhandled area of the table canvas (The white area
at the bottom for instance.)
svn path=/trunk/; revision=7849
2001-01-25 Federico Mena Quintero <federico@ximian.com>
* e-table.c (e_table_init): Set the GTK_CAN_FOCUS flag on the
widget, since an ETable ought to be focusable.
(e_table_class_init): Override ::grab_focus() and ::focus().
(et_grab_focus): Since people may do gtk_widget_grab_focus() on
the ETable, we have to proxy the request to the actual focusable
canvas.
(e_table_setup_header): Unset GTK_CAN_FOCUS for the header canvas.
(et_focus): Reject focus if our child canvas already had it.
* e-table-scrolled.c (e_table_scrolled_init): Set the
GTK_FOCUS_FLAG on the widget. This is just so that people can
easily do gtk_widget_grab_focus (my_e_table_scrolled) on their own
applications.
(e_table_scrolled_class_init): Override ::grab_focus() and
::focus().
(ets_grab_focus): Proxy the grab_focus to our child ETable.
(ets_focus): Proxy the request to the child ETable.
svn path=/trunk/; revision=7830
2001-01-25 Christopher James Lahey <clahey@helixcode.com>
* e-table-selection-model.c (move_selection): Made this correctly
check for going off the end of the table.
svn path=/trunk/; revision=7817
2001-01-25 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:
Documented. Added a "cursor_activated" signal. Removed some
unused functions (e_table_group_get_count and
e_table_group_get_ecol).
* e-table-selection-model.c, e-table-selection-model.h: Added a
"cursor_activated" signal. Call it when the user changes the
selection to match the cursor.
* e-table.c, e-table.h: Added a "cursor_activated" signal. Fixed
the e_table_compute_location function to take into account the
scrolled position.
svn path=/trunk/; revision=7808
2001-01-21 Christopher James Lahey <clahey@helixcode.com>
* e-table-selection-model.c: Made the cursor move when rows are
inserted or deleted. If in single mode and the selected row gets
removed, move it up.
svn path=/trunk/; revision=7691
2001-01-21 Christopher James Lahey <clahey@helixcode.com>
* e-table-header-item.c (ethi_header_context_menu): Made this
conform to the new prototype for e_popup_menu_run.
* e-table-item.c, e-table-item.h: Documented.
(e_table_item_is_row_selected): Removed this function.
(eti_draw): Changed this so that if the ETableItem is in
cursor-mode="row", the cursor is draw all the way across the row.
(eti_cursor_move_up, eti_cursor_move_down): Commented these out
since they're no longer used.
(_do_tooltip, eti_event): Commented out tooltips.
(eti_event): Made it so that we call the key_press function in the
%ETableSelectionModel on each key press.
* e-table-selection-model.c, e-table-selection-model.h:
Documented. Added a function e_table_selection_model_key_press
that does whatever behavior is correct for the user having pressed
the given key. Changed the behavior of this to better match
windows (use selection-mode="browse").
* e-table-specification.c, e-table-specification.h: Added a
draw_focus variable.
* e-table.c: Decide whether to draw the focus based on the
ETableSpecification. Removed the argument for setting whether to
draw the focus.
svn path=/trunk/; revision=7673
Do most of the work to get Grouping working, by reusing massive
ammounts of code from the sorting pieces.
2001-01-19 Miguel de Icaza <miguel@gnu.org>
* e-table-config.c (group_entry_changed, group_ascending_toggled):
New methods.
(configure_group_dialog): New function, sets up the group GUI.
(e_table_config_construct): Populate column names here and use in
configure_group_dialog and configure_sort_dialog
(sort_entry_changed, sort_ascending_toggled): renamed from
entry_changed, ascending_toggled.
svn path=/trunk/; revision=7637
2001-01-18 Miguel de Icaza <miguel@gnu.org>
* e-table-config.c (configure_sort_dialog): Keep track of the
valid column names (not used right now).
(config_destroy): release column names
(entry_changed): Handle invalid input to mean "Next entry is
grayed out".
* e-table-header-item.c (ethi_popup_customize_view): Hook up to
the "apply" signal on the dialog box to apply the changes.
(apply_changes): New function to apply the changes from the
ETableConfig object.
* e-table-sort-info.c (e_table_sort_info_load_from_node): Notify
of sort info changes.
* e-table-header-item.c: Swapped the way arrows were done, so that
they actually match the sorting that its expected.
* e-table.c: Added inline documentation for a few methods.
* e-table-config.h: Dropped ::spec, and temp_spec, we always use
::source_spec, as we never modify this variable.
svn path=/trunk/; revision=7633
2001-01-18 Federico Mena Quintero <federico@ximian.com>
* e-table-subset.c (etss_destroy): Disconnect from the
etss->source's signals *before* we unref it.
* e-table-group-container.c (e_table_group_apply_to_leafs): Ref()
and unref() around the callback to protect ourselves from being
unrefed in the middle of iterating through the nodes.
svn path=/trunk/; revision=7621
2001-01-18 Miguel de Icaza <miguel@gnu.org>
* e-table-config.c (find_model_column_by_name): New function.
(update_sort_config_dialog): Massive update to this function, it
is almost complete now, it just needs a few cosmetic touchups.
(config_sort_config_show): Get the main interaction working as
well.
(config_group_info_update): Beautify.
(entry_changed): Do all the magic for the GUI for entries.
(ascending_toggled): Implement callback.
(configure_sort_dialog): Do also descending.
(configure_sort_dialog): Hook up changed/toggled.
* e-table-config.h: Put all the configuration stuff for sorting
into its own structure to pass around funny functions.
svn path=/trunk/; revision=7617
This fixes translations of library messages compared to application messages.
2001-01-17 Miguel de Icaza <miguel@gnu.org>
* po/POTFILES.in: update.
* gal/widgets/color-palette.c: use e-i18n.h
* gal/util/e-i18n.h: Avoid inclussion of the GNOME i18n file as we
provide our own.
2001-01-17 Miguel de Icaza <miguel@gnu.org>
* e-table-header-item.c: Use e-i18n.h here.
* e-table.c (et_col_spec_to_col): Use gettext here.
(et_real_construct): Use gettext too.
(et_col_spec_to_col): Use gettext here.
* e-cell-date.c: Use e-i18n.h here.
* e-table-config.c (config_sort_info_update): Simplify column
grabbing code and drop item layout code.
(config_group_info_update): ditto.
* e-table-config.c: Get correct translation setup working.
2001-01-17 Miguel de Icaza <miguel@gnu.org>
* e-group-bar.c: Use e-i18n.h
svn path=/trunk/; revision=7565
2001-01-16 Miguel de Icaza <miguel@gnu.org>
* e-table-config.c (configure_sort_dialog): Load frames.
* Kill e-table-config-field.c
* e-table-specification.c (e_table_specification_save_to_file):
Specify version to xmlNewDoc.
* e-table-state.c (e_table_state_save_to_string): Specify version
to xmlNewDoc.
* e-table-config.c (config_destroy): Destroy the copies. Unref
the originals.
(e_table_config_construct): Duplicate values of configuration
here.
(configure_sort_dialog): New function that populates the sort gtk
combo boxes.
* e-table.c (et_col_spec_to_col): Fixup use of title here. Do the
actual translation here.
* e-table-column-specification.c: Remove title_, it is now called
title. Translation needs to take place elsewhere, not here
* e-table-specification.c (e_table_specification_duplicate): Add
preconditions here.
(e_table_specification_save_to_node): ditto.
(e_table_specification_save_to_string): ditto.
(e_table_specification_save_to_file): ditto.
* e-table-state.c (e_table_state_duplicate): Implement.
* e-table-config.glade (dialog_sort): Change drop down menus to
use GtkComboText widgets.
* e-table-config.c (configure_dialog): New function, used to set
up dialogs.
svn path=/trunk/; revision=7563
2001-01-16 Christopher James Lahey <clahey@helixcode.com>
* e-table-config.c: Added a bit of documentation.
(config_sort_config_show, config_group_config_show):
gnome_dialog_set_parent on the config->dialog_toplevel instead of
the config.
* e-table-specification: Pass "1.0" instead of NULL to xmlNewDoc
here.
* e-table-state.c, e-table-state.h: Pass "1.0" instead of NULL to
xmlNewDoc here. Make sure that sort_info is never NULL if this
object exists. Added ETableStateDuplicate.
svn path=/trunk/; revision=7542
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