2000-12-13 Christopher James Lahey <clahey@helixcode.com>
* e-table-header-utils.c, e-table-header-utils.h
(e_table_header_width_extras): New function to calculate the extra
pixels per column header.
* e-table-header.c, e-table-header.h: Added a "width_extras"
argument which is used to calculate the correct minimum widths for
each column header after adding padding.
* e-table-item.c (_do_tooltip): Destroy the old tooltip window
when creating the new one.
(eti_event): Destroy the old tooltip window if the person presses
a key. Don't handle the tab key.
* e-table.c (et_state_to_header): Set the ETableHeader's
width_extras argument.
svn path=/trunk/; revision=6978
2000-12-07 Chris Toshok <toshok@helixcode.com>
* e-table.c (e_table_set_state_object): set "sort_info" on our
sorter when we get a new sort_info to keep things in sync.
* e-table-sorter.c (ets_set_arg): new function, allowing the
setting of "sort_info".
(ets_get_arg): new function, allowing the getting of "sort_info".
(ets_class_init): fill in GtkObject::set_arg and get_arg.
(ets_sort): set ets->needs_sorting to 0 so we don't sort
unnecessarily.
(e_table_sorter_model_to_sorted): we may have ets->backsorted (and
should use it if we do) even if we didn't need to sort.
(e_table_sorter_sorted_to_model): same, except ets->sorted.
svn path=/trunk/; revision=6857
2000-12-07 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.c,
e-table.h: Add column and GdkEvent * parameters to the double
click signal.
* e-table-header-item: Unref the ETableFullHeader when we're done
with it.
* e-table-scrolled.c, e-table-scrolled.h: Remove all of the
proxies and add a function e_table_scrolled_get_table and a gtk
argument "table".
svn path=/trunk/; revision=6850
2000-12-07 Federico Mena Quintero <federico@helixcode.com>
* e-table-state.c (e_table_state_save_to_string): Free the xmlDoc
when we are done with it.
(e_table_state_save_to_file): Ditto.
* e-table.c (e_table_get_state): Unref the state object; why was
it being sunk instead?
(e_table_save_state): Ditto.
(e_table_load_state): Ditto.
(e_table_set_state): Ditto.
* e-table-header-item.c (ethi_destroy): Free the ethi->dnd_code.
svn path=/trunk/; revision=6837
* e-table.c (e_table_set_state_object): disconnect the
"group_info_changed" signal on the old sort_info and connect it to
the new one. (Noticed because of a gtk warning in et_destroy, but
probably fixes some actual bug(s) too.)
svn path=/trunk/; revision=6809
2000-11-02 Christopher James Lahey <clahey@helixcode.com>
* e-table-config.glade, e-table-config.glade.h: Updated these
unused glade files to better match the versions in the code.
* e-table.c, e-table.h: Added e_table_selected_count and
"selection_change" signal.
* e-tree-model.c: Fixed an out of order
svn path=/trunk/; revision=6354
2000-10-20 Christopher James Lahey <clahey@helixcode.com>
* e-table.c, e-table.h: Added e_table_set_state_object which loads
the state from the given ETableState object.
svn path=/trunk/; revision=6099
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-18 Christopher James Lahey <clahey@helixcode.com>
* e-table.c: Fixed the color of the background rectangle. Made
the rectangle start at the bottom of the table so that the row
lines are still there.
svn path=/trunk/; revision=5993
2000-10-18 Christopher James Lahey <clahey@helixcode.com>
* e-table.c: Make background color of ETable match the background
color of item rows.
svn path=/trunk/; revision=5989
2000-10-18 Christopher James Lahey <clahey@helixcode.com>
* e-table-field-chooser-dialog.h: Removed an unnecessary glade
include file.
* e-table-field-chooser.c: Make sure that glade is initialized.
* e-table.c, e-table.h: Added a white background to the ETable.
svn path=/trunk/; revision=5988
2000-10-15 Christopher James Lahey <clahey@helixcode.com>
* e-table.c: Made it so that ETable won't use a state with 0
columns.
svn path=/trunk/; revision=5931
2000-10-13 Christopher James Lahey <clahey@helixcode.com>
* gal/Makefile.am: Added e-table-config-field.lo.
* tests/test-tree-2.c: Changed this to use cursor-mode in the xml
instead of the no longer existing gtk argument.
From gal/e-table/ChangeLog:
2000-10-13 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Added e-table-config-field.c and
e-table-config-field.h.
* e-table-column-specification.c: Cleaned this up a bit. Made it
leak less memory.
* e-table-config-field.c, e-table-config-field.h: New files.
This is the configuration widgets for sorting or grouping.
* e-table-config.c, e-table-config.h: Nuked these and replaced
them with a widget that handles all the ETable configuration.
* e-table-config.glade, e-table-config.glade.h: Updated this a bit
to match what's actually being used better. This isn't used in
actual code.
* e-table-header-item.c, e-table-header-item.h: Added a pointer to
the table in the header item structure so that we can launch the
configuration from the header item right click menu. Made the
header item launch the ETable configuration dialog.
* e-table.c, e-table.h: Keep the spec given to us around. Added a
get_state_object function which returns an ETableState *. Set the
"table" argument on the header item.
svn path=/trunk/; revision=5901
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-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 match the new ETable system.
* gal/Makefile.am: Added e-table-column-specification.lo,
e-table-extras.lo, e-table-specification.lo, and e-table-state.lo.
From gal/e-table/ChangeLog:
2000-10-11 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Added e-table-column-specification.c,
e-table-column-specification.h, e-table-extras.c,
e-table-extras.h, e-table-specification.c,
e-table-specification.h, e-table-state.c, and e-table-state.h.
Removed some duplicated .h files.
* e-cell-tree.c: Ref, sink, and unref the subcell instead of destroying
it when done.
* e-table-column-specification.c, e-table-column-specification.h:
New class which describes a column without having a table get
instantiated.
* e-table-config.c: Changed get_specification to get_state to get
this to compile.
* e-table-defines.h, e-table-item.h: Moved the definition of
ETableCursorMode from e-table-item.h to e-table-defines.h.
* e-table-extras.c, e-table-extras.h: New class which acts as a
set of 3 hash tables. All from char * and to alternately, ECells,
GCompareFuncs, and GdkPxibufs.
* e-table-scrolled.c, e-table-scrolled.h: Changed this to match
the new ETable function declarations.
* e-table-sort-info.c, e-table-sort-info.h: Added functions for
saving to and loading from xml.
* e-table-specification.c, e-table-specification.h: New class
which describes a table without having to instantiate it.
* e-table-state.c, e-table-state.h: New class which describes the
state of a table without having to instantiate the table.
* e-table.c, e-table.h: Changed this to accept both a state and a
specification instead of just a specification. You then save only
the state. The specification stays exactly the same. Also, you
no longer need to pass in an ETableHeader. Most of the
information contained in the ETableHeader are in the
specification. However you may need to translate some of the
strings in the specification to objects. If you need anything
other than the builtin choices, you need to create an ETableExtras
and pass it in.
* e-tree-model.c: Removed an unused variable.
svn path=/trunk/; revision=5837
2000-10-06 Not Zed <NotZed@HelixCode.com>
* e-table-item.c (eti_header_structure_changed): Removed the
assertion that there must be at least 1 column. No way to remove
all columns otherwise (which the header allows).
* e-table.c (et_xml_config_header): Reconfigure header based on
xml nodes for header.
(et_real_set_specification): Just configure the header only, dont
try to recreate everything.
2000-10-05 Not Zed <NotZed@HelixCode.com>
* e-table-scrolled.c (e_table_scrolled_set_specification): Set the
spec on a scrolled etable.
(e_table_scrolled_load_specification): Likewise for load.
* e-table.c (et_real_set_specification): Allow you to set the
specification after the widget was created.
(et_real_construct): Changed to use et_real_set_specification to
set the spec.
(e_table_load_specification): New frunction, load the
speficication from a specific file.
(e_table_set_specification): NEw function to set the specification
from a string.
svn path=/trunk/; revision=5795
2000-10-04 Jeffrey Stedfast <fejj@helixcode.com>
* e-table-selection-model.c (e_table_selection_model_select_all):
Select all elements of the etable.
(e_table_selection_model_invert_selection): Invert the current
selection.
* e-table.c (e_table_select_all): New convenience function to
select all elements in an e-table.
(e_table_invert_selection): New convenience function to invert the
current selection in an e-table.
svn path=/trunk/; revision=5719
2000-09-26 Chris Toshok <toshok@helixcode.com>
* gal/e-table/e-table.c (e_table_setup_table): drag/drop signals need to be
added to the same object that is passed to gtk_drag_begin in
e_table_drag_begin. namely, the ETable.
(et_drag_data_received): fix typo - should emit
TABLE_DRAG_DATA_RECEIVED, not TABLE_DRAG_MOTION.
svn path=/trunk/; revision=5590
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-09-11 Christopher James Lahey <clahey@helixcode.com>
* e-table.c: Made page up and page down active in the ETable.
svn path=/trunk/; revision=5319
2000-09-01 Christopher James Lahey <clahey@helixcode.com>
* e-table-item.c, e-table.c: Fixed a leak and a double unref.
svn path=/trunk/; revision=5174
2000-08-24 Christopher James Lahey <clahey@helixcode.com>
* e-table.c: Fix an off by one error that was causing crashes.
svn path=/trunk/; revision=5027
2000-08-24 Christopher James Lahey <clahey@helixcode.com>
* e-table.c: Set default values for all of the signal emissions.
svn path=/trunk/; revision=5026
2000-08-24 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,
e-table.c, e-table.h: Added a click signal which gets sent if the
user hits the left or middle mouse button on a cell.
svn path=/trunk/; revision=5020
2000-08-21 Chris Toshok <toshok@helixcode.com>
* e-table.c (e_table_drag_source_set): pass table, not site as the
closure for these drag signals, since e_table_drag_source_event_cb
assumes it's the table.
svn path=/trunk/; revision=4911
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-08-05 Christopher James Lahey <clahey@helixcode.com>
* e-table.c, e-table.h: Added functions to convert from view row
to model row or from model row to view row. Also changed
e_table_set_cursor_row and e_table_get_cursor_row to take a model
row as this works better with the rest of the model. Changed the
name of e_table_get_next_row_sorted and
e_table_get_prev_row_sorted. (Dropped the _sorted.)
svn path=/trunk/; revision=4556
2000-08-05 Christopher James Lahey <clahey@helixcode.com>
* e-table.c: Added a function to get the next row with sorting
taken into account.
svn path=/trunk/; revision=4549
2000-08-05 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am, e-table-selection-model.c,
e-table-selection-model.h, e-table.c, e-table.h: Made selection
ranges work even if the table is sorted.
* e-table-sorter.c, e-table-sorter.h: New files to help with
making selection ranges work even if sorted.
svn path=/trunk/; revision=4546
2000-08-04 Christopher James Lahey <clahey@helixcode.com>
* e-table.c, e-table.h: Built code to have autodrags only work
from within the table and to report the row dragged from
automatically.
svn path=/trunk/; revision=4542
2000-07-26 Christopher James Lahey <clahey@helixcode.com>
* e-table-click-to-add.c: Fixed a reference.
* e-table-selection-model.c, e-table-selection-model.h: Added a
clear function.
* e-table.c, e-table.h: Made going from click to add to the main
table and back work better.
svn path=/trunk/; revision=4373
2000-07-26 Christopher James Lahey <clahey@helixcode.com>
* e-table-group-container.c, e-table-group-container.h,
e-table-group-leaf.c, e-table-group-leaf.h: Added "table_selection_model"
argument. Removed foreach function and selection notification.
* e-table-group.c, e-table-group.h: Removed foreach function and
selection notification.
* e-table-header.c: Fixed header width calculation to include the
last column.
* e-table-item.c, e-table-item.h: Fixed this to use the new
selection model.
* e-table-scrolled.c, e-table-scrolled.h: Removed selection
notification.
* e-table-selection-model.c, e-table-selection-model.h: Finished
notification signals and fixed a bunch of bit manipulations.
Implemented do_something method.
* e-table.c, e-table.h: Create an ETableSelectionModel and use it
properly.
svn path=/trunk/; revision=4363
2000-07-25 Christopher James Lahey <clahey@helixcode.com>
* e-table-selection-model.c, e-table-selection-model.h: New files
for doing a selection model. Not finished yet and thus not in
Makefile.am.
* e-table.c, e-table.h: Renamed the new dnd signals so that they
won't conflict with the widget signals.
svn path=/trunk/; revision=4326
2000-07-25 Christopher James Lahey <clahey@helixcode.com>
* e-table.c, e-table.h: Implemented some of the drag & drop code.
Drops all report as being on row 0, col 0. Also, automatic drags
don't set the row and column being dragged from.
svn path=/trunk/; revision=4312
2000-07-09 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Add e-table-scrolled.c and e-table-scrolled.h.
* e-table-item.c: Make sure that find_cell returns FALSE if the
item doesn't have any cells.
* e-table-scrolled.c, e-table-scrolled.h: Added a widget to
contain an ETable and provide scrollbars (for ease of use.)
* e-table.c, e-table.h: Make this support the scrollable interface
and not contain its own scrollbars.
svn path=/trunk/; revision=4031
2000-07-09 Christopher James Lahey <clahey@helixcode.com>
* e-table.c: Set the dnd_code to something non-null for the
ETableHeaderItem.
svn path=/trunk/; revision=4013
2000-06-29 Christopher James Lahey <clahey@helixcode.com>
* message-list.c, mail-ops.c: Changed the name of
e_table_select_row to e_table_set_cursor_row.
From widgets/e-table:
2000-06-29 Christopher James Lahey <clahey@helixcode.com>
* e-table-click-to-add.c: Made this appear a bit better.
* e-table-defines.h: Cleaned this up a bit, added
ETableForeachFunc.
* 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,
e-table.c, e-table.h: Changed e_table_select_row to
e_table_set_cursor_row. Changed e_table_get_selected_view_row to
e_table_get_cursor_row. Added e_table_selected_row_foreach.
* e-table-header-item.c: Fixed some warnings.
* e-table-sorted-variable.c: Removed some unneeded debugging print
statments.
* e-tree-example-1.c: Changed e_table_get_selected_view_row to
e_table_get_cursor_row.
svn path=/trunk/; revision=3799
2000-06-26 Christopher James Lahey <clahey@helixcode.com>
* widgets/e-text/e-text.c: Calculate height including if
clip_height is set to -1.
From addressbook/ChangeLog:
2000-06-26 Christopher James Lahey <clahey@helixcode.com>
* contact-editor/e-contact-editor-categories.c,
addressbook/gui/component/e-cardlist-model.c: Added
value_to_string handlers.
* demo/addressbook-widget.c, demo/demo.c: Removed usage of "x" and
"y" arguments.
* addressbook/gui/component/addressbook.c: Activated Click To Add
and set the click to add message.
* addressbook/gui/component/e-addressbook-model.c: Added
value_to_string and append_row handlers.
* addressbook/gui/component/e-select-names.c: Added a column.
From calendar/ChangeLog:
2000-06-26 Christopher James Lahey <clahey@helixcode.com>
* gui/calendar-model.c: Added an #ifdefed value_to_string handler
assignment.
From camel/ChangeLog:
2000-06-26 Christopher James Lahey <clahey@helixcode.com>
* providers/mbox/camel-mbox-summary.c: Added debugging
information.
From composer/ChangeLog:
2000-06-26 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Added e-msg-composer-select-file.h for make
distcheck.
From e-util/ChangeLog:
2000-06-26 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Added e-canvas-vbox.c and e-canvas-vbox.h.
* e-canvas-vbox.c, e-canvas-vbox.h: New canvas object to act like
a vbox using the reflow system.
From mail/ChangeLog:
2000-06-26 Christopher James Lahey <clahey@helixcode.com>
* message-list.c: Added a value_to_string handler.
From shell/ChangeLog:
2000-06-26 Christopher James Lahey <clahey@helixcode.com>
* glade/Makefile.am: Added EXTRA_DIST for make distcheck.
From widgets/e-table/ChangeLog:
2000-06-26 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Added e-table-click-to-add.c,
e-table-click-to-add.h, e-table-one.c, and e-table-one.h.
* e-table-click-to-add.c, e-table-click-to-add.h: A new canvas
item that represents a single row that sometimes exists. It's for
adding new rows to your table.
* e-table-example-1.c, e-table-example-2.c, e-table-size-test.c,
test-check.c, test-cols.c, test-table.c: Added value_to_string handlers.
* e-table-group-container.c: Use value_to_string to make grouping
not crash for non string columns. Made some changes to work
properly in an ECanvasVbox.
* e-table-group-leaf.c, e-table-item.c: Made some changes to work
properly in an ECanvasVbox.
* e-table-model.c, e-table-model.h: Added append_row and
value_to_string methods.
* e-table-one.c, e-table-one.h: Given a source ETableModel, this
provides a single row model that uses the initialize_value,
duplicate_value, free_value, and value_is_empty methods of the
original source to implement set_value and value_at (and proxies
most of the other methods.) This is used for ETableClickToAdd.
* e-table-simple.c, e-table-simple.h: Added append_row and
value_to_string handlers. append_row uses a GtkArg instead of a
parameter to e_table_simple_new.
* e-table-subset.c: Added append_row and value_to_string handlers.
* e-table.c, e-table.h: Use a vbox containing an ETableClickToAdd
and an ETableItem instead of an ETableItem directly. Only show
the ETableClickToAdd if the top level of the xml SPEC has the
attribute click-to-add set to some non-zero integer.
(click-to-add="1"). Add a "click_to_add_message" argument.
* e-tree-model.c: Add a commented out value_to_string handler.
From widgets/meeting-time-sel/ChangeLog:
2000-06-26 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Added the include path to top_srcdir.
svn path=/trunk/; revision=3744
2000-06-16 Christopher James Lahey <clahey@helixcode.com>
* e-table.c, e-table.h: Moved the reflow signal handling into an
idle handler to fix a bug when resizing twice in succession.
svn path=/trunk/; revision=3588
2000-06-11 Christopher James Lahey <clahey@helixcode.com>
* e-table-model.c: Small syntactic changes.
* e-table.c: Moved the table header into the scrolled view.
svn path=/trunk/; revision=3517