Commit Graph

84 Commits

Author SHA1 Message Date
b71f1e3b6d Changed the text to pop up the Field Chooser.
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-05 21:26:44 +00:00
7d1cbbaa10 Made this conform to the new prototype for e_popup_menu_run.
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
2001-01-21 05:46:49 +00:00
a35fff26e8 Keep track of the valid column names (not used right now).
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-19 04:48:04 +00:00
02c4a82a7f This fixes translations of library messages compared to application
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-17 07:59:19 +00:00
feccdbccfb Document all entry points. (e_table_specification_save_to_file): Change
2001-01-15  Miguel de Icaza  <miguel@gnu.org>

	* e-table-specification.c: Document all entry points.
	(e_table_specification_save_to_file): Change prototype to return
	the number of bytes written.
	(e_table_specification_duplicate):
	Implement a function to duplicate nodes.
	(e_table_specification_save_to_node): Implement missing function.
	(e_table_specification_save_to_file): Enable.
	(e_table_specification_save_to_string): Enable.
	(e_table_specification_load_from_node): Just load the normal
	version of the click-to-add-message version, let other code
	translate it.
	(e_table_specification_load_from_string): Alter prototype to
	return success code.

	* e-table-specification.h: Do not store the translated version,
	store the plain version, so we can restore this later during the
	saving routines.

	* e-table.c (et_real_construct): Translate click to add message here.


	* e-table-header-item.c: Destroy config object if we are
	destroyed.

svn path=/trunk/; revision=7518
2001-01-15 23:25:42 +00:00
cff9059380 Work on the ETableConfigurator. Pick up where Chris left.
Work on the ETableConfigurator.  Pick up where Chris left.

A lot more changes to come in the short future.

2001-01-15  Miguel de Icaza  <miguel@ximian.com>

	* e-table-config.c (config_group_info_update): Simplify
	signature.
	(config_sort_info_update): Simplify signature.
	(config_fields_info_update): Implement.
	(e_table_config_construct): Hook up field change spec.

	* e-table-header-item.c (config_destroyed): Add new utility
	function.

	* e-table-config.c (config_group_info_update): Simpify routine by
	using g_string.  Show a message if there is no grouping.

	* e-table-config.c: Made e-table-config dialog be a
	GnomePropertyBox.

	* e-table-header-item.c (ethi_popup_customize_view): Use the new
	api.

	* e-table-config.c (config_sort_info_update): Simplify this
	routine.  Fix bug that was not showing "unsorted" state.
	(setup_gui): Load XML user interface here.
	(config_init): Use Glade instead of manually coded user interface.
	(e_table_config_raise): New api call.

2001-01-14  Miguel de Icaza  <miguel@ximian.com>

	* e-table-config.h: Change parent to be a GtkObject from
	GnomeDialog.

svn path=/trunk/; revision=7495
2001-01-15 07:34:27 +00:00
3312aa44d8 Close #758 2001-01-12 Miguel de Icaza <miguel@ximian.com>
* e-table-header-item.c (ethi_change_sort_state): Moved the
	sort-on-click logic to its own function.

svn path=/trunk/; revision=7438
2001-01-12 06:36:46 +00:00
b6dfb325fb *** empty log message ***
svn path=/trunk/; revision=7437
2001-01-12 06:10:15 +00:00
3018f79188 Added the actions parameter to ect_event. Added an actions field to
2000-12-09  Christopher James Lahey  <clahey@helixcode.com>

	* e-cell-text.c: Added the actions parameter to ect_event.  Added
	an actions field to CellEdit.  Handle CellEdit properly in the
	ect_event function to do grabbing and ungrabbing when
	appropriate.  Set the actions field in CellEdit when appropriate
	in e_cell_text_view_command.

	* e-cell-toggle.c, e-cell-tree.c, e-cell.c, e-cell.h: Added a
	ECellActions enum, a ECellActions actions parameter to
	e_cell_event and added the actions parameter to all the handlers
	of the event method including having ECellTree pass it on to its
	child cell.

	* e-table-header-item.c: Use the NULL cursor instead of the
	E_CURSORS_ARROW cursor.

	* e-table-item.c, e-table-item.h: Added grabbed_row and
	grabbed_col fields to ETableItem (-1 on either means ungrabbed.)
	Pay attention to them in the find_cell function.  Handle the
	actions parameter of e_cell_event and grab or ungrab the pointer
	to a given cell if requested.  This is done using the new function
	eti_e_cell_event (which is internal to e-table-item.c,) instead of
	the old e_cell_event function call.  Fake an ungrabbed table when
	calling find_cell from within the compute_location method.

svn path=/trunk/; revision=6889
2000-12-09 22:20:52 +00:00
640883f04d Add column and GdkEvent * parameters to the double click signal.
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 23:28:30 +00:00
a22a4c17a5 Free the xmlDoc when we are done with it. (e_table_state_save_to_file):
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
2000-12-07 16:24:42 +00:00
f70c74f371 Federico gets into pixel-perfect neurosis. Xmag is my best friend.
2000-12-01  Federico Mena Quintero  <federico@helixcode.com>

	Federico gets into pixel-perfect neurosis.  Xmag is my best friend.

	* e-table-item.c (eti_draw): Set the focus_gc stipple origin to
	match the upper-left corner of the focus rectangle.  This way
	focusing will look consistent even among rows/columns with odd
	pixel sizes.  Also, make the focus rectangle span the whole cell;
	there was one blank pixel column to the left of the rectangle.

	* e-table-header-utils.c: New file with utilities for drawing
	header buttons.  This is so that ETableHeaderItem and
	ETableFieldChooserItem can share the same code.
	(e_table_header_compute_height): New function to compute the
	height of a column button.
	(make_composite_pixmap): New function to composite a pixbuf
	against a solid background and make a pixmap out of the result.
	This does some ultra-fancy fading-out of the original pixbuf if
	the destination area is smaller than the source.
	(compute_elision_length): New function to compute the elision
	length in O(n log n) instead of O(n^2), for n = strlen (str).
	(e_table_header_draw_button): New function to draw a header
	button.
	(e_table_draw_elided_string): New function to draw a string elided
	to a maximum width.

	* e-table-defines.h (HEADER_PADDING): Made the default padding be
	1; now a header button's height is
	content_height + 2 * (HEADER_PADDING + style->ythickness).  This
	is the correct way to measure button heights.

	* e-table-field-chooser-item.c (etfci_find_button): Use
	e_table_header_compute_height().
	(etfci_reflow): Likewise.
	(etfci_draw): Use e_table_header_draw_button().
	(etfci_start_drag): Likewise.
	(etfci_draw): Likewise.
	(etfci_start_drag): Likewise.
	(etfci_button_height): Removed function.
	(draw_button): Removed function.

	* e-table-header-item.c (draw_button): Removed function.
	(e_table_header_item_get_height): Use e_table_header_compute_height().
	(ethi_draw): e_table_header_draw_button().
	(ethi_start_drag): Likewise.
	(make_shaped_window_from_xpm): Fixed misspelling in function name.
	(draw_button): Removed function.

	* Makefile.am: Added e-table-header-utils.[ch].

svn path=/trunk/; revision=6766
2000-12-02 17:35:22 +00:00
93e7a43d68 Changed this to match the new EPopupMenu structre.
2000-11-06  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-header-item.c: Changed this to match the new EPopupMenu
	structre.

svn path=/trunk/; revision=6467
2000-11-06 23:43:57 +00:00
9bf8ac3b79 Fixed ETableFieldChooser row heights a bit.
2000-10-18  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-field-chooser-item.c, e-table-field-chooser-item.h:
	Fixed ETableFieldChooser row heights a bit.

	* e-table-header-item.c: Formatting clean up.

	* e-table-state.c: Added saving of the version of the ETableState.
	This way, if we change the format of an ETableState, we can detect
	old version numbers.

svn path=/trunk/; revision=6016
2000-10-19 02:41:55 +00:00
a19cb68422 Moved the glade file directories.
2000-10-18  Christopher James Lahey  <clahey@helixcode.com>

	* Makefile.am: Moved the glade file directories.

	* e-table-header-item.c: Removed an unused variable.

svn path=/trunk/; revision=5982
2000-10-18 08:39:27 +00:00
8b23fc59ea Reworked some of the height stuff?
2000-10-16  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-header-item.c: Reworked some of the height stuff?

svn path=/trunk/; revision=5943
2000-10-16 20:42:08 +00:00
34031a4201 Choose a better size for the e-table-header-item
svn path=/trunk/; revision=5942
2000-10-16 19:54:09 +00:00
c144d20918 Added e-table-config-field.lo.
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-13 18:53:51 +00:00
a053aa88b9 Fixed gdk-font refcounting
Added font_e argument to e-text
Fixed the header-item drawing the pixmap incorrectly

svn path=/trunk/; revision=5894
2000-10-13 00:11:27 +00:00
dac353c097 Fudge the location of a click in the tooltip, so that it selects the
2000-09-27  Iain Holmes  <iain@helixcode.com>

        * e-cell-text.c: Fudge the location of a click in the tooltip, so
        that it selects the current cell.
        Pass keyboard events to the e-table.

        * e-table-item.c: Don't show the tooltip if the cell is being editted.
        Also don't destroy the tooltip until the button release event (other
        wise the e-table-item starts a select)

2000-09-25  Iain Holmes  <iain@helixcode.com>

        * e-table-header-item.c (draw_button): Calculate the vertical
        offset correctly to centre text.

2000-09-25  Iain Holmes  <iain@helixcode.com>

        * e-table-header-item.c (ethi_popup_best_fit): Fill this out
        to call the "request_width" signal and set the new size.

svn path=/trunk/; revision=5599
2000-09-26 23:38:22 +00:00
a3de274f7c Moved files, fixed header files and paths - Federico
svn path=/trunk/; revision=5513
2000-09-19 22:57:58 +00:00
8c99725b91 Fixed e-table #includes so that it would compile.
svn path=/trunk/; revision=5482
2000-09-17 20:29:14 +00:00
6e4ae07fbf If the cursor is inside the subcell, call the show_tooltip on it.
2000-09-15  Iain Holmes  <iain@helixcode.com>

	* e-cell-tree.c (ect_show_tooltip): If the cursor is inside
	the subcell, call the show_tooltip on it.

	* e-table-header-item.c (draw_button): Draw the arrow first,
	then take it's size into account when calculating how to draw
	the text. Use ellipsis if the text it too long.

2000-09-15  Iain Holmes  <iain@helixcode.com>

	* e-table-header-item.c (draw_button): Fix a crash by passing
	the canvas widget to gtk_paint_box. Reported by Radek.

2000-09-14  Iain Holmes  <iain@helixcode.com>

	* e-table-header-item.c (set_cursor): The column isn't resizable
	if it is the last, or if all other columns after it are not
	resizable.

	* e-cell-text.c (ect_max_width): Correctly calculate the width
	of the line of text. Unbuild the current cell and unref the lines
	as well.
	(build_current_cell): Initialize cell->style to 0;

2000-09-14  Iain Holmes  <iain@helixcode.com>

	* e-table-item.c: Start timers for the tooltip to appear, on motion
	events.

	* e-cell.[ch]: Add a new show_tooltip method.

	* e-cell-text.c (ect_show_tooltip): Show the tooltip.

svn path=/trunk/; revision=5466
2000-09-15 21:42:38 +00:00
1cf3dc86f1 Fix a crash in draw_button.
svn path=/trunk/; revision=5444
2000-09-15 13:12:23 +00:00
22f72cc08e Fix some crashes Make double clicking on the header dividers automatically
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-15 00:08:06 +00:00
e2ad42ace2 Tag some strings for translation.
2000-08-08  Miguel de Icaza  <miguel@helixcode.com>

	* e-table-header-item.c: Tag some strings for translation.

svn path=/trunk/; revision=4642
2000-08-09 06:33:19 +00:00
a0522bcc25 Changed e_popup_menu_run call to match the new arguments.
2000-08-09  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-header-item.c: Changed e_popup_menu_run call to match
	the new arguments.

svn path=/trunk/; revision=4628
2000-08-09 05:15:14 +00:00
1ad76125ef Added an argument to set a column so that you can't sort by that column.
2000-07-31  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-col.c, e-table-col.h: Added an argument to set a column
	so that you can't sort by that column.

	* e-table-header-item.c: Obey the sortable column of ETableCol.

svn path=/trunk/; revision=4439
2000-07-31 22:32:36 +00:00
1be3f59a27 Changed the background color of the header.
2000-07-13  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-header-item.c: Changed the background color of the
	header.

svn path=/trunk/; revision=4152
2000-07-13 19:23:22 +00:00
86236d0687 Made scroll wheel work properly in header.
2000-07-12  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-header-item.c: Made scroll wheel work properly in
	header.

svn path=/trunk/; revision=4128
2000-07-12 23:03:39 +00:00
4bd225790a Don't draw drop markers when the layout won't be changed by the drop.
svn path=/trunk/; revision=4005
2000-07-09 10:10:17 +00:00
3649d5dc6d From mail:
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-29 19:22:24 +00:00
f704f45bbf Added an unsort command.
2000-06-27  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-header-item.c: Added an unsort command.

	* e-table-item.c: leave_edit when you loose the cursor.

svn path=/trunk/; revision=3766
2000-06-27 20:54:14 +00:00
a30a2c1162 Changed this to move the cell to the nearest edge instead of to the left
2000-06-21  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-header-item.c: Changed this to move the cell to the
	nearest edge instead of to the left of the column it's over.

	* e-table-header.c: Made target_index equal to eti->col_count be a
	valid parameter to e_table_header_move.

svn path=/trunk/; revision=3683
2000-06-21 22:49:34 +00:00
c04ce4ea11 The field chooser works now.
2000-06-08  Christopher James Lahey  <clahey@helixcode.com>

	* The field chooser works now.

	* e-table-field-chooser-dialog.c: Make the dialog resizable.

	* e-table-field-chooser-item.c: Requested a reflow on
	realization.  Made the correct column get dragged.

	* e-table-field-chooser.c: Set the height correctly.

	* e-table-field-chooser.glade: Replace the GnomeCanvas with an
	ECanvas.

	* e-table-header-item.c: Receive drags from the new dialog.

svn path=/trunk/; revision=3476
2000-06-08 07:55:21 +00:00
2f3245408c More work on the Field Chooser. Not quite done yet.
2000-06-08  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-field-chooser-dialog.c, e-table-field-chooser-dialog.h,
	e-table-field-chooser-item.c, e-table-field-chooser.c,
	e-table-field-chooser.glade, e-table-field-chooser.h,
	e-table-header-item.c, e-table.c: More work on the Field Chooser.
	Not quite done yet.

svn path=/trunk/; revision=3475
2000-06-08 07:07:21 +00:00
104a3d0bff Added e-table-field-chooser*.
2000-06-07  Christopher James Lahey  <clahey@helixcode.com>

	* Makefile.am: Added e-table-field-chooser*.

	* e-table-defines.h: Moved some things to here.

	* e-table-field-chooser-dialog.c, e-table-field-chooser-dialog.h,
	e-table-field-chooser-item.c, e-table-field-chooser-item.h,
	e-table-field-chooser.c, e-table-field-chooser.glade,
	e-table-field-chooser.glade.h, e-table-field-chooser.h: New dialog
	to drag extra fields from.  (Not yet finished.)

	* e-table-header-item.c, e-table-header-item.h: Changed to
	accommodate e-table-field-chooser.

svn path=/trunk/; revision=3473
2000-06-08 00:40:23 +00:00
d306c29328 Made dragging columns work.
2000-05-25  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-header-item.c: Made dragging columns work.

svn path=/trunk/; revision=3205
2000-05-25 18:44:55 +00:00
735213b4cd Fixed the remove column callback.
2000-05-23  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-header-item.c: Fixed the remove column callback.

svn path=/trunk/; revision=3187
2000-05-23 23:38:11 +00:00
4670021197 Added right click menus to the table header items.
2000-05-23  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-header-item.c: Added right click menus to the table
	header items.

	* e-table-sort-info.c: Fixed a small bug.

svn path=/trunk/; revision=3184
2000-05-23 18:38:21 +00:00
93d002705c Removed a memory leak here.
2000-05-16  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-group-container.c: Removed a memory leak here.

	* e-table-group-leaf.c: Added a ref/sink pair.

	* e-table-group.c, e-table-header-item.c: Removed some unused
	code.

svn path=/trunk/; revision=3079
2000-05-16 09:53:16 +00:00
32471accad From widgets/e-table/ChangeLog
2000-05-14  Christopher James Lahey  <clahey@helixcode.com>

	* Implemented the feature where the ETable columns automatically
	fill the given space.

	* e-cell-text.c, e-cell-text.h: Moved #include
	e-text-event-processor.h from the .h to the .c.

	* e-table-col.c, e-table-col.h: Added an expansion variable, and
	made it so that width isn't set by the programmer but instead by
	the e-table-header.

	* e-table-example-1.c, e-table-example-2.c, e-table-size-test.c,
	test-check.c, test-cols.c, test-table.c: Fixed to handle new
	ETable column resizing.

	* 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-item.c, e-table-item.h: Fixed these to do
	a proper canvas reflow/update loop.  Changed them to take a
	minimum width and return a width and a height.

	* e-table-header-item.c, e-table-header-item.h: Made this so that
	it depends on e-table-header.c for deciding the actual size of
	columns during resize (it was making incorrect decisions on its
	own.)

	* e-table-header.c, e-table-header.h: Changed this to make sure
	that the sum of the widths of the columns was always as close as
	possible to the width of the window.  This is done by taking a
	full width and having each of the columns have an "expansion"
	field.  This field is what makes each column have approximately
	the same portion of its part of the screen that it used to.

	* e-table.c: Changed this to set the width on the ETableHeader as
	well as set the proper minimum width on the ETableGroup and get
	the width and height it reports.

From addressbook/ChangeLog

2000-05-14  Christopher James Lahey  <clahey@helixcode.com>

	* backend/ebook/Makefile.am: Added libeutil for e-card's support
	for categories.

	* backend/ebook/e-card-list.c, backend/ebook/e-card-list.h: Added
	a function to get the length.

	* backend/ebook/e-card.c, backend/ebook/e-card.h: Added categories
	support (accessible either as "categories" or "category_list".)

	* contact-editor/Makefile.am: Added e-table and all of the
	categories files.

	* contact-editor/categories.glade,
	contact-editor/categories-strings.h,
	contact-editor/e-contact-editor-categories.c,
	contact-editor/e-contact-editor-categories.h:

	* contact-editor/contact-editor.glade,
	contact-editor/e-contact-editor-strings.h: Rearranged this dialog.

	* contact-editor/e-contact-editor.c: Rearranged dialog a bit.
	Added opening of categories dialog.

	* gui/component/Makefile.am: Rearranged libraries so that
	libetable would be available for the contact editor categories
	dialog.

	* gui/component/addressbook.c: Fix for new ETable resizing.  Make
	contact editor dialog resizable.

	* gui/minicard/Makefile.am: Added libetable contact editor
	categories dialog.

	* gui/minicard/e-minicard.c: Make contact editor dialog resizable.

From mail/ChangeLog

2000-05-14  Christopher James Lahey  <clahey@helixcode.com>

	* message-list.c: Updated to work with new ETable resizing.

svn path=/trunk/; revision=3027
2000-05-14 14:31:22 +00:00
f4e98799fd *** empty log message ***
svn path=/trunk/; revision=3001
2000-05-12 00:47:42 +00:00
eb5dc08dc9 Made this more reentrant.
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-05-01 04:01:05 +00:00
917d28e2df Fixed some warnings.
2000-04-27  Christopher James Lahey  <clahey@helixcode.com>

	* arrow-down.xpm, arrow-up.xpm, e-cell-text.c, e-cell-toggle.c,
	e-table-col.c, e-table-config.c, e-table-header-item.c: Fixed some
	warnings.

svn path=/trunk/; revision=2659
2000-04-27 17:18:51 +00:00
04195ce9da Added a missing include.
2000-04-26  Christopher James Lahey  <clahey@helixcode.com>

	* e-table-header-item.c: Added a missing include.

svn path=/trunk/; revision=2637
2000-04-26 15:15:24 +00:00
3c1ddb743e Add argument handling here.
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-26 14:47:10 +00:00
fcc1befdb1 Remove test for source. We will fix this later.
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-13 01:28:13 +00:00
969fb39532 Reset resize_guide here.
2000-04-12  Miguel de Icaza  <miguel@gnu.org>

	* e-table-header-item.c (ethi_end_resize): Reset resize_guide here.

svn path=/trunk/; revision=2405
2000-04-12 05:27:59 +00:00
889cb0a633 Add group indent width here. (is_pointer_on_division): Use the group
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-11 14:27:13 +00:00