1999-11-27  Miguel de Icaza  <miguel@gnu.org>

	* e-table-item.c (eti_event): beginning of the keyboard navigation.

	* e-table-model.c (e_table_model_row_changed): new function.
	(e_table_model_cell_changed): new function.
	(e_table_model_class_init): New signals.

	* e-table-item.c (eti_request_region_redraw): x2, y2 offsets were
	wrong. 
	(eti_select): Repaint selected region.
	(eti_request_region_redraw): Fix range.
	(eti_draw): Correct offset computation here. 
	(e_table_item_class_init): New method: row_selection, handles the
	selection.
	
	Now it implement GTK_SELECTION_SINGLE and GTK_SELECTION_MULTIPLE. 

	Focusing and selection should be correct now.
	
1999-11-26  Miguel de Icaza  <miguel@gnu.org>

	* e-table-item.c (eti_realize): Compute height using the ecell
	methods here. 
	(eti_get_height): new method to compute dimensions.

	* e-cursors.c: use a different cursor.

	* e-table-model.h: kill height and row_height methods.

	* e-cell.c (ec_height): New method.

	* e-cell-text.c (ect_realize): Load the font from the canvas.
	(ect_draw): New color setup.
	Center in the row.
	(ect_height): Implement new method.

1999-11-26  Michael Meeks  <mmeeks@gnu.org>

	* ROADMAP.e-table: small spelling/typo fixes.

1999-11-25  Miguel de Icaza  <miguel@gnu.org>

	* e-table-item.c (eti_event): Work on mouse-button event
	propagation to cells.

	* e-cell-text.c (ect_draw): Use CellViews now.

	* e-table-item.c (eti_realize_cell_views): New routine: Realizes
	the cell views
	(eti_unrealize_cell_views): New routine: unrealizes the cell views.

	* e-table-item.h: Move cell_views array here.

	* table-test.c (value_at): Fix return value.
	(main): use new invocation method.

	* e-table-header-item.c (ethi_realize): Realize cells.

	* e-table-item.c (eti_header_dim_changed): redraw before and after.

	* e-table-header-item.c (ethi_event): Add continuous resizing.

1999-11-24  Miguel de Icaza  <miguel@gnu.org>

	* e-table-subset.h, e-table-subset.c: New files, used to implement
	subset tables.

	* e-table-sorted.h, e-table-sorted.c: Now they derive from
	e-table-subset. 

	* e-cell.c, e-cell.h: realize method now return per view instance
	data. 
	
1999-11-20  Miguel de Icaza  <miguel@gnu.org>

	* e-table-item.c (eti_draw): WOOOOHOOOOOoO!  It took me quite a
	while to figure this one out.  Fixed.

	* e-table-header-item.c (ethi_set_arg): Compute width, keep track
	of it. 
	(ethi_add_table_header): Monitor changes to the Header model;
	Queue updates.
	(ethi_draw): Fix the redraw logic here.

	* table-test.c (main): Change the sample code, so we can better
	debug this.

	* e-table-item.c (eti_header_structure_changed): Keep track of
	width;  
	(eti_header_dim_changed): ditto.
	(eti_draw): Many redraw fixes.
	
1999-11-19  Miguel de Icaza  <miguel@gnu.org>

	* e-table-item.c (eti_realize): Hook up;  Load gcs.
	(eti_unrealize): Hook up.

	* e-table-sorted.c: Finished implementing.

1999-11-18  Miguel de Icaza  <miguel@gnu.org>

	* e-table-model.c (e_table_model_class_init): Add model_changed
	signal here.

	* e-table-item.c, e-table-item.h: New files.  They implement the
	view of the ETableModel as Canvas Items.
	
	* e-table-header-item.c (ethi_set_arg): Ref header here.
	(ethi_destroy): Unref it here.

1999-11-17  Ettore Perazzoli  <ettore@gnu.org>

	* e-msg-composer-address-dialog.c: Moved to `$(srcdir)/composer'.
	* e-msg-composer-address-dialog.h: Likewise.
	* e-msg-composer-address-entry.c: Likewise.
	* e-msg-composer-address-entry.h: Likewise.
	* e-msg-composer-attachment-bar.c: Likewise.
	* e-msg-composer-attachment-bar.h: Likewise.
	* e-msg-composer-attachment.c: Likewise.
	* e-msg-composer-attachment.h: Likewise.
	* e-msg-composer-hdrs.c: Likewise.
	* e-msg-composer-hdrs.h: Likewise.
	* e-msg-composer.c: Likewise.
	* e-msg-composer.h: Likewise.
	* e-msg-composer-address-dialog.glade: Likewise.
	* e-msg-composer-attachment.glade: Likewise.
	* e-msg-composer.glade: Likewise.
	* Makefile.am: Updated accordingly.

Nov 14 1999 Elliot Lee
	* Makefile.am: It's libevolutionwidgets.la, not .a

1999-11-14  Miguel de Icaza  <miguel@gnu.org>

	* e-table-header-item.c (is_pointer_on_division): Add resizing
	capabilities. 

	* e-table-sorted.c: Finish implementation.

1999-11-13  Miguel de Icaza  <miguel@gnu.org>

	* e-table-sorted.c: Implement e-table-sorted object.

1999-11-12  Miguel de Icaza  <miguel@gnu.org>

	* e-table-header-item.c: Make the thing configurable.

	* e-table-header-item.h: Add font field, location, height.

1999-11-12  Ettore Perazzoli  <ettore@gnu.org>

	* e-msg-composer-hdrs.c: New member `tooltips' in `struct
	_EMsgComposerHdrsPrivate'.
	(init): Initialize it.
	(destroy): New function.
	(class_init): Install it as the `destroy' GtkObject method.
	(add_header): New parameters `tip', `tip_private'.  Setup a
	tooltip for the entry with them.
	(setup_headers): Updated accordingly.

1999-11-11  Miguel de Icaza  <miguel@gnu.org>

	* e-table-header.c (e_table_header_add_column): Update offsets. 
	(eth_update_offsets): New routine.

	* e-table-col.h, e-table-col.c: New files.

	* e-table-header.h (e_table_header_get_selected_indexes):
	Pretify.

	* table-test.c (main): New file;  used for testing ETable package.

	* e-table-simple.h: Fix type.

1999-11-12  Ettore Perazzoli  <ettore@gnu.org>

	* e-msg-composer-address-dialog.glade: Cosmetical changes.

	* e-msg-composer-attachment-bar.c (size_to_string): New helper
	function.
	(update): Put the size in the icon's label using this function.
	(ICON_SEPARATORS): Remove '.' to avoid wrapping of the size string
	on the decimal dot.  But gnome-libs is broken and this has no real
	effect!  :-(
	(e_msg_composer_attachment_bar_new): No longer make text editable.
	Use the `GTK_SELECTION_MULTIPLE' selection mode.
	(remove_selected): No longer assume only one attachment is
	selected.

	* e-msg-composer-attachment.c: #include <sys/stat.h>
	(init): Initialize all the members.
	(e_msg_composer_attachment_new): Set size using `stat()'.

	* e-msg-composer-attachment.h: New member `size' in `struct
	_EMsgComposerAttachment'.

	* e-msg-composer.c (setup_signals): Connect `address_dialog_cb' to
	the "show_address_dialog" signal of the header widget.

	* e-msg-composer-hdrs.c (add_address_header): Renamed to
	`add_header'.  New parameter `addrbook_button': if true, use a
	button instead of a label and make it trigger an
	"show_address_dialog" signal.
	(address_button_clicked_cb): Signal handler to handle this on a
	"clicked" signal from the button.
	(setup_headers): Updated accordingly.  Also, make "Subject" the
	last item.  (This makes it look more like Outlook and friends.)

	* e-msg-composer-hdrs.c: New signal "show_address_dialog".
	* e-msg-composer-hdrs.h: Updated accordingly.

	* e-msg-composer-hdrs.c (add_address_header): Reduce padding
	considerably.

	* e-msg-composer.c (e_msg_composer_construct): Do not use any
	padding in the main vbox.

	* Makefile.am: Moved the `e-table*' sources to `EXTRA_DIST'.
	Compile as a shared library.

1999-11-08  Ettore Perazzoli  <ettore@gnu.org>

	* e-msg-composer-address-dialog.c: Implemented cut & paste for the
	recipient lists.
	(init): Initialize `cut_buffer'.
	(destroy): Free it.
	(recipient_clist_selection_get_cb): New function.
	(recipient_clist_selection_received_cb): New function.
	(recipient_clist_selection_clear_event_cb): New function.
	(setup_recipient_list_signals): Install them as signal handlers
	for "selection_get", "selection_received" and
	"selection_clear_event" respectively.
	(copy_recipient_cb): New function implementing the "copy"
	operation.
	(cut_recipient_cb): New function implementing the "cut" operation.
	(paste_recipient_cb): New function implementing the "paste"
	operation.

	* e-msg-composer-address-dialog.h: New member `cut_buffer' in
	`struct _EMsgComposerAddressDialog'.

1999-11-07  Ettore Perazzoli  <ettore@gnu.org>

	* e-msg-composer-address-dialog.c: New context menu
	`recipient_list_popup_info' for the recipient CLists.
	(recipient_clist_button_press_cb): New function.
	(setup_signals): Install it as the "button_press_event" signal
	handler for popping up the CList context menu.

	* e-msg-composer.c (free_string_list): New helper function.
	(setup_address_dialog): Setup the initial values in the address
	dialog according to the ones in the header widget.

	* e-msg-composer-hdrs.c (e_msg_composer_hdrs_get_to): New function.
	(e_msg_composer_hdrs_get_cc): New function.
	(e_msg_composer_hdrs_get_bcc): New function.

	* e-msg-composer.c (setup_address_dialog): New helper function.
	(address_dialog_cb): Use it.

	* e-msg-composer-address-dialog.c (add_address): Do not set the
	row data anymore.  Instead, put the full address description
	(i.e. complete with the email address, not just the full name) in
	the CList.
	(add_address): Do nothing if no item is selected in the address
	CList.
	(get_list): Get the address list from the CList without passing
	through the address CList.
	(set_list): New helper function.
	(e_msg_composer_address_dialog_set_to_list): New function.
	(e_msg_composer_address_dialog_set_cc_list): New function.
	(e_msg_composer_address_dialog_set_bcc_list): New function.

	* e-msg-composer.c (address_dialog_apply_cb): Apply values from
	the address dialog into the composer.

	* e-msg-composer-hdrs.c (e_msg_composer_hdrs_set_to): New function.
	(e_msg_composer_hdrs_set_cc): New function.
	(e_msg_composer_hdrs_set_bcc): New function.

	* e-msg-composer-address-entry.c
	(e_msg_composer_address_entry_set_list): New function.

	* e-msg-composer-address-dialog.c (apply): New helper function.
	(clicked): New function, `clicked' method for the `GnomeDialog'
	class.
	(class_init): Install it.

1999-11-06  Ettore Perazzoli  <ettore@gnu.org>

	* e-msg-composer-attachment-bar.c (destroy): Call the destroy
	method of the parent class.

	* e-msg-composer.c: #include "e-msg-composer-address-dialog.h".
	(address_dialog_cb): New callback to start the address dialog.
	(setup_signals): Connect it to the appropriate button/menu item.
	(init): Initialize the new `address_dialog' member to NULL.
	(destroy): Destroy the `address_dialog' if not NULL.

	* e-msg-composer.h: New member `address_dialog' in `struct
	_EMsgComposer'.

	* e-msg-composer.glade: Added button to activate the address
	composition dialog.

	* e-msg-composer-address-dialog.h, e-msg-composer-address-dialog.c:
	New files implementing the address composition dialog for Evolution.

	* e-msg-composer-address-dialog.glade: New file.

	* e-msg-composer-attachment.c: `signals' made static.

1999-11-05  Ettore Perazzoli  <ettore@gnu.org>

	* Makefile.am: Compile the new files in a `libevolutionwidgets'
	library.
	(CPPFLAGS): #define `E_GUIDIR'.

	* e-msg-composer.c, e-msg-composer.h: New files implementing an
	initial version of the Evolution message composer widget.

	* e-msg-composer-address-entry.c, e-msg-composer-address-entry.h:
	New files implementing a GtkEntry customized for entering email
	address lists.

	* e-msg-composer-attachment-bar.c, e-msg-composer-attachment-bar.h:
	New files implementing a widget for editing mail attachments.

	* e-msg-composer-attachment.c, e-msg-composer-attachment.h: New
	files implementing file attachment objects for the message
	composer.

	* e-msg-composer-hdrs.c, e-msg-composer-hdrs.h: New files
	implementing a widget for editing of email message headers.

	* e-msg-composer-attachment.glade: New file.
	* e-msg-composer.glade: New file.

1999-10-31  Miguel de Icaza  <miguel@gnu.org>

	* widgets/e-table-column.c, e-table-column.h: New file, implements the
	e-table-column object.

	* widget/e-table-model.h, e-table-model.c, e-table-simple.c,
	e-table-simple.h: New files.  Implements the column model and
	a simple table wrapper.