Compilation: house cleaning.
[gnumeric.git] / OChangeLog-2000-02-23
blobaaf0a8ae519fbb7637ab1792179d4656a0e32d2f
1 2000-02-23  Miguel de Icaza  <miguel@helixcode.com>
3         * src/dialogs/dialog-stf.c (dialog_stf): remove invocation to
4         glade_gnome_init(), this is not required.
6         * src/sheet-object-container.c (sheet_object_container_realize):
7         Update to new Bonobo API.
9 2000-02-19  Miguel de Icaza  <miguel@gnu.org>
11         * src/workbook.c (launch_graphics_wizard_cmd): New function, used
12         to launch the graphics wizard.
14         * src/wizard.h: New file.
16         * src/corba-workbook-factory.c (WorkbookFactory_read): Fixed
17         command_context_corba usage.  Kill memory leak.
19         * src/sheet-object.c (sheet_set_mode_type): Remove the sheet event
20         button binding code from here.
21         (sheet_object_bind_button_events): New function.  To here.
23         * src/sheet.h: New creation mode: SHEET_OBJECT_CREATE_COMPONENT.
24         The GRAPHICS one will be used only by the wizard.
26         * src/pixmaps.h: Include object.xpm.
28         * src/pixmaps/object.xpm: More Modern Art work from Miguel, this
29         image represents an object.  The object has suffered a lot and is
30         in pain as you can see by the colors chosen by the artist.
32 2000-02-24  Michael Meeks  <michael@helixcode.com>
34         * src/plugin.c (plugin_close): expand.
36 2000-02-23  Dom Lachowicz <dominicl@seas.upenn.edu>
38         * src/widgets/widget-color-combo.[ch]:
39         In function color_table_construct() - moved tool_tip in order to
40         plug memory leak(called gtk_tooltips_new() too many times)
42         * src/functions/fn-database.c (gnumeric_daverage): add error for
43         -'ive count
45 2000-02-23  Dom Lachowicz <dominicl@seas.upenn.edu>
47         * src/plugin.[ch]: Additions to API -- Made struct _PluginData private
48         Added field 'initialized' to PluginData to keep track of whether
49            the plugin has gone through init yet or not
50         Added field 'descr' - a paragraph description of the plugin
51         plugin_load() - Updated to use initialized field
52         New function: static void plugin_close() - shuts down plugin
53         Updated plugin_load() and plugin_unload() to use plugin_close() --
54            lots of duplicated code
55         New functions to reflect new privateness of PluginData struct:
56            plugin_data_init()
57            plugin_data_get_filename()
58            plugin_data_get_title()
59            plugin_data_get_descr()
60            plugin_data_set_private_data()
61            plugin_data_get_private_data()
63         * plugins/dif/dif.c
64         * plugins/ff-csv/csv-io.c
65         * plugins/ff-stf/stf.c
66         * plugins/gda/plugin-gda.c
67         * plugins/html/boot.c
68         * plugins/lotus-123/boot.c
69         * plugins/oleo/boot.c
70         * plugins/plan-perfect/pln.c
71         * plugins/sample/plugin-sample.c
72         * plugins/sc/sc.c
73         * plugins/sylk/sylk.c
74         * plugins/text/text-io.c
75         * plugins/xbase/boot.c:
76         Changed init_plugin() in each to use new plugin API, specifically
77         They all call plugin_data_init() now
78         Changed the respective cleanup functions to not g_free() the title or
79         descriptions
81         * plugins/gb/plugin.c: in addition to the above statement, I changed
82         cleanup() and init_plugin() to use plugin_data_[get|set]_private_data
84         * plugins/guile/plugin.c
85         * plugins/perl/perl.c
86         * plugins/python/python.c: added function no_cleanup_for_me() which
87         does absolutely nothing for completeness
89         * src/dialogs/dialog-plugin-manager.c: Changed add_to_clist() to use
90         new plugin_data_get_XXX() methods
92 2000-02-23  Matthias Warkus  <mawa@iname.com>
94         * gnome-spreadsheet.png, gnome-xls.png: Removed. They have been
95         superseded by correctly named, overhauled icons I checked in on
96         January 31st. I was not aware that suboptimal versions had been
97         added before. Kenneth seems to be sending icons out over the world
98         a lot, it's hard to look after everything he's up to. In the
99         future, please consult me before pulling that kind of stunt.
101         Remember: I, too, wish that the icon project wasn't as tied to my
102         person as it is today. I'm not a weird control freak (well, I am,
103         but just a little).
105 2000-02-23  Peter Wainwright <prw@wainpr.demon.co.uk>
107         * src/sheet-object-container.c (sheet_object_container_realize): Fix
108         until Nat mends the bonobo brokenness.
110 2000-02-23  Michael Meeks  <michael@helixcode.com>
112         * src/sheet-style.c (sheet_style_optimize): don't optimize with
113         the default style.
115         * src/workbook-format-toolbar.c (workbook_create_format_toolbar):
116         use select_clear.
118 2000-02-21  Dom Lachowicz <dominicl@seas.upenn.edu>
120         * src/widgets/widget-color-combo.[ch]: Few minor API changes
121         Added custom color support through a GnomeColorPicker widget
123         * src/workbook-format-toolbar.c (fore_color_changed),
124         (back_color_changed): Fix to handle above ColorCombo API change
126         * src/dialog-autocorrect.c: Make array static
128 2000-02-23  Michael Meeks  <michael@helixcode.com>
130         * configure.in (GB_LIBS): bump gb ver. check.
132 2000-02-21  Michael Meeks  <michael@helixcode.com>
134         * src/expr-name.c (name_print_area): implement.
136         * src/value.c (value_new_cellrange_r): implement.
138 2000-02-22  Jon K Hellan  <hellan@acm.org>
140         * src/dialogs/dialog-solver.c (dialog_solver): Set constraint
141         clist title passive.
142         (constr_add_click): Make solver dialog reappear if user presses
143         <Esc>. Make <Ret> in entry fields invoke default.
144         (constr_change_click): Make <Ret> in entry fields invoke default.
146         * src/dialogs/solver.glade: Make more room for constraint list title.
148         * src/dialogs/solver.glade,
149         src/dialogs/solver.glade.h: Accelerators.
151         * src/dialogs/solver-options.glade,
152         src/dialogs/solver-options.glade.h: Accelerators
154         * src/dialogs/utils-dialog.[ch] (hbox_pack_label_and_entry):
155         Explicit dialog parameter. Reorder arguments in signature.
157         * src/dialogs/dialog-analysis-tools.c (dialog_sampling_tool,
158         dialog_descriptive_stat_tool, dialog_ztest_tool,
159         dialog_random_tool, dialog_regression_tool): Use new signature of
160         hbox_pack_label_and_entry. This kills some Gtk warnings.
161         (dialog_data_analysis): Do not destroy if gnumeric_dialog_run
162         returns -1.
164         * src/dialogs/autosave.glade, src/dialogs/autosave.glade.h :
165         Accelerator for "minutes" field.
167         * src/dialogs/autocorrect-exceptions.glade,
168         src/dialogs/autocorrect-exceptions.glade.h: Accelerators
170         * src/dialogs/dialog-autocorrect.c (exceptions_callback): Really
171         make <Ret> in entry fields invoke default.
173         * src/dialogs/dialog-goal-seek.c (dialog_found_solution):
174         Deflickerize.
176         * src/dialogs/dialog-analysis-tools.c (dialog_sampling_tool,
177         dialog_descriptive_stat_tool, dialog_ztest_tool,
178         dialog_random_tool, dialog_regression_tool): Deflickerize.
180 2000-02-21  Jody Goldberg <jgoldberg@home.com>
182         * src/cell-draw.c (cell_draw) : Doh!
184         * src/sheet.c (sheet_cursor_set) : Be religous about handing edit_pos
185           changes.
187         * src/commands.c (cmd_format) : save for formats for a range 1 cell
188           thick around the selection so that borders are handled.
190         * src/sheet-view.c (sheet_view_redraw_cell_region) : Redraw a border
191           around the selected region to handle thick borders */
193         * src/sheet-object.c (sheet_object_canvas_event) : Ignore mouse wheel
194           events.
196         * src/border.c (style_border_set_gc_dash) : Use GDK_LINE_ON_OFF_DASH
197           so that background colours show through.
199         * src/sheet-style.c (sheet_range_set_border) : Prefer top vs bottom
200           and left vs right.  This will simplify drawing eventually.
202 2000-02-21  Almer. S. Tigelaar.  <almer1@dds.nl>
204         * src/dialogs/dialog-stf-csv-page.c :
205         (csv_page_prepare) : csv_page_custom_toggled was called twice, removed one.
207         * src/stf.c, src/dialogs/dialog-stf.c, src/dialogs/dialog-stf-main-page.c,
208         * src/dialogs/dialog-stf-csv-page.c, src/dialogs/dialog-stf-fixed-page.c,
209         * src/dialogs/dialog-stf-format-page.c, src/dialogs/dialog-stf-preview.c
210         Fixed incorrect comments and added function comment headers where they
211         didn't exist. Also moved some includes.
213         * src/dialogs/dialog-stf.h
214         Removed TEXT_VOFFSET, because it is no langer required.
216         * src/dialogs/dialog-stf-preview.h
217         Changed the colours to match the current gnumeric sheet selection color
219         * src/dialogs/dialog-stf-format-page.c
220         (format_page_collist_select_row) : Makes selected row visible
221         (format_page_prepare) : Corrected minor error which caused the format entry to stay empty
223         * src/dialogs/dialog-stf.glade, src/dialogs/dialog-stf.c, src/dialogs/dialog-stf.h
224         Completely removed the "finish" page of the druid.
226         * src/dialogs/dialog-stf.glade, src/stf-parse.h, src/stf-parse.c
227         Fixed support for colon and added support for new separator
228         symbols : semicolon, pipe, slash, hyphen, bang.
229         separators are now also displayed on the csv page.
231         * src/stf-parse.c
232         (stf_parse_get_colcount) : last line wasn't counted
233         (stf_parse_get_colwidth) : idem
235         * src/stf.h :
236         Removed obsoleted FileSource_t struct type definition.
238         * src/stf.c :
239         (stf_read_workbook) : Detach sheet on parse error.
241 2000-02-21  Jon K Hellan  <hellan@acm.org>
243         * src/dialogs/dialog-cell-sort.c (dialog_cell_sort): Deflickerize.
245         * src/dialogs/dialog-cell-comment.c (dialog_cell_comment): Ditto.
247         * src/gnumeric-util.c (gnumeric_dialog_show): New function. Pop up
248         a dialog without recursive main loop, with a handler to take care
249         of parent shell closing.
250         (on_parent_close, on_close): New callback functions.
251         (connect_to_parent_close): New helper function - connect handler
252         for parent shell closing.
254         * src/print.c (sheet_print): Use gnumeric_dialog_run.
256 2000-02-20  Jody Goldberg <jgoldberg@home.com>
258         * src/border.c (style_border_draw) : It ain't perfect, but it is
259           better than nothing.
261 2000-02-20  Jody Goldberg <jgoldberg@home.com>
263         * src/dialogs/dialog-cell-format.c (cb_back_preview_color) : Hard code
264           the alpha channel to 0.
265         (cb_pattern_preview_color) : Ditto.
266         (cb_border_color) : Ditto.
267         (init_border_button) : Ditto.
269         * src/widgets/widget-pixmap-combo.c (pixmap_combo_select_pixmap) :
270           Replace the storing of the new index.
272         * src/workbook-format-toolbar.c (cb_border_changed) : Implement.
274 2000-02-20  Tuomas Kuosmanen  <tigert@gimp.org>
276         * src/pixmaps/graphic.xpm: New icon for the "add graph" -button
277         requested by miguel
279         (hello fellow finn below btw :)
281 2000-02-20  Jukka-Pekka Iivonen  <iivonen@iki.fi>
283         * src/mathfunc.c: Implemented Affine Scaling algorithm for the
284         Solver tool.
286         * src/solver-lp.c: Switched the solver to use the affine scaling
287         instead of the simplex.  Beautified the generated reports.
289         * src/solver.h: Renamed some of the Solver constants.
291         * src/analysis-tools.h: New file.  Moved stuff from
292         src/dialog/dialogs.h.
294 2000-02-20  Jody Goldberg <jgoldberg@home.com>
296         * src/item-cursor.c : Switch to a quartic approved delayed update
297           model.  Do not change the bounding box while drawing.
299         * src/selection.c (sheet_selection_add_range) : Do NOT directly change
300           the edit/move/base characteristics of the sheet sheet_cursor_set handles
301           that.
303         * src/gnumeric-sheet.c (gnumeric_sheet_compute_visible_ranges) : Use
304           item_cursor_reposition rather than pretending that the cursor moved.
306         * src/item-grid.c (item_grid_button_1) : Don't call both
307           sheet_cursor_move and sheet_selection_add.  The former was moving
308           the edit cursor without redrawing it.
310 2000-02-20  Michael Meeks  <michael@helixcode.com>
312         * src/sheet-object-container.c (sheet_object_container_realize): pass
313         UI handler in straight.
315 2000-02-19  Mike Kestner  <mkestner@ameritech.net>
317         *src/dialogs/dialog-simple-input.c (dialog_get_number): Fixed leaks.
318         (dialog_get_sheet_name): Fixed leaks.
320 2000-02-19  Jody Goldberg <jgoldberg@home.com>
322         * src/corba-workbook-factory.c (WorkbookFactory_read) : Create a tmp
323           corba context with which to report problems while reading a new
324           workbook.  This is a temporary work around until corba_context is
325           implemented and we see what the requirements are.
327         * src/command-context-corba.c (command_context_corba_new) : longer
328           require a workbook.
330         * src/corba-workbook.c (workbook_corba_setup) : Support above change.
332 2000-02-19  Jody Goldberg <jgoldberg@home.com>
334         * src/selection.c (sheet_selection_extend) : Don't store the results
335           of the move directly into sheet::cursor::move_corner.  That makes
336           sheet_selection_extend_to think there is nothing to be done.
338 2000-02-19  Jukka-Pekka Iivonen  <iivonen@iki.fi>
340         * src/dialogs/dialog-analysis-tools.c: Made the cancel operation
341         of a tool to return the tool selection.
343 2000-02-19  Jukka-Pekka Iivonen  <iivonen@iki.fi>
345         * src/dialogs/analysis-tools.glade,
346         src/dialogs/dialog-analysis-tools.c: Implemented Glade dialogs for
347         Anova two-single factor and Moving average tools.
349 2000-02-18  Almer. S. Tigelaar.  <almer1@dds.nl>
351         * /src/dialogs/dialog-stf.glade :
352         Corrected a minor spelling error on the first page of
353         the druid.
355 2000-02-19  Jukka-Pekka Iivonen  <iivonen@iki.fi>
357         * src/dialogs/dialog-autosave.c: Added a few checks for the
358         correctness of autosave.glade file.
360         * src/dialogs/analysis-tools.glade,
361         src/dialogs/dialog-analysis-tools.c: Implemented Glade dialog for
362         Anova single factor tool.
364 2000-02-18  Almer. S. Tigelaar.  <almer1@dds.nl>
366         What follows is the Changelog entry for the new STF that miguel
367         commited.
369         The original STF Plug-in has been removed and is now merged
370         with the Gnumeric main sources.
371         Numerous bug fixes have been made, the major ones :
373         * stf-util.c, stf-util.h :
374         Obsoleted, merged with dialog_stf.[ch]
376         * stf-fixed.c, stf-separated.c, stf-fixed.h, stf-separated.h :
377         Obsoleted, replace with stf-parse.[ch], a new interface.
379         * stf-parse.h, stf-parse.c :
380         Two new units which are a re-make of the stf-separated.c and
381         stf-fixed.c. These supersede those two units.
383         * dialog-stf.c, dialog-stf.h, dialog-stf-csv-page.c, dialog-stf-fixed-page.c :
384         Altered so they use the new stf-parse.[ch] instead of stf-separated.c
385         and stf-fixed.c.
387         * dialog-stf-main-page.c
388         Now allows you to select both the line to start _and_ the line to stop
389         importing.
391         * dialog-stf-fixed-page.c :
392         Apart from some minor bug fixes you can now also use the mouse
393         to interactively create, delete and resize columns.
395         * dialog-stf-format-page.c :
396         Now allows you to click in the preview to select a column.
397         Also fixed minor errors
399         * dialog-stf-preview.c, dialog-stf-preview.h :
400         Completely revised preview rendering, lots of changes.
402         * dialog-stf.glade :
403         More descriptive hints on each page
405         Now some integration changes :
407         * main.c
408         Modified to also initialize the stf-plugin
410         * stf.c, stf.h
411         Now uses the new dialog-stf.[ch] and stf-parse.[ch] interfaces.
413         * clipboard.c
414         modified (x_selection_to_cell_region) to use the STF stuff instead
415         of the previous 'based-on-assumptions' approach.
416         ->by request from Jody Goldberg
418 2000-02-18  Jody Goldberg <jgoldberg@home.com>
420         * src/widgets/widget-color-combo.c (color_combo_construct) : typo.
421         (color_combo_new) : Disable the charting colours for now.  They are
422           mostly duplicates.
424 2000-02-16 Dom Lachowicz <dominicl@seas.upenn.edu>
426         * src/widgets/widget-color-combo.[ch]
427         Changed the code some to enable tooltips
428         Minor api changes
430 2000-02-18  Jody Goldberg <jgoldberg@home.com>
432         * src/workbook-view.c : Add history.h.
434 2000-02-18  Jody Goldberg <jgoldberg@home.com>
436         * src/sheet.c (sheet_redraw_selection) : Delete.
438         * src/selection.c (sheet_selection_extend_to) : Short circuit when
439           there would be no change to the selection.
440         (sheet_selection_change) : The sheet already has the correct edit,
441           move, base positions.  Use them.
443         * src/sheet-view.c (sheet_view_redraw_headers) : gnome_canvas_request_redraw
444           EXCLUDES the far coordinates.  Add 1 so that the last pixel get
445           redrawn too.
447 2000-02-18  Jody Goldberg <jgoldberg@home.com>
449         * src/history.c (history_menu_item_create) : typo.
451 2000-02-18  Jody Goldberg <jgoldberg@home.com>
453         * src/dialogs/dialog-goal-seek.c (dialog_goal_seek) : Use edit_pos.
454         * src/dialogs/dialog-solver.c (dialog_solver) : Ditto.
456         * src/xml-io.c (xml_read_selection_info) : Use edit_pos.
457         (xml_write_selection_info) : Ditto.
459         * src/workbook.c (cb_sheet_check_dirty) : Use edit_pos.
460         (paste_cmd) : Ditto.
461         (paste_special_cmd) : Ditto.
462         (insert_current_date_cmd) : Ditto.
463         (insert_current_time_cmd) : Ditto.
464         (workbook_edit_comment) : Ditto.
466         * src/sheet.c (sheet_new) : sheet_selection_append -> sheet_selection_add.
467         (sheet_accept_pending_input) : Use edit_pos.
468         (sheet_load_cell_val) : Ditto.
469         (sheet_start_editing_at_cursor) : Ditto.
470         (sheet_update_controls) : Ditto.
471         (sheet_{col,row}_selection_type) : Fix cut-paste-o.
472         (walk_boundaries) : Move to selection.c.
473         (walk_boundaries_wrapped) : Ditto.
474         (sheet_selection_walk_step) : Reworked and moved to selection.c.
475         (sheet_cursor_move) : Switch to new framework.
476         (sheet_cursor_set) : Ditto.
477         (sheet_set_selection) : Delete.
479         * src/sheet.h : (SheetSlection) : Remove base member.
480         (Sheet) : adjust notion of cursor to differentiate between,
481         edit, base, and movement.  (see comments).
482         * src/sheet-view.c (sheet_view_set_zoom_factor) : Use edit_pos.
483         (sheet_view_scrollbar_config) : Switch to new scheme.
484         (sheet_view_{col,row}_selection_changed) : Make the Top/Left visible
485           cell the edit cursor when things are out of range.
487         * src/sheet-style.c (sheet_style_attach) : Use sheet_redraw_range directly.
488         (sheet_range_apply_style) : Ditto.
489         (sheet_range_set_border) : Ditto.
491         * src/selection.c (sheet_selection_add_range) : Renamed from,
492           sheet_selection_append.  Document.  Switch to new edit, base, move
493           scheme.  Directly call sheet_cursor_set rather than the confusingly
494           named sheet_set_selection.
495         (sheet_selection_add) : Renamed from sheet_selection_append.
496         (sheet_selection_change) : Adjust parm name from 'new' -> 'new_sel' to
497           enable test compiles from C++.
498         (sheet_selection_extend_to) : Switch to new edit, base, move scheme.
499         (sheet_selection_extend) : Just call sheet_selection_extend_to for the
500           main work.  Document.
501         (sheet_select_all) : sheet_selection_append_range -> sheet_selection_add_range.
502         (sheet_selection_extend_{horizontal, vertical} : Merge in to
503           sheet_seletion_extend and fix.
504         (sheet_selection_set) : Switch to the new scheme.
505         (sheet_selection_reset) : sheet_selection_append -> sheet_selection_add.
506           Use edit_pos.
507         (walk_boundaries) : Moved from sheet.c, merged with
508           walk_boundaries_wrap, and change signature.
509         (sheet_selection_walk_step) : Moved from sheet.c and switched to the
510           new method.  Do not change the selected region while iterating.
512         * src/item-grid.c (item_grid_paint_empty_cell) : Use edit_pos.
513         (item_grid_draw_cell) : Ditto.
514         (item_grid_event) : Ditto.
515         (context_paste_cmd) : Use the base and move cursors.
516         (context_paste_special_cmd) : Ditto.
517         (item_grid_button_1) : sheet_selection_append -> sheet_selection_add.
519         * src/item-cursor.c (item_cursor_autofill_event) : Use
520           sheet_selection_add_range rather than the two step select extend.
522         * src/clipboard.c (sheet_paste_selection) : Use
523           sheet_selection_add_range rather than the 2 step process
524           of setting the corner and extending.
526         * plugins/excel/ms-excel-read.c (ms_excel_read_selection) :
527             sheet_selection_append_range -> sheet_selection_add_range
528         * src/corba-sheet.c (Sheet_selection_append) : Ditto.
529         (Sheet_selection_append_range) : Ditto.
531         * src/gnumeric-sheet.c (move_cursor) : Ditto.
532         (gnumeric_sheet_key_mode_sheet) : Ditto.  Use edit_pos.
533           sheet_selection_walk_step now handles the cursor and selection
534           changes.
535         (gnumeric_sheet_set_selection) : Delete this was unnecessary.
536         (gnumeric_sheet_set_cursor_bounds) : Add preconditions.
537         (move_cursor_horizontal) : Use the edit_pos for movement.
538         (move_cursor_vertical) : Ditto.
539         (gnumeric_sheet_create_editing_cursor) : Ditto.
540         (start_cell_selection) : Ditto.
541         (move_horizontal_selection) : Use sheet_selection_extend.
542         (move_vertical_selection) : Ditto.
543         (gnumeric_sheet_compute_visible_ranges) : Force a redraw of the
544           item-cursor when the visible region changes.  FIXME : This should be
545           an update not a redraw.
547 2000-02-18  Miguel de Icaza  <miguel@gnu.org>
549         * configure.in (EXTRA_GNOME_CFLAGS): Remove stf plugin from here.
550         * plugins/Makefile.am (SUBDIRS): And from here.
552         * src/stf.c (stf_open_and_read): Use malloc instead of g_malloc0
553         because g_malloc aborts execution if the buffer is too large
554         (which it might likely be).
555         (stf_read_workbook): Release using free, not g_free here.
556         (stf_read_workbook): Fix sheet object memory leak.
557         (stf_init): Kill old and unused code.
559 2000-02-18  Michael Meeks  <michael@helixcode.com>
561         * src/workbook.c (workbook_new): setup view history.
562         (workbook_do_destroy): add workbook to view history and write config.
564         * src/history.c (history_item_label): substantialy alter.
565         (history_remove_menu_item): kill translation on non bonobo case.
567 2000-02-18  Mike Kestner  <mkestner@ameritech.net>
569         * src/application.c (application_history_get_list): add
570         (application_history_update_list, application_history_list_shrink),
571         (application_history_write_config): ditto.
573         * src/workbook-view.c (workbook_view_history_setup): create.
574         (workbook_view_history_update, workbook_view_history_shrink): ditto.
576         * src/Makefile.am: add history.[ch].
578         * src/history.[ch]: Added.
580 2000-02-18  Jukka-Pekka Iivonen  <iivonen@iki.fi>
582         * src/dialogs/analysis-tools.glade,
583         src/dialogs/dialog-analysis-tools.c: Implemented Glade dialogs for
584         T-Test tools.
586         * src/dialogs/dialog-autosave.c: Fixed a few bugs in
587         dialog_autosave (cancel caused segmentation fault at the next
588         run).  Made the prompt button unsensitive if the autosave is
589         turned off.
591         * src/analysis-tools.c: Made the titles to be printed in italic
592         style for Correlation, Covariance, F-Test, and T-Test tools.  In
593         addition, the columns are autosized.
595 2000-02-16  Miguel de Icaza  <miguel@gnu.org>
597         * src/widgets/widget-pixmap-combo.c (pixmap_combo_select_pixmap):
598         Changed the code to use gnoem_pixmaps here.
599         (pixmap_combo_construct): and here.
602 2000-02-15  Jody Goldberg <jgoldberg@home.com>
604         * *.[ch] : More header cleanup.  Remove value.h and sheet.h
605           from expr.h.  Remove sheet.h from cell.h.
607 2000-02-16  Dom Lachowicz <dominicl@seas.upenn.edu>
609         * src/plugin-manager.c : Move functionality.
610         * src/dialogs/dialog-plugin-manager.c : here.  and move to libglade.
612         * src/workbook.c (plugins_cmd) : Use dialog_plugin_manager instead
613           of plugin_manager_new.
615 2000-02-16  Jukka-Pekka Iivonen  <iivonen@iki.fi>
617         * src/dialogs/analysis-tools.glade, src/analysis-tools.c,
618         src/dialogs/dialog-analysis-tools.c: Implemented Glade dialog for
619         Rank and Percentile tool.
621 2000-02-15  Jody Goldberg <jgoldberg@home.com>
623         * src/workbook-cmd-format.c (workbook_cmd_format_{column,row}_auto_fit) :
624           Handle repositioning and redrawing here in preparation to adding undo.
625         (workbook_cmd_format_column_width) : Ditto.
626         (workbook_cmd_format_row_height) : Ditto.
628         * src/sheet.c (sheet_reposition_comments_from_{row,col}) : publicize.
629         (sheet_recompute_spans_for_col) : Ditto.
630         (sheet_save_row_col_sizes) : Store cols/rows of 'default' size as 0.
631         (sheet_restore_row_col_sizes) : Restore cols/rows to true default state.
632         (sheet_{col,row}_set_size_pts) : document, and REMOVE calls to reposition
633           and redraw.
635 2000-02-16  Jon K Hellan  <hellan@acm.org>
637         * src/sheet.c (col_row_info_init): Fix typo
639 2000-02-15  Morten Welinder  <terra@diku.dk>
641         * src/functions/fn-math.c (gnumeric_mmult): Fix row/col confusion.
642         * src/mathfunc.c (mmult): Ditto.  How did this ever work for
643         non-square matrices?
645 2000-02-15  Jody Goldberg <jgoldberg@home.com>
647         * src/sheet.c (sheet_col_set_default_size_pts) : There is no notion of
648           default column width having thick margins.
650 2000-02-14  Jon K Hellan  <hellan@acm.org>
652         * src/dialogs/import.glade: Add scrolled window
654         * src/file.c (workbook_read, workbook_import, workbook_save_as,
655         workbook_save): Use error message template.
657         * src/command-context.h (struct _CommandContext): Add
658         template_list member.
659         (struct CommandContextClass): Call message parameter to methods
660         "message".
661         (command_context_push_template, command_context_pop_template):
662         Declare.
664         * src/command-context.c (command_context_push_template): New
665         function. Push a printf template for error messages to stack.
666         (command_context_pop_template): New function. Pop current template
667         from stack.
668         (format_message): New function. Format a message using template on
669         stack.
670         (gnumeric_error_plugin_problem, gnumeric_error_read,
671         gnumeric_error_save): Use format_message.
673         * src/command-context-corba.c (ccc_error_plugin_problem,
674         ccc_error_read, ccc_error_save): Call message parameter
675         "message".
677         * src/command-context-gui.c (ccg_error_plugin_problem,
678         ccg_error_read, ccg_error_save): Ditto.
680 2000-02-14  Jody Goldberg <jgoldberg@home.com>
682         * src/cell-draw.c (cell_draw) : Cells can span in either direction.
684         * src/format.c (format_value) : Empty formats produce empty cells.
686         * src/workbook.c (workbook_menu_tools) : Move the plugins menu item to
687           the Tools menu.
689 2000-02-14  Jukka-Pekka Iivonen  <iivonen@iki.fi>
691         * src/dialogs/analysis-tools.glade, src/analysis-tools.c,
692         src/dialogs/dialog-analysis-tools.c: Implemented Glade dialogs for
693         Correlation, Covariance, and F-Test tools.
695 2000-02-14  Jody Goldberg <jgoldberg@home.com>
697         * src/item-bar.c (item_bar_event) : Handle rename from
698           sheet_{col,row}_size_fit -> sheet_{col,row}_size_fit_pixels
699         * src/selection.c (cb_set_row_height) : Ditto.
700         * src/workbook-cmd-format.c
701         (workbook_cmd_format_{column,row}_auto_fit) : Ditto.
703         * src/cell.c (cell_calc_dimensions) : Use sheet_row_set_size_pixels
704           rather than sheet_row_set_internal_size_pts.
706         * src/sheet.c (sheet_{col,row}_set_size_{pixels,pts}) :
707           Use sheet_row_fetch to avoid manually adding rows/col.
708           Syncronize implementations and move the 'set_internal' code
709           here.
710         (sheet_{col,row}_set_internal_size_pts) : Delete.
711         (sheet_{col,row}_size_fit) : Rename sheet_{col,row}_size_fit_pixels
712         (colrow_compute_pts_from_pixels) : Typo.
714 2000-02-14  Miguel de Icaza  <miguel@gnu.org>
716         * src/dialogs/dialog-solver.c (constr_add_click): Fix handling
717         of return value from gnumeric_dialog_run.  Fix memory leaks.
719         * src/dialogs/dialog-goto-cell.c (dialog_goto_cell): Fix handling
720         of return value from gnumeric_dialog_run
722         * src/dialogs/dialog-function-wizard.c (dialog_function_wizard):
724         * src/dialogs/dialog-analysis-tools.c (dialog_correlation_tool):
725         Fix handling of return value from gnumeric_dialog_run
726         (dialog_sampling_tool): ditto.
727         (dialog_descriptive_stat_tool): ditto.
728         (dialog_ttest_eq_tool): ditto.
729         (dialog_regression_tool): ditto
730         (dialog_average_tool): ditto.
731         (dialog_ranking_tool): ditto.
732         (dialog_anova_single_factor_tool): ditto.
734         * src/dialogs/dialog-solver.c (dialog_solver): The argument is
735         *NOT* a GtkObject, but some other data structure.
737         * src/dialogs/dialog-analysis-tools.c (dialog_data_analysis):
738         Correct handling.
739         (dialog_covariance_tool): Handle correctly.
741         * src/dialogs/dialog-advanced-filter.c (dialog_advanced_filter):
742         Proper error handling.
744 2000-02-13  Jody Goldberg <jgoldberg@home.com>
746         * src/workbook-format-toolbar.c (workbook_create_format_toolbar)
747           Add a border item.
749         * src/widgets/widget-pixmap-combo.[ch] : New files.
751 2000-02-13  Miguel de Icaza  <miguel@gnu.org>
753         * src/workbook.c (workbook_new): Do not autosave by default, much
754         less with prompt feature.
756         * src/widgets/widget-color-combo.c (color_combo_construct):
757         Acknowledge the GNOME user settings for the combo box button.
758         Same for the button we create.
760         * src/workbook.c (workbook_create_standard_toobar): ditto.
762 2000-02-13  Jody Goldberg <jgoldberg@home.com>
764         * src/sheet.c (sheet_col_get_distance_pts) : Fix missed +1.
766         * src/cell-draw.c (cell_draw) : syncronize with print_cell_text.
767         * src/print-cell.c (print_cell_text) : Ditto.
769 2000-02-13  Jody Goldberg <jgoldberg@home.com>
771         * src/item-grid.c (item_grid_paint_empty_cell) : paint the selection
772           rectangle EXCLUDING the grid lines when selected.
774         * src/cell-draw.c (cell_draw) : Ditto.
776         * src/pattern.c (gnumeric_background_set_gc) : return FALSE if there
777           is no pattern even if the cell is selected.
779 2000-02-13  Jody Goldberg <jgoldberg@home.com>
781         * src/item-grid.c (item_grid_paint_empty_cell) : Move above item_grid_draw_cell.
782         (item_grid_draw_cell) : Do not to set colours here that is handled
783           elsewhere.  Call empty_cell for zeros when we are not displaying them.
785         * src/cell-draw.c (cell_draw) : Reset the clipping region
786           to avoid losing the background colour because the previous cell
787           drawn had set a non overlapping clipping region.
789         * src/workbook-view.c (workbook_view_set_size) : Clarify that the
790           measurements are in pixels.
792         * src/sheet-view.c (sheet_view_redraw_cell_region) : redraw the
793           bounding grid lines too.
795         * src/item-cursor.c (item_cursor_get_pixel_coords) : Clip the cursor
796           region to the visible range.  The layout still needs cleaning to
797           match the 'correct' way of implementing canvas-items, but this
798           heuristic saves us lots of iterations through the accumulator for
799           the size of the entire sheet.
801 2000-02-12  Jody Goldberg <jgoldberg@home.com>
803         * src/gnumeric-sheet.c : Use visible flag and adjust to naming and
804           margin changes.
806         * src/item-bar.c (colrow_tip_setlabel) : Use the format provided by
807           XL2000.  Things are correct for rows, colwidth are quoted in pts
808           rather than char widths.
809         (get_col_from_pos) : Use visible flag.
810         (item_bar_start_resize) : Function renaming.
811         (is_pointer_on_division) : Ditto.
812         (item_bar_draw) : Changes to margins.
814         * src/item-edit.c : Function renaming.
815         * src/item-cursor.c : Ditto.  decrease spacing for auto handle.
817         * src/item-grid.c (item_grid_draw) : Remove inversion process for the
818           selection.  Instead have the cells draw their background
819           differently.  Use the visible flag.
820         (item_grid_paint_empty_cell) : Ditto.
821         (item_grid_paint_cell) : Ditto.
823         * src/mstyle.c (mstyle_new_default) : The default vert alignment is BOTTOM.
825         * src/pattern.c (gnumeric_background_set_gc) : Draw the background of
826           a selected cell differently.
828         * src/print-cell.c (DIM) : margins are already included.
829         (print_cell_text) : Adjust argument order to more closely match
830           cell_draw.  Add support for vertical alignment of 1 line cells.
831           Invert control of single vs multiple lines.
832         (print_cell) : Adjust to changes in the arguments.
833         (print_cell_range) : Use the visible flag.
834           Draw line at the boundary rather than pretending there were
835           additional rows/cols.
837         * src/print.c (compute_groups) : size_pts INCLUDES margins.  Use 'visible' flag.
838         (print_page) : Adjust to function renaming.
839         (print_range_used_units) : Ditto.
841         * src/selection.c : Include sheet-view directly for now.
842         (cb_set_row_height) : Adjust to function renaming.
844         * src/sheet-view.c (sheet_view_redraw_cell_region) : Adjust to function
845           renaming.
846         (sheet_view_redraw_headers) : Ditto.
847         (sheet_view_set_zoom_factor) : Ditto.
848         (sheet_view_col_size_changed) : Ditto.
849         (sheet_view_row_size_changed) : Ditto.
850         (sheet_view_comment_get_points) : Ditto.
852         * src/sheet.[ch] : Rationalize function names, and add glossary.
853         Make the use of margins and sizes (in points and pixels) consistant.
855         (sheet_col_get_external_width : Delete.
856         (sheet_row_get_external_height : Delete.
857         (sheet_col_get_distance : Rename sheet_col_get_distance_pixels.
858         (sheet_row_get_distance : Rename sheet_row_get_distance_pixels.
859         (sheet_row_get_unit_distance : Rename sheet_row_get_distance_pts.
860         (sheet_col_get_unit_distance : Rename sheet_col_get_distance_pts.
861         (sheet_col_set_width : Rename sheet_col_set_size_pixels.
862         (sheet_col_set_width_units : Rename sheet_col_set_size_pts.
863         (sheet_row_set_height : Rename sheet_row_set_size_pixels.
864         (sheet_row_set_height_units) : Rename sheet_row_set_size_pts.
865         (sheet_get_default_external_col_width) : Rename sheet_col_get_default_size_pts.
866         (sheet_get_default_external_row_height): Rename sheet_row_get_default_size_pts.
867         (sheet_col_set_internal_width) : sheet_col_set_internal_size_pts.
868         (sheet_row_set_internal_height): sheet_row_set_internal_size_pts.
869         (sheet_{row,col}_set_default_size_pts) : New functions.
871         (sheet_init_default_styles) : Tune to match XL defaults.
873         * src/sort.c : Use g_strcasecmp, and include <stdlib.h>
875         * src/style.c (style_color_new) : Init the selection colour as a 50%
876           alpha blend with lavender.
878         * src/style.h : Change default font to be Helvetica 9 because it will
879           scale better when the standard 96 dpi resolution is assumed.
880           Add a selected_color to StyleColor.
882         * src/value-sheet.c : Include <gnome.h> to get the
883           internationalization support.
885         * src/workbook-cmd-format.c (workbook_cmd_format_column_auto_fit) :
886           sheet_col_set_width -> sheet_col_set_size_pixels.
887         (workbook_cmd_format_column_width) :
888           sheet_col_set_width_units -> sheet_col_set_size_pts.
889         (workbook_cmd_format_row_auto_fit) :
890           sheet_row_set_height -> sheet_row_set_size_pixels
891         (workbook_cmd_format_row_height) :
892           sheet_row_set_height_units -> sheet_row_set_size_pts.
894         * src/xml-io.c (xml_read_rows_info) : Rename
895           sheet_row_set_height_units -> sheet_row_set_size_pts.
896         (xml_read_cols_info) : Rename
897           sheet_col_set_height_units -> sheet_col_set_size_pts.
898         (xml_read_colrow_info) : Remove hack with negative pixels.
899           Use 'visible' flag instead.
900         (xml_write_colrow_info) : Ditto.
902 2000-02-12  Gregory McLean <gregm@gnu.org>
904         * src/functions/fn-financial.c: Added documentation and examples.
906 2000-02-12  Jukka-Pekka Iivonen  <iivonen@iki.fi>
908         * doc/C/autosave.sgml: New file added.  Documentation of the
909         AutoSave tool.
911 2000-02-11  Jody Goldberg <jgoldberg@home.com>
913         * src/workbook-format-toolbar.c (workbook_create_format_toolbar) :
914           Adjust to new signature for color_combo_new.
915           Select index 0 rather than 1 (some one has spent too much time in
916           fortran).  Reorder the initializations to match deployment (I'm
917           being pedantic).
919         * src/widgets/widget-color-combo.c (color_table_setup) : Change the
920           no_color flag to a possibly NULL string to provide finer control.
921         (color_combo_construct) : Ditto.
922         (color_combo_new_with_vals) : Ditto.
923         (color_combo_new) : Ditto.
925 2000-02-11  Dean Scott <drscott12@hotmail.com>
927         * src/widgets/widget-color-combo.c (default_colors) : Reorder to match
928           XL2000 more closely and provide names.
929         (color_combo_new) : Correct the layout to display all colours.
931 2000-02-11  Michael Meeks  <michael@helixcode.com>
933         * src/sheet.c (sheet_load_cell_val): fix brokenness.
934         (sheet_load_cell_val): cast to shut it up.
936 2000-02-11  Michael Meeks  <michael@helixcode.com>
938         * src/sheet.c (cellref_name): use sheet_quote_name.
939         (sheet_quote_name): implement.
941         * src/workbook.h (WorkbookClass): add cell_changed signal.
943         * src/workbook.c (workbook_class_init): add cell_changed.
945         * src/sheet.c (sheet_load_cell_val): Add signal for blind folks.
947 2000-02-11  Michael Meeks  <michael@helixcode.com>
949         * src/sheet.c (sheet_get_extent): Fix silly buglet for blank sheets.
951         * configure.in: split out GB autoconf from EXTRA_GNOME_LIBS
953 2000-02-10  Michael Meeks  <michael@helixcode.com>
955         * src/clipboard.c (sheet_paste_selection): pass CellPos.
956         (clipboard_copy_cell_range): pass ptr to range.
958         * src/sheet-style.c (sheet_get_styles_in_range): include the background
959         style so we can undo nicely. (sheet_style_attach_list): simplify.
961         * src/workbook-format-toolbar.c (change_font_size_in_selection_cmd),
962         (change_selection_font, set_selection_halign, change_font_in_selection_cmd),
963         (change_font_size_in_selection_cmd, do_sheet_selection_apply_style),
964         (fore_color_changed, back_color_changed): use cmd_format.
966         * src/dialogs/dialog-cell-format.c (cb_fmt_dialog_dialog_apply): update
967         to use cmd_format.
969         * src/sheet-style.c (sheet_selection_set_border): kill style unref.
970         (sheet_selection_apply_border_cb): renamed to (sheet_range_set_border):
971         (sheet_selection_set_border): kill ( with leak ).
972         (sheet_range_apply_style): rename (sheet_selection_apply_style): kill.
973         (sheet_get_styles_in_range): take a const range pointer
975 2000-02-10  Jody Goldberg <jgoldberg@home.com>
977         * src/corba-workbook-factory.c (WorkbookFactory_read) : Include
978           gnorba.
980 2000-02-10  Michael Meeks  <michael@helixcode.com>
982         * src/corba-sheet.c: include cell.h & colrow.h
983         (Sheet_col_width): use size_pts (Sheet_row_height): ditto.
985         * src/embeddable-grid.h: include sheet-view.h
987         * configure.in (have_gb): bump ver.
989         * src/workbook.c (workbook_new): fix ordering of arguments on autosave
990         function; default to not ask, and make interval 10 minutes. ( instead
991         of 1 with bug ).
993 2000-02-10  Jody Goldberg <jgoldberg@home.com>
995         * src/sheet.h : Remove inclusion of cell.h.  Adjust includes to loosen
996           things a bit more.
998         * src/colrow.h : Remove margin_a_pt margin_b_pt.  Margins are NOT
999           scaled by resolution or zoom.
1000           Rename units -> size_pts and store as float rather than double.
1001           Rename pixels-> size_pixels
1002           hard_size -> use gboolean rather than a 1 element bitfield
1004         * src/style.h : Move the typedefs from here.
1005         * src/gnumeric.h : to here.
1007         *.[ch] : Catch up with the renames and include changes.
1009 2000-02-09  Jody Goldberg <jgoldberg@home.com>
1011         * src/workbook.c (change_displayed_zoom_cb) : Add a '%' at the end of
1012           the zoom specification.
1013         (workbook_create_standard_toobar) : Adjust the list of zoom labels.
1015         * src/style.c (font_init) : Add comment explaining that the default
1016           fonts are not scaled by resolution, and that we depend on that.
1018         * src/sheet.c (sheet_init_default_styles) : Set the default sizes
1019           based on the size of the default font not on pixels.
1021         * src/sheet-view.c (new_canvas_bar) : Don't set the size or scroll
1022           region here.
1023         (sheet_view_construct) : Call sheet_view_set_zoom_factor with a factor
1024           of 1 to set sizes and scroll regions.
1025         (sheet_view_set_zoom_factor) : Do not hard code the sizes of the free
1026           dimensions.  Set them based on the font used for the headers.
1028 2000-02-08  Jody Goldberg <jgoldberg@home.com>
1030         * src/commands.c (command_undo) : Be more careful and only undo
1031           commands the successfully undo.
1033 2000-02-06  Michael Meeks  <michael@helixcode.com>
1035         * src/sheet-object.c (sheet_object_construct): mark sheet as modified.
1037 2000-02-06  Jukka-Pekka Iivonen  <iivonen@iki.fi>
1039         * src/mathfunc.[ch], src/functions/fn-math.c: Moved mdeterm, mmult
1040         and minverse to mathfunc.c.
1042 2000-02-07  Miguel de Icaza  <miguel@gnu.org>
1044         * src/dialogs/Makefile.am (glade_msgs): Add new glade.h files
1045         * src/dialogs/*.glade.h: Touch up glade files that did not
1046         generate the corresponding .glade.h file.
1048         * src/solver-lp.c: Tag strings for internationalization.
1049         * src/analysis-tools.c: ditto.
1051         * src/workbook.c (dialog_autosave_callback): Moved autosave code
1052         here.
1053         (workbook_autosave_cancel): Cancels autosaving.
1054         (workbook_autosave_set):
1056         * src/dialogs/dialog-autosave.c (dialog_autosave): Change the
1057         order here.
1058         (dialog_autosave): Correct.  Help button does not mean OK.  Hook
1059         up help.
1061         * src/dialogs/auto-save.glade: Beautify.
1063 2000-02-01  ERDI Gergo  <cactus@cactus.rulez.org>
1065         * src/about.c (dialog_about): Added myself to the contributors list
1067         * src/widgets/gtk-combo-box.c (gtk_combo_box_popup_hide):
1068         explicitly cast function pointers to avoid a warning
1070         * src/solver-lp.c (simplex_step_three): Default value for `min' to
1071         eliminate a warning
1073         * src/dialogs/dialog-advanced-filter.c: Included ranges.h
1074         (removing an `implicit declaration' warning)
1076         * src/commands.c: Included `dialogs.h'
1078         * src/workbook.c (workbook_standard_toolbar_orient): Hide the zoom
1079         combo box on vertical toolbars
1081         * src/widgets/gtk-combo-text.[ch]: New widget: easy-to-use combo box
1083 2000-01-28  ERDI Gergo  <cactus@cactus.rulez.org>
1085         * src/workbook.c (workbook_create_standard_toobar): Added a zoom
1086         button to the toolbar as requested
1088 2000-02-05  JP Rosevear  <jpr@arcavia.com>
1090         * src/commands.h : Fix typo
1092 2000-02-05  JP Rosevear  <jpr@arcavia.com>
1094         * doc/pref-attributes.txt : Start sorting excel attributes into
1095         application, workbook and sheet categories.
1097 2000-02-05  Jody Goldberg <jgoldberg@home.com>
1099         * src/sheet.[ch] (sheet_row_info_set_{height, width}) : Make static.
1101         * src/cell.c (cell_calc_dimensions) : The size is already scaled.
1103         * src/item-bar.c (item_bar_event) : Only scale by the zoom.
1104           The item-grid canvas is zoomed by the zoom factor, not by the
1105           resolution adjustment.
1106         (item_bar_start_resize) : Ditto.
1108         * src/selection.c (sheet_selection_paste) : Use cmd_paste_cut.
1110         * src/commands.c (cmd_paste_cut) : Implement.
1112 2000-02-04  Jody Goldberg <jgoldberg@home.com>
1114         * src/widgets/widget-font-selector.c (font_selector_set_points) : new
1115           function.
1116         * src/dialogs/dialog-cell-format.c (fmt_dialog_init_font_page) : Use it.
1118 2000-01-31  Michael Meeks  <mmeeks@gnu.org>
1120         * src/cell-draw.c (cell_draw): Ameliorate the 'Fatal Error' to
1121         'Pending'; it looks better when we hit a MsgBox in a GB func.
1123 2000-01-30  Michael Meeks  <michael@mejm2.dow.cam.ac.uk>
1125         * src/sheet.c (sheet_insert_object): repo -> goad for activate.
1127         * src/func.c: constify.
1129 2000-02-04  Jody Goldberg <jgoldberg@home.com>
1131         * src/sheet.c (sheet_col_set_internal_width) : Scale by the axis
1132           resolution adjment.
1133         (sheet_row_set_internal_height) : Ditto.
1134         (colrow_set_units) : Ditto.
1135         (sheet_compute_col_row_new_size) : Ditto.
1137         * src/item-bar.c (item_bar_fonts_init) : Scale by resolution.
1138         (item_bar_start_resize) : Ditto.
1139         (item_bar_event) : Ditto.
1141         * src/cell.c (cell_calc_dimensions) : Adjust interface to take the
1142           cell. Scale the height test by the vertical resolution adjustment.
1144         * src/cell-draw.c (sheet_view_get_style_font) : rename from
1145           sheet_get_style_font in preparation for view split.  Scale
1146           the font by the average of the resolutions.
1148 2000-02-03  Jody Goldberg <jgoldberg@home.com>
1150         * src/xml-io.c (xml_{read,write}_selection_info) : New functions.
1151         (xml_{read,write}_range) : New functions.
1152         (xml_write_style_region) : Use xml_write_range.  (DOH!)
1153         (xml_read_style_region) : Use xml_read_range.
1154         (xml_sheet_read) : Use xml_read_selection_info.
1155         (xml_sheet_write) : Use xml_write_selection_info.
1157 2000-02-03  Jukka-Pekka Iivonen  <iivonen@iki.fi>
1159         * src/solver-lp.c (solver_simplex): Bug fix.  Convert RHS values
1160         to non-negative.
1162         * src/solver-lp.c: Implemented `Sensitivity Report' for Solver
1163         tool.  Not complete though.
1165 2000-02-02  Jody Goldberg <jgoldberg@home.com>
1167         * src/cell.c (cell_set_text) : Fix thinko.  We are assigning to the
1168           entered_text so we should unref that.  Always print the assigning
1169           empty warning.
1171         * src/str.c (string_unref_ptr) : Delete unused function.
1173         * src/clipboard.c (do_clipboard_paste_cell_region) : Use the correct
1174           clear flags for sheet_clear_region.
1175         (x_selection_handler) : Ditto.
1177         * src/workbook.c (workbook_expr_relocate) : We need to unref the new
1178           expression because the cell refs it itself.
1180         * ./src/format.c (format_remove_decimal) : Correctly remove the last
1181           decimal. bug 5836.
1183 2000-02-02  Jukka-Pekka Iivonen  <iivonen@iki.fi>
1185         * src/dialogs/dialog-solver.c, src/dialogs/solver.glade:
1186         Implemented the results and reports dialog for the Solver tool.
1188         * src/solver-lp.c, src/solver.h: Implemented `Answer' report
1189         generation for Solver.
1191 2000-02-02  Jukka-Pekka Iivonen  <iivonen@iki.fi>
1193         * src/dialogs/dialog-autocorrect.c: Killed bug #5719.
1195 2000-02-01  Jody Goldberg <jgoldberg@home.com>
1197         * src/item-bar.c (item_bar_draw) : Fix minor fence-post drawing
1198           glitch.
1199         (bar_draw_cell) : Apply a clipping region to ensure that title strings
1200           do not overlap when sizes are small.
1202         * src/workbook.h : Remove bogus ';' from comments.
1203           Bug 5717.
1205 2000-01-31  Jukka-Pekka Iivonen  <iivonen@iki.fi>
1207         * src/dialogs/dialog-solver.c, src/dialogs/solver.glade,
1208         src/dialogs/Makefile.am: Gladefied the Solver tool.  Implemented
1209         `Change' (constraint) button.
1211         * src/functions/fn-math.c: Added RandExp(), RandPoisson(),
1212         RandBinom(), RandNegBinom(), and RandBernoulli() functions.
1214         * src/functions/fn-math.c, src/mathfunc.[ch]: Moved gcd to
1215         mathfunc.c.
1217 2000-01-31  Jody Goldberg <jgoldberg@home.com>
1219         * src/worksheet.h : Move more of the pure view elements into
1220           WorkbookPrivate.
1222         * src/sheet.h : Remove include of workbook.h
1224         * *.c : manually include workbook.h only where we need it.
1226         * src/ranges.c (parse_range) : Move here from dialog-analysis-tools.c
1227           to avoid warnings.
1229         * src/corba-workbook.c (Workbook_save_to) : Adjust to new calling
1230           convention.
1231         * src/corba-workbook-factory.c (WorkbookFactory_read) : Ditto.
1233         * src/parser.y : Support interbook references.
1235         * src/item-bar.c : Ignore scroll-wheel events. Eventually the app will
1236           handle these rather than the grid.
1238 2000-01-31  Matthias Warkus  <mawa@iname.com>
1240         * *.png, Makefile.am, gnumeric.keys.in: New file type icons. Flame
1241         me if anything went wrong.
1243 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
1245         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
1247 2000-01-31  Jon K Hellan  <hellan@acm.org>
1249         * src/xml-io.c (gnumeric_xml_read_workbook): Never return -1
1250         without calling gnumeric_error_read
1251         (gnumeric_xml_write_workbook): s/read/write/
1253         * src/file.c (workbook_load_from): Report read failure if all
1254         probes fail.
1256 Sun Jan 30 15:40:50 EST 2000 Gregory McLean <gregm@comstar.net>
1258         * gnumeric.spec.in: Added in some logic to autogenerate the
1259         catalog's file spec.
1261 2000-01-30  Jody Goldberg <jgoldberg@home.com>
1263         * src/item-bar.c (item_bar_event) : Propage scroll-wheel events up to
1264           the parent.
1266         * src/sheet.c (sheet_cancel_pending_input) : Reload the edit area with
1267            the current cell's value when an edit is canceled.
1269 2000-01-30  Timur I. Bakeyev  <timur@gnu.org>
1271         * configure.in: AM_GNU_GETTEXT changed to AM_GNOME_GETTEXT - that
1272         makes proper substitution for INTLLIBS variable.
1274 2000-01-29  Jody Goldberg <jgoldberg@home.com>
1276         * src/gnumeric-sheet.h (gnumeric_sheet_stop_cell_selection) : Remove
1277           duplicate decl.
1279         * src/item-grid.c : Remove unused enum SELECTING_CELL_RANGE.
1281         * src/application.[ch] (application_workbook_get_by_{index,name}) :
1282           New functions.
1284         * src/selection.c (sheet_selection_paste) : Reload the edit field when
1285           finished. The current cell may have changed.
1287         * src/sheet.c (sheet_accept_pending_input) : Use
1288           gnumeric_sheet_destroy_editing_cursor.
1290         * src/xml-io.c (gnumeric_xml_read_workbook) : Really return 0 on
1291           success.
1293         * src/workbook.c (workbook_realized) : Delete unused function.
1294         (accept_input) : Force the sheet into edit mode when a user activates
1295           the edit bar.
1297 2000-01-30  Jon K Hellan  <hellan@acm.org>
1299         * src/xml-io.h (gnumeric_xml_read_workbook): Return int
1300         * src/xml-io.c (gnumeric_xml_read_workbook): Return 0 on success,
1301         -1 on failure. Use gnumeric_error_read to display messages.
1303 2000-01-29  Jody Goldberg <jgoldberg@home.com>
1305         * src/commands.c (cmd_set_text_undo) : Special case VALUE_EMPTY.
1306           Move to the previous cell only after reverting its value so that the
1307           edit area is updated.
1308         (cmd_set_text) : Retrieve the old text of the cell directly.
1310         * src/sheet.c (sheet_set_current_value) : Delete and merge into...
1311         (sheet_accept_pending_input) : Here.  Harmonize the logic with.
1312         (sheet_cancel_pending_input) : this function.
1313         (sheet_set_text) : Publicize.
1314         (sheet_stop_editing) : Removed storage of value of cell being edited.
1315         (sheet_start_editing_at_cursor) : Ditto.
1317         * src/workbook.c (accept_input) : Use sheet_accept_pending_input.
1318         (redo_cmd, undo_cmd) : cancel pending input.
1320 2000-01-28  Jody Goldberg <jgoldberg@home.com>
1322         * src/item-grid.c (item_grid_draw) : Pretend that the cell being
1323           edited (and anything it spans) are empty.
1325         * src/sheet.c (sheet_duplicate_colrow) : Delete unused.
1327 2000-01-29  Jon K Hellan  <hellan@acm.org>
1329         Megacommit.
1331         The purpose of the changeset is twofold:
1333         1. Use CommandContexts for error reporting for file read/save.
1334         2. This allows us to let FileFormatOpen return 0 on success, -1 on
1335            failure, same as FileFormatSave. The convention to return NULL
1336            on success was highly ideosyncratic.
1338         * src/file.h (FileFormatOpen, FileFormatSave, workbook_load_from,
1339         workbook_import): Add CommandContext
1340         (FileFormatOpen, workbook_load_from): Return int instead of char*.
1342         * src/file.c (workbook_load_from, workbook_try_read,
1343         workbook_read, workbook_import, workbook_save_as, workbook_save)
1344         (file_error_message): Remove function
1345         (workbook_read, workbook_load_from, workbook_save_as,
1346         workbook_save): Do not display message, message, plugin does -
1347         using CommandContext.
1348         (workbook_load_from): Return int instead of char*.
1349         (workbook_load_from, workbook_import): fo->open returns int
1350         instead of char*.
1351         (workbook_try_read): Remove msg paramenter
1353         * src/workbook.c (workbook_persist_file_load,
1354         workbook_persist_file_save): Use workbook_command_context_gui.
1355         (file_import_cmd): ditto
1356         (file_open_cmd): ditto
1358         * src/gnumeric-sheet.c (gnumeric_sheet_filenames_dropped): Use
1359         workbook_command_context_gui. Call workbook_try_read without msg
1360         argument.
1362         * src/workbook.h (workbook_try_read, workbook_read,
1363         workbook_save_as, workbook_save): Add command context
1364         (workbook_try_read): Remove msg paramenter
1366         * src/dialogs/dialog-autosave.c (dialog_autosave_callback):
1367         ditto
1369         * src/command-context.[ch] (gnumeric_error_read,
1370         gnumeric_error_save): New functions.
1372         * src/command-context-corba.c (ccc_error_read, ccc_error_save):
1373         Ditto.
1374         (ccc_init_class): Initialize error_read, error_save.
1376         * src/command-context-gui.c (ccg_error_read, ccg_error_save):
1377         Ditto.
1378         (ccg_init_class): Initialize error_read, error_save.
1380         * src/main.c (gnumeric_main): Make a CommandContext for use before
1381         we make first workbook. Unref it when no longer needed. Call
1382         plugins_init and workbook_read with CommandContext.
1384         * src/plugin-manager.c (add_cb): Use gnumeric_error_plugin_problem.
1385         (remove_cb): Ditto.
1387         * src/plugin.c (plugin_load, plugin_unload): CommandContext
1388         instead of workbook.
1389         (plugins_init): Add CommandContext.
1391         * src/plugin.c (plugin_load, plugin_unload): CommandContext
1392         instead of workbook.
1393         (plugin_unload): Use gnumeric_error_plugin_problem.
1394         (plugin_load_plugins_in_dir, load_all_plugins, plugins_init): Add
1395         CommandContext.
1397         * src/xml-io.h:  ditto
1399         * src/xml-io.c (gnumeric_xml_read_workbook,
1400         gnumeric_xml_write_workbook):  ditto
1402 2000-01-28    Mike Kestner    <mkestner@ameritech.net>
1404         * src/sheet-style.c (sheet_style_insert_colrow): Now does option checking
1405           and calls either the new style preserving insert function or the existing
1406           functionality in its new function.
1407         (stylish_insert_colrow): New.  Preserves style information by
1408           extending ranges that contain the insertion point.
1409         (styleless_insert_colrow): Renamed.  Existing algorithm that fragments
1410           style ranges to insert an unformatted col/row.
1412 2000-01-28  Michael Meeks  <mmeeks@gnu.org>
1414         * configure.in (have_gb): update.
1416         * plugins/Makefile.am: add gb.
1418         * configure.in: ditto.
1420 2000-01-28  Jon K Hellan  <hellan@acm.org>
1422         * src/gnumeric-util.c (gnumeric_dialog_run): Handle wb = NULL
1423         correctly. Move handling of wb != NULL to gnumeric_wb_dialog_run.
1424         (gnumeric_wb_dialog_run): New static function.
1426 2000-01-27  Jody Goldberg <jgoldberg@home.com>
1428         * *.c : convert to using Workbook::current_sheet rather than
1429             workbook_get_current_sheet.
1431         * src/workbook.c : Add a current_sheet member to Workbook.
1432         Delete some old test code.
1433         (do_focus_sheet) : Cancel inputs and update edit area with new cell.
1434         (workbook_focus_current_sheet) : Update current_sheet.
1435         (workbook_get_current_sheet) : Delete.
1437         * src/sheet.c (sheet_cursor_{move, set}) : Delete call to
1438           gnumeric_sheet_cursor_set.
1440         * src/sheet.c (sheet_{row,col}_add) : Use sheet_view_scrollbar_config.
1441           We should not be touching GUI directly.
1443         * src/sheet-view.c (sheet_view_scrollbar_config) : Set the scrollbar's
1444           value as well as it max and page info.
1446         * src/gnumeric-sheet.[ch] (gnumeric_sheet_cursor_set) : Delete.
1447           The scrollbars reflect the visible range, not the cursor cell.
1449         * src/item-cursor.c (item_cursor_set_bounds_visibly) : Remove call to
1450           gnumeric_sheet_cursor_set.
1452         * src/workbook-format-toolbar.c (workbook_create_format_toolbar) : std
1453           toolbar has background then font colour combo box.
1455 2000-01-27  Jukka-Pekka Iivonen  <iivonen@iki.fi>
1457         * src/dialog-advanced-filter.c, src/func.h, src/workbook.c:
1458         Implemented `Advanced Filter'.
1460         * src/mathfuns.[ch], src/analysis-tools.c, src/dialogs/dialogs.h,
1461         src/dialogs/dialog-analysis-tools.c: Added the following
1462         distributions for the random number generation tool:
1463         - poisson
1464         - binomial
1465         - negative binomial
1466         - exponential
1468 2000-01-27  Nick Lamb <njl195@zepler.org.uk>
1470         * doc/C/images/*.png: New screenshots for documentation, part 2/3
1471         Still no changes to live documentation yet.
1473 2000-01-26  Jody Goldberg <jgoldberg@home.com>
1475         * src/xml-io.c (xml_workbook_write) : Do not save the current
1476           edit-text.  We don't save the current cell or the current selection
1477           so restoring the text of the ex-cursor is quite confusing.
1478         (xml_workbook_read) : Restore window size.
1479         (gnumeric_xml_sheet_{read,write}) : Delete unused.
1480         (xml_get_range) : Utility routine.
1481         (xml_read_selection_info) : Utility routine to restore the selection.
1483         * src/sheet.c (sheet_{insert,delete}_{cols,rows}) : Do the
1484           insert/delete even if it looks like there are no cells there.
1485           There may be styles.
1487 2000-01-27  Michael Meeks  <mmeeks@gnu.org>
1489         * src/sheet-object.c (sheet_object_drop_file): fix typo.
1491         * src/sheet-style.c (sheet_style_delete_colrow): Fix bug in style
1492         shifting.
1494 2000-01-26  Jody Goldberg <jgoldberg@home.com>
1496         * src/gnumeric-util.c (gnumeric_dialog_run) : Handle the setting of
1497           the parent here rather than scattering it throughout the system.
1499         * src/item-grid.c (item_grid_event) : Support mouse-wheel scrolling.
1501 2000-01-26  Jon K Hellan  <hellan@acm.org>
1503         * src/item-cursor.c (item_cursor_draw): Clip to bounds of
1504         drawable.  Avoid guint16 overflow during line drawing. Do the
1505         right thing when autofill handle is at top of viewport.
1506         Use explicit lower right coordinate for cursor.
1508 2000-01-26  Jody Goldberg <jgoldberg@home.com>
1510         * src/sheet-view.c (sheet_view_set_zoom_factor) : Keep the cursor in
1511           the same place and recompute the alignments for everything.
1513         * src/item-cursor.c (item_cursor_set_bounds) : New function.
1515         * src/gnumeric-sheet.h : Add more orthogonal structure for caching
1516           common row/col bounds and their canvas offsets.
1518         * src/gnumeric-sheet.c (gnumeric_sheet_create) : Init the new members.
1519         (gnumeric_sheet_filenames_dropped) : Keep the canvas private.
1520         (gnumeric_sheet_make_cell_visible) : Add 'force_scroll' argument.
1522         * src/clipboard.c (clipboard_release) : It is possible to have no
1523           styles associated with a region.
1525         * src/item-grid.c : Remove overlapping cache of bounding rows/cols and
1526           offsets.  Use the superset in GnumericSheet.
1527          (item_grid_find_{row, col}) : Support sliding backwards.
1529 2000-01-26  Jukka-Pekka Iivonen  <iivonen@iki.fi>
1531         * src/solver-lp.c: Implemented the `>=' and `=' constraints.
1532         Solver should be quite usable now for LP problems assumed to be
1533         non-negative.
1535         * src/dialogs/dialog-solver.c: Related changes.
1537         * src/dialogs/advanced-filter.glade,
1538         src/dialogs/dialog-advanced-filter.c: New files added.  Not done
1539         yet.
1541 2000-01-25  Jukka-Pekka Iivonen  <iivonen@iki.fi>
1543         * src/dialogs/dialog-autocorrect.c (dialog_autocorrect): Made the
1544         unimplemented replace option unsensitive.
1546 2000-01-25  Jukka-Pekka Iivonen  <iivonen@iki.fi>
1548         * src/workbook.[ch]: Made workbook_is_dirty() public.
1550         * src/dialogs/dialog-autosave.c (dialog_autosave_callback): Added
1551         checking whether the workbook is changed or not before saving it.
1553 2000-01-24  Jody Goldberg <jgoldberg@home.com>
1555         * src/cell-draw.c (cell_draw) : Take the style as an argument, no need
1556           to recompute something that is already available.
1558         * src/xml-io.c (xml_sheet_read) : Move the {freeze,thaw}_redraws here.
1559         (xml_read_cell) : Remove the sillyness about removing newlines and
1560           trailing spaces.  Remove the {freeze,thaw}_redraws.
1562         * src/cell.c (cell_set_text_simple) : Store the rendered value.
1563         (cell_set_text) : Store the entered value.
1565 2000-01-24 Jon K Hellan  <hellan@acm.org>
1567         * src/dialogs/autocorrect.glade: Really commit the changes I
1568         entered into the ChangeLog yesterday.
1570         * ChangeLog: I jumbled the order and attributions of some entries
1571         yesterday. Fix.
1573 2000-01-24  Jukka-Pekka Iivonen  <iivonen@iki.fi>
1575         * src/dialogs/analysis-tools.glade, src/dialogs/Makefile.am: New
1576         file added.
1578         * src/dialogs/dialog-analysis-tools.c (dialog_data_analysis): Made
1579         the main dialog of the analysis tools to use the new Glade file.
1581         * src/dialogs/solver-options.glade, src/dialogs/Makefile.am: New
1582         file for Solver options.
1584         * src/dialogs/dialog-solver.c: Updated for the new Glade file.
1585         Removed some unimplemented options.  Made the Solver options
1586         unsensitive.
1588         * src/sheet.c (sheet_new): Added setting some default parameter
1589         values for the Solver tool.
1591 2000-01-23  Miguel de Icaza   <miguel@gnu.org>
1593         * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet): Handle
1594         GDK_ISO_Left_Tab and GDK_KP_Tab as well, per Chris' suggestion.
1596 2000-01-23  Jon K Hellan  <hellan@acm.org>
1598         * src/dialogs/autosave-prompt.glade: Give "Yes"
1599         button initial keyboard focus.
1601         * src/dialogs/autosave.glade: Set initial focus to
1602         first check button. Make OK the default.
1604         * src/dialogs/dialog-autocorrect.c (dialog_autocorrect): Make
1605         <Ret> in entry fields invoke default.
1606         (dialog_autocorrect, exceptions_callback):
1608         * src/dialogs/autocorrect-exceptions.glade: Set initial focus to
1609         text entry field. Make OK the default. Do not show column headers
1610         in clist. Remove unnecessary level of scrollwindow.
1612         * src/dialogs/autocorrect.glade: Make OK the default. Set initial
1613         focus to first check button. Define accelerators. Set widgets for
1614         "replace text when typed" insensitive until feature is
1615         implemented. Do not show column headers in clist.
1617         * src/dialogs/dialog-autosave.c (dialog_autosave): Make
1618         <Ret> in "minutes" fields invoke default.
1620 2000-01-18  Miguel de Icaza  <miguel@gnu.org>
1622         * src/clipboard.c (x_selection_to_cell_region): Do not hardcode
1623         ',' as a number separator.  Use the locale information to select
1624         the proper separator.
1626 2000-01-23  Michael Meeks  <michael@edenproject.org>
1628         * src/ranges.c (range_translate): fix glaring bugs + make
1629         semantics saner.
1630         (range_transpose): implement.
1632         * src/clipboard.c (do_clipboard_paste_cell_region): s/cell.cell/cell.
1633         (x_selection_to_cell_region): Null styles.
1634         (clipboard_prepend_cell): kill mstyle inefficiency.
1635         (clipboard_release): destroy styles.
1636         (sheet_paste_selection): new style bits.
1638         * src/render-ascii.c (cell_region_render_ascii): kill cell.cell
1640         * src/cell.h (CellCopy): Kill MStyle member.
1642         * src/ranges.c (range_init): implement helper.
1644         * src/sheet-style.c (style_region_destroy): add precondition.
1645         (sheet_get_styles_in_range, sheet_style_list_destroy): implement.
1647 2000-01-22  Jody Goldberg <jgoldberg@home.com>
1649         * src/sheet-view.c (sheet_view_redraw_headers) : New function that
1650           will redraw a subset of an itembar.
1651         (sheet_view_redraw_columns) : Delete.
1652         (sheet_view_redraw_rows) : Delete.
1654         * src/sheet.c (sheet_redraw_headers) : Call sheet_view_redraw_headers.
1655         (sheet_redraw_columns) : Delete.
1656         (sheet_redraw_rows) : Delete.
1658         * src/gnumeric-sheet.h (GnumericSheet) : Remove unused member item_bar_col.
1660         * src/colrow.c (col_row_set_visibility) : Use sheet_redraw_headers
1661           in place of sheet_redraw_{cols,row}.
1662         * src/selection.c (sheet_selection_append_range) : Ditto.
1663         (sheet_select_all) : Ditto.
1664         (sheet_selection_reset_only) : Ditto.  Clear the selection internally.
1666         * src/sheet.c (sheet_{col,row}_get_distance) : Handle from > to.
1668         * src/item-cursor.c (item_cursor_get_pixel_coords) : Use the
1669           precalculated offsets.
1670         * src/item-edit.c (item_edit_get_pixel_coords) : Ditto.
1672         * src/gnumeric-sheet.c (gnumeric_sheet_bar_set_top_row) : Update the
1673           item_grid's notion of the top.  Calculate the new distance using the
1674           previous top as the start point.
1675         (gnumeric_sheet_bar_set_left_col) : Rename from top_col.  Ditto.
1677 2000-01-21  Jody Goldberg <jgoldberg@home.com>
1679         * src/item-bar.c (item_bar_draw) : Remove minor drawing glitch when
1680           drawing at the edge of the sheet.
1681         (item_bar_class_init) : Remove the unsed 'First' argument.
1683         * src/item-grid.c (item_grid_draw) : Draw gridlines even at the
1684           outer edges.
1686 2000-01-16  Miguel de Icaza  <miguel@gnu.org>
1688         * plugins/Makefile.am : Remove python plugin.
1689         * plugins/python/Makefile.am : Remove python plugin.
1691 2000-01-21  Jody Goldberg <jgoldberg@home.com>
1693         * src/dialogs/dialog-printer-setup.c (do_hf_config) : Take a Workbook.
1695         * src/gnumeric-util.c (gnumeric_dialog_run) : New function.
1696           It is a wrapper for now.  After the release of .48 we will
1697           move the parent setting here.  And handle the case where a
1698           user closes the app window while a dialog is displayed.
1700         * src/file.c (workbook_import) : Use gnumeric_dialog_run.
1702         * src/dialogs/dialog-{dialog-zoom.c (dialog_zoom_impl)
1703                     summary.c (dialog_summary_update)
1704                     solver.c (dialog_solver)
1705                     solver.c (constr_add_click)
1706                     solver.c (dialog_solver_options)
1707                     simple-input.c (dialog_get_number, dialog_get_sheet_name)
1708                     printer.c (gnumeric_printer_dialog_run)
1709                     paste-special.c (dialog_paste_special)
1710                     insert-cells.c (dialog_insert_cells_impl)
1711                     goto-cell.c (dialog_goto_cell)
1712                     goal-seek.c (dialog_found_solution, dialog_goal_seek)
1713                     function-wizard.c (dialog_function_wizard)
1714                     delete-cells.c (dialog_delete_cells_impl)
1715                     cell-sort.c (dialog_cell_sort)
1716                     cell-format.c (fmt_dialog_impl)
1717                     cell-comment.c (dialog_cell_comment)
1718                     autosave.c (dialog_autosave_callback, dialog_autosave)
1719                     autocorrect.c (exceptions_callback)
1720                     (dialog_autocorrect)} : Ditto.
1722         * src/dialogs/dialog-analysis-tools.c
1723         (dialog_{correlation_tool, covariance_tool, sampling_tool,
1724          descriptive_stat_tool, ztest_tool, ttest_paired_tool, ttest_eq_tool,
1725          ttest_neq_tool, ftest_tool, random_tool, regression_tool,
1726          average_tool, ranking_tool, anova_single_factor_tool,
1727          anova_two_factor_without_r_tool, data_analysis}) : Ditto.
1729         * src/workbook.c (workbook_can_close) : Ditto.
1730         * src/item-cursor.c (item_cursor_target_region_ok) : Ditto.
1732         * src/sheet.c (sheet_move_range) : Avoid leaking when we paste.
1733           This information will be used when undo for pasteing a cut
1734           is ready.
1736         * README : update requirements.
1738         * plugins/Makefile.am : Do not compile the python plugin by
1739           default.  This will avoid complaints regarding problems with
1740           no dynamic python library until we have a solution.
1742         * src/functions/fn-stat.c : (gnumeric_kurt, gnumeric_kurtp) : return DIV/0
1743           on error.
1745 2000-01-20  Jody Goldberg <jgoldberg@home.com>
1747         * src/functions/fn-stat.c (gnumeric_kurtp, gnumeric_kurt) :
1748           return DIV/0 on error.
1750         * src/sheet.c (sheet_move_range) : Release the list of changed
1751           expressions until we have paste_cut undo ready.
1753 2000-01-20  Morten Welinder  <terra@diku.dk>
1755         * src/functions/fn-stat.c (gnumeric_stdev): Correct error code.
1757         * src/functions/fn-math.c (gnumeric_log): Correct error code and
1758         protect from crash.
1760 2000-01-20  Morten Welinder  <terra@diku.dk>
1762         * src/functions/fn-math.c (gnumeric_mod): Correct error code; fix
1763         for b < 0.
1765 2000-01-20  Morten Welinder  <terra@diku.dk>
1767         * src/functions/fn-math.c (gnumeric_power): Correct error code.
1769         * src/functions/fn-stat.c (gnumeric_avedev): Correct error code.
1770         (gnumeric_varp): Ditto.
1771         (gnumeric_var): Ditto.
1772         (gnumeric_median): Ditto.
1773         (gnumeric_min): Empty list yields zero, not error.
1774         (gnumeric_max): Ditto.
1776 2000-01-20  Jody Goldberg <jgoldberg@home.com>
1778         * src/workbook-cmd-format.c (workbook_cmd_format_{col,row}_{hide,unhide}) :
1779           Use the undo framework.
1781         * src/sheet.c (sheet_fill_selection_with) : Take a context.
1782         (sheet_save_row_col_sizes) : Use is_cols. Doh!
1784         * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Add
1785           Alt-Pg{Up,Down}.  sheet_fill_selection_with now takes a context.
1787         * src/commands.c (cmd_hide_selection_rows_cols) : Implement undo for
1788           row/col hiding.
1789         (cmd_hide_row_col_{undo,redo,destroy}) : Ditto.
1791         * src/item-grid.c (context_{col,row}_{hide,unhide}) : Use undo support.
1793         * src/selection.c (selection_get_ranges) : Improve heuristics.
1794         (sheet_selection_extend_{horizontal,vertical}) : Ensure that the cell
1795           being moved stays visible.
1797 2000-01-20  Jon K Hellan  <hellan@acm.org>
1799         * src/dialogs/dialog-autosave.c (dialog_autosave): Re-enable
1800         autosave timer on cancel.
1802 2000-01-19  Jon K Hellan  <hellan@acm.org>
1804         * src/workbook.c (workbook_do_destroy): Remove autosave timer.
1806         * src/dialogs/dialog-zoom.c (dialog_zoom_impl): Set initial focus
1807         to selected radio button.
1809         * src/dialogs/font-sel.glade.h, src/dialogs/font-sel.glade: Fix
1810         typo in preview text
1812         * src/dialogs/dialog-printer-setup.c (do_setup_main_dialog):
1813         Set Initial focus for print setup dialog.
1815         * src/workbook.c (workbook_can_close): Yes/No dialog: Give cancel
1816         button initial keyboard focus.
1818 2000-01-19  Jody Goldberg <jgoldberg@home.com>
1820         * src/item-cursor.c (item_cursor_animation_callback) : Return TRUE
1821           so that the timer will remaing.
1823 2000-01-19  JP Rosevear  <jpr@arcavia.com>
1825         * src/dialogs/dialog-cell-sort.c (dialog_cell_sort): Modularize a
1826         bit more for the sort dialog.  Use GLADE_FILE macro.
1827         (dialog_cell_sort_ok): New function connected to the sort
1828         dialog ok button.  Builds the clause data and then calls cmd_sort.
1829         (dialog_cell_sort_adv): Use GLADE_FILE macro.
1830         (clip_range_to_finite): New function, reduces an infinite range to
1831         an appropriate finite range.
1833         * src/commands.c (cmd_sort): New function for new command
1834         organization.
1835         (cmd_sort_redo): ditto
1836         (cmd_sort_undo): ditto
1837         (cmd_sort_destroy): ditto
1839         * src/sort.c (sort_compare_values): The former compare_values
1840         function from dialog_cell_sort.c.
1841         (sort_compare_values2): Does comparisons on original order
1842         for undo.
1843         (sort_qsort_func): The former qsort_func function from
1844         dialog_cell_sort.c.
1845         (sort_qsort_func2): Quicksort function for undo.
1846         (sort_range): Performs the sort.  Much the same as the
1847         sort_cell_range function that was in dialog_cell_sort.c.
1848         Sorts the data of a CmdSort object, creating it if necessary.
1849         Takes the quicksort function to call as an argument.
1851         * src/sort.h : New header file
1853         * src/ranges.h: Prototype range_name.
1855         * src/ranges.c (range_name): New function that returns a
1856         const char * to "A1:B5" type range name.
1858 2000-01-19  Jody Goldberg <jgoldberg@home.com>
1860         * src/print-cell.c (print_cell_grid) : Don't print grid lines for
1861           hidden cols/rows.
1863         * src/print.c (compute_groups) : Hidden cols/rows exist.  They just
1864           don't take up any space.
1866         * src/parser.y : array_cols remove null production.  We can have
1867           empty array_rows OR we can have empty array_cols.  Not both.
1869 2000-01-18  Jody Goldberg <jgoldberg@home.com>
1871         * src/expr.c (eval_expr_real) : Add OPER_UNARY_PLUS.
1872         (do_expr_decode_tree) : Ditto.
1873         (expr_dump_tree) : Ditto.
1875         * src/auto-format.c (do_af_suggest) : Add OPER_UNARY_PLUS.
1877         * src/parser.y (exp -> + exp): treat as OPER_UNARY_PLUS.
1879         * src/print-cell.c (print_cell_range) : Ignore hidden rows/cols.
1881 2000-01-18  Morten Welinder  <terra@diku.dk>
1883         * src/expr.c (eval_expr_empty): New function.
1885         * src/func.c (function_iterate_argument_values): New new
1886         eval_expr_empty and ignore empty values.
1888         * src/collect.c (callback_function_collect): Handle NULL value.
1890 2000-01-18  Morten Welinder  <terra@diku.dk>
1892         * src/parser.y (exp -> + exp): treat as 0+exp.  Remove duplicate
1893         production.
1895 2000-01-18  Morten Welinder  <terra@diku.dk>
1897         * plugins/Makefile.am (SUBDIRS): Delete the superseded stat
1898         plugin.
1900         * plugins/stat/*: remove
1902         * configure.in (AC_OUTPUT): Ditto.
1904 2000-01-18  Morten Welinder  <terra@diku.dk>
1906         * src/functions/fn-logical.c (logical_functions_init): Add result
1907         type for IF.
1909         * src/auto-format.h (AutoFormatTypes): Add AF_FIRST_ARG_FORMAT2.
1911         * src/auto-format.c (do_af_suggest): Implement
1912         AF_FIRST_ARG_FORMAT2.
1914         * configure.in (gnome-xml): Make the check HPUX safe.
1916 2000-01-18  Jody Goldberg <jgoldberg@home.com>
1918         * src/xml-io.c (xml_write_colrow_info) : Save whether or not a row/col
1919           is hidden.
1920         (xml_read_colrow_info) : Restore the hidden-ness.
1922         * src/gnumeric-sheet.c (gnumeric_sheet_compute_visible_ranges) :
1923           Col/Row pixel width < 0 indicates the row is hidden.
1924         (gnumeric_sheet_make_cell_visible) : Ditto.
1925         (colrow_set_units) : Ditto.
1926         (sheet_{row,col}_info_set_{height,width}) : Ditto.
1927         (sheet_{row,col}_set_internal_{height,width}) : Ditto.
1928         (sheet_{row,col}_get_distance) : Ditto.
1929         (sheet_{row,col}_get_unit_distance) : Ditto.
1930         (sheet_{row,col}_is_hidden) : Utility routines.
1931         (sheet_find_boundary_{vertical,horizontal}) : Skip hidden rows/cols.
1932         (sheet_row_col_visible) : Mark a contiguous set of rows/cols as
1933           visible or hidden.
1935         * src/sheet.c (sheet_compute_col_row_new_size) : Ditto.
1937         * src/item-bar.c (item_bar_draw) : Ditto.
1938         (is_pointer_on_division) : Ditto.
1939         (get_col_from_pos) : Ditto.
1941         * src/item-grid.c (item_grid_find_{col,row}) : Ditto.
1942         (item_grid_draw) : Skip cells in hidden rows cols.
1943         (item_grid_paint_empty_cell) : Ditto, just in case.
1944         (item_grid_draw_cell) : Ditto.
1945         (context_{col,row}_{hide,unhide}) : New functions.
1946         (item_grid_context_menu) : Add new menu items.
1948         * src/selection.c (selection_row_col_visible) : New function.
1949         cb_row_col_visibility : Utility function.
1951         * src/workbook-cmd-format.c
1952         (workbook_cmd_format_{column,row}_{hide,unhide}) : New functions.
1953         (workbook_cmd_format_column_std_width) : Stub.
1954         (workbook_cmd_format_row_std_height) : Stub.
1956         * src/workbook.c : Add hide/unhide to the row/col format menus.
1958 2000-01-18  Jody Goldberg <jgoldberg@home.com>
1960         * configure.in : Add test for gnome-xml >= 1.8.5. This is
1961           required to support the problems with versions 1.8.[234].
1962         * gnumeric.spec.in : Ditto.
1964 2000-01-18  Morten Welinder  <terra@diku.dk>
1966         * src/functions/fn-stat.c (stat_functions_init): Add auto-format
1967         hints to deserving functions.
1969 2000-01-18  Jukka-Pekka Iivonen  <iivonen@iki.fi>
1971         * src/dialogs/dialog-autocorrect.c: Made the exceptions of first
1972         two letter correction actually work.
1974         * src/dialogs/autocorrect-exceptions.glade: Changed a list to a
1975         columned list.
1977 2000-01-18  Jody Goldberg <jgoldberg@home.com>
1979         * src/clipboard.c (x_selection_handler) : Add some preconditions to
1980           make code more robust.
1981         (x_selection_to_cell_region) : Do not use ',' or ';' as separators if
1982           the current locale uses them as decimal points.
1983         (new_node) : Use g_strndup.
1985         * src/application.c (application_clipboard_clear) : Release ownership
1986           of the selection when the clipboard is cleared.
1988 2000-01-18  Jon K Hellan  <hellan@acm.org>
1990         * src/dialogs/autocorrect.glade, src/dialogs/autosave.glade,
1991           src/dialogs/autosave-prompt.glade,
1992           src/dialogs/autocorrect-exceptions.glade: Set invisible to
1993           remove flicker
1995         * src/plugin-manager.c (plugin_manager_new): Give list initial
1996         keyboard focus, make "add" button default.
1997         (remove_cb): Select next row in list after remove
1998         (plugin_manager_new): Internationalize texts.
2000         * src/dialogs/dialog-cell-sort.c (order_box_set_default): Set
2001         initial keyboard focus.
2002         (dialog_cell_sort): Use gnome_dialog_close_hides to ensure dialog
2003         is destroyed exactly once.
2004         (dialog_cell_sort_adv): Ensure dialog is destroyed exactly once.
2005         * src/dialogs/cell-sort.glade: Set initial focus for advanced sort
2006         dialog.
2008 2000-01-17  Morten Welinder  <terra@diku.dk>
2010         * src/auto-format.c (do_af_suggest): The difference of two dates
2011         is a number, not a date.
2013         * src/functions/fn-stat.c (gnumeric_average): Correct error code.
2015 2000-01-17  Jody Goldberg <jgoldberg@home.com>
2017         * src/expr.c (cellref_relocate) : Before relocating check that the
2018           input reference is valid.  Bounds checking assumes the input is
2019           valid.
2021         * src/workbook.c (sheet_action_delete_sheet) : Clear the clipboard to
2022           avoid references to the deleted sheet.
2023         * src/sheet.c (sheet_destroy) : Ditto.
2025 2000-01-17  Jody Goldberg <jgoldberg@home.com>
2027         * src/workbook.c : Menu items for sheet and workbook preferences.
2029         * src/sheet-view.c (sheet_view_adjust_preferences) : New function.
2030         * src/sheet.c (sheet_adjust_preferences) : New function.
2031         (sheet_new) : Init the new preferences.
2032         (sheet_set_text) : Avoid leaking in the failure case.
2034         * src/selection.c (sheet_selection_paste) : Pass a context.
2036         * src/cell.c (cell_render_value) : display_fomulas is now a sheet
2037           level preference.
2038         (cell_is_number) : return boolean.
2039         (cell_is_zero) : New function.
2041         * src/item-grid.c (item_grid_draw_cell) : honour display_zero.
2043 2000-01-16  Morten Welinder  <terra@diku.dk>
2045         * src/datetime.c: New file.
2046         * src/datetime.h: New file.
2048         * src/format.c (split_time): Use datetime functions.
2050         * src/commands.c (cmd_set_date_time_redo): Do proper rounding.
2052         * src/functions/fn-date.c: Move date handling to datetime.c
2054         * src/utils.c: Move date stuff to datetime.c.  Renamed
2055         systematically; all callers changed.
2057         * src/Makefile.am (GNUMERIC_BASE_SOURCES): Add datetime.c and
2058         datetime.h.
2060 2000-01-16  Miguel de Icaza  <miguel@gnu.org>
2062         * src/item-cursor.c (item_cursor_request_redraw): Remove my
2063         experimental border from here;  Reset previous border
2065         * src/selection.c (sheet_selection_change): Range code is not
2066         happy when the ranges do not intersect.  Handle this
2068 2000-01-17  Birger Langkjer <birger.langkjer@image.dk>
2070         * added gnome-spreadsheet.png and gnome-xls.png on behalf of
2071         kenneth@ripen.dk, the new icons for gnumeric files in the filemanager.
2073 2000-01-16  Morten Welinder  <terra@diku.dk>
2075         * src/auto-format.c: New file.
2076         * src/auto-format.h: New file.
2078         * src/formats.c (cell_format_general, cell_format_numbers,
2079         cell_format_currency, cell_format_account, cell_format_date,
2080         cell_format_time, cell_format_percent, cell_format_fraction,
2081         cell_format_science, cell_format_text): Make static.
2083         * src/cell.c (cell_set_formula): Free the format.  Only set format
2084         if the cell was previously blank.
2085         (cell_has_assigned_format, cell_get_format): New functions.
2087         * src/parser.y (gnumeric_expr_parser): Drop const for
2088         desired_format.  On error, free the format.
2089         (make_string_return): g_strdup the format.
2091         * src/expr.c (expr_parse_string): Drop const for desired_format.
2093         * src/functions/fn-financial.c (finance_functions_init): Add
2094         result types for auto-format.
2096         * src/functions/fn-date.c (date_functions_init): Add result types
2097         for auto-format.
2099         * src/functions/fn-math.c (math_functions_init): Add result types
2100         for auto-format.
2102         * src/Makefile.am (GNUMERIC_BASE_SOURCES): Add auto-format.c and
2103         auto-format.h.
2105         * src/main.c (gnumeric_main): Init and shutdown for auto_format.
2107 2000-01-16  Morten Welinder  <terra@diku.dk>
2109         * gnumeric.spec.in (gnome-print): require 0.10.
2111         * configure.in (gnome-print): require 0.10.
2113 2000-01-16  Miguel de Icaza  <miguel@gnu.org>
2115         * src/sheet.c (sheet_redraw_range): New function.
2117         * src/selection.c (sheet_selection_change): Just queue redraws for
2118         the actual change on the selection.
2120         * src/sheet.c (sheet_redraw_selection): Make this one take a Range
2121         instead of a SheetSelection
2123         * src/item-cursor.c (item_cursor_request_redraw): We now only
2124         queue a redraw event for the exact area exposed.
2126 2000-01-15  Jody Goldberg <jgoldberg@home.com>
2128         * src/workbook.c (delete_sheet_cmd) : Add a 'Delete Sheet' menu
2129           item.
2131 2000-01-16  Jukka-Pekka Iivonen  <iivonen@iki.fi>
2133         * samples/*.xls: Moved to samples/excel.
2135         * samples/statfuns.xls: Updated the LINEST test.
2137         * samples/excel: Created a new directory for XL samples.
2139         * samples/excel/solver-01.xls: Added a new test file.
2141 2000-01-15  Jody Goldberg <jgoldberg@home.com>
2143         * src/workbook.c (clear_{all,formats,comments,content}_cmd) : Use
2144           cmd_clear_selection.
2146         * src/sheet.c (sheet_clear_region) : Merge all types of deletion into
2147           this routine and add some bit flags to enable the different types.
2148         (sheet_clear_region_content) : Delete.
2149         (sheet_clear_region_comments) : Delete.
2150         (clear_cell_format) : Delete.
2151         (sheet_clear_region_formats) : Delete.
2152         (sheet_move_range) : Adapt to changes in sheet_clear_region.
2154         * src/selection.c (cb_sheet_selection_clear) : Delete.
2155         (sheet_selection_clear) : Delete.
2156         (cb_sheet_selection_clear_content) : Delete.
2157         (sheet_selection_clear_content) : Delete.
2158         (sheet_selection_clear_comments) : Delete.
2159         (sheet_selection_clear_formats) : Delete.
2160         (selection_get_ranges) : New function split out from selection_apply.
2161         (selection_apply) : Use selection_get_ranges.
2163         * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Use
2164           cmd_clear_selection.
2165         * src/item-grid.c (context_clear_cmd) : Ditto.
2167         * src/corba-sheet.c (Sheet_clear_region) : Adapt to new clear_region
2168           calling convention.
2169         (Sheet_clear_region_content) : Use sheet_clear_region.
2170         (Sheet_clear_region_comments) : Ditto.
2171         (Sheet_clear_region_formats) : Ditto.
2173         * src/commands.c (cmd_ins_del_row_col_{undo,redo}) : Reload the
2174           edit bar just in case.
2175         (cmd_set_date_time_{undo,redo}) : Ditto.
2176         (cmd_clear{,_undo,_redo,_destroy}) : Implement.
2178         * src/clipboard.c (paste_cell) : No need to flag the existance of
2179           formulas.
2180         (paste_cell_flags) : Ditto.
2181         (do_clipboard_paste_cell_region) : Don't recalc here.
2182         (x_selection_received) : Recalc here.
2183         (clipboard_paste_region) : Only use the X selection if the user does
2184           not pass in a CellRegion. Only use the clipboard_paste_callback_data
2185           if we are going through the X selection.
2187 2000-01-15  Morten Welinder  <terra@diku.dk>
2189         * src/cell.c (cell_set_formula): Set the "Pending recomputation"
2190         value earlier.
2192         * src/dialogs/dialog-goal-seek.c (gnumeric_goal_seek): Restore old
2193         value of failure.
2194         (dialog_goal_seek): Fix restoration on cancel.
2196         * src/functions/fn-math.c (range_bogusproduct): New function.
2197         (gnumeric_product): Use it.
2198         (gnumeric_g_product): New function.
2200 2000-01-14  Morten Welinder  <terra@diku.dk>
2202         * configure.in (GTK+): Really do use base 1000.
2204 2000-01-14  Miguel de Icaza  <miguel@gnu.org>
2206         * src/mstyle.c: Removed extern from he too.
2208         * src/commands.c (cmd_set_text): Kill extern from here.
2210 2000-01-14  Jon K Hellan  <hellan@acm.org>
2212         * src/functions/fn-financial.c (help_disc): Fix typo
2214         * src/plugin.c (plugin_load): Include context when calling
2215         init_plugin. "data" was freed too early
2217 2000-01-14  Morten Welinder  <terra@diku.dk>
2219         * configure.in (GTK+, libglade, gnome-print): Fix version checks.
2220         Use base 1000.  Someone else needs to fix Bonobo check.
2222 2000-01-14  Jody Goldberg <jgoldberg@home.com>
2224         * src/dialogs/dialog-autocorrect.c (autocorrect_tool) : Suppress
2225           warnings.
2227         * src/commands.h : Do not declare autocorrect_tool here.
2229         * src/item-grid.c (item_grid_draw) : Add support for hiding the
2230           grid_lines.
2231         * src/sheet.c (sheet_new) : Init show_grid.
2233         * src/functions/fn-math.c (gnumeric_sumif) : Do not ignore empty cells
2234           if there is a result range that we need to stay in sync with.  Fix
2235           handling of inter-sheet references.
2237 2000-01-14  Jukka-Pekka Iivonen  <iivonen@iki.fi>
2239         * src/dialog-autocorrect.c, src/autocorrect.glade,
2240         src/autocorrect-exceptions.glade: New tool added.  Most things
2241         should work but not all have been completed.
2243         * workbook.c: Created `Data' menu and moved `Sort' into it.
2244         Added `AutoCorrect' tool.
2246 2000-01-14  Daniel Veillard <Daniel.Veillard@w3.org>
2248         * src/xml-io.c (xml_probe) made the routine silent
2249         * src/xml-io.c (xml_read_summary, xml_read_names) changed g_free to
2250           xmlFree
2252 2000-01-13  Morten Welinder  <terra@diku.dk>
2254         * configure.in (GTK): Fix version check.  Need to fix all other
2255         version checks also.
2257 2000-01-14  Nick Lamb <njl195@zepler.org.uk>
2259         * doc/C/images/*.png: New screenshots for documentation, part 1/2
2260         No changes to live documentation yet.
2262 2000-01-13  Morten Welinder  <terra@diku.dk>
2264         * src/parser.y (gnumeric_expr_parser): Avoid zillions of g_mallocs and
2265         frees of the deallocation stuff.
2267 2000-01-13  Jody Goldberg <jgoldberg@home.com>
2269         * src/sheet-view.c (horizontal_scroll_event,
2270                             vertical_scroll_event) : Mice with middle scroll
2271           wheels frequently send just button release events, dont assume there
2272           was a button_press.
2274 2000-01-13  Jukka-Pekka Iivonen  <iivonen@iki.fi>
2276         * src/workbook.c, src/dialogs/dialog-autosave.c: Killed warnings.
2278 2000-01-13  Jody Goldberg <jgoldberg@home.com>
2280         * *.[ch] : eval_expr now takes an EvalPosition rather than a FunctionEvalInfo.
2282         * src/workbook.c (workbook_set_title) : Moved to workbook_view_set_title.
2283         (workbook_new) : Use workbook_view_set_size.
2285         * src/file.c (workbook_import) : Quick workaround to allow an import
2286           routine to cancel import without generating an error dialog.
2288 2000-01-13  Sergey Panov <sipan@mit.edu>
2290         * src/functions(fn-eng.c fn-financial.c fn-logical.c
2291         fn-lookup.c fn-math.c fn-sheet.c fn-stat.c fn-string.c):
2292         Applied patches from Valek Filippov <frob@df.ru> ---
2293         correcting format of the function descr. messages.
2295 2000-01-13  Jukka-Pekka Iivonen  <iivonen@iki.fi>
2297         * src/dialogs/dialog-autosave.c: Implemented ``Auto Save'' tool.
2299         * src/dialogs/autosave.glade: New file.
2301         * src/dialogs/autosave-prompt.glade: New file.
2303         * src/workbook.c: Added Autosave tool.
2305         * src/workbook.h: Added autosave parameters to the Workbook struct.
2307         * src/dialog-solver: Fixed a constraint delete bug.
2309 2000-01-13  Daniel Veillard <Daniel.Veillard@w3.org>
2311         * src/xml-io.c (gnumeric_xml_write_sheet, gnumeric_xml_write_workbook,
2312           xml_workbook_write, xml_sheet_write) : removed use of xmlNewGlobalNs
2313           to use xmlNewNs on the root element of the document instead
2315 2000-01-13  Jody Goldberg <jgoldberg@home.com>
2317         * src/application.c (application_clipboard_copy,
2318           application_clipboard_cut) : Use application_set_selected_sheet.
2319         (application_set_selected_sheet) : New routine that manages exporting
2320           selection to X too.
2322         * src/clipboard.c (x_selection_clear) : Something else now has the
2323           selection.  Clear ours.
2324         (clipboard_export_cell_region) : Delete.
2325         (find_local_workbook_with_selection) : Delete.
2326         (workbook_selection_locator) : Delete.
2327         (x_selection_handler) : We need to clear the region when we paste a
2328           region that was marked for cut rather than copy.
2330         * ./src/item-grid.c (item_grid_popup_menu) : Always enable paste,
2331           only enable paste special when we have a local cut.  This matches
2332           the behavior of the menus and toolbar.
2334         * gnumeric.spec.in : Add a depend on libgtk+ >= 1.2.2 because 1.2.1
2335           did not have gtk_object_get.
2337         * configure.in :  Ditto.
2339 2000-01-12  Jukka-Pekka Iivonen  <iivonen@iki.fi>
2341         * src/workbook.c (workbook_menu_tools): UIINFO separators added to
2342         Tools menu.
2344         * src/dialogs/dialog-solver.c (constr_add_click): Made the solver
2345         dialog to disapear when adding constraints.
2347         * src/dialogs/dialog-solver.c (constr_delete_click): Implemented
2348         the delete button of constraints.
2350 2000-01-11  Jody Goldberg <jgoldberg@home.com>
2352         * src/workbook.c (workbook_detach_sheet) : Even books with only 1
2353           sheet can have inter-sheet references.  think inter-book...
2354         (workbook_can_detach_sheet) : Delete we can always detach a sheet.
2356         * src/expr.c (cellref_relocate) : We only need to range check
2357           references that are changing.
2359         * src/workbook.c (workbook_expr_relocate) : Copying to the same
2360           logical cell in another sheet is still a copy.
2362         * ./src/eval.c (cell_queue_recalc_list) : Handle cross workbook
2363           depends correctly.
2365         * src/eval.c (sheet_get_intersheet_deps) : Delete it is now unnecessary.
2366         (dependency_data_destroy) : invalidate dangling intersheet
2367           dependancies.
2369 2000-01-10  Morten Welinder  <terra@diku.dk>
2371         * src/format.c (split_time): Improve rounding precision and avoid
2372         overflow.  Also, round before doing date part.
2374         * src/functions/fn-date.c (gnumeric_hour, gnumeric_minute,
2375         gnumeric_second): Don't do the 0.5 second rounding here.
2376         (get_serial_date, get_serial_time): Do it here.
2378 2000-01-10  Jody Goldberg <jgoldberg@home.com>
2380         * src/application.c (application_clipboard_cut) : Typo.
2381         * src/workbook-view.c (workbook_view_set_paste_special_state) : Typo.
2383 2000-01-09  Jody Goldberg <jgoldberg@home.com>
2385         * src/commands.c (cmd_insert_cols) : Be kinder to translators.
2386         (cmd_insert_rows) : Ditto.
2387         (cmd_rename_sheet_{undo,redo,destroy}) : Implement.
2388         (cmd_rename_sheet) : Implement.
2389         (cmd_set_date_time_{undo,redo,destroy}) : Implement.
2390         (cmd_set_date_time) : Implement.
2391         (cmd_resize_row_col_{undo,redo,destroy}) : Implement.
2392         (cmd_resize_row_col) : Implement.
2394         * src/workbook.c (insert_at_cursor) : Delete.
2395         (insert_current_time_cmd) : Use cmd_set_date_time.
2396         (insert_current_date_cmd) : Ditto.
2397         (sheet_label_text_changed_signal) : Use cmd_rename_sheet.
2398         (sheet_action_rename_sheet) : Ditto.
2400         * src/corba-workbook.c (Workbook_sheet_rename) : Use cmd_rename_sheet.
2401         * src/workbook-cmd-format.c (workbook_cmd_format_sheet_change_name) : Ditto.
2402         (workbook_format_toolbar_orient) : New function to hide font selector
2403           when vertical.
2404         (workbook_create_format_toolbar) : Connect to workbook_format_toolbar_orient.
2406         * src/workbook-view.c (workbook_view_set_undo_redo_state) : Enable
2407           Bonobo version.
2408         (change_menu_label) : Ditto.
2409         (workbook_view_set_paste_special_state) : Ditto.
2411 2000-01-08  Jody Goldberg <jgoldberg@home.com>
2413         * src/gnumeric-util.c (gnumeric_char_start_expr_p) : new function.
2415         * src/workbook.c (wizard_input) : Use gnumeric_char_start_expr_p.
2417         * src/cell.c (cell_set_formula) : Add a precondition to ensure that
2418           this is an expression.
2419         (cell_set_text_simple) : Use gnumeric_char_start_expr_p.
2421         * src/gnumeric-sheet.c (gnumeric_sheet_can_move_cursor) : Ditto.
2423         * src/sheet.c (sheet_set_text) : Ditto.
2425 2000-01-07  Jody Goldberg <jgoldberg@home.com>
2427         * src/sheet.c (sheet_move_range) : Recalc here until there is a
2428           command wrapper for shift and cut_paste.
2430         * src/sheet.c (sheet_{insert,delete}_{rows,cols}) : Move recalc
2431           request into the command wrapper.
2432         * src/eval.c (sheet_recalc_dependencies) : Ditto.
2434 2000-01-07  Mike Kestner <mkestner@enteract.com>
2436         * src/dialogs/dialog-simple-input.c (dialog_get_sheet_name) :
2437           Preselect the name of the sheet in the dialog.
2439         * src/workbook.c (sheet_action_rename_sheet) : Enable rename from the
2440           popup menu associated with sheet tabs.
2442 2000-01-07  Michael Meeks  <mmeeks@gnu.org>
2444         * src/eval.c (sheet_recalc_dependencies): add precondition, use
2445         the single dependency hash instead for more speed. Always do the
2446         workbook_recalc to clearl the queue.
2447         (cb_cell_get_all_depends): rename to (cb_single_get_all_depends):
2448         and simplify. (cb_sheet_get_all_depends): clean slightly.
2449         (search_range_deps): Use g_list_concat + g_list_copy instead.
2450         (sheet_region_get_deps): clip the range to the sheet extent for vital
2451         speedup.
2453 2000-01-07  Jody Goldberg <jgoldberg@home.com>
2455         * src/commands.c (cmd_ins_del_row_col_*) : Implement.
2457         * src/cell.c (cell_set_formula_tree_simple) : Correct the docs.
2459         * src/sheet.c (sheet_insert_cols, sheet_insert_rows,
2460           sheet_delete_cols, sheet_delete_rows) : Return flags to
2461           indicate failure.  return list of expressions and locations that
2462           were modified as a result of the change.
2464         * src/workbook.c (workbook_expr_relocate) : Correct documentation.
2465         (sheet_suspend_auto_expr, sheet_resume_auto_expr) : Delete unused functions.
2466         (workbook_expr_unrelocate, workbook_expr_unrelocate_free) : New functions.
2468         * src/eval.c (sheet_get_intersheet_deps) : No need for sheet member.
2469         (sheet_region_get_deps) : No need to init sheet.  Use g_list_concat.
2470         (sheet_recalc_dependencies) : All regions & cells in the sheet
2471           contribute.
2472         (cb_cell_get_all_depends) : New function.
2473         (cb_sheet_get_all_depends) : New function.
2475 2000-01-06  Jody Goldberg <jgoldberg@home.com>
2477         * configure.in : correct typo as per bug 4936.
2479         * src/commands.c (cmd_ins_del_row_col_undo) : Fix operator precedence.
2480         (cmd_ins_del_row_col_redo) : Ditto.
2482         * src/sheet.c (sheet_save_row_col_sizes) : Be extra careful.
2484         * src/gnumeric-sheet.c : Add include for commands.h.
2486 2000-01-06  Morten Welinder  <terra@diku.dk>
2488         * src/parser.y (register_allocation): Return a value, ahem...
2489         (unregister_allocation): Don't crash, just warn on trouble.
2491 2000-01-06  Michael Meeks  <mmeeks@gnu.org>
2493         * src/sheet.c (sheet_get_extent): stop start.col/row going negative;
2494         why they should I have no idea.
2496         * src/sheet-style.c (sheet_style_get_extent): Ignore last global region.
2498 2000-01-05  Michael Meeks  <mmeeks@gnu.org>
2500         * src/sheet.c (sheet_move_range, sheet_insert_cols, sheet_delete_cols),
2501         (sheet_insert_rows, sheet_delete_rows): use sheet_recalc_dependencies.
2503         * src/eval.c (cell_eval_content): Hack out stubs of value tree
2504         pruning. (cell_eval): ditto.
2505         Stupidly remove all inline optimization.
2506         (sheet_recalc_dependencies): implement.
2508 2000-01-03  Michael Meeks  <mmeeks@gnu.org>
2510         * src/clipboard.c (do_clipboard_paste_cell_region): add back
2511         region_get_deps.
2513 2000-01-02  Michael Meeks  <mmeeks@gnu.org>
2515         * src/sheet.c (sheet_get_extent): fit inside the max_used bounds.
2517         * src/eval.c (search_range_deps): add back.
2518         (cell_get_single_dependencies): make API nicer + rename to
2519         (get_single_dependencies). (sheet_region_get_deps): revive, add
2520         single dependency checking + more logical name.
2522 1999-12-31  Michael Meeks  <mmeeks@gnu.org>
2524         * src/eval.c (cell_get_dependencies): add debub.
2525         (sheet_dump_dependencies): dump pending eval_queue.
2526         (drop_cell_range_dep): improve debug + kill printout.
2528         * src/cell.c (cell_relocate): When we relocate, we change the content,
2529         hence do a cell_content_changed.
2531         * src/clipboard.c (paste_cell): Do a 'cell_relocate' when we relocate
2532         a cell :-).
2534 1999-12-30  Michael Meeks  <mmeeks@gnu.org>
2536         * src/eval.c (drop_cell_range_dep): fast range dep drop.
2537         (cell_drop_dependencies): kill iterate over sheet in favour of faster
2538         drop_cell_range_dep. ( drastic simplification )
2539         Kill 'remove_list' (dependency_remove_cell): Kill.
2541         * src/sheet.c (sheet_cell_remove_from_hash): drop dependencies.
2543         * src/Gnumeric.idl: Add ';'.
2545         * src/eval.c (cell_eval_content): Comment out & 'fix' the 'changed'
2546         return value.
2548 1999-12-24  Michael Meeks  <mmeeks@gnu.org>
2550         * src/eval.c (DependencySmall): Use a CellPos, we don't need or want
2551         a Sheet pointer in this structure. (dependency_small_hash): remove sheet
2552         usage. (dependency_small_equal, handle_cell_small_dep): ditto.
2554         (DependencyRange): Kill redundant ref_count member, this was just ==
2555         g_list_length (DependencyRange->cell_list), and was not used sensibly.
2556         (dependency_remove_cell): check for cell_list == NULL not ref_count.
2557         (add_cell_range_dep, dependency_range_ctor, dump_range_dep): kill
2558         ref_count.
2560 1999-12-23  Michael Meeks  <mmeeks@gnu.org>
2562         * src/eval.c (cell_eval_content): documented + added 'changed' return
2563         value + check using value_equal if there is no change.
2565         * src/value.c (value_equal): implement.
2567         * src/value.h (struct _Value): comment redundant 'CellRef cell' member.
2569         * src/eval.c (dependency_range_ctor): kill redundant sheet in
2570         DependencyRange. (handle_cell_small_dep): add helpful precondition.
2571         (handle_cell_range_deps): Get the right sheet's deps.
2572         (add_cell_range_dep): Add DependencyData arg.
2573         (range_equal_func): remove sheet check.
2574         (search_cell_deps, search_intersheet_deps): ditto.
2576 1999-12-22  Michael Meeks  <mmeeks@gnu.org>
2578         * src/clipboard.c (do_clipboard_paste_cell_region): remove redundant
2579         dependency queueing, this is done by cell_reloate in paste_cell anyhow.
2581         * src/eval.c (dump_range_dep, dump_small_dep): implement.
2582         (add_cell_range_dep): insert the inter sheet dependencies into the
2583         correct sheet's hash!
2584         (cell_get_range_dependencies): hence use only the sheet's hash and not
2585         all of the sheets !
2586         (cell_drop_dependencies): iterate over all sheets to kill dependencies.
2587         (dump_cell_list): implement.
2588         (handle_cell_range_dep): kill + (handle_tree_deps): fixup for ARRAY.
2590         * src/expr.c (eval_range): update warning + failure case.
2592         * src/workbook.c (workbook_can_detach_sheet): implement.
2593         (workbook_setup_edit_area, misc_output): debugging dumps.
2595         * src/eval.c (cell_drop_dependencies): only drop depends from single
2596         ref-counted formulae; (region_get_dependencies): kill it was used
2597         incorrectly all over the place. (search_range_deps): ditto.
2598         (search_intersheet_deps): implement. (sheet_get_intersheet_deps): implemtn.
2600         * src/clipboard.c (do_clipboard_paste_cell_region): remove get_deps +
2601         add warning.
2603         * src/workbook.c (workbook_do_destroy): call sheet_dump_dependencies.
2604         (dump_dep): move to eval.c (misc_output): hack debugging code.
2605         (workbook_can_detach_sheet): add warning + update ( this was broken ).
2607         * src/eval.c (cell_add_explicit_dependency): kill.
2608         (region_get_dependencies): add warning.
2609         (cell_drop_dependencies): Add handle_tree_deps; NB. this can be
2610         all moved elsewhere for speed later.
2611         (sheet_dump_dependencies): implement.
2613         * src/sheet.c (sheet_move_range): Kill region_get_dependencies +
2614         queue_recalc_list: cell_relocate has to do this anyway.
2615         (sheet_insert_cols, sheet_delete_cols,
2616         (sheet_insert_rows, sheet_delete_rows): ditto.
2618         * src/eval.c (dependency_small_hash, dependency_small_equal): implement.
2619         (handle_cell_range_depsm cell_add_dependencies, handle_tree_deps),
2620         (handle_cell_range_dep): rename + add 'add/remove' parameter.
2621         (cell_eval_content): update debug to ParsePosition.
2622         (handle_cell_range_deps): update with switch.
2623         (handle_cell_small_dep): implement.
2624         (cell_get_dependencies): hack.
2625         (cell_get_range_dependencies): split out.
2627 1999-12-21  Michael Meeks  <mmeeks@gnu.org>
2629         * src/eval.c (dependency_hash_init): kill.
2630         (dependency_data_new, dependency_data_destroy): implement.
2631         (cell_add_dependencies, cell_add_explicit_dependency),
2632         (region_get_dependencies, cell_get_dependencies): update preconditions.
2634         * src/sheet.c (sheet_destroy, sheet_new): use new functions.
2636         * src/sheet.h (Sheet): Use DependencyData.
2638         * src/eval.h: Add new / destroy functions for deps.
2640         * src/gnumeric.h: add DependencyData.
2642         * src/main.c: Add debug_deps.
2644 2000-01-06  Jody Goldberg <jgoldberg@home.com>
2646         * *.[ch] : rename struct expr_relocate_info -> ExprRelocateInfo.
2648         * src/sheet.c (sheet_save_row_col_sizes) : New routine to support undo.
2649         (sheet_save_row_col_sizes) : Ditto.
2650         (col_row_info_init) : Init hard_size.
2652         * src/commands.c (cmd_ins_del_row_col_undo) : Restore the row/col size
2653           info.
2654         (cmd_ins_del_row_col_redo) : Save the info.
2656 2000-01-05  Morten Welinder  <terra@diku.dk>
2658         * src/commands.c (cmd_set_text_undo) : Free the old string.
2659         (command_push_undo) : No need to ref objects.  Things are born with
2660           ref 1.
2661         (gnumeric_command_destroy): Brown paper bag fix.
2663 2000-01-05  Jody Goldberg <jgoldberg@home.com>
2665         * src/gnumeric-type-util.h (GNUMERIC_MAKE_TYPE_WITH_PARENT) : new macro.
2666         (GNUMERIC_MAKE_COMMAND) : Use GNUMERIC_MAKE_TYPE_WITH_PARENT rather
2667           than defining an empty Class for each command.
2669         * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Pop the fake
2670           SetText.
2672         * src/commands.c (cmd_delete_cols) : Fix typo.
2673         (command_list_pop_top_undo) : New command.
2674         (cmd_ins_del_row_col) : Call redo.
2675         (cmd_ins_del_row_col_redo) : Handle the insertion and deletion.
2676         (cmd_ins_del_row_col_undo) : Ditto. Still need to handle, values,
2677           styles, and sizes.
2679         * src/command-context-corba.c (ccc_error_splits_array) : Suppress
2680           warning.
2682 2000-01-05  Jon K Hellan  <hellan@acm.org>
2684         * src/plugin-manager.c (struct PluginManager): Remove unused
2685         members. (BUTTON_ADD, BUTTON_REMOVE, BUTTON_CLOSE): Define
2686         (populate_clist):Remove set_sensitive. (row_cb): Use BUTTON_REMOVE define.
2687         (plugin_manager_new): Use BUTTON_.. defines. Allow user to expand
2688         size. Widen.
2690 2000-01-06  Michael Meeks  <mmeeks@gnu.org>
2692         * src/xml-io.c (xml_read_style): Actually read & use the font size; how
2693         did this die ?
2695 2000-01-05  Michael Meeks  <mmeeks@gnu.org>
2697         * src/mstyle.c (mstyle_get_font_size): fix a brainless precondition
2698         typo causing people grief; thanks to Jon.
2700 2000-01-05  Jody Goldberg <jgoldberg@home.com>
2702         * src/workbook-view.c (workbook_view_set_undo_redo_state) : Disable
2703           for bonobo versions.
2705 2000-01-05  Morten Welinder  <terra@diku.dk>
2707         * src/expr.c (eval_expr_real): Fix OPER_EXP operand test for the
2708         float_t case.
2710         * src/parser.y (register_allocation, unregister_allocation):
2711         Ignore NULLs.
2713 2000-01-04  Morten Welinder  <terra@diku.dk>
2715         * parser.y: revamp the allocation and deallocation system.
2717         * src/cell.c (cell_set_formula): Plug leak.
2719         * src/solver-lp.c (solver_simplex): j not used.
2721 2000-01-04  Jody Goldberg <jgoldberg@home.com>
2723         * src/commands.[ch] : New files.
2725         * src/workbook-view.c (workbook_view_set_undo_redo_state) : Take
2726           strings to use as suffixes to undo and redo.  NULL indicates
2727           disabled.
2729         * src/sheet.c (sheet_set_current_value) : Use cmd_set_text to register
2730           undo.
2732         * src/workbook.c (workbook_menu_view) : Make The formula toggle a
2733           toggle item.
2734         (workbook_menu_insert) : Move the insert object menu item here,
2735           and adjust the selector characters to make more sense.
2736         (undo_cmd, redo_cmd) : Enable.
2738         (workbook_init) : Init the undo/redo lists.
2739         (workbook_do_destroy) : Clear the undo/redo lists.
2740         (wb_input_finished) : Delete.  It was the same as accept_input.
2742 2000-01-03  Miguel de Icaza  <miguel@gnu.org>
2744         * src/cell.c (cell_render_value): Do not check for cell->sheet and
2745         cell->sheet->workbook, these must be true.
2747 2000-01-02  Martin Sheppard  <martin.sheppard@iname.com>
2749         * src/workbook.h (struct _Workbook): add option to display text of
2750         formulas instead of their value
2752         * src/workbook.c (workbook_menu_edit): add menu oiption for toggling
2753         the display of formulas
2754         (toggle_formuals_cmd,cb_cell_rerender): new function to toggle the
2755         display of formulas
2756         (workbook_new): initialize the display formulas option
2758         * src/cell.c (cell_render_value): implemented displaying formulas
2760 2000-01-02  Martin Sheppard <martin.sheppard@iname.com>
2762         * src/parser.{c,y} (yylex) : fixed so that while parsing a formula,
2763         a quoted function is convered to a string token rather than a
2764         function call token. i.e. so that things like "sin" work properly in
2765         formulas.
2767 2000-01-03  Martin Sheppard <martin.sheppard@iname.com>
2769         * src/expr.c (strescape) : new function to escape strings
2770         (do_expr_decode_tree) : fixed so strings are escaped properly
2772 2000-01-03  Miguel de Icaza  <miguel@gnu.org>
2774         * src/gnumeric-sheet.c (move_cursor): Fixed the annoying flashing
2775         of the cursor/selection problem by reverting to the old code setup.
2777         I also eliminated some animation of the cursor while doing this.
2780 2000-01-03  Michael Meeks  <mmeeks@gnu.org>
2782         * src/func.c (function_remove, function_is_unused): implement.
2784         * src/symbol.c (symbol_is_unused, symbol_remove): implement.
2786 2000-01-03  Gregory McLean <gregm@gnu.org>
2788         * gnumeric.spec.in: Synced with my spec tree. This is in sync with
2789         0.47 and includes all the bits.
2791 2000-01-03  Jody Goldberg <jgoldberg@home.com>
2793         * src/workbook.c (workbook_new) : paste_special is only disabled for
2794           cut not for standard actions.
2796         * src/value-sheet.c (value_is_error) : New routine to look up errors.
2797         (gnumeric_error_init) : New routine.
2798         (constants_init) : Used here.
2800         * src/parser.y (yylex) : If a string begins with '#' it may be an
2801           explicit error string.
2803         * src/xml-io.c (xml_write_style_border) : Write BORDER_NONE's too,
2804           this makes it possible to save and restore the NONEs that erase borders.
2806 2000-01-03  Michael Meeks  <mmeeks@gnu.org>
2808         * src/about.c (dialog_about): Add Ariel.
2810 2000-01-02  Michael Meeks  <mmeeks@gnu.org>
2812         * src/func.c (function_marshal_arg): Split from
2813         (function_call_with_list): to make it sweeter.
2815         * src/sheet.c (sheet_get_extent): clip range to the max_used boundary,
2816         naff but gets round print problems for now.
2818 2000-01-02  Miguel de Icaza  <miguel@gnu.org>
2820         * src/clipboard.c (x_selection_to_cell_region): the last element
2821         of a paste was being dropped and the region was being miss-computed
2823 2000-01-02  Miguel de Icaza  <miguel@gnu.org>
2825         * src/workbook-view.c (workbook_view_set_paste_special_state):
2826         Renamed this function to suit better its new purpose: only manage
2827         the paste special item, as paste can pull the information from the
2828         X clipboard.
2830         * src/parser.y (release_const_tree): New routine used to release
2831         exprtrees that we discard during parsing.
2833         array_expressions: The various NUMBERS used in this rule are
2834         never actually linked into the ExprTree, we are only interested in
2835         them to pull a couple of integers from it.  We now release them
2836         after we construct the formula.  This fixes the leaks reported by
2837         Morten.
2839 2000-01-02  Jody Goldberg <jgoldberg@home.com>
2841         * src/application.h : Add application_clipboard_unant now that
2842           it is used elsewhere.
2844 2000-01-02  Michael Meeks  <mmeeks@gnu.org>
2846         * src/sheet.h (Sheet): Make generation guint8.
2848         * src/workbook.h (Workbook): ditto.
2850 2000-01-01  Miguel de Icaza  <miguel@gnu.org>
2852         * src/xml-io.c (xml_read_cell): Set the cell value to empty
2853         instead of an empty string.
2855         * src/cell.c (cell_set_text): Add warning if cell_set_text is
2856         invoked with the empty string.
2858         * src/workbook.c (workbook_edit_comment): Set the cell value to
2859         VALUE_EMPTY instead of setting it to "".
2861         * src/sheet.c (cellref_a1_get): Chek the range
2863 2000-01-01  Miguel de Icaza  <miguel@gnu.org>
2865         * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet): Use
2866         application_clipboar_unant here.
2867         (gnumeric_sheet_key_mode_object): ditto.
2869         * src/sheet.c (sheet_start_editing_at_cursor): ditto.
2871         * src/workbook-format-toolbar.c (change_selection_font): ditto
2872         (set_selection_halign): ditto
2874         * src/application.c (application_clipboard_copy): Use defines.
2875         (application_clipboard_cut): Use defines.
2876         (application_clipboard_unant): New function, less agressive
2877         marking of unanting.
2879         * src/workbook-view.c (workbook_view_set_paste_state): Use
2880         named defines instead of arbitrary constants.  Please, no magic
2881         constants ever in Gnumeric guys.
2883         * src/application.c:
2885         * src/workbook-private.h: Move the menu_item fields to
2886         workbook_private.
2888 2000-01-01  Jody Goldberg <jgoldberg@home.com>
2890         * src/cell.c (cell_cleanout) : Make static again.
2891         * src/eval.c (workbook_next_generation) : Make static.
2893 1999-12-31  Jody Goldberg <jgoldberg@home.com>
2895         * src/file.c (workbook_import) : Support new plugin interface.
2897 1999-12-31  Miguel de Icaza  <miguel@gnu.org>
2899         * src/corba-workbook.c (workbook_corba_setup): Create the corba
2900         context here.
2901         (workbook_corba_shutdown): Destroy it here.
2902         (command_context_corba): Return it here.
2904         * src/corba-sheet.c: Use properly the command_context_corba,
2905         passing a workbook argument in all functions.
2907         * src/command-context-corba.c, src/command-context-corba.h:
2908         Implement CORBA versions of the CommandContext.
2910 1999-12-30  Jody Goldberg <jgoldberg@home.com>
2912         * src/workbook.c (workbook_command_context_gui) : minor warning
2913           supression and adjustment of the comment to explain why we may
2914           be called with a NULL workbook.  That occurs when an operation
2915           occurs BEFORE a gui is available but we will be creating a gui
2916           and want graphical error messages.
2918 1999-12-30  Ariel Rios <jarios@usa.net>
2920         * doc/Makefile.am: Added guile-gnumeric.txt to dist files.
2922 1999-12-30  Jukka-Pekka Iivonen  <iivonen@iki.fi>
2924         * src/utils.c (parse_cell_name_list): Cell ranges are now also
2925         accepted.
2927         * src/solver-lp.c: Implemented Simplex algorithm.  It can
2928         currently solve LP maximization problems of positive variables
2929         having `<=' constraints.
2931         * src/workbook.c: Added `Solver' tool.
2933         * src/utils.c (parse_cell_name_list): Bug fix.  The last item on
2934         the list was not included on the list.
2936 1999-12-30  Miguel de Icaza  <miguel@gnu.org>
2938         * src/gnumeric-type-util.h (GNUMERIC_MAKE_TYPE): New macro, copied
2939         from Evolution.  We need to refactor our code in Gnumeric to use
2940         this macro.
2942         * src/workbook.c (workbook_do_destroy): Destroy the per-workbook
2943         context here.  Hardcoded to be a GUI context for now.
2944         (workbook_new): Create the context here.
2945         (workbook_command_context_gui): This routine is now the one that
2946         returns the command context.
2948         * src/gnumeric.h: Added CommandCOntext typedef here.
2950         * All files: renamed CmdContext to CommandContext.
2951         renamed command_context_gui to workbook_command_context_gui.
2953         * src/workbook-view.c: Removed the GUI_CmdContext class setup.
2954         * src/command-context.c: Replaced the ad-hoc object system with a
2955         GtkObject-based system.
2957 1999-12-30  Jody Goldberg <jgoldberg@home.com>
2959         * src/file.c (workbook_load_from) : The 'open' functions return error
2960           strings now.  Success == NULL, standard error == "", custom error
2961           which needs to be freed is everything else.
2962         (workbook_try_read) : An optional argument in which to store error
2963           messages returned by the loaders.
2964         (file_error_message) : Support the custom error messages.
2965         (workbook_read) : Ditto.
2967         * src/xml-io.c (xml_workbook_read) : Return simple error strings.
2969 1999-12-29  Ariel Rios  <jarios@usa.net>
2971         * doc/guile-gnumeric.txt: Documentation for the guile plugin was added.
2973 1999-12-29  Jody Goldberg <jgoldberg@home.com>
2975         * src/main.c : Include print-info.h to suppess some warnings.
2977         * src/workbook-view.c (command_context_gui,
2978                                 gui_splits_array,
2979                                 gui_plugin_problem,
2980                                 command_context_gui_cast) : New functions.
2982         * src/workbook.c (workbook_new) : Switch to using the workbook_view
2983           routines to manipulate the undo/redo and paste/paste_special menu
2984           items.
2986         * src/func.c (function_iterate_argument_values) : Return an error
2987           for empty/missing arguments.
2989         * plugins/*/Makefile.am : Define GNUMERIC_VERSION.
2991         * plugins/*/*.c (init_plugin): Take a CmdContext for error reporting.
2992           Call plugin_version_mismatch to do some minimal version matching for
2993           plugins and the running application.
2994           Return an enum to clearly differentiate between error reporting
2995             reqs.
2997         * src/Gnumeric.idl : Add PluginProblem.
2999         * src/command-context.[ch] (gnumeric_error_splits_array,
3000                                     gnumeric_error_plugin_problem,
3001                                     command_context_vtbl_init) : New functions.
3003         * src/plugin.c (plugin_version_mismatch) : New function.
3004           (plugin_load) : Hard code a GUI context for now.
3005                           Switch to using gnumeric_error_ routines.
3006                           Pass a CmdContext to the init_plugin routines.
3007                           Only produce an error if the plugin returns -1.
3008                           Store the plugin filename.
3009           (plugin_unload) : Free the filename on exit.
3011         * *.c : command_context_gui now takes a Workbook argument.
3012               : Switch from gnumeric_no_modify_array_notice
3013                          to gnumeric_error_splits_array in most places.
3015 1999-12-28  Peter Moulder <reiter@netspace.net.au>
3017         * src/number-match.c: Currently, two-digit years are converted to
3018         four-digit years (ccyy) by assuming that cc is the same as in the
3019         current wall date.  The problem with that is that on 1999-12-31,
3020         entering any future dates in two-digit-year form will be
3021         misinterpreted; while on 2000-01-01, any past dates entered in
3022         two-digit form will be misinterpreted.  (I use the term
3023         "misinterpreted" with the assumption that one is much more likely
3024         to intend a date a few days away than 99 years away.)
3026 1999-12-27  Jody Goldberg <jgoldberg@home.com>
3028         * configure.in : Re-enable the python plugin by default.
3030         * src/plugin.c (load_all_plugins) : Search in a version specific
3031           directory.
3033         * plugins/*/Makefile.am : Install in
3034               <prefix>/lib/gnumeric/plugins/${VERSION}
3035           to decrease the number of silly version problems.
3036           Adjust the plugin names to follow the convention
3037               libgnum_<name>.so
3038           to avoid problems like the python plugin 'libpython.so'
3039           depending on the python libraries with the same name.
3041         * src/cell.c (cell_get_formatted_val) : Make public.
3043 1999-12-23  JP Rosevear  <jpr@arcavia.com>
3045         * src/plugin-manager.c (plugin_manager_new): Use a gnome_dialog and
3046         stock icons
3047         (row_cb): Use gnome_dialog_set_sensitive instead of
3048         gtk_widget_set_sensitive
3050         * src/dialogs/dialog-analysis-tools.c (dialog_data_analysis): Use
3051         stock ok item for ok button
3053 1999-12-22  JP Rosevear  <jpr@arcavia.com>
3055         * src/ranges.c (range_intersection): change interface to take a range
3056         pointer for the  result and return a boolean dictating whether or not
3057         the ranges actually intersect
3059         * src/ranges.h : update for new range_intersection interface
3061 1999-12-22  JP Rosevear  <jpr@arcavia.com>
3063         * src/ranges.c (range_intersection): Clean to meet coding specs.
3065 1999-12-21  JP Rosevear <jpr@arcavia.com>
3067         * src/ranges.c (range_intersection) : Tidy and handle the case
3068         where the ranges don't intersect.
3070         * src/dialogs/dialog-cell-sort.c (dialog_cell_sort) : Use
3071         sheet_get_extent only if there are infinite ranges, so the user
3072         sees their manually selected range if possible.
3074 1999-12-21  Jody Goldberg <jgoldberg@home.com>
3076         * src/expr.c (expr_implicit_intersection) : New routine split from
3077           function_call_with_list.
3078         (compare) : Handle intersection.
3079         (eval_expr_real) : Ditto.  Add verbose comment on a possible heuristic
3080           for the final piece of this ugly evaluation mechanism, array
3081           interation.
3082         (cell_ref_get_abs_col_row) : Adjust to take a CellPos.
3084         * src/func.c (function_iterate_do_value) : Split the implicit
3085           intersection out into a new function.  Use intersection for
3086           strings as well as float & bool args.  Correct memory leak
3087           when intersetion was used.
3088         (function_call_with_list) : Ditto.
3090         * *.c : Adjust to change in EvalPosition to use CellPos.
3092         * gnumeric.spec.in : Update the libglade dependancy.
3094         * src/workbook.c (wb_edit_key_pressed) : Do not select the current
3095           cell address and do not move the cursor to the start of the cell
3096           address when F4 is hit.
3098 1999-12-20  Jody Goldberg <jgoldberg@home.com>
3100         * src/parser.y : Clean up for byacc.
3102         * src/workbook.c (file_open_cmd) : Handle failed opens.
3103         (file_import_cmd) : Handle failed imports.
3105         * src/item-bar.c (item_bar_start_resize) : Add resize marker on the
3106           other side of the row/col being resized.
3107         (item_bar_init) : Init the marker to NULL.
3108         (item_bar_end_resize) : Clear the marker.
3110 1999-12-19  Jody Goldberg <jgoldberg@home.com>
3112         * src/selection.c (sheet_selection_cut) : Fix Typo.
3114         * src/item-bar.c (item_bar_start_resize) : Don't bother setting the
3115           location of the line here.  Instead we set the correctly zoomed
3116           bounds of the static-dimension.
3117         (item_bar_end_resize) : Clear the saved points.
3118         (item_bar_init) : Init the guide and points to NULL;
3119         (item_bar_event) : No need to call canvas to world.  We zoom manually.
3120         (item_bar_get_line_points) : Delete.
3122 1999-12-19  Michael Meeks  <mmeeks@gnu.org>
3124         * configure.in: bump version to 0.46.
3126         * src/dialogs/dialog-printer-setup.c (fill_hf): use print_hf_same,
3127           since pointer comparison duff; since item is copied.
3129         * src/print-info.c (print_hf_same): implement.
3130         (print_hf_register): update to use it.
3132 1999-12-18  Michael Meeks  <mmeeks@gnu.org>
3134         * src/dialogs/dialog-printer-setup.c (do_setup_hf): Grab the
3135           header & footer pointer from the sheet's print info if available.
3136         (do_setup_hf_menus): only setup the dialog if non-null.
3138         * src/print-info.c (print_info_new): kill load_formats.
3139           init hf_formats.
3140         (print_init, print_shutdown): implement.
3142         * src/main.c (gnumeric_main): add print_init / shutdown.
3144 1999-12-18  Michael Meeks  <mmeeks@gnu.org>
3146         * src/sheet.c (sheet_new): setup pristine.
3147         (sheet_mark_clean, sheet_set_dirty, sheet_is_pristine): improve,
3148         thanks to Morten.
3150 1999-12-18  Morten Welinder  <terra@diku.dk>
3152         * src/xml-io.c (xml_read_print_info): Plug leaks.
3153         (xml_value_get): Return a g_malloc'ed string.  All callers
3154         changed.
3155         (xml_get_print_unit): Plug leak.
3156         (xml_get_color_value): Plug leak.
3157         (xml_read_sheet_object): Plug leak, I think.
3158         (xml_set_value): Plug leak.
3159         (xml_set_value_string): Plug leak.
3160         (xml_set_value_int): Plug leak.
3161         (xml_set_value_double): Plug leak.
3162         (xml_set_color_value): Plug leak.
3163         (xml_set_gnome_canvas_points): free/g_free mixup.
3164         (xml_workbook_write): Plug leak.
3166         * src/item-bar.c (item_bar_destroy): Unref fonts.  (Found by
3167         Miguel.)
3169         * src/style.c (style_shutdown): Add code to warn of font ref leaks
3170         on exit.
3172 1999-12-18  Michael Meeks  <mmeeks@gnu.org>
3174         * src/corba-sheet.c (command_context_corba): clean.
3176         * src/sheet-style.c (sheet_style_get_extent): implement.
3178         * src/sheet.c (sheet_get_extent): Add union with style extent,
3179         fix silly typo.
3181         * src/ranges.c (range_is_infinite): Add new function.
3182         (range_union): implement.
3184 1999-12-18  Morten Welinder  <terra@diku.dk>
3186         * src/functions/fn-financial.c (gnumeric_yieldmat,
3187         gnumeric_yielddisc, gnumeric_oddlyield, gnumeric_oddfyield,
3188         gnumeric_oddfprice, gnumeric_oddlprice, gnumeric_yield,
3189         gnumeric_price): New skeleton function.
3191 1999-12-18  Jody Goldberg <jgoldberg@home.com>
3193         * src/format.c (format_number) : Supress printing a '-' if the format
3194           includes a manual '-' even if the negative is preceded by a \
3196 1999-12-18  Kjartan Maraas  <kmaraas@online.no>
3198         * src/dialogs/print.glade.h: Added xgettext:no-c-format in
3199         comment to please msgfmt.
3201 1999-12-18  Morten Welinder  <terra@diku.dk>
3203         * src/functions/fn-financial.c (gnumeric_tbilleq,
3204         gnumeric_tbillyield): check params better.
3206 1999-12-18  Michael Meeks  <mmeeks@gnu.org>
3208         * src/about.c (dialog_about): add Jon.
3210 1999-12-17  Jon K Hellan  <hellan@acm.org>
3212         * src/sheet.c (sheet_get_default_external_col_width): New
3213         function.  Get default column width in units, including margins.
3214         (sheet_get_default_external_row_height): New function. Get default
3215         row height in units, including margins.
3216         (sheet_col_get_external_width): New function. Get column width in
3217         units, including margins.
3218         (sheet_row_get_external_height): New function. Get row height in
3219         units, including margins.
3221         * src/sheet.h: Declare new functions in sheet.c
3223 1999-12-18  Michael Meeks  <mmeeks@gnu.org>
3225         * src/dialogs/dialog-cell-sort.c (dialog_cell_sort): add command context.
3227 1999-12-17  Michael Meeks  <mmeeks@gnu.org>
3229         * src/dialogs/dialog-cell-sort.c (dialog_cell_sort): don't corrupt
3230         first selection range. Use selection_is_simple. Replace quad int's with
3231         cleaner range implementation.
3233 1999-12-17  Ettore Perazzoli  <ettore@gnu.org>
3235         * src/pixmaps/cursor_cross.xpm: Fix drop shadow.
3237 1999-12-18  Jody Goldberg <jgoldberg@home.com>
3239         * src/sheet.c (sheet_check_for_partial_array) : Rename from
3240           range_check_for_partial_array and make public.
3242         * src/selection.c (sheet_selection_cut) : Disable cutting part of an
3243           array.
3245         * src/expr.c (eval_expr_real) : Wrap out of bound aarray lookups when
3246           the src is 1 element wide or tall.
3248 1999-12-17  Jody Goldberg <jgoldberg@home.com>
3250         * src/cell.c (cell_cleanout) : Publicize.
3252         * src/sheet.c (clear_cell_content) : Delete.
3253         (sheet_clear_region_content) : Use sheet_clear_region but leave the
3254           styles in place.
3256 1999-12-17  Morten Welinder  <terra@diku.dk>
3258         * src/functions/fn-stat.c: White-space mania.
3260 1999-12-16  Andrew Chatham  <andrew.chatham@duke.edu>
3262         * src/regression.h: Better comments for parts of extra_stat
3263         * src/regression.c (linear_solve): Fixed adjusted R^2 bug (hopefully).
3264         * src/functions/fn-stat.c (gnumeric_linest, gnumeric_logest) Added
3265         beginning support for 3+ dimensional regressions in linest and logest.
3266         * src/analysis-tools.c (regression_tool) Documented Excel bugs with
3267         no-intercept regressions that I didn't/can't mimic.
3269 1999-12-16  Morten Welinder  <terra@diku.dk>
3271         * src/func.c (tokenized_help_destroy): Plug leak.
3273 1999-12-16  Michael Meeks  <mmeeks@gnu.org>
3275         * src/corba-sheet.c (Sheet_range_set_alignment): add orientation.
3277 1999-12-16  Michael Meeks  <mmeeks@gnu.org>
3279         * src/sheet.c (sheet_get_extent_cb): Fix biggest leak ever seen,
3280         use cell_is_blank.
3282 1999-12-14  Cort Dougan  <cort@ppc.kernel.org>
3284         * src/corba-sheet.c (Sheet_range_set_font, Sheet_range_set_foreground),
3285         (Sheet_range_set_pattern, Sheet_range_set_background, Sheet_range_set_alignment):
3286         implement.
3287         (Sheet_corba_class_init): fill epv.
3289 1999-12-14  Joe Sakosky <josak@ibm.net>
3291         * src/file.c: privatized fileopener filesaver.
3293         * src/file.h:  ditto
3295 1999-12-15  Michael Meeks  <mmeeks@gnu.org>
3297         * src/workbook.c (workbook_bonobo_setup): kill goadid.
3298         (workbook_new): kill brainless bug.
3300 1999-12-15  Jody Goldberg <jgoldberg@home.com>
3302         * src/gnumeric.h : Move many of the typedefs here.
3304         * src/dialogs/dialog-cell-sort.c (dialog_cell_sort) : Tweak some
3305           const issues and minor logic problems at the boundaries.
3307 1999-12-14  Jody Goldberg <jgoldberg@home.com>
3309         * src/workbook-view.c (command_context_gui) : New function.
3311         * src/main.c (gnumeric_main) : Add a 'quit' flag for use in testing.
3312           It causes the app to exit immediately after loading all the selected
3313           books.
3315         * src/file.c (workbook_import) : Bug 3977.
3317         * src/corba-sheet.c (command_context_corba) : New function
3318           temporarily located here.
3319         (Sheet_selection_copy) : Pass a CommandContext.
3320         (Sheet_selection_cut) : Ditto
3321         (Sheet_selection_paste) : Ditto
3322         (Sheet_clear_region) : Ditto
3323         (Sheet_clear_region_content) : Ditto
3324         (Sheet_insert_col) : Ditto
3325         (Sheet_delete_col) : Ditto
3326         (Sheet_insert_row) : Ditto
3327         (Sheet_delete_row) : Ditto
3328         (Sheet_shift_rows) : Ditto
3329         (Sheet_shift_cols) : Ditto
3331         * src/item-cursor.c (item_cursor_do_action) : Ditto.
3333         * src/item-grid.c (context_cut_cmd) : Ditto.
3334         (context_cut_cmd) : Ditto.
3335         (context_copy_cmd) : Ditto.
3336         (context_paste_cmd) : Ditto.
3337         (context_paste_special_cmd) : Ditto.
3338         (context_clear_cmd) : Ditto.
3340         * src/clipboard.[ch] (do_clipboard_paste_cell_region) : Take a
3341           CommandContext.
3342         (sheet_paste_selection) : Ditto.
3343         (clipboard_paste_region) : Ditto.
3345         * src/selection.c (segments_intersect) : Return additional state 5
3346           to designate equality.
3347         (selection_apply) : Use the equality state to simplify state selection.
3348         (selection_is_simple) : Use a command context.
3349         (sheet_selection_copy) : Ditto.
3350         (sheet_selection_cut) : Ditto.
3351         (sheet_selection_paste) : Ditto.
3352         (sheet_selection_clear) : Ditto.
3353         (sheet_selection_clear_content) : Ditto.
3354         (sheet_selection_clear_comments) : Ditto.
3355         (sheet_selection_clear_formats) : Ditto.
3357         * src/workbook.c (copy_cmd) : Ditto.
3358         (cut_cmd) : Ditto.
3359         (paste_cmd) : Ditto.
3360         (paste_special_cmd) : Ditto.
3361         (insert_cols_cmd) : Ditto.
3362         (insert_rows_cmd) : Ditto.
3363         (clear_all_cmd) : Ditto.
3364         (clear_formats_cmd) : Ditto.
3365         (clear_comments_cmd) : Ditto.
3366         (clear_content_cmd) : Ditto.
3368         * src/dialogs/dialog-delete-cells.c (dialog_delete_cells_impl) :
3369           Ditto.
3370         (dialog_delete_cells) : Ditto.
3372         * src/dialogs/dialog-insert-cells.c (dialog_insert_cells_impl) :
3373           Ditto.
3374         (dialog_insert_cells) : Ditto.
3376 1999-12-13  Michael Meeks  <mmeeks@gnu.org>
3378         * src/sheet-style.c (sheet_style_optimize): add check for
3379         valid range.
3381 1999-12-15  Morten Welinder  <terra@diku.dk>
3383         * configure.in (WITH_PYTHON): Disable python until someone fixes it.
3384         (Remove config.cache and the installed python plugin, or else you
3385         will not see the effect of this.)
3387 1999-12-14  Morten Welinder  <terra@diku.dk>
3389         * src/dialogs/dialog-analysis-tools.c (dialog_regression_tool):
3390         Mark strings for translation.
3392         * src/regression.c (ALLOC_MATRIX, FREE_MATRIX): New macros.
3393         (linear_solve): Use them.
3394         (general_linear_regression): Ditto.
3396         * src/dialogs/dialog-cell-sort.c (dialog_cell_sort): Unconst.
3398 1999-12-14  Andrew Chatham <andrew.chatham@duke.edu>
3400         * src/regression.c (general_linear_regression): Now uses LUP
3401         decomposition and provides more statistics
3402         * src/analysis-tools.c (regression_tool)
3403         * src/dialogs/tools.h
3404         * src/dialogs/dialog-analysis-tools.c (dialog_regression_tool):
3405         Regression tool works with multidimensional data, outputs more
3406         statistics.
3408 1999-12-13  JP Rosevear  <jpr@arcavia.com>
3410         * src/dialogs/dialog-cell-sort.c (dialog_cell_sort_adv): use
3411         sheet_get_extent if the range is infinite
3412         * src/sheet.c (sheet_get_extent): redo to get the Range by
3413         iterating over the sheet cell_hash; as a side effect printing now
3414         doesn't print blank areas
3415         (sheet_get_extent_cb): call back function to iterate over cell
3416         hash
3418 1999-12-13  Morten Welinder  <terra@diku.dk>
3420         * src/functions/fn-stat.c (gnumeric_logest): Plug leaks.
3421         (gnumeric_linest): Plug leaks.
3423 1999-12-12  Tuomas Kuosmanen  <tigert@gimp.org>
3425         * src/pixmaps/bucket.xpm
3426         * src/pixmaps/font.xpm: New icons that are both the same size..
3428 1999-12-11  Michael Meeks  <mmeeks@gnu.org>
3430         * src/dialogs/dialog-cell-sort.c (dialog_cell_sort_adv): nail ref leak of
3431         glade_xml object. (dialog_cell_sort): ditto.
3433 1999-12-10  Michael Meeks  <mmeeks@gnu.org>
3435         * src/ranges.c (range_clip): kill. (range_intersection): implement.
3437 1999-12-10  Michael Meeks  <mmeeks@gnu.org>
3439         * src/mstyle.c (mstyle_hash): initialise hash!
3441 1999-12-10  Andrew Chatham  <andrew.chatham@duke.edu>
3443         * src/regression.c (general_linear_regression): Handle the 3+
3444         dimensional case.
3446 1999-12-10  Jody Goldberg <jgoldberg@home.com>
3448         * src/functions/fn-lookup.c (gnumeric_indirect) : This solution is
3449           more paletable.  Always attempt to add the dependency, but only
3450           actually do so if the calling cell does not already depend on the
3451           indirected cell.
3453         * src/eval.c (cell_add_explicit_dependency) : Expand this function to
3454           test to see if a dependency already exists.
3456 1999-12-10  Jukka-Pekka Iivonen  <iivonen@iki.fi>
3458         * src/functions/fn-financial.c: Added EURO function for
3459         currency conversions.
3461 1999-12-09  Jody Goldberg <jgoldberg@home.com>
3463         * src/eval.[ch] (cell_add_explicit_dependency) : New function.
3465         * src/functions/fn-lookup.c (gnumeric_indirect) : Clear all
3466           dependencies the calling cell has and regenerate them anytime the
3467           function is called.  This is somewhat wasteful but is IMO a better
3468           space time trade off than penalizing all depends to be able to flag
3469           which dep is an indirection dep.  This method may cause problems if
3470           multiple indirection calls are using in a single expression.
3472 1999-12-08  Jon K Hellan  <hellan@acm.org>
3474         * src/style.h: Declare style_font_equal, style_font_hash_func.
3476         * src/style.c (style_font_equal): Make non-static and rename from
3477         font_equal.
3478         (style_font_hash_func): Make non-static and rename from font_hash
3479         (style_init): Use new names for font_hash, font_equal.
3481         * src/mstyle.c (mstyle_hash): Include MSTYLE_ORIENTATION. Return
3482         the hash value(!).
3484 1999-12-08  Jody Goldberg <jgoldberg@home.com>
3486         * src/selection.c (segments_intersect) : Be more agressive about
3487           returning containtment.
3488         (selection_apply) : Improve debug output.
3490 1999-12-08  Yuri Syrota  <rasta@renome.rovno.ua>
3492         * configure.in (ALL_LINGUAS): Added "uk".
3494 1999-12-08  Jon K Hellan <hellan@acm.org>
3496         * src/workbook.c (workbook_is_pristine): fix boneheaded
3497         bonoboism.
3499 1999-12-07  Miguel de Icaza  <miguel@gnu.org>
3501         * src/dialogs/dialog-analysis-tools.c (new_dialog): Use Gnome
3502         Stock buttons here.
3504 1999-12-06  Michael Meeks  <mmeeks@gnu.org>
3506         * src/workbook.c (workbook_is_pristine): check we arn't
3507         exported as a grid. (workbook_new): NULL bonobo fields.
3508         (workbook_is_dirty): fix daft bug.
3510 1999-12-06  Michael Meeks  <mmeeks@gnu.org>
3512         * src/file.c (workbook_save): return success flag.
3513         (workbook_save_as): ditto.
3515         * src/xml-io.c (xml_workbook_write): Save current page +
3516         edit text. (xml_workbook_read): Read edit text + current page.
3518         * src/workbook.c (workbook_is_dirty): split.
3519         (cb_sheet_check_dirty): update. (workbook_can_close): redo.
3520         (workbook_is_pristine, cb_sheet_check_pristine): implement.
3521         (file_import_cmd, file_open_cmd): check for pristine-ness.
3523         * src/sheet.c (sheet_get_extent): constify.
3524         (sheet_is_pristine): implement.
3526 1999-12-06  Michael Meeks  <mmeeks@gnu.org>
3528         * src/sheet.c (sheet_get_extent): implement.
3530         * src/corba-sheet.c (Sheet_max_cols_used, Sheet_max_rows_used):
3531         update to use get_extent.
3533         * src/print.c (print_sheet): use sheet_get_extent.
3534         (print_sheet_range): pass a Range. (sheet_print_selection): ditto.
3536 1999-12-06  Michael Meeks  <mmeeks@gnu.org>
3538         * doc/Styles.txt: Add section 2.1.1, update optimization +
3539         example code, type fixes. + 2.4.1 explaining borders.
3541 1999-12-06  Michael Meeks  <mmeeks@gnu.org>
3543         * src/eval.c (search_cell_deps): Cull dead 'draw' code.
3545 1999-12-05  Michael Meeks  <mmeeks@gnu.org>
3547         * src/expr.c (eval_funcall): Extract body to func.c
3548         (cell_ref_make_absolute, free_values): move to func.c
3549         (do_expr_decode_tree): Use function_def_get_name
3551         * src/func.c (function_call_with_list): Clean to use new
3552         helper functions + update style; use eval_expr not
3553         eval_expr_real in 1 place; cleans flow;
3554         (cell_ref_make_absolute): make args more convenient.
3556         * Makefile.am: Kill dump.[ch]
3558         * src/dump.[ch]: kill + move to
3560         * src/func.c: (function_dump_defs).
3562         * src/main.c (gnumeric_main): Use function_dump_defs
3564         * src/func.c (function_def_get_fn): implement.
3565         (function_def_get_user_data, function_def_set_user_data),
3566         (function_def_count_args, function_def_get_name): implement.
3567         (function_def_get_arg_type): implement.
3568         Hide FunctionDefinition here. Stylistic cleans.
3570         * plugins/python/python.c (marshal_func): use function_def_count_args
3571         (__register_function): kill ancient mem leak in duff code.
3573         * src/dialogs/dialog-function-select.c (function_definition_update):
3574         use function_def_get_name.
3576         * src/dialogs/dialog-function-wizard.c (arg_data_list_new): rewrite to
3577         use count_args + get_arg_type: much safer. (get_text_value): use get_name.
3579         * src/expr.h: Add user_data to function definition + hack it out.
3581         * src/sheet.c (sheet_cell_get, sheet_cell_fetch): move up & inline
3583 1999-12-04  Michael Meeks  <mmeeks@gnu.org>
3585         * plugins/sample/plugin-sample.c (func_plusone): Make this a good
3586         example ! ug + stylistic clean.
3588 1999-12-05  Ariel Rios <jarios@usa.net>
3590         * plugins/guile/Makefile.am: Modified to include functions.scm
3592         * plugins/guile/gnumeric_startup.scm: We now load the scheme
3593           functions from the new file functions.scm
3595         * plugins/guile/functions.scm: The guile functions and their
3596           registration are now located in this file.
3597           (=FIBO(num)): Added fibonacci formula.
3599 1999-12-04  Michael Meeks  <mmeeks@gnu.org>
3601         * src/dialogs/dialog-cell-sort.c (compare_values): Fix fatal bug
3602         with cell_get_text on a NULL Cell.
3604 1999-12-03  JP Rosevear  <jpr@arcavia.com>
3606         * src/dialogs/dialog-cell-sort.c (dialog_cell_sort_adv): options
3607         for case sensitivy and value or text comparisons
3608         (order_box_new): display the advanced button for each clause
3609         (dialog_cell_sort): make sure the OrderData contains the
3610         value/text and case sensitivity flags
3611         (compare_values): take the new options into account
3613         * src/dialogs/cell-sort.glade: update gui
3615 1999-12-02  Nat Friedman  <nat@helixcode.com>
3617         * src/corba-workbook.c (Workbook_corba_class_init): Use the new
3618         epv-getting functions when filling the vepv.
3620         * src/embeddable-grid.c (init_embeddable_grid_corba_class): Likewise.
3622 1999-12-01  Michael Meeks  <mmeeks@gnu.org>
3624         * src/dialogs/dialog-cell-format.c (fmt_dialog_init_font_page):
3625         Update to new API.
3627         * src/widgets/widget-font-selector.c (font_selector_set): Kill.
3628         (font_selector_set_points, font_selector_set_style),
3629         (font_selector_set_name): create.
3631 1999-12-01  Federico Mena Quintero  <federico@redhat.com>
3633         * src/item-grid.c: item_grid_parent_class should be a
3634         GnomeCanvasItemClass *, not a GnomeCanvasItem *.  Thanks to Nick
3635         Lamb (njl98r@ecs.soton.ac.uk) for pointing this out.
3637 1999-11-30  Michael Meeks  <mmeeks@gnu.org>
3639         * src/workbook.c (cb_sheet_check_dirty): Fixup.
3641 1999-11-30  Michael Meeks  <mmeeks@gnu.org>
3643         * src/mstyle.c (mstyle_hash): updated.
3645 1999-11-30  Jon K Hellan  <hellan@acm.org>
3647         * src/mstyle.c (mstyle_hash): implement.
3649         * src/main.c: Add debug_excel_write parameter.
3651 1999-11-29  Jody Goldberg <jgoldberg@home.com>
3653         * src/workbook.c (workbook_new) : Disable for bonobo case
3654           until I can figure out how to retrieve menu items in that case
3655           also.
3657         * src/workbook-view.c (workbook_view_set_paste_state) : Ditto.
3659 1999-11-29  Michael Meeks  <mmeeks@gnu.org>
3661         * src/expr-name.c (expr_name_add): Add commented out debug.
3663         * src/workbook.c (wb_edit_key_pressed): Remove set_dirty.
3664         (cb_sheet_check_dirty): Add check for input area.
3666 1999-11-28  Jody Goldberg <jgoldberg@home.com>
3668         * src/Makefile.am : Add new files.
3670         * src/workbook-view.c (workbook_view_set_paste_state) : New function.
3672         * src/application.c (application_clipboard_clear) : Disable the
3673           paste, paste-special menu items and unant the previous selection.
3674         (application_clipboard_copy) : Enable paste/paste_special, ant the
3675           selection.
3676         (application_clipboard_cut) : Enable paste, ant the selection.
3678         * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Clear the
3679           clipboard rather than unanting manually.
3680         (gnumeric_sheet_key_mode_object) : Ditto.
3682         * src/item-cursor.c (item_cursor_do_drop) : Don't unant manually.
3683           let the functions take care of it.
3685         * src/selection.c (sheet_selection_copy) : Ditto.
3686         (sheet_selection_cut) : Ditto.
3688         * src/workbook.c (workbook_new) : Catch the widgets of several of the
3689           edit menu bar items so that they can be enabled and disabled.
3691 1999-11-28  Michael Meeks  <mmeeks@gnu.org>
3693         * src/workbook.c (wb_edit_key_pressed): Fix bug #2110
3695         * src/mstyle.c: re-organise elements type to save memory.
3696         make several globals static.
3697         (mstyle_hash): constify. (mstyle_new): remove alloc + gnew0
3698         (mstyle_copy): update. (mstyle_elements_copy): update.
3699         (mstyle_destroy): update.
3701 1999-11-28  Jody Goldberg <jgoldberg@home.com>
3703         * src/workbook.c : Add some menu items and experiment with disabling
3704           paste/paste-special when there is nothing appropriate to paste.
3706 1999-11-27  Michael Meeks  <mmeeks@gnu.org>
3708         * src/sheet.c (cb_set_cell_value): Fix silly format setting bug.
3710 1999-11-27  JP Rosevear  <jpr@arcavia.com>
3712         * src/dialogs/dialog-cell-sort.c: Fixed two bugs when the
3713         selection was not in the upper left corner of the sheet
3715 1999-11-27  Michael Meeks  <mmeeks@gnu.org>
3716         * src/dialogs/dialog-cell-sort.c (dialog_cell_sort): Use
3717         string_list_free (fix leak). (string_list_free): implement.
3718         Stylistic fixes.
3719         (dialog_cell_sort_header_toggled): Fix fatal list bug.
3721 1999-11-26  JP Rosevear  <jpr@arcavia.com>
3723         * src/dialogs/dialog-cell-sort: Allow sorting of rows
3724         (horizontally) as well as by columns
3726 1999-11-26  Jody Goldberg <jgoldberg@home.com>
3728         * src/sheet.c (sheet_col_get_unit_distance,
3729           sheet_row_get_unit_distance) : subtract 1 to match the inverse map and
3730           round to integers when accumulating to give a closer approximation to
3731           the trucation that occurs when drawing in pixels.
3733 1999-11-22  Miguel de Icaza  <miguel@gnu.org>
3735         * src/print.c: Fit the ranges that are printed.
3737 1999-11-21  Miguel de Icaza  <miguel@gnu.org>
3739         * src/item-cursor.c (item_cursor_drag_event): update the canvas
3740         here;  Not in item_cursor_set_bounds_visibly.
3742 1999-11-19  Miguel de Icaza  <miguel@gnu.org>
3744         * src/xml-io.c (xml_write_styles): Implement correctly.
3746 1999-11-25  Jody Goldberg <jgoldberg@home.com>
3748         * src/item-cursor.c (item_cursor_draw) : Draw autofill handle
3749           in a better location if the bottom of the cursor is not visible.
3751 1999-11-24  Jody Goldberg <jgoldberg@home.com>
3753         * src/format.c (format_number) : Handle negatives for scientific
3754           notation.  Add support for
3755           'e' vs 'E'
3756           Prepending a '+'.
3758         * src/dialogs/dialog-cell-format.c (draw_format_preview) : Correct
3759           typo.
3761         * src/item-edit.c (item_edit_draw) : Fix fence post problem is
3762           previous patch.  Add currently unused 'row_span' in preparation.
3764 1999-11-23  Jody Goldberg <jgoldberg@home.com>
3766         * src/item-edit.c (item_edit_draw) : Avoid crashing when we hit the
3767           edge of the sheet.
3769         * src/cell-draw.c (cell_draw) : Fix long standing bone headed mistake.
3770           multi-line cells were hard coded to use black as the font color.
3772 1999-11-21  Jody Goldberg <jgoldberg@home.com>
3774         * src/widgets/widget-color-combo.c (none_clicked) : Emit a -1 if none
3775           is selected.
3776         (color_table_setup) : Use new function.
3778         * src/workbook-format-toolbar.c (back_color_changed) : Support Color
3779           'None'.
3781         * src/file.c (workbook_save) : Use needs_name flag rather than
3782           checking the filename.  All books now have file names.
3784         * src/workbook.c (workbook_new_with_sheets) : Move default name
3785           assignment.
3786         (workbook_new) : Here.  Make the default name end in .gnumeric.
3787           Add a needs_name flag marking this name as auto generated.
3788         (workbook_set_filename) : Clear the needs_name flag.
3790 1999-11-21  Jeff Garzik  <jgarzik@mandrakesoft.com>
3792         * configure.in, plugins/Makefile.am:
3793         New file import filter for SC and xspread spreadsheets.
3794         * src/utils.h (parse_cell_name): update prototype
3795         * src/utils.c (parse_cell_name): return gboolean, to reflect true,
3796         and documented, nature of return value.
3797         (parse_cell_name_list): move loop exit condition into 'for' statement
3799 1999-11-20  Jody Goldberg <jgoldberg@home.com>
3801         * src/format.c (format_number) : Handle m, mm as minutes if followed
3802           immediately by seconds.
3804         (format_remove_decimal) : Remove the decimal place when there are no
3805           more numbers after the decimal.  This is still broken in the face
3806            of specs with different forms for negatives.
3807         (format_add_decimal) : Support formats other than number.  Same
3808           brokeness as format_remove_decimal.
3810         * src/dialogs/{cell-format,font-sel}.glade.h : Regenerate from
3811           current .glade files.
3813 1999-11-19  Kevin Handy  <kth@srv.net>
3815         * configure.in, plugins/Makefile.am: add DIF import/export filter
3817 1999-11-19  JP Rosevear  <jpr@arcavia.com>
3819         * src/dialogs/dialog-cell-sort.c: Allow selection of the columns
3820         by header name.  Put Add/Remove buttons at the bottom with stock
3821         icons.
3823 1999-11-19  Jody Goldberg <jgoldberg@home.com>
3825         * src/cell.c (cell_relocate) : optionally do a bounds check on
3826           relocated expressions.  Do this by 'moving' the expression from its
3827           new location to its new location.  Some extra work is performed but
3828           the expression is checked for boundedness.
3830         * src/sheet.c (sheet_move_range) : Use new interface for
3831           cell_relocate.
3832         (colrow_move) : Ditto.
3834         * src/clipboard.c (paste_cell) : Ditto.
3836         * src/item-bar.c (item_bar_fonts_init) : Use the sheet's zoom factor.
3837         (item_bar_realize) : Adjust to new item_bar_fonts_init interface.
3839         * src/sheet-view.c (sheet_view_set_zoom_factor) : Ditto.
3841 1999-11-18  Jon K Hellan  <hellan@acm.org>
3843         * src/sheet.c (sheet_row_set_height_units): Use rows->default_style
3844         not cols->default_style.
3846 1999-11-18  Michael Meeks  <mmeeks@gnu.org>
3848         * src/dialogs/Makefile.am (glade_msgs): Add cell-sort.glade.h
3850 1999-11-18  Miguel de Icaza  <miguel@gnu.org>
3852         * src/xml-io.c: s/xmlChar/char/
3854 1999-11-17  Jody Goldberg <jgoldberg@home.com>
3856         * src/cell.c (cell_get_span) : Nerge in old fixes from
3857           cell_split_text.  These routines should be very similar.
3858           Add a warning comment to avoid them getting out of sync again.
3859           Where else does this code live ? (draw, print, dimension)
3861         * src/gnumeric.h : Empty.
3863         * src/sheet-style.c (border_check) : Fix missing initializer.
3865         * src/style.c (style_color_ref) : Remove warning and return NULL.
3867         * src/dialogs/dialog-cell-sort.c (dialog_cell_sort) :
3868           Add braces around an ambiguous else.
3870         * src/file.c (workbook_import) : NULL the returned workbook
3871           on failure.  Things don't quite work yet, the workbook destroy
3872           gets pissed when destroying an unrealized workbook, but it is
3873           happier.
3875 1999-11-17  Michael Meeks  <mmeeks@gnu.org>
3877         * src/sheet-style.c (sheet_unique_cb): update border_check call.
3878         (border_check): add do_outer argument.
3880         * src/mstyle.c (mstyle_element_ref): inline.
3881         (mstyle_do_merge): count down instead of up.
3882         (mstyle_new): g_new0 instead of explicit clear.
3884 1999-11-17  Michael Meeks  <mmeeks@gnu.org>
3886         * src/sheet-style.c (do_list_check_sorted): split out.
3887         (list_check_sorted): make conditional on debug, slugging performance.
3889 1999-11-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
3891         * configure.in, plugins/Makefile.am, plugins/sylk:  new SYLK file import plug-in
3893 1999-11-16  Miguel de Icaza  <miguel@gnu.org>
3895         * src/mstyle.c: Define mstyle properly;  Kill MSTYLE_ELEMENTS
3896         macro.
3897         Kill PrivateStyle.
3898         (mstyle_copy): Use sensible names;
3899         (mstyle_set_format): Implement.
3900         Renamed all variables called "st" to "style".
3902 1999-11-16  Morten Welinder  <terra@diku.dk>
3904         * src/functions/fn-financial.c (gnumeric_irr): Plug leak.
3905         (gnumeric_xirr): Plug leak.
3907 1999-11-16  Jody Goldberg <jgoldberg@home.com>
3909         * src/selection.c (sheet_selection_move) : Fix.
3910           Use sheet_selection_set rather than passing a partially
3911           initialized sheet_set_selection.
3913 1999-11-15  Jody Goldberg <jgoldberg@home.com>
3915         * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Delete
3916           should clear contents not everything.
3918         * src/dialogs/dialog-cell-format.c (cb_align_h_toggle) : Fix Typo.
3920         * src/sheet.c (colrow_set_units) : Fix as per Bug 3472.
3921         (sheet_col_size_fit, sheet_row_size_fit) : Include the margins for
3922           non-default sized cells.
3924         * src/cell-draw.c (draw_overflow) : Center display.
3926         * src/cell.c (cell_calc_dimensions) : Behave better when zoomed.
3928 1999-11-15  Jody Goldberg <jgoldberg@home.com>
3930         * src/sheet-view.c (sheet_view_set_zoom_factor) : We are already
3931           manually scaling everything.  Don't do it again by zooming the
3932           canvas.
3934         * src/item-bar.c (item_bar_draw) : Burn that silly hack now that the
3935           mysteries have been made clear.  The canvas was auto centering.
3937         * src/sheet.c (sheet_move_range) : Clear the target region content
3938           and comments before pasting.
3939         (sheet_clear_region) : Convert the closure parameters into a flag
3940           designating whether or not to clear the styles in the region.
3942         * src/dialogs/dialog-delete-cells.c (dialog_delete_cells_impl) :
3943           Delete the selection, not the cells before it.  As suggested
3944           by Joseph Maher <maher@math.ucsb.edu> bug 3569.
3946 1999-11-15  Jukka-Pekka Iivonen  <iivonen@iki.fi>
3948         * src/functions/fn-financial.c: Implemented IRR and XIRR
3949         functions.
3951 1999-11-14  Jody Goldberg <jgoldberg@home.com>
3953         * src/dialogs/dialog-cell-format.c (draw_format_preview) :
3954           Reset the formats for General and Text.
3956         * src/parser.y (build_array) : Rows and cols were reversed
3957           when parsing.
3959         * plugins/ff-csv/csv.io.[ch] : Rewrite to merge parser
3960           and sheet handler.  Use mmap.
3962 1999-11-14  Michael Meeks  <mmeeks@gnu.org>
3964         * src/ranges.c (range_fragment_list_clip): Add check + warning +
3965         cull for invalid range fragments ( should never happen :-)
3966         (range_split_ranges): Add check for overlap to start +
3967         large re-write, some really mean bugs nailed, accidentaly
3968         accelerate performance.
3970         * src/ranges.h (range_valid): Add.
3972         * src/sheet-style.c (sheet_style_attach): Use range_valid.
3973         (list_check_sorted): Add valid range check + document.
3975         * src/xml-io.c (xml_write_styles): Ignore last 'full sheet' style
3976         region on save.
3978 1999-11-14  Michael Meeks  <mmeeks@gnu.org>
3980         * src/cell.c (cell_set_formula): Fixup for premature array formulae.
3982         * src/xml-io.c (xml_set_gnome_canvas_points, xml_write_names),
3983         (xml_write_summary, xml_set_print_hf, xml_set_print_unit),
3984         (xml_write_style, xml_write_summary, xml_write_cell),
3985         (xml_sheet_write): Update to new xml reenterency API.
3986         (xml_write_sheet_object): Add warning and check to quiet debug.
3988 1999-11-14  Jody Goldberg <jgoldberg@home.com>
3990         * src/xml-io.c (xml_write_style) : Save PatternColor.
3991         (xml_read_style) : Read PatternColor.
3992         (xml_write_style_border) : Save the line style.
3993         (xml_read_style_border) : Read the line style.
3995         * src/dialogs/dialog-cell-format.c (border_event) : Switch to
3996           selection_mask to handle singleton, vertical, horizontal, rectangle.
3997         (draw_border_preview) : Ditto.
3998         (init_border_button) : Ditto.
3999         (fmt_dialog_impl) : Ditto.
4000         (dialog_cell_format) : Init selection_mask looking at all selected
4001           ranges to see if any are more than 1 cell wide or tall.
4002         (border_event) : Extend the event map to handle the new shapes.
4004 1999-11-13  JP Rosevear  <jpr@arcavia.com>
4006         * src/dialogs/cell-sort.glade*: glade files for sort dialog
4007         * src/dialogs/dialog-cell-sort.c: Use the glade stuff and
4008         implement the header skipping for selections.
4010 1999-11-13  Michael Meeks  <mmeeks@gnu.org>
4012         * src/sheet-style.c (border_check): fixup for border, no border
4013         interface along edge; mark ambiguous.
4015 1999-11-12  Jody Goldberg <jgoldberg@home.com>
4017         * src/item-bar.c (item_bar_draw) : Clip the redraw region at the
4018           borders to avoid problems when zooming.
4019         (bar_draw_cell) : Use the internal fonts.
4020         (item_bar_unrealize) : Unref the fonts when we're done.
4021         (item_bar_realize) : Init the fonts.
4022         (item_bar_fonts_unref, item_bar_fonts_init) : New functions.
4024         * src/sheet-view.c (sheet_view_set_zoom_factor) : Scale itembar
4025           fonts when we zoom.
4027         From Jon K Hellan  <hellan@acm.org>
4028         * src/dialogs/font-sel.glade : removed the explicit sizes for
4029           font name entry and font style entry. Added explicit size to
4030           the scroll window around font size list, added y expand to the
4031           scroll windows.
4033 1999-11-13  Michael Meeks  <mmeeks@gnu.org>
4035         * src/sheet-style.c (sheet_selection_get_unique_style): kill bug
4036         with conflicting diagonals. (sheet_unique_cb): don't destroy
4037         valuable vert/horiz info in no middle case.
4039 1999-11-12  Michael Meeks  <mmeeks@gnu.org>
4041         * src/dialogs/dialog-cell-format.c (fmt_dialog_impl): unref the
4042         border when we've finished with it.
4044         * src/corba-sheet.c (fill_corba_value): Fixup killer bug.
4045         (Sheet_cell_get_pattern): fixup out of bounds return type.
4047         * src/selection.c (sheet_selection_paste): kill unused src_sheet
4048         var.
4050         * src/style.c (style_color_ref): Add return type.
4051         (style_color_black, style_color_white): create
4053         * src/sheet-style.c (sheet_unique_cb): Fixup for sheet invalid
4054         outer border ranges.
4056 1999-11-12  Michael Meeks  <mmeeks@gnu.org>
4058         * src/sheet-style.c (border_invalidate): implement.
4060 1999-11-12  Michael Meeks  <mmeeks@gnu.org>
4062         * src/dialogs/dialog-cell-format.c (sheet_cell_get_border),
4063         (do_check_border): kill. (fmt_dialog_impl): expand to add borders
4064         param.
4066         * src/sheet-style.c (sheet_unique_cb): Expand drastical.
4067         (border_check, border_mask): create.
4069         * src/dialogs/dialog-cell-format.c (init_border_button): Add border
4070         parameter (check_border): kill. (cb_check_border): kill.
4072 1999-11-12  Jody Goldberg <jgoldberg@home.com>
4074         * src/cell.c (cell_set_text_simple) : Store the entered text.
4076         * src/formats.c (cell_format_is_number) : Only non simple currencies
4077           require a space.
4079 1999-11-12  Miguel de Icaza  <miguel@gnu.org>
4081         * src/format.c (format_number): Use alloca here.
4083 1999-11-12  Jody Goldberg <jgoldberg@home.com>
4085         * src/dialogs/dialog-cell-format.c (fillin_negative_samples) :
4086           Add configurable currency symbols.
4087         (cb_format_currency_select) : New function.
4088         (fmt_dialog_init_format_page) : Init the list of currencies.
4090         * src/formats.c (CurrencySymbol) : Add 'None' and Pound
4091           ans set default to '$'.
4093         From Jon K Hellan  <hellan@acm.org>
4094         * src/dialogs/cell-format.glade:
4095           Use descriptive names for notebook pages.
4096           Change accelerators, should remove conflicts within pages.
4097           Remove explicit width for format_general_label.
4098           Use GtkLabel instead of GtkAccelLabel.
4099           Change spelling from "seperator" to "separator".
4100           Make decimals spinbutton focus target for "decimal places" label.
4101           format_negative_scroll: Set vscrollbar_policy to GTK_POLICY_AUTOMATIC.
4102           format_list_scroll: Set hscrollbar_policy to GTK_POLICY_NEVER.
4104         * src/dialogs/dialog-cell-format.c:
4105           Change spelling from "seperator" to "separator".
4106         (fmt_dialog_init_format_page):
4107         (fmt_dialog_enable_widgets): Also hide and show F_NEGATIVE_SCROLL.
4108         (cb_format_list_size_allocate):
4109           Make the selected line visible when we know our geometry.
4110         (fmt_dialog_init_format_page): Set negative clist title passive.
4111         (fmt_dialog_init_format_page):
4112           Call cb_format_changed to update display if "general" is displayed.
4113         (set_initial_focus): Set initial focus
4114         (fmt_dialog_impl): Set dialog title, set initial focus
4116 1999-11-12  Michael Meeks  <mmeeks@gnu.org>
4118         * src/workbook.c (workbook_attach_sheet): Add comment explaining life.
4120 1999-11-12  Michael Meeks  <mmeeks@gnu.org>
4122         * src/workbook.c (workbook_attach_sheet): Attach the
4123         editable_label pointer to the sheet tab.
4124         (workbook_rename_sheet): Fix _really_ broken label setting code #3134.
4126         * src/widgets/widget-editable-label.c (el_stop_editing): make
4127         toplevel destruction more explicit.
4129 1999-11-11  Michael Meeks  <mmeeks@gnu.org>
4131         * src/ranges.c (range_fragment_list_clip): Fix heinous range bug,
4132         I need instant dental care.
4134 1999-11-12  Tuomas Kuosmanen  <tigert@gimp.org>
4136         * src/pixmaps/money.xpm: New icon for "money" datatype.
4138 1999-11-11  Michael Meeks  <mmeeks@gnu.org>
4140         * src/selection.c (sheet_selection_paste): remove spurious
4141         unant.
4143 1999-11-11  Michael Meeks  <mmeeks@gnu.org>
4145         * src/mstyle.c (mstyle_new_default): Revert removal of
4146         default_mstyle patch.
4148         * src/selection.c (selection_move_range_cb): kill.
4149         (sheet_selection_move): fixup. (sheet_selection_paste): unant cursor
4150         on copy.
4152         * src/mstyle.c (mstyle_merge): Change semantics again, was stomping
4153         on other ref-counted copies. (mstyle_elements_copy): implement.
4154         (mstyle_copy): Implement.
4156 1999-11-10  Michael Meeks  <mmeeks@gnu.org>
4158         * src/ranges.c (range_fragment_list_clip): implement clipping.
4160         * src/sheet-style.c (sheet_mstyle_compute_from_list): split from
4161         (sheet_style_compute): and call.
4163         * src/ranges.c (range_expand): implement.
4165 1999-11-11  Jody Goldberg <jgoldberg@home.com>
4167         * src/mstyle.c (mstyle_new_default) : Disable caching of default
4168           style to prevent problems when overridden later.
4170         * src/dialogs/dialog-cell-format.c (draw_format_preview) :
4171           Generate accounting format strings.
4173         * doc/C/images/{number-format-dialog.jpg,
4174                         number-format-justification-dialog-2.jpg,
4175                         number-format-color-dialog-2.jpg) : Update.
4176         * doc/C/number-format.sgml : Update.
4178         * src/sheet-object-bonobo.c (sheet_object_bonobo_load) :
4179           The client_site is created in the initializer.
4181 1999-11-10  Jody Goldberg <jgoldberg@home.com>
4183         * src/selection.c (sheet_selection_move) : Delete.
4184         (sheet_selection_paste) : Use sheet_selection_set instead,
4185           and check for singletons and same shapeness when pasting a cut.
4187         * src/item-cursor.c (item_cursor_tip_setlabel) : New function, not
4188           used yet.
4189         (item_cursor_selection_event) : Keep track of the starting point.
4190         (item_cursor_drag_event) : Use info to not jump to the edge.
4191         (item_cursor_autofill_event) : Ditto.
4192         (item_cursor_set_bounds_visibly) : Minor patch to use the new offset
4193           information.
4195         * src/gnumeric-util.c (gnumeric_position_tooltip) : Be sensitive to 0.
4197         * src/gnumeric-sheet.c (gnumeric_sheet_new) : Select A1 at startup,
4198           not A1:B2.
4199         (move_cursor_horizontal) : Remove warning.
4201         * src/dialogs/dialog-cell-format.c (draw_format_preview) : Init
4202           variable.
4204         * src/cell-draw.c (cell_draw) : Correct problem with spanning columns.
4206         * src/pattern.c (gnumeric_background_set_gc) : Always set the GC
4207           in case a spanning column needs it.
4209         * src/item-grid.c (item_grid_draw) : Improve support for spanning
4210           columns going to the right.  We are still broken in that spanning
4211           columns to the left will skip borders.
4213         * src/dialogs/cell-format.glade : Improve layout for big fonts.
4215 1999-11-07  Miguel de Icaza  <miguel@gnu.org>
4217         * src/workbook.c (workbook_new): coding style requires a space
4218         before an opening parenthesis.
4220 1999-11-09  Michael Meeks  <mmeeks@gnu.org>
4222         * doc/features.txt: Added, please expand.
4224 1999-11-09  Michael Meeks  <mmeeks@gnu.org>
4226         * src/dialogs/dialog-cell-format.c (cb_fmt_dialog_dialog_apply): fix
4227         possible fatal ref handing problem. (fmt_dialog_impl): Fix state.result
4228         leak.
4230         * src/ranges.c (range_copy): simplify.
4232         * src/sheet-style.c (do_blank_border): create
4233         (sheet_selection_apply_border_cb): Add clearing 'outer' styles.
4234         (sheet_unique_cb): Kill freeing of range fragments; wierd.
4236 1999-11-09  Jody Goldberg <jgoldberg@home.com>
4238         * src/formats.c (cell_format_is_number) : Add initial currency,
4239           percent, and scientific notation support.
4241         * src/format.c (format_number) : Add support for currency codes.
4242         (format_value) : Ditto.
4244         * src/item-bar.c (bar_draw_cell) : Slight color adjustment to make
4245           it easier to see which rows/cols are selected.
4247         * src/render-ascii.c (cell_region_render_ascii) : Fix typo that was
4248           breaking pasting too the X selection.
4250         * src/dialogs/dialog-cell-format.c (fmt_dialog_init_format_page,
4251           fmt_dialog_impl, fmt_dialog_init_font_page, fmt_dialog_init_align_page,
4252           setup_color_pickers) :  Use mstyle_is_element_conflict.
4253         (dialog_cell_format) : Use sheet_selection_get_unique_style.
4254         (do_check_border) : Fix the boundary cases until we getthe extended
4255           uniq support.
4256         (draw_format_preview) : Add format generation routines for
4257           number, currency, percent, and scientific.
4259 1999-11-09  Michael Meeks  <mmeeks@gnu.org>
4261         * src/xml-io.c (xml_read_style_border): update to STYLE_BORDER_NONE.
4263         * src/sheet-style.c (do_apply_border): update.
4264         (sheet_selection_apply_border_cb): update + add diagonals here.
4265         (sheet_selection_set_border): simplify + update.
4267         * src/dialogs/dialog-cell-format.c (cb_fmt_dialog_dialog_apply):
4268         update to new sheet_selection_set_border API.
4270         * src/border.h: s/BORDER_/STYLE_BORDER_/
4272 1999-11-09  Jody Goldberg <jgoldberg@home.com>
4274         * src/dialogs/dialog-cell-format.c (init_border_button) : Use
4275           check_border.
4276         (check_border, cb_check_border,
4277          do_check_border, sheet_cell_get_border) : New functions.
4279 1999-11-08  Jody Goldberg <jgoldberg@home.com>
4281         * src/selection.c (selection_foreach_range) : Have the call back
4282           return a flag.
4284         * src/dialogs/dialog-cell-format.c (draw_border_preview) :
4285           Support for presetting the border types.
4287         * src/widgets/gnumeric-dashed-canvas-line.c
4288         (gnumeric_dashed_canvas_line_set_dash_index) : Remove unused rgba
4289           argument.
4291         * src/selection.c (selection_first_range) : Add permit_complex flag.
4293         * src/item-grid.c (item_grid_draw_border) : Correct diagonal vs
4294           reverse diagonal.
4296         * src/border.c (style_border_none) : New function.
4297         (style_border_fetch) : Use new function to handle BORDER_NONE.
4298         (style_border_unref) : Be extra careful about border_none.
4299         (style_border_draw) : Handle BORDER_NONE.
4301         * src/formats.c : Reorg slightly.
4303         * src/mstyle.c (mstyle_new_default) : Init to border_none.
4305         * src/sheet-style.c (sheet_selection_apply_border_cb) :
4306           Rework to apply inside regions, and clear regions when appropriate.
4308         * src/xml-io.c : Expand set of border style names.
4310         * src/dialogs/dialog-cell-format.c : Move closer to selecting
4311           formats correctly.
4312           Set & clear borders now.
4314 1999-11-08  Michael Meeks  <mmeeks@gnu.org>
4316         * src/dialogs/dialog-summary.c (summary_get): fix minor naming
4317         bug.
4319         * src/mstyle.c (mstyle_element_dump): fixup for NULL borders.
4321 1999-11-08  Frank Chiulli <fchiulli@home.com>
4323         * src/summary.c : Added new strings to summary_item_name to reflect all
4324           the fields/items in SummaryInformation and DocumentSummaryInformation.
4326         * src/summary.c (summary_item_new_boolean) : New function.
4328         * src/summary.c (summary_item_new_short) : New function.
4330         * src/summary.c (summary_item_as_text) : Now processes the new summary
4331           types (SUMMARY_BOOLEAN, SUMMARY_SHORT\x13, SUMMARY_TIME).
4333         * src/summary.c (summary_item_free) : Now processes the new summary
4334           types (SUMMARY_BOOLEAN, SUMMARY_SHORT\x13, SUMMARY_TIME).
4336         * src/summary.h : Added new enums to SummaryItemType (SUMMARY_BOOLEAN,
4337           SUMMARY_SHORT, SUMMARY_TIME).  Added new enums to SummaryItemBuiltin
4338           to summary all the summary items.  Added two new fields (short_i and
4339           boolean) the v union within the _SummaryItem struct.  Added prototypes
4340           for the new public functions.
4342         * src/dialogs/dialog-summary.c (summary_get): Field names are construct-
4343           ed from the name in summary_item_name[] with "glade_" prefixed.
4345         * src/dialogs/dialog-summary.c (summary_put): Field names are construct-
4346           ed from the name in summary_item_name[] with "glade_" prefixed.
4348         * src/dialogs/dialog-summary.c (dialog_summary_update) : Added new
4349           summary field - Company.
4351         * src/dialogs/summary.glade : Added new summary field - Company.
4353         * src/dialogs/summary.glade.h : Added new summary field - Company.
4355 1999-11-08  Michael Meeks  <mmeeks@gnu.org>
4357         * src/sheet-style.c (sheet_selection_apply_border_cb): Update
4358         to only set 'inner' regions.
4360 1999-11-08  Jody Goldberg <jgoldberg@home.com>
4362         * src/xml-io.c (xml_write_style_border) : Handle NULL borders.
4364         * src/border.c (style_border_ref, style_border_unref) : NULL is
4365           permissible.
4367         * src/format.c (format_get_thousand, format_get_decimal) : Init
4368           locale if necessary.
4370         * src/formats.c (cell_format_is_number) : New function.
4372         * src/mstyle.c (mstyle_new_default) : Init borders to NULL to indicate
4373           no borders.  This allows borders to be cleared.
4375         * src/dialogs/dialog-cell-format.c : Use locale.
4376           Begin use of cell_format_classify.
4378 1999-11-07  Jody Goldberg <jgoldberg@home.com>
4380         * src/selection.c (cb_set_row_height, sheet_selection_height_update) :
4381           Put these back until we support shrinking in calc_dimensions.
4383         * src/dialogs/dialog-cell-format.c (cb_fmt_dialog_dialog_apply):
4384           replace call to height_update.
4386         * src/workbook-format-toolbar.c (change_font_size_in_selection_cmd):
4387         Replace call.
4389 1999-11-07  Jody Goldberg <jgoldberg@home.com>
4391         * src/selection.c (selection_apply) : Bug 3382.  Be more careful
4392           when regions are completely contained.
4394         * src/format.c (format_get_thousand, format_get_decimal) : New
4395           functions.
4397 1999-11-07  Michael Meeks  <mmeeks@gnu.org>
4399         * plugins/Makefile.am (SUBDIRS): add oleo.
4401         * configure.in: ditto.
4403 1999-11-07  Michael Meeks  <mmeeks@gnu.org>
4405         * src/ranges.c (range_translate): implemented.
4407         * src/selection.c (sheet_selection_paste): Add sheet_selection_move.
4408         (sheet_selection_move): implement.
4410         * src/sheet.c (sheet_new): clear dirty flag (attaching the default
4411           style was setting it).
4413 1999-11-07  Michael Meeks  <mmeeks@gnu.org>
4415         * s/border_/style_border/
4417         * src/selection.c (sheet_selection_height_update): Kill; ill-concieved.
4418         (cb_set_row_height): ditto.
4420         * src/dialogs/dialog-cell-format.c (cb_fmt_dialog_dialog_apply): hack
4421         out height_update.
4423         * src/workbook-format-toolbar.c (change_font_size_in_selection_cmd):
4424         remove call.
4426 1999-11-07  Jody Goldberg <jgoldberg@home.com>
4428         * src/dialogs/dialog-cell-format.c (cb_fmt_dialog_dialog_apply) :
4429           Get a fresh style after applying changes.
4431         * src/Makefile.am : Remove non-existant sheet-style.h.
4433 1999-11-06  Michael Meeks  <mmeeks@gnu.org>
4435         * src/sheet-style.c (sheet_selection_set_border): Set the diagonals,
4436         clean the closure.
4438         * src/dialogs/dialog-cell-format.c (fmt_dialog_impl) : Dont close the
4439           dialog until ok or cancel is pressed.
4441 1999-11-06  Jody Goldberg <jgoldberg@home.com>
4443         * src/selection.c (sheet_selection_height_update) : Call the
4444           autoresize code for non user sized rows.  Do not just hard code the
4445           new height.
4447         * src/dialogs/dialog-cell-format.c (cb_font_changed) : Apply changes
4448           to the font.
4449         (cb_fmt_dialog_dialog_apply) : Call sheet_selection_height_update if
4450           the font changed.
4452 1999-11-06  Jody Goldberg <jgoldberg@home.com>
4454         * src/sheet-view.c (sheet_view_set_zoom_factor) : Smaill patch from
4455           Federico Mena Quintero to improve item-bar resize while zoomed.
4457         * src/dialogs/dialog-cell-format.c (border_get_mstyle) : Support
4458           color.
4460         * src/dialogs/cell-format.glade : Minor alignment improvments with
4461           large fonts.
4463 1999-11-05  Jody Goldberg <jgoldberg@home.com>
4465         * src/print-cell.c (print_cell_background) : Follow the correct
4466           conventions on whether to draw a background.
4468         * src/sheet.c (sheet_clear_region) : Clear the style also.
4469         (sheet_fill_selection_with) : Run a recalc after autofill to ensure
4470           that all formulas get rendered.
4472         * src/mstyle.c (mstyle_new_default) : Set the pattern to transparent.
4474         * src/workbook.c (workbook_menu_edit_clear) : Fix typo.
4476         * src/pattern.c (gnumeric_background_set_gc) : Move the pattern &
4477           background GC setup logic from item_grid_paint_empty_cell here.
4479         * src/item-grid.c (item_grid_paint_empty_cell) :
4480           Use gnumeric_background_set_gc.
4482         * src/cell-draw.c (cell_draw) : Ditto.
4484         * src/border.c (border_set_gc_dash) : Adjust cap format.
4486         * src/item-grid.c (item_grid_paint_empty_cell) : Split background and
4487           pattern GC setup in a new function.
4489         * src/pattern.c (gnumeric_background_set_gc) : New function.
4491         * src/cell-draw.c (cell_draw) : Use gnumeric_background_set_gc.
4493 1999-11-05  Michael Meeks  <mmeeks@gnu.org>
4495         * src/border.c (border_fetch): re-do orientation.
4497         * src/xml-io.c (xml_read_style_border): update orientation +
4498         IO the full set of borders. (xml_write_style_border): ditto.
4500         * src/dialogs/dialog-cell-format.c (border_get_mstyle): Create.
4501         (cb_fmt_dialog_dialog_apply): Add border bits.
4503         * src/sheet-style.c (do_apply_border, sheet_selection_apply_border_cb),
4504         (sheet_selection_set_border): Implement.
4506 1999-11-05  Michael Meeks  <mmeeks@gnu.org>
4508         * src/sheet.h: add sheet_selection_set_border.
4510         * src/style.c (style_new, style_new_mstyle, style_new_empty),
4511         (style_destroy, style_duplicate, style_merge_to): Hack.
4513         * src/mstyle.h: kill style_new_mstyle.
4515         * src/style.h: Kill redundant old code.
4517 1999-11-04  Jody Goldberg <jgoldberg@home.com>
4519         * src/item-grid.c (item_grid_paint_empty_cell) : As per instructions
4520           from quartic we must call gnome_canvas_set_stipple_origin or things
4521           get strange with stipples and the cursor.
4523         * src/expr.c (expr_tree_array_formula_corner) : If the corner is not
4524           set attempt to set it.  Add more sanity checking to ensure that the
4525           corner cell is really a corner cell.
4526         (eval_expr_real, do_expr_decode_tree) : Adjust to interface change in
4527           expr_tree_array_formula_corner.
4529         * src/eval.c (add_tree_deps) : do not depend on the array corner being
4530           set while calculating dependancies.  This eases the burden on insert
4531           row/col which is forced to insert the lower/right cells BEFORE the
4532           upper left and hence before the corner is set.
4534 1999-11-04  Michael Meeks  <mmeeks@gnu.org>
4536         * src/corba-workbook.c (Workbook_save_to): Update so it compiles!
4537         (Workbook_sheet_current): Use standard 'wb' var. name.
4539         * src/sheet.c (sheet_move_range): add style slide.
4541         * src/sheet-style.c (sheet_unique_cb): Use range_fragment_list instead.
4542         (sheet_style_relocate): Implement.
4544         * src/ranges.c (range_fragment_list): Fix cretinous logic bug.
4545         (range_fragment): Split out (range_fragment_list): use it.
4546         (range_split_ranges): Update to use copy_fn + globalise.
4547         (range_fragment): fix leak.
4549 1999-11-03  Miguel de Icaza  <miguel@gnu.org>
4551         * src/expr.c (eval_range): Removed parsed node from here too.
4552         (eval_range): Removed computation logic from here.
4553         (eval_expr_real): ditto.
4555         * src/func.c (iterate_cellrange_callback): Ditto.
4557         * src/cell.c (cell_eval, cell_eval_content): Redone the evaluation
4558         logic to put all the actual details in a single spot.
4560 1999-11-03  Miguel de Icaza  <miguel@gnu.org>
4562         * src/expr.c (eval_expr_real): Removed cell->parsed_node &&
4563         (cell->flags & CELL_QUEUED_FOR_RECALC)) from condition.
4565         * src/func.c (iterate_cellrange_callback): ditto.
4567 1999-11-02  Miguel de Icaza  <miguel@gnu.org>
4569         * src/workbook.c: change the binding.  Not clear to me yet if we
4570         need to fix gnome-libs.
4572 1999-11-04  Jody Goldberg <jgoldberg@home.com>
4574         * src/workbook-format-toolbar.c (back_color_changed) : Set the pattern
4575           to solid if we assign a colour to an area that did not have a
4576           background before.
4578         * src/dialogs/dialog-cell-format.c (fmt_dialog_enable_widgets) :
4579           Improve support for custom formats, and ensure that we
4580           temporarily start off in 'Custom' until the rest of the format
4581           recognition is ready.
4583 1999-11-03  Jody Goldberg <jgoldberg@home.com>
4585         * src/dialog/dialog-cell-format.c : Rewrite.
4587         * src/item-grid.c (item_grid_paint_empty_cell) : First attempt to
4588           draw patterns correctly.  We'll move much of this into a new routine
4589           to be shared by non-empty cells if it works.
4591         * src/gnumeric-sheet.c (gnumeric_sheet_realize) : move the patterns
4592           into their own file.
4594         * src/pattern.[ch] : New file.
4596         * src/mstyle.c (mstyle_new_default) : Do not set the pattern colour
4597           by default.
4599 1999-10-06  Jon K Hellan  <Jon.K.Hellan@item.ntnu.no>
4601         * src/file.c
4602         (workbook_import): Initial focus and selection in import dialog
4603         (workbook_save_as): Specify the app as the parent.
4605         * src/file.c
4606         (workbook_read): Moved error message code to new
4607         file_error_message procedure
4608         (file_error_message): The procedure
4609         (workbook_save, workbook_save_as): Notice failure to
4610         save. Clean marking of sheet moved from xml-io.c to here.
4612         * src/xml-io.c (xml_sheet_write, gnumeric_xml_read_sheet,
4613         gnumeric_xml_write_sheet):
4614         Dirty/clean marking of sheet moved out.
4616         * src/corba-workbook.c (Workbook_save_to):
4617         Mark saved sheet clean. FIXME: Failure to save still ignored.
4619 1999-11-03  Michael Meeks  <mmeeks@gnu.org>
4621         * src/sheet.c (sheet_insert_col, sheet_insert_row): fiddle styles.
4623         * src/sheet-style.c (sheet_style_region_link): implement.
4624         (sheet_style_stamp_compare): implement.
4625         (style_region_new): create. (sheet_style_attach): use it.
4626         (style_region_copy): implement.
4627         (style_region_destroy): create (sheet_style_region_unlink): use.
4628         (sheet_style_insert_colrow): implement.
4630         * src/ranges.c (range_contained): Make semantics more logical.
4632 1999-11-03  Michael Meeks  <mmeeks@gnu.org>
4634         * src/sheet-style.c (sheet_style_delete_colrow): Fixup.
4636         * src/sheet.c (sheet_delete_row, sheet_delete_col): Add style stage.
4638 1999-11-02  Michael Meeks  <mmeeks@gnu.org>
4640         * src/workbook.c (workbook_set_filename): update precondition macros.
4642         * src/sheet-style.c (sheet_style_region_unlink): Create.
4643         (sheet_style_optimize): use it. (sheet_style_delete_colrow): Implement.
4645         * src/ranges.c (range_contained): Implement.
4647 1999-11-02  Federico Mena Quintero  <federico@redhat.com>
4649         * src/print-preview.c (PreviewMode): Renamed the move modes to
4650         MODE_MOVE and MOVE_MODE_DRAGGING.
4651         (preview_canvas_button_press): Split the event handling code
4652         between several functions.  Rationale:  we will want drag-zoom and
4653         we need different modes for this, and the code in a single
4654         function would get unwieldy.  In addition, grab the pointer and
4655         use GDK_POINTER_MOTION_HINT_MASK for better behavior.
4656         (PrintPreview): Added fields for drag anchor and drag offset.
4657         (drag_to): New function to drag/scroll.
4658         (create_preview_canvas): Connect to the different event handlers.
4659         (do_zoom): We do not need to re-render the page; just set the zoom
4660         factor.  Also, use exponential zooming for better behavior.
4662         * src/cursors.h: Moved the cursor #defines to an enum.  This way
4663         we can check for a max value in cursor_get().  Moved the cursor
4664         array to the .c file and made it private.
4666         * src/cursors.c (cursors_init): Added sanity check so that all
4667         cursors are defined.
4668         (cursor_get): New function to get a cursor based on its type.
4669         (cursors): Added hand cursors.
4671         * src/pixmaps/cursor_hand_{open,closed}.xpm: Added hand cursors.
4673 1999-11-01  Jody Goldberg <jgoldberg@home.com>
4675         * src/item-grid.c (item_grid_realize) : Set the default background
4676           to white, so that the redraws are not quite so obvious.
4678         * ./src/sheet.c (cellref_name) : Change to take a ParsePosition
4679           rather than just a row, col so that we can handle inter-book
4680           references.
4682         * src/expr.c (do_expr_decode_tree) : Pass a ParsePosition.
4683         (cellref_relocate) : Fix typo.
4685         * src/corba-sheet.c (fill_corba_value) : Pass a ParsePosition.
4687         * src/parser.y : Dummy up a parser for intersheet references.  NOT
4688           complete as yet.
4690         * src/sheet-view.[ch] : Add select_all data member to SheetView.
4692         * src/sheet.c (sheet_move_range) : Correct handling of intersheet
4693           and interbook references.
4695         * src/workbook.c (workbook_new_with_sheets) : Assign a default unique
4696           name so that all workbooks will have a name.
4697         (workbook_set_filename) : Change return to allow for eventual test for
4698           uniqueness.
4700 1999-11-01  Miguel de Icaza  <miguel@gnu.org>
4702         * src/item-bar.c (item_bar_draw): Optimize.
4703         (is_pointer_on_division): Bug fix for boundary condition.
4704         (get_col_from_pos): ditto.
4706 1999-10-30  Miguel de Icaza  <miguel@gnu.org>
4708         * src/print-preview.c (preview_canvas_event): Reversed the delta
4709         computation, to make the scrolling follow what federico
4710         suggested.
4712         * src/workbook-format-toolbar.c: Change the money format to
4713         include decimals.
4715 1999-10-29  Miguel de Icaza  <miguel@gnu.org>
4717         * src/xml-io.c (xml_init): Rename.
4719 1999-10-25  Miguel de Icaza  <miguel@gnu.org>
4721         * src/complex.h (GNUMERIC_COMPLEX_PROTO): Fix from Tom Mooney to
4722         get the compile settings done correctly.
4724 1999-11-01  Michael Meeks  <mmeeks@gnu.org>
4726         * src/workbook-format-toolbar.c (modify_cell_format): fix
4727         style ref leak.
4729 1999-11-01  Michael Meeks  <mmeeks@gnu.org>
4731         * src/mstyle.c (mstyle_merge): Radicaly alter semantics and
4732         function + document. (mstyle_empty): add.
4734         * src/sheet-style.c (sheet_style_optimize): Only remove lower
4735         stamp items if all there elements are safely masked.
4737 1999-11-01  Michael Meeks  <mmeeks@gnu.org>
4739         * src/sheet-style.c (list_check_sorted): create + add checks.
4740         (sheet_style_optimize): Use stamps correctly.
4741         (sheet_styles_dump): dump stamp.
4743         * src/mstyle.c (mstyle_merge, mstyle_dump): Kill stamp.
4744         (mstyle_stamp_compare, dump_style_flist): kill.
4746         * src/sheet-style.c (sheet_style_attach): set stamp + inc.
4748         * src/sheet.h: Move StyleRegion to sheet-style.c + add stamp.
4750 1999-10-31  Michael Meeks  <mmeeks@gnu.org>
4752         * src/sheet-style.c (sheet_style_compute, sheet_unique_cb): Kill
4753         check_sorted; the style stamp stuff needs serious work. The stamp
4754         should be on the StyleRegion _not_ the MStyle.
4756 1999-10-31  Michael Meeks  <mmeeks@gnu.org>
4758         * NEWS (Daniel): credit.
4760         * acconfig.h: add undef ENABLE_GB
4762         * configure.in: Add preliminary 'gb' autoconf support. Add comments.
4764 1999-10-31  Jody Goldberg <jgoldberg@home.com>
4766         * src/border.c (border_set_gc_dash, border_get_width) : New functions.
4768         * src/widgets/gnumeric-dashed-canvas-line.[ch] : New canvas item
4769           that has advanced dash formats.
4771 1999-10-30  Michael Meeks  <mmeeks@gnu.org>
4773         * src/sheet-object.c (sheet_object_drop_file): Fixup bad mapping
4774         case.
4776 1999-10-30  Michael Meeks  <mmeeks@gnu.org>
4778         * src/eval.c (region_get_dependencies): Update.
4779         (search_range_deps): fix logic bug in range intersection.
4781         * src/mstyle.c (mstyle_merge): Make sta the default master style,
4782         fix several logic bugs in stamp order preservation + stamp from the
4783         master style.
4784         (mstyle_list_check_sorted): kill debug churning, just answer.
4785         (mstyle_stamp_compare): Implement.
4787         * src/sheet-style.c (sheet_style_optimize): Add warning + use
4788         new stamp merging fn. + simplify by NULLing slain StyleRegion list
4789         elements. (sheet_style_compute): quieten debug.
4791 1999-10-30  Jody Goldberg <jgoldberg@home.com>
4793         * src/gnumeric-sheet.c (gnumeric_sheet_new) : Found the drawing
4794           problem wherin it was not possible to jump to the bottom of a
4795           64k row sheet.  The scroll region of 1M was too small.  Upped it
4796           to 1,200,000.
4797         (gnumeric_sheet_compute_visible_ranges) : A fencepost-ish problem.
4798           There is no need to increment the col/row count once we've found
4799           the end.  Doing so risks falling prey to the boundary cases.
4801         * src/sheet-view.c (new_canvas_bar) : Ditto.
4803 1999-10-29  Michael Meeks  <mmeeks@gnu.org>
4805         * src/sheet.c (sheet_set_zoom_factor): don't bother re-rendering update.
4807         * src/sheet-style.c (sheet_cells_update): Add re-render argument.
4808         (re_dimension_cells_cb): update. (sheet_selection_apply_style_cb): if
4809         format changed re-render cell's text + add redraw.
4811 1999-10-28  Jody Goldberg <jgoldberg@home.com>
4813         * src/widgets/widget-font-selector.c (reload_preview) :
4814           Copy the style rather than creating a new one.  So that
4815           we can change the colour elsewhere if desired.
4816         (font_selector_set) : Fix typos.
4817         (list_realize) : We cannot moveto
4818           a list element until after the widget is realized.  Add a handler
4819           to take care of it.
4821         * src/dialogs/font-sel.glade : Make the scrollbars optional.
4822           Fix the height of the preview area to avoid irritating flicker
4823           as the dialog resizes.
4825 1999-10-28  Michael Meeks  <mmeeks@gnu.org>
4827         * src/item-grid.c (item_grid_set_gc_stipple): Add.
4828         (item_grid_draw_cell, item_grid_paint_empty_cell): use it, but
4829         it blows up wierdly :-(
4831         * AUTHORS: Updated.
4833 1999-10-27  Michael Meeks  <mmeeks@gnu.org>
4835         * src/ranges.c (range_contains): kill.
4837         * src/sheet.h (range_contains): Add (performance critical).
4839         * src/dialogs/dialog-cell-format.c (create_background_radio): Add pattern
4840         reading. (create_coloring_page): update pattern bits.
4841         (apply_coloring_format): Use the pattern index.
4843 1999-10-26  Michael Meeks  <mmeeks@gnu.org>
4845         * src/dialogs/dialog-cell-format.c (create_background_radio): Make
4846         pattern selector global.
4848 1999-10-27  Morten Welinder  <terra@diku.dk>
4850         * src/xml-io.c (xml_probe): Improve message when probing fails.
4852         * src/main.c (gnumeric_main): Don't let workbook_count go to zero
4853         just because loading the first command-line specified sheet fails.
4854         (Bug 3119.)
4856 1999-10-26  Morten Welinder  <terra@diku.dk>
4858         * src/format.c (format_compile): Plug leak.
4860         * src/workbook.c (workbook_new): Typo.
4862 1999-10-26  Jody Goldberg <jgoldberg@home.com>
4864         * src/cell.c (cell_style_changed) : Fix.
4866         * src/dialog/utils-dialog.[ch] : Add gnumeric_load_image.
4867         * src/dialog/dialog-printer-setup.c : Stolen from here.
4869 1999-10-26  Michael Meeks  <mmeeks@gnu.org>
4871         * src/mstyle.c (mstyle_set_pattern): cripple for now.
4873         * src/xml-io.c (xml_sheet_write): Write the style regions in the
4874         correct order !. (xml_read_style): set italic for italic.
4876         * src/sheet-style.c (sheet_get_style_list): Return a copy.
4878         * src/xml-io.c (xml_read_cell_styles),
4879         (xml_dispose_read_cell_styles): replace.
4880         (xml_sheet_read): Add read_cell_styles*.
4882 1999-10-26  Jukka-Pekka Iivonen  <iivonen@iki.fi>
4884         * src/functions/fn-stat.c: Fixed the const arguments of GROWTH and
4885         TREND.
4887         * src/regression.[ch], src/functions/fn-stat.c: Started adding the
4888         extra statistical output for LINEST and LOGEST.
4890         * src/functions/fn-database.c: Started the implementation of
4891         GETPIVOTDATA.
4893 1999-10-25  Jody Goldberg <jgoldberg@home.com>
4895         * src/main.c (gnumeric_main) : Remove current_workbook notion.
4897         * src/dialogs/dialog-simple-input.c (dialog_get_number) : Return
4898           FALSE on cancel too.
4900         * src/workbook-cmd-format.[ch] : Add std row/column size scale factors.
4901         (workbook_cmd_format_row_height) : Use them.
4903         * src/item-bar.c (colrow_tip_setlabel) : Use the scale factors.
4905         * src/application.[ch] : New files to hold data common to all
4906           workbooks.
4908         * src/item-grid.c (create_popup_menu) : Use gboolean and split
4909           paste and paste special. Add pixmaps.
4910         (item_grid_popup_menu) : Use application_clipboard_is_empty.
4911         (item_grid_invert_gc) : Add extended_right flag to disable right
4912           border for extended cells.
4914         * src/item-cursor.c (item_cursor_start_animation) : Decrease the
4915           timeout.
4917         * src/main.c : Use application_init.
4918         * src/selection.c : Use application_clipboard_copy,
4919           application_clipboard_cut.
4920         (find_a_clipboard, find_workbook_with_clipboard) : Delete.
4921         (sheet_selection_paste) : Use sheet_move_range for cut.
4923         * src/sheet.[ch] : Export sheet_move_range.
4924         (sheet_move_range) : Plug leak when a cell is moved out of bounds.
4926         * src/clipboard.c (x_selection_handler) : Use
4927           application_clipboard_contents_get and respect the difference
4928           between cut & copy.
4930         * src/workbook.[ch] :  Move clipboard stuff into application.h.
4931         (paste_cmd, paste_special_cmd) : Catch attempt to paste nothing.
4933         * src/Makefile.am : Add application.[ch].
4935 1999-10-25  Michael Meeks  <mmeeks@gnu.org>
4937         * TODO: Prune scads of completed work out, + add some guff about
4938         sorting out cell spans; another fun fun project :-)
4940         * src/cell.c (cell_style_changed): implement.
4942         * src/sheet.c (sheet_new): use get_full_range clean.
4943         (sheet_set_zoom_factor): Add sheet_cells_update to re-calc bits.
4945         * src/sheet-style.c (sheet_cells_update, re_dimension_cells_cb): Create.
4946         (sheet_selection_apply_style_cb): Add sheet_cells_update.
4947         (sheet_get_full_range): implement for convenience.
4949         * doc/Styles.txt: Add "ref-counting for dummies" and "Getting a Style"
4950         sections.
4952 1999-10-25  Morten Welinder  <terra@diku.dk>
4954         * src/complex.h: Fix typo.  thanks to Tim Mooney.
4956 1999-10-25  Jukka-Pekka Iivonen  <iivonen@iki.fi>
4958         * src/functions/fn-database.c: Fixed the criteria argument
4959         handling.  Each column defines conditions in boolean AND relation
4960         and each row in criteria matches in boolean OR relation with the
4961         given database.  Fixed the non-numeric return values of DGET.
4962         Documentation improvements.
4964         * src/func.h (func_criteria_t): Added column field.
4966 1999-10-24  Miguel de Icaza  <miguel@gnu.org>
4968         * src/cellspan.c (cell_register_span): Create the span if required.
4970         * src/sheet.c (sheet_destroy_contents): Remove debugging messages.
4971         (sheet_row_new): Row spans are now created on demand.
4973         * src/xml-io.c (xml_get_print_hf): Plug memory leak.
4974         (xml_get_print_hf): More leak fixes.
4976         * src/mstyle.c (mstyle_verify): Fixed.
4978         * src/sheet.c (sheet_destroy_contents): Change the routine that
4979         destroys the cells.
4980         (destroy_sheet_cell_cb): Proper cell destruction code.
4981         (cb_free_cell): Make this routine free the cell *CORRECTLY*.
4982         Please, do not break the code like this in the future.
4984         * src/workbook.c (sheet_action_delete_sheet): Do not destroy the
4985         sheet here.
4986         (workbook_detach_sheet): Destroy the sheet here, before queuing a
4987         recalc.
4988         (workbook_do_destroy): Do not kill the sheet here.
4990 1999-10-24  Michael Meeks  <mmeeks@gnu.org>
4992         * src/mstyle.c (MStyleElement): Make font.size float + shrink enums.
4993         Add standard header.
4995 1999-10-24  Michael Meeks  <mmeeks@gnu.org>
4997         * src/sheet-style.c (sheet_style_attach): kill redundant style_ref.
4999         * src/xml-io.c (xml_write_style): Use default_back instead of _fore for
5000         the background.
5002         * src/item-edit.c (item_edit_draw): generate a StyleFont when needed.
5003         (item_edit_init): init mstyle. (item_edit_destroy): unref mstyle.
5005         * src/item-edit.h: Use an MStyle instead of a Style.
5007 1999-10-24  Michael Meeks  <mmeeks@gnu.org>
5009         * src/mstyle.c (mstyle_new_default): Re-enable the standard background
5010         color for now so things don't crash everywhere.
5012         * src/item-grid.c (item_grid_draw_cell): Fixes for unset colors.
5014         * src/Makefile.am (CLEANFILES): remove spurious binaries on clean.
5016         * src/dialogs/dialog-cell-format.c (create_coloring_page): Sort out
5017         case of no colors.
5019 1999-10-24  Michael Meeks  <mmeeks@gnu.org>
5021         * src/sheet-style.c (sheet_unique_cb): Again, CVS merge bug fixed.
5023         * src/mstyle.c (mstyle_elements_equal): Fix stupid bug ( again ).
5024         (mstyle_elements_compare): fix big bug; stupid CVS.
5026         * src/sheet.c (sheet_update_controls): fix leak.
5028         * src/sheet-style.c (sheet_destroy_styles): fix leak.
5030         * src/cell.c (cell_get_style): Kill.
5032         * src/functions/fn-information.c (gnumeric_cell): Update format
5033         section.
5035         * src/sheet.c (cb_set_cell_value): Kill FORMAT_SET reference
5036         and use new style API.
5038         * src/cell.h: Kill CELL_FORMAT_SET flag.
5040 1999-10-23  Michael Meeks  <mmeeks@gnu.org>
5042         * src/print-cell.c (print_cell_text): kill Style.
5043         (print_cell): ditto.
5044         (print_cell_grid): Add checks on return type of
5045         sheet_*_get_info.
5047         * src/mstyle.h: big constification.
5049         * src/mstyle.c (mstyle_verify): fix compile errors.
5051         * src/cell-draw.c (sheet_view_font): Kill.
5052         (cell_draw): edge out Style.
5053         (sheet_get_style_font): create.
5055         * src/cell.c (cell_get_mstyle): implement.
5057         * src/style.h: Change structs back to typedef defines + move
5058         "mstlye.h" include to foot + add MStyleBorder.
5060         * src/item-grid.c (item_grid_draw_border): Take an MStyle.
5061         (item_grid_paint_empty_cell): pass an mstyle + kill a Style.
5062         (item_grid_draw_cell): edge Style out.
5064 1999-10-24  Jody Goldberg <jgoldberg@home.com>
5066         * src/sheet-style.c (sheet_style_attach) : reference the style object.
5068         * src/mstyle.c (mstyle_elements_equal) : Correct the loop.
5070         * src/mstyle.c (mstyle_new_default) : Do not set colours by default.
5071           There is an important difference between selecting a colour and
5072           using the default colour.  The default does not override the
5073           borders.
5075 1999-10-23  Michael Meeks  <mmeeks@gnu.org>
5077         * doc/Styles.txt: update.
5079 1999-10-23  Michael Meeks  <mmeeks@gnu.org>
5081         * src/corba-sheet.c (Sheet_cell_get_pattern, Sheet_cell_set_pattern):
5082         implement.
5084         * src/sheet-style.c (sheet_unique_cb): Re-clip against selection
5085         after fragment and use all ranges.
5087         * src/dialogs/dialog-cell-format.c (format_number_select_row): Add
5088         check to kill debug; odd.
5090 1999-10-22  Michael Meeks  <mmeeks@gnu.org>
5092         * src/mstyle.c (mstyle_elements_compare): fix.
5094         * src/ranges.c (range_fragment): Silly logic error + only 1 range
5095         case.
5097         * src/dialogs/dialog-cell-format.c (create_coloring_page): fixup.
5099         * src/sheet-style.c (sheet_selection_get_unique_style): add debug.
5101 1999-10-22  Miguel de Icaza  <miguel@gnu.org>
5103         * src/Makefile.am (Gnumeric-impl.o): Do not use BUILT_SOURCES as
5104         suggested by Tom.
5105         ($(GNUMERIC_CORBA_GENERATED)): Removed ugly hack
5107         * src/selection.c (cb_set_row_height): Include the fix from the
5108         pre-style change
5110         * src/workbook.c (workbook_can_close): Do not let the can-close
5111         dialog box to be run twice (one from the C-w dialog, another from
5112         the Window Manager request).
5114         * src/widgets/widget-font-selector.c (fs_destroy): display_font is
5115         not a GtkObject, but a pointer to a GnomeDisplayFont which is just
5116         a structure "owned" by GnomePrint.
5118         * src/dialogs/dialog-cell-format.c (cb_set_row_height): Only
5119         autofit when growing, not shrinking.
5121         * src/cell-draw.c (cell_draw): Remove margin from here.
5123         * src/widgets/widget-font-selector.c (size_selected): Set the size
5124         here.
5125         (font_selector_set): Set the size here too.
5127         * src/dialogs/dialog-cell-format.c (apply_font_format): Use the
5128         font dimension from the font selector, not from the GnomeFont.
5130 1999-10-21  Miguel de Icaza  <miguel@gnu.org>
5132         * src/sheet.c (sheet_accept_pending_input): Focus current sheet
5133         also to kill any F2 editing.
5135         * configure.in (bonobo): Require Bonobo 0.5
5137         * src/gnumeric-sheet.c (gnumeric_sheet_selection_cursor_base): New
5138         routine to control the "base" spinning location.
5140         * src/item-grid.c (item_grid_button_1): Start cell selection if
5141         user clicks and a selection is going on.  Reset the spin base here.
5143         * src/sheet.c (sheet_cancel_pending_input): Queue a recalc here,
5144         as we have modified the cell values.
5146 1999-10-20  Martin Norbäck  <norpan@bigfoot.com>
5148         * gnumeric.desktop.in: Added Swedish translation
5150 1999-10-22  Michael Meeks  <mmeeks@gnu.org>
5152         * src/mstyle.c (mstyle_destroy): update.
5154 1999-10-21  Michael Meeks  <mmeeks@gnu.org>
5156         * src/border.c (border_draw): Constify.
5158         * src/sheet-autofill.c (autofill_cell): Fix.
5160         * src/corba-sheet.c (Sheet_cell_get_alignment, Sheet_cell_set_alignment),
5161         (Sheet_cell_set_background, Sheet_cell_set_foreground): implement.
5163         * src/sheet-style.c (sheet_style_attach_single): implement.
5165         * src/workbook-format-toolbar.c (workbook_feedback_set): Add
5166         cache back in to save scanning huge font lists.
5168         * src/sheet-style.c (sheet_unique_cb): fix leak.
5170 1999-10-20  Michael Meeks  <mmeeks@gnu.org>
5172         * src/render-ascii.c (cell_region_render_ascii): Update; perhaps
5173         cell_get_text will need to be passed an MStyle...
5175         * src/clipboard.c (paste_cell_flags, clipboard_prepend_cell),
5176         (clipboard_release): handle styles to some extent.
5177         (sheet_paste_selection): Add an optimize pass.
5179         * src/cell.h (CellCopy): Add style.
5181         * src/sheet.c (sheet_new): setup color correctly.
5182         (range_is_homogeneous): Kill ( done in sheet-style.c nowadays ).
5184         * src/workbook-format-toolbar.c (modify_cell_format): Use an MStyle.
5185         (change_selection_font): set italic as well as bold.
5186         (change_font_size_in_selection_cmd): Update sheet after style set.
5188         * src/sheet.h (range_equal): Add macro.
5190         * src/ranges.c (range_equal): kill; too slow.
5192         * src/mstyle.c (mstyle_elements_equal): simplify lots.
5194         * src/cell.c (cell_get_span): Optimise by hoisting simple checks over
5195         slow style ones. (cell_is_number): make inline
5197         * src/workbook-format-toolbar.c (workbook_feedback_set): remove redundant
5198         checks on each style element to see if set + add preconditions.
5200         * src/mstyle.c (mstyle_get_font): implement.
5202         * src/cell.c (cell_get_span): pass init. align in to save redundant
5203         style_compute. (cell_get_horizontal_align): optimise.
5204         (calc_text_dimensions): take an MStyle. (cell_calc_dimensions): use mstyle.
5206         * src/print-cell.c (print_cell_text): new horizontal_align bits.
5208         * src/cell-draw.c (cell_draw): ditto.
5210         * src/sheet-style.c (sheet_style_compute): Update cache API.
5211         (sheet_style_cache_lookup, sheet_style_cache_add): ditto.
5213         * src/mstyle.c (mstyle_get_color): unconstify.
5215         * Update floating mstyle vars. to 'mstyle'
5217 1999-10-20  Michael Meeks  <mmeeks@gnu.org>
5219         * src/corba-sheet.c (Sheet_cell_get_format): remove check.
5221         * src/cell.c (cell_get_horizontal_align): add check.
5222         (cell_get_span): remove checks on alignment set.
5224         * src/functions/fn-information.c (gnumeric_cell): kill leak;
5226         * src/workbook-format-toolbar.c (modify_cell_format): kill leak.
5228         * src/print-cell.c (print_cell_text): fix leaks.
5229         (print_cell): ditto.
5231         * src/cell.c (cell_get_formatted_val): return error case.
5233         * src/sheet.c (sheet_new): Attach default format.
5235         * src/style.c (style_mstyle_new): update.
5237         * src/print-cell.c (print_empty_cell): update.
5239         * src/xml-io.c (xml_write_style, xml_write_style_region): update.
5240         (xml_write_style_border, xml_read_style, xml_read_style_border): fix.
5242 1999-10-19  Michael Meeks  <mmeeks@gnu.org>
5244         * src/item-grid.c (item_grid_paint_empty_cell): update.
5246         * src/item-edit.c (item_edit_update): fix.
5248         * src/cell.c (cell_get_formatted_val, cell_set_format_simple),
5249         (cell_get_horizontal_align, cell_get_style, cell_get_span): fixups.
5251         * src/workbook-format-toolbar.c (set_selection_halign, change_selection_font),
5252         (change_font_in_selection_cmd, change_font_size_in_selection_cmd),
5253         (fore_color_changed, back_color_changed, workbook_feedback_set): fixups.
5255         * src/corba-sheet.c (Sheet_cell_get_format, Sheet_range_set_format): update.
5257         * src/sheet.c (sheet_update_controls): update.
5259         * src/dialogs/dialog-cell-format.c (create_number_format_page),
5260         (apply_number_formats, create_align_page, apply_align_format),
5261         (create_font_page, apply_font_format, set_color_picker_from_style),
5262         (create_coloring_page, apply_coloring_format, cell_properties_apply):
5263         hack to new 'helper' functions.
5265         * src/sheet-style.c (sheet_style_cache_lookup),
5266         (sheet_style_cache_add, sheet_style_compute): Update.
5267         (sheet_selection_get_uniq_style, sheet_uniq_cb): Break badly.
5269         * src/mstyle.c: Totaly re-hash API for Miguel, biggish re-write.
5270         (mstyle_is_element_set, mstyle_unset_element, mstyle_set_color),
5271         (mstyle_get_color, mstyle_set_border, mstyle_set_pattern),
5272         (mstyle_get_pattern, mstyle_set_font_name, mstyle_get_font_name),
5273         (mstyle_set_font_bold, mstyle_get_font_bold, mstyle_set_font_italic),
5274         (mstyle_get_font_italic, mstyle_set_font_size, mstyle_get_font_size),
5275         (mstyle_set_format, mstyle_get_format, mstyle_set_align_h),
5276         (mstyle_get_align_h, mstyle_set_align_v, mstyle_get_align_v),
5277         (mstyle_set_orientation, mstyle_get_orientation),
5278         (mstyle_set_fit_in_cell, mstyle_get_fit_in_cell): Implemented ( boring ).
5279         (mstyle_compare): implement
5281 1999-10-19  Michael Meeks  <mmeeks@gnu.org>
5283         * src/cell.c (cell_get_horizontal_align): fiddle. (cell_get_span): Fixup.
5285         * src/xml-io.c (xml_sheet_write): Actually attach the saved
5286         style tree. (xml_write_style): Fix silly bug in color writing.
5288 1999-10-19  Michael Meeks  <mmeeks@gnu.org>
5290         * src/mstyle.c (mstyle_destroy): Fix leak.
5292         * src/item-grid.c (item_grid_draw_cell): ditto.
5294 1999-10-16  Michael Meeks  <mmeeks@gnu.org>
5296         * src/dialogs/dialog-cell-format.c (apply_coloring_format): Fixup.
5298         * src/selection.c (sheet_selection_height_update): create.
5300         * src/dialogs/dialog-cell-format.c (cell_properties_apply):
5301         update. (apply_number_formats, apply_align_format),
5302         (apply_font_format): Don't set the selection's properties yet,
5303         setup the selections height.
5305         * src/sheet-style.c (sheet_selection_get_uniq_style):
5306         update docs.
5308 1999-10-16  Michael Meeks  <mmeeks@gnu.org>
5310         * src/style.c (style_mstyle_new): Add format ( oops ).
5312         * src/cell.c (cell_get_formatted_val): Create.
5313         (cell_get_text, cell_render_value): use it.
5314         (cell_get_horizontal_align): Update.
5316         * src/ranges.c (range_merge): comment out sluggish pre-condition.
5318         * src/workbook-format-toolbar.c (do_sheet_selection_apply_style): Fixup.
5320         * src/ranges.c (range_split_ranges): Kill 1/2 the range_contains calls,
5321         fix bug + optimize. (range_overlap): kill comment + inline.
5323         * src/workbook.c (deps_output): renamed to (misc_output) + update.
5324         (workbook_setup_edit_area): show if style_debugging.
5326         * src/main.c: Add 'style_debugging' integer.
5328         * src/cell.c (cell_set_font_from_style, cell_set_halign, cell_set_border),
5329         (cell_set_alignment, cell_set_foreground, cell_set_background),
5330         (cell_set_color_from_style, cell_set_pattern, cell_set_format_from_style):
5331         kill the stubs for the old style API.
5332         (cell_set_format_simple): fix silly bug.
5334 1999-10-15  Michael Meeks  <mmeeks@gnu.org>
5336         * src/ranges.c (range_equal): compare rows then cols + inline.
5338         * src/sheet-style.c (sheet_styles_dump): implement.
5340         * src/workbook.c (deps_output): dump styles.
5342         * src/mstyle.c (mstyle_elements_init): create.
5343         (mstyle_elements_equal): Add quick type sum check.
5345         * src/sheet-style.c (sheet_selection_get_uniq_style): use it.
5347 1999-10-14  Michael Meeks  <mmeeks@gnu.org>
5349         * src/workbook-format-toolbar.c (workbook_feedback_set): kill old
5350         conflict resoltion.
5352         * src/sheet-style.c (sheet_style_cache_add): fixup cache flush on huge
5353         caches.
5355         * src/print-cell.c (print_empty_cell):
5357         * src/mstyle.c (render_merge): kill. (mstyle_list_check_sorted): rename.
5359         * src/sheet-style.c (sheet_style_compute, sheet_uniq_cb): Add checks for
5360         sortedness  kill redundant return.
5362         * src/item-grid.c (item_grid_paint_empty_cell):
5364         * src/cell.c (cell_get_style): zoom.
5366         * src/item-edit.c (item_edit_update): ditto.
5368         * src/style.c (style_mstyle_new): Update to take a zoom argument.
5370         * src/sheet.c (zoom_cell_style): kill: redundant (sheet_set_zoom_factor):
5371         use new render side zoom, allows different zoom per view.
5373         * src/mstyle.c (mstyle_do_merge): optimise by dropping out if we
5374         have all attributes set + kill redundant copy.
5375         (render_merge_blank): Kill.
5377         * src/ranges.c (range_contains): re-order for speed & inline.
5379         * src/sheet.c (sheet_update_controls): update.
5381 1999-10-13  Michael Meeks  <mmeeks@gnu.org>
5383         * src/cell.c (cell_get_style): pass elements around.
5385         * src/item-edit.c (item_edit_update): ditto.
5387         * src/corba-sheet.c (Sheet_cell_get_format): ditto..
5389         * src/item-grid.c (item_grid_paint_empty_cell): ditto.
5391         * src/print-cell.c (print_empty_cell): ditto.
5393         * src/sheet-style.c (sheet_style_compute_blank): axe.
5394         (sheet_style_compute): update to new API.
5396         * src/xml-io.c (xml_sheet_write): use sheet_get_style_list.
5398         * src/sheet-style.c (sheet_style_compute): Unroll render_merge in here
5399         to allow caching.
5401         * src/sheet.c (sheet_set_zoom_factor): calm font scaling down.
5403         * src/sheet-style.c: Re-write each style list lookup adding dereference.
5404         (sheet_create_styles): create, (sheet_destroy_styles): update.
5405         (sheet_style_cache_lookup, sheet_style_cache_add),
5406         (sheet_style_cache_flush): stub for now + add various flushes.
5407         (scache_remove): create.
5409         * src/sheet.h: Hide style_data in sheet-style.c + add cell lookup
5410         hash on advice of profiler.
5412         * src/sheet.c (sheet_new): use sheet_create_styles.
5414         * src/ranges.c (range_fragment): fix: was very broken.
5416         * src/dialogs/dialog-cell-format.c (apply_font_format): use String.
5418         * src/xml-io.c (xml_write_style, xml_read_style): use String
5420         * src/workbook-format-toolbar.c (change_font_in_selection_cmd),
5421         (workbook_feedback_set): ditto.
5423         * src/style.c (style_mstyle_new): ditto.
5425         * doc/Styles.txt: Update bit about strings.
5427         * src/mstyle.c (mstyle_element_equal, mstyle_element_dump),
5428         (mstyle_element_copy, mstyle_element_destroy): Use String not
5429         char * for font name.
5431         * src/mstyle.h: Change font.name to a ref counted String.
5433         * src/style.h (style_unref): Add.
5435         * src/cell.c (cell_render_value, cell_get_horizontal_align),
5436         (cell_get_text, cell_calc_dimensions): use style_unref.
5438         * src/item-edit.c (item_edit_update): use style_unref not destroy.
5440         * src/item-grid.c (item_grid_paint_empty_cell): ditto.
5442         * src/print-cell.c (print_empty_cell): ditto.
5444         * src/cell-draw.c (sheet_view_font, cell_draw): ditto.
5446         * src/corba-sheet.c (Sheet_cell_get_format): unref style.
5448         * src/mstyle.c (mstyle_do_merge): Remove redundant uniq thing.
5449         (render_merge, render_merge_blank): ditto.
5450         (mstyle_destroy): nail huge leak, destroy style elements.
5451         (mstyle_elements_compare, mstyle_elements_destroy): implement.
5453         * src/ranges.c (range_fragment): Don't operate on the original list.
5455         * src/sheet-style.c (sheet_uniq_cb): Implement fully.
5457 1999-10-12  Michael Meeks  <mmeeks@gnu.org>
5459         * src/ranges.c (range_fragment): Only remove region if it is valid.
5461         * src/sheet.c (sheet_new): NULL style_list.
5463         * src/mstyle.c (mstyle_destroy): Add safe catch for NULL pointers.
5465         * src/sheet-style.c (sheet_destroy_styles): moved & made global,
5466         unref mstyles not destroy + precondition on ref_count.
5468         * src/sheet.c (sheet_destroy_styles): Moved.
5470 1999-10-11  Michael Meeks  <mmeeks@gnu.org>
5472         * src/style.c (style_mstyle_new): Re-initialize background color
5473         so it doesn't crash !!!
5475         * src/item-grid.c (item_grid_draw_cell): add check on back_color.
5477         * src/sheet-style.c (sheet_uniq_cb): update.
5479         * src/ranges.c (range_fragment_free): implement.
5480         (range_clip, range_fragment): Implement - grief.
5482         * src/cell.c (cell_get_span): print the unknown type.
5483         (cell_get_horizontal_align): fixup.
5485         * src/sheet-style.c (sheet_selection_get_uniq_style): quiten.
5486         (sheet_uniq_cb): Add, (sheet_selection_get_uniq_style): check all
5487         selection ranges; fix leak.
5489 1999-10-11  Michael Meeks  <mmeeks@gnu.org>
5491         * src/Gnumeric.idl: Add a variable name for datanotify so it compiles!
5492         kill redundant (void) on count.
5494 1999-10-11  Michael Meeks  <mmeeks@gnu.org>
5496         * src/mstyle.c (mstyle_equal): add quick initial pointer equality test.
5497         (mstyle_element_equal): add precondition + debug.
5498         (mstyle_elements_equal): add debug.
5500         * src/sheet-style.c (sheet_style_optimize): Actualy remove culled
5501         regions from the sheet style list as well as the temporary one.
5503 1999-10-10  Michael Meeks  <mmeeks@gnu.org>
5505         * src/sheet-style.c (sheet_style_optimize): fix big leak.
5506         (sheet_style_optimize): fix _stupid_ bug killing the optimizer.
5507         re-hash order things are done in + add failed merge case.
5508         (sheet_selection_apply_style_cb): add optimize.
5509         (sheet_style_optimize): fix mamouth drop-through bug.
5511         * src/mstyle.c (mstyle_elements_equal): update.
5513         * src/sheet-style.c (sheet_style_attach): make debug look nice.
5515 1999-10-10  Michael Meeks  <mmeeks@gnu.org>
5517         * src/mstyle.c (mstyle_element_dump): dump the default name instead.
5518         (check_sorted): quieten.
5520         * src/sheet-style.c (sheet_style_attach): remove n*n equality
5521         check + move into sheet_style_optimize.
5522         (sheet_style_optimize): Add equal range merging.
5523         (sheet_style_compute_blank): kill debug.
5524         Add new debugging macro throught.
5526         * src/ranges.c (range_adjacent): add pre-conditions.
5527         (range_merge): implement.
5529         * src/mstyle.c (mstyle_element_equal): Implement.
5530         (mstyle_elements_equal, mstyle_equal): ditto.
5531         (mstyle_new_elems, dump_style_list): add casts.
5533 1999-10-10  Jody Goldberg <jgoldberg@home.com>
5535         * src/style.c (style_mstyle_new) : Init background color to NULL for
5536           now.
5538         * src/dialogs/dialog-cell-format.c (set_color_picker_from_style) :
5539           Don't warn about unset colours.
5541         * src/item-grid.c (item_grid_draw_cell) : Draw borders.
5543         * src/border.[ch] : Since stipples won't work, we don't need
5544           is_vertical.
5545         (border_draw) : new function.
5547         * src/mstyle.c (mstyle_element_dump) : Add borders.
5549         * src/sheet-style.c : Kill some warnings and make it compile.
5551         * src/style.c (style_new) : Support borders.
5552         (style_mstyle_new) : Ditto.
5554 1999-10-09  Michael Meeks  <mmeeks@gnu.org>
5556         * src/sheet-style.c (sheet_style_optimize): hack.
5558         * src/ranges.c (range_adjacent): implement.
5560         * src/sheet.c (sheet_cell_add): Kill complexity: sorted.
5562         * src/cell.c (cell_get_span): Fixup.
5564         * src/xml-io.c (xml_write_style_region): use mstyle_get_elements.
5565         (xml_write_style_border, xml_write_style): constify.
5567         * src/mstyle.c (mstyle_new): update + init array.
5568         (mstyle_new_array, mstyle_add_array): kill.
5569         (mstyle_merge): implement. (mstyle_add): add preconditions + implement.
5570         (mstyle_set): update. (mstyle_to_string): update.
5571         (mstyle_new_elems, mstyle_get_elements): implement.
5573         * src/sheet.h (MStyle): kill GArray + move all into mstyle:PrivateStyle.
5575 1999-10-09  Jody Goldberg <jgoldberg@home.com>
5577         * src/border.[ch] : Add a reasonable approximation of the XL border styles.
5579         * src/mstyle.[ch] : Add more border line styles.
5580           Add placeholders for diagonal and reverse diagonal borders.
5581           Add placeholder for 'pattern' colour vs background colour.
5582           Moved COLOR_FORE into the section not visibile in a blank cell.
5584         * src/xml-io.c : Switch to new border scheme.
5586 1999-10-09  Michael Meeks  <mmeeks@gnu.org>
5588         * src/mstyle.c (mstyle_element_copy): implement.
5589         (mstyle_element_destroy): ditto.
5591         * src/sheet-style.c (sheet_style_attach): Complicate :-)
5593         * src/mstyle.h (MSTYLE_ANY_COLOR, MSTYLE_ANY_BORDER): add to help.
5595 1999-10-08  Michael Meeks  <mmeeks@gnu.org>
5597         * src/sheet-style.c (sheet_selection_apply_style_cb): add.
5598         (sheet_selection_apply_style): fix.
5600         * src/selection.c (selection_foreach_range): Implement.
5602 1999-10-08  Michael Meeks  <mmeeks@gnu.org>
5604         * src/sheet.c (sheet_delete_col): hack up.
5606         * src/item-grid.c (item_grid_paint_empty_cell): cull stuff.
5608         * src/corba-sheet.c (Sheet_cell_get_format, Sheet_cell_get_font): fix.
5610         * configure.in: Fixup bonobo check.
5612 1999-10-07  Michael Meeks  <mmeeks@gnu.org>
5614         * src/mstyle.c (check_sorted): update check & add comment.
5616         * src/ranges.c (range_overlap): implement.
5617         (range_fragment): stubbed.
5619         * src/sheet-style.c (sheet_selection_get_uniq_style): Use range_overlap.
5621         * src/style.h (DEFAULT_SIZE, DEFAULT_SIZE): move here from style.c
5623         * src/workbook-format-toolbar.c (workbook_feedback_set): Set
5624         non bold / italic as the default + kill warning + add default size.
5626         * src/xml-io.c (xml_read_style_border, xml_write_style_border):
5627         in-line border structure.
5629         * src/style.c (style_hash, style_compare): kill
5630         (style_new, style_mstyle_new, style_destroy, style_duplicate):
5631         remove old border (style_merge_to): cull.
5632         (border_hash, style_init, style_shutdown): kill border bits.
5633         (border_equal): ditto.
5635         * src/sheet-autofill.c (autofill_cell): comment out style bits.
5637         * src/item-grid.c (item_grid_draw_cell): Kill debug border rendering.
5639         * src/print-cell.c (print_border, print_cell_border): #ifdef out.
5640         (print_cell): comment out border call.
5642         * src/mstyle.h: Make borders in-line structures.
5644         * src/style.c (style_border_new_plain, style_border_new),
5645         (style_border_ref, style_border_unref): kill.
5647         * src/style.h: Kill StyleBorderOrient + StyleBorder in favor
5648         of MStyleBorder.
5650         * src/corba-sheet.c (cb_range_set_format): kill.
5651         (Sheet_range_set_format): fixup.
5653         * src/mstyle.c (mstyle_unref, mstyle_ref): Implemented.
5655         * src/sheet.h: Add ref-count to MStyle.
5657         * src/ranges.c (range_list_foreach_full): typo.
5658         (range_style_apply_cb, range_set_style): Add.
5660         * src/corba-sheet.c (Sheet_cell_set_font): cut.
5661         (Sheet_cell_set_comment): re-enable.
5662         (Sheet_cell_get_font): implement.
5663         (Sheet_cell_get_font, Sheet_cell_set_background),
5664         (Sheet_cell_get_background, Sheet_cell_get_pattern),
5665         (Sheet_cell_set_pattern, Sheet_cell_set_alignment),
5666         (Sheet_cell_get_alignment): deprecated.
5667         (Sheet_range_set_format): Implemented.
5669         * src/cell.h: Comment out the old cell_set_* API except for
5670         cell_set_format*.
5672         * src/cell.c (cell_get_horizontal_align): Fixup.
5673         (cell_set_formula): hack format setting.
5674         (cell_set_format_simple): fixup.
5676 1999-10-07  Jon K Hellan  <Jon.K.Hellan@item.ntnu.no>
5678         * dialog-cell-format.c
5679         (create_number_format_page, create_font_page):
5680         Make <Enter> in entry fields invoke default button
5682         * dialog-cell-format.c
5683         (format_find): Select line in categorylist.
5684         (format_number_select_row): Initial list selection happens before
5685         property box is created, so check before notifying it.
5687         * dialog-cell-format.c
5688         (dialog_cell_format): Initial focus.
5689         (dialog_cell_format, struct cell_format_pages):
5690         New signature for create_page.
5691         (create_number_format_page, create_align_page, create_font_page,
5692         create_coloring_page): New out parameter focus_widget: The widget
5693         to receive initial focus if page is current when notebook pops up.
5695 1999-10-07  Jon K Hellan <Jon.K.Hellan@item.ntnu.no>
5697         * src/dialogs/dialog-analysis-tools.c (hbox_pack_label_and_entry):
5698         moved.
5700         * src/dialogs/dialog-solver.c (add_strings_to_glist): moved.
5702         * src/dialogs/utils-dialog.[ch]: Added.
5704         * src/dialogs/Makefile.am: ditto.
5706 1999-10-07  Michael Meeks  <mmeeks@gnu.org>
5708         * src/xml-io.c (xml_write_styles): create; untested.
5709         (font_component): kill.
5711 1999-10-06  Michael Meeks  <mmeeks@gnu.org>
5713         * src/xml-io.c (parse_xml_context_t): Remove hash table of styles +
5714         style count: redundant now. (xml_write_style): majorly hacked.
5715         (xml_write_style_border): ditto. (xml_read_style_region): ditto.
5716         (xml_read_style): huge mangle. (xml_read_style_border): ditto.
5717         (xml_write_cell): kill style write per cell, (xml_read_cell): ditto, lots.
5718         (xml_cell_styles_init): remove; sluggish style hash (add_style): ditto.
5719         (xml_sheet_write): kill  (xml_cell_styles_shutdown): die.
5720         (xml_sheet_write): kill call.
5721         (xml_read_cell_styles): kill (xml_sheet_read): + call.
5722         (xml_dispose_read_cell_styles): kill (xml_sheet_read): + call.
5723         (destroy_style): die. (style_font_new_from_x11): remove: unused.
5724         (xml_sheet_write): add xml_write_styles call.
5726         * src/mstyle.c: Add array of style names.
5728 1999-10-05  Michael Meeks  <mmeeks@gnu.org>
5730         * src/sheet.c (sheet_update_controls): Use new workbook_feedback_set.
5732         * src/workbook-format-toolbar.c (workbook_feedback_set): Pass the style
5733         element array instead + hack to use this.
5735 1999-10-04  Michael Meeks  <mmeeks@gnu.org>
5737         * src/sheet-style.c (sheet_selection_apply_style): renamed.
5739         * src/dialogs/dialog-cell-format.c (set_color_picker_from_style): created.
5740         (create_coloring_page): simplify & update.
5741         (apply_coloring_format):
5743 1999-10-04  Michael Meeks  <michael@nuclecu.unam.mx>
5745         * src/dialogs/dialog-cell-format.c (dialog_cell_format): Update style
5746         stuff. (cells_get_format): remove (create_number_format_page): update.
5747         (create_align_page): update. (apply_align_format): update.
5748         (apply_number_formats): ditto. (apply_font_format): re-implemented &
5749         commented out large chunks of stuff.
5750         (create_font_page): update: needs work. (create_coloring_page): update.
5752 1999-09-29  Michael Meeks  <michael@nuclecu.unam.mx>
5754         * src/mstyle.c (mstyle_do_merge): Updated API & stuff.
5755         (render_merge, render_merge_blank): change slightly.
5757         * src/workbook-format-toolbar.c: use sheet_apply_style_to_selection.
5759         * src/sheet-style.c: Create,
5760         (sheet_style_attach_old): Remove.
5761         (sheet_apply_style_to_selection): Add.
5763         * src/ranges.c (range_set_style): Remove.
5765         * src/corba-sheet.c (Sheet_range_set_format): comment out.
5767         * src/workbook.c (workbook_init): initialise clipboard.
5769 1999-09-28  Michael Meeks  <michael@nuclecu.unam.mx>
5771         * src/workbook-format-toolbar.c (set_selection_halign): fixup.
5773         * src/style.h: New expandable border setup.
5775         * src/mstyle.h: Expand to full set of types.
5777 1999-09-28  Michael Meeks  <michael@nuclecu.unam.mx>
5779         * src/workbook-format-toolbar.c (change_selection_font): re-implement.
5781         * src/mstyle.c (dump_style_list): Add. (check_sorted): use it.
5783         * src/xml-io.c (xml_write_names): remove unused 'm'
5784         (xml_write_cell, xml_read_style_region): hacked.
5785         (xml_read_cell, add_style): ditto.
5787         * src/ranges.c (range_set_style): use attach_old.
5789         * src/sheet.c (sheet_style_attach): Use a Range.
5790         (sheet_style_attach_old): Deprecated copy.
5792         * src/workbook-format-toolbar.c (change_selection_font, set_new_font),
5793         (set_font_size, modify_cell_format, set_cell_fore_color),
5794         (set_cell_back_color): use cell_get_style.
5795         (apply_style_to_selection): update to MStyle.
5796         (apply_style_to_range): Update.
5797         Seriously hack style apply code.
5799         * src/sheet-autofill.c (autofill_cell): cell_get_style.
5801         * src/print-cell.c (print_cell): cell_get_style.
5803         * src/corba-sheet.c: style API dummied out.
5805         * src/functions/fn-information.c (gnumeric_cell): cell_get_style.
5807         * src/sheet.c (zoom_cell_style): kill for now. (sheet_cell_add):
5808         hack more.
5810         * src/cell.h: kill public style element.
5812         * src/cell.c (cell_destroy): ditto.
5814         * src/dialogs/dialog-cell-format.c (cells_get_format),
5815         (create_align_page, create_coloring_page): use cell_get_style.
5817         * src/item-grid.c (item_grid_paint_empty_cell): Kill default style
5818         check.
5820         * src/sheet.c (sheet_cell_add): comment out style bits.
5821         (sheet_destroy_styles): mstyle_destroy.
5822         (sheet_set_zoom_factor): add warning.
5824         * src/print-cell.c (print_empty_cell): fix style_compute.
5825         (print_cell_text): use cell_get_style.
5827         * src/workbook.h: Remove old inline 'style' in Workbook.
5829         * src/xml-io.c (xml_workbook_write, xml_workbook_read): ditto.
5831         * src/sheet.h: move range dependant Style bits here + include glib.h
5833         * src/style.h: Split typedefs from enum's & structs
5835 1999-09-27  Michael Meeks  <michael@nuclecu.unam.mx>
5837         * src/style.c (mstyle_style_new): add. (style_new): deprecate.
5839         * src/mstyle.[ch]: Created.
5841         * src/item-edit.c (item_edit_update): fix style_compute.
5843         * src/item-grid.c (item_grid_paint_empty_cell): ditto.
5845         * src/clipboard.c (paste_cell_flags): Hack.
5847         * src/cell-draw.c (sheet_view_font, cell_draw): use cell_get_style
5849         * src/sheet.c (sheet_style_compute): remove non_default_style_flags
5850         argument.
5852         * src/cell.c (cell_render_value, cell_get_text): Use cell_get_style
5853         (cell_set_formula, cell_calc_dimensions): ditto.
5854         (cell_get_style): implement.
5856 1999-10-07  Miguel de Icaza  <miguel@gnu.org>
5858         * src/gnumeric-sheet.c (gnumeric_sheet_compute_visible_ranges):
5859         Fix typo here.
5861 1999-10-07  Jody Goldberg <jgoldberg@home.com>
5863         * src/item-grid.c (item_grid_find_row,
5864         item_grid_find_col) : Return a value in the overflow case.
5866         From : Jon K Hellan  <Jon.K.Hellan@item.ntnu.no>
5868         * src/dialogs/dialog-zoom.glade: Place sheet list inside frame.
5869           Use frame label, not list column label.
5870           Add padding.
5871           Use 0 height drawing area to set minimum width of spin button.
5873 1999-10-06  Miguel de Icaza  <miguel@gnu.org>
5875         * src/workbook-format-toolbar.c (change_selection_font): Remove
5876         ants when we change the font.
5877         (set_selection_halign): And when we change the alignment.
5879         Many more left to be removed.  Left as an excercise to Jody :-)
5881         * src/sheet.c (sheet_start_editing_at_cursor): remove ants when we
5882         start entering new text.
5884         * src/sheet-view.c (sheet_view_selection_unant): Destroys the
5885         anted cursors from the sheet view.
5886         (sheet_view_selection_ant): Adds cursors to the sheetview.
5887         (sheet_view_construct): New group that is used to hold the
5888         selection-ant items.
5890         * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet): Kill ants
5891         on escape.
5892         (gnumeric_sheet_key_mode_object): ditto.
5894         * src/selection.c (sheet_selection_unant): New function, kills the
5895         selection ants.
5896         (sheet_selection_ant): New function, adds an anted selection to
5897         all the selected regions.
5899         * src/clipboard.c (do_clipboard_paste_cell_region): Do not paste
5900         beyond sheet boundaries.
5902         * src/item-grid.c (item_grid_find_row): Do not go beyond sheet boundaries.
5903         (item_grid_find_col): ditto.
5905         * configure.in: Generate gnumeric.desktop
5907         * gnumeric.desktop.in: New file, used to choose the correct
5908         gnumeric/gnumeric-bonobo executable name.
5910         * src/sheet-object-item.c: Updated to fit with the new Bonobo
5911         changes.
5913 1999-10-06  Jody Goldberg <jgoldberg@home.com>
5915         * src/dialogs/dialog-zoom.c (dialog_zoom_impl) : Have the custom zoom
5916           spinbox call 'Ok' when enter is pressed.
5918         * src/sheet.c (sheet_destroy_contents) : Fix typo causing memory
5919           corruption.
5921         * src/sheet.h : Decrease SHEET_MAX_ROWS to 16k until we can tune
5922           memory usage.
5924         From : Jon K Hellan  <Jon.K.Hellan@item.ntnu.no>
5926         * src/dialogs/dialog-printer.c (gnumeric_printer_dialog_run):
5927           Workbook: New parameter
5928           Set initial focus.
5929           Make <Enter> in entry fields invoke default button.
5930           Specify the app as the parent.
5932         * src/dialogs/dialog-printer.h (gnumeric_printer_dialog_run):
5933           Change signature
5935         * src/print.c (sheet_print):
5936           gnumeric_printer_dialog_run has new signature
5938         * src/dialogs/dialog-sovler.c (add_strings_to_glist): Remove
5939         (add_radio_buttons): Remove unnecessary "_()"
5940         (dialog_solver_options, dialog_solver): Add missing "_()"
5942         * src/dialogs/utils-dialog.c: New file
5943         (ut_dia_entry_new_with_max_length, ut_dia_entry_new):
5944           Create entry fields where <Enter> activates the default button
5945         (hbox_pack_label_and_entry): Move from dialog-analysis-tools.c
5946         (add_strings_to_glist): Move from dialog-solver.c
5948         * src/dialogs/utils-dialog.h: New file
5949         (hbox_pack_label_and_entry, add_strings_to_glist): Move from tools.h
5951         * src/dialogs/dialog-cell-comment.c (dialog_cell_comment):
5952           Make OK button the default.
5954         * src/dialogs/dialog-cell-sort.c (order_box_new):
5955           Make <Enter> in entry field invoke default button.
5957         * src/dialogs/dialog-define-names.c (dialog_define_names):
5958           Make <Enter> in entry field invoke default button.
5959           Specify the app as the parent.
5961         * src/dialogs/names.glade: ok button needs "can_default".
5963         * src/dialogs/dialog-summary.c (dialog_summary_update):
5964           Make <Enter> in entry fields invoke default button.
5966         * src/dialogs/summary.glade: Make OK button the default.
5967           Change widget names used by program to avoid inadvertent
5968           translation.
5970         * src/dialogs/dialog-analysis-tools.c
5971         (new_dialog): Make OK button the default
5972         (dialog_data_analysis): Initial focus and selection, Make OK button
5973           the default.
5974         (add_check_buttons, add_output_frame, dialog_sampling_tool): Make
5975           <Enter> in entry field invoke default button
5976         (hbox_pack_label_and_entry): Move to utils-dialog.c
5977         (dialog_random_tool): Replace pack_label_and_entry with
5978           hbox_pack_label_and_entry
5979         (pack_label_and_entry): Remove
5981         * src/dialogs/dialog-goal-seek.c (dialog_found_solution,
5982         dialog_goal_seek): Make OK button the default
5983         (dialog_goal_seek): Make <Enter> in entry field invoke default button.
5985         * src/dialogs/dialog-paste-special.c (dialog_paste_special):
5986           Initial focus
5988 1999-10-05  Jody Goldberg <jgoldberg@home.com>
5990         * src/sheet.c (sheet_destroy_contents) : Mark freed segments with
5991           NULL.
5993         * src/selection.c (selection_contains_colrow) : New function.
5994         * src/item-bar.c (item_bar_event) : Use it.
5996         From : Jon K Hellan  <Jon.K.Hellan@item.ntnu.no>
5998         * src/dialogs/{insert,delete}-cells.glade : New files.
5999         * src/dialogs/dialog-{insert,delete}-cells.c : Switch from using
6000           Cauldron to using libglade.
6002         * src/plugin-manager.c (plugin_manager_new):
6003           Go away on <Esc>, set initial focus.
6005         * src/dialogs/sheet-rename.glade: Made OK button default.
6007         * dialog-simple-input.c (dialog_get_number): gnome_dialog_run instead
6008           of run_and_close - otherwise entry widget is destroyed before it is
6009           read.  Make <Enter> in entry field activate default button.
6010         (dialog_get_sheet_name) : Ditto.
6012         * src/workbook.c (workbook_rename_sheet): Update notebook label
6014         * src/workbook-cmd-format.c
6015         (workbook_cmd_format_column_width,
6016          workbook_cmd_format_row_height): Off by one error.
6018 1999-10-04  Jody Goldberg <jgoldberg@home.com>
6019         From: Nick Lamb <njl98r@ecs.soton.ac.uk>
6021         * src/cursors.c (cursors_init, create_bitmap_and_mask_from_xpm) :
6022           A small patch to invert the logic when handling black vs white in
6023           cursors.  This works around a problem with some Xservers.
6024           Bug 808.
6026 1999-09-30  Miguel de Icaza  <miguel@gnu.org>
6028         * src/Gnumeric-value.idl: New file, move the value structure
6029         definition here.
6031         * src/Gnumeric.idl: Add new interface for data access.
6033         * src/value-sheet.c: New file.  Moved here the value code that
6034         uses a Sheet directly.
6035         (value_dump): moved here.
6036         (value_cellrange_get_as_string): ditto.
6037         (encode_cellref): ditto.
6038         (value_area_get_width): ditto.
6039         (value_area_get_height): ditto.
6040         (value_area_get_x_y): ditto.
6041         (constants_init): ditto.
6042         (value_area_foreach): ditto
6043         (wrapper_foreach_cell_in_area_callback): ditto.
6044         (value_area_fetch_x_y): ditto.
6046 1999-10-04  Jody Goldberg <jgoldberg@home.com>
6048         * src/workbook.c (sheet_action_delete_sheet) : Use a
6049           workbook_expr_relocate to invalidate references to the contents of
6050           the deleted sheet.
6051         (cb_sheet_erase) : Renamed to cb_sheet_destroy_contents.
6053         * src/sheet.c (sheet_destroy_contents) : Renamed from
6054           sheet_destroy_columns_and_rows.  Delete the cells directly
6055           from the hash.  Don't use a range.
6057         * src/cellspan.c (row_destroy_span) : Set deleted span hash to NULL.
6059         * src/sheet.c (sheet_destroy_columns_and_rows) : Wipe all row spans
6060           in one stage to avoid looking them up one by one.
6062 1999-10-03  Jody Goldberg <jgoldberg@home.com>
6064         * src/dialogs/dialog-delete-cells.c (dialog_delete_cells) :
6065           Specify the app as the parent.
6066         * src/dialogs/dialog-insert-cells.c (dialog_insert_cells) :
6067           Ditto.
6069         * src/expr.[ch]  : (cell_ref_restore_absolute,
6070           cell_in_range, do_expr_tree_invalidate_references,
6071           expr_tree_invalidate_references, fixup_calc_new_cellref,
6072           do_expr_tree_fixup_references, expr_tree_fixup_references) : Delete.
6074           (cellref_relocate) : Rewrite to support intersheet,
6075             moves, invalidation, and references to and from moving cells.
6076           (expr_relocate) : Use new cellref_relocate.
6078          * src/workbook.[ch] (workbook_fixup_references,
6079            workbook_invalidate_references) : Delete.
6080          (workbook_expr_relocate) : Replace with.
6082 1999-10-02  Jody Goldberg <jgoldberg@home.com>
6084         * src/{selection.c, collect.c, complex.c } : Add include config.h.
6085           So that we get the right #defines when including Workbook
6086           in a bonobo envirnoment.
6088         From : Jon K Hellan <Jon.K.Hellan@item.ntnu.no>
6089         * src/dialogs/{col-width, dialog-zoom, names,
6090                      row-height, sheet-rename, summary}.glade :
6091           Dialogs made with glade pop up for a moment in one position before
6092           being moved to the proper place. This is fixed by setting "Visible" to
6093           False in Glade.
6095         * src/print.c (print_page) : Make func pointer match new signature
6096           for sheet_col_get_info.
6098 1999-10-01  Jody Goldberg <jgoldberg@home.com>
6100         * src/cell.h : Add ColRowCollection, a structure to store
6101           a segmented array of ColRowInfo *, and some of the other
6102           useful information, like max_element, and default_style.
6104           Rename data to 'spans' to facilitate removing dependancies
6105           on old name.
6107           Renumbered the CELL_ flags now that CELL_ERROR is gone.
6109         * plugins/* : Switch to ColRowCollection.
6110         * src/print.c : Ditto.
6111         * src/value.c : Ditto.
6112         * src/xml-io.c : Ditto.
6113         * src/dialogs/dialog-cell-format.c : Ditto, and use sheet_foreach_colrow.
6114         * src/sheet-view.c : Ditto.  Use sheet_{row,col}_fetch and document
6115           why they are called.
6116         (sheet_view_scrollbar_display) : ifdef out until some one wants it.
6118         src/dialogs/dialog-solver.c : Add include "tools.h"
6120         * src/sheet.[ch] : Massive reorg.
6121           Rows and Cols are no longer in lists they are in segmented arrays.
6122           Cols don't have lists of cells in them.
6123           All the insert/delete row/col code was redone and simplified.
6124           The Shift row/col is broken pending the merge with the new copy
6125           code.
6127         * src/cellspan.c : Switch from 'data' to 'spans'
6129         * src/clipboard.c : Use boolean, not integer '1'
6131         * src/corba-sheet.c : Switch to ColRowcollection.
6132         (Sheet_cell_get_background) : #ifdef until this is implemented.
6134         * src/embeddable-grid.c (grid_view_new) : Add a cast to silent
6135           warning.
6137         * src/item-grid.c (item_grid_draw_cell) : Paint the borders After
6138           contents.  They still don't work, but this is slightly better.
6140         * src/expr.c (do_expr_tree_fixup_references) : Partial patch that fixes
6141           the common case and probably breaks the uncommon.  Refs to
6142           cells/ranges on the current sheet have sheet == NULL.  The
6143           destination specifies the sheet, so only references on a different
6144           sheet were fixed.  When I rework this code for use by the 'move'
6145           operation I'll fix it.
6147         * src/gnumeric-sheet.c (move_cursor) : Move the cursor before making
6148           the area visible, Reset the selection after the motion.
6150 1999-09-27  Jody Goldberg <jgoldberg@home.com>
6152         * src/item-grid.c (item_grid_draw) : Don't attempt to paint past
6153           SHEET_MAX_{ROWS,COLS}.
6154         * src/gnumeric-sheet.c (gnumeric_sheet_compute_visible_ranges) :
6155           Ditto.
6156         (move_cursor) : Set the cursor before making the area visible so that
6157           the scrollbars know the real position.
6159 1999-09-26  Miguel de Icaza  <miguel@gnu.org>
6161         * src/print-preview.c (print_preview_new): Removed warning/
6163 1999-09-26  Morten Welinder  <terra@diku.dk>
6165         * src/cell.c (cell_relocate): Plug leak.
6167 1999-10-18  Morten Welinder  <terra@diku.dk>
6169         * src/xml-io.c (xml_write_print_info): Actually add print order,
6170         paper name, and orientation to the output instead of just leaking
6171         them.
6172         (xml_set_value_double): Don't throw away precicion; save using
6173         more sane formats.
6175 1999-10-18  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6177         * src/formats.c: Added new formats for elapsed setup.
6179         * src/format.c (format_number): Add support for hour-elapsed,
6180         minute-elapsed, and second-elapsed.
6182 1999-10-17  Morten Welinder  <terra@diku.dk>
6184         * src/eval.c (cell_get_dependencies): Plug leak.
6186 1999-10-16  Miguel de Icaza  <miguel@gnu.org>
6188         * src/xml-io.c (xml_read_colrow_info): Set the Column/Row
6189         dimensions here after loading them, as the new
6190         sheet_set_zoom_factor can no longer be used to reset lingering
6191         values (the value of the pixels was being computed here after we
6192         had read the units).
6194         * src/eval.c (cell_get_dependencies): Prototype change.  We now
6195         take the Cell as an argument and we scan all the sheets that
6196         depend on us.
6198 1999-10-14  Jukka-Pekka Iivonen  <iivonen@iki.fi>
6200         * src/functions/fn-stat.c: Fixed the optional argument handling of
6201         TREND.  Implemented one-dimensional GROWTH mostly (const argument
6202         not implemented yet).
6204 1999-10-13  Morten Welinder  <terra@diku.dk>
6206         * src/sheet-object.c (sheet_object_destroy): Don't try to walk the
6207         list we are deleting items from.
6209 1999-10-12  Miguel de Icaza  <miguel@gnu.org>
6211         * src/style.c (font_init): Use a dialog box rather than a printf.
6213 1999-10-08  Miguel de Icaza  <miguel@gnu.org>
6215         * src/item-cursor.c (item_cursor_do_drop): We do not want anting
6216         here either.
6218 1999-10-11  Michael Meeks  <mmeeks@gnu.org>
6220         * gnumeric.desktop: remove, its auto-generated.
6222 1999-10-11  Michael Meeks  <mmeeks@gnu.org>
6224         * src/Gnumeric.idl: Add a variable name for datanotify so it compiles!
6225         kill redundant (void) on count.
6227 1999-10-10  Jody Goldberg <jgoldberg@home.com>
6229         * src/item-bar.c (item_bar_event) : Typo.
6231 1999-10-09  Morten Welinder  <terra@diku.dk>
6233         * src/print.c (sheet_print): Handle failures from gnome-print.
6235 1999-10-09  Jody Goldberg <jgoldberg@home.com>
6237         * src/item-bar.c (item_bar_event) : Ensure that we ungrab whenever
6238           necessary.
6240         * src/item-grid.c (item_grid_realize) : Add a reasonable approximation
6241           of the XL border styles.
6243 1999-10-08  Morten Welinder  <terra@diku.dk>
6245         * src/clipboard.c (x_selection_handler): Plug leak.
6247 1999-10-08  Jody Goldberg <jgoldberg@home.com>
6249         * src/item-bar.c (item_bar_event) : Use item_bar_end_resize.
6250         (item_bar_end_resize) : Cleare resizing flag even if when have not
6251           moved and created a resize marker.
6253 1999-10-07  Miguel de Icaza  <miguel@gnu.org>
6255         * src/gnumeric-sheet.c (gnumeric_sheet_compute_visible_ranges):
6256         Fix typo here.
6258 1999-10-07  Jody Goldberg <jgoldberg@home.com>
6260         * src/item-bar.c : Add tooltip to show width/height during resize.
6262         * src/gnumeric-util.[ch] (gnumeric_create_tooltip,
6263         gnumeric_position_tooltip) : New functions.
6265         * src/mathfunc.[ch], src/utils.[ch] : Move random_01, random_normal,
6266           and gpow10 from utils -> mathfunc.
6268         * src/goal-seek.c : Add an include for mathfunc.h
6270         * src/sheet-view.c (sheet_view_new) : Init tip to NULL.
6271         (set_tip_label) : Delete.
6272         (create_tip) : Poach the inards and use as a starting point for
6273           gnumeric_create_tooltip.
6274         (position_tooltip) : Rename and move to gnumeric-utils.
6276         * src/main.c : Add new command line parameter. --debug_ole
6278         * src/sheet.c (sheet_col_size_fit) : Handle empty col by using the
6279           default width.
6280         (sheet_row_size_fit) : Handle empty row by using the default height.
6282         * src/item-grid.c (item_grid_find_row,
6283         item_grid_find_col) : Return a value in the overflow case.
6285         From : Jon K Hellan  <Jon.K.Hellan@item.ntnu.no>
6287         * src/dialogs/dialog-zoom.glade: Place sheet list inside frame.
6288           Use frame label, not list column label.
6289           Add padding.
6290           Use 0 height drawing area to set minimum width of spin button.
6292 1999-10-06  Miguel de Icaza  <miguel@gnu.org>
6294         * src/workbook-format-toolbar.c (change_selection_font): Remove
6295         ants when we change the font.
6296         (set_selection_halign): And when we change the alignment.
6298         Many more left to be removed.  Left as an excercise to Jody :-)
6300         * src/sheet.c (sheet_start_editing_at_cursor): remove ants when we
6301         start entering new text.
6303         * src/sheet-view.c (sheet_view_selection_unant): Destroys the
6304         anted cursors from the sheet view.
6305         (sheet_view_selection_ant): Adds cursors to the sheetview.
6306         (sheet_view_construct): New group that is used to hold the
6307         selection-ant items.
6309         * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet): Kill ants
6310         on escape.
6311         (gnumeric_sheet_key_mode_object): ditto.
6313         * src/selection.c (sheet_selection_unant): New function, kills the
6314         selection ants.
6315         (sheet_selection_ant): New function, adds an anted selection to
6316         all the selected regions.
6318         * src/clipboard.c (do_clipboard_paste_cell_region): Do not paste
6319         beyond sheet boundaries.
6321         * src/item-grid.c (item_grid_find_row): Do not go beyond sheet boundaries.
6322         (item_grid_find_col): ditto.
6324         * configure.in: Generate gnumeric.desktop
6326         * gnumeric.desktop.in: New file, used to choose the correct
6327         gnumeric/gnumeric-bonobo executable name.
6329         * src/sheet-object-item.c: Updated to fit with the new Bonobo
6330         changes.
6332 1999-10-06  Jody Goldberg <jgoldberg@home.com>
6334         * src/dialogs/dialog-zoom.c (dialog_zoom_impl) : Have the custom zoom
6335           spinbox call 'Ok' when enter is pressed.
6337         * src/sheet.c (sheet_destroy_contents) : Fix typo causing memory
6338           corruption.
6340         * src/sheet.h : Decrease SHEET_MAX_ROWS to 16k until we can tune
6341           memory usage.
6343         From : Jon K Hellan  <Jon.K.Hellan@item.ntnu.no>
6345         * src/dialogs/dialog-printer.c (gnumeric_printer_dialog_run):
6346           Workbook: New parameter
6347           Set initial focus.
6348           Make <Enter> in entry fields invoke default button.
6349           Specify the app as the parent.
6351         * src/dialogs/dialog-printer.h (gnumeric_printer_dialog_run):
6352           Change signature
6354         * src/print.c (sheet_print):
6355           gnumeric_printer_dialog_run has new signature
6357         * src/dialogs/dialog-sovler.c (add_strings_to_glist): Remove
6358         (add_radio_buttons): Remove unnecessary "_()"
6359         (dialog_solver_options, dialog_solver): Add missing "_()"
6361         * src/dialogs/utils-dialog.c: New file
6362         (ut_dia_entry_new_with_max_length, ut_dia_entry_new):
6363           Create entry fields where <Enter> activates the default button
6364         (hbox_pack_label_and_entry): Move from dialog-analysis-tools.c
6365         (add_strings_to_glist): Move from dialog-solver.c
6367         * src/dialogs/utils-dialog.h: New file
6368         (hbox_pack_label_and_entry, add_strings_to_glist): Move from tools.h
6370         * src/dialogs/dialog-cell-comment.c (dialog_cell_comment):
6371           Make OK button the default.
6373         * src/dialogs/dialog-cell-sort.c (order_box_new):
6374           Make <Enter> in entry field invoke default button.
6376         * src/dialogs/dialog-define-names.c (dialog_define_names):
6377           Make <Enter> in entry field invoke default button.
6378           Specify the app as the parent.
6380         * src/dialogs/names.glade: ok button needs "can_default".
6382         * src/dialogs/dialog-summary.c (dialog_summary_update):
6383           Make <Enter> in entry fields invoke default button.
6385         * src/dialogs/summary.glade: Make OK button the default.
6386           Change widget names used by program to avoid inadvertent
6387           translation.
6389         * src/dialogs/dialog-analysis-tools.c
6390         (new_dialog): Make OK button the default
6391         (dialog_data_analysis): Initial focus and selection, Make OK button
6392           the default.
6393         (add_check_buttons, add_output_frame, dialog_sampling_tool): Make
6394           <Enter> in entry field invoke default button
6395         (hbox_pack_label_and_entry): Move to utils-dialog.c
6396         (dialog_random_tool): Replace pack_label_and_entry with
6397           hbox_pack_label_and_entry
6398         (pack_label_and_entry): Remove
6400         * src/dialogs/dialog-goal-seek.c (dialog_found_solution,
6401         dialog_goal_seek): Make OK button the default
6402         (dialog_goal_seek): Make <Enter> in entry field invoke default button.
6404         * src/dialogs/dialog-paste-special.c (dialog_paste_special):
6405           Initial focus
6407 1999-10-05  Jody Goldberg <jgoldberg@home.com>
6409         * src/sheet.c (sheet_destroy_contents) : Mark freed segments with
6410           NULL.
6412         * src/selection.c (selection_contains_colrow) : New function.
6413         * src/item-bar.c (item_bar_event) : Use it.
6415         From : Jon K Hellan  <Jon.K.Hellan@item.ntnu.no>
6417         * src/dialogs/{insert,delete}-cells.glade : New files.
6418         * src/dialogs/dialog-{insert,delete}-cells.c : Switch from using
6419           Cauldron to using libglade.
6421         * src/plugin-manager.c (plugin_manager_new):
6422           Go away on <Esc>, set initial focus.
6424         * src/dialogs/sheet-rename.glade: Made OK button default.
6426         * dialog-simple-input.c (dialog_get_number): gnome_dialog_run instead
6427           of run_and_close - otherwise entry widget is destroyed before it is
6428           read.  Make <Enter> in entry field activate default button.
6429         (dialog_get_sheet_name) : Ditto.
6431         * src/workbook.c (workbook_rename_sheet): Update notebook label
6433         * src/workbook-cmd-format.c
6434         (workbook_cmd_format_column_width,
6435          workbook_cmd_format_row_height): Off by one error.
6437 1999-10-04  Jody Goldberg <jgoldberg@home.com>
6438         From: Nick Lamb <njl98r@ecs.soton.ac.uk>
6440         * src/cursors.c (cursors_init, create_bitmap_and_mask_from_xpm) :
6441           A small patch to invert the logic when handling black vs white in
6442           cursors.  This works around a problem with some Xservers.
6443           Bug 808.
6445 1999-09-30  Miguel de Icaza  <miguel@gnu.org>
6447         * src/Gnumeric-value.idl: New file, move the value structure
6448         definition here.
6450         * src/Gnumeric.idl: Add new interface for data access.
6452         * src/value-sheet.c: New file.  Moved here the value code that
6453         uses a Sheet directly.
6454         (value_dump): moved here.
6455         (value_cellrange_get_as_string): ditto.
6456         (encode_cellref): ditto.
6457         (value_area_get_width): ditto.
6458         (value_area_get_height): ditto.
6459         (value_area_get_x_y): ditto.
6460         (constants_init): ditto.
6461         (value_area_foreach): ditto
6462         (wrapper_foreach_cell_in_area_callback): ditto.
6463         (value_area_fetch_x_y): ditto.
6465 1999-10-04  Jody Goldberg <jgoldberg@home.com>
6467         * src/workbook.c (sheet_action_delete_sheet) : Use a
6468           workbook_expr_relocate to invalidate references to the contents of
6469           the deleted sheet.
6470         (cb_sheet_erase) : Renamed to cb_sheet_destroy_contents.
6472         * src/sheet.c (sheet_destroy_contents) : Renamed from
6473           sheet_destroy_columns_and_rows.  Delete the cells directly
6474           from the hash.  Don't use a range.
6476         * src/cellspan.c (row_destroy_span) : Set deleted span hash to NULL.
6478         * src/sheet.c (sheet_destroy_columns_and_rows) : Wipe all row spans
6479           in one stage to avoid looking them up one by one.
6481 1999-10-03  Jody Goldberg <jgoldberg@home.com>
6483         * src/dialogs/dialog-delete-cells.c (dialog_delete_cells) :
6484           Specify the app as the parent.
6485         * src/dialogs/dialog-insert-cells.c (dialog_insert_cells) :
6486           Ditto.
6488         * src/expr.[ch]  : (cell_ref_restore_absolute,
6489           cell_in_range, do_expr_tree_invalidate_references,
6490           expr_tree_invalidate_references, fixup_calc_new_cellref,
6491           do_expr_tree_fixup_references, expr_tree_fixup_references) : Delete.
6493           (cellref_relocate) : Rewrite to support intersheet,
6494             moves, invalidation, and references to and from moving cells.
6495           (expr_relocate) : Use new cellref_relocate.
6497          * src/workbook.[ch] (workbook_fixup_references,
6498            workbook_invalidate_references) : Delete.
6499          (workbook_expr_relocate) : Replace with.
6501 1999-10-02  Jody Goldberg <jgoldberg@home.com>
6503         * src/{selection.c, collect.c, complex.c } : Add include config.h.
6504           So that we get the right #defines when including Workbook
6505           in a bonobo envirnoment.
6507         From : Jon K Hellan <Jon.K.Hellan@item.ntnu.no>
6508         * src/dialogs/{col-width, dialog-zoom, names,
6509                      row-height, sheet-rename, summary}.glade :
6510           Dialogs made with glade pop up for a moment in one position before
6511           being moved to the proper place. This is fixed by setting "Visible" to
6512           False in Glade.
6514         * src/print.c (print_page) : Make func pointer match new signature
6515           for sheet_col_get_info.
6517 1999-10-01  Jody Goldberg <jgoldberg@home.com>
6519         * src/cell.h : Add ColRowCollection, a structure to store
6520           a segmented array of ColRowInfo *, and some of the other
6521           useful information, like max_element, and default_style.
6523           Rename data to 'spans' to facilitate removing dependancies
6524           on old name.
6526           Renumbered the CELL_ flags now that CELL_ERROR is gone.
6528         * plugins/* : Switch to ColRowCollection.
6529         * src/print.c : Ditto.
6530         * src/value.c : Ditto.
6531         * src/xml-io.c : Ditto.
6532         * src/dialogs/dialog-cell-format.c : Ditto, and use sheet_foreach_colrow.
6533         * src/sheet-view.c : Ditto.  Use sheet_{row,col}_fetch and document
6534           why they are called.
6535         (sheet_view_scrollbar_display) : ifdef out until some one wants it.
6537         src/dialogs/dialog-solver.c : Add include "tools.h"
6539         * src/sheet.[ch] : Massive reorg.
6540           Rows and Cols are no longer in lists they are in segmented arrays.
6541           Cols don't have lists of cells in them.
6542           All the insert/delete row/col code was redone and simplified.
6543           The Shift row/col is broken pending the merge with the new copy
6544           code.
6546         * src/cellspan.c : Switch from 'data' to 'spans'
6548         * src/clipboard.c : Use boolean, not integer '1'
6550         * src/corba-sheet.c : Switch to ColRowcollection.
6551         (Sheet_cell_get_background) : #ifdef until this is implemented.
6553         * src/embeddable-grid.c (grid_view_new) : Add a cast to silent
6554           warning.
6556         * src/item-grid.c (item_grid_draw_cell) : Paint the borders After
6557           contents.  They still don't work, but this is slightly better.
6559         * src/expr.c (do_expr_tree_fixup_references) : Partial patch that fixes
6560           the common case and probably breaks the uncommon.  Refs to
6561           cells/ranges on the current sheet have sheet == NULL.  The
6562           destination specifies the sheet, so only references on a different
6563           sheet were fixed.  When I rework this code for use by the 'move'
6564           operation I'll fix it.
6566         * src/gnumeric-sheet.c (move_cursor) : Move the cursor before making
6567           the area visible, Reset the selection after the motion.
6569 1999-09-27  Jody Goldberg <jgoldberg@home.com>
6571         * src/item-grid.c (item_grid_draw) : Don't attempt to paint past
6572           SHEET_MAX_{ROWS,COLS}.
6573         * src/gnumeric-sheet.c (gnumeric_sheet_compute_visible_ranges) :
6574           Ditto.
6575         (move_cursor) : Set the cursor before making the area visible so that
6576           the scrollbars know the real position.
6578 1999-09-26  Miguel de Icaza  <miguel@gnu.org>
6580         * src/print-preview.c (print_preview_new): Removed warning/
6582 1999-09-26  Morten Welinder  <terra@diku.dk>
6584         * src/cell.c (cell_relocate): Plug leak.
6586 1999-09-26  Michael Meeks  <michael@nuclecu.unam.mx>
6588         * src/workbook.c (workbook_do_destroy): rename name clean.
6590         * src/sheet.c (sheet_destroy): add name clean.
6592         * configure.in: Add vital conditional for libole2.
6594         * src/xml-io.c (xml_write_names): Write from a GList.
6595         (xml_workbook_write): pass a GList. (xml_read_names): add sheet arg.
6596         (xml_workbook_read): upd. name read. (xml_sheet_read): add sheet name
6597         read. (xml_sheet_write): write names.
6598         Clean several redundant forward references.
6600         * src/main.c: make startup_files const.
6602         * src/expr-name.c: Major API hack for scoped names.
6603         (expr_name_add, expr_name_create, expr_name_lookup): add docs
6604         + scoped names. (expr_name_value): setup correct 'wb' for parsing.
6606         * src/parser.y (try_symbol): Add comment + hard code to workbook
6607         scope.
6609 1999-09-26  Miguel de Icaza  <miguel@gnu.org>
6611         * src/sheet-object.c (sheet_set_mode_type): Protect Bonobo code
6612         from being included if we dont have Bonobo.
6614         * src/Makefile.am: reverted changes from the libole2 code.
6616 1999-09-26  Michael Meeks  <michael@nuclecu.unam.mx>
6618         * src/Makefile.am (gnumeric_libs): Fix so gnumeric compiles.
6620 1999-09-26  Jody Goldberg <jgoldberg@home.com>
6622         * src/clipboard.c (clipboard_copy_cell_range) : use boolean.
6624 1999-09-26  Miguel de Icaza  <miguel@gnu.org>
6626         * src/sheet-object.c (sheet_button_release): Load content from
6627         bonobo objects here.
6628         (sheet_view_object_unrealize): Keep the bookkeeping of realized
6629         objects in the GnomeCanvasItem destroy handler.
6631         * src/sheet-object-bonobo.c (sheet_object_bonobo_load_from_file):
6632         New base class for SheetObjectContainer and SheetObjectBonobo
6634         * src/sheet-object-container.c: Redid for reusing the new
6635         hierarchy SheetObjectBonobo hierarchy.
6637 1999-09-25  Miguel de Icaza  <miguel@gnu.org>
6639         * src/sheet-object.c (create_object): handle
6640         SHEET_MODE_CREATE_CANVAS_ITEM.
6642         * src/sheet.h (Sheet::mode_data): new field to keep per-mode data
6643         during the lifetime of the mode.
6645         * src/sheet-object-item.c: New sheet-object type.  This one is
6646         used for embedding Bonobo-based CanvasItems.
6648 1999-09-25  Lauris Kaplinski <lauris@ariman.ee>
6650         * configure.in: add et to ALL_LINGUAS
6652         * gnumeric.desktop: added Estonian strings
6654 1999-09-25  Michael Meeks  <michael@nuclecu.unam.mx>
6656         * src/dialogs/dialog-zoom.c (dialog_zoom): Correct glade name.
6657         (dialog_zoom_impl): use moveto after we know the final list size.
6658         (custom_selected): simplify. (radio_toggled): ditto.
6659         (select_sheet_cb): create. (dialog_zoom_impl): use update_zoom_but
6660         & complicate significantly :-) (update_zoom_buttons): create.
6662 1999-09-25  Jody Goldberg <jgoldberg@home.com>
6664         * src/plugin.c (plugin_load) : Enable the error box when
6665           loading a plugin fails.
6667         * src/item-grid.c (item_grid_draw) : Paint an empty
6668           only if the cell does not exist.  VALUE_EMPTY cells should be
6669           treated as std cells when drawing the background.
6670         (item_grid_draw_cell) : Draw the contents before the border.
6672 1999-09-24  Morten Welinder  <terra@diku.dk>
6674         * src/widgets/gtk-combo-box.c (gtk_combo_box_finalize): Plug leak.
6676 1999-09-24  Jody Goldberg <jgoldberg@home.com>
6678         * src/expr.c (do_expr_decode_tree) : Handle missing arguments.
6680 1999-09-23  Morten Welinder  <terra@diku.dk>
6682         * src/widgets/widget-color-combo.c (color_combo_construct):
6683         Now non-static since Miguel decided to prototype it.
6685         * src/regression.c (linear_regression, exponential_regression):
6686         Change to multi-dimensional regression.  (Too bad linear_solve
6687         does not handle it yet.)  All callers changed.
6689         * src/widgets/widget-color-combo.c (color_clicked): Plug leak.
6690         (color_combo_select_color): Plug leak.
6691         (emit_change): Plug leak.
6693 1999-09-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6695         * src/widgets/widget-color-combo.c (color_combo_new): Install the
6696         Excel color table.
6698 1999-09-23  Morten Welinder  <terra@diku.dk>
6700         * configure.in (gnome-print): back to 0.8.
6702 1999-09-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6704         * src/style.c (style_font_new_simple): Be defensive at
6705         font-loading time.  Basically, gnome-fonts might be allocated with
6706         a NULL gdk_font.  Maybe we need to revise this strategy
6708 1999-09-23  Morten Welinder  <terra@diku.dk>
6710         * configure.in (gnome-print): only require 0.7 -- that's the
6711         latest cvs version.
6713         * gnumeric.spec.in (Requires): Ditto.
6715         * configure.in (gnome-print): fix test.
6717 1999-09-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6719         * gnumeric.gnorba (location_info): Dropped the IDL: prefix from
6720         the gnorba file, and use "GOADID:" now.
6722         * src/widgets/widget-color-combo.c (color_combo_class_init): Fixed
6723         memory leaks.
6725         * src/style.h: Keep the original colors handy here.
6727         * src/print-cell.c (print_cell_range, print_empty_cell): We now
6728         paint empty cells.  Now we paint the background for the cell.
6730         * src/print-cell.c
6732         * src/item-grid.c (item_grid_paint_empty_cell): Style leak fix.
6734         * src/print-cell.c (print_cell): Changed the way borders are
6735         printed to improve code reusability.
6737         * src/print-info.c (save_formats): New format name to fix in an
6738         upgradable fashion.
6739         (load_formats): ditto.
6740         (print_info_new): The defaults to load should use [PAGE] not
6741         [NUM], which explains why it was never being shown.
6743         * src/print-preview.c (print_preview_print_done): Close the
6744         context here so we have information available in the ->size
6745         field.
6747 1999-09-23  Morten Welinder  <terra@diku.dk>
6749         * src/regression.c (exponential_regression): Fix thingo.
6751         * src/widgets/widget-color-combo.c (color_table_setup): Static.
6752         (color_combo_construct): Static.
6753         (color_table_setup): really break out.
6755 1999-09-23  Rodrigo Stulzer Lopes <rodrigo@conectiva.com.br>
6757         * configure.in: add pt_BR to ALL_LINGUAS
6759 1999-09-23  Miguel de Icaza  <miguel@gnu.org>
6761         * src/print.c (print_page): Setup the rotation for each page.
6763 1999-09-23  Jody Goldberg <jgoldberg@home.com>
6765         * src/xml-io.c (xml_set_print_unit) : Suppress warning.
6767         * src/dialogs/dialog-zoom.c (dialog_zoom_impl) : Set the spinbox value
6768           when we start with a custom zoom factor, round correctly.  Set the
6769           parent to be gnumeric.
6771 1999-09-22  Jody Goldberg <jgoldberg@home.com>
6773         * src/xml-io.c (xml_write_sheet_object) : Avoid warning about
6774           unhandled object types.
6776         * src/sheet-object.c (control_point_handle_event) : unused variable.
6778 1999-09-22  Miguel de Icaza  <miguel@gnu.org>
6780         * src/item-grid.c (item_grid_paint_empty_cell): I am now using a
6781         gc for the empty cells (as the default gc is used and abused by
6782         the cell-draw code, better to keep our own).
6784         TODO: queue an update on the regions with changed style.  Wonder
6785         why this is not being done automatically.  Need to check.
6787         * src/widgets/widget-color-combo.c (color_combo_construct): Fix
6788         visuals for working with Imlib properly.
6790 1999-09-22  Jody Goldberg  <jgoldberg@home.com>
6792         * src/dialog/dialog-zoom.c : rewrite.
6794 1999-09-21  Morten Welinder  <terra@diku.dk>
6796         * src/widgets/widget-font-selector.c (reload_preview): Spelling
6797         fix.
6799 1999-09-21  Miguel de Icaza  <miguel@gnu.org>
6801         * src/sheet.c (cell_is_homogeneous): Set size here to get correct
6802         feedback results.
6804         * src/workbook-format-toolbar.c (change_font_in_selection_cmd):
6805         Simplified to use apply_style_to_selection
6806         (apply_style_to_selection): Big nice wrapper.
6807         (change_font_size_in_selection_cmd): Implement.
6809         * src/pixmaps.h: Removed GNUMERIC_TEST_ACTIVE_OBJECT for release.
6811         * src/workbook-format-toolbar.c: More toolbar work, now we have
6812         color selectors for foreground and background.
6814         * src/workbook.c: Split the format toolbar
6816         * src/workbook-format-toolbar.[ch]: Now they contain the
6817         format-toolbar code.
6819         * src/sheet-object-graphic.c (sheet_object_filled_realize): Width
6820         is now in points, not pixels.
6822         * src/widgets/gtk-combo-box.[ch]: New files, they implement an
6823         extensible ComboBox for Gtk.
6825         * src/widgets/color-combo.[ch]: New files, they implement the
6826         ColorCombo box.
6828 1999-09-21  Michael Meeks  <michael@nuclecu.unam.mx>
6830         * src/sheet-object-container.c (make_container_item): Add widget_handle.
6831         (sheet_object_container_destroy): clean.
6833         * src/sheet-object-widget.c (sheet_object_widget_realize): add widget
6834         handling hook.
6836         * src/sheet-object.c (sheet_object_event): renamed to canvas_event.
6837         (control_point_handle_event): use gdouble for x,y & remove duff w2w &
6838         dx*zoom code.
6840         * src/sheet-object.h: add various signals + a type.
6842         * src/sheet-object-widget.c (sheet_object_widget_construct): set press.
6844         * src/sheet-object.c (sheet_object_event, sheet_object_make_current):
6845         remove redundant 'Sheet' argument.
6846         (control_point_handle_event): Add make_current to button press.
6847         (sheet_object_start_editing): clean + setup cursor data.
6848         (control_point_handle_event): Use sizing cursors.
6849         (sheet_object_event): Add 'press' cursor.
6850         (sheet_object_widget_event, sheet_object_widget_handle): handlers to pass
6851         events around.
6853         * src/sheet-object-container.c (user_activation_request_cb): update
6854         make_current.
6856         * src/cursors.h: Add new cursors.
6858         * src/cursors.c: ditto.
6860 1999-09-21  Morten Welinder  <terra@diku.dk>
6862         * src/functions/fn-stat.c (gnumeric_logest): Add some meat.
6864         * src/regression.c (general_linear_regression): Renamed from
6865         general_regression.
6866         (exponential_regression): New function.
6868 1999-09-21  Jukka-Pekka Iivonen  <iivonen@iki.fi>
6870         * samples/statfuns.xls: Updated the second PERCENTRANK test.
6872         * src/functions/fn-stat.c: Added stubs for LOGEST and GROWTH.
6874 1999-09-20  Morten Welinder  <terra@diku.dk>
6876         * src/expr.c (do_expr_decode_tree): Plug leak.
6878         * src/functions/fn-stat.c (gnumeric_linest): Handle "const"
6879         parameter also.  Introduce skeleton to handle "stat" parameter.
6880         (gnumeric_percentile): Fix PERCENTILE.
6882         * src/format.c (format_number): Plug leak.
6884 1999-09-20  Jody Goldberg <jgoldberg@home.com>
6886         * plugins/{ff-csv, gda, guile, python, sample, text}/Makefile.am :
6887           Do not specify private warnings.  Use the default set from
6888           compiler-flags.m4.
6890         * src/cell.h (cell_deep_thaw_dependencies,
6891                       cell_deep_freeze_dependencies) : Remove non-existant
6892                       prototypes.
6894 1999-09-19  Jukka-Pekka Iivonen  <iivonen@iki.fi>
6896         * src/functions/fn-stat.c: Implemented PERCENTILE() function.
6898 1999-09-19  Jody Goldberg <jgoldberg@home.com>
6900         * src/value.c (value_release) : Releasing value_terminate should not
6901           generate an error.
6903         * src/sheet-object-container.h : Add include
6904           <bonobo/gnome-client-site.h>.
6906 1999-09-18  Jody Goldberg <jgoldberg@home.com>
6908         * src/sheet-object.h : Make SheetObjectType names
6909           constistant with SheetModeType names, and add
6910           GRAPHIC, BUTTON, and CHECKBOX.
6912         * plugins/html/epsf.c (epsf_write_wb) : RECTANGLE -> BOX.
6913           ELLIPSE -> OVAL.
6914         * src/sheet-object.c (create_object) : Ditto.
6915         * src/xml-io.c (xml_read_sheet_object) : Ditto.
6917 1999-09-18  Miguel de Icaza  <miguel@gnu.org>
6919         * src/dialogs/dialog-simple-input.c (dialog_get_sheet_name): use
6920         dialog_run_and_close here.
6921         (dialog_get_number): ditto.
6923         * src/format.c (format_add_thousand, format_remove_decimal,
6924         format_add_decimal): New routines.
6925         (format_number): Fixed bug in 'E', 'e' handler (format was
6926         incremented twice).
6928         * src/workbook-cmd-format.c: Hook up the add/remove decimal and
6929         add thousand actions.
6931         * src/sheet.c (range_is_homogeneous): Do not value_release a value
6932         terminate.
6934         * src/workbook-cmd-format.c (do_apply_style_to_selection): set
6935         sheet dirty.
6936         (workbook_cmd_format_column_auto_fit): ditto.
6937         (workbook_cmd_format_column_width): ditto.
6938         (workbook_cmd_format_row_auto_fit): ditto.
6939         (workbook_cmd_format_row_height): ditto.
6941         * src/workbook.c (workbook_rename_sheet): dirty sheet.
6943 1999-09-19  Michael Meeks  <michael@nuclecu.unam.mx>
6945         * src/workbook.c (about_cmd): make static.
6947         * src/sheet-object-container.c (sheet_object_container_load): fix
6948         return value.
6950         * src/workbook.c (create_format_toolbar): cast to widget not entry.
6952 1999-09-19  Morten Welinder  <terra@diku.dk>
6954         * src/functions/fn-stat.c (callback_function_make_list): Static.
6955         (init_make_list_closure): Static.
6957         * src/expr.c (eval_expr_real): Static.
6959         * src/functions/fn-math.c (gnumeric_sum): Static.
6960         (gnumeric_suma): Static.
6962         * src/analysis-tools.c (covariance_tool): Plug leak.
6963         (descriptive_stat_tool): Plug leak.
6964         (correlation_tool): Plug leak.
6965         (ranking_tool): Plug leak.
6966         (anova_single_factor_tool): Plug leak.
6967         (sampling_tool): Don't read past array.
6969         * src/sheet.c (sheet_destroy): Plug leak.
6971         * src/dialogs/dialog-cell-sort.c (dialog_cell_sort): Plug leak.
6973 1999-09-18  Jody Goldberg <jgoldberg@home.com>
6975         * src/sheet.c (range_is_homogeneous) : Ignore results from
6976           sheet_cell_foreach_range it will always be NULL or
6977           value_terminate.  Neither need to be freed.
6979         * src/value.c (value_release) : Re-enable test to avoid releasing
6980           value_terminate.
6982 1999-09-17  Miguel de Icaza  <miguel@gnu.org>
6984         * src/sheet.c (sheet_row_size_fit): fetch row information, not
6985         column information.  Fix the routine.
6987         * src/workbook-cmd-format.c (workbook_cmd_format_column_auto_fit):
6988         (workbook_cmd_format_column_width):
6989         (workbook_cmd_format_row_auto_fit):
6990         (workbook_cmd_format_row_height): Fix the range being scanned to
6991         be inclusive.
6993 1999-09-17  Jody Goldberg <jgoldberg@home.com>
6995         * samples/operator.xls : Updated to be robust in the
6996           face of errors, and to use epsilon comparisons for the
6997           artihmetic comparisons.
6999 1999-09-18  Morten Welinder  <terra@diku.dk>
7001         * gnumeric.spec.in (Requires): Update libglade version.
7003         * src/dialogs/dialog-printer-setup.c (do_hf_config): Plug leaks.
7005         * src/sheet.c (zoom_cell_style): Plug leak.
7007         * src/functions/fn-date.c (get_serial_time): Be defensive.
7009         * src/expr.c (eval_expr_real): For integer 0^0, return #NUM!.
7010         (eval_expr_real): Adjust float power error check to match the
7011         integer one.
7013         * src/style.c (style_new): Silence.
7015         * src/sheet.c (sheet_update_controls): Initialize all closure
7016         members.
7018 1999-09-17  Michael Meeks  <michael@nuclecu.unam.mx>
7020         * src/dialogs/dialog-summary.c (dialog_summary_update): Change to
7021         workbook argument, and reparent to toplevel.
7023         * src/dialogs/dialogs.h: ditto.
7025         * src/workbook.c (summary_cmd): ditto.
7027 1999-09-17  Miguel de Icaza  <miguel@gnu.org>
7029         * src/widgets/gnumeric-toolbar.c (gnumeric_toolbar_class_init):
7030         typo fix.
7032 1999-09-17  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7034         * src/widgets/gnumeric-toolbar.c (gnumeric_toolbar_class_init):
7035         Parent class is GtkToolbar, not itself.
7037 1999-09-17  Miguel de Icaza  <miguel@gnu.org>
7039         * src/workbook.c (create_format_toolbar): Make the size of the
7040         entry line onloy fit four zeros.
7041         (workbook_feedback_set): set the font even if no cached value
7042         exists.
7044 1999-09-17  Jukka-Pekka Iivonen  <iivonen@iki.fi>
7046         * src/workbook.c: Added ``Delete...'' entry to ``Edit'' menu.
7048 1999-09-17  Miguel de Icaza  <miguel@gnu.org>
7050         * src/workbook-cmd.c: New file.  Moved a bunch of commands here,
7051         and move to be moved.
7052         Implemented the set money format;   Implemented the percent formt.
7054 1999-09-16  Miguel de Icaza  <miguel@gnu.org>
7056         * src/sheet.c (sheet_update_controls, cell_is_homogeneous):
7057         Include checks for font name and font size.
7059         * src/dialogs/dialog-printer-setup.c (dialog_printer_setup): Add
7060         call to gnome_dialog_set_parent here.
7062         * src/dialogs/tools.h: New file, moved here all the tools declarations.
7063         Please, try to keep indentation for public functions as the rest
7064         of the Gnumeric ones.
7066         * src/workbook.c: Enable comands Format/Column, Format/Row and
7067         Format/Sheet.
7068         (create_format_toolbar): Add font selector toolbar widget.
7069         (change_font_in_selection_cmd): New routine.  Applies a font to a
7070         selection in the workbook.
7071         (workbook_feedback_set): Upgraded feedback interface
7073         * src/sheet-view.c (sheet_view_row_size_changed): There is no need
7074         to call gnumeric_compute_visible_ranges, the sheet_row_set_height
7075         code does this.
7077         * src/item-bar.c (item_bar_event): Support also row-autosizing.
7079         * src/sheet.c (sheet_col_size_fit): Add this routine.
7080         (sheet_col_set_internal_width): New function.  Similar to its
7081         counterpart
7083         * src/dialogs/dialog-cell-format.c (dialog_cell_format): Change
7084         call to g_list_free for sheet_cell_list_free.
7086         * src/selection.c (sheet_cell_list_free): New routine.
7088         * src/workbook.c: Reworked toolbars again.  We now only have 2
7089         toolbars instead of 8 or so.
7091         * src/sheet.h (SHEET_MAX_ROWS): New excel supports 64k rows, mimic this.
7093         * src/widgets/gnumeric-toolbar.c: Added new file.  Handles the
7094         Gnumeric toolbars.
7096 1999-09-17  Jody Goldberg <jgoldberg@home.com>
7098         * src/sheet.c (sheet_col_get_unit_distance,
7099                        sheet_row_get_distance
7100                        sheet_row_get_unit_distance
7101                        sheet_col_get_unit_distance) : Constification.
7102         (sheet_init_default_styles) : Make the default row/col size
7103           match excel more closely.
7105 1999-09-16  Michael Meeks  <michael@nuclecu.unam.mx>
7107         * src/func.c (functions_init): Remove misc_init.
7109         * src/functions/fn-misc.c: Removed, empty & redundant.
7111         * src/functions/Makefile.am: remove fn-misc.c
7113         * src/func.h: ditto.
7115         * src/sheet-object-container.c (sheet_object_container_load): Implement
7116         cleaner & simpler load method
7118         * NEWS (Michael): doh, move it into the correct version.
7120 1999-09-16  Michael Meeks  <michael@nuclecu.unam.mx>
7122         * src/print.c (sheet_print): Update to use gnumeric_porinter_dialog_run.
7123         (print_job_info_get): Add range parameter.
7125         * src/dialogs/Makefile.am (libdialogs_a_SOURCES): Added dialog-printer.[ch]
7127         * src/dialogs/dialog-printer.[ch]: New thin wrapper of GnomePrinterDialog
7128         to handle sheet selection.
7130         * src/sheet-object-container.c (sheet_object_container_land): Add
7131         comments about what needs doing.
7133         * src/sheet-object.c (sheet_object_event): renamed.
7134         Updated various SheetObject var names to 'so'.
7136 1999-09-15  Michael Meeks  <michael@nuclecu.unam.mx>
7138         * src/sheet-object-container.c (sheet_object_container_land): Cleaned
7139         debug, improved sizing logic.
7141 1999-09-16  Jody Goldberg <jgoldberg@home.com>
7143         * src/ranges.c (range_dump) : Typo.
7145         * src/selection.c (selection_to_list) : rename from
7146           sheet_selection_to_list and add allow_intersection parameter.
7147         (selection_to_string) : rename from sheet_selection_to_string and
7148           use selection_apply.
7150         * src/dialogs/dialog-cell-format.c (dialog_cell_format) : Adjust to
7151           changes in selection_to_list.
7153 1999-09-15  Morten Welinder  <terra@diku.dk>
7155         * src/sheet.c (cell_is_homogeneous): Always return a value.
7157         * src/ranges.c (range_dump): Fix destination.
7159         * src/selection.c (selection_apply): Plug leak.
7161 1999-09-15  Michael Meeks  <michael@nuclecu.unam.mx>
7163         * src/sheet-object.c (window_to_world): Remove.
7164         (sheet_motion_notify, sheet_button_release, sheet_object_drop_file):
7165         clean to use gnome_canvas_window_to_world.
7167         * src/sheet-view.c (sheet_view_construct, (filenames_dropped): move
7169         * src/gnumeric-sheet.c (gnumeric_sheet_filenames_dropped),
7170         (gnumeric_sheet_new): to here + rename; makes more sense.
7172         * src/sheet-object.c (sheet_object_drop_file): Take a GnumericSheet.
7174         * src/parser.y (array_row:): Manged to support wierd MS style array
7175         semantics some people get {1\2\3;4\5\6} instead of {1,2,3;4,5,6}.
7177         * src/workbook.c (workbook_file_toolbar): Remove duplicate print icon.
7179         * src/pixmaps/preview.xpm: Stop gap icon; improved.
7181         * src/xml-io.c (xml_get_print_hf): Remove redundant precondition.
7183 1999-09-14  Miguel de Icaza  <miguel@gnu.org>
7185         * src/workbook.c: Split toolbars into mulitple toolbars;  Add a
7186         private field to Workbook structure.
7187         Change the toolbar setup to have multiple dock-items.
7189         * src/format.c: Initialize this to NULL.
7191         * src/print-info.c (load_formats): Memory leak fix.
7193         * src/xml-io.c (xml_read_summary): Fixed memory leak.
7195 1999-09-14  Morten Welinder  <terra@diku.dk>
7197         * src/dialogs/dialog-analysis-tools.c (tools): Make static.
7199         * src/print-info.c (load_formats): Plug leak.
7201         * src/functions/fn-eng.c (eng_functions_init): Arg fix.
7202         * src/functions/fn-string.c (string_functions_init): Ditto.
7203         * src/functions/fn-stat.c (stat_functions_init): Ditto.
7204         * src/functions/fn-sheet.c (sheet_functions_init): Ditto.
7205         * src/functions/fn-misc.c (misc_functions_init): Ditto.
7206         * src/functions/fn-math.c (math_functions_init): Ditto.
7207         * src/functions/fn-lookup.c (lookup_functions_init): Ditto.
7208         * src/functions/fn-logical.c (logical_functions_init): Ditto.
7209         * src/functions/fn-information.c (information_functions_init):
7210         Ditto.
7211         * src/functions/fn-financial.c (finance_functions_init): Ditto.
7212         * src/value.c (value_terminate): Ditto.
7214         * gnumeric.spec.in (Requires): Update gnome-print dependency.
7216 1999-09-14  Karl Eichwalder  <ke@suse.de>
7218         * src/workbook.c: The "import" item needs dots; it opens a dialog.
7220         * DEPENDS: Add gnome-print.
7222         * README: Increase gnome-print version (0.6); not sure, whether
7223         other version numbers are to be increased, too.  Fix typos; small
7224         prettifications.
7226 1999-09-13  Jody Goldberg <jgoldberg@home.com>
7228         * src/ranges.c (range_dump) : Improve format.
7230         * src/workbook.c (deps_output) : The selection can be a region.
7232         * src/dialogs/dialog-cell-sort.c (dialog_cell_sor) :
7233           sheet_selection_first_range returns a range.
7235         * src/print.c (sheet_print_selection) : Ditto.
7237         * src/selection.c (sheet_selection_first_range) : Simplify and move
7238           closer to sheet_verify_selection_simple.
7240         * src/workbook.c (insert_cols_cmd, insert_cols_cmd) : Handle
7241           sheet_verify_selection_simple rename to selection_is_simple.
7243         * src/sheet.c (sheet_update_controls) : Use selection_apply
7244           rather than sheet_selection_to_list which is expensive.
7245         (sheet_col_selection_type, sheet_row_selection_type) :
7246           Constification.
7248 1999-09-13  Michael Meeks  <michael@nuclecu.unam.mx>
7250         * src/parser.y (forget_array): Created. exp: added array_row, array_exp,
7251         array_cols: created. (build_array): Implemented. (v_forget): added.
7253         * src/value.c (value_release): Update Array to only free if != NULL.
7255         * src/functions/fn-lookup.c (lookup_functions_init): add index.
7256         (gnumeric_index): Ghastly placeholder; we need more core functionality.
7257         (gnumeric_lookup): remove redundant value_duplicate fixing leak.
7258         (gnumeric_match): Implement as far as it goes.
7260         * src/workbook.c (workbook_delete_event): Nail fatal bug in #define for bonobo.
7262         * src/dialogs/dialog-printer-setup.c (dialog_print_info_new): Moved things into
7263         constructor and out of (dialog_printer_setup).
7264         (unit_changed): actually update the margin UnitInfo's value...
7266         * src/xml-io.c (xml_read_print_info, xml_write_print_info, xml_get_print_hf),
7267         (xml_set_print_hf): Header / footer, paper size writing.
7269 1999-09-13  Karl Eichwalder  <ke@suse.de>
7271         * src/dialogs/hf-config.glade: Add missing `:'.  Is this the right
7272         place to fix this kind of a bug?
7273         * src/dialogs/hf-config.glade.h (N_): Ditto (I don't know how to
7274         autogenerate this file).
7276 1999-09-13  Jukka-Pekka Iivonen  <iivonen@iki.fi>
7278         * src/functions/fn-misc.c, src/functions/fn-information.c: Moved the
7279         error functions to information functions file.
7281         * src/functions/fn-math.c, src/function/fn-lookup.c: Moved TRANSPOSE
7282         to lookup functions file.
7284         * src/functions/fn-stat.c: Added more examples.
7286         * src/dialogs/dialog-analysis-tools.c: Bug fix.  Pressing ESC key
7287         means CANCEL now in the subdialogs.
7289 1999-09-13  Michael Meeks  <michael@nuclecu.unam.mx>
7291         * src/dialogs/dialog-printer-setup.c (do_setup_page_info): Fix initial display
7292         of icon: lr/td first.
7294         * src/xml-io.c (xml_sheet_read, xml_sheet_write): Add print info R/W.
7296 1999-09-12  Michael Meeks  <michael@nuclecu.unam.mx>
7298         * src/print-info.h: UnitName typo corrected.
7300         * src/dialogs/dialog-printer-setup.c (convert_to_mm, unit_editor_new): ditto.
7302         * src/xml-io.c (xml_read_print_info, xml_write_print_info): Implemented.
7303         (xml_read_summary): Cleaned preconditions to make Miguel happy.
7305         * src/print-preview.c (preview_destroyed, print_preview_new): Attach signal
7306         to the workbook and warn.
7308         * src/print.c (sheet_print): Remove redundant print_context_close_file.
7310         * src/embeddable-grid.c (grid_view_new): NULL a pointer.
7312 1999-09-12  Michael Meeks  <mmeeks@gnu.org>
7314         * src/embeddable-grid.c (grid_view_activate): Hack to cope with new
7315         private Bonobo plug, just emit a warning.
7316         (grid_view_new): similarly hacked.
7318         * src/eval.c: Include ranges.h
7320         * src/selection.c (sheet_selection_first_range): Remove unused and
7321         cryptic base_col / base_row.
7323         * src/dialogs/dialog-cell-sort.c (dialog_cell_sort): remove base
7324         stuff.
7326         * src/workbook.c (print_setup_cmd, file_print_cmd),
7327         (file_print_preview_cmd): New print stuff.
7328         (deps_output): update to new first_range.
7330         * src/print-preview.c (print_preview_new): More wb->sheet.
7331         (sheet_destroyed): Renamed, (create_preview_canvas, render_page),
7332         (preview_file_print_cmd, create_toplevel): wb->sheet.
7333         include print.h (preview_file_print_cmd): Add active_sheet.
7334         (create_toplevel): Update name calc + add preconditions.
7336         * src/print-preview.h: update prototype + add _context proto.
7338         * src/print.c (print_job_info_get): more wb->sheet.
7339         (printjob_init_sheet): split out. (sheet_print_selection): implement.
7341         * src/sheet.c (sheet_new, sheet_destroy): Add print info bits.
7343         * src/workbook.c (workbook_do_destroy, workbook_init): Clean
7344         print-info bits.
7346         * src/dialogs/dialog-printer-setup.c (dialog_print_info_t):
7347         convert workbook -> sheet (do_print_preview_cb, do_print_cb),
7348         (dialog_print_info_new, dialog_printer_setup): ditto.
7349         (do_setup_main_dialog): preconditions.
7351         * src/dialogs/dialogs.h: Change prototype.
7353         * src/print.c (workbook_print): Implemented PRINT_ACTIVE_SHEETS,
7354         added default_range parameter: use for now; renamed (sheet_print)
7355         (print_sheet): preconditions (sheet_print_selection): renamed.
7357         * src/print.h (workbook_print): Move PrintRange enum here & re-name.
7359 1999-09-11  Miguel de Icaza  <miguel@gnu.org>
7361         * src/workbook.c (workbook_delete_event): Fix the delete_event
7362         setup.
7364 1999-09-11  Jody Goldberg <jgoldberg@home.com>
7366         * src/sheet-object-widget.c (sheet_object_widget_update_bounds) :
7367           Don't zoom coords sheet_object_get_bounds takes care of that
7368           for us.
7370         * src/sheet-object-container.c (sheet_object_container_update_bounds) :
7371           Ditto.
7373         * src/sheet-object-graphic.c (sheet_object_filled_update_bounds) :
7374           Ditto, renamed from sheet_object_filled_update to be more
7375           consistant.
7377 1999-09-10  Michael Meeks  <michael@nuclecu.unam.mx>
7379         * src/corba-sheet.c: include selection.h
7381         * src/sheet.c: Include ranges.h (sheet_insert_object): remove unused.
7383         * src/file.c (workbook_try_read): Remove unused var.
7384         (fs_key_event): Sort out return type & cast.
7386         * src/selection.c: Add Jody as an author if he isn't going to :-)
7388         * src/sheet-object.c: Cheekily do the same for me.
7390 1999-09-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7392         * src/corba-sheet.c: Updated to the new sheet selection API
7393         changes.
7395         * src/gnumeric-sheet.c (destroy_item_editor): Removed FIXME
7396         comment.  More fixing from Federico's talk
7397         (gnumeric_sheet_stop_cell_selection): ditto
7399         * src/cell.c: Replaced unrefs of windows with destroys.  Federico
7400         explained a thing or two to me today.
7402         * src/file.c (dialog_query_load_file): Added a key handler to
7403         handle ESC on dialog boxes to mean cancel.
7404         (workbook_save_as): ditto.
7406 1999-09-10  Michael Meeks  <michael@nuclecu.unam.mx>
7408         * src/sheet-object.c (window_to_world): Added debug.
7410         * src/widgets/widget-editable-label.c (el_start_editing):
7412         * src/workbook.c (sheet_label_text_changed_signal): Return focus
7413         to the main sheet when finished.
7415         * src/widgets/widget-editable-label.c (el_stop_editing): Convert
7416         gtk_object_unrefs to gtk_object_destroy's kills wierd debug.
7417         (el_destroy): NULL freed pointer.
7418         (el_start_editing): Add vital widget_grab_focus.
7420         * src/cursors.h (cursor_set_widget): Use G_STMT_* in macros.
7422         * src/workbook.c (workbook_can_close): Add forward definition.
7423         (workbook_new): Update sizing algo. to fit to the screen better.
7425         * src/main.c (gnumeric_main): Process gtk draw events between loading
7426         files, can't slow us down and looks lots better !
7428 1999-09-10  Jukka-Pekka Iivonen  <iivonen@iki.fi>
7430         * src/functions/fn-*: Added tons of examples to help strings.
7432 1999-09-09  Michael Meeks  <michael@nuclecu.unam.mx>
7434         * src/sheet-object.c (sheet_button_release), sheet_motion_notify),
7435         (sheet_object_set_bounds): Fix for arrows.
7437 1999-09-09  Michael Meeks  <michael@nuclecu.unam.mx>
7439         * src/workbook.c (workbook_delete_event): Fix object_unref for
7440         Bonobo case. (workbook_widget_delete_event): remove strange unref, this
7441         needs looking at.
7443         * src/sheet-object.c (sheet_view_object_unrealize, sheet_object_destroy),
7444         (sheet_object_destroy_control_points): Changed _unref to _destroy nailing
7445         scads of warnings.
7447         * src/sheet-object-container.c (sheet_object_container_destroy_views):
7448         ditto.
7450         * src/sheet-object-container.c (sheet_object_container_land): Get
7451         auto sizing working.
7453         * src/sheet-object*.[ch]: Large overhaul, extensively re-wrote signal
7454         handling, and state passing. Generic object 'bounds' is now stored in
7455         sheet-object, and accessed via access procedures. Homegenized naming,
7456         Drasticaly simplified re-sizing modes.
7458         * src/sheet-view.c: Include selection.h to kill warnings.
7460         * src/sheet-object.c (sheet_object_get_bounds): Created.
7461         (sheet_view_object_unrealize): Fix the same list manipulation bug
7462         ( it gets everywhere ).
7464 1999-09-09  Jukka-Pekka Iivonen  <iivonen@iki.fi>
7466         * src/functions/fn-*: Started adding examples to all functions.
7468 1999-09-08  Jody Goldberg <jgoldberg@home.com>
7470         * src/*.c : Have Range use CellPos, and SheetSelection use Range.
7472         * src/functions/fn-sheet.c (gnumeric_selection) :
7473           Switch to selection_apply.
7475         * src/sheet.c (sheet_set_selection) : Keep GNUMERIC_SHEET_VIEW
7476           local to sheet.c
7478         * src/selection.c (sheet_selection_change,
7479                            selection_append_range,
7480                            sheet_selection_extend_to) :
7481           Use sheet_set_selection.
7483         * src/dialogs/dialog-cell-format.c (apply_font_format,
7484                                             cell_properties_apply) :
7485           adjust to changes in SheetSelection.
7487         * src/functions/fn-sheet.c (gnumeric_selection) : Switch to
7488           selection_apply.
7490         * src/gnumeric-util.c (range_contains) : Ditto. Const.
7492         * src/selection.c (sheet_selection_clear,
7493                            sheet_selection_clear_comments,
7494                            sheet_selection_clear_content,
7495                            sheet_selection_clear_formats) :
7496           Use selection_apply.
7497         (selection_apply) : New function abstracting selections enabling
7498           correct support for overlapping selection regions.
7499         (sheet_selection_to_list) : Use selection_apply.
7501         * src/value.c (value_new_array_empty) : New function.
7503 1999-09-08  Michael Meeks  <michael@nuclecu.unam.mx>
7505         * src/sheet-object.c (control_point_handle_event): substantialy
7506         re-written, same bugs :-), fix tommorow.; added range clipping.
7508         * src/sheet-object-container.c (sheet_object_container_land): Add
7509         auto-size placeholder & argument.
7510         (sheet_object_container_destroy): gnome_object_destroy instead of
7511         gtk_object_destroy.
7513         * src/sheet-object.c (sheet_object_drop_file): remove duff realize
7514         and debug. Correct gnome_object_destroy to gtk_object_destroy.
7516 1999-09-08  Morten Welinder  <terra@diku.dk>
7518         * gnumeric.desktop: Add Danish translations.
7520 1999-09-08  Jody Goldberg <jgoldberg@home.com>
7522         * src/cell.c (cell_get_span) : Support VALUE_EMPTY.
7524 1999-09-08  Michael Meeks  <michael@nuclecu.unam.mx>
7526         * src/sheet-view.c (filenames_dropped, sheet_view_construct): Move
7527         D&D activation to here, so we get sensible handling of positions.
7529         * src/sheet-object-container.c (user_activation_request_cb): typo.
7530         (sheet_object_drop_file): Emit the correct signal to realize, take
7531         a SheetView argument, clean 'msg's up.
7532         (sheet_object_container_new): Squashed warning.
7534         * src/workbook.c (filenames_dropped, workbook_new): Move D&D into
7535         sheet-view.c.
7537         * src/file.c (workbook_try_read): Split from workbook_read.
7538         (workbook_import, workbook_read): Correct casts & updated.
7540         * src/dialogs/dialog-function-select.c (function_definition_update),
7541         (function_categories_fill): Add casts to get round daft clist_append
7542         constification.
7544 1999-09-08  Vincent Renardias  <vincent@ldsol.com>
7546         * src/dialogs/dialog-analysis-tools.c: A number of displayed strings
7547         were not marked as such.
7548         * po/fr.po: Updated accordingly.
7550 1999-09-08  Pablo Saratxaga <srtxg@chanae.alphanet.ch>
7552         * src/workbook.c: changed "_Comments" to "Co_mments" as there is
7553         already "_Content" in the same menu
7555 1999-09-07  Jody Goldberg <jgoldberg@home.com>
7557         * src/dialogs/dialog-function-select.c (function_definition_update,
7558           function_categories_fill) : Const.
7560 1999-09-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7562         * src/workbook.c: Remove sample button from the toolbar.
7564         * src/item-bar.c (item_bar_event): Use the item_bar->resize_pos
7565         computed during button press. #2090 fixed
7567 1999-09-07  Morten Welinder  <terra@diku.dk>
7569         * src/print-info.c (save_margin): Terminate the set of strings to
7570         concatenate.
7572         * src/dialogs/dialog-printer-setup.c (do_setup_main_dialog): Plug
7573         leak.
7575 1999-09-07  Michael Meeks  <michael@imaginator.com>
7577         * src/pixmaps.h: Added button.xpm
7579         * src/sheet-object.c (sheet_object_drop_file): Created.
7581         * src/workbook.c (filenames_dropped): Move component d&d guts into
7582         sheet-object.
7584         * src/file.c (workbook_import, workbook_read): Add bonobo_object
7585         _destroy if we have bonobo.
7587 1999-09-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7589         * src/item-grid.c: Code now can draw emtpy cells with the correct style.
7591 1999-09-03  Miguel de Icaza  <miguel@gnu.org>
7593         * src/dialogs/dialog-printer-setup.c (draw_margins): Added margin
7594         display preview.
7596         * src/print-preview.c (preview_zoom_out_cmd): Zoom-in, zoom-out
7597         and move are now toggle buttons.
7599         * src/workbook.c (italic_cmd, bold_cmd): Simplified the code some.
7601         * src/dialogs/dialog-printer-setup.c (do_setup_page_info): Force
7602         the icon display here.
7603         (preview_page_create): Invert test.
7604         (PAGE_X, PAGE_Y): They are now the same values.
7605         (do_setup_page): Show the images here.
7607 1999-09-02  Miguel de Icaza  <miguel@gnu.org>
7609         * src/print-preview.c (create_toplevel): Add a toolbar.
7611         * src/print.c (compute_groups): Include the margins in the
7612         size computation.
7614         * src/print-cell.c (print_cell_range): Start printing from the
7615         start_row, not from zero.
7617         * src/print-preview.c: Change of plans.  We now use a metafile, we
7618         render all the code there.  And then we use the new metafile
7619         operations for rendering a specific page.
7621         * src/item-cursor.c (item_cursor_autofill_event): Change this to
7622         destroy again.
7624 1999-09-01  Miguel de Icaza  <miguel@gnu.org>
7626         * src/print-preview.c (print_preview_print_done): Show the first
7627         page here.
7629 1999-09-03  Michael Meeks  <michael@imaginator.com>
7631         * src/sheet-object-container.c (sheet_object_container_land): Add
7632         return type to denote if we created and bound correctly.
7633         (sheet_object_container_creation_finished): Add warning on failure.
7634         (get_file_name): Kill warning.
7636 1999-09-01  Michael Meeks  <michael@imaginator.com>
7638         * src/sheet-object-container.c (sheet_object_container_land): Add
7639         optional file argument and document.
7640         (sheet_object_container_creation_finished): update call's args.
7642         * src/sheet-object.h: Removed redundant sheet_object_register.
7644         * src/workbook.c (filenames_dropped): Hacked.
7646 1999-09-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7648         * src/item-bar.c (item_bar_event): Use the item_bar->resize_pos
7649         computed during button press. #2090 fixed
7651 1999-09-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7653         * src/format.c (format_number): "\" is an escape character for the
7654         next character on the format.
7656 1999-09-07  Morten Welinder  <terra@diku.dk>
7658         * src/mathfunc.h: Make up for deficient header files.
7660         * src/cursors.c (create_bitmap_and_mask_from_xpm): Fix bitmap
7661         loading.  This code isn't exactly elegant.
7663 1999-09-06  Jody Goldberg <jgoldberg@home.com>
7665         * src/sheet-view.[ch] (sheet_view_scrollbar_config) : Adjust scrollbar
7666           increment.  Split out from sheet_view_size_allocate.
7668         * src/gnumeric-sheet.c (gnumeric_sheet_compute_visible_ranges) :
7669           call sheet_view_scrollbar_config, to adjust scrollbar when region
7670           changes.
7672 1999-09-05  Miguel de Icaza  <miguel@gnu.org>
7674         * src/print-preview.c (preview_canvas_event): Add an event handler
7675         for the preview canvas.
7676         Make the drag action on MOVE mode move the canvas.
7677         (zoom_state): new routine, controls the toolbar widget display.
7679         * src/cursors.c: Add new zoom in and zoom out cursors.
7681         * src/dialogs/dialog-printer-setup.c (unit_editor_new): One line
7682         warning fix.
7684         * src/sheet.c (sheet_col_size_fit): Returns the size required to
7685         render every cell completely.
7687         * src/item-bar.c (item_bar_event): Delay column/row resizing
7688         action until the division is actually being dragged.  We need this
7689         to catch double-clicks for auto-sizing cells.
7690         (GDK_2BUTTON_PRESS):
7692         * src/dialogs/dialog-cell-format.c (create_background_radio,
7693         create_foreground_radio): Set the toggle button to the colored
7694         when the color selector has been clicked.
7696         * src/item-grid.c (item_grid_draw): Experimental code for drawing
7697         empty cells with the correct attributes.
7699         Only enabled if you use set gnumeric debugging flag above 1.  I do
7700         have some issues with selection drawing.
7702 1999-09-05  Richard Hestilow  <hestgray@ionet.net>
7704         * configure.in: Minor s/For/for library check message fix.
7706 1999-09-03  Miguel de Icaza  <miguel@gnu.org>
7708         * src/dialogs/dialog-printer-setup.c (draw_margins): Added margin
7709         display preview.
7711         * src/print-preview.c (preview_zoom_out_cmd): Zoom-in, zoom-out
7712         and move are now toggle buttons.
7714         * src/workbook.c (italic_cmd, bold_cmd): Simplified the code some.
7716         * src/dialogs/dialog-printer-setup.c (do_setup_page_info): Force
7717         the icon display here.
7718         (preview_page_create): Invert test.
7719         (PAGE_X, PAGE_Y): They are now the same values.
7720         (do_setup_page): Show the images here.
7722 1999-09-02  Miguel de Icaza  <miguel@gnu.org>
7724         * src/print-preview.c (create_toplevel): Add a toolbar.
7726         * src/print.c (compute_groups): Include the margins in the
7727         size computation.
7729         * src/print-cell.c (print_cell_range): Start printing from the
7730         start_row, not from zero.
7732         * src/print-preview.c: Change of plans.  We now use a metafile, we
7733         render all the code there.  And then we use the new metafile
7734         operations for rendering a specific page.
7736         * src/item-cursor.c (item_cursor_autofill_event): Change this to
7737         destroy again.
7739 1999-09-01  Miguel de Icaza  <miguel@gnu.org>
7741         * src/print-preview.c (print_preview_print_done): Show the first
7742         page here.
7744 1999-09-02  Jody Goldberg <jgoldberg@home.com>
7746         * src/clipboard.c (clipboard_paste_region) : Check that another
7747           workbook has not already freed the selection before releasing.
7748         (x_selection_received) : Ditto.
7749         (x_clipboard_bind_workbook) : Init clipboard_paste_callback_data.
7751 1999-09-01  Jody Goldberg <jgoldberg@home.com>
7753         * src/sheet-object.c (sheet_object_update_coords) : Scale movements by
7754           zoom factor.
7755         * src/sheet-object-widget.c (sheet_object_widget_update_coords) : Ditto.
7757 1999-09-01  Jody Goldberg <jgoldberg@home.com>
7759         * src/sheet.c (sheet_compute_col_row_new_size) :
7760           The margin appears to be used for the border used to
7761           mark the current cell.  This border is not scaled when
7762           zoomed.
7764 1999-09-01  Miguel de Icaza  <miguel@gnu.org>
7766         * src/file.c (workbook_read): If the file does not exist, create a
7767         1-sheet worbook.
7769         * src/print-preview.c: Re-enable zoom in and zoom out after the gnome-print
7770         fixes
7772 1999-09-01  Jody Goldberg <jgoldberg@home.com>
7774         * src/sheet.c (sheet_move_column, sheet_shift_row,
7775           sheet_insert_row, sheet_delete_row, sheet_shift_col) : Don't
7776           relocate the expressions. (Bug 2041)
7778 1999-09-01  Pablo Saratxaga <pablo@mandrakesoft.com>
7780         * configure.in,po/da.po: added Danish file
7782 1999-08-31  Miguel de Icaza  <miguel@gnu.org>
7784         * src/dialogs/dialog-printer-setup.c (do_setup_main_dialog):
7785         Enable the print-preview buttons.
7787         * configure.in (have_bonobo): Test for gnome-print 0.5
7789         * src/print.c (workbook_print): Adapt to the new gnome-print;
7790         Added support for print preview.
7792         * src/print-preview.c: New file.  Implements the print preview
7793         control window.
7795         * src/functions/fn-financial.c: Add brace to remove ambiguity
7797 1999-08-31  Jukka-Pekka Iivonen  <iivonen@iki.fi>
7799         * src/functions/fn-financial.c: Implemented ACCRINT() and DISC().
7801 1999-08-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7803         * src/dialogs/dialog-paste-special.c: Typo fix.
7805 1999-08-29  Morten Welinder  <terra@diku.dk>
7807         * src/about.c (dialog_about): Add Ross Ihaka.
7809         * src/dialogs/dialog-paste-special.c: Typo.
7811 1999-08-29  Jukka-Pekka Iivonen  <iivonen@iki.fi>
7813         * src/functions/fn-financial.c: Implemented ACCRINTM(), INTRATE(),
7814         RECEIVED(), PRICEDISC(), and PRICEMAT().
7816         * src/func.h, src/functions/fn-date.c: Made get_date public.
7818 1999-08-29  Morten Welinder  <terra@diku.dk>
7820         * src/functions/fn-lookup.c (gnumeric_indirect): Plug leak.
7822         * src/format.c (pre_parse_format): Don't overrun string.
7823         (format_number): Plug leak.
7825         * src/workbook.c (workbook_do_destroy): Typo.
7827 1999-08-28  Miguel de Icaza  <miguel@gnu.org>
7829         * src/dialogs/*.glade.h: Make sure every dialog box has updated
7830         .glade.h and add glade.h generation to the summary, names and
7831         import glade files.
7833 1999-08-28  Karl Eichwalder  <ke@suse.de>
7835         * gnumeric.desktop: Sort entries.
7836         (Name): Add `de'.
7837         (Comment): Ditto.
7839         * src/dialogs/dialog-zoom.c (dialog_zoom): Help xgettext to
7840         recognize the strings as `no-c-format'.
7841         * src/formats.c: Ditto.
7842         * src/gnumeric-sheet.c: Ditto.
7844 1999-08-27  Karl Eichwalder  <ke@suse.de>
7846         * src/workbook.c: Typo.
7847         * src/workbook.c (sheet_action_delete_sheet): Change messages
7848         string.
7849         * src/workbook.c (sheet_action_delete_sheet): Ditto.
7851 1999-08-26  Jukka-Pekka Iivonen  <iivonen@iki.fi>
7853         * src/functions/fn-financial.c: Implemented ISPMT().
7855 1999-08-25  Jukka-Pekka Iivonen  <iivonen@iki.fi>
7857         * samples/finfuns.xls: Fixed the test of MIRR.
7859         * src/functions/fn-financial.c: Implemented FVSCHEDULE().
7861 1999-08-24  Jukka-Pekka Iivonen  <iivonen@iki.fi>
7863         * src/functions/fn-financial.c: Implemented TBILLEQ() and started
7864         MIRR().
7866 1999-08-23  Jukka-Pekka Iivonen  <iivonen@iki.fi>
7868         * src/functions/fn-financial.c: Implemented TBILLPRICE() and
7869         TBILLYIELD().
7871 1999-08-22  Jukka-Pekka Iivonen  <iivonen@iki.fi>
7873         * src/dialogs/dialogs-solver.c: Fixed a lot of things, memory
7874         leaks and bugs.  The backend is still not there (but wait, one of
7875         these days it may get there).
7877         * src/dialogs/dialogs.h, src/dialogs/dialogs-analysis-tools.c:
7878         hbox_pack_label_and_entry made public.
7880         * src/collect.[ch], src/functions/fn-financial.c: Removed
7881         collect_dates.  Added a flag COLLECT_DATES to
7882         callback_function_collect instead.
7884 1999-08-22  Miguel de Icaza  <miguel@gnu.org>
7886         * src/main.c (gnumeric_main): New Bonobos need to issue the
7887         bonobo_activate() call.
7889 1999-08-21  Miguel de Icaza  <miguel@gnu.org>
7891         * src/workbook.c (workbook_new_with_sheets): Fixed hardcoded
7892         buffer.
7894 1999-08-20  Jukka-Pekka Iivonen  <iivonen@iki.fi>
7896         * samples/finfuns.xls: Made all the dates to use DATE() function
7897         instead of using strings in scandinavian style.
7899 1999-08-20  Jukka-Pekka Iivonen  <iivonen@iki.fi>
7901         * src/fn-financial.c: Made the last two arguments of PMT and PPMT
7902         optional.
7904 1999-08-20  Jukka-Pekka Iivonen  <iivonen@iki.fi>
7906         * src/fn-financial.c: DDB() implemented.
7908         * src/fn-stat.c: QUARTILE() implemented.
7910 1999-08-20  Jukka-Pekka Iivonen  <iivonen@iki.fi>
7912         * po/de.po: Removed the last bogus msgid to make it compile again.
7914         * src/sheet.c (sheet_insert_object): Added #if ENABLE_BONOBO to
7915         make it compile without BONOBO.
7917         * src/gnumeric-sheet.c (gnumeric_sheet_drag_data_get): Ditto.
7919         * src/collect.[ch]: Wrote collect_dates and collect_dates_value.
7921         * src/fn-financial.c: DB() and XNPV() implemented.  DOLLARDE() and
7922         DOLLARFR() fixed.
7924         * src/fn-date.c, src/func.h: get_serial_date made public.
7926         * TODO: Killed the four functions above from the todo list.
7928 1999-08-19  Miguel de Icaza  <miguel@gnu.org>
7930         * src/workbook.c (workbook_container_get_object): Finish
7931         implementing this routine for responding to monikers.
7932         (create_graphic_cmd): temporarily bind this to
7933         Generic Bonobo object insertion.
7934         (cb_sheet_check_dirty): Make the dialog parent be the workbook
7935         window.
7937         * src/workbook.h (Workbook): Include a GnomeUIHandler.
7939         * src/sheet.c (sheet_insert_object): Enable this function again
7940         and update it to match the latest Bonobo developments.
7942         * src/sheet.h (Sheet): Include a pointer to the active object
7943         frame.
7945         * src/sheet-object.c (sheet_set_mode_type): Do deactivation of
7946         Bonobo frames here.
7948         *  src/gnumeric-sheet.c (gnumeric_drag_data_get): Beginning of
7949         drag and drop support for Bonobo monikers.
7951         * src/item-grid.c (drag_start): More DnD support for Gnumeric
7952         selections using Monikers.
7954         * src/sheet-object-container.c (user_activation_request_cb,
7955         view_activated_cb, get_file_name): New routines for dealing with
7956         the Bonobo object action in Gnumeric.
7958         (sheet_object_container_land): Do object selection here for now.
7959         Support both PersistStream and PersistFile
7961         * src/sheet-object.c:
7963         * src/workbook.c (cb_sheet_check_dirty): Bind the dialog to the
7964         main window.
7966 1999-08-20  Michael Meeks  <michael@imaginator.com>
7968         * src/cell.c (cell_set_text_simple): Add checks for over/under
7969         flow on integer reading... fall back to double values.
7971 1999-08-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7973         * src/cell.c (cell_content_changed): Ok, Paolo corrected me.  This
7974         is not what he wanted.
7976 1999-08-16  Michael Meeks  <michael@imaginator.com>
7978         * src/fn-lookup.c (gnumeric_indirect): Fix leak
7979         Update to use new cellref_*_get functions.
7981         * src/parser.y (return_cellref): Use new function.
7983         * src/sheet.c (cellref_get): Implemented
7984         (cellref_a1_get): Snarf from parser.y :-)
7985         (cellref_r1c1_get): Implemented.
7987 1999-08-17  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7989         * src/workbook.c (workbook_class_init): Added cell_content_changed
7990         signal.
7991         (workbook_do_destroy): Do not enable widgets to be focused.
7993         * src/cell.c (cell_content_changed): Calls workbook_cell_changed.
7994         This is for Paolo and his speech system for GNOME.
7996         * configure.in: New bonobo detection code and support for not
7997         compiling Bonobo support even if it is present on the system
7999 1999-08-17  Jukka-Pekka Iivonen  <iivonen@iki.fi>
8001         * samples/statfuns.xls: Updated the tests of LINEST and TREND to
8002         cover more possible cases.
8004 1999-08-15  Jody Goldberg <jgoldberg@home.com>
8006         * src/format.c (split_time) : Use a integer to avoid problems with
8007           rounding when compiling with optimization.  Be extra careful to
8008           round the result of the initial scaling.
8010         * src/sheet-view.c (vertical_scroll_event, horizontal_scroll_event) :
8011           Only move and append to the selection if the cursor actually moves.
8013         * src/dialog-function-wizard.c (arg_data_list_new) : Constness.
8015         * src/expr.c (eval_expr_real) : Add OPER_PERCENT.
8016         (do_expr_decode_tree) : Ditto.
8017         (expr_dump_tree) : Ditto.
8019         * src/expr.h : Ditto.
8021         * src/parser.y : Add function build_unary_op, and support
8022           exp '%'.  Precedence is a GUESS.
8024 1999-08-16  Michael Meeks  <michael@imaginator.com>
8026         * src/widget-editable-label.c (el_start_editing): Remove
8027         GTK_WIDGET_SET/UNSET_FLAGS (GTK_CAN_FOCUS): broken for
8028         scrolling notebooks.
8029         (el_stop_editing): ditto.
8031         * src/workbook.c (workbook_setup_sheets): remove
8032         unset FOCUS on notebook.
8034 1999-08-15  Jukka-Pekka Iivonen  <iivonen@iki.fi>
8036         * src/fn-stat.c: Implemented TREND (mostly).  Made the second
8037         argument of LINEST optional.
8039 1999-08-15  Jody Goldberg <jgoldberg@home.com>
8041         * src/expr.c (eval_expr_real) : Don't free empty cells
8042           in OPER_CONCAT.
8044 1999-08-14  Jody Goldberg <jgoldberg@home.com>
8046         * src/clipboard.c (clipboard_release) : Use the original
8047           row/col to calculate offsets when pasting cells that relocate
8048           references.
8049         (clipboard_copy_cell_range) : Handle relocation.
8051         * src/expr.c (do_expr_decode_tree) : Duplicate the error message
8052           because someone is going to free it.
8053         (expr_relocate) : New Function.
8055         * src/cell.c (cell_relocate) : Use expr_relocate.
8056         (cell_copy) : Don't NULL out the row/col/sheet
8057           in the copied cell.  It gets reset on entry and is useful
8058           information.
8059         (paste_cell) : Handle relocate.
8060         (clipboard_copy_cell_range) : Ditto.
8062         * cell.h : Differentiate CELL_COPY_TYPE_CELL into
8063         CELL_COPY_TYPE_CELL_ABSOLUTE or CELL_COPY_TYPE_CELL_RELATIVE,
8064         to deal with cut vs paste.
8066         * src/sheet-autofill.c : Use cell_relocate to test for out of bounds.
8068 1999-08-14  Jody Goldberg <jgoldberg@home.com>
8070         * src/workbook.c (wb_edit_key_pressed) : Support F4 toggling
8071           abs/relative.
8073         * src/expr.h : Constify FunctionDefinition.
8075         * src/fn-information.c : Use 'Red' instead of 'red' to match XL.
8077         * src/func.c (function_get_category, fn_def_init,
8078                       function_add_nodes, function_add_args) : Constify.
8080 1999-08-15  Morten Welinder  <terra@diku.dk>
8082         * src/fn-stat.c (gnumeric_frequency): Fix leak (bin_array).  Fix
8083         leak (data_cl.entries).  Fix leak (bin_cl.entries).  Fix leak
8084         (floats for data).  Fix leak (floats for bins).  Fix leak (count).
8085         (gnumeric_linest): Simplify.
8086         (gnumeric_intercept): Simplify.
8087         (gnumeric_slope): Simplify.
8088         (gnumeric_forecast): Simplify.
8090         * src/collect.c (collect_floats_value): Make non-static.
8091         (float_range_function2): Plug leak.
8093         * src/Makefile.am (GNUMERIC_BASE_SOURCES): Add regressions.[ch].
8095         * src/style.c (style_font_unref): Fix obsolete warning.
8097 1999-08-12  Kjartan Maraas  <kmaraas@online.no>
8099         * src/fn-math.c: Typo fixes.
8101 1999-08-12  Jukka-Pekka Iivonen  <iivonen@iki.fi>
8103         * src/fn-stat.c: Implemented the simplest case of LINEST()
8104         function.
8106 1999-08-12  Jody Goldberg <jgoldberg@home.com>
8108         * src/fn-date.c (gnumeric_date) : Fix typo that was moving us 1900
8109           years into the future.
8111         * src/formats.c (cell_format_numbers) :  Use 'Red' rather than 'red'
8112           to match XL better.
8114 1999-08-11  Jody Goldberg <jgoldberg@home.com>
8116         * src/gnumeric-sheet.c ( move_cursor_horizontal, move_cursor_vertical,
8117           move_horizontal_selection, move_vertical_selection,
8118           selection_cursor_move_horizontal, selection_cursor_move_vertical) :
8119           selection_expand_horizontal, selection_expand_vertical) :
8120           Support Ctrl-Arrow which jumps to the boundaries of non-blank
8121           ranges.
8123         * src/sheet.c (sheet_find_boundary_vertical,
8124           sheet_find_boundary_horizontal) :  New functions, to find the start
8125           and end of ranges.  They also ensure that the corner which was moved
8126           stays visible.
8127         (sheet_selection_extend_vertical) : Use sheet_find_boundary_vertical.
8128         (sheet_selection_extend_horizontal) : Use sheet_find_boundary_horizontal.
8130 1999-08-11  Jukka-Pekka Iivonen  <iivonen@iki.fi>
8132         * src/fn-string.c: Fixed the rounding of DOLLAR() function.
8134         * src/fn-financial.c: Some minor cleaning.
8136         * src/func.h: Added prototypes for callback_function_make_list.
8138         * src/fn-stat.c: Fixed PROB() function.
8140 1999-08-11  Michael Meeks  <michael@imaginator.com>
8142         * plugins/text/text-io.c: Prototypes updated.
8144 1999-08-11  Jukka-Pekka Iivonen  <iivonen@iki.fi>
8146         * TODO: Updated the remaining work of build-in functions.
8148         * src/fn-stat.c: Implemented FREQUENCY().
8150 1999-08-09  Miguel de Icaza  <miguel@gnu.org>
8152         * src/xml-io.c (xml_workbook_write): Handle locale switching here.
8153         (xml_workbook_read): Handle locale switching here.
8155         * src/file.c: Removed all references to saving and re-setting the
8156         locale.  This should be handled in the xml-io code.
8158 1999-08-10  Miguel de Icaza  <miguel@gnu.org>
8160         * src/workbook.c (workbook_do_destroy): remove g_free from the
8161         workbook.  We are now a GtkObject.
8163 1999-08-09  Miguel de Icaza  <miguel@gnu.org>
8165         * src/xml-io.c (xml_workbook_write): Move the locale
8166         setting/resetting here, instead of putting it all over the place.
8168 1999-08-09    <miguel@gnu.org>
8170         * src/xml-io.c (xml_workbook_read): Adjusted to use the new file
8171         open convention.
8173         * src/file.h: File open methods now take a workbook as an argument
8174         instead of creating it themselves.  Required for the
8175         GNOME::Persist bonobo interfaces.
8177         * src/file.c (workbook_read): Fix the workbook creation order to
8178         keep the locale correct if the file did not exist.
8180 1999-08-10  Morten Welinder  <terra@diku.dk>
8182         * src/workbook.c (workbook_do_destroy): Don't free the workbook
8183         ourselves.
8185 1999-08-10  Jukka-Pekka Iivonen  <iivonen@iki.fi>
8187         * samples/statfuns.xls: Updated the tests of functions returning
8188         array values.
8190         * samples/dbfuns.xls: Added a test for GETPIVOTDATA function.
8191         Also added a very simple pivot table.
8193 1999-08-10  Michael Meeks  <michael@imaginator.com>
8195         * TODO, DEPENDS, doc/Future-Roadmap, doc/Design: Updated,
8196         and added short plugin design section.
8198         * doc/saving.txt: Added short section on Summary Information.
8200 1999-08-10  Jukka-Pekka Iivonen  <iivonen@iki.fi>
8202         * src/fn-math.c: Finished ROMAN().  Gnumeric now supports all the
8203         60 mathematical functions of Excel 2000.
8205 1999-08-10  Jukka-Pekka Iivonen  <iivonen@iki.fi>
8207         * src/fn-math.c: Added MDETERM().
8209 1999-08-09  Michael Meeks  <michael@imaginator.com>
8211         * src/workbook.c (workbook_class_init): Moved hack to workbook.h,
8212         and removed comment.
8214 1999-08-09  Jukka-Pekka Iivonen  <iivonen@iki.fi>
8216         * src/fn-math.c: Added MINVERSE().
8218 1999-08-09  Michael Meeks  <michael@imaginator.com>
8220         * src/sheet.c (sheet_cell_add): Optimise by checking last
8221         element of the list for a simple append before calling
8222         g_list_insert_sorted. CRowSort took up way too much time in my
8223         profile :-). [ This fix is quite temporary ]
8225         * src/workbook.c (workbook_init): Conditionaly compile bonobo
8226         specific code.
8227         (workbook_class_init): Grotesque hack so it compiles.
8229 1999-08-08  Jacob Berkman  <jberkman@andrew.cmu.edu>
8231         * src/workbook.c: use smaller menu stock icon instead of large one
8233 1999-08-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8235         * src/xml-io.c (xml_write_summary): I think this is the correct
8236         fix.  We should not add childs if no summary info is available.
8238         * src/corba-sheet.c (Sheet_cell_set_font): Use the standard
8239         procedure to set the font.
8241         * src/cell.c: deleted finally cell_set_font.
8243         * src/workbook.c: Reorganization to make the code be a GtkObject.
8244         Redone the destruction bits of the Workbook.
8246         * src/workbook.h: Split sheet.h into workbook.h and sheet.h
8248         * src/workbook.h: Now the Workbook is a GtkObject or a
8249         GnomeObject, depending on the compilation flags.
8251 1999-08-05  Morten Welinder  <terra@diku.dk>
8253         * src/dialog-printer-setup.c (dialog_print_info_destroy): Plug
8254         leaks.
8256         * src/print-info.c (hf_format_render): Plug leak.
8257         (render_opcode): Constify.
8259         * src/item-cursor.c (item_cursor_autofill_event): Don't unref, but
8260         destroy.  We no longer own the ref.
8262 1999-08-05  Michael Meeks  <michael@imaginator.com>
8264         * src/file.c (workbook_import): Fix control flow to have 1 return.
8265         fix leak.
8267 1999-08-05  Jody Goldberg <jgoldberg@home.com>
8269         * src/func.c (function_get_category) : Lookup/store in sorted list.
8271 1999-08-05  Morten Welinder  <terra@diku.dk>
8273         * src/cell.c (cell_set_font): Obsolete -- #if 0 for now.
8275         * src/cell.h: Remove now-static cell_formula_changed,
8276         calc_text_dimensions, and cell_set_font.
8278         * src/dialog-analysis-tools.c (add_output_frame): Plug leak.
8280 1999-08-05  Michael Meeks  <michael@imaginator.com>
8282         * src/file.c (workbook_import): Major hacks to get round quirks
8283         in libglade.
8285         * src/import.glade: Add label to the container.
8287 1999-08-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8289         * src/cell.c (calc_text_dimensions): Made static.
8290         (queue_cell): Killed dependency_deep_frozen routines, this was
8291         archaic code.
8292         (cell_formula_changed): Made static.
8294         * src/sheet-autofill.c (autofill_register_list): Make static.
8296 1999-08-03  Michael Meeks  <michael@imaginator.com>
8298         * src/workbook.c (workbook_setup_edit_area): Removed function
8299         wizard.
8301 1999-08-03  Miguel de Icaza  <miguel@gnu.org>
8303         * src/corba-sheet.c (fill_corba_value): Corrected the argument here.
8305 1999-08-03  Jody Goldberg <jgoldberg@home.com>
8307         * src/plugin.h (struct) : 'private' is a C++ keyword.
8309         * src/sheet.h : Add GHashTable *dependency_hash to sheet.
8311         * src/sheet.c (sheet_destroy) : Clear dependency_hash.
8313         * src/eval.c (dependency_hash_init) : dependency_hash sheet specific.
8314         (add_cell_range_dep) : Ditto.
8315         (cell_add_dependencies) : Ditto.
8316         (cell_drop_dependencies) : Ditto.
8317         (region_get_dependencies) : Ditto.
8318         (cell_get_dependencies) : Ditto.
8319         (add_cell_range_dep) : Increment ref_count AFTER looking for duplicates.
8321         * src/workbook.c (workbook_do_destroy) : Add some debugging code to
8322           catch dangling dependancies.
8324 1999-07-27  Miguel de Icaza  <miguel@gnu.org>
8326         * src/corba-workbook-factory.c (WorkbookFactory_read): Duplicate
8327         CORBA Object server here.
8328         (WorkbookFactory_create_object): and here.
8330 1999-08-03  Robert Brady  <rwb197@ecs.soton.ac.uk>
8332         * gnumeric.spec.in, README: require gnome-print 0.3 or greater.
8333         (BUGFIX #1829)
8335 1999-08-02  Morten Welinder  <terra@diku.dk>
8337         * src/expr.c (eval_expr_real): Handle integer operations more
8338         carefully with respect to overflow.
8340         * src/cell.c (cell_cleanout): Don't unlink unless there is a sheet
8341         to unlink from.
8343         * src/collect.c (float_range_function2): Actually call the right
8344         function.
8345         (collect_floats_value): Fix type of result.
8347         * src/mathfunc.c (range_rsq_pop, range_rsq_est): New functions.
8349         * src/fn-stat.c (gnumeric_pearson): Simplify.
8350         (gnumeric_rsq): Simplify.
8352 1999-08-02  Jody Goldberg <jgoldberg@home.com>
8354         * src/fn-information.c (gnumeric_n) : Fix boolean support.
8356         * src/corba-sheet.c: Correct previous typo.
8358 1999-08-02  Elliot Lee <sopwith@redhat.com>
8360         * gnumeric.spec.in: Fix the .spec file to include correct
8361         documentation pieces.
8363         * doc/C/Makefile.am: Work with builddir != srcdir
8365         * plugins/lotus-123/Makefile.am: boot.h not needed. lotus-types.h is.
8367         * plugins/xbase/Makefile.am: boot.h not needed.
8369         * po/Makefile.in.in: v3
8371         * src/corba-sheet.c: Use a compilable thing for error string.
8373 1999-08-02  Morten Welinder  <terra@diku.dk>
8375         * src/expr.c (eval_expr_real): Plug leak...
8377 1999-08-02  Jody Goldberg  <jgoldberg@home.com>
8379         * src/expr.c (eval_expr_real): Fix bool <-> number comparisons to match
8380           excel approach.  TRUE&FALSE > numbers.
8382         * src/item-bar.c (item_bar_event) : Button3 should select the
8383           current row/col before bringing up the edit menu.
8385         * src/sheet.c (sheet_cell_foreach_range) : return NULL not FALSE
8386           on precondition failure.
8388         * src/value.[ch] : Add value_area_foreach
8390         * src/fn-date.c (gnumeric_networkdays) : Correct the modulo for
8391           weekends and add support for holidays via value_area_foreach.
8393         * src/sheet.c : Correct some documentation
8395 1999-08-01  Jody Goldberg  <jgoldberg@home.com>
8397         * samples/operator.xls : Test workbook for operators.
8399         * src/Gnumeric.idl : Add VALUE_ERROR, VALUE_BOOLEAN, VALUE_EMPTY
8400           in a few more places
8401         * src/fn-lookup.c : Ditto.
8402         * src/fn-math.c : Ditto.
8403         * src/fn-stat.c : Ditto.
8404         * src/fn-string.c : Ditto.
8405         * src/dialog-cell-sort.c : Ditto.
8406         * src/corba-sheet.c : Ditto.
8408         * src/fn-eng.c : Support VALUE_BOOLEAN and simplify comparison logic in
8409           DELTA and GESTEP.
8411         * src/expr.c (compare_bool_bool) : New function.
8412           (compare_int_int, compare_float_float) : Take (Value *) and do cast
8413           internally.
8414           (is_null_string) : Rename to value_is_empty_cell, support VALUE_EMPTY.
8415             and move to src/value.c.
8416           (compare) : Rework to bring into closer compliance with XL.
8417           (expr_eval_real) : Ditto, replace 'Type [Mm]ismatch' with '#!VALUE'.
8418           use eval_expr rather than eval_expr_real for arithmetic binary
8419           operators.  Use value_get_as_float rather than value_cast_to_float.
8420           (eval_expr) : Remap 'VALUE_EMPTY' to int(0)
8422         * src/value.h : Adjust enumeration so that BOOLEAN < INTEGER < FLOAT
8423             remove value_cast_to_float
8425         * src/value.c (value_get_as_*) : Support NULL values.
8426           (value_cast_to_float) : Remove.
8428         * src/sheet.c (sheet_cell_formula_unlink) : Add precondition to handle
8429           problems using deleted cells.
8431 1999-08-01  Morten Welinder  <terra@diku.dk>
8433         * src/fn-stat.c (gnumeric_covar, gnumeric_correl): Simplify using
8434         range functions.
8436         * src/workbook.c (file_open_cmd): Plug leak.
8438         * src/mathfunc.c (range_covar, range_correl_pop,
8439         range_correl_est): New functions.
8441         * src/collect.c (collect_floats_value, float_range_function2): New
8442         functions.
8444 1999-08-01  Michael Meeks  <michael@edenproject.org>
8446         * src/workbook.c (workbook_setup_sheets): Added comment about making
8447         workbook sheets' notebooks scrollable.
8449         * src/fn-database.c (gnumeric_dmin, gnumeric_dmax, gnumeric_daverage):
8450         Only use the value if it is a number.
8451         (find_column_of_field): Use g_strcasecmp instead of strcmp.
8452         (criteria_test_equal, unequal): ditto; test this.
8454         * src/fn-information.c (gnumeric_cell): Changed broken cell_fetch's
8455         to cell_gets.
8457 1999-08-01  Jody Goldberg  <jgoldberg@home.com>
8459         * src/fn-date.c (get_serial_date): Constify.  Improve handling of
8460         date_serial 0.
8461         (gnumeric_networkdays): Add partial implementation.  (MW: turned
8462         off.)
8464         * src/eval.c (add_value_deps): Handle empty value.
8466         * src/collect.c (callback_function_collect): Ignore empty values.
8468         * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Support
8469         <C-PgUp> <C-PgDown> moving through the sheets.
8471         * src/Gnumeric.idl : Add VALUE_ERROR, VALUE_BOOLEAN, VALUE_EMPTY
8472         in a few more places.
8474         * src/corba-sheet.c : Ditto.
8476         * src/value.c (value_new_empty): New function.
8477         (value_dump, value_copy_to, value_get_as_bool,
8478         value_get_as_string, value_get_as_int, value_get_as_float): Handle
8479         empty value.
8481 1999-08-01  Morten Welinder  <terra@diku.dk>
8483         * src/expr-name.c (expr_name_add): Fix bogus check.
8484         (expr_name_remove): Abort until someone fixes this.
8486         * src/style.c (style_font_unref): Unref the font.
8488         * src/expr.c (eval_expr_real): Fix OPER_CONCAT case.  From Jody.
8490         * src/value.c (value_cast_to_float): FMR fix from Jody.
8492 1999-08-01  Manish Vachharajani  <mvachhar@vger.rutgers.edu>
8494         * src/sheet-object-container.c: fix reference to
8495         gnome_client_site_bind_bonobo_object to read
8496         gnome_client_site_bind_embeddable
8498 1999-08-01    <jrb@redhat.com>
8500         * src/workbook.c: move the about-entry lower to make it more
8501         consistent with the rest of GNOME.
8503 1999-08-01  Morten Welinder  <terra@diku.dk>
8505         * src/format.c (format_number): YAL -- yet another leak.
8507         * src/fn-string.c (gnumeric_text): Plug leak.
8509         * src/expr.c (do_expr_tree_unref): Plug array value leak.
8511         * src/cell.c (cell_set_array_formula): Unref the wrappers so we
8512         don't leak a reference.
8514         * src/fn-math.c (gnumeric_countif): Initialise total_num member.
8516 1999-07-31  Morten Welinder  <terra@diku.dk>
8518         * src/fn-database.c (free_criterias): Plug massive leak.
8519         (parse_database_criteria): Plug leak.
8520         (parse_criteria): Constify.
8521         (find_column_of_field): Plug leak.
8522         (parse_database_criteria): Plug leak.
8523         (gnumeric_dproduct): Plug leak.
8524         (gnumeric_dvar): Plug leak.
8525         (gnumeric_dmin): Plug leak.
8526         (find_column_of_field): Plug leak.
8528         * src/fn-math.c (gnumeric_seriessum): Plug leak.
8529         (gnumeric_subtotal): Plug leak.
8531         * src/fn-lookup.c (gnumeric_address): Fix memory corruption.
8533 1999-07-31  Robert Meeks   <robert@imaginator.com>
8535         * src/fn-information.c (translate_table): Populated.
8537 1999-07-31  Michael Meeks  <michael@edenproject.org>
8539         * src/fn-information.c (gnumeric_cell): Implemented col, row,
8540         address, contents. Start of format.
8541         (translate_cell_format): Start of format translation.
8543 1999-07-31  Morten Welinder  <terra@diku.dk>
8545         * src/fn-logical.c (gnumeric_if): Fix case of first argument
8546         yielding an error.
8548         * src/expr.c (expr_dump_tree): Constify.
8550         * src/func.c (function_iterate_do_value): Fix behaviour of strict
8551         functions.
8553         * src/expr.c (do_expr_tree_invalidate_references): Handle
8554         VALUE_BOOLEAN and VALUE_ERROR.
8555         (eval_expr_real): Make comparisons strict.
8557         * src/summary.c (summary_info_free): Fix leak.
8558         (summary_item_free): Fix leak.
8560         * src/fn-misc.c (gnumeric_iserror): Fix leak.
8561         (gnumeric_error_type): Fix leaks.
8562         (gnumeric_isna): Fix leak.
8563         (gnumeric_iserr): Fix leak.
8565         * src/fn-information.c (get_value_class): Fix leak.
8567 1999-07-31  Michael Meeks  <michael@edenproject.org>
8569         * src/fn-information.c (gnumeric_isref): Implemented.
8571 1999-07-30  James Youngman  <jay@gnu.org>
8573         * src/fn-eng.c (gnumeric_besseli): Implemented.
8574         (gnumeric_besselk): Implemented.
8575         (eng_functions_init): Add relevant inits.
8576         Include mathfunc.h
8578 1999-07-30  Morten Welinder  <terra@diku.dk>
8580         * src/cell.c (cell_cleanout): New function.
8581         (cell_set_formula): Don't bother with CELL_ERROR.  Set value field
8582         in all cases.
8583         (cell_set_array_formula): Set cell values.
8584         (cell_set_value_simple): Simplify using cell_cleanout.
8585         (cell_set_text_simple): Ditto.
8586         (cell_set_formula_tree_simple): Ditto.
8587         (cell_destroy): Ditto.
8588         (cell_get_text): Simplify.
8589         (cell_get_content): Ditto.
8591         * src/eval.c (cell_eval): Reorganise slightly.
8593         * src/expr.c (eval_expr_real): value should no longer be null.
8595         * src/cell.h (CELL_ERROR): Obsolete.
8597         * src/print-info.h (hf_formats): Make extern.
8599         * src/summary.h (summary_item_name): Make extern.
8601 1999-07-29  Michael Meeks  <michael@edenproject.org>
8603         * src/cell.c (cell_set_text_simple): Chomp whitespace off the
8604         end of integers ( other spreadsheets do this ).
8606 1999-07-28  Michael Meeks  <michael@edenproject.org>
8608         * src/summary.c: Update, was out of step with the header.
8610 1999-07-28  Michael Meeks  <michael@edenproject.org>
8612         * src/item-grid.h: Added border_gc[BORDER_MAX] to ItemGrid.
8614         * src/item-grid.c (item_grid_draw_cell): Border rendering code.
8615         Make rendering conditional on debug - this looks awful.
8616         (item_grid_realize): ditto + struct of types in style_border_data.
8617         (item_grid_unrealize): clean up after myself.
8619 1999-07-27  Jody Goldberg  <jgoldberg@home.com>
8621         * src/fn-date.c : Add EOMONTH, and partial WORKDAY.
8623         * src/formats.c : Add more date formats.
8625         * src/fn-math.c (gnumeric_transpose) : no need for an array
8626           if the input is a singleton.
8628         * src/expr.c : Add comment explaining the need for a re-org
8629           to correctly handle implicit intersetion vs arrays with
8630           operators.  Move all value_* functions into.
8632         * src/value.c : Here.
8634         * src/func.c : Move const value initialization into value.c.
8636         * src/clipboard.c (clipboard_prepend_cell) : Return Value * as per
8637           change to VALUE_ERROR.
8639         * src/style.h : Add STYLE_ORIENT_MAX to remove ugly magic number
8640           that will change when we add support for diagonals.
8642         * src/print-cell.c (print_cell_border, print_border) : Use enum
8643           rather than hard coding the number of border types.
8645         * TODO : Add implicit intersection for operators.
8647 1999-07-25  Jody Goldberg  <jgoldberg@home.com>
8649         * plugins/guile/plugin.c,
8650           plugins/python/python.c
8651           src/{Makefile.am, cell.[ch], collect.[ch], eval.c, expr-name.c,
8652                expr.[ch], fn-database.c, fn-date.c, fn-eng.c, fn-financial.c,
8653                fn-information.c, fn-logical.c, fn-lookup.c, fn-math.c,
8654                fn-misc.c, fn-sheet.c, fn-stat.c, fn-string.c, format.c,
8655                func.[ch], sheet-object-container.c, sheet.[ch]}
8656           : Add VALUE_ERROR, VALUE_BOOLEAN, Change many signatures to return
8657             Value for errors.
8659         * icons/chart_*.png : Add Some images in preparation for re-enabling
8660           the graph wizard.
8662         * src/expr.c (eval_funcall) : When a single row or column is passed to
8663           a function expecting a single value, take the intersection of the
8664           evaluation position and the range.
8665         (cell_ref_get_abs_col, cell_ref_get_abs_row) : New functions.
8667         * src/value.[ch] : New files with Value support routines split out from
8668           expr.[ch]
8670 1999-07-26  Michael Meeks  <michael@edenproject.org>
8672         * src/corba-sheet.c (fill_corba_value): Remove redundant Sheet *
8673         from cellref_name.
8675 1999-07-26  Michael Meeks  <michael@edenproject.org>
8677         * src/xml-io.c (xml_read_cell): Commented out freeze/thaw deps.
8679         * src/cell.c (cell_deep_freeze_dependencies): Added warning not to
8680         use: strangely it doesn't work... investigate later.
8682 1999-07-25  Michael Meeks  <michael@edenproject.org>
8684         * src/xml-io.c (xml_read_cell): Add freeze/thaw dependencies,
8685         and fix exit condition to restore state to correct coolness.
8687         * src/cell.h: Added prototypes.
8689         * src/cell.c (cell_content_changed, cell_formula_changed):
8690         (cell_deep_thaw_dependencies, cell_deep_freeze_dependencies):
8691         Added optimisation for load/save stuff.
8693 1999-07-25  Michael Meeks  <michael@edenproject.org>
8695         * src/xml-io.c (xml_read_summary): Fix some massive cock-ups, how
8696         did this ever work.
8697         (xml_read_names): ditto.
8698         (xml_workbook_read): Shifted read_names down to where we actualy
8699         have the inter-sheet reference names in place.
8701         * src/expr.c (expr_tree_invalidate_references): Debugging that
8702         needs cleaning to new PP stuff #if-def'd out.
8703         (expr_tree_fixup_references): ditto.
8705         * src/xml-io.c (xml_write_names, xml_read_names): Implemented
8706         (xml_workbook_write, xml_workbook_read): Hooks added, but reading
8707         disabled: something dodgy somewhere.
8709         * src/sheet.c (sheet_lookup_by_name): Fixed to use simply a
8710         Workbook pointer.
8712         * src/workbook.c (workbook_set_auto_expr): Fix old hack using
8713         new PP stuff.
8715         * src/sheet.c (sheet_fill_selection_with): Updated to new PP code.
8717         * src/parser.y (gnumeric_expr_parser): Updated to new PP code,
8718         removed redundant and nasty _unsafe_expr_parser hack. Essentialy
8719         nothing new, but removes daft parser_sheet and replaces with
8720         parser_workbook, leaving sheet stuff to the evaluation stage.
8722         * src/dialog-define-names.c: Major fixups, killed obscure bug
8723         cause by freeing a copy of a list I passed to gtk_list_append_items.
8725         * src/expr.c (expr_parse_string, do_expr_decode_tree):
8726         (expr_decode_tree): Updated to new
8728         * src/expr-name.c (expr_name_create): Added for convenience.
8729         (expr_name_value): Updated to new PP scheme
8731         * src/cell.c (cell_set_formula, cell_get_text, cell_get_content):
8732         Update to new ParsePosition scheme.
8734         * src/expr.c (parse_pos_init, parse_pos_cell): Created.
8736         * src/expr.h: Add ParsePosition & prototpes
8738 1999-07-25  Michael Meeks  <michael@edenproject.org>
8740         * src/dialog-define-names.c (update_edit): use expr_name_value.
8741         (grab_text_ok): Update to use new functions.
8743         * src/expr-name.c (expr_name_value): Added.
8744         (expr_name_create): Convenience function
8746         * src/xml-io.c (xml_workbook_write): Added names writing.
8748 1999-07-24  Michael Meeks  <michael@edenproject.org>
8750         * src/expr-name.c (expr_name_add): Add check for circular
8751         references in (name_refer_circular): created.
8752         (add_real): More paranoia.
8754 1999-07-23  Michael Meeks  <michael@edenproject.org>
8756         * src/expr-name.c (expr_name_list): Expand.
8757         (expr_name_remove): Serious bug freeing names.
8758         (expr_name_lookup): precondition.
8759         (expr_name_remove): more sanity checks.
8761         * src/dialog-define-names.c (fill_list): Append instead of inserting
8762         items. use "select" signal, hand the correct pointer on.
8763         Implemented guts, fixed lots of bugs.
8765 1999-07-25  Karsten Weiss  <karsten@addx.au.s.shuttle.de>
8767         * src/print.glade.h: Fixed three typos.
8768         * src/hf-config.glade.h: Fixed a typo.
8769         Is this the right place to fix the typos or are they auto-generated
8770         from some other source?
8772 1999-07-21  Miguel de Icaza  <miguel@gnu.org>
8774         * src/dialog-printer-setup.c (preview_page_destroy): Clear the
8775         pointers after unrefing.
8777         * src/print.c (setup_rotation): Add the rotation code for the
8778         vertical/horizontal printing.
8780 1999-07-22  Michael Meeks  <michael@edenproject.org>
8782         * src/dialog-define-names.c (dialog_define_names): Removed all the
8783         dead code.
8784         Lots of new code ... not there yet though.
8786         * src/workbook.c: Enabled names menu item.
8788         * src/dialog-summary.c: add file header.
8790         * src/Makefile.am (glade_DATA): Added summary.glade and names.glade
8791         seems I didn't do this earlier: odd.
8793         * names.glade: Created.
8795 1999-07-22  Michael Meeks  <michael@edenproject.org>
8797         * src/expr-name.c: Stylistic precondition fixes,
8798         simplification & workbook integration.
8800         * src/workbook.c (workbook_core_new): init names.
8801         (workbook_do_destroy): add name clean.
8803         * src/sheet.h: Add Workbook->names.
8805         * src/func.h: Added comments moved from expr.h
8807 1999-07-21  Richard Hestilow  <hestgray@ionet.net>
8809         * gnumeric.gnorba: Fix "Embeddable" typo
8810         (was IDL:/GNOME/Embeddable, should have been IDL:GNOME/Embeddable)
8812 1999-07-21  Michael Meeks  <michael@edenproject.org>
8814         * src/widget-font-selector.c (fs_init): Convert g_error to
8815         g_warning on missing glade_xml_new.
8817         * src/Makefile.am (GNUMERIC_CORBA_GENERATED): Make this empty
8818         if BONOBO is not installed, should kill peoples Gnumeric.idl
8819         problems with luck.
8821         * configure.in: Add lotus-123
8823         * plugins/Makefile.am: ditto.
8825         * src/main.c: Remove xbase include.
8827 1999-07-20  Jody Goldberg  <jgoldberg@home.com>
8829         * src/expr.c (value_area_fetch_x_y) : make value_zero local.
8830         (eval_expr) : renamed eval_expr_real, and allowed it to return NULL
8831           in all the places that make sense.
8832         (eval_expr) : New function.  Calls eval_expr_real and returns 0 on
8833           NULL with no error set.  Until VALUE_ERROR is in place things
8834           will look funny.
8836 1999-07-20  Miguel de Icaza  <miguel@gnu.org>
8838         * src/item-bar.c (bar_draw_cell): Move the dimension computaiton
8839         of the font after we have figured which font to use.  Before we
8840         did all the computaiton based on the default font, which is not
8841         always the font used (we use bold font for selected rows).
8843         This fixes the bug Morten reported.
8845 1999-07-20  Jody Goldberg  <jgoldberg@home.com>
8847         * src/fn-math.c : Moved gpow10 from here.
8848         * src/utils.[ch] : to here.
8850         * src/expr.c (value_area_get_x_y) : return NULL in all cases of
8851           invalid refernces dont fake a 0.
8852         Rename TYPE_ERROR -> TYPE_MISMATCH.
8853         (is_null_string) : New function.
8854         (compare) : Allow equality tests between empty/error things too.
8855         (eval_expr) : Allow comparisons of empty/error values.  It can handle
8856           it now.
8857         (OPER_ARRAY) : Use value_area_get_x_y not fetch_x_y, handle empty/error.
8858         (value_get_as_string) : Fix typo in recent unlogged change.  The change
8859           might break importing files from a different locale.
8861         * src/fn-string.c : Add TEXT, improve VALUE, REPLACE so that they
8862           passes more tests.
8864         * src/number-match.c (compute_value) : Partial support for thousands
8865           separator.  Why doesn't this code use locale ?
8867         * src/format.c (format_value) : better support for ranges, attempt to
8868           work around problem of a thousands separator in a date format.
8870         * src/cell-draw.c (cell_draw) : Fix potential for infinite loop
8871           with HALIGN_FILL.
8872         * src/print-cell.c (print_cell_text) : Ditto.
8874         * src/parser.y (make_string_return) : A string of the form "..." is
8875           a string, don't try to parse it as a number.
8877         * src/pattern-selector.[ch] : pattern_selector_select made static. In
8878           preparation for different approach.
8880 1999-07-19  Andreas Voegele <andreas.voegele@gmx.de>
8882         * src/parser.y (gnumeric_unsafe_expr_parser): Use the locale to
8883         figure out the correct separator
8885         * src/file.c (workbook_read): According to the GNU libc
8886         documentaiton retrieving the current locale should be done by
8887         passing NULL to setlocale as the locale argument.
8889 1999-07-17  Michael Meeks  <michael@edenproject.org>
8891         * src/workbook.c (workbook_setup_edit_area): Enabled function
8892         wizard.
8894 1999-07-16  Michael Meeks  <michael@edenproject.org>
8896         * src/summary.c (summary_item_as_text): Implemented.
8897         (summary_item_dump): Simplified.
8899         * src/xml-io.c (xml_write_summary, xml_read_summary): Created.
8900         (xml_workbook_read, xml_write_summary): Added summary stuff.
8902 1999-07-17  Jukka-Pekka Iivonen  <iivonen@iki.fi>
8904         * doc/C/analysis-tools.sgml: Added documentation of anova, single
8905         factor tool.
8907 1999-07-14  Miguel de Icaza  <miguel@gnu.org>
8909         * src/fn-misc.c (gnumeric_error): Fixed usage of errors with the
8910         non-broken setup.
8912         * src/expr.c (error_message_set): Rewrote the error message logic
8913         to be clean and clear.  Simplified and followed the Gnumeric
8914         coding conventions.
8916 1999-07-15  Michael Meeks  <michael@edenproject.org>
8918         * src/summary.c (summary_info_add): Add duplicate entry removal.
8919         Re-organised structures and enum for convenience.
8920         (summary_info_as_list, append_item): Created.
8921         (summary_item_dump): Made static.
8922         include stdio.h
8923         Add 'Category' and 'Manager'
8925         * src/workbook.c (summary_cmd): Create.
8926         Add 'Su_mmary' to file menu.
8928         * dialogs.h: Added summary_update.
8930         * src/Makefile.am (GNUMERIC_BASE_SOURCES): Add dialog-summary.c
8932         * dialog-summary.c: Created.
8934         * summary.glade: Created.
8936 1999-07-13  Jody Goldberg  <jgoldberg@home.com>
8938         * src/fn-lookup.c (gnumeric_lookup) : Support default args for
8939           width & height.  Return cell_value directly for 1x1 results.
8940         (gnumeric_hyperlink) : Add stub.
8942         * src/expr-name.[ch] (expr_name_add, expr_name_lookup) : Const.
8944         * src/parser.y (make_string_return) : Handle special case of "" avoid
8945           turning it into a number.
8947 1999-07-13  Michael Meeks  <michael@edenproject.org>
8949         * src/Makefile.am (GNUMERIC_BASE_SOURCES): add summary.[ch]
8951         * src/workbook.c (workbook_core_new): Hook in summary info.
8952         (workbook_do_destroy): ditto.
8953         (deps_output): debugging hook.
8955         * src/sheet.h: Added SummaryInfo to Workbook.
8957         * src/summary.[ch]: Added.
8959 1999-07-11  Michael Meeks  <michael@edenproject.org>
8961         * src/cell-draw.c (cell_draw): Added handy debug for when
8962         cell->text is duff.
8964 1999-07-13  Morten Welinder  <terra@diku.dk>
8966         * src/fn-string.c (gnumeric_search): Actually start search where
8967         advertised.
8968         (gnumeric_value): Try harder.
8970         * src/style.c (font_init): Print informative message instead of
8971         just aborting.
8972         (style_shutdown): Remove old code.
8974         * src/mathfunc.h: Work around Irix incompatibility.
8976 1999-07-13  Jukka-Pekka Iivonen  <iivonen@iki.fi>
8978         * src/dialog-analysis-tools.c, src/analysis-tools.c: Implemented
8979         Anova, single factor tool.
8981         * src/dialog-analysis-tools.c, src/analysis-tools.c: Implemented
8982         Anova, two-factor without replication tool.
8984 1999-07-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8986         * src/print-info.c (save_hf, print_hf_register): Save the headers
8987         and footers.  Implement registration of new formats.
8989         * src/dialog-printer-setup.c (do_hf_config): Added the editing
8990         facility to the formats.
8992 1999-07-12  Jody Goldberg  <jgoldberg@home.com>
8994         * src/Gnumeric.idl : Add SplitsArray array exception for array-formula
8995           support.
8997         * src/cell.[ch] (cell_set_border) : Const.
8999         * src/expr.[ch] (value_area_get_width, value_area_get_height) : Const.
9001         * src/fn-math.c : Added TRANSPOSE.
9003         * wizards/graphics/*.c : Minor text tweaks so that things come closer
9004           to compiling.
9006 1999-07-12  Jukka-Pekka Iivonen  <iivonen@iki.fi>
9008         * doc/C/analysis-tools.sgml: Small fixes and additions.
9010         * src/dialog-analysis-tools.c, src/analysis-tools.c: Added
9011         Bernoulli distribution to the Random Number Generation tool.
9013         * src/analysis-tools.c: Finished Rank and Percentile tool.
9015         * src/analysis-tools.c: Fixed ``F/z/t Critical'' values of the
9016         F-Test, t-Test, and z-Test Tools.
9018 1999-07-12  Jukka-Pekka Iivonen  <iivonen@iki.fi>
9020         * src/dialog-analysis-tools.c, src/analysis-tools.c: Made ``Labels
9021         in the first row'' option to actually work.  Killed some warnings
9022         and bugs related to outputs too.
9024 1999-07-12  Miguel de Icaza  <miguel@gnu.org>
9026         * src/cell.c (cell_set_font): Now takes a "points" argument.
9028         * src/Gnumeric.idl (Sheet): Take a double for the cell_set_font
9029         points parameter.
9031 1999-07-11  Raja R Harinath  <harinath@cs.umn.edu>
9033         * configure.in: Don't use `foo >& /dev/null' style redirection,
9034         use `foo > /dev/null 2>&1'.
9036 1999-07-11  Miguel de Icaza  <miguel@gnu.org>
9038         * src/dialog-cell-format.c (apply_font_format): Use the
9039         FontSelector here.
9041         * src/widget-font-selector.c (reload_preview): New approach for
9042         font loading, by using the scale explicitly I got it to work ;-).
9043         (font_selector_choose): New routine to set the font style.
9045         * src/sheet.c (sheet_init_default_styles): Change of plans, we are
9046         going to use 80 units for the default width.
9048         * src/widget-font-selector.c: New file.  A simplified and robust
9049         font selector for Gnumeric.
9050         (fs_fill_font_name_list): Free this.
9052 1999-07-11  Jody Goldberg  <jgoldberg@home.com>
9054         * src/item-grid.c (context_cut_cmd, context_copy_cmd context_paste_cmd,
9055             context_paste_special_cmd, context_insert_cmd, context_delete_cmd,
9056             context_clear_cmd, context_cell_format_cmd, create_popup_menu,
9057             item_grid_popup_menu) : Operate on Sheet* rather than ItemGrid*.
9059         * src/item-bar.c (item_bar_event) : Popup an item_grid_popup_menu
9060           when Button3 is pressed.  Excel also adds an entry to change
9061           col widths/row heights,  that will be next TODO.
9063         * src/dialog-insert-cells.c, src/dialog-delete-cells.c :
9064           Short circuit the menus when an entire row/column is selected.  This
9065           fixes the problem of selecting a column and accidentaly inserting a
9066           row would clear the sheet inserting MAX_ROW rows and erasing
9067           everything ...
9069         * src/cell-draw.c (cell_draw) : Remove use of str_trim_spaces and
9070           correct the bounding rectangle size for multiline entries.
9071         (cell_split_text) : Rework logic to strip spaces when a forced split
9072           causes a linebreak @ those spaces.  Plus more comments.
9074         * src/print-cell.c (cell_split_text, print_cell_text) : Ditto.
9075           Switch accumulators to doubles.
9077         * src/parser.y : Moved dump_value from here.
9078         * src/expr.c : to here.  And changed the format of CellRanges
9079           to be more appealing.
9081         * src/cell.c (cell_relocate) : Add some cruft to handle relinking
9082           the corner cell of an array formula.
9084         * src/clipboard.c (clipboard_prepend_cell) : Renamed from
9085           clipboard_append_cell.  So that there is truth in naming.
9086         (clipboard_copy_cell_range) : Reverse the result of
9087           clipboard_prepend_cell so that the upper left corner is 1st.
9089         (Sheet *sheet, int col, int row, Cell *cell, void *user_data)
9090         * src/expr.c (eval_range) : New function to ensure that range
9091           arguments are recalculated.
9092          (eval_expr) : Use it.
9094         * src/sheet.c (range_check_for_partial_array) : New function.  To avoid
9095           subdividing arrays does some obvious optimizations.
9096         (sheet_fill_selection_with) : Split out from here.
9097         (sheet_delete_col, sheet_delete_row) : Used here too.
9099 1999-07-11  Michael Meeks  <michael@edenproject.org>
9101         * Sort ChangeLog out, apologies.
9103 1999-07-10  Michael Meeks  <michael@edenproject.org>
9105         * src/func.c (function_iterate_do_value): Clean to use new
9106         macro.
9108         * src/fn-stat.c (gnumeric_rank, gnumeric_prob, gnumeric_steyx),
9109         (gnumeric_ftest, gnumeric_slope, gnumeric_percentrank),
9110         (gnumeric_ttest, gnumeric_forecast, gnumeric_intercept): New
9111         sheet support.
9113         * src/fn-math.c (gnumeric_countif): Cleaned with nicer sheet
9114         select macro.
9115         (gnumeric_sumif, gnumeric_sumx2my2, gnumeric_sumxmy2),
9116         (validate_range_numeric_matrix): Added new sheet support.
9118         * src/fn-information.c (gnumeric_countblank): Added correct
9119         sheet support.
9121         * src/fn-database.c (find_column_of_field): Add EvalPosition
9122         to get valid Sheet * from & use it.
9123         (parse_database_criteria, find_cells_that_match): Ditto.
9124         Update all references.
9126         * src/expr.c (value_area_get_height): Use eval_sheet
9127         (eval_funcall): Remove redundant Sheet * setting.
9129         * src/expr.h: Add eval_sheet to help all over the place.
9131         * src/eval.c (add_cell_range_deps): Use eval_sheet, and make
9132         warning more correct.