1999-02-17  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/fn-math.c (gnumeric_trunc): Implement TRUNC.

	* src/func.c (function_iterate_argument_values): Do not evaluate a
	subexpression if the previous expression failed due to an error.
	Basically: add a check to the eval return value.   

	I took this oportunity to check all the source and this was the
	only buggy spot.

1999-02-16  Michael Meeks  <sca20@cam.ac.uk>

	* plugins/excel/ms-excel.c: Fixed many bugs in my
	understanding of hash table functions.
	Added rudimentary NAME stuff.
	made error lookup global.
	Fixed up Header / Footer functionality.
	(ms_excel_sheet_new, ms_excel_sheet_insert,
	ms_excel_read_sheet): Added 'blank' field to excel_sheets,

	* plugins/excel/ms-formula.c: Added puzzling
	PTG_NAME stuff, this is really wierd.
	PTG_ERR added.
	
1999-02-16  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/workbook.c (change_auto_expr_menu): OOps I got too excited
	here using my helper routine: Now we do not destroy this helpful
	menu. 

	* src/widget-editable-label.c (editable_label_set_text): Bug fix:
	sometimes this code is invoked with its argument being el->text. 

1999-02-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/workbook.c (workbook_new): Make a local copy of the toolbar,
	as we use this to update the radio buttons. 
	(workbook_do_destroy): Free the toolbar.
	(workbook_feedback_set): Use the per-workbook toolbar here.

1999-02-14  Michael Meeks  <sca20@cam.ac.uk>

	* plugins/excel/ms-formula.c: Inserted a whole scad
	of math functions into translation table.
	(parse_list_to_equation): g_strdupped return values.
	FORMULA_PTG_STR: Updated old and broken code.
	* src/about.c (dialog_about): Added Sean.

1999-02-13  Bruno Unna  <bruno@iac.com.mx>

	* src/dialog-cell-format.c (create_foreground_radio): Added a
	radio button to let the users 'no change' the text colour, useful
	when there is a range selected with differently colored cells
	and it is desired to change the background of them without
	touching the foreground.

	* src/dialog-cell-format.c (create_coloring_page): When there
	are different foreground colours in the selected cells, the
	default selection is 'no change'.

	* src/dialog-cell-format.c (apply_coloring_format): If there
	is no need to make changes to the foreground color of the
	cells, avoid doing them.

1999-02-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/item-cursor.c (item_cursor_target_region_ok): Warn the user
	if he overwrites something accidentally by dropping cells in the
	target location.

	* src/sheet.c (sheet_is_region_empty): New function.

1999-02-12  Michael Meeks  <sca20@cam.ac.uk>

	* plugins/excel/ms-excel.c (biff_get_global_string): 
	Drasticly simplified, accelerated and in-lined out.
	(biff_get_text): Fixed using unicode spec, various
	updates to calls to it, fixing offsets.
	Removed lots of debug output to speedup
	
1999-02-10  Sean Atkinson  <sca20@cam.ac.uk>

	* src/fn-math.c (callback_function_sum): enhanced warning for
	unknown value->type.

1999-02-12  Frederic Devernay  <devernay@istar.fr>

	* plugins/perl/perl.c: Handle the #define dirty in perl-thread.

1999-02-12  Bruno Unna  <bruno@iac.com.mx>

	* src/cell.c (cell_draw): Now the function draws the cell
	using the cell background color setting. Although it does
	the job, I guess there must be a better way to do it. Thanks
	to Michael for the hint.

	* src/item-grid.c (item_grid_draw_cell): Commented out the lines
	involved with patterns display in the cell, for that code is
	not ready yet.

	* src/dialog-cell-format.c (create_coloring_page): Reactivated
	the background selection panel of the coloring page.

	* src/dialog-cell-format.c (create_background_radio): Commented out
	the addition of the pattern selection for a cell.

1999-02-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/workbook.c (workbook_detach_sheet): Be less forgiving as to
	removing sheets with pending references.
	
	(sheet_action_delete_sheet): Add a test for
	dependencies when removing a sheet
	(workbook_can_detach_sheet): New function.

	* src/cell.c (cell_relocate): When relocating a cell with a
	formula, always mark it as changed.  We were doing that before
	only for the case where the location had changed, but we use
	cell_relocate in other cases as well.

	* src/fn-string.c (gnumeric_lower, gnumeric_upper): These
	functions were wrong.  They were never incrementing the pointer
	and they were releasing the wrong pointer.

	* src/clipboard.c (paste_cell): When pasting a cell, mark the
	contents as modified.

	* src/file.c (file_saver_is_default_format): Make sure the saver
	is always set.

1999-02-10  Michael Meeks  <michael@imaginator.com>

	* plugins/excel/ms-excel.c (ms_excel_read_cell): BOOLERR booleans
	hard-translated to 1, 0: not a good solution to problems with TRUE.
	* src/fn-string.c (gnumeric_upper, gnumeric_lower): Add increment
	
1999-02-09  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/parser.y: Apparently string concatenation operator in Excel
	has the lower priority.

	* src/workbook.c (workbook_detach_sheet): New function used to
	detach a sheet from a workbook.
	(sheet_menu_label_run): New routine.  Invoked on button-3 on the
	sheet label.

	* src/gnumeric-util.c (gnumeric_auto_kill_popup_menu_on_hide): New
	routine to deallocate menus when they go to unshown state

1999-02-09  Michael Meeks  <michael@imaginator.com>
	
	* plugins/excel/ms-excel.c (ms_excel_sheet_new,
	ms_excel_workbook_attach, biff_boundsheet_data_new):
	Major sheet allocation re-organisation, hash boundsheet data.
	(ms_excel_sheet_set_version, ms_excel_sheet_set_index,
	ms_excel_workbook_get_sheet): re-hashed API
	* plugins/excel/ms-formula.c: PTG_MISSARG implemented

1999-02-08  Sean Atkinson  <sca20@cam.ac.uk>

	* plugins/excel/ms-excel-biff.h, ms-excel.c:
	added BIFF_EXTERNCOUNT
	* plugins/excel/ms-excel.c (ms_excel_read_sheet): 
	stubbed BIFF_EXTERNSHEET, stubbed SUPBOOK
	(biff_get_externsheet_name): implemented inter-sheet references
	* plugins/excel/ms-formula.ch: added FORMULA_PTG_CONCAT
	(ms_excel_parse_formula): implemented FORMULA_PTG_REF_3D

1999-02-07  Michael Meeks  <michael@imaginator.com>

	* plugins/excel/ms-formula.c (ms_excel_parse_formula):
	FORMULA_PTG_ATTR stubs: can ignore most of AttrSpace.
	
1999-02-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/cell.c (cell_draw): Make the clip region one pixel bigger to
	account for the offset.
	(cell_draw): Do not add one to text_base.

	* src/item-edit.c (item_edit_draw): Take into account the margin_b.

1999-02-07  Michael Meeks  <michael@imaginator.com>

	* plugins/excel/ms-formula.c: Fixed memory leaks
	* plugins/excel/ms-excel.c: Fixed several memory leaks

1999-02-07  Sean Atkinson  <sca20@cam.ac.uk>

	* plugins/excel/ms-formula.ch: added FORMULA_PTG_NUM

1999-02-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/cell.c (cell_set_text_simple): Allow a single "=" to
	represent a string.

1999-02-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/gnumeric-util.c (gnumeric_notice): Now we take a Workbook
	argument to bind the dialog boxes properly to the main window.  We
	use gnome_messagebox now to report errors.  We now take a type
	parameter for the message box type.

	* plugins/ff-csv/csv-io.c: Use gnumeric_error

	* src/workbook.c (wb_input_finished): Call sheet_set_current_value
	instead of the cancel pending input routine.

	* Moved src/csv-io.[ch] to the plugins/ff-csv directory and
	converted them to 
	
1999-02-06  Vincent Renardias <vincent@ldsol.com>

	* src/csv-io.h src/csv-io.c: Added code to load
	csv files.

1999-02-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/file.c (fill_save_menu): Creates an option menu with the
	file format to save on.
	(workbook_save_as): Use the saver selected by the user.
	(saver_activate): Keep track of the current file save format, set
	as default.
	gnumeric_file_savers, gnumeric_file_openers: made static. 

	* src/sheet.c (sheet_destroy_styles): Release the proper style, I
	was releasing a different structure.

1999-02-06  Michael Meeks  <michael@imaginator.com>

	* plugins/excel/ms-formula.c: Cut out lots of debug in working
	cases

	* plugins/excel/ms-excel.c: Implemented a hash table for fast
	font lookups, removed and simplified dead font code.

	* plugins/excel/ms-excel.c (ms_excel_set_font): Bold if boldness
	greater or equal to threshold, not just equal.
	
	* plugins/excel/ms-excel.c (ms_excel_read_cell): Added support
	for BIFF_STRING records, and re-organised switch statement. Added
	BIFF_BOOLERR support.

1999-02-06  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>

	* gnumeric.desktop: Added Korean translations.

1999-02-04  Michael Meeks  <michael@imaginator.com>

	* plugins/excel/ms-excel.ch: Major overhaul of how XF styles
	are looked up, sparation of Cell / style XF records. Hash
	table implemented for lage speedup and code simplification.

1999-02-04  Michael Meeks  <michael@imaginator.com>

	* plugins/excel/ms-biff.h: Added a biff_getdouble function for
	G_BIG_ENDIAN machines, since I don't have one... [begs forgiveness]

1999-02-03  Sean Atkinson  <sca20@cam.ac.uk>

	* plugins/excel/ms-formula.c (ms_excel_parse_formula):
	FORMULA_PTG_INT and FORMULA_PTG_BOOL added

	* plugins/excel/ms-formula.c:
	Implemented remaining binary operators and unary operators +,-,%
	interpolated operator precedences.
	formula_func_data[] : added AND, OR, V/H LOOKUP functions
	
1999-02-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/workbook.c (workbook_configure_minimized_pixmap): Provide an
	icon.  Note that I could not get this to work on fvwm2 though.  I
	will wait for other people to try it.

1999-02-01  Jaka Mocnik  <jaka.mocnik@kiss.uni-lj.si>

	* src/widget-editable-label.c (el_realize): new function.
	set the font for text_item here to match the widget's style.
	(editable_label_set_text): don't bother to set the font when
	creating the text_item, as the style is not set properly yet.
	
1999-01-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/fn-misc.c: Added documentation for the functions in this file.

1999-01-26  Bruno Unna  <bruno@iac.com.mx>

	* src/dialog-cell-format.c (create_coloring_page): Now, the
	method to find out whether a cell has been colored or not
	is to compare the RGB values to zero.
	Commented out the attachment of background_radio_list
	because the functionality is not ready yet.

	* src/dialog-cell-format.c (apply_coloring_format): Added support
	for background solid coloring. Howver, changes to the style of
	the cells in this regard have no effect in the display. The reason
	for this is unknown to me as of now.

1999-01-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/sheet-autofill.c (sheet_autofill_dir): Add a call to
	sheet_cell_remove before calling cell_destroy.

1999-01-23  Bruno Unna  <bruno@iac.com.mx>

	* src/dialog-cell-format.c: Reactivated the 'Coloring' page
	in struct array cell_format_pages.

	* src/dialog-cell-format.c (create_coloring_page): Lots of
	changes, practically a full rewrite. One problem is that cells
	are thrown into this world with the flag STYLE_FORE_COLOR of
	their style set, which causes a lack of synchronization with
	what is expressed in the global variable foreground_radio_list.

	* src/dialog-cell-format.c (apply_coloring_format): By the moment
	being, deactivated the call of function cell_set_pattern, along
	with the STYLE_PATTERN bit flag of style->valid_flags. I will
	concentrate in fg/bg coloring of the cell.

1999-01-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/widget-editable-label.c 	(el_init): Set the scroll region
	to something very big.  This fixes the label-sliding problem.
	Thanks to Federico for his quick debugging eye.
	
	(el_button_press_event): WOW.  I am amazed.  I now gtk grab add
	and if I receive a widget->window different than the canvas, I
	drop the grab and stop editing.

1999-01-19  Francisco Bustamante  <pancho@nuclecu.unam.mx>

	* src/workbook.c (workbook_delete_event)  Return TRUE when the
	workbook should not be destroyed. (i.e. the user presses cancel)

1999-01-19  Jeff Garzik  <jgarzik@pobox.com>

	* src/dialog-cell-format.c, src/gnumeric-util.c,
	  src/sheet-view.c, src/workbook.c:
	Renamed deprecated Gtk+ functions.

1999-01-18  Bruno Unna  <bruno@iac.com.mx>

	* src/dialog-cell-format.c: Now the terminator element of the
	cell_format_pages has three null elements (as stated in the struct
	definition), instead of two. Fixed up some comments. Started
	to pursue the bug that causes that when adding the "Coloring"
	tab the program generates a Gdk-ERROR. Modifications not commited.

1999-01-17  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/gnumeric-sheet.c (gnumeric_sheet_can_move_cursor): Do not
	enable item editing if sheet is not in edit mode.

1999-01-13  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet): Mark sheet
	as being edited.

1999-01-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/file.c (dialog_query_load_file): Set the window modal.
	(workbook_save_as): ditto.

1999-01-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/format.c (format_value): Use 0.0########## instead.  Looks saner.

1999-01-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/workbook.c (change_auto_expr_menu): Use the event->button
	field to get the popup menu to behave correctly.
	(workbook_setup_auto_calc): Put the information display inside a
	GtkFrame. 

	* src/item-bar.c (set_cursor): This routine can be invoked before
	we are realized.

	* src/workbook.c (sheet_label_button_press): We need to do the
	page flipping ourselves, as the GtkNotebook wont take events if
	they are not for a window it knows about.

	* src/widget-editable-label.c (el_button_press_event): Forward
	events to parent.

	* src/parser.y: New non-terminal "cellref".  Make this
	non-terminal include CELLREF and SHEETREF!CELLREF constructions. 

	* src/expr.c: Changed the whole module according to the dropping
	of VALUE_CELLREF.

	* src/expr.h: VALUE_CELLREF did not make much sense.  Better add
	to the ExprTree union a CellRef field specifically for OPER_VAR
	nodes.

1999-01-10  Michael Meeks <michael@imaginator.com>

	* plugins/excel/ms-excel.c (ms_excelReadWorkbook): Only believe the
	first BOF with regard to BIFF version number, other BOFs seem to lie.

1999-01-10  Nick Lamb <njl98r@ecs.soton.ac.uk>

	* plugins/excel/ms-excel.h: Added global string table to EXCEL_WORKBOOK

	* plugins/excel/ms-excel.c (ms_excel_workbook_new): Setup new fields,
	(ms_excel_read_cell): case BIFF_STRING_REF,
	(biff_get_global_string): Retrieves a global string from the EXCEL_WORKBOOK table.
	(ms_excel_read_cell): case BIFF_STRING_REF,
	(ms_excelReadWorkbook): case BIFF_STRINGS reads the global table.

1999-01-10  Michael Meeks <michael@imaginator.com>

	* plugins/excel/ms-excel.c: Rehash of border code to use neater centralised
	enumerations / types.
	(get_style_color_from_idx): Implemented.
	
	* src/style.h: Major expansion of 'StyleBorderType', massive simplification
	of StyleBorder to use directional [ StyleSide ] arrays instead of lots of
	unique member names.

	* src/style.c (border_equal, border_hash, style_border_new,
	style_border_new_plain): Major overhaul and shrink to fit new structure.

	* src/xml-io.c: Updated BorderTypes array to give textual names to
	the new border types, also created an array of text names for StyleSides.
	
	* src/xml-io.c (readXmlStyleBorder,writeXmlStyleBorder): Use new
	arrays and struct.

	* src/cell.c, src/cell.h: Added cell_set_border.
	
1999-01-10  Thomas Meeks  <meekte95@christs-hospital.org.uk>

 	* plugins/excel/ms-excel.c (ms_excel_read_cell): 
 	added header and footer Biff code.
 	* plugins/excel/ms-excel-biff.h: the defines. 
	
1999-01-10  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>

	* src/workbook.c (cb_sheet_check_dirty): Use g_strdup_printf
	instead of g_strconcat.  More easy to translate the string.

1999-01-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/workbook.c (wb_input_finished): Use
	sheet_accept_pending_input instead of sheet_set_current_value.
	(workbook_setup_auto_calc): Stick the information display inside
	the status bar.

	* src/eval.c (add_value_deps): Reorganization.  Hanlde
	VALUE_CELLREF here and make OPER_VAR and OPER_CONSTANT call
	add_value_deps. 

	* src/expr.c (do_expr_tree_relocate, expr_tree_relocate): New
	routine that returns an ExprTree relocated.
	(value_copy_to): Handle the VALUE_CELLREF type.

	* src/expr.h: define VALUE_CELLREF

	* src/parser.y (yylex): Type fix.
	When creating values of type VALUE_CELLREF, set this value. 

1999-01-09  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/sheet.c (sheet_move_column): Update to new cell_relocate
	semantics.
	(sheet_shift_row): ditto.
	(sheet_insert_row): ditto.
	(sheet_delete_row): ditto.
	(sheet_shift_col): ditto.

	* src/clipboard.c: Update to new cell_relocate semantics.
	Remove the old GTK compatibility code.

	* src/cell.c (cell_relocate): We do not need to reference this
	formula. 
	This routine now takes delta-x and delta-y values for the
	relocation, instead of absolute cordinates.  To implement the
	proper semantics of cell movement that other spreadsheets implement

1999-01-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet): Return the
	result of gtk_widget_event() if we get to the switch's default
	case.
	(gnumeric_sheet_key): Return FALSE in the default case, since we
	did nothing there.

	* src/workbook.c (open_cmd): If the file-open dialog was
	cancelled, it will return NULL.  Take this into account.

1999-01-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/workbook.c (workbook_setup_status_area): We do not use the
	progress bar feature currently.

1999-01-07  Nat Friedman  <nat@nat.org>

	* src/workbook.c: Added hints to the rest of the custom menu items.
	
1999-01-07  Nat Friedman  <nat@nat.org>

	* src/workbook.c (workbook_new): Install the menu hints.
	(workbook_setup_status_area): Create the GnomeAppBar.

	Added hints to most of the custom menu items.

	* src/sheet.h: Added the appbar field to the Workbook structure.

1999-01-07  Nat Friedman  <nat@nat.org>

	* src/workbook.c: Use GNOMEUIINFO_MENU_ABOUT_ITEM and the new
 	GNOMEUIINFO_MENU trees.

1999-01-07  Nat Friedman  <nat@nat.org>

	* src/workbook.c: Pass the menu item description to
 	GNOMEUIINFO_MENU_NEW_ITEM.

1999-01-06  Nat Friedman  <nat@nat.org>

	* src/workbook.c: Use the standard GNOMEUIINFO macros from
 	gnome-app-helper.h.

1999-01-06  Nat Friedman  <nat@nat.org>

	* src/workbook.c: Use the gnome-uidefs.h macros for the
 	accelerators.
	

1999-01-04  Havoc Pennington  <hp@pobox.com>

	* src/fn-date.c (gnumeric_date): Allocate the GDate on the stack,
	saves some small amount of time. Check user-provided
	month/day/year for validity before using it.
	(gnumeric_today): Allocate GDate on the stack.
	(gnumeric_now): Ditto.

1999-01-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/sheet.c (sheet_rename): New routine.

	* src/workbook.c (workbook_attach_sheet): Use a EditableLabel for
	the notebook tab.
	(workbook_rename_sheet): New routine.

	* src/widget-editable-label.c:  New widget.  This is a label that
	can be edited if you double click on it.  This uses the same trick
	of the gnome-icon-item to provide the editing facilities.

1999-01-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/workbook.c (workbook_setup_status_area): Use the style font,
	not "fixed".
	(workbook_setup_status_area): One hack down.  Use GTK_ANCHOR_NW to
	achieve the same effect I had with my previous hack.

	* src/dialog-cell-comment.c (dialog_cell_comment): New file.
	Implements the cell comment dialog box.

	* src/cell.c (cell_relocate): Only call cell_comment_reposition is
	there is a cell comment bound to this cell.

	* src/format.c (format_value): No format means "General" format as
	well.
	If the value has decimal numbers use "0.00##########" for the
	formatting instead of 0.00.
	

1998-01-03  Jeff Garzik  <jgarzik@pobox.com>

	* src/number-match.c, src/plugin-manager.c, src/sheet.c:
	Warning fixes.

1999-01-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/expr.c (do_expr_decode_tree): Add termination NULL to the OPER_NEG
	operation. 
	
	* (eval_expr): Add support for non-local cells here.  I am
	impressed how simple this was.

	* src/parser.y: Add rules for cell references outside of the
	current sheet.

	* src/main.c: New option --debug.  Turns on the zoom in/zoom out
	buttons on the main sheet.

	* src/workbook.c: Include the zoom in/zoom out buttons conditionally.

	* src/xml-io.c (xmlGetCoordinates): Load using double numbers the
	information. 

	* src/parser.y (yylex): Allow strings to be specified with "'"
	characters. 

1999-01-01  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/item-grid.c (item_grid_button_1): When starting a selection
	of cells during a formula edit, insert the currently clicked cell
	name. 

1998-12-30  Jeff Garzik  <jgarzik@pobox.com>

	* plugins/perl/perl.c, src/cell.c, src/expr.c, src/plugin.c,
	  src/sheet-autofill.c, src/sheet.c, src/workbook.c:
	s/g_copy_strings/g_strconcat/

1998-12-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* plugins/excel/boot.c: New file, this holds the probing and load
	wrapper code for Gnumeric to use as well as the initial format
	registering code. 

	* src/xml-io.c (xml_probe): New routine, used to probe if a file
	is a Gnumeric-xml file.

	* src/file.c (file_format_register_open,
	file_format_unregister_open, file_format_register_save,
	file_format_unregister_save): New routines used to register and
	unregister file formats in Gnumeric.

	* src/main.c (main): Boot xml and excel formats, since they now
	need to register themselves with the file.c code 

	* src/cell.h: cell->entered_text is back, now only used for typo
	correction.  Maybe I will use it for saving. 

	* src/fn-string.c (gnumeric_right): Use value_str.
	(gnumeric_char): same
	(gnumeric_left): same

	* src/expr.c (value_str): New function.

	* src/xml-io.c (writeXmlCell): Use cell_get_content instead of
	cell_get_text.

	* src/cell.c (cell_get_content): New function.

1998-12-17  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/workbook.c: fix bug introduced yesterday.

1998-12-17  Tuomas Kuosmanen  <tigert@fun112.koivukyla.hoas.fi>

	* gnumeric.desktop: Added gnumeric program icon
	* Makefile.am: added the stuff to install the icon - 
	could someone check that I did it correctly?
	* gnome-gnumeric.png: the icon itself

1998-12-16  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/workbook.c: Use GNOME stock icons for the stuff that hsa
	icons on Gnome Stock.

	* gnumeric.keys.in: New file that defines the mime-type for Gnumeric

1998-12-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* src/workbook.c (workbook_setup_status_area): Do not set_usize()
	on the info item.

	* src/sheet-view.c (new_canvas_bar): Set the width or height to -1
	in set_usize().

	* src/gnumeric-sheet.c (gnumeric_sheet_new): Do not set_usize() on
	the sheet.

	* src/item-bar.c: Updated for the new canvas item API.
	* src/item-cursor.c: Likewise.
	* src/item-edit.c: Likewise.
	* src/item-grid.c: Likewise.

1998-12-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/workbook.c (workbook_new): Use the new gnomeapp api.

	* src/gnumeric-sheet.c: Use the new canvas.
	
1998-12-14  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* src/gnumeric-sheet.c (gnumeric_sheet_new): Use
	gtk_widget_set_usize() instead of gnome_canvas_set_size().
	* src/pattern-selector.c (pattern_selector_new): Likewise.
	* src/sheet-view.c (new_canvas_bar): Likewise.

1998-12-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* src/fn-date.c (gnumeric_year_month_day, gnumeric_now,
	gnumeric_today,gnumeric_date): 
	* src/workbook.c (insert_current_date_cmd): 
	* src/number-match.c (compute_value): Changed to use the glib
	GDate type instead of the lib_date functions. Fixed off by-one
	error for some date functions (e.g. =today ()) was one day to
	early).

	* src/utils.c, src/utils.h (g_date_serilal, g_date_serial_new):
	New functions for handling the gnumeric serial of a date.

1998-12-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/item-cursor.c (item_cursor_set_bounds_visibly): Update the
	cursor position as well.

1998-12-10  Michael Meeks    <michael@imaginator.com>

	* plugins/excel/ms-excel.c (ms_excel_read_cell): Fixed serious bug
	in IEE floating point number reading from RK records.

	* plugins/excel/ms-formula.c (ms_excel_parse_formula): Implemented
	string expressions in formulae, MS stores numbers like this !

1998-12-10  Owen Taylor  <otaylor@redhat.com>

	* src/workbook.c (filenames_dropped): Make toplevel
	windows drop targets for files.

1998-12-09  Michael Meeks    <michael@imaginator.com>

	* plugins/excel/ms-ole.c: Indented correctly, implemented writes
	of all file lengths.

1998-12-08  Jaka Mocnik  <jaka.mocnik@kiss.uni-lj.si>

	* src/dialog-paste-special.c (dialog_paste_special): changed
	gnome_dialog_run_modal() to gtk_window_set_modal() and
	gnome_dialog_run().

1998-12-06  Michael Meeks    <michael@imaginator.com>

	* plugins/excel/ms-ole.c: Much trivial bug fixing, API fixups,
	testing and stabilizing.

1998-12-05  Michael Meeks    <michael@imaginator.com>

	* plugins/excel/ms-ole.c: Major work on creation of readable
	macros for accessing obscure fields, removing magic numbers from
	main code.
	(ms_ole_create): Created to create new OLE files.

	* plugins/excel/ms-excel-biff.h: Update comments, and re-arrange.
	
	* plugins/excel/ms-biff.h: Commenting fixes

1998-12-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* configure.in (ALL_LINGUAS): Added Japanese translation courtesy
	of Mitsuru Oka <moka@globe.to>.  Also updated the .desktop file.

1998-12-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/gnumeric-sheet.c (gnumeric_sheet_set_top_row,
	gnumeric_sheet_set_top_col): New functions to set the sheet top
	column and row respectively.

	(gnumeric_sheet_bar_set_top_row, gnumeric_sheet_bar_set_top_col):
	Renamed from their old names to reflect their actual action.

	* src/item-cursor.c (item_cursor_autofill_event): Do not pass
	negative numbers to item_grid_find_col and item_grid_find_row. 

	* src/item-grid.c (item_grid_find_row, item_grid_find_col): Check
	for possitive numbers. I think the right fix is to accept negative
	numbers and find the column even if the number is negative instead
	of this ugly restriction.

1998-11-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/sheet.c (cellref_name): Add more space.

1998-12-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* src/Makefile.am: make Gnumeric-impl.c dependend on Gnumeric.h to
	make it compile the idl-file before compiling Gnumeric-impl.c

1998-11-28  Michael Meeks    <mejm2@cam.ac.uk>

	* plugins/excel/ms-formula.c(ms_excel_parse_formula): Fixed serious
	memory leaks on return values from cellref_name

	* plugins/excel/ms-formula.c(getRefV7): Now sets CellRef->sheet properly
	(getRefV8): same.

	* plugins/excel/ms-ole.c: Several minor changes, moving seperate
	structures back into the raw datastream with macros.
	
1998-11-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/gnumeric-util.c (gnumeric_notice): Do not use
	gnome_dialog_run_modal. 

	* src/dialog-goto-cell.c (dialog_goto_cell): Do not use
	gnome_dialog_run_modal 

	* src/sheet.c (sheet_mark_clean): New routine to mark a sheet as
	not modified.

	* src/workbook.c (workbook_mark_clean): New routine to mark a
	workbook as not modified.

1998-11-13  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/sheet-autofill.c (autofill_cell): Simplify by using
	cell_set_formula_tree 

	* src/expr.c (expr_parse_string): Take a sheet argument
	(expr_decode_tree): Same
	
	* sheet.c (cellref_name): Now takes a sheet argument and decodes the
	cellref depending on the sheet.
	
	* cell.c (CellRef): Now they include the sheet location.
	
1998-11-28  Michael Meeks    <mejm2@cam.ac.uk>

	* plugins/excel/ms-ole.c, plugins/excel/ms-ole.h: Total re-write
	of internal interfaces, code streamlined, '?' operators expunged.

1998-11-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/item-grid.c (item_grid_realize): Oops.  This was not a bug.
	gc was actually initialized as being item_grid->grid_gc, it was
	just not obvious.

	* src/main.c (gnumeric_main): Fix the prototype.

	* src/dialog-goto-cell.c (dialog_goto_cell): Revert const from gtk-clist.

	* src/dialog-cell-format.c (create_number_format_page): Revert
	const from gtk-clist.

	* src/dialog-goto-cell.c (dialog_goto_cell): Revert const from gtk-clist.

	* src/Gnumeric-impl.c: Empty stubs for now.
	
	* src/Makefile.am (GNUMERIC_CORBA_SOURCES): Add rules for
	compiling the CORBA support.

	* plugins/python/Makefile.am (LIBTOOL): This one needs xlibtool
	instead of our modified libtool.

	* plugins/sample/Makefile.am (GNUMERIC_SRC_DIR): Simplified Makefile.am

1998-11-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/item-grid.c (item_grid_realize): Removed bogus calls to
	invalid gc.

1998-11-24  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* src/item-grid.c (item_grid_unrealize): Unref all the item_grid's GCs.

1998-11-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/dialog-goto-cell.c (dialog_goto_cell): Set the policy on the
	scrolled window.

	* src/sheet.h: formula_cell_list *ONLY* exists in the Workbook,
	not on the Sheet.

	* src/sheet.c (sheet_cell_formula_link,	sheet_cell_formula_unlink): 
	Keep the formula on the Workbook, not on the Sheet.  Thanks to
	Havoc for reporting these bugs.
	
	* src/cell.c (cell_set_formula): Use cell_set_rendered_text to
	propery set the error messages.
	(cell_get_text): If value is NULL, use the rendered version of the
	text instead of re-rendering it.

	* src/dialog-cell-format.c (create_number_format_page): Put the
	clist inside a scrolled window for the new CList api.
	
	* src/dialog-define-names.c (dialog_define_names): ditto.
	
	* src/dialog-goto-cell.c (dialog_goto_cell): ditto
	

1998-11-23 Marin Purgar <pmc@iskon.hr>

	* src/dialog-cell-format.c: Style general was applied to more
	than one cell in various cases.

1998-11-18  Bruno Unna       <bruno@iac.com.mx>
	* src/style.c: added the default italic font as helvetica-oblique.

	* src/style.h: added declaration for new global variable
	  gnumeric_default_bold_font

	* src/gnumeric-util.c: enhanced the robusteness of the function 
	  font_get_italic_name. But it's not at a 100%, though.

	* plugins/excel/ms-excel.c: slight modification to the error 
	  tracking mechanism (font stuff in ms_excel_set_cell_font).

1998-11-15  Michael Meeks    <mejm2@cam.ac.uk>

	* plugins/excel/ms-ole.c(ms_ole_directory*): Created new directory
	API for ole files, such that the excel dependant stuff is now moved
	out of ms-ole.c into ms-excel.c

	* plugins/excel/ms-excel.c(find_workbook): Nicer routine using the
	directory API to find its file

	* plugins/excel/ms-ole.c(ms_ole_stream_open): Renamed from ~_new

	* plugins/excel/ms-ole.c: Re-organisation, code clean, many cases
	added throughout to make NULL pointers less harmful, and allow
	for turning into a library soon.

1998-11-14  Michael Meeks    <michael@imaginator.com>

	* plugins/excel/ms-excel.c(ms_excel_set_cell_font): Fixed buffer
	overflow bug, and secured sprintf.

1998-11-12  Bruno Unna       <bruno@iac.com.mx>

	* plugins/excel/ms-excel.c: added support for fount size.

	* plugins/excel/ms-excel.c: included ctype.h.

	* plugins/excel/ms-excel.c: initial hacks on font name importing,
	  from windoze to X.

1998-11-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/parser.y: 

	* src/workbook.c (workbook_new): Use case-insenstive routines when
	creating the hash table.
	(workbook_sheet_get_free_name): Find an unused name for a sheet. 
	(workbook_sheet_lookup): Looks up a sheet by name in a Workbook.
	(insert_sheet_cmd): New command to insert a sheet into a workbook.

	* src/utils.c (gnumeric_strcase_hash, gnumeric_strcase_equal):
	Routines used for strings hash tables that are not case
	sensitive. 

1998-11-12  Morten Wellinder <terra@diku.dk>

	* test-parser.c: Fix to compile with the new API

	* parser.y: Make the code more maintainable.

1998-11-12  Michael Meeks    <michael@imaginator.com>

	* plugins/excel/ms-ole.c, plugins/excel/ms-ole.h: Massive changes
	renamed many functions to conform to a sensible naming convention.
	Cleaned the interface, and structure names.

	* plugins/excel/ms-excel-biff.h: Split from ms-biff.h removing all
	the excel specifics so that the biff & ole stuff can be turned into
	a library sometime.

	* src/workbook.c(workbook_read): Updated to new structure names.

	* plugins/excel/ms-excel.c: Added list of array formulae, as yet
	unused, possibly unneccesary.

	* plugins/excel/ms-formula.c: Added support for slightly different
	array formula BIFF layout.

1998-11-11  Bruno Unna       <bruno@iac.com.mx>

	* src/gnumeric-util.c: Added function font_get_italic_name, 
	analogous to font_get_bold_name.

	* plugins/excel/ms-excel.c: added enhanced support for styles 
	(bold & italic). Included gnumeric-util.h.

1998-11-11  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/gnumeric-util.c (font_get_italic_name): Missing function.

	* src/parser.y: Use '^'.

1998-11-11  Mark Probst  <schani@obiwan.unix.cslab.tuwien.ac.at>

	* plugins/guile: Added guile plug-in.

1998-11-11  Michael Meeks    <michael@imaginator.com>

	* plugins/excel/ms-biff.h, plugins/excel/ms-excel.c: Removed fatal
	bug, and accelerated code by testing for DV in MULBLANK case.

	* plugins/excel/ms-excel.c(ms_excel_set_cell_xf): Out by one indexes
	causing serious attribute offset grief in fonts.

	* Rememberance_Day:
	They went with songs to the battle, they were young,
	Straight of limb, true of eye, steady and aglow.
	They were staunch to the end against odds uncounted,
	They fell with their faces to the foe.

	They shall grow not old, as we that are left grow old,
	Age shall not weary them, nor the years condemn.
	At the going down of the sun, and in the morning,
	We will remember them.

	Lest we forget.

1998-11-10  Bruno Unna       <bruno@iac.com.mx>

	* plugins/excel/ms-excel.c(ms_excel_set_font): Started implementing
	font styles properly.
	
	* src/gnumeric-util.c(font_get_bold_name, font_get_italic_name): Hacked
	both so they allow testing of new font code.

1998-11-10  Michael Meeks    <michael@imaginator.com>

	* plugins/excel/ms-ole.c(create_link_array): Truly
	brainless one suprised it took so long to surface.

1998-11-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/sheet-view.c (sheet_view_comment_get_points): Scale properly
	the points to be in window cordinates.

	* src/sheet.c (sheet_col_set_width): Move comments on column
	change. 

	* src/cell.c (cell_copy): Duplicated cells get col, row and sheet
	values set to NULL.

1998-11-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/fn-misc.c: Add ctype.h

	* src/sheet-view.c (sheet_view_comment_get_points): New utility
	routine used.
	(sheet_view_comment_relocate): New function used to relocate a
	comment canvas item in a cell to its new location.

	* src/cell.c (cell_relocate): Move the comments with the cell.
	(cell_realize, cell_unrealize, cell_comment_realize,
	cell_comment_unrealize): New functions used to create and destroy
	view-specific cell components (the comments are canvas objects
	that need to be created on a per-view basis).
	
1998-11-10  Michael Meeks    <michael@imaginator.com>

	* plugins/excel/ms-ole.h: Added unsigned to WORD, LONG
	types.

	* plugins/excel/ms-formula.c(getRefV7, getRefV8): Fixed 
	bug in relative column retrieval.

	* plugins/excel/ms-formula.c(ms_excel_parse_formula):
	Squashed silly op-code bug, and got simple op-codes working.
	
1998-11-09  Michael Meeks    <michael@imaginator.com>

	* plugins/excel/ms-formula.c: Re-designed the translation
	code, abstracted, and implemented AVERAGE, MIN & MAX using
	StarOffice 4.0 to deduce the standard function numbers.

1998-11-08  Michael Meeks    <michael@imaginator.com>

	* plugins/excel/ms-formula.c: Major top to bottom changes
	basic hacked RPN to Infix parsing started in a rather nasty
	fashion. Much more work needed only 1 ( the SUM ) function
	supported.

	* src/cell.c (cell_split_text): Fixed string length malloc
	bug, out by 1 trashing stack.

1998-11-08  Michael Meeks    <michael@imaginator.com>

	* src/workbook.c, src/sheet.h, src/main.c (workbook_read):
	Added generic routine to read a file

	* plugins/excel/ms-excel.c: Major code overhaul, multiple bug
	fixes, BLANK, MULBLANK implemented & tested
	
1998-11-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/cell.c, src/workbook.c, src/sheet-view.c: Finish cell
	comment display routines.  Now we only need the dialog box to
	insert/edit a cell comment.

1998-10-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/cell.c (cell_set_comment): new implementation.

1998-10-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/fn-date.c (gnumeric_date): Fix longstanding off by one
	error.
	(gnumeric_today): ditto
	(gnumeric_now): ditto.

	* Prepare for 0.4 release.
	
	* configure.in: Add test for new GTK+ selection code. 

	* src/clipboard.c: Make it work with both APIs: the old and the
	new one.  

1998-10-28  Daniel Veillard <Daniel.Veillard@w3.org>

	* src/xml-io.c: now the basic I/O functions should be clean
	  removed all direct references to node->content.

1998-10-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet): Added
	keypad support. 

	* src/parser.y (dump_tree): Updated to use the new symbol table.

1998-10-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/parser.c (dump_tree): Use extra argument.

	* src/expr.c (function_call_with_values): Use the extra argument
	to symbol_lookup

	* src/func.c (constants_init): Use the extra argument to symbol_install.

	* src/main.c (main): Invoke global_symbol_init.

	* src/symbol.h: Symbol routines now take an extra argument; the
	symboltable they work on.  Now the code can have multiple symbol
	tables (this is required for the cell range name bindings in a
	per-sheet fashion.

1998-10-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/sheet.c (sheet_set_zoom_factor): Zoom factor should be
	applied to to the default styles.

1998-10-27  Daniel Veillard <Daniel.Veillard@w3.org>

	* src/xml-io.c: adapted code to the new XML tree format, however
	  to compile you need to update your libxml from the CVS tree too.
	  Not a definite solution I'm thinking about a more general API
	  for XML tree values encoding/decoding. I modified the endoding
	  format but backward compatibility should be maintained.

1998-10-23  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* src/workbook.c: Made the menus consistent with the (unwritten!)
	UI Guidelines document.

1998-10-18  Tom Dyas  <tdyas@vger.rutgers.edu>

	* src/clipboard.c: Update to new GTK selection API.

1998-10-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/fn-string.c (gnumeric_right): New file.  Implements
	left/right string functions. 

1998-10-13  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/item-grid.h: Add some missing variables. 

1998-10-13  Jakub Jelinek  <jj@ultra.penguin.cz>

	* src/item-grid.c (item_grid_stop_sliding,
	item_grid_sliding_callback, item_grid_start_sliding):
	New functions.
	(item_grid_event): If x or y is out of canvas bounds,
	do sliding for both cell and formula selection.
	For button release from formula selection, make cell
	being edited visible afterwards.
	(item_grid_button_1): If not extending selection with
	shift, make cursor cell visible.

	* src/gnumeric-sheet.c (move_cursor,
	gnumeric_sheet_key_mode_sheet): Make cursor cell visible.

	* src/sheet.c (sheet_select_all): Make home visible.
	(sheet_make_cell_visible): New function.
	(sheet_cursor_move, sheet_cursor_set): Don't make cursor
	visible, caller has to do it himself if desired.	

	* src/sheet.h (sheet_make_cell_visible): New prototype.

	* src/workbook.c (workbook_parse_and_jump): Make cursor
	cell visible.
	
1998-10-13  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/utils.c (col_name): It is amazing the number of times I
	duplicated this code.  I wonder if I took prozac by accident.
	This should fix the bug reported by Morten Welinder

1998-10-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/sheet-view.c (vertical_scroll_event,
	horizontal_scroll_event): Set the top column/row from the
	adjustment as well.

	* src/gnumeric-sheet.c (gnumeric_sheet_set_top_col,
	gnumeric_sheet_set_top_row): Export these functions to improve the
	scrolling behaviour.

1998-10-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/utils.c (cellref_name): Fixed another of column name
	decoding.  I wonder when I will learn.

1998-10-07  Jakub Jelinek  <jj@ultra.penguin.cz>

	* src/sheet.c (sheet_cursor_set): Add base_col and
	base_row arguments. Move cursor to that location, so
	that it really reflects base of the selection.
	
	* src/sheet.h (sheet_cursor_set): Ditto.
	
	* src/clipboard.c (x_selection_received): Callers changed.
	
	* src/gnumeric-sheet.c (gnumeric_sheet_set_selection): Ditto.
	(move_cursor): Ditto.
	
	* src/item-cursor.c (item_cursor_autofill_event): Ditto.
	(item_cursor_init): Fix a typo.

1998-10-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/sheet-object.c (create_object): Rectangles have the same
	problems Ovals do in terms of Canvas cordinate constraints. 
	(sheet_view_object_realize): same.

1998-10-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/sheet-view.c (sheet_view_col_selection_changed): Make sure
	the column is allocated (so that the column size change picks up
	the column during the iteration).
	(sheet_view_row_selection_changed): Same

	* src/style.c (font_init): New routine: loads a couple of default
	fonts to be used in Gnumeric.

	* src/item-bar.c (bar_draw_cell): Make the SELECTION cells display
	with a bold font. 
	(item_bar_realize, item_bar_unrealize): reference and unreference
	the gnumeric_default_bold_font.

1998-10-07  Jakub Jelinek  <jj@ultra.linux.cz>

	* src/item-grid.c (item_grid_button_1): Handle shift+click
	on cells (removes last selection and selects from last base
	to current mouse location).
	(item_grid_event): Don't lock up if mouse is moved during
	selection behind left or top margin of sheet canvas (later
	on we should move the current view).

	* src/cell.c (cell_formula_changed): Cast void * to something
	reasonable.

	* src/item-bar.c (draw_bar_cell): Switch from 2 state bars
	to 3 state: whole column/row is selected in one of the current
	selections, some cells are selected in one of the selections
	or nothing is selected. Get rid of ci->selected, compute it
	from the selections.
	(item_bar_draw): Ditto.

	* src/cell.h (selected): Ditto.

	* src/sheet.c (sheet_init_default_styles, sheet_init_dummy_stuff):
	Ditto.
	(sheet_selection_row_extend_to, sheet_selection_col_extend_to):
	Remove.
	(sheet_all_is_selected): True if any of the selections covers whole
	sheet.
	(sheet_col_selection_type, sheet_row_selection_type): New functions.
	(sheet_selection_set): New function.

	* src/sheet-view.c (sheet_view_row_set_selection,
	sheet_view_col_set_selection): Remove.
	(sheet_view_col_selection_changed, sheet_view_row_selection_changed):
	Handle shift+click and ctrl+click on whole columns/bars as well.
	(sheet_view_col_size_changed, sheet_view_row_size_changed): Use
	sheet_*_selection_type instead of ci->selected.

	* src/item-bar.h (ItemBarSelectionType): Enum for the new 3 state
	column/row titles.
	(ItemBarClass): selection_changed takes modifier mask as argument.

	* src/sheet-view.h (sheet_view_*_set_selection): Remove prototypes.

	* src/sheet.h (sheet_selection_*_extend_to): Ditto.
	(sheet_selection_set, sheet_*_selection_type): New prototypes.
	
1998-10-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/cell.c (cell_modified): Cells from the clipboard do not have
	a Sheet parameter attached. 

	* src/sheet.c (sheet_cell_add): Check the computed style:  if the
	computed style includes a format, then turn on the cell flag for
	format is set to avoid the auto guess of cell content.
	(sheet_style_compute): Now can return the flags of the style that
	were not part of the default style.

	* src/file.c (dialog_query_load_file, workbook_save_as): Put the
	window close to the mouse.

	* src/workbook.c (sheet_check_dirty, workbook_close): Do not
	cancel without warning the user if the workbook has changed.
	(workbook_new, workbook_can_close, workbook_window_destroy,
	quit_cmd, close_cmd): Reorganized the code to suit the new code to
	prevent inadvertent quits.

1998-10-06 Adrian Likins <adrian@gimp.or>

	* doc/images/*.gif: gifs for documenting the button bar   
	* doc/editing.sgml, files.sgml, formulas.sgml, gnumeric.sgml,
	number-format.sgml, worksheet.sgml: doc updates, some prelim
	info on file loading/saving 

1998-10-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/cell.c (cell_modified): New function, used to tag a modified
	cell in a sheet.

	* src/fn-math.c (gnumeric_average): Display error on division by
	zero.  Make the code not depend on the types returned by
	gnumeric_sum and gnumeric_count.
	(callback_function_sum): Keep sum as integers as long as
	possible instead of using floating point all the time.

1998-10-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/fn-math.c (callback_function_sum): Do not try to be smart
	about string content.  Let the smartiness to other layers. 
	(gnumeric_average): Handle division by zero on average routine. 

	* src/number-match.c (create_option_list): Small bug fix:  First
	translate, then move the pointer ahead.

	* src/cell.c (str_trim_spaces): Trim space routine was removing
	everything after the first space instead of removing only the
	trailing space. 
	(cell_draw): Free the original string, not the modified copy.

	* src/sheet.c (sheet_set_text): Test if the format has been
	manually set by the user before trying to do format matching. 

	* src/cell.h: New flag: CELL_FORMAT_SET, used if the user has
	manually specified a format. FIXME: This information should be
	saved and loaded.
	
	* src/cell.c (cell_set_format): Set the CELL_FORMAT_SET flag

1998-10-03  Nuno Ferreira  <nmrf@rnl.ist.utl.pt>

	* src/workbook.c: Added some more keys to navigate the menus.

	* gnumeric.desktop: Added Portuguese translations. 

	* autogen.sh: Modified hack that patches libtool to work with
	srcdir != builddir

1998-10-02  Richard Hestilow <hestgray@ionet.net>
	
	* plugins/stat/stat.c: added new function NVARIANCE
	for division by N instead of N - 1, fixed div by 0 error if
	variance of a single value was taken, free'd up some mem leaks.
	(Thanks to Morten Welinder for noticing these)

1998-10-02  Richard Hestilow <hestgray@ionet.net>

	* Added new statistics plugin
	
1998-10-02  Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
	
	* src/dialog-cell-format.c (apply_coloring_format): fix,
	fore_color was assigned twice, and back_color never. 

1998-10-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/item-grid.h: ItemGridSelectionType: new enumeration type
	used for item_grid->selecting to avoid shutting down entirely the
	formula selection range on mouse release.

1998-10-02 Vincent Renardias <vincent@waw.com>

	* Changed 'es@mx' into 'es_MX' for locale stuff in
	  configure.in, po/*, doc/translating.sgml.

1998-10-01 Adrian Likins <adrian@gimp.org>

	* src/*.sgml: guess what? doc updates.. mainly
	info on formatting cells.
	
	* src/images/number-format-*.jpg: more images

1998-10-01  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/item-grid.c (item_grid_event): Removed unused variables

	* src/gnumeric-sheet.c (gnumeric_sheet_start_cell_selection,
	gnumeric_sheet_selection_extend,
	gnumeric_sheet_selection_cursor_place): New routines for letting
	the user use the mouse to select a cell range.  Invoked from
	item-grid.c 

	* src/item-grid.c (item_grid_event): Clean and reorgranize the
	event handler, remove unused variables.

	* src/gnumeric-sheet.c (selection_expand_horizontal): -1 now means
	"shrink the selection", which means Left/Up keys shrink.
	Right/Down expand. 
	(selection_expand_vertical): likewise.

	* src/format.c (format_number): Fixed memory leak: this is a
	pretty bad construction: g_string_append (s, alloc_string()).  I
	just did not see it coming.  Taking metal note of this. 

	* src/number-match.c (format_create_regexp): Fixed memory leaks.
	The strings returned by create_option_list need to be released. 

	* src/style.c (style_color_new): Important bug fix:  The key I was
	passing was a GdkColor, but our hash table stored StyleColors
	inside. 

	* src/format.c (append_year): Better fix, suggested by Morten
	Welinder <terra@diku.dk> 

1998-09-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/clipboard.c (clipboard_export_cell_region): Correct fix to
	the paste problem: dont pass current_workbook, but rather the wb
	we get. 

	* src/format.c (split_time): Compute the day of week.  This was
	done before by localtime, but the new code was not doing it (thus,
	format "ddd" always reported "Sun").

	* src/item-edit.c (item_edit_reconfigure): Call reconfigure in parent.

	* src/item-cursor.c (item_cursor_reconfigure): Call reconfigure in parent.

	* src/format.c (append_year): Year 2000 fix :-).

	* src/cell.c (cell_set_text_simple): Fix, use localeconv
	information to figure out if the text is a number or not. 

1998-09-30  Havoc Pennington  <hp@pobox.com>

	* src/dialog-cell-format.c (color_pick_change_notify): Change args 
	to match new gnome-color-picker color_set args.

1998-09-39 Adrian Likins <adrian@gimp.org>

	* doc/autofill.sgml, sell_refer.sgml, editing.sgml,
	  gnumeric.sgml, number-format.sgml, worksheet.sgml:
	    Minor updates, new info on formatting, spelling
	    and formatting fixes.

	* doc/selection.sgml, selections.sgml: removed selection.sgml
	and added selections.sgml. 

	* doc/images/worksheet-data-[1234].jpg,
	worksheet-running-calc-1.jpg, number-format-dialog-1.jpg:
	more pics to go along with the docs.

1998-09-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/workbook.c (quick_compute_routines): Made static

	* src/item-grid.c (item_grid_context_menus): Made static.

1998-09-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/cell.c (cell_draw_comment): New routine to paint a little
	red triangle if the cell hsa notes.

	* src/cell.c (cell_destroy): Destroy the comment.
	(str_trim_spaces): New routine.  Trims the spaces on a string.
	(cell_draw): Trim the leading and trailing spaces on every string
	of a multi-line text.

	* src/color.c (color_init): Allocate a red for tagging the
	spreadhseet notes.

	* src/dialog-cell-format.c (format_list_fill): Apply the
	traslation when adding the format.

	* doc/tranlating.sgml: New document that describes how to
	internationalize and localize Gnumeric properly.
	
	* src/workbook.c (recalc_cmd): Provide a way to force a recomputation.
	(insert_current_time_cmd): New function.  insert the current time.
	(insert_current_date_cmd): New function.  insert the current date.
	(insert_at_cursor): New utility function.

	* src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet): Handle control-home

1998-09-29  Raja R Harinath  <harinath@cs.umn.edu>

	* src/parser.y (dump_tree): Update to change in `expr.h'.
	s/OP_/OPER_/g.

1998-09-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/xml-io.c: Changed the formatting of it to be like the rest
	of Gnumeric.

	* src/fn-math.c, src/fn-date.c: Simplify routines to use
	value_float and value_int.

	* src/expr.c (value_float, value_int): New utility functions to
	create values of type integer and float.

	* src/sheet.c (sheet_set_text): Use the matching engine on entered text

	* src/cell.c (cell_set_text_simple): New function.  Does not queue
	cell computations nor queue any redraws
	(cell_content_changed): New function: Queues recomputations for
	cells that depend on the contents of the argument.
	(cell_set_format_simple): New routine, like cell_set_format but
	does not render the value nor queues a redraw.
	
	* src/xml-io.c: Use workbook_recalc_all instead of workbook_recalc

	* src/fn-math.c (gnumeric_log10, gnumeric_log, gnumeric_log2):
	Range check fix was wrong.  The valid range does not include
	zero.  Thanks to Morten Welinder for noticing this. 
	(gnumeric_cosh): Call cosh, not cos.
	Reordered this file to have the help always before the function
	that defines it.
	(callback_function_or): Bug fix: any non-zero value is considered
	to be TRUE.
	(gnumeric_fact): Use exp (lgamma (n+1)) to compute large
	factorials (this only applies to factorials over 40).

	* src/about.c (dialog_about): Stop using gnome_dialog_set_modal.

1998-09-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/number-match.c (format_create_regexp): Small bug fix.  I was
	making 'mm' be parsed as 'mmm'.  Support 'mmmm'.

	* src/fn-date.c (gnumeric_now, gnumeric_date, gnumeric_today):
	Note that jannuary 1st is day 1, not day zero.

	* src/format.c (append_month): Fixed handling: tm_mon is zero based.
	(split_time): Fixed silly mistake I did last time I looked at this code

	* src/cell.c (cell_set_formula): Try to set the cell style if the
	style is General.

	* src/parser.y (return_symbol): Try to match the input with the
	format matching engine.

	* autogen.sh (PKG_NAME): Another hack to get rid of the annoying
	extracing symbols list, which, slows down my link time :-)

1998-09-28  Adrian Likins <adrian@gimp.org>

	* doc/gnumeric.sgml, autofil.sgml, worksheet.sgml: More docs.
	* docs/images/worksheet*.jpg: jpg's for the new worksheet docs.

1998-09-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/number-match.c (compute_value): New file:  Implements a
	smart way of parsing numbers:  From all of the registered formats,
	it creates regexps for matching at the time the user inputs data.
	If that data matches any of the regexps, then the input is
	converted into a float, and a display format is assigned to it.

	* src/format.c (append_day, append_month): Skip the -now included-
	start at the begining for internationalization purposes.
	(split_time): Fixed the hour and second renddering.
	(format_number): Fix:  hour_seen was not being set.

	* src/sheet-autofill.c (matches_list): Allow the lists to include
	an asterisk to be able to distinguish between abbreviations and
	full descriptions.

	* src/clipboard.c (x_selection_to_cell_region): New routine.
	Creates a CellRegion of type text based on the selection provided
	by X.
	(paste_cell_flags): New function, decoupled from
	do_clipboard_paste_cell_region.   Handles new type in CellCopy.

	* src/sheet.c (sheet_selection_paste): Simplified as most of the
	work is now 

	* src/clipboard.c (x_selection_received): Perform the paste
	operation, moved most of the logic from sheet.c.  This does both
	internal paste and paste from the X selection (and everything
	works the way the user expects it to behave).

1998-09-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/cell.h: Cell Copys now can contain both Cells or plain
	text.

	* src/expr.c (function_call_with_values): Check the return value
	from symbol_lookup.

1998-09-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* plugins/python/python.c (marshal_func): Our scheduled
	indentation changes.

	* plugins/python/gnumeric_startup.py: Sample file that gets loaded
	when the Module is loaded.  

1998-09-27  Raja R Harinath  <harinath@cs.umn.edu>

	* configure.in (GNOME_COMPILE_WARNINGS): New check.
	(PYTHON_EXEC_PREFIX): Figure out `exec_prefix'
	where python was installed.
	(PYTHON_LIB_LOC): Use $PYTHON_EXEC_PREFIX instead of
	$PYTHON_PREFIX. 

	* src/Makefile.am (CFLAGS): Comment out.
	(gnumeric_LDFLAGS): Pass `-export-dynamic', so that plugins can
	access symbols from the `gnumeric' binary.
	
	* plugins/sample/Makefile.am (CFLAGS): Comment out.

	* plugins/python/Makefile.am (CFLAGS): Comment out.
	(libpython_la_LDFLAGS): Move $(PYTHON_LIB_LOC) here.

1998-09-27 Adrian Likins <adrian@gimp.org>

	* doc/{gnumeric, editing, formulas, autofill.sgml}: More
	approriate tags for the images and examples. Restructed to be a
	bit more logical.

1998-09-26  Adrian Likins <adrian@gimp.org>
 
	* doc/*.jpg:
	* doc/images/*.jpg: moved images to an images subdir

	* doc/gnumeric.sgml, editing.sgml, autofill.sgml: cleaned
	up the markup some   

1998-09-26  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/sheet-object.c (sheet_view_object_realize): Swap coordinates
	before passing to the canvas item.

	* plugins/python/python.c (init_plugin): Use the system
	installation directory to load the python scripts.

	* autogen.sh: Hack to make libtool add library dependcy
	information (it modifies the libtool file after it has been
	created). 
	
	* src/workbook.c (workbook_set_filename): New routine to set the
	filename being edited of the workbook.

	* src/sheet-object.c (create_object): Swap arguments to the
	ellipse object to guarrantee we pass valid information.

	* src/render-ascii.c (cell_region_render_ascii): Ok, remove the
	leaks now.

1998-09-25 Adrian Likins <adrian@gimp.org>

	* doc/cell_refer.sgml, doc/gnumeric.sgml, doc/editing.sgml: 
	Change the structure of the outline of the docs to make a bit 
	more sense. Added some more docs too.

	* doc/cell-*.jpg, doc/selection[8,9,10].jpg: more jpgs

1998-09-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/render-ascii.c (cell_region_render_ascii): new routine that
	renders a cell selection into a an ascii string.  IT HAS PILES OF
	LEAKS.  I have to go to the movies, will fix later tonight.

	* src/clipboard.c (x_clipboard_bind_workbook): New function used
	to connect the selection signals for a workbook.
	(x_selection_handler): New function: X selection handler.
	(clipboard_export_cell_region): New function: Export our clipboard
	to the X selection.
	(clipboard_copy_cell_range): call clipboard_export_cell_region

	* src/plugin-manager.c (plugin_manager_new), plugin.c: Add
	internationalization support.

	* src/sheet.c (sheet_selection_row_extend_to,
	sheet_selection_col_extend_to): New version that makes sure the
	column information has been allocated.

	* src/workbook.c (workbook_parse_and_jump): Maximum ranges were a
	little bit off.

	* src/parser.y (return_cellref): Fixed the same bug we had in
	parse_cell_name:  The parsing of the column name to a column index
	was wrong here too.

	* src/sheet.c (sheet_row_info_set_height,
	sheet_col_info_set_width): New functions based on the older
	non-ColRowInfo versions.

	* src/sheet-view.c (sheet_view_row_size_changed,
	sheet_view_col_size_changed): Apply changes globaly if the whole
	sheet is selected.

1998-09-25 Adrian Likins <adrian@gimp.org>

	* doc/dndselection.sgml, selection.sml: more docs, some
        on creating selections, and some on moving/copying cells
	* doc/dndselection-*.jpg, selection-*.jpg: jpegs to 
        accompany the docs.

1998-09-24 Adrian Likins <adrian@gimp.org>

	* doc/gnumeric.sgml, autofill.sgml: Some docs on the autofill 
        stuff.
	* doc/autofill-[1..10].jpg: jpegs accompaning the autofill docs

1998-09-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet): Do not
	handle Control-a here.

	* src/workbook.c: Handle C-a with the GnomeApp accelerators

Thu Sep 24 15:12:13 EDT 1998 Daniel Veillard <Daniel.Veillard@w3.org>

	* src/xml-io.c: moved to a per-XML file compression interface.

1998-09-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/item-cursor.c (item_cursor_draw): Make the anted selection
	one pixel wider.

1998-09-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/workbook.c (workbook_feedback_set): Add italic font setting support.

	* src/cell.c (cell_set_style): Render the value after copying a style.

	* src/clipboard.c (clipboard_paste_region): Add support for
	pasting the formats only.

	* src/xml-io.c: Destroy the extra style.

	* src/main.c (main): No need to init colors as they are auto-inited.

	* src/style.c (font_compute_hints): At font creation time store a
	couple of the font attributes for quick retrieval.

	* src/sheet-view.c (sheet_view_construct): Do not allow this
	button to have the focus either.

	* src/item-bar.c (item_bar_draw): If the whole sheet is selected,
	draw all of the columns in pressed presenstation

	* src/sheet.c (sheet_is_all_selected): Return wheter all the sheet
	is selected.

	* src/utils.c (cell_name): Fixed cell name computation.
	(parse_cell_name): Fixed parsing of the cell name.

	* src/item-grid.c (item_grid_event): More range checks.

	* src/item-bar.c (item_bar_event): range checks here too.

	* src/sheet-autofill.c (FillItem): Keep track of the originating
	cell so that we can copy the format.
	
	* src/cell.c (cell_set_style): New function.

	* src/sheet.c (sheet_selection_reset_only): Simple fix: For the
	row case, redraw the rows, not the columns.  Cut/paste typo.

	* src/dialog-goto-cell.c (dialog_goto_cell): Do not complain if
	there was no target cell entered.

	* src/expr.c (eval_expr): Division of integers results in a
	float. 

	* src/workbook.c: Added shortcuts to the File menu.

	* src/item-cursor.c (item_cursor_autofill_event): Do not allow
	under-the-base coordinates.

	* src/sheet-autofill.c: Its "january" not "jannuary".

	* src/cell.c (cell_set_text): Enhanced number detection.

	* src/item-cursor.c (item_cursor_drag_event): Handle sheet
	boundaries. 

	* src/gnumeric-sheet.c (move_cursor_vertical,
	move_cursor_horizontal): Handle sheet boundaries.

	* src/item-grid.c (item_grid_event): Handle sheet boundaries.

	* src/item-bar.c (item_bar_draw): Handle sheet boundaries.

	* src/pixmaps/bold.xpm:  Oops.  Use the bold icon I created
	yesterday. 
	
1998-09-23  Richard Hestilow  <hestgray@ionet.net>

	* src/style.c: fixed hyphen vs hypen typo.
	
Wed, 23 Sep 1998 12:52:20 +0200 Paolo Molaro <lupus@debian.org>

	* src/format.c: added #include <locale.h>

	* src/pixmaps: added bold.xpm: this is from gwp, maybe
	we need a better one:-)

1998-09-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/sheet-autofill.c (string_has_number): I got too agressive
	with the test so no Strings + Numbers were being autofilled.

	* src/workbook.c (workbook_setup_edit_area): Remove the CAN_FOCUS
	flags form the accept and cancel buttons.  Bind the buttons.
	(buttons): Neither Zoom-in and Zoom-out can take the focus.
	(change_selection_font): New function to change the fonts of a
	cell range. 

	* src/sheet.c (sheet_accept_pending_input): Renamed from
	sheet_accept_pending_output. 

	* samples/: Added a new sample file: hypothetical-sales.
	
	* src/parser.y (yylex): Accept underscores in identifiers.

	* src/xml-io.c (readXmlCell): Set the content of the cell even if
	the file contains NULLS.

	* src/style.c (style_font_new): Better tolerance to missing fonts.

	* src/xml-io.c: Remove geometry setting: it has some bad side
	effects. 

	* src/func.c (constants_init): Add a GNUMERIC_VERSION constant.

Tue Sep 22 20:50:11 EDT 1998 Daniel Veillard <Daniel.Veillard@w3.org>

	* src/xml-io.c: set-up for compression of output. Should be tunable
	  from the interface.

1998-09-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/xml-io.c (writeXmlStyle): Save colors.  Save pattern.
	(readXmlStyle): return the value.  Start with an empty style. Load
	font.  
	(xmlGetColorValue): Use the style color allocation routines.
	(readXmlCell): Load style. Merge styles if an element is missing.
	Trim the cell tail content (spaces and newlines at the end).
	Changed the use of all hash tables to use strings instead of
	pointers. 
	(readXmlObject); Call sheet_object_realize on the object loaded. 

	* src/item-cursor.c (item_cursor_autofill_event): Commted out
	debugging code. 

	* src/sheet-autofill.c (string_has_number): Bug fix: it was
	assuming every string had a number at the end.

	* src/workbook.c (workbook_new): Handle to destroy signal.  Add
	Close option to file menu.

	* src/style.c, src/style.h (border_equal): Colors in the
	BorderStyler are now stored as StyleColors.

	* src/sheet.c (sheet_shift_col): Small buglette fixes: we need to
	advance our row walker here ;-)
	(sheet_shift_row): Same error was here.

	* src/format.c (format_value): Handle NaN/infinite numbers
	
	* src/gnumeric-sheet.c (gnumeric_sheet_key): Last fix was a little
	too good:  Forward the keystroke events if the user is already
	editing a cell.
	
	* src/gnumeric-sheet.c (gnumeric_sheet_key): Do not process events
	that might be catched by the menubar.

	* src/about.c: Add about box.

1998-09-21  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/fn-math.c: Changed the way we tag the function definitions
	before its too late.
	
	* src/item-cursor.c (item_cursor_point): Made the thresholds for
	the cursor a little better.

	* src/dialog-cell-format.c: Small changes to the color
	configuration code. 
	
	* src/expr.c (do_expr_decode_tree): When decoding a tree, include
	the argument separator.  Also, loop properly trough the arguments
	being decoded.
	
	(function_call_with_values, function_def_call_with_values): New
	functions: these ones are for the plugins so that a plugin can
	invoke other functions in Gnumeric.

	* src/fn-date.c (gnumeric_now): The serial number returned by
	NOW() should be relative to 1900/1/1, not year zero.

1998-09-21  Adrian Likins <adrian@gimp.org>

	*src/fn-math.c: firat stab at fleshing out the help 
	blurbs here.
	
1998-09-20  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/expr.c (eval_expr): Fix the way we computed expressions. 

	* src/eval.c (cell_eval): Maintain a CELL_ERROR flag to know if
	the value is NULL due to an error or to the cell not being
	evaluated. 

	* src/expr.c (funcion_call_with_values): Add a routine to allow
	plugins to call other functions defined in Gnumeric.

	* src/style.c: Handle the pattern property of the styles.

	* src/style.h: Pattern style is now just a 4 bit quantity, instead
	of a RefCounted structure.
	
	* src/plugin.c: Include gnumeric-util.h

1998-09-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/item-cursor.c (item_cursor_do_drop): Use button-1 to select
	an option on the popup menu.

	* src/fn-date.c: New file, implements various date and time
	manipulation routines.
	
	* src/main.c: Accept --dump-func-defs flag to dump the help
	available for our built in functions.

	* src/symbol.c: Export the symbol hash table.

	* src/format.c (render_number): Use the locale provided rendering
	number.  This will require translators to also translate correctly
	the default formats for their locale.

	* src/format.c (split_time): New code that works correctly
	in the range expected by Microsoft Excel [1900,1900+65535].  We of
	course work on a wider range than Excel can.  We can work on
	pre-1900 dates and on 1900+2^31 dates, but it might make little sense.

1998-09-18  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/sheet-autofill.c (fill_item_new): Trivial bug fix (I was
	using a variable before testing if it wsa ok).

1998-09-18  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/item-cursor.c (item_cursor_autofill_event): Accept pending
	input when the user autofills.

	* README, Doc/Design: Updated

	* configure.in: autoconf tests for python.
	
	* src/sheet-autofill.c (sheet_autofill_dir): Only fill the region
	we were requested.

1998-09-17  Tom Dyas  <tdyas@vger.rutgers.edu>

	* plugins/sample/plugin-sample.c: Update to the new plugin API.

	* src/plugin.c (plugin_load,plugin_unload): Replaced g_print's
	with gnumeric_notice. Call new API function "can_unload" to see if
	a plugin is still in use.

	* src/plugin.h: New API function "can_unload". Removed refcount.

1998-09-17  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/sheet-view.c (sheet_view_row_size_changed,
	sheet_view_col_size_changed): If there is a selection of columns
	or rows, change the sizes of all of the columns. 

	* src/sheet.c (sheet_row_get_distance, sheet_col_get_distance):
	optimized to be O(n) instead of O(n^2) using 
	(col_row_distance): new routine to compute distances. 

	* src/sheet-view.c (sheet_view_redraw_cell_region): Add the
	scrolling offset to the x and y positions to draw properly

	* src/xml-io.c (readXmlSheet): Call sheet_set_zoom_factor to
	initialize the ->pixels field.

	* src/expr.h: Valued functions  now take a FunctionDefinition *
	parameter which points to the definition that was used for this
	function.  This is required for the python interpreter.

	* src/cellspan.c (row_cell_get_displayed_at): row->data might be NULL.
	(cell_unregister_span): row->data might be NULL.

	* src/main.c (main): Add support to load more than one file from
	the command line.  Drop requirement for --file option.

	* src/sheet-object.c (sheet_object_destroy): Keep track of the
	sheet->objects structure.
	(sheet_object_create_line, sheet_object_create_filled): Keep track
	of the sheet->objects structure.
	(sheet_object_realize, sheet_object_unrealize): Export these
	functions. 
	(sheet_object_destroy): Keep track of the sheet->objects structure

	* src/sheet-autofill.c (autofill_cell): Implemented autofill on
	strings that contains numbers.  This allows autofill to handle
	stuff like "Product1" -> "Product2", ...

Wed Sep 16 23:56:59 EDT 1998 Daniel Veillard <Daniel.Veillard@w3.org>

	* src/xml-io.c: started working on object saving/loading.

1998-09-16  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/cursors.c (cursors_shutdown): Fix bug.  Destroy the ith
	cursor, nor cursor 0 over and over.

	* src/sheet-autofill.c (type_is_compatible,
	autofill_create_fill_items):  Better type compatible routine.
	This is required for the list fill type.
	(autofill_init): startup the autofill code.  It registers a number
	of default lists (weekdays and months for now).

1998-09-16  Tom Dyas  <tdyas@vger.rutgers.edu>

	* src/plugin-manager.c: Changed where the Remove button was made
	sensitive so that it actually sync's with the list selection.

1998-09-16  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/workbook.c: Use the new accelerator setup from
	gnome-app-helper. 

	* src/sheet-autofill.c (fill_item_new): We now have a working
	implementation of the Autofill feature.

1998-09-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/sheet-autofill.c (fill_range_new): New routine, used to
	create a fill_item

	* src/item-grid.c (item_grid_event): Use the proper cursor
	depending on the sheet mode.

	* src/sheet-object.c (object_event): Set the cursor to the arrow.
	(object_handle_event): Same.

	* src/cursors.h (cursor_set_widget, cursor_set): New macros to
	access easily the gnumeric cursors.

1998-09-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/cursors.c: Define the Gnumeric cursors here.
	(create_bitmap_and_mask_from_xpm): New simplistic function to
	create cursors from an XPM inlined file.  It assumes 3 colors are
	used: none (transparency), black and white. 
	(cursors_init): Create various cursors for use in Gnumeric.

	* src/item-grid.c (item_grid_event): Set the fat cross cursor on
	enter-notify 

	* src/item-cursor.c (item_cursor_selection_event): Handle
	GDK_ENTER_NOTIFY and GDK_MOTION_NOTIFY to set the X window pointer
	shape properly according to the position of the mouse pointer.

1998-09-13  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/gnumeric-sheet.c (gnumeric_sheet_realize): Fix: initilaize
	the GdkWindow pointer after we have invoked our parent method.

	* src/cursors.c: New file.  Loads the various cursors used by
	Gnumeric. 

	* src/item-cursor.c (item_cursor_autofill_event): Implement the
	cursor growing autofill rules. 

1998-09-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/workbook.c (workbook_setup_sheets): Dont let the workbooks
	take the focus.
	(do_focus_sheet): Do focus the current sheet on
	page change. 
	(workbook_setup_signals): Focus the GnumericSheet if no widget has
	the focus. 

	* src/cell.c (cell_draw): Use the value-specified color.

	* src/format.c (lookup_color, format_color_init,
	format_color_shutdown): New routines to use StyleColors instead of
	color names. 

1998-09-11  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/cell.c (queue_cell, cell_freeze_redraws, cell_thaw_redraws):
	Support for freezing/thawing cell redraws to avoid the multiple
	calls that will be produced by appying a format.

	* src/xml-io.c: Use the new color allocation routines. 

	* src/color.c: Implement color allocation routines with a Color
	context shared by all of Gnumeric's code. 

	* src/item-cursor.c (item_cursor_realize): Do not allocate
	colors here now

	* src/item-grid.c (item_grid_realize): Do not allocate colors
	manually here now.

	* src/gnumeric-sheet.c (gnumeric_sheet_color_alloc): Remove.  This
	was a quick hack.

1998-09-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/cell.c (cell_draw): Fix center alignment code.

1998-09-10  Tom Dyas <tdyas@vger.rutgers.edu>

	* src/func.c: Made install_symbols public.

	* src/main.c: initialize the plugins.

	* src/workbook.c (plugins_cmd): Add a menu option for plugin
	loading.

	* plugin-manager.c: New file.  Implements the GUI part of the
	plugin manager.

	* plugin.c, plugin.h: New file. Support for the dynamically loaded
	Gnumeric plugin components.

	
1998-09-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/dialog-cell-format.c (dialog_cell_format): save and restore
	the last page used during a cell style application.

	* src/item-edit.c (item_edit_draw): Do not shift the characters
	one pixel to draw the cursor.

1998-09-09  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/dialog-cell-format.c (create_background_radio): Use the new
	pattern selector.
	
	(create_foreground_radio, create_background_radio): Use the new
	gnome color pickers.

	* src/pattern-selector.c (pattern_selector_select): New widget.
	This is a patter selector.

1998-09-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/sheet-object.c (sheet_button_press): Lots of changes to
	finish the editing facilities for objects: you can now resize the
	objects and you can move them.

1998-09-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/dialog-cell-format.c (apply_font_format): Optimization, walk
	the row list instead of calling repeatedly the sheet_row_get
	routine. 

1998-09-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/style.h: Color style is now a single color

1998-09-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/sheet-object.c: New file.  The support for adding graphical
	objects to the spreadhseet is here.  The main entry point is
	sheet_set_mode_type which hooks to the signal handlers for object
	creation. 

	Various routines for per-view creation, destruction are provided.
	
1998-09-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/parser.y: Add unary '+'

	* src/gnumeric-sheet.c: Add keybinding for Control-Enter which
	fills the selection with the current text.

	* src/sheet.c (sheet_set_text): New function: sets the contents of
	an arbitrary cell to the text as if it were typed by the user.
	(sheet_fill_selection_with): Fill the selection with a string.
	
1998-09-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/gnumeric-sheet.c (gnumeric_sheet_key): Fix the way the
	hotkeys were processed (c-a specifically is annoying and all of
	the control-keys were being consumed before reaching the
	item-edit). 
	(gnumeric_sheet_key): implemenet control-space

	* src/dialog-cell-format.c (create_align_page): Connect to the
	toggled signal of auto return.

	* src/cell.c (cell_draw): Fix the VALIGN_JUSTIFY case. 

	* src/item-grid.c (item_grid_draw): Redone the cell draw driver. 

	* src/cell.c (cell_draw): Now it returns the number of cells it
	draw on top of. 
	(cell_calc_dimensions): Unregister the spans when entering,
	register the span at exit.

1998-09-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/utils.c (int_get_from_range): Bug fix, we were not doing the
	range thing for the "big" case.  Thanks to Alan for finding this
	bug. 

1998-09-02  Tristan Tarrant  <ttarrant@etnoteam.it>

	* configure.in: Included it in ALL_LINGUAS

1998-09-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/cell.c (cell_set_alignment): Bug fix:  optimize only if
	auto_return is the same value that we have set

	* src/gnumeric-sheet.c: Define lots of cool patterns.  Where cool
	in this sentence is defined as 13 (to leave room for the solid
	pattern). 
	(gnumeric_sheet_realize): Create the pattern stipples here. 

	* src/file.c (workbook_save_as, workbook_save,
	dialog_query_load_file): New file, new routines to deal with file
	save and file load dialog boxes.

	* src/workbook.c: Improved our toolbar with new actions.

	* src/xml-io.c: Fixed the order in which parameters were passed to
	sheet_cell_get/sheet_cell_new

	* src/sheet.c (sheet_clear_region): Redraw the deleted region. 
	(sheet_clear_region_content): Same.
	(sheet_cell_remove): same.

	* src/sheet-view.c (sheet_view_redraw_cell_region): 

	* src/cell.c (cell_set_halign): New routine:  Only changes the
	Horizontal alignment of a cell.
	(cell_set_format, cell_set_text, cell_set_font_from_style,
	cell_set_halign, cell_set_alignment): Queue a redraw to a cell
	before making changes to the properties, to repaint correctly the
	regions it covers before the change.

	* src/workbook.c (center_cmd, left_align_cmd, right_align_cmd,
	set_selection_halign):  New routines used to bind the alignment
	commands from the toolbar.

	* src/sheet-view.c (sheet_view_redraw_cell_region): Silly mistake
	fix.  Last time I touched this routine i got too excited.  I
	should use *_col_get_distance only for numbers, not rows.

	My variables were badly named and I thus commmited a mistake, fix.

1998-09-01  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/dialog-cell-format.c (create_align_page): Added support for
	the "add returns automatically" formatting option. 

	* src/cell.c (cell_draw): Finished implementing my new drawing
	scheme.  It now supports all of the Excel 5.0 alignements.
	
	Added missing calls to cell_calc_dimensions in various spots. 

	* src/workbook.c: Added a toolbar with some actions.

1998-08-31  Tristan Tarrant  <ttarrant@etnoteam.it>

	* TODO: some ideas for key shortcuts (from Excel :-)

	* src/gnumeric-sheet.c (gnumeric_sheet_key): Implemented page up,
	page down and home keys. They don't work for selections at the moment.
	Implemented clear. It currently does a clear_all, but ideally it
	should pop-up a dialog asking the user what kind of clear he/she wants,
	as in Excel. Also clearing cells doesn't update the display.

1998-08-31  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/cell.c (cell_do_calc_dimensions): New routine that computes
	the dimenssions of a cell based on the alignement constraints of
	the cell. 

	* src/item-bar.c (item_bar_event): grab the focus when selecting
	as well. 

	* src/sheet-view.c (sheet_view_redraw_cell_region): Implemented
	correctly: we now use cell_get_span on every cell in the range to
	actually compute which areas need to be updated.

	* src/cell.c (cell_get_span): New routine.  Computes the number of
	columns spanned by a cell.

Sun Aug 30 17:19:02 EDT 1998 Daniel Veillard <Daniel.Veillard@w3.org>

	* src/xml-io.c: added saving of the current workbook as one
	  file, added code to load the workbook. Some part are really
	  untested/incomplete especially the style support. 
	
	* src/main.c (main): added loading of "default.wb" on startup
	  i.e. the default workbook.

1998-08-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/item-bar.c (item_bar_get_line_points): New helper routine,
	used to create the position of the tracking line for the bar resizing.
	(item_bar_event, item_bar_start_resize): Fix the incremental
	tracking. 

1998-08-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/sheet.c (sheet_row_set_internal_height): New routine used to
	change the heigh of a sheet.  Now we also keep a variable to see
	if the user has hardcoded the dimensions of the row.
	(sheet_compute_visible_ranges): New function to compute the
	visible ranges of the Sheets.

	* src/item-edit.c (item_edit_init): Init all values.
	(item_edit_set_arg): Set the child bounds
	(item_edit_draw): Use the style font for the current cell when
	drawing the cell.

	* src/dialog-cell-format.c (apply_font_format, create_font_page):
	New cell property configuration page: font selector.

	* src/cell.c (cell_set_font, cell_set_font_from_style): New
	routines to change a cell's font.
	

	* src/item-bar.c (item_bar_start_resize): Fix routine after the
	massive changes of yesterday.

1998-08-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/format.c (format_number): Rewrote the format parser.  I
	took Chris's number formatting routine and made it a
	number-rendering only thing to support the complexities of the
	Excel formating codes.

1998-08-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/format.c (format_number): Add support for text quoting
	inside a format (double quotes and single character quotes); Add
	support for space skipping (_) and concatenation of the allowed
	characters. 
	Added color lookup.
	
	* src/sheet-view.c, src/sheet.c, src/gnumeric.c: Massive changes
	to the structure of the code to accomodate the fact that we should
	be able to have multiple views for a single sheet.

1998-08-26  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/sheet.c (sheet_clear_region_content): New function to remove
	the contents of a region of cells.

	* src/dialog-zoom.c (dialog_zoom): Add Zoom window.

	* src/style.c (style_color_new, style_color_ref,
	style_color_unref): New functions.  Color for a cell will be kept
	as part of the style.  Hack note: if valid_flags reports
	STYLE_COLOR style->color might be NULL: this means use the default
	sheet colors for this cell. 

	* src/cell.h: Get rid of GdkColor field.

	* src/item-grid.c (item_grid_draw_cell): Draw selected cells
	smartly.  Now we invert the resulting area (this works for my
	16-bpp display, have to try the XOR trick tomorrow on a paletted
	display). 
	(context_clear_cmd): New context command that clears the content
	of a cell region.

1998-08-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/sheet.c (sheet_row_selection_changed,
	sheet_col_selection_changed): Use sheet_selection_clear_only to
	avoid getting two selections.
	(sheet_col_add): Keep track of the last used columns/rows.
	(set_tip_label): New routine to set the tooltip to the value of
	the current scroll section
	(vertical_scroll_change, horizontal_scroll_change): Update the
	tooltip to reflect the current value.
	(vertical_scroll_event, horizontal_scroll_event): Create and
	destroy the tooltips
	(sheet_col_add, sheet_row_add): Keep track of the maximum sheet size

	(sheet_delete_col): New public routine. 
	(sheet_delete_row): New public routine.
	(sheet_move_column): New helper routine, it was part of
	sheet_insert_col before. 
	(sheet_insert_row): Manipulate the structures carefully.  I was
	changing a list that I was using. 

	* src/dialog-delete-cells.c (dialog_delete_cells): Use
	sheet_delete_col, sheet_delete_row.  This completes this dialog
	box. 

1998-08-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/sheet.c (sheet_shift_row): Bug fix:  We can not be making
	changes to the column/row lists when we are walking them.  

	* src/cell.c (cell_formula_relocate): Re-parse the expression
	after relocating the formula: the resulting expression might have
	invalid cell references.

	* src/sheet.c (sheet_shift_col): Implement the column shift
	operation. 

1998-08-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/dialog-cell-format.c (apply_align_format): Actually store
	the style selection on the computed style.

	* src/eval.c (intersects): Write in terms of range_contains.

	* src/utils.c (range_contains): New utility routine.

	* src/style.c (style_destroy): It now allow
	(style_merge_to): Implement new routine for gradually compute the
	full value of a style.
	(style_duplicate): Make the routine duplicate only
	the valid fields, not all of them.
	(style_destory): account for the fact that now we might have
	non-complete styles. 
	(sheet_style_compute): Make it fully functional.
	
	* src/sheet.c (sheet_cell_formula_link,
	sheet_cell_formula_unlink): Now we maintain the dependencies at
	formula link/unlink time
	(sheet_shift_row, shift_insert_col, shift_insert_row): Compute the
	dependencies for any changed cells and recalculate. 
	(sheet_style_attach): Implement.
	(sheet_destroy): Destroy the column and row information.
	
	* src/item-grid.c (context_insert_cmd): Use the
	dialog_insert_cells instead of the dummy test code we had before. 

	* src/workbook.c (insert_cols_cmd, insert_rows_cmd): Implement.

1998-08-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/sheet.c (sheet_redraw_all): Redraw also the column and row
	bars. 
	(sheet_insert_row): Fix.  I was accessing the wrong information;
	Fix, on the row selection code;  
	(sheet_cell_add): Recompute the dimensions properly of the cell
	after insertion (this is to fit the use of this routine in a new
	context). 
	(sheet_shift_row): Fix the 

	* src/dialog-insert-cells.c (dialog_insert_cells): Learn to use
	GtkCauldroun's way of dealing with radio buttons.

	* src/sheet.c (sheet_selection_paste): Now the clipboard fills the
	region which is the union of the current selection and the
	information in the clipboard.

	* src/clipboard.c (clipboard_paste_region): Check the region where
	we pasted for possible dependencies, and if so, queue a recalc.
	(clipboard_paste_region): It now takes a region to be filled
	instead of just using the contents of the clipboard.

	* src/eval.c (search_cell_deps): Updated to search on cell ranges
	instead of a single cell.
	(region_get_dependencies): Get dependencies for a complete
	region. 
	(cell_get_dependencies): Reworked to use new scheme

1998-08-21  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/dialog-insert-cells.c: New file.  Handle the insert cells
	dialog box.  This uses GtkCauldron for the first time.  That
	routine is soooo cool!
	
	* src/sheet.c (sheet_cell_remove): Remove the memory used by the
	key in the hashtable as well.
	(sheet_insert_col): new routine used to insert columns in the
	spreadsheet, it is pretty elaborate.
	(sheet_col_destroy, sheet_row_destroy): New routine used by the
	column-overflow logic in the insertion routines.
	(sheet_cell_add): Only attach a style to a cell if it does not
	have any yet.
	(sheet_move_row): New routine: shifts a row a number of columns.
	(sheet_verify_selection_simple): New routine for warnging about
	the multiple-selections case.  In the future it should provide a
	help context. 
	(sheet_insert_row): Implement this new routine.  

	* src/clipboard.c (paste_cell): Simplify.

	* src/cell.c (cell_make_value, cell_formula_relocate): New routines
	based on the code that was done for the clipboard.  Now they are
	used in other places as well.  cell_make_value actually fixes a
	potential bug that caused formulas to reappear magically on
	paste-values commands (never hit the bug, but it was there, I
	swear to god).

1998-08-20  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/gnumeric-sheet.c (gnumeric_sheet_set_cursor_bounds): New
	routine to set the cursor bounds.

	* src/sheet.c (sheet_selection_paste): Set the cursor and the
	selection to the new spot. 

	* src/dialog-paste-specia.c: Move the dialog code here. 

	* src/format.c (format_number): Do not abort after we have
	processed the whole format, but rather append the rest of the
	format string. 
	(style_entry_free): Kill the warnings

1998-08-20  Chris Lahey  <clahey@umich.edu>

	* src/style.h: Added StyleFormatEntry and changed StyleFormat.

	* src/format.c: Added multi-field formatting.  format_text now
	takes a StyleFormatEntry.
	
	(check_valid): Returns true if the given StyleFormatEntry is
	applicable to the given value.

1998-08-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/format.c (format_value): The new entry point for formating
	values.  This takes a Value instead of a float.
	NULL is never returned from format_value now: if there is a format
	error, then value_string is used to display it.
	
	(format_compile): This routine should always return, it cant fail,
	in the worst * case it should just downgrade to simplistic formatting.

	(format_destroy): This routine is invoked when the last user of
	the format is gone (ie, refcount has reached zero) just before the
	StyleFormat structure is actually released.  resources allocated
	in format_compile should be disposed here


	* src/sheet.c (sheet_cursor_set): New function.  Use this instead
	of the view-specific routine (gnumeric_cursor_set).

	* src/gnumeric-sheet.c (gnumeric_sheet_can_move_cursor): ':' is a
	valid separator for activating the cursor-cell selection mode.

	* src/cell.c (cell_auto_align): New function.  This tries to
	auto-align the cell contents depending on the value type. 

	* src/dialog-cell-format.c (cell_properties_apply): Create a
	single style that is attached to a region and let each property
	page fill the structure in.
	(apply_align_format): Implement.  No wonder it was not working
	last night.
	(apply_number_formats): Fill the passed Style structure only.
	Remove obsolete code.

	* src/sheet.c (sheet_cell_new): New cells are born with auto-style
	flag turned on.

	* src/clipboard.c (paste_cell): Render the cell after computation
	is finished.  Clean up the usage of the cell manipulation;  make
	auto-style work on pasted cells.

	* src/str.c (string_ref): Return the value referenced.

	* src/item-cursor.c (item_cursor_do_drop): New function:  Handles
	the action from the cursor drag operation.

	* src/gnumeric-util.c (run_popup_menu): New utility function to
	popup menus created from an array of strings. 

	* src/sheet.c (sheet_selection_cut, sheet_selection_copy): They
	now return whether it was possible to perform the operation.

1998-08-18  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/cell.c (cell_set_alignment): Provide a way to change the
	cell alignment.

	* src/dialog-cell-format.c (create_align_page): Implement the cell
	formats/alignment page. 

	* src/item-cursor.c (item_cursor_realize): Add stypple support for
	drag and autofill cursors.

	* src/gnumeric-sheet.c (gnumeric_sheet_compute_visible_ranges):
	Make the selected column and row be always fully visible (ie, use
	the ->last_full_[col|row] instead of last_visible_[col|row].

	* src/cell.c (cell_set_format): Call cell_queue_redraw after
	changing the cell contents.

1998-08-18  Chris Lahey  <clahey@jennifer.reshall.umich.edu>

	* src/format.c (format_number): Fixed the small '.' error.
	(decimal point shown even if not requested in numeric
	conversions.)

1998-08-17  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/eval.c (cell_eval): Use the formating routine now. 

	* src/expr.c (value_format): Format a Value with a StyleFormat. 

	* src/item-cursor.c (item_cursor_set_bounds_visibly): Force a
	canvas update after moving the selection.

	* src/sheet.c (sheet_selection_to_list): New function: generates a
	list of cells from the sheet->selections list. 

	* src/style.c: Now styles have a "valid_flag" that has a bit
	turned on for those parts of the style that are actually used.
	This is required for adding the regions of style application in a
	Sheet.
	(style_destroy): destroy only those valid parts in a style.

	* src/dialog-cell-format.c: New file.   Implements the cell/format
	dialog box. 

	* src/cell.c (cell_render_value): new routine used to render the
	cell->value into cell->text.
	(cell_queue_redraw): new routine to queue individual redraws of
	the screen.  I believe it is buggy, as the screen does not update
	after an apply in the cell/format dialog box.
	(cell_set_format): New routine to change the format of an existing
	cell. 

	* src/format.c (format_number): Added color argument;  smaller
	fixes to use it within gnumeric. 

	* src/main.c (main): Include i18n setup as per namsh's suggetion. 

1998-08-15  Chris Lahey  <clahey@umich.edu>

	* src/format.c: Merged format_text and format_date into
	format_number.  
	Added parsing of am/pm.
	Added a short format description.

1998-08-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/item-cursor.c (item_cursor_drag_event): Make the drag cursor
	actually dragable. 

	* src/item-grid.c (item_grid_event): Use the converted cordinates.
	(item_grid_find_row, item_grid_find_col): Rename and export these
	routines to be used by the ItemCursor.

	* src/gnumeric-sheet.c (gnumeric_sheet_key): Do not remove the
	selection string when the input has been accepted.

	* src/expr.c (expr_tree_ref): Strategy change:  Now every ExprTree
	node is properly refcounted, as soon we will start sharing parts
	of the ExprTree between cells.
	(do_expr_decode_tree): Decoding an expression now takes into
	account the precedence of the operators and uses paretheses only
	when they are actually required.

1998-08-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/item-grid.c (item_grid_event): Implemented context sensitive
	menu for the grid.
	(item_grid_event): Use <control> instead of <shift> for extending
	a selection

	* src/clipboard.c (clipboard_paste_region): After pasting, trigger
	a recalculation. 

1998-08-14  Jaka Mocnik  <jaka.mocnik@kiss.uni-lj.si>

	* src/clipboard.h: changed PASTE_ALL to PASTE_ALL_TYPES.
	* src/gnumeric-util.c (gtk_radio_group_get_selected):
	changed to work. I guess it is a bit weird trying to
	access a next member of an int ;).

1998-08-13  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/workbook.c (workbook_set_region_status): Support going to a
	cell by typing the cell name on the entry line.
	(workbook_parse_and_jump): new routine for jumpting to a specific
	cell. 

	* src/dialog-goto-cell.c: New file.  Implements the goto cell
	dialog box. 

	* src/clipboard.c: implemented paste-special dialog box.
	(clipboard_paste_region): Redraw after clearing and after each
	cell is pasted.

	* src/sheet.c (sheet_selection_changed_hook): Display the current
	selection.
	(sheet_selection_walk_step): Fix the movememnt code to walk
	correctly over the selection.

	* src/cell.c (cell_formula_changed): New function used to notify
	of a cell formula change (required for recomputation and to add
	the cells to the proper computation lists).

	* src/expr.c (expr_decode_tree): Goes from ExprTree to a string
	representation.  This is required when copying cell values to
	recompute the string that is displayed to the user.

	* src/util.c (cellref_name): New function, get a string
	representation for a CellRef.
	(parse_cell_name): New function, returns integers for col, row
	from a cell string representation. 
	
Thu Aug 13 19:08:28 1998  Tom Tromey  <tromey@cygnus.com>

	* src/xml-io.c: Look in gnome-xml for tree.h and parser.h.

Thu Aug 13 00:02:23 EDT 1998  Daniel Veillard <Daniel.Veillard@w3.org>

	* src/xml-io.c : adapated to the new version 0.2 of the xml lib
	
1998-08-11  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/fn-math.c (gnumeric_bin2dec): finish implementation of
	BIN2DEC 

	* src/item-grid.c (item_grid_event): Call
	gnumeric_sheet_accept_pending_output before moving the cursor.

	* src/item-cursor.c (item_cursor_event): Event handler for the
	item_cursors. 

	* src/item-cursor.h: More cursor types: ITEM_CURSOR_AUTOFILL (for
	the case where the small drag box is used) and ITEM_CURSOR_DRAG
	(for when the item is being dragged).

	* src/clipboard.c (clipboard_paste_region,
	clipboard_copy_cell_range): New functions for cut and paste
	support. 

	* src/cell.c (cell_destroy, cell_copy): New functions.  Preparing
	for cut and paste support.

	* src/expr.c (value_copy_to): Finish implementing all cases.
	(value_duplicate): New function.  Duplicates a value.

	* src/sheet.c (sheet_cell_remove): Implement a way to remove
	cells. 

	* src/eval.c (workbook_recalc): New recomputation strategy:  We
	now keep a generation flag for determining whenever a cell value
	has been recomputed for this generation.  The generation variable
	is a char.  Everytime we are about to overflow the char, we walk
	the list of formulas and reset the generation flag.

1998-08-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/eval.c (workbook_recalc): Queue computation for cells that
	have been recomputed.

	* src/expr.c (eval_expr): Implement the concatenation operator. 

1998-08-09  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/expr.c (eval_expr): Implement comparission.

	* src/str.c (string_unref_ptr, string_unref): Remove the string
	from the string_hash_table when the refcount reaches zero.

	* src/symbol.c (symbol_unref): Remove the symbol from the hash
	table when the refcount reaches zero.

1998-08-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/gnumeric-sheet.c: Renamed all references to (GnumericSheet
	*) called "sheet" to "gsheet".

	* src/sheet.h: Renamed parent_workbook in to be workbook.

	* src/cell.h: Include a Sheet * in the cell.  Make routines that
	required a Sheet parameter only use the Cell parameter now.

	* src/eval.c (add_tree_deps, cell_add_dependencies,
	add_value_deps, dependency_hash_init, dependency_hash,
	dependency_equal): New functions to maintain the
	DependencyRanges. 

	* src/fn-math.c 
	(gnumeric_max): Implemented function MAX.
	(gnumeric_min): Implemented function MIN.
	

1998-08-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/expr.c (eval_expr): Implemented exponentiation.
	Removed the code that used GMP.

	* src/parser.y (yylex): Bug fix: allocate the string.

	* src/sheet.c (CRowSort): Sort in the other direction my list of
	cells.
	(sheet_cell_foreach_range): Iterate over the lists with ->next,
	not with ->data.   Important bug fix.

	* src/parser.y (return_cellref): Fix the cell parsing routine to
	store the correct information.

	* src/fn-math.c: Moved the math functions to this file. 
	(gnumeric_sum): Make it use the new function_iterate_argument_values.
	(gnumeric_and): Implement AND function.
	(gnumeric_or):  Implement OR function.

	* src/func.c (function_iterate_argument_values): New function to
	ease the creation of functions with multiple arguments.  It
	generates Value * for a list of expressions that might include
	arrays and cell ranges. 

	* src/expr.c (cell_get_col_row): New routine to get the absolute
	cordinates with respect to an evaluation column and row.

	* src/parser.y (return_symbol): Support for constants.

	* src/expr.c (value_copy_to): Support for making Value copies
	(only used for our constants actually).

	* src/symbol.c (init_constants): Declare TRUE and FALSE.

	* src/sheet.c (sheet_selection_changed_hook): Autocomputation
	routine.  Whenever selection changes this routine will execute an
	arbitrary expression (kept in the workbook) and display the
	result. 

1998-08-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/expr.c (value_release): Release the value.
	(value_release): Add support for arrays.

	* src/symbol.c (g_strcase_hash): Use case insensitive hash tables.

	* src/item-bar.c (item_bar_unrealize): Call parent unrealize
	(item_bar_realize): Call parent realize

	* src/item-grid.c (item_bar_unrealize): Call parent unrealize
	(item_bar_realize): Call parent realize
	
	* src/item-cursor.c (item_bar_unrealize): Call parent unrealize
	(item_bar_realize): Call parent realize.
	(item_cursor_point): Implement correctly.

	* src/expr.c, parser.y (eval_expr): Added comparission operators.

	* src/fn-sheet.c (gnumeric_if): 
	Implemented IF function.
	Implemented SELECTION function.

	* src/func.c (gnumeric_sum): 
	Implement SUM function.
	
1998-08-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/expr.c (eval_funcall): No need for the the extra argc
	parameter on the functions with strong prototypes. 
	
	* src/func.c (gnumeric_cosh): More functions.
	
	* src/item-edit.c (item_edit_set_arg): 

	* src/gnumeric-sheet.c (cancel_pending_input): Cancel changes
	made.
	(start_editing_at_cursor): Make a copy of the original text, and
	clear the actual text to fix the redraw problems.

	* src/item-edit.c (item_edit_set_editor): Make the cursor be in
	sync with the GtkEntry by hooking to the "event" signal and
	catching key press and key release events.

	* src/func.c: More functions added.

	* src/symbol.c (g_strcase_equal): Symbol hash table does is
	case-insensitive. 

	* src/expr.c (eval_funcall): Added function evaluation.

1998-08-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/eval.c: New file.  Move the evaluation routines here.

	* src/func.c: Functions will go here.

	* src/parser.y (alloc_glist): Keep track of argument lists. 

1998-07-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* src/sheet.c (canvas_bar_realized): 
	* src/gnumeric-sheet.c (gnumeric_sheet_realize): Neat X hack:  set
	the window backing pixmap to NULL, so that the window does not get
	cleared when it receives an exposure event.  It will just leave
	whatever bits were on the window when the expose happened.  This
	allows us to avoid flicker.  *** MIGUEL, LOOK AT THIS ***

	* src/gnumeric-sheet.c (gnumeric_sheet_make_cell_visible): Fixed
	width/height confusion (cut&paste bug).

	* src/sheet.c (new_canvas_bar): Set outrageously big scrolling
	limits.  This has to be fixed to use the real sheet's dimensions.
	(sheet_new): Use correct table expansion parameters.

	* src/sheet.c (sheet_set_zoom_factor): Use gnome_canvas_scroll_to().

	* src/gnumeric-sheet.c (gnumeric_sheet_set_top_row): Scroll using
	gnome_canvas_scroll_to().
	(gnumeric_sheet_set_top_col): Likewise.
	(gnumeric_sheet_make_cell_visible): Get the offsets using
	gnome_canvas_get_scroll_offsets().
	(gnumeric_sheet_make_cell_visible): Use gnome_canvas_scroll_to().

	* src/gnumeric-sheet.c (gnumeric_sheet_color_alloc): Query the
	colormap with gtkdget_get_colormap(), because the canvas structure
	no longer has a colormap field in it.
	(gnumeric_sheet_set_top_row): Use the canvas layout adjustment to
	scroll.
	(gnumeric_sheet_set_top_col): Use the canvas layout adjustment to
	scroll.
	(gnumeric_sheet_make_cell_visible): Get the values from the canvas
	adjustments.

	* src/sheet.c (new_canvas_bar): Call gnome_canvas_new() correctly.
	(scroll_to): New helper function to scroll a canvas.
	(sheet_set_zoom_factor): Use scroll_to().

	* src/gnumeric-sheet.c (gnumeric_sheet_create): Do not call
	gnome_canvas_construct() at is does not exist anymore.
	(gnumeric_sheet_new): Use outrageously big values for the canvas
	scrolling region, for now.  This needs to be fixed.
	(gnumeric_sheet_make_cell_visible): Use the canvas layout
	adjustment to scroll.

1998-07-30    <miguel@nuclecu.unam.mx>

	* src/parser.y (alloc_clean): Free the record that tracks the
	allocation records.
	(alloc_clean): Handle Strings.
	(alloc_list_free): New function: cleans up the allocation list.

	* src/gnumeric-sheet.c (gnumeric_sheet_load_cell_val): Fix to use
	the new Strings.

	* src/cell.h: Use the new Strings instead of the Symbols.  That
	was just a stupid idea.

	* src/str.c (string_ref): New file:  Implements string sharing.

	* src/symbol.c (symbol_install): Use our copy of the allocated key
	when installing the symbol.

1998-07-29    <miguel@nuclecu.unam.mx>

	* src/symbol.c (symbol_unref_ptr): New function that does symbol
	unreferencing and if the reference count reaches zero, it also
	sets the value pointed to NULL.

	* src/sheet.c (cell_set_text): Release evaluation tree after
	entering new contents in a cell.

	* src/sheet.h (Cell): We now keep all of the character information
	as refcounted Symbols.

	* src/expr.c (eval_node_release): Renamed and made static.  New
	allocation strategy: EvalTree's top node are now refcounted to
	simplify cell duplication.
	(eval_expr): Now it takes column and row arguments for evaluating
	the expression in that context.
	(expr_parse_string): Same.

	* src/parser.y: Renamed EvalNode to EvalTree.
	(return_cellref): CellRefs now contain offsets relative to the
	current column/row if the references are not absolute. 

	* src/gnumeric-sheet.c (gnumeric_sheet_make_cell_visible): Use new
	helper routines for doing the scrolling.  Scroll vertically.
	(gnumeric_sheet_set_top_row, gnumeric_sheet_set_top_col): New
	routines for keeping the contents of the canvas and the bars in
	sync. 
	(gnumeric_sheet_new): Take the ItemBars for the columns and rows
	as a parameter now.

	* src/sheet.c (sheet_select_all): New routine: select the complete spreadsheet.

	* src/item-bar.c (item_bar_class_init): Signal now takes an extra
	argument which indicates the beginning of a column selection.

	* src/sheet.c (sheet_selection_col_extend_to,
	sheet_selection_row_extend_to): New methods for implementing the
	extending column and row selection.
	(sheet_row_selection_changed, sheet_col_selection_changed): Now
	they use the new parameter to start the selection.

1998-07-28    <miguel@nuclecu.unam.mx>

	* src/sheet.c (sheet_cell_new): Insert the row, not the cell in
	the column list.
	(sheet_cell_foreach_range): Fixety fix

1998-07-27    <miguel@nuclecu.unam.mx>

	* src/sheet.c (sheet_cell_new): Cells are born with their propper
	width. 
	(cell_set_text): Width should include the margins. 

	* src/main.c (main): Rename currentWorkbook to current_workbook,
	so that it follows the style of the rest of my code ;-)

	* src/item-cursor.c (item_cursor_init): Add a timeout handler for
	drawing the anted animation.
	(item_cursor_set_bounds): Setup the Canvas Item bounding box when
	the bounds of the cursor change.

	* src/gnumeric-sheet.c (start_cell_selection): Create the
	selection cursor at the same position the regular cursor is. 

	(gnumeric_sheet_init): Share colors between items and the canvas.

Sun Jul 26 17:39:53 EDT 1998  Daniel Veillard <Daniel.Veillard@w3.org>

	* configure.in: added GNOME_XML_CHECK

	* src/Makefile.am: added xml-io.c to GNUMERIC_BASE_SOURCES and
	  GNOME_XML_LIB to gnumeric_LDADD and test_parser_LDADD

	* src/xml-io.[ch]: Added, provides saving to XML format

	* src/main.c: added currentWorkbook global variable

	* sheet.h: added currentWorkbook global variable

	* workbook.c: added currentWorkbook global variable, a Save menu with
	  save_cmd callback.

	* src/sheet.c: cell_set_text, initialized is_float to zero

	* doc/saving.txt: Added, what to be saved and first example.

1998-07-25  Miguel de Icaza  <miguel@redhat.com>

	* src/item-cursor.c (item_cursor_draw): Minimal code to support
	the anted-cursor.  There is a bug, I just dont know where :-)

	* src/gnumeric-sheet.c (gnumeric_sheet_key): Added support for
	selecting cell values with the cursor keys.
	(start_cell_selection): Starts the interactive selection of a cell
	(stop_cell_selection): Stops the interactive selection of a cell.
	(selection_remove_selection_string): Removes the text that has
	been inserted into the text line for selection purposes.
	(selection_insert_selection_string): Updates the entry with the
	contents of the selection range.
	(selection_expand_vertical, selection_expand_horizontal): Expands
	the selection.

	* src/item-cursor.h (item_cursor_set_bounds): Change prototype to
	reflect actual argument names.  I was a victim of my own lazyness.

	* src/gnumeric-sheet.c (move_cursor_vertical, move_cursor,
	move_cursor_horizontal): Renamed to allow formatting in 80
	columns. 

	* src/utils.c (cell_name): New routine.  Renders a cell name.


	* src/sheet.h (IS_SHEET): Added a signature to Sheet strucutres
	and a signature to test with.

	* src/symbol.c (symbol_ref_string): New function: it makes sure a
	symbol exists: it either increases the refcount for an existing
	string, or creates it.

1998-07-24    Miguel de Icaza <miguel@redhat.com>

	* src/workbook.c (workbook_get_current_sheet): New function.

	* src/sheet.c (cell_set_formula): New function.  Loads a cell with
	a formula.

	* src/parser.y (eval_value_string): New routine to return a string
	representation of a Value *.  This should use the format.c that
	Chris is working on, but we need Chris to commit his changes ;-).
	For now it uses %d and %g.

	* src/numbers.h: Compatibility functions to make the code work
	with or without GMP.
	
	* src/gnumeric-sheet.c (gnumeric_sheet_set_current_value): Sets
	the value to whatever happens to be on the input line.

	* src/expr.c (eval_cast_to_float): New function: casts a value to
	float. 
	(eval_cell_value): new function.
	(eval_node_value): evaluates the expression tree.

	* src/cell.h: Keep the computed value as well.

Sat Jul 25 14:10:23 1998  Tom Tromey  <tromey@cygnus.com>

	* src/Makefile.am (test_parser_LDADD): Added INTLLIBS.
	(test_format_LDADD): Likewise.
	(check_PROGRAMS): Renamed from noinst_PROGRAMS.

	* src/format.c (do_roundup): Renamed from roundup (my Linux
	install has a 2-argument `roundup' macro in sys/types.h).  Now
	static.

1998-07-25  Nuno Ferreira  <nmrf@rnl.ist.utl.pt>

	* configure.in (ALL_LINGUAS): Added "pt".

1998-07-21  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/parser.y (yylex): Numbers are parsed correctly.  Bits of
	Oleo number parsing plugged in.

	* src/util.c, src/util.h: New files with assorted number utilities.

	* src/numbers.h: New file: takes care of using gmp or regular
	double/int.

	* src/expr.c (eval_release_node): Implement.
	(eval_release_value): New function.

	* src/sheet.c (sheet_col_selection_changed,
	sheet_row_selection_changed): Implement.
	(sheet_selection_clear, sheet_selection_clear_only): Splitted
	functionality into two routines.
	(sheet_selection_clear_only): Remove any marks from the bars.
	(sheet_row_set_selection, sheet_col_set_selection): Implement. 

	* src/item-bar.c (is_pointer_on_division): Return the column
	changed. 

	* src/item-grid.c (item_grid_draw_cell): Fix the computation for
	right indentation.

1998-07-17  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/gnumeric-sheet.c (gnumeric_sheet_key): Add support for
	keyboard-selection.

	* src/item-edit.c (item_edit_destroy): Request a repaint for every
	area we touched at destruction time.

	* src/sheet.c (sheet_redraw_cell_region, sheet_redraw_selection):
	New functions to request that only a specific range of cells be
	redrawn.
	(sheet_selection_extend_vertical,
	sheet_selection_extend_horizontal): new routines to deal with
	mouse selection. 
	Use those functions all over sheet.c

1998-07-19  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* src/gnumeric-sheet.c src/item-bar.c src/sheet.c: Removed the
	canvas parameter from calls to gnome_canvas_item_new().

1998-07-18  Raja R Harinath  <harinath@cs.umn.edu>

	* src/Makefile.am (noinst_PROGRAMS): Don't bother installing
	`test-format' and `test-token'.

1998-07-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/gnumeric-sheet.c (gnumeric_sheet_cursor_set): Add tracking.

	* src/sheet.c (sheet_destroy): Add destructor.
	(sheet_selection_append): New functions for managing the cell
	selection. 

	* src/style.c (style_destroy): Add destructor.

1998-07-13  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/item-edit.c: New file.  Adds the editing widget to the
	spreadsheet. 

1998-07-15  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* src/item-bar.c (item_bar_event): Use
	gnome_canvas_item_grab/ungrab() now that they exist.

1998-07-14  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* src/item-bar.c (item_bar_realize): Set the item_bar->gc's
	foreground color to black (it is by default initialized to pixel
	value 0, which is not black on all default colormaps).
	(bar_draw_cell): Center the cell's text correctly.

	* src/gnumeric-sheet.c (gnumeric_sheet_create): Use
	gnome_canvas_construct() to initialize the canvas.

	* src/item-bar.c (get_col_name): Fixed generation of column names.
	(get_row_name): Rows are numbered from 1, not 0.  Also, assert
	that the row number is less than 65536.
	(item_bar_event): Grab/ungrab the mouse on button press/release.
	(item_bar_event): On motion_notify, only call set_cursor() if we
	are not resizing.
	(item_bar_event): Only take care of enter_notify events if we are
	not resizing.

	* po/es.po configure.in: Added Spanish translation.

1998-07-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/item-bar.c (item_bar_event): Do world->canvas cordinate
	conversion to get zoomed resizng working).
	(bar_draw_cell): Minor look fix.

	* src/sheet.c (sheet_row_set_height): Silly mistake, add the newly
	created rowinfo to the row array, not the column array.

1998-07-11  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/style.c (style_duplicate): New function.  Does style
	duplication.

	* src/sheet.c (sheet_new): Simple hook signals to test the code. 

	* src/item-bar.c (item_bar_class_init): Added signals:
	size_changed and selection_changed.
	(item_bar_event): Add support for resizing columns and rows. 

1998-07-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/style.c: New file.  Implement the style manager for the
	spreadsheet. 

1998-07-09  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/*: Dropped the ColInfo and RowInfo structures, they are now
	unified into a single ColRowInfo structure, they were really the
	same thing.  Thanks to Federico for the suggestion.

	* src/item-grid.c: 
	New paint strategy for the grid (uses what apparently Excel does);
	It now correctly uses the coordinate system from the canvas (ie,
	zoom in and zoom out work);
	
	* src/item-cursor.c: Implemented new version of the cursor.  I am
	using black lines for the cursor.  One day, when I find the
	strenght, I will use inversion and the inversion will do the right
	thing.

	* src/item-bar.c: New file.  Implements the titles for the columns
	and rows;

	* src/*: made stuff fit together.  

1998-07-06  Raja R Harinath  <harinath@cs.umn.edu>

	* configure.in: Remove duplicated AM_GNU_GETTEXT.

Sat Jul  4 15:07:49 PDT 1998 Manish Singh <yosh@gimp.org>

	* fixed up intl autoconf stuff

1998-07-04  Chris Lahey  <clahey@umich.edu>

	* src/Makefile.am (bin_PROGRAMS): Added test-format to compile the
	formatting tests.

	* src/format.c (format_time): Added date formatting.
	(format_text): More accurate numeric formatting.

1998-07-03  Chris Lahey  <clahey@umich.edu>

	* src/format.c: New file to do excel style number formatting.

1998-07-03  Chris Lahey  <clahey@umich.edu>

	* ChangeLog: Cleared the gnome-games entries from the ChangeLog.
