xls: prevent critical.
[gnumeric.git] / OChangeLog-2000-10-10
blob121594a1a95c4a2d49bfaefbcb67fa9047dfab5f
1 2000-10-10  Jody Goldberg <jgoldberg@home.com>
3         * Release 0.57
5 2000-10-10  Jody Goldberg <jgoldberg@home.com>
7         * src/dialogs/Makefile.am (INCLUDES) : Be sure to include top_srcdir
8           to get access to the idl directory.
10 2000-10-07  Jon K Hellan  <hellan@acm.org>
12         * src/workbook-view.c (workbook_view_history_update): Add
13         rudimentary filename canonicalization, so that we do not save
14         relative file names to history list.
16         * src/history.c (file_history_cmd): Adapt to new bonobo UI API.
17         (history_menu_insert_items): Complete adaptation to new Bonobo UI
18         API.
19         (history_menu_remove_items): Ditto. Also: Disentangle Bonobo and
20         non Bonobo cases.
22         * src/gnumeric.xml: Move FileHistory placeholder in front of
23         FileClose.
25 2000-10-05  Michael Meeks  <michael@helixcode.com>
27         * configure.in (gnumeric_executable): look for bonobo >= 0.20
29         * src/workbook.c (setup_progress_bar): upd.
31         * src/gnumeric-util.c (gnumeric_inject_widget_into_bonoboui): upd.
33         * src/workbook.c s/BONOBO_UI_VERB/BONOBO_UI_UNSAFE_VERB/
35         * src/history.c (history_menu_insert_items): upd.
36         (history_menu_remove_items): upd.
38 2000-10-05  Christophe Merlet  <christophe@merlet.net>
40         * gnumeric.desktop.in: updated french strings.
42 2000-10-04  Jody Goldberg <jgoldberg@home.com>
44         * src/workbook-format-toolbar.c (change_selection_font) : Rather than
45           using the toggle to tell us the state use the current format.  This
46           lets us share code with the bonobo version which has no widget.
48 2000-10-04  Jon K Hellan  <hellan@acm.org>
50         * src/print.c (print_range_right_then_down): Fix typo. usable_x,
51         not usable_y, should be used when computing col_count.
53 2000-10-04  Jody Goldberg <jgoldberg@home.com>
55         * gnumeric.oafinfo : Fix typo with missing 'GNOME'
57         * src/workbook.c (workbook_new) : no need for the vbox anymore.
58           Fix the order of status area initialization in the non-bonobo case.
60         * src/workbook-private.h : remove the vbox
62 2000-10-04  Jon K Hellan  <hellan@acm.org>
64         * src/command-context-gui.c (ccg_set_progress): Fix spelling of
65         gnome_appbar_set_progress. The typo "progess" broke non-bonobo
66         build:
68 2000-10-04  Michael Meeks  <michael@helixcode.com>
70         * src/gnumeric.xml: set bandnumbers to get order correct.
72 2000-10-04  Michael Meeks  <michael@helixcode.com>
74         * src/workbook.c (setup_progress_bar): impl.
75         (workbook_new): re-order workbook_setup_status_area
76         (workbook_setup_status_area): upd.
77         (workbook_create_standard_toolbar): null the toolbar.
78         (workbook_setup_auto_calc): create the auto-expr control.
80         * src/gnumeric.xml: add stuff.
82         * src/command-context-gui.c (ccg_set_progress): upd.
84 2000-10-03  Michael Meeks  <michael@helixcode.com>
86         * src/cell-draw.c (cell_draw): render the cell value if we have
87         display_formulas even if we arn't supposed to render '0' values
88         and the value is 0.
90         * src/print-cell.c (print_cell): ditto.
92         * src/gnumeric.xml: move built menu items up.
94         * src/workbook.c: add HelpAbout verb.
95         (workbook_new): update to use nicer helper, adding help support.
97 2000-09-30  Michael Meeks  <michael@helixcode.com>
99         * src/gnumeric-util.c (gnumeric_inject_widget_into_bonoboui): add a
100         freeze / thaw to force GUI re-build.
102         * src/workbook.c: add debug verb. (verb_debug_dump_xml): impl.
104 2000-09-24  Michael Meeks  <michael@helixcode.com>
106         * src/workbook-private.h: update to item container.
108 2000-09-21  Michael Meeks  <michael@helixcode.com>
110         * src/sheet-object.c (sheet_object_destroy): fix uninitialized sheet
111         pointer.
113 2000-10-02  Almer S. Tigelaar  <almer1@dds.nl>
115         * src/file-autoft.c:
116         (template_list_load): Make more error proof and insert
117         protection for invalid filenames.
119 2000-10-01  Almer S. Tigelaar  <almer1@dds.nl>
121         * templates/autoformat/, templates/autoformat/Makefile.am:
122         Remove subdirectories, convert into a flat directory with structured
123         filenames.
125         * configure.in:
126         Remove templates/autoformat subdirectories
128         * gnumeric.spec.in:
129         Adjust to cope with new autoformat directory structure
131         * src/dialogs/Makefile.am:
132         Remove -DGNUMERIC_AUTOFORMATDIR
134         * src/Makefile.am
135         Add -DGNUMERIC_AUTOFORMATDIR
137         * src/file-autoft.c, src/file-autoft.h:
138         New, functions for loading special listings of the autoformat
139         directory.
141         * src/dialogs/dialog-autoformat:
142         (categories_load): Remove
143         (categories_free): Remove
144         (templates_load): Adjust to use template_list_load
146 2000-09-30  Jody Goldberg <jgoldberg@home.com>
148         * src/workbook.c (workbook_create_toolbars) : All three toolbars are
149           bonobo now.
151         * src/workbook-view.c (workbook_view_set_paste_special_state) : No
152           need to use our own corba_exception.
154         * src/workbook-private.h : Remove the widget pointers for the border
155           and colour combos.
157         * src/workbook-format-toolbar.c : Support the new bonobo ui stuff.
158           Its a hack for now.
160         * src/gnumeric.xml (FormatToolbar) : Implement.
162         * src/gnumeric-util.c (gnumeric_toolbar_insert_with_eventbox) : Show
163           the client widget.
164         (gnumeric_toolbar_append_with_eventbox) : Ditto.
166 2000-09-30  Jody Goldberg <jgoldberg@home.com>
167         For : realms@telerama.com
169         * src/functions/fn-stat.c (gnumeric_chitest) : off by one bug fix.
171 2000-09-29  Jody Goldberg <jgoldberg@home.com>
173         * src/graph-series.c
174         (graph_series_seq_scalar) : Mark the sequence for release.
175         (graph_series_seq_date) : Ditto.
176         (graph_series_seq_string) : Ditto.
178         * src/workbook.c (workbook_close_if_user_permits) : Simplify and
179           beautify.
181 2000-09-28  Jody Goldberg <jgoldberg@home.com>
183         * src/dialogs/dialog-graph-guru.c (cb_graph_guru_clicked) : Do not
184           duplicate the container_add it is already done in the
185           client_site_new.
187         * src/sheet-object-container.c (view_destroyed) : delete.
188         (sheet_object_container_destroy) : Use bonobo_object_unref.
189         (sheet_object_container_new_view) : No need for the magic view
190           destruction handler.  That is handled when the sheet object unrefs
191           the ClientSite.
193         * idl/Makefile.am (idl_DATA) : Install in a version specific location.
195         * src/dialogs/dialog-graph-guru.c (graph_guru_state_destroy) : Use
196           bonobo_object_unref rather than bonobo_object_client_unref.
197         (cb_graph_guru_clicked) : On success clear the State's pointer to the
198           manager so that it does not get deleted.
199         (graph_manager_destroy) : new routine to clear out the remote manager.
200         (graph_guru_init_manager) : Use it.
202         * src/workbook.c (cut_cmd) : Delete the object explicitly.
203         * src/sheet-object.c (sheet_object_remove_cb) : Ditto.
205         * src/sheet-object-container.c (view_destroyed) : rename from
206           item_destroy to clarify its function.
208         * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_object) : Add
209           KP_Delete.  There is no need to change the mode and clear anything.
210           The sheet_object destructor takes care of it.
212 2000-09-28  Pablo Saratxaga <pablo@mandrakesoft.com>
214         * configure.in,po/ca.po: Added Catalan language file
216 2000-09-28  Jody Goldberg <jgoldberg@home.com>
218         * configure.in : Bump gnome-print req to 0.24
219         * README : Ditto.
220         * gnumeric.spec.in : Ditto.
222         * configure.in : Fix typo with double 'share'
224 2000-09-28  Jody Goldberg <jgoldberg@home.com>
226         * idl/gnumeric-graphs.idl : Resume using studlyCaps.
227         * src/graph-series.c : Ditto.
228         * src/dialogs/dialog-graph-guru.c : Ditto.
230 2000-09-28  Jody Goldberg <jgoldberg@home.com>
232         * src/print-info.c (unit_name_get_name) : Control translation.
233         (unit_name_get_short_name) : Ditto.
234         (unit_name_to_unit) : Ditto.
236 2000-09-27  Jody Goldberg <jgoldberg@home.com>
238         * gnumericConf.sh.in : Fix to match gnome-config's expectations.
240 2000-09-27  Morten Welinder  <terra@diku.dk>
242         * src/print-info.c: Use constant expression to make factors easier
243         to understand.  Constify.  Have the compiler check UNIT_LAST.
244         (print_info_new): Compute margins from unit lengths instead of
245         storing "magic" numbers.
247 2000-09-27  Morten Welinder  <terra@diku.dk>
249         * src/print-info.c (load_formats): Fix from Chema.  Don't forget
250         to pop the prefix.
252 2000-09-26  Jody Goldberg <jgoldberg@home.com>
254         * src/main.c (gnumeric_main) : Do not init the currency_date routines
255           here, or shut them down.
257         * src/number-match.c (format_match_init) : Call the currency_date init
258           routine from here.  It must be done BEFORE the regexps are generated.
259         (format_match_finish) : Shut the currency_date routines down from here.
260           for symmetry.
262 2000-09-25  Morten Welinder  <terra@diku.dk>
264         * * */* */*/*: s/can not/cannot/.
266 2000-09-25  Jody Goldberg <jgoldberg@home.com>
268         * src/selection.c (sheet_selection_redraw) : redraw the rol/col
269           headers too.
270         (sheet_col_selection_type) : There is no visible selection while
271           objects are being edited/created.
272         (sheet_row_selection_type) : Ditto.
274 2000-09-24  Jody Goldberg <jgoldberg@home.com>
276         * src/workbook.c (workbook_create_standard_toolbar) : Rename from
277             workbook_create_standard_toobar (note the missing l in toobar)
279         * src/normal-args.c : Suppress warning.
281         * src/functions/fn*.c : Add a prototype of the _init routine to
282           suppress warning.
284         * src/eval.c (cell_recalc_dependencies ) : Comment out until it is
285           implemented.
287         * src/sheet-object-widget.c (sheet_object_widget_new) : delete.
289 2000-09-23  Jody Goldberg <jgoldberg@home.com>
291         * src/workbook.c (workbook_create_standard_toobar) : Attempt to inject
292           the standard controls.  This does not work.
293         * src/gnumeric.xml : Continue work on bonobizing toolbars.
295 2000-09-23  Jody Goldberg <jgoldberg@home.com>
296         For : realms@telerama.com
298         * src/datetime.c (datetime_g_days_between) : new function.
299         (datetime_g_months_between) : Ditto.
300         (datetime_g_years_between) : Ditto.
302         * src/functions/fn-date.c : Implement DateDif.
304 2000-09-23  Jody Goldberg <jgoldberg@home.com>
306         * src/clipboard.c (x_selection_to_cell_region) : typo.
308         * src/gnumeric-util.c (gnumeric_inject_widget_into_bonoboui) : New
309           utility routine.
311 2000-09-23  JP Rosevear  <jpr@helixcode.com>
313         * configure.in: Create an IDL_FLAGS variable with various paths based
314         on GNOME_PATH
316         * idl/Makefile.am: Use IDL_FLAGS
318 2000-09-23  Almer S. Tigelaar  <almer1@dds.nl>
320         * src/stf-parse.c, src/stf-parse.h:
321         (stf_parse_is_valid_data): return invalid character
322         or NULL if the data is valid.
324         * src/clipboard.c:
325         (stf_read_workbook): Adjust to cope with the new
326         stf_parse_is_valid_data.
328         * src/stf.c:
329         (x_selection_to_cell_region): Idem.
331 2000-09-23  Jody Goldberg <jgoldberg@home.com>
333         * src/workbook-format-toolbar.c : Use stock icons.
334         * src/workbook-object-toolbar.c : Ditto.
335         * src/workbook.c : Ditto.  Add more verbs.
337         * src/workbook-edit.c (workbook_edit_set_sensitive) : toolbar
338           sensitization is broken for bonobo.
340         * src/gnumeric.xml : The beginings of toolbar support.
342         * src/application.c : Register all pixmaps as stock icons.
344 2000-09-22  Jody Goldberg <jgoldberg@home.com>
346         * src/history.c (history_menu_insert_separator) : Use
347           history_menu_locate_separator.  This is crufty.
349 2000-09-22  Morten Welinder  <terra@diku.dk>
351         * src/format.c (append_hour): Increase buffer size, just in case.
352         (append_hour_elapsed): Ditto.
353         (append_minute): Ditto.
354         (append_second): Ditto.
355         (append_minute_elapsed): Sort-of ditto.
356         (append_second_elapsed): Ditto.
357         (append_hour): Fix hour display for am/pm mode for the midnight
358         and noon hours.
360         * src/print-cell.c (print_show_iso8859_1): Use bigger stack buffer
361         so we will almost never have to allocate dynamically.
363 2000-09-22  Jody Goldberg <jgoldberg@home.com>
365         * src/sheet-object-widget.c (sheet_widget_checkbox_toggled) : Change
366           the cell state.
367         (sheet_widget_checkbox_construct) : default to something intelligent.
369 2000-09-21  Jody Goldberg <jgoldberg@home.com>
371         * src/sheet.c (sheet_hide_cursor) : redraw the selection.
372         * src/sheet.c (sheet_show_cursor) : redraw the selection.
374         * src/sheet-object.c : Improve framework for editing/creating objects.
375           We are more consistent about hiding the selection, and when to make
376           things visible again.
378         * src/sheet-object-widget.c : Begin framework for configuring the
379           sheet widgets.
381         * src/selection.c (sheet_selection_redraw) : new function.
383         * src/item-grid.c (item_grid_button_1) : Don't cancel object editing
384           if there is a guru up.  We could be configuring things.
386         * src/selection.c (sheet_is_cell_selected) : Do no show selections
387           while objects are being edited.
389         * src/gnumeric-util.c (gnumeric_non_modal_dialog) : Change the
390           signature.
392         * src/sheet-object.c (sheet_object_destroy) : Improve safety.
394 2000-09-21  Lauris Kaplinski <lauris@helixcode.com>
396         * print-cell.c (print_show_iso8859_1): Transcode to UTF-8 instead
397         of UCS4, use gnome_print_show_sized.
398         (g_unichar_to_utf8): Function copied from glib 1.3 (and will go away,
399         if gnumeric will be ported to glib 2.0)
401 2000-09-21  Jody Goldberg <jgoldberg@home.com>
403         * src/format.c (format_month_before_day) : implement.
405         * src/workbook.c (workbook_expr_relocate) : Support dependents other
406           than cells.
407         (workbook_expr_unrelocate) : Ditto.
409 2000-09-21  Jody Goldberg <jgoldberg@home.com>
411         * src/print-cell.c (print_show_iso8859_1) : Temp fix to get things
412           compiling.  What should we be using?
414         * src/position.c (eval_pos_init_dep) : typo.
416 2000-09-21  Jody Goldberg <jgoldberg@home.com>
418         * src/workbook-format-toolbar.c (workbook_cmd_format_as_money) :
419           no need to translate the money format.  We generate it elsewhere.
420         (workbook_cmd_format_as_percent) : ditto.
422         * src/formats.c : Most format strings are NOT required to be
423           translated anymore.  We store them internaly in the C locale.
424         (currency_date_format_init) : customize the currency symbol, and the
425           day/month order.
427         * src/format.c (format_get_currency) : new function.
428         (format_month_before_day) : New stub.  How to do this portably.
429         (lookup_color_by_name) : new routine.
430         (lookup_color) : that was split from here.
431         (format_remove_decimal) : Fix a bit.  still broken for fmts with
432           multiple cases.
433         (format_value) : no need to translate the format.
434         (translate_format_color) : new routine.
435         (style_format_delocalize) : new routine.  Add colour support.
436         (style_format_new_XL) : split from here.
437         (style_format_str_as_XL) : new routine.  Add colour support.
438         (style_format_as_XL) : split from here.
440 2000-09-20  Jody Goldberg <jgoldberg@home.com>
442         * src/sheet-object.c (sheet_object_destroy) : If the current object is
443           destroyed switch back to edit mode.
445         * src/workbook-edit.c (workbook_start_editing_at_cursor) : We always
446           create an in canvas edit item, but sometimes we jump the focus to
447           the status line.
449         * src/value.c (value_new_cellrange_r) : set the sheet for both
450           cell_refs.
452         * src/sheet-object-widget.c (checkbox_set_expr) : Fix.
454         * src/graph-series.c (graph_series_seq_scalar) : No need to handle
455           headers here.
456         (graph_series_seq_date) : or here.
457         (graph_series_seq_string) : or here.
458         (graph_series_eval) : Handle idl rename.
459         (series_get_name) : No need to do this here.
460         (impl_vector_scalar_value) : No need to calculate label.
461         (impl_vector_date_value) : Ditto.
462         (impl_vector_string_value) : Ditto.
463         (graph_series_set_expr) : Correctly register and un register deps.
464         (graph_series_new) : series names are handled at a higher level.
466         * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Restore the
467           behaviour of F2.
469         * src/expr.c (cellrange_relocate) : BE smarter about checking for
470           potential 3d references.
472         * idl/gnumeric-graphs.idl : Rename routines using lowercase underscore
473           rather than StuddyCaps.
475         * src/workbook.c (workbook_expr_relocate) : Handle dependents.
477         * src/position.c (eval_pos_init_dep) : new function.
479         * configure.in : Prepare for release.
480           Update req for gnome-print to 0.23
481           Update req for libglade to 0.14
482           Comment out pspell.
483           Leave perl disabled.
485         * gnumeric.spec.in : Ditto.
486         * README : Ditto.
488 2000-09-19  Jody Goldberg <jgoldberg@home.com>
490         * src/xml-io.c (natural_order_cm) : Using col_info and row_info is
491           deprecated.
493 2000-09-20  Kenneth Christiansen  <kenneth@gnu.org>
495         * gnumeric.spec.in: Updated for new release.
496         * xml-po/: added new dir, which will be used for translation
497         of XML files, in the near future.
499 2000-09-19  Morten Welinder  <terra@diku.dk>
501         * src/workbook.c (workbook_menu_tools): Spelling fixes.
503 2000-09-19  Morten Welinder  <terra@diku.dk>
505         * src/workbook.c (workbook_sheet_name_strip_number): isdigit takes
506         unsigned chars, not chars.
508         * src/functions/fn-lookup.c (find_index_linear): Quiet warnings.
510 2000-09-18  Michael Meeks  <michael@helixcode.com>
512         * src/Makefile.am (INCLUDES): add GNOME_DATADIR
514         * src/workbook.c (workbook_new): use it.
516 2000-09-18  Jody Goldberg <jgoldberg@home.com>
518         * src/sheet.c (sheet_row_size_fit_pixels) : PUTRID KLUDGE.
519           Avoid the ugly row size changes when fitting the size.
521         * src/format.c (style_format_new_XL) : Implement translation.
522         (style_format_as_XL) : Ditto.
524         * src/number-match.c (format_match_init) : No need to compare to
525           translated General.
527         * src/sheet.c (sheet_flag_status_update_cell) : Adjust signature.
529 2000-09-17  Morten Welinder  <terra@diku.dk>
531         * src/main.c (gnumeric_main): Init colours earlier.
533 2000-09-17  Jody Goldberg <jgoldberg@home.com>
535         * src/workbook.c (cb_cell_rerender) : We need to recalc the size
536           after rendering the value.  However, it is wasteful to redraw each
537           cell individually.
538         (cb_sheet_pref_display_formulas) : redraw entire sheet.  It is
539           simpler.
541 2000-09-17  Jody Goldberg <jgoldberg@home.com>
543         * src/workbook-format-toolbar.c : Use the new Gnome App Libs (GAL)
544           routines.
545         * src/workbook-view.c : Ditto.
546         * src/workbook.c : Ditto.
548         * src/main.c (gnumeric_main) : call e_color_init and e_color_shutdown.
550         * src/gnumeric-util.c (gnumeric_create_tooltip) :
551           Rename from color -> e_color.
552         * src/style.c (style_color_new) : Ditto.
554         * src/gnumeric-sheet.c (gnumeric_sheet_realize) :
555           Rename from cursor -> e_cursor.
556         * src/item-cursor.c (item_cursor_set_cursor) : Ditto.
557         * src/cell-comment.c (cell_comment_clicked) : Ditto.
558         * src/item-grid.c (item_grid_event) : Ditto.
559         * src/sheet-object.c : Ditto.
561         * src/color.c : Split the utilities into the gal library.
563         * src/Makefile.am : Remove cursors.[ch]
565         * configure.in : Handle the new Gnome App Lib (GAL)
567 2000-09-17  Jody Goldberg <jgoldberg@home.com>
569         * src/dialogs/dialog-graph-guru.c (cb_create_series_from_range) :
570           GraphSeries is responsible for registering.
572         * src/history.c : Attempt to convert to the new bonobo ui handler.
574         * src/graph-series.c (graph_series_eval) : Support string and date
575           series.
576         (series_get_name) : New function.
577         (impl_vector_scalar_value) : Use it here.
578         (impl_vector_date_value) : here
579         (impl_vector_string_value) : and here.
580         (cb_check_range_for_pure_string) : new function.
581         (graph_series_new) : Start guess whether a series is scalar or string.
582         (graph_series_servant) : Delete.
583         (graph_series_set_subscriber) : Take responsibility for registering
584           with the remote Graph::Manager.
586         * src/gnumeric.xml : Remove bogus '/menu/File/open' placeholder
587           Name the '/menu/File/FileHistory' placeholder.
589         * src/sheet-object-container.c (sheet_object_container_update_bounds)
590           Fix off by 1 error here.
591         (make_container_item) : And here.
593         * src/sheet-object.c (sheet_object_add_view) : Renamed from
594           sheet_view_object_realize.
595         (sheet_object_remove_view) : Renamed from sheet_view_object_unrealize.
596         (control_point_handle_event) : Enable edit popup from control points.
598 2000-09-16  Almer S. Tigelaar  <almer1@dds.nl>
600         * src/dialogs/autoformat.glade:
601         Remove ability to focus widgets on the Template Details tab.
602         Remove the 'Apply Dimensions' checkbox.
603         Add some accelerators.
604         Add tooltip to category combo.
606         * src/dialogs/dialog-autoformat.c:
607         (cb_category_entry_changed): Replaced by cb_category_popwin_hide
608         (cb_category_popwin_hide): Invoked when the popup window of
609         the category window becomes hidden.
610         (dialog_autoformat): Remove handling for dimensions checkbox and
611         change signal binding for category combo.
613 2000-09-16  Michael Meeks  <michael@helixcode.com>
615         * src/workbook.c (workbook_new): use datadir for get_ui_fname.
617 2000-09-16  Almer S. Tigelaar  <almer1@dds.nl>
619         * src/dialogs/autoformat.glade:
620         New autoformat dialog.
622         * src/dialogs/dialog-autoformat.c:
623         (fill_category_list): Replace with load_categories.
624         (load_categories): Same role as fill_category_list, but
625         loads them into a GtkList instead.
626         (free_categories): New, frees a GtkList holding categories.
627         (templates_load): Hide the scrollbar when it's not needed, remove
628         obsolete label code.
629         (previews_load): Set only the template name as tooltip.
630         (cb_more_clicked): Removed entirely, the more button is no longer.
631         (cb_new_clicked): Replaced by cb_new_activated.
632         (cb_new_activated): Same as cb_new_clicked but now
633         for a GtkMenuItem.
634         (cb_edit_clicked): Replaced by cb_edit_activated.
635         (cb_edit_activated): Same as cb_edit_clicked but now
636         for a GtkMenuItem.
637         (cb_remove_clicked): Replaced by cb_remove_current_activated.
638         (cb_remove_current_activated): Same as cb_remove_clicked but now
639         for a GtkMenuItem.
640         (cb_categories_select_row): Replace with cb_category_entry_changed.
641         (cb_category_entry_changed): New, same role as cb_categories_select_row,
642         but now for the 'category' GtkEntry instead of the previous GtkCList.
643         (cb_apply_button_toggled): Replaced by cb_apply_item_toggled.
644         (cb_apply_item_toggled): Same as cb_apply_item_toggled, but now for
645         GtkCheckMenuItem.
646         (cb_gridlines_button_toggled): Replaced by cb_gridlines_item_toggled.
647         (cb_gridlines_item_toggled): Same as cb_gridlines_item_toggled, but now
648         for GtkCheckMenuItem.
649         (setup_apply_item): New, load a glade control and bind it's event to
650         cb_apply_item_toggled in one step.
651         (dialog_autoformat): Adjusted to handle the new controls.
653 2000-09-15  Jody Goldberg <jgoldberg@home.com>
655         * src/dialogs/dialog-graph-guru.c (dialog_graph_guru) : Profilacticly
656           NULL the gui pointer.
658 2000-09-15  Jody Goldberg <jgoldberg@home.com>
660         * src/gnumeric.xml : Use placeholder for file history.
661           How to have multiple place holders ?
663         * src/history.c (history_menu_insert_items) : Quick fix to reduce
664           number of warnings.
666         * src/sheet-object.c (sheet_object_stop_editing) : Use set_active.
667         (sheet_mode_edit_object) : Ditto.
669 2000-09-14  Jody Goldberg <jgoldberg@home.com>
671         * src/sheet-object-widget.c (sheet_object_widget_new_view) : Fix off
672           by one error.
673         (sheet_object_widget_update_bounds) : Ditto.
674         (control_point_handle_event) : Handle events for the acetate.
676         * src/sheet-object.c (sheet_object_destroy_control_points) : Avoid
677           hard coding the number of control points.
678         (sheet_object_begin_creation) : event coordinates are already mapped.
679         (update_bbox) : The off by 1 error was in the widget wrapper not here.
681         * idl/gnumeric-graphs.idl : Make the Vector::changed routines oneway.
683 2000-09-14  Jody Goldberg <jgoldberg@home.com>
685         * src/sheet-view.c (sheet_view_row_size_changed) : Use
686           sheet_selection_full_rows and workbook_cmd_format_row_height.
687         (sheet_view_col_size_changed) : Use
688           sheet_selection_full_cols and workbook_cmd_format_column_width.
690         * src/item-grid.c (context_row_height) : Use sheet_dialog_set_row_height.
691         (context_col_width) : Use sheet_dialog_set_column_width.
693         * src/workbook-cmd-format.c (sheet_dialog_set_column_width) : Split
694           the gui into here.
695         (workbook_cmd_format_column_width) : And the action into here.  Use
696           the appropriate commands to get undo support.
697         (workbook_cmd_format_column_auto_fit) : Use workbook_cmd_format_column_width.
698         (sheet_dialog_set_row_height) : Split the gui into here.
699         (workbook_cmd_format_row_height) : And the action into here.  Use
700           the appropriate commands to get undo support.
701         (workbook_cmd_format_row_auto_fit) : Use workbook_cmd_format_row_height.
703         * src/selection.c (sheet_row_selection_type) : moved from sheet.c
704         (sheet_col_selection_type) : moved from sheet.c
705         (sheet_selection_full_cols) : new routine.
706         (sheet_selection_full_rows) : new routine.
708         * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Don't jump
709           directly to the edit line with F2.  Start editing in sheet first.
711         * src/selection.c (selection_foreach_range) : Add the option of
712           iterating the list backwards.
714         * src/workbook-cmd-format.c (cb_colrow_collect) : New function.
716         * src/workbook-cmd-format.c (workbook_cmd_format_column_width) : Fix.
717         (workbook_cmd_format_row_height) : Fix.
719         * src/sheet-object-graphic.c (sheet_object_graphic_update_bounds) :
720           new function.
721         (sheet_object_filled_new_view) : Set the bounds when a new view is
722           constructed.  DO NOT rely on the realized list, new objects are not
723           added until AFTER construction.
724         * src/sheet-object.c (sheet_object_update_bounds) : delete.
726 2000-09-13  Jody Goldberg <jgoldberg@home.com>
728         * src/expr.c (cellref_relocate) : Return more information so that we
729           can differentiate relocating rows, cols, or both.
730         (cellrange_relocate) : Use the new information to extend the
731           heuristic for when to relocate a range.  In the past we assumed that
732           unless both ends of the range were moving we should not do the
733           relocation.  It seems that there are other cases which will also
734           relocate.  When inserting/deleting rows/cols or cutting a region
735           that includes an entire side of the source region we should
736           relocate.
737           Sadly this patch is incomplete.  It relocates too much now.
738           If you cut B2 and paste it into B3 the source region A1:B2 will
739           resize to A1:B3 even though it should not.  At least ins/del row/col
740           will now work.
742 2000-09-12  Jody Goldberg <jgoldberg@home.com>
744         * src/workbook.c (create_bonobo_object) : Fixed.
746         * src/sheet-object-bonobo.c (sheet_object_bonobo_new_from_oid) :
747           Delete duplicate function.
749 2000-09-11  Jody Goldberg <jgoldberg@home.com>
751         * src/commands.c (cmd_ins_del_row_col_{undo,redo}) : Insert/delete
752           rows/cols clears the cut buffer.  Copies are preserved.
754         * src/sheet-object.c (cb_obj_create_button_release) :  remove the
755           bonobo specific file handling.  That is to be done earlier
756           or in a different place.  This routine is strictly for placement,
757           not content.
758         (sheet_mode_clear) : Move the deactivation here for now.  Hopefully
759           move it to a virtual.
761         * src/about.c (dialog_about) : suppress warning.
763 2000-09-12  Morten Welinder  <terra@diku.dk>
765         * src/sheet-object-widget.c (checkbox_eval): Plug leak.
767 2000-09-11  Jon K Hellan  <hellan@acm.org>
769         * src/main.c: Add print_debugging variable / debug_print startup
770         option.
771         (gnumeric_main): Make stdout line buffered - we only use it for
772         debug info.
774         * src/print-cell.[ch] (print_make_rectangle_path): New function: make
775         a rectangular gnome-print path.
776         * src/print-cell.c (print_cell): Use it.
778         * src/print.c (print_empty_pages variable): Remove. This variable
779         is never set. With the new repeated row/column handling, the logic
780         will have to be rewritten anyway if needed.
781         (print_page_repeated_rows): Remove unused parameters start_row and
782         end_row.
783         (print_page_repeated_cols): s/row/col/. Fix bug - was repeat_left,
784         corrected to repeat_top.
785         (print_page_object): Remove unused parameters page_width /
786         page_height and end_col / end_row.
787         (print_hf_element): Rename from print_hf
788         (print_hf_line): New function. Logic shared by print_header and
789         print_footer. Clip to header region. if print_debugging != 0, draw
790         a box around header region.
791         (print_headers): Use print_hf_line. Place at correct y position -
792         ascenders flush with inside of top margin.
793         (print_footers): Descenders flush with inside of bottom
794         margin. Otherwise like headers.
795         (print_page): Include logic for repeated rows and columns: They
796         are only repeated after the start of the repeating range has been
797         seen in the regular page flow. Fix grid size bug when centering
798         horizontally or vertically. Use print_make_rectangle_path.  Remove
799         print_empty_pages logic.
800         (compute_group): New function. Old compute groups changed to only
801         compute one page. Rationale: Available space on page for normal
802         cell flow changes once repeated rows/columns kick in, so there is
803         no gain in precomputing a list.
804         (render_sheet_objects): New function. Factored out of
805         print_sheet_range.
806         (print_range_down_then_right): New function. Used to be the row
807         major loop of print_sheet_range. Include logic for repeated rows
808         and columns (see print_page).
809         (print_range_right_then_down): s/row major/column major/
810         (print_sheet_range): Restructure into a small function that calls
811         render_sheet_objects, print_range_down_then_right,
812         print_range_right_then_down.
813         (compute_sheet_pages): Remove print_empty_pages logic. The
814         variable is never set. With the new repeated row/column handling,
815         the logic will have to be rewritten anyway if needed.
816         (compute_sheet_pages, print_sheet): Remove "key" parameter because
817         we are now called from g_list_foreach instead of
818         g_hash_table_foreach.
820         (compute_pages): Use list returned by workbook_sheets instead of
821         wb->sheets so sheets are processed in order.
822         (workbook_print_all): Print sheets in display order. To do so, use
823         list returned by workbook_sheets instead of wb->sheets.
824         (sheet_print): Use changed print_sheet signature.
826         * src/workbook.h (struct _Workbook): Rename "sheets" to
827         sheet_hash_private.
829         * src/workbook.c (workbook_do_destroy, workbook_do_destroy,
830         workbook_set_dirty, workbook_is_dirty, workbook_is_pristine,
831         workbook_init, workbook_rename_sheet, workbook_sheet_count,
832         workbook_attach_sheet, workbook_detach_sheet,
833         workbook_sheet_lookup): s/wb->sheets/wb->sheet_hash_private/
834         (cb_assemble_selection, workbook_selection_to_string): Not in
835         use. Remove.
837         * src/workbook-view.c (workbook_view_pref_visibility):
838         s/wb->sheets/wb->sheet_hash_private/
840 2000-09-11  Morten Welinder  <terra@diku.dk>
842         * configure.in (pspell): Quiet the test.
844 2000-09-11  Jody Goldberg <jgoldberg@home.com>
846         * src/gnumeric.xml : Add the missing menu elements.
848         * src/workbook.c (verbs) : Add some of the missing elements.
849         (insert_object_cmd) : Suppress some warnings.
851         * src/sheet-object-container.c (sheet_object_container_new_file) :
852           suppress warning.
854         * src/sheet-object-bonobo.c (sheet_object_bonobo_new_from_oid) :
855           suppress warning.
857 2000-09-11  Michael Meeks  <michael@helixcode.com>
859         * src/workbook-format-toolbar.c: s/BonoboApp/BonoboWin/
861         * src/workbook-object-toolbar.c: ditto.
863         * src/workbook.c: s/BonoboApp/BonoboWin/
864         (verbs): Add FileSaveAs which I seem to have forgotten.
866 2000-09-10  Jody Goldberg <jgoldberg@home.com>
868         * src/graph-series.c (graph_series_destroy) : plug leak.
869         * src/sheet-object-widget.c (sheet_widget_checkbox_destroy) : Ditto.
871 2000-09-10  Jody Goldberg <jgoldberg@home.com>
873         * src/xml-io.c (xml_read_sheet_object) : objects have their positions
874           set after creation, not before.
875         NOTE : This routine is incomplete.  It does not handle all of the
876           objects.  It is questionable whether or not it even belongs here.
877           We may want to encapsulate the persistence on a per object basis.
878         (xml_sheet_read) : localize and improve variable naming.
880         * src/workbook.c : Add an ifdef around the GnomeUI handler in bonobo
881           mode.  Move the object creation cruft into its own file.
882         (select_component_id) : new function.
883         (create_embedded_component_cmd) : simplify.
884         (create_embedded_item_cmd) : simplify.
885         (create_button_cmd) : Delete.
886         (create_checkbox_cmd) : Delete.
887         (create_line_cmd) : Delete.
888         (create_arrow_cmd) : Delete.
889         (create_rectangle_cmd) : delete.
890         (create_ellipse_cmd) : delete.
891         (cut_cmd) : simplify object handling.
892         (insert_object_cmd) : Use sheet_object_bonobo_new_from_oid.
893         (do_focus_sheet) : Handle object toolbar too.
894         (workbook_detach_sheet) : Before messing with the views go back to
895           simple edit mode.
897         * src/workbook-object-toolbar.c (create_object_command) : new
898           function.
899         (cmd_create_*) : Use here.
901         * src/workbook-edit.c (workbook_edit_set_sensitive) : Add the object
902           toolbar.
904         * src/sheet-object.c (sheet_release_coords) : delete.
905         (sheet_object_destroy) : simplify.
906         (SheetObject::end_popup) : remove.
907         (SheetObject::populate_menu) : rename from start_popup.
908         (SheetObject::new_view) : rename from realize.
909         (SheetObject::user_config) : New virtual.
910         (sheet_object_construct) : initialize dragging to FALSE.
911           s/Sheet::objects/Sheet::sheet_objects/
912         (sheet_object_drop_file) : Moved.
913         (sheet_object_realize) : No need for SheetView::temp_item.
914         (button_widget_create) : delete.
915         (checkbox_widget_create) : delete.
916         (sheet_object_create_button) : delete.
917         (sheet_object_create_checkbox) : delete.
918         (create_object) : delete.
919         (cb_obj_create_motion) : rename from sheet_motion_notify.  Simplify.
920           Rubber band a rectangle rather than the actual object.
921           Keep track of whether or not a we have resized larger than the
922           minimum 5x5 size.
923         (cb_obj_create_button_release) : rename from sheet_button_release.
924           Change behavior to have the release do the realizing and bound
925           setting.  Set the bounds to the current coord ONLY if we have moved
926           enough, otherwise just use the default size of the object tranformed
927           to the location of the original button press.
928         (shutdown_sheet_object_creation) : merge into button release.
929         (sheet_leave_notify) : Delete.
930         (sheet_button_press) : Delete.
931         (sheet_object_begin_creation) : Delete.
932         (sheet_finish_object_creation) : merge into button release and clear
933           out all the cruft requiring removal of signals.
934         (sheet_mode_clear) : new function.  Does some object management.
935         (sheet_set_mode_type) : delete.
936         (sheet_set_mode_type_full) : delete content.  Split logical action into.
937         (sheet_mode_edit) : here.
938         (sheet_mode_edit_object) : here.
939         (sheet_mode_create_object) : and here.
940         (sheet_object_destroy_control_points) : be more pedantic a about
941           checking that we have a valid view.
942         (sheet_object_stop_editing) : Adjust for new object editing semantics.
943         (set_item_x) : Merge this
944         (set_item_y) : and this.
945         (set_item_x_y) : into here.  And add the logic to call
946           new_control_point.
947         (new_control_point) : Set the cursor here.
948         (update_bbox) : Recall that the bounding box excludes the far coords.
949         (control_point_handle_event) : No need to make object the current, if
950           we are being called we are current.
951         (sheet_object_populate_menu) : rename from sheet_object_start_popup.
952         (sheet_object_end_popup) : delete.
953         (sheet_object_canvas_event) : adjust to function renaming.
954         (sheet_object_widget_event) : delete.
955         (sheet_object_widget_handle) : delete.
956         (sheet_object_start_editing) : delete, no need.  update_bbox does all
957           of this.
958         (sheet_object_make_current) : delete.
959         (sheet_object_insert) : this was not what its name suggested.  It was
960           a rather specialized bonobo utility.  Move it where it belongs.
962         * src/sheet-object-widget.c : Rewrite.
964         * src/sheet-object-item.c (sheet_object_item_new_view) : rename from
965           sheet_object_item_realize.
967         * src/sheet-object-graphic.c (sheet_object_graphic_new_view) :
968           rename from sheet_object_graphic_realize.
969         (sheet_object_filled_new_view) : renamed from sheet_object_filled_realize.
970         (sheet_object_create_line) : No need to take position, do that later.
971         (sheet_object_create_filled) : Ditto.
973         * src/sheet-object-container.c (user_activation_request_cb) : Adjust
974           to changes in sheet mode handling.
975         (sheet_object_container_new_view) : rename from sheet_object_container_realize.
976         (sheet_object_container_new_bonobo) : No need to take pos info, that
977           is set later.
978         (sheet_object_container_new_object) : Ditto.
979         (sheet_object_container_new_file) : Moved and renamed from sheet_object_drop_file.
981         * src/sheet-object-bonobo.c (sheet_object_bonobo_construct) : No need
982           to take position info.  Bounds are set later.
983         (sheet_object_bonobo_new_from_oid) : Move from sheet_object_insert
984           which was much to generic a name and location for this.
986         * src/print.c (print_sheet_range) : Adjust to rename of the
987           sheet_object list.
989         * src/pixmaps.h : Remove the pixmaps that moved to the object toolbar.
991         * src/item-grid.c (item_grid_button_1) : Handle object creation and
992           finishing object editing directly, no more need for adding and
993           removing handlers.  Adjust arg to be a Button event.
994         (item_grid_event) : Add a new cursor for object creation.
995         (item_grid_event) : Do not change to edit mode until we know why the
996           button was pressed.
998         * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_object) :
999           s/sheet_set_mode_type/sheet_mode_edit/
1000         (gnumeric_sheet_key_press) : Adjust to new mode scheme.
1001         (gnumeric_sheet_key_release) : Ditto.
1002         (gnumeric_sheet_filenames_dropped) : Ditto.
1004         * src/gnumeric.h : Add fwd decl of SheetObject.
1006         * src/gnumeric-sheet.h : delete GnumericSheet::mode .
1008         * src/gnumeric-type-util.h : Rename GNUMERIC_MAKE_TYPE_WITH_PARENT
1009           to GNUMERIC_MAKE_TYPE_WITH_CLASS.  That makes more sense.
1011         * src/eval.c (invalidate_refs) : Use dependent_set_expr.
1012         (cell_eval) : New need to check generation If we are called we are out
1013           of date.
1015         * src/dependent.c (dependent_eval) : moved from eval.c.
1016         (dependent_type_register) : New routine.
1017         (dependent_set_expr) ; Ditto.
1018         (dependent_debug_name) : Use the new registry.
1020         * src/dependent.h : Reorder flags, remove explicit types for graphs
1021           and checkboxes.  Those are handled by the virtual table.
1023         * src/commands.c : s/PARENT/CLASS/
1025         * src/cell.h : Reorder the CellFlags.
1027         * src/bonobo-io.c (gnumeric_bonobo_obj_read) : Do not pass the
1028           position to sheet_object_containter_new_object.
1030         * src/Makefile.am : Add workbook-object-toolbar.[ch]
1031           and graph-series.[ch]
1032           merge the libraries from the two idl files.
1034 2000-09-09  Jody Goldberg <jgoldberg@home.com>
1036         * src/sheet-view.c (sheet_view_construct) : Init control points to NULL.
1037         (SheetView::temp_item) : remove this.
1039         * src/sheet.c (sheet_new) : Init the members associated with objects.
1040         (sheet_destroy) : Destroy objects.
1041         (Sheet::mode) : remove.
1043         * src/gnumeric.xml : Add a label for the selection menu.
1045         * src/sheet-object-container.c (sheet_object_container_realize) :
1046           Fix warning.
1048 2000-09-07  Jody Goldberg <jgoldberg@home.com>
1050         * src/item-bar.c (colrow_tip_setlabel) : mark the size tooltips as
1051           containing pts.
1052         * src/dialogs/row-height.glade :
1053         * src/dialogs/col-width.glade : Ditto.
1055 2000-09-10  Almer S. Tigelaar  <almer1@dds.nl>
1057         * src/dialogs/dialog-stf.h: Limit the number of lines
1058         displayed in the preview. This is a temporary solution for
1059         bug #23426.
1061         * src/dialogs/dialog-stf-csv-page.c:
1062         (stf_dialog_csv_page_prepare): Ditto.
1064         * src/dialogs/dialog-stf-fixed-page.c:
1065         (stf_dialog_fixed_page_prepare): Ditto.
1067         * src/dialogs/dialog-stf-format-page.c:
1068         (stf_dialog_format_page_prepare): Ditto.
1069         (format_page_format_changed): Kill memory
1070         leak.
1072         * src/stf-parse.c:
1073         (stf_parse_csv_line): Change to still return
1074         something if the maximum number of columns is
1075         exceeded.
1076         (stf_parse_fixed_line): Ditto.
1078         * src/dialogs/dialog-stf-preview.c:
1079         (stf_preview_render): Adjust to only render SHEET_MAX_COLS
1080         columns.
1081         (stf_preview_get_table_pixel_width): Ditto.
1083 2000-09-09  Michael Meeks  <michael@helixcode.com>
1085         * src/gnumeric.xml: add magic placeholder to help section.
1087         * src/workbook.c (workbook_new): update for ui_util_new_ui changes.
1089 2000-09-08  Michael Meeks  <michael@helixcode.com>
1091         * src/workbook.c (workbook_new): Parse the xml file and add the verbs.
1092         (workbook_do_destroy): remove warning.
1094         * src/Makefile.am: Add gnumeric.xml installation
1096         * src/gnumeric-util.c (gnumeric_dialog_show): remove conditional code.
1098         * src/sheet-object-container.c (sheet_object_container_realize): upd.
1100         * src/workbook.c (workbook_get_toplevel): update, BonoboApp is now a
1101         widget.
1103 2000-09-06  Jody Goldberg <jgoldberg@home.com>
1105         * src/workbook-format-toolbar.c (workbook_create_format_toolbar) : Fix
1106           typo.
1108         * src/gnumeric-util.c (gnumeric_dialog_show) : improve readability
1110 2000-09-06  Michael Meeks  <michael@helixcode.com>
1112         * configure.in: Check for bonobo 0.19
1114         * src/workbook.c: Add/Modify -> Add\\Modify for now.
1116         * src/workbook-view.c (workbook_view_set_title): use get_toplevel
1117         (workbook_view_set_size):
1119         * src/workbook-private.h: add a main_vbox to put toolbars into.
1121         * src/workbook-format-toolbar.c (workbook_create_format_toolbar):
1122         hack for non-bonobized toolbars.
1124         * src/workbook.c (workbook_show, workbook_hide, workbook_get_toplevel):
1125         helper functions.
1127         * src/corba-workbook.c (Workbook_show): use workbook show/hide
1129         * src/analysis-tools.c (prepare_output): ditto.
1131         * src/main.c (gnumeric_main): ditto.
1133         * src/clipboard.c (clipboard_paste, x_selection_received),
1134         (x_clipboard_bind_workbook): ditto.
1136         * src/application.c (application_set_selected_sheet): use
1137         workbook_get_toplevel
1139         * src/history.c (file_history_cmd): ditto.
1141         * src/gnumeric-sheet.c (gnumeric_sheet_filenames_dropped): ditto.
1143         * src/xml-io.c (xml_workbook_write): get_toplevel upd.
1145         * src/workbook.c (new_cmd, file_open_cmd, file_import_cmd): show / hide.
1146         (workbook_setup_edit_area): get_toplevel
1148 2000-09-06  Jody Goldberg <jgoldberg@home.com>
1150         * src/workbook.c (change_zoom_in_current_sheet_cb) : handle new
1151           calling convention for sheet_set_zoom_factor.
1153         * src/xml-io.c (xml_sheet_read) : Ditto.
1155         * src/dialogs/dialog-zoom.c (dialog_zoom_impl) : Ditto.
1157         * src/sheet.c (sheet_new) : Ditto.
1158         (sheet_duplicate) : Ditto.
1159         (sheet_set_zoom_factor) : Add an arg to optionally disable
1160           recalculating the spans and rerendering.  This is useful when
1161           importing zoomed sheets where we know that we are going to respan
1162           and render after loading everything.
1164 2000-09-05  Jody Goldberg <jgoldberg@home.com>
1166         * configure.in : Add test for pspell.
1167         * acconfig.h : Ditto.
1169         * s/cell.u.expression/cell.base.expression/
1170         * s/cell.generation/cell.base.generation/
1171         * s/cell.u.entered_text/cell.entered_text/  <- deprecated
1172         * s/workbook.formula_cell_list/workbook.dependents/
1174         * s/sheet_cell_expr_link/dependent_expr_link/
1175         * s/sheet_cell_expr_unlink/dependent_expr_unlink/
1177         * s/eval_queue_cell/dependent_queue_recalc/
1178         * s/eval_queue_list/dependent_queue_recalc_list/
1179         * s/eval_unqueue_cell/dependent_unqueue_recalc/
1180         * s/eval_unqueue_sheet/dependent_unqueue_recalc_sheet/
1181         *
1182         * s/cell_add_dependencies/dependent_add_dependencies
1183         * s/cell_drop_dependencies/dependent_drop_dependencies
1185         * s/cell_formula_changed/dependent_changed/
1186         * s/sheet_cell_expr_link/dependent_link/
1187         * s/CELL_IN_EXPR_LIST/DEPENDENT_IN_EXPR_LIST/
1189         * src/cell.c (cell_eval_content) : moved from eval.c
1191         * src/eval.c (sheet_region_get_deps) : Take a Range rather than 4 int.
1192         (drop_range_dep) : Use dependent_debug_name.
1193         (dependency_range_ctor) : Take a CellPos as an arg rather than a Cell.
1194         (handle_cell_single_dep) : Take an optional CellPos and a Dependent.
1195         (handle_cell_range_deps) : Ditto. Do not check for singletons here.
1196         (handle_tree_deps) : Ditto.  Call handle_cell_single_dep directly.
1197         (cell_add_explicit_dependency) : Delete.
1198         (get_single_dependencies) : Some const.
1200         * src/cmd-edit.c (cmd_select_cur_depends) : Use dependent_list_filter
1201           to only show cell dependencies for now.
1203         * src/dependent.c (dependent_list_filter) : new function.
1204         (dependent_debug_name) : new function.
1206         * src/history.c : Add a comment about File/Print Preview for
1207           translators.
1209         * src/workbook.c (cb_cell_rerender) : Only cells need this.
1211 2000-09-03  Almer. S. Tigelaar.  <almer1@dds.nl>
1213         * src/cell-draw.c:
1214         (cell_draw): Modify to accept a NULL sheet for
1215         cell->sheet.
1217         * src/item-grid.c, src/item-grid.h:
1218         (item_grid_draw_border): Export this routine for use
1219         by the preview-grid.
1221         * src/preview-grid.h, src/preview-grid.c:
1222         New, preview-grid canvasitem, based upon item-grid.
1224         * src/preview-grid-controller.h, src/preview-grid-controller.c:
1225         New, easy to use wrapper around canvas and preview-grid.
1227         * src/dialogs/dialogs.h: Add autoformat dialog and
1228         autoformat edit dialog invocation functions.
1230         * src/dialogs/autoformat.glade: New,
1231         glade file for autoformat dialog.
1233         * src/dialogs/autoformat.glade.h: New,
1234         translation header for autoformat dialog.
1236         * src/dialogs/dialog-autoformat.c: New, source
1237         for controlling autoformat dialog.
1239         * src/sheet-view.c:
1240         (sheet_view_get_style_font): Modify to accept a
1241         NULL sheet. (defaults to zoomlevel 1)
1243         * src/workbook.c:
1244         (workbook_menu_format[]): Add autoformat.
1245         (autoformat_cmd): New, invokes autoformat dialog.
1247         * src/mstyle.c, mstyle.h:
1248         (mstyle_replace_element): New, replaces an element
1249         in an mstyle with an element from another mstyle.
1251         * src/rendered-value.c, src/rendered-value.h:
1252         (rendered_value_calc_size_ext): Same as the previous
1253         rendered_value_calc_size, but accepts an mstyle as
1254         extra parameter. the purpose of this and some other
1255         minor changes from the rendered_value_calc_size is
1256         to be able to calc the size of a sheetless cell.
1257         (rendered_value_calc_size): Performs the same role
1258         as the previous rendered_value_calc_size and
1259         calls upon rendered_value_calc_size_ext to do its
1260         thing.
1261         (rendered_value_new_ext): Same as previous rendered_value_new
1262         but accept an mstyle as parameter for sheetless cells.
1263         (rendered_value_new): Exacly the same as the previous
1264         render_value_new, but calls upon rendered_value_calc_size_ext.
1266         * src/xml-io.c, src/xml-io.h:
1267         (xml_search_child): Export for use by xml-io-autoft.c.
1268         (xml_get_value_string): Idem.
1269         (xml_set_value_string): Idem.
1270         (xml_get_value_int): Idem.
1271         (xml_set_value_int): Idem.
1272         (xml_write_style): Idem.
1273         (xml_read_style): Idem.
1275         * src/xml-io-autoft.c, src/xml-io-autoft.h:
1276         New, these handle the reading/writing of autoformat templates.
1278         * src/format-template.h, src/format-template.c:
1279         New, wrapper around the loading and saving and managing
1280         of format templates.
1282         * templates/autoformat:
1283         Add default autoformat templates
1285         * configure.in:
1286         Modify to include the autoformat templates and define
1287         a new variable for the autoformat templates directory
1288         so we can find them at run-time
1290 2000-08-31  Jody Goldberg <jgoldberg@home.com>
1292         * src/colrow.c (col_row_get_index_list) : Be more enthusiastic about
1293           merging and ordering.
1294         (col_row_equal) : new function.
1295         (col_row_copy) : new function.
1296         (col_row_size_list_destroy) : Typo.
1297         (col_row_restore_sizes_group) : Handle restoring default size.
1298         (col_row_set_sizes) : In special case of resizing all be smart.
1299           This needs improving.
1301 2000-08-30  Jody Goldberg <jgoldberg@home.com>
1303         * src/number-match.c (compute_value) : AM/PM regexp matchs against the
1304           'a' or 'p' not 'pm'
1306         * src/sheet.c (sheet_{col,row}_set_size_{pts,pixels}) : Set hard size
1307           even if the size does not change.
1309         * src/xml-io.c (xml_read_cols_info) : Restore the default col size,
1310           and rationalize the variable names.
1311         (xml_read_rows_info) : Restore the default col size,
1312         (xml_sheet_write) : Save the default row/col size in pts.
1313           Flush the run length encoding of the row/col sizes.
1314         (xml_write_colrow_info) : Use run length encoding to decrease the size
1315           of the generated xml.
1317         * src/colrow.c (col_row_equal) : new function.
1319 2000-08-31  Morten Welinder  <terra@diku.dk>
1321         * src/goal-seek.c (goal_seek_trawl_normally): Respect xmin and
1322         xmax.
1323         (goal_seek_bisection): Implement Ridder's method also.  (This
1324         method turns out to be very useful for RATE-like functions.)
1326 2000-08-31  Jon K Hellan  <hellan@acm.org>
1328         * src/Makefile.am: Remove ref to non-existent graph-series.c to
1329         make the build work again.
1331 2000-08-30  Jody Goldberg <jgoldberg@home.com>
1333         * dependent.[ch] : New base class for Cells.
1334           Convert everything to access the elements that are now
1335           in the cell's base.
1336         s/Cell::sheet/Cell::Dependent::sheet/
1337         s/Cell::cell_flags/Cell::Dependent::flags/
1339         * Makefile.am : Because of XL we need to build plugins before src.
1340           That will need changing.
1342         * src/func.c (function_marshal_arg) : Use expr_array_intersection.
1344         * src/expr.c (eval_expr_real) : Do implicit conversions from strings
1345           to numbers if possible.
1346           Access the first element of an array.  NOTE : This is WRONG
1347           We need to implement array expression behavior some day.
1348         (expr_array_intersection) : New routine.
1350 2000-08-30  Morten Welinder  <terra@diku.dk>
1352         * src/print-cell.c (print_show_iso8859_1): Fix a few type errors.
1354         * src/functions/fn-financial.c (gnumeric_rate): Respect the sign
1355         of the guess.  Work much harder at getting an answer.
1356         (gnumeric_irr): Mirror the RATE improvements.
1358         * src/goal-seek.c (goal_seek_point): New function.
1360 2000-08-29  Jody Goldberg <jgoldberg@home.com>
1362         * src/Makefile.am : Fix file names.
1364         * src/number-match.c (format_match_simple) : New routine.
1366         * src/parser.y (parse_string_as_value) : Use it here.
1367         (build_array) : Do not use g_list_next it unnecessarily checks for
1368           NULL.
1370 2000-08-30  Jon K Hellan  <hellan@acm.org>
1372         * src/print-cell.[ch] (print_show_iso8859_1): Wrapper around
1373         gnome_print_show which accepts iso8859.1. We use this until we
1374         switch to UTF-8 internally.
1376         * src/print-cell.c (print_text): Use print_show_iso8859_1.
1378         * src/print.c (print_hf): Ditto.
1380 2000-08-30  Jon K Hellan  <hellan@acm.org>
1382         * src/print.c (print_page, print_job_info_get): Header/footer are
1383         measured from top/bottom of sheet, not from inside top/bottom
1384         margin.
1385         (print_page): Correct placement when centering horizontally or
1386         vertically.
1388 2000-08-29  Morten Welinder  <terra@diku.dk>
1390         * src/functions/fn-financial.c (gnumeric_sln): Value arg is float,
1391         not int.
1392         (gnumeric_syd): Ditto.
1393         (gnumeric_rate): Rate guess is float, not int.
1395 2000-08-28  Morten Welinder  <terra@diku.dk>
1397         * src/functions/fn-financial.c (gnumeric_rate): Fix special case.
1399 2000-08-27  Jody Goldberg <jgoldberg@home.com>
1401         * src/number-match.c (format_create_regexp) : If we see seconds
1402           immediately after 'm' that was parsed as months replace it with
1403           minutes.  XL is vile.
1404         (compute_value) : make seconds into a float.  Add some debug
1405           assistance.  Use a putrid hack to handle the various cases that can
1406           generate MATCH_NUMBER.  When handling decimals make a another putrid
1407           hack to handle the case of second fragments.
1409 2000-08-26  Jody Goldberg <jgoldberg@home.com>
1411         * src/sheet.c (colrow_move) : Reset the cell positions.
1413 2000-08-25  Jody Goldberg <jgoldberg@home.com>
1415         * Makefile.am : Build gnumeric before its executables.
1417 2000-08-22  Jody Goldberg <jgoldberg@home.com>
1419         * src/sheet.c (sheet_clone_styles) : Init the style tables.
1421 2000-08-22  Jody Goldberg <jgoldberg@home.com>
1423         * src/sheet.c (sheet_clone_styles) : Patch leak.
1424         (sheet_clone_selection) : Patch leak.
1426         * src/print-info.c (print_info_copy) : Cut-n-Paste-o
1428 2000-08-21  Jody Goldberg <jgoldberg@home.com>
1430         * src/corba-sheet.c : suppress warnings.
1431         * src/dialogs/dialog-stf.c : Ditto.
1433         * src/number-match.c (format_create_regexp) : Improve regexps.
1435         * src/formats.c (cell_format_is_number) : Format always uses standard
1436           decimal chars.
1438         * src/format.c (gnumeric_setlocale) : New routine that clears cached
1439           locale info.
1440         (format_get_decimal) : Improve use mon_decimal.
1441         (format_get_thousand) : Improve use mon_thousands_sep.
1442         (format_get_arg_sep) : New func.
1443         (format_get_col_sep) : New func.
1444         (format_destroy) : Use GPtrArray.
1445         (render_number) : Improve localization.
1446         (format_add_thousand) : rename format_toggle_thousands. De-localize.
1447         (find_decimal_char) : De-localize.
1448         (format_remove_decimal) : Ditto.
1449         (format_add_decimal) : Ditto.
1450         (format_number) : Ditto.
1452         * src/expr.c (do_expr_tree_to_string) : Use format_get_arg_sep.
1454         * src/cell.c (cell_get_format) : Update for the changes to StyleFormat.
1456         * src/auto-format.c (auto_style_format_suggest) :
1457           style_format_new -> style_format_new_XL
1459         * src/mstyle.c (mstyle_element_dump) : There is no direct access to
1460           the format string anymore.
1461         (mstyle_set_format_text) : Add a warning.
1463         * src/gutils.[ch] (float_get_from_range) : Delete.
1464         (int_get_from_range) : Ditto.
1466         * src/parser.y : Revamp lexer to use strtol, and strtod for number
1467           parsing.  Begin hooks for supporting row & col selection. (3:4 or A:B)
1469         * src/print-info.c (render_value_with_format) : Changes to StyleFormat.
1471         * src/sheet.h : Move SpanCalcFlags.
1472         * src/gnumeric.h : here.
1474         * src/style.[ch] : Privatize StyleFormat, move it to format.[ch]
1476         * src/value.c (value_get_as_string) : Correctly localize things for
1477           output.
1479         * src/workbook-format-toolbar.c (modify_cell_format) : format
1480           modification callback modifies the StyleFormat.
1482         * src/workbook.c (workbook_set_auto_expr) : Use gnumeric_setlocale.
1484         * src/xml-io.c (xml_workbook_read) : Use gnumeric_setlocale.
1485         (xml_workbook_write) : Ditto.
1486         (xml_read_cell) : Use style_format_new_XL.
1487         (xml_write_cell_and_position) : Store the number formats in non localized XL form.
1488         (xml_write_style) : Ditto.
1490         * src/dialogs/dialog-cell-format.c (fmt_dialog_init_format_page) :
1491           Display localized number formats.
1492         (fillin_negative_samples) : Not need to localize generated number
1493           formats.
1495         * src/dialogs/dialog-function-wizard.c (formula_guru_set_expr) : Use
1496           format_get_arg_sep.
1498         * src/dialogs/dialog-stf-format-page.c
1499           (stf_dialog_format_page_prepare) : StyleFormats are now explicitly
1500           stored in a locale neutral format.
1502         * src/functions/fn-string.c (gnumeric_text) : changes to
1503           style_format_new.
1505         * src/functions/fn-financial.c (coupdayb) : Silence some warnings.
1507         * src/functions/fn-information.c (translate_cell_format) : This should
1508           now work for different locales.
1510 2000-08-18  Jody Goldberg <jgoldberg@home.com>
1512         * src/number-match.c (compute_value) : Extend the match algorithms to
1513           handle the new regexps.
1515         * src/format.c (format_get_thousand) : provide a better default for
1516           countries using ',' as a decimal point.
1518 2000-08-20  Owen Taylor  <otaylor@redhat.com>
1520         * TODO.xml: Change "simple" to "small" as required by
1521         make-todo, so that it builds on developer.gnome.org.
1523 2000-08-18  Jody Goldberg <jgoldberg@home.com>
1525         * src/xml-io.c (xml_write_cell_and_position) : Do not write Useless
1526           'Style' attribute.
1527         - Make Rows/Cols attributes of the Cell not the Content
1528         - When storing Values store the value type, the parse format (if
1529           available) and the value as a plain string (eg $100.00 == 100)
1531         * src/value.c (value_new_from_string) : New function.
1533         * src/number-match.c (format_create_regexp) : Be more careful when
1534           handling decimals and thousands separators.  This sucks, but it
1535           sucks less than before.
1537         * src/formats.c (format_currency) : typo.
1539 2000-08-17  Jody Goldberg <jgoldberg@home.com>
1541         * src/xml-io.c (xml_check_version) : New function.
1542         (xml_probe) : Use it here.
1543         (gnumeric_xml_read_workbook) : And here.
1545         * src/print-info.c (print_info_copy) : Leak less.
1547         * src/clipboard.c (paste_cell) : Set the pos rather than the row/col
1548           pointers.
1550         * src/solver-lp.c (solver_lp_copy) : Fix typo, and use Cell::pos.
1552 2000-08-16  Chema Celorio  <chema@celorio.com>
1554         * src/sheet.c (sheet_duplicate
1555                        sheet_clone_cells,
1556                        cb_sheet_cell_copy,
1557                        sheet_clone_objects,
1558                        sheet_clone_names,
1559                        sheet_clone_selection,
1560                        sheet_clone_styles,
1561                        sheet_clone_style_region,
1562                        sheet_clone_colrow_info,
1563                        sheet_clone_colrow_info_item) : New.
1565         * src/solver-lp.c (solver_lp_copy) : New func.
1567         * src/print-info.c (print_info_copy) : New func.
1568         (print_info_margin_copy) : Ditto.
1569         * src/workbook.c (sheet_action_clone_sheet) : New.
1571 2000-08-16  Jody Goldberg <jgoldberg@home.com>
1573         * src/sheet.c (sheet_cell_insert) : Add a flag to disable span
1574           recalculation.
1576         * src/sheet-style.c (sheet_get_style_list) : const.
1578         * src/position.c (parse_pos_init_cell) : Use Cell::pos.
1580         * src/clipboard.c (paste_cell_with_operation) : Changes to
1581           sheet_cell_insert.
1582         (paste_cell) : Ditto.
1584         * src/analysis-tools.c (prepare_output) : Changes to
1585           workbook_sheet_get_free_name.
1586         * src/workbook.c (insert_sheet_cmd) : ditto.
1587         (workbook_sheet_name_strip_number) : New.
1588         (workbook_sheet_get_free_name) : Handle names of the form 'bobo (2)'.
1590 2000-08-16  Jody Goldberg <jgoldberg@home.com>
1592         * src/workbook-view.c (workbook_view_set_size) : Back out switch to
1593           set_usize it was disabling shrinking.  Fix this eventually.
1595         * src/sheet.c (sheet_get_extent) : re-enable the use of
1596           sheet_style_get_extent.
1598         * src/sheet-style.c (sheet_style_get_extent) : rework to use
1599           'visible in blank cell' rather than non-infinite.
1601         * src/mstyle.c (mstyle_visible_in_blank) : new function.
1602         * src/border.c (style_border_visible_in_blank) : new function.
1604         * src/xml-io.c (xml_write_style) : Save font info even if it only
1605           specifies underline or strikethrough.
1607 2000-08-15  Morten Welinder  <terra@diku.dk>
1609         * src/gutils.c (gnumeric_get_le_int16, gnumeric_get_le_uint16,
1610         gnumeric_get_le_int32, gnumeric_get_le_uint32,
1611         gnumeric_get_le_double, gnumeric_set_le_double): new functions,
1612         mostly for plugin support.
1614 2000-08-15  Jody Goldberg <jgoldberg@home.com>
1616         * src/workbook.c (workbook_new) : Set the size after initializing
1617           everything else.
1619         * src/workbook-view.c (workbook_view_set_size) : size the notebook,
1620           not the toplevel window.
1622         * src/colrow.h (ROW_INTERNAL_HEIGHT) : Delete.
1624         * configure.in : CVS bonobo is 0.18.
1626 2000-08-14  Jody Goldberg <jgoldberg@home.com>
1628         * src/print-cell.c (print_cell) : Sync with
1629         * src/cell-draw.c (cell_draw) : and clear out a few usages of
1630           Cell:{row,col})_info.
1632         * src/workbook.c (workbook_menu_edit) : Fix typo that made goto C-I
1633           instead of C-G.
1635 2000-08-12  Jody Goldberg <jgoldberg@home.com>
1637         * configure.in : Bump bonobo version.
1638         * README : Ditto.
1640 2000-08-12  Jody Goldberg <jgoldberg@home.com>
1642         * src/workbook.c (insert_object_cmd) :
1643           s/gnome_bonobo_select_oaf_id/bonobo_selector_select_id.
1644         * src/sheet-object.c (sheet_set_mode_type_full) : Ditto.
1646         * src/gnumeric-sheet.c (gnumeric_sheet_drag_data_get) : Disable until
1647           Michael has a chance to update to new api.
1649         * src/corba-workbook-factory.c (WorkbookFactory_create_object) :
1650           Update after the OAF factory renaming.
1652 2000-08-11  Jody Goldberg <jgoldberg@home.com>
1654         * src/dialogs/Makefile.am : Add graph-guru for bonobo enabled builds.
1656         * src/dialogs/formula-guru.glade (rolled_label) : Don't fill.
1658 2000-08-11  Jody Goldberg <jgoldberg@home.com>
1660         * src/functions/fn-math.c (gnumeric_g_product) : Ignore blanks.
1661         (gnumeric_product) : Ditto.
1662         (gnumeric_sumsq) : Ditto.
1663         (gnumeric_suma) : Ditto.
1664         (gnumeric_sum) : Ditto.
1665         (gnumeric_gcd) : Ditto.
1667 2000-08-11  Jody Goldberg <jgoldberg@home.com>
1669         * src/corba-args.c : Remove support for Gnorba. Die Pig Die !
1670         * src/corba-workbook-factory.c : Ditto.
1671         * src/embeddable-grid.c : Ditto.
1672         * src/sheet-object.c : Ditto.
1673         * src/workbook.c : Ditto.
1675         * src/cell-comment.c (cell_comment_realize) : Use Cell::pos rather
1676           than Cell::{row,col}_info->pos.
1677         (cell_comment_reposition) : Ditto.
1678         * src/cell-draw.c (cell_draw) : Ditto.
1679         * src/cellspan.c (cell_register_span) : Ditto.
1680         (cell_calc_span) : Ditto.
1681         * src/clipboard.c (paste_cell_with_operation) : Ditto.
1682         (paste_cell) : Ditto.
1683         * src/cmd-edit.c (cb_compare_deps) : Ditto.
1684         (cmd_select_cur_depends) : Ditto.
1685         * src/eval.c (dependency_range_ctor) : Ditto.
1686         (handle_cell_single_dep) : Ditto.
1687         (handle_cell_range_deps) : Ditto.
1688         (cell_get_range_dependencies) : Ditto.
1689         (cell_get_dependencies) : Ditto.
1690         * src/item-grid.c (item_grid_draw) : Ditto.
1691         * src/parse-util.c (cell_name) : Ditto.
1692         * src/position.c (eval_pos_init_cell) : Ditto.
1693         * src/print-cell.c (print_cell) : Ditto.
1694         (print_cell_range) : Ditto.
1695         * src/sheet-autofill.c (autofill_cell) : Ditto.
1696         * src/sheet-vector.c (sheet_vectors_cell_changed) : Ditto.
1697         * src/sheet.c (sheet_cell_calc_span) : Ditto.
1698         (sheet_reposition_comments) : Ditto.
1699         (sheet_get_extent_cb) : Ditto.
1700         (sheet_redraw_cell) : Ditto.
1701         (sheet_cell_add_to_hash) : Ditto.
1702         (sheet_cell_insert) : Ditto.
1703         (sheet_cell_new) : Ditto.
1704         (sheet_cell_remove_from_hash) : Ditto.
1705         (sheet_move_range) : Ditto.
1706         * src/solver-lp.c (solver_simplex) : Ditto.
1707         (make_solver_arrays) : Ditto.
1708         (solver_affine_scaling) : Ditto.
1709         (make_int_array) : Ditto.
1710         (solver_branch_and_bound) : Ditto.
1711         (solver_answer_report) : Ditto.
1712         (solver_sensitivity_report) : Ditto.
1713         * src/xml-io.c (xml_write_cell) : Ditto.
1714         (xml_cell_set_array_expr) : Ditto.
1715         (xml_write_solver) : Ditto.
1716         * src/dialogs/dialog-solver.c (check_int_constraints) : Ditto.
1718         * src/about.c : Move the ABOUT_KEY here from.
1719         * src/dialogs/dialogs.h : here.  Also, add dialog_graph_guru.
1721         * src/Makefile.am : Remove wizard.h and the separate wizard library.
1723 2000-08-11  Jody Goldberg <jgoldberg@home.com>
1725         * src/expr.c (do_expr_tree_to_string) : Do not hard code the argument
1726           separator, it needs to change depending on the locale.
1727         * src/dialogs/dialog-function-wizard.c (formula_guru_set_expr) :
1728           Ditto.
1730 2000-08-10  Jody Goldberg <jgoldberg@home.com>
1732         * src/functions/fn-stat.c : All callers to float_range_function ignore
1733           blanks.
1734         * src/functions/fn-math.c : Ditto.
1736         * src/functions/fn-database.c (find_column_of_field) : Use
1737           cell_get_rendered_text rather than entered_text.
1738         (parse_criteria_range) : Ditto.
1739         (find_rows_that_match) : Ditto.
1741         * src/formats.c (cell_format_currency) : Add some versions without
1742           trailing _), it was causing problems now that we handle spaces.
1743           We should not be using these lists to do this.
1745 2000-08-09  Jody Goldberg <jgoldberg@home.com>
1747         * src/functions/fn-date.c (gnumeric_datevalue) : Handle error values.
1748         (gnumeric_timevalue) : Ditto.
1749         (gnumeric_year) : Ditto.
1750         (gnumeric_month) : Ditto.
1751         (gnumeric_day) : Ditto.
1752         (gnumeric_weekday) : Ditto.
1753         (gnumeric_days360) : Ditto.
1754         (gnumeric_eomonth) : Ditto.
1755         (gnumeric_workday) : Ditto.
1756         (networkdays_holiday_callback) : Ditto.
1757         (gnumeric_networkdays) : Ditto.
1759         * src/functions/fn-financial.c (gnumeric_coupdaybs) : Ditto.
1760         (gnumeric_coupdays) : Ditto.
1761         (gnumeric_coupncd) : Ditto.
1762         (gnumeric_coupnum) : Ditto.
1764 2000-08-07  Arturo Tena <arturo@directmail.org>
1766         * configure.in : Fix libole2 test.
1768 2000-08-07  Jody Goldberg <jgoldberg@home.com>
1770         * src/workbook.c (workbook_menu_insert_special) : No need to specify
1771           the shift state anymore.
1773         * src/main.c (gnumeric_main) : Bug 15791.  Disregard the state of the
1774           shift modifier for accelerators.
1776 2000-08-07  Jody Goldberg <jgoldberg@home.com>
1778         * src/functions/fn-stat.c (callback_function_stat) : Handle blanks as 0.
1779         (callback_function_make_list) : Ditto.
1780         (callback_function_ttest) : Ditto.
1781         (gnumeric_mode) : Explicitly ignore blanks.
1782         (gnumeric_count) : Ditto.
1783         (gnumeric_ztest) : Ditto.
1784         (gnumeric_counta) : Ditto.
1785         (gnumeric_percentile) : Ditto.
1786         (gnumeric_quartile) : Ditto.
1787         (gnumeric_prob) : DO NOT IGNORE BLANKS.
1788         (gnumeric_ftest) : Ditto.
1789         (gnumeric_ttest) : Ditto.
1790         (gnumeric_frequency) : Ditto.
1792         * src/functions/fn-logical.c (gnumeric_and) : Handle
1793           changes to function_iterate_argument_values.
1794         (gnumeric_or) : Ditto.
1795         * src/functions/fn-math.c (gnumeric_lcm) : Ditto.
1796         (gnumeric_multinomial) : Ditto.
1797         (gnumeric_seriessum) : Ditto.
1799         * src/functions/fn-financial.c (gnumeric_mirr) : Use the old
1800           behavior of ignoring blanks.
1801         (gnumeric_irr) : Ditto.
1802         (gnumeric_npv) : Ditto.
1804         * src/functions/fn-eng.c (gnumeric_improduct) : Handle
1805           changes to function_iterate_argument_values.
1806         (gnumeric_imsum) : Ditto.
1808         * src/func.c (function_iterate_argument_values) : Add ignore_blank
1809           flag.
1811         * src/collect.c (callback_function_collect) : Support new collect flag
1812           COLLECT_IGNORE_BLANKS.
1813         (collect_floats) : change to function_iterate_argument_values.
1814         (float_range_function2) : Use COLLECT_IGNORE_BLANKS.
1816 2000-08-01  Jody Goldberg <jgoldberg@home.com>
1818         * src/sheet-autofill.c (fill_item_new) : It is legal to have 'D' and 'M'
1819           for day or month fields.
1821 2000-08-01  Jody Goldberg <jgoldberg@home.com>
1822         For : John N S Gill <bmrg@gofree.indigo.ie>
1824         * src/item-cursor.c (item_cursor_autofill_event) : Implement support
1825           for double click on autofill button.
1827 2000-08-02  Michael Meeks  <michael@helixcode.com>
1829         * configure.in: update for BonoboX
1831 2000-07-22  Michael Meeks  <michael@helixcode.com>
1833         * src/sheet-object.c (sheet_finish_object_creation): unset
1834         dragging.
1836         * src/sheet-object-container.c (item_destroyed): conditional unref.
1838 2000-07-31  Jody Goldberg <jgoldberg@home.com>
1840         * src/functions/fn-date.c (date_functions_ini) : Convert most of the
1841           routines to take 'Scalar' rather than '?' which did not handle
1842           ranges or arrays.
1844         * src/dialogs/dialog-function-wizard.c (formula_guru_arg_new) : Handle
1845           'Scalar'
1847         * src/func.c (function_marshal_arg) : Add 'S' scalar.
1849 2000-07-28  Jody Goldberg <jgoldberg@home.com>
1851         * src/global-gnome-font.c (global_gnome_font_init) : Adjust to
1852           signature change for gnome_font_family_list.
1854 2000-07-26  Jody Goldberg <jgoldberg@home.com>
1856         * src/parser.y (parse_string_as_value_or_name) : Check for names
1857           before values.
1859         * configure.in : Update bonobo requirement to reflect release of 0.16
1860         README : Ditto.
1862 2000-07-26  Jody Goldberg <jgoldberg@home.com>
1864         * src/print-cell.c (print_cell) : resync with cell-draw.
1866 2000-07-25  Jody Goldberg <jgoldberg@home.com>
1868         * src/workbook.c (change_displayed_zoom_cb) : Fix typo.
1870         * src/workbook-edit.c (workbook_start_editing_at_cursor) : Don't start
1871           editing if we are already editing.
1873 2000-07-16  James R. Van Zandt  <jrv@vanzandt.mv.com>
1875         * src/functions/fn-math.c: Misc. documentation cleanups.
1877         * src/functions/fn-stat.c: Misc. documentation cleanups.
1879         * src/functions/fn-eng.c: Fix nomenclature in erf and Bessel
1880           function documentation.  erf() accepts negative arguments.
1882 2000-07-24  Jody Goldberg <jgoldberg@home.com>
1884         * src/colrow.c (col_row_set_visibility_list) : Fix typo in name.
1886         * src/sheet.c (sheet_set_zoom_factor) : Set the default zoom to 1.
1887           (rather than the hackish -1) and add a 'force' flag to force an
1888           update even if the new zoom is close to the current zoom.
1890         * src/workbook.c (change_zoom_in_current_sheet_cb) : Adjust to changes
1891           in sheet_set_zoom_factor.
1892         * src/dialogs/dialog-zoom.c (dialog_zoom_impl) : Ditto.
1893         * src/xml-io.c (xml_sheet_read) : Ditto.
1895 2000-07-21  JP Rosevear  <jpr@arcavia.com>
1897         * src/sort.c (sort_contents): Add another level of indirection
1898         to ignore hiddens rows/cols
1900 2000-07-14  Michael Meeks  <michael@helixcode.com>
1902         * src/sheet-object.c (shutdown_sheet_object_creation): implement
1903         (sheet_leave_notify): implement. (sheet_button_press): hook up leave notify.
1904         (sheet_finish_object_creation): disconnect the handler too.
1906 2000-07-18  Jukka-Pekka Iivonen  <iivonen@iki.fi>
1908         * src/functions/fn-financial.c (coupnum): Fixed frequency two and
1909         four.  This functions should work now completely.
1911 2000-07-16  Jody Goldberg <jgoldberg@home.com>
1913         * src/border.c (style_border_draw) : Improve the look of diagonal double
1914           borders.  They still handle intersections poorly, but this improves
1915           things a bit.
1916         (style_border_print) : Ditto.
1918 2000-07-16  Jody Goldberg <jgoldberg@home.com>
1919         For : Matt Bissiri <bissiri@eecs.umich.edu>
1921         * src/clipboard.c: Implemented 'paste link' and 'skip blanks' for paste special.
1922         (paste_link): New function.
1923         (paste_cell): Do not clear the target cells if PASTE_SKIP_BLANKS is specified.
1924         Call paste_link if PASTE_LINK is specified.
1926         * src/clipboard.h:
1927         Added PASTE_LINK and PASTE_SKIP_BLANKS flags.
1929         * src/dialogs/dialog-paste-special.c:
1930         (transpose_cb): Rename transpose_cb -> checkbutton_toggled.
1931         (dialog_destroy): New function.
1932         (paste_link_set_sensitive): New function.
1933         (dialog_paste_special): Add 'paste link' and 'skip blanks' to the dialog.
1935 2000-07-13  Michael Meeks  <michael@helixcode.com>
1937         * src/main.c (gnumeric_main): remove bonobo_shutdown.
1939 2000-07-12 Jody Goldberg <jgoldberg@home.com>
1940         For : Matt Bissiri <bissiri@eecs.umich.edu>
1942         * src/clipboard.c Implemented arithmetic operations for paste special.
1943         (cell_has_expr_or_number_or_blank) : New function.
1944         (cell_get_contents_as_expr_tree) : New function.
1945         (paste_oper_to_expr_oper) : New function.
1946         (apply_paste_oper_to_values) : New function.
1947         (paste_cell_with_operation) : New function.
1948         (paste_cell) : Call paste_cell_with_operation if paste_flags
1949         indicates an arithmetic operation.
1951 2000-07-12  Michael Meeks  <michael@helixcode.com>
1953         * src/main.c (gnumeric_main): add bonobo_shutdown.
1955         * src/sheet-object-bonobo.c (sheet_object_bonobo_destroy): unref not
1956         destroy the bonobo object.
1958         * src/sheet-object-container.c (item_destroyed): ditto.
1960         * src/sheet-vector.c (sheet_vector_new): ditto.
1962 2000-07-07  Michael Meeks  <michael@helixcode.com>
1964         * src/file.c (do_save_as, dialog_query_load_file): make check less
1965         stringent for fnames if using bonobo.
1967         * src/functions/fn-financial.c (coupdaybs): add brackets.
1969         * src/sheet-object.c (sheet_object_stop_editing): NULL the
1970         current_object.
1972 2000-07-09  Jody Goldberg <jgoldberg@home.com>
1974         * src/history.c (history_menu_item_create) : Fix.
1976         * src/stf-parse.c (stf_parse_options_before_modification) : Simplify
1977           for irix compiler.
1979         * src/print-info.c (print_info_new) : cellrange is a ValueRange.
1980         (save_range) : Ditto.
1981         * src/dialogs/dialog-printer-setup.c (do_setup_page_info) : Ditto.
1982         (do_fetch_page_info) : Ditto.
1984         * src/application.c (application_dpi_to_pixels) : return a double.
1985           returning a float caused just enough loss of precision to break
1986           my putrid use of 9pt fonts.
1988         * src/workbook.c (workbook_set_auto_expr) : autoexpr are always parsed
1989           in the 'C' locale.
1991         * src/parser.y (gnumeric_parse_error) : New function.  Makes code
1992           cleaner, and offers a handy dandy place for a break point.
1994         * src/workbook.c (workbook_setup_edit_area) : Pass '0' rather than
1995           'FALSE' to avoid translation problems.
1997         * src/print.c (print_headers) : Adapt to changes in gnome-print.
1999 2000-07-09  Jody Goldberg <jgoldberg@home.com>
2001         * src/sheet.c (sheet_col_row_default_init) : Take units in pixels or
2002           points.
2003         (sheet_{col,row}_set_default_size_pixels) : new functions.  This
2004           interface sucks.  Clean it up.
2006         * src/parser.y : Optionally insert a place holder when an
2007           unknown function is found.
2009         * src/func.c (function_add_placeholder) : New function, moved from the
2010           XL import code.
2012         * src/expr.c (expr_parse_string) : gnumeric_expr_parser signature
2013           change.
2014         * src/workbook.c (workbook_set_auto_expr) : Ditto.
2016         * src/application.c (application_dpi_to_pixels) : New function.
2017         * src/item-bar.c (item_bar_fonts_init) : Use it here.
2018         * src/sheet-view.c (sheet_view_get_style_font) : And here.
2019         * src/style.c (font_init) : and here.
2021 2000-07-08  Jody Goldberg <jgoldberg@home.com>
2023         * src/parse-util.c (cellref_r1c1_get) : Make stricter.
2024         (r1c1_get_item) : Ditto.
2026 2000-07-08  Jody Goldberg <jgoldberg@home.com>
2028         * plugins/Makefile.am (SUBDIRS) : Enable applix.
2030 2000-07-08  Jody Goldberg <jgoldberg@home.com>
2032         * src/parse-util.c (col_from_name) : Add optional arg to indicate
2033           where parsing stoped.  Similar to strtod.
2035 2000-07-07  Jody Goldberg <jgoldberg@home.com>
2037         * src/xml-io.c (xml_write_style_border) : Trivial optimization.  No
2038           need to save colour for STYLE_BORDER_NONE.
2039         (xml_read_style_border) : Ditto.
2041 2000-07-08  Morten Welinder  <terra@diku.dk>
2043         * src/sheet.c (sheet_cell_foreach_range): Change traversal order
2044         for ranges.
2046         * src/func.c (function_iterate_do_value): Fix traversal order for
2047         arrays.
2049 2000-07-07  Morten Welinder  <terra@diku.dk>
2051         * src/functions/fn-math.c (gnumeric_sumproduct): Rewrite with lots
2052         of care in error handling.
2054         * src/value-sheet.c (value_area_get_width): Make it official that
2055         scalars have width 1.
2056         (value_area_get_height): Likewise.
2057         (value_area_get_x_y): Likewise.
2059 2000-07-06  Almer. S. Tigelaar.  <almer1@dds.nl>
2061         * src/stf-parse.c (stf_parse_options_fixed_autodiscover): When splitting
2062         columns in 2 the last character in the rightmost column would not be
2063         taken into account.
2065 2000-07-06  Jody Goldberg <jgoldberg@home.com>
2067         * src/item-cursor.c (item_cursor_do_action) : Do not do anything if we
2068           have not moved.
2070         * src/sheet-style.c (sheet_style_compute_from_list) : Make public.
2071           and rename from sheet_mstyle_compute_from_list.  Changed all
2072           callers.
2074         * src/rendered-value.c (rendered_value_new) : Optionaly take a style
2075           list.  Use it if offered.
2077         * src/cell.c (cell_render_value) : New signature for rendered_value_new.
2079         * src/render-ascii.c (cell_region_render_ascii) : Temporarily reverse
2080           the style list so that it goes in the correct direction.   Use
2081           rendered_value not entered_text.
2083         * src/clipboard.c (clipboard_prepend_cell) : Init the Cell::pos with
2084           the offsets.  This is useful in when looking up formats.
2086 2000-07-06  Jukka-Pekka Iivonen  <iivonen@iki.fi>
2088         * src/functions/fn-financial.c: Implemented COUPNCD().
2090 2000-07-05  Jody Goldberg <jgoldberg@home.com>
2092         * src/Makefile.am (EXTRA_DIST) : Remove -lglade-bonobo for now.
2094         * src/main.c (gnumeric_main) : glade_bonobo_init -> glade_gnome_init
2096 2000-07-05  Michael Meeks  <michael@helixcode.com>
2098         * src/bonobo-io.c (write_stream_to_storage): implement.
2099         (write_mem_to_storage): implement.
2100         (create_xml_bonobo_stream): create.
2101         (xml_input_read_cb):
2102         (xml_input_close_cb):
2103         (hack_xmlSAXParseFile): copy from libxml.
2105         * src/sheet-object.c (sheet_object_drop_file): update; this should
2106         be totaly re-written.
2108         * src/sheet-object-bonobo.c (sheet_object_bonobo_load): clean up.
2110         * src/sheet-object-item.c (sheet_object_item_new): remove,
2111         redundant; re-tool calls to sheet_object_container_new_object.
2113         * src/sheet-object.c (create_object): rename the one use.
2115         * src/sheet-object-container.c (sheet_object_container_new_from_object_id):
2116         remove activation logic.
2118         * src/sheet-object-bonobo.c (sheet_object_bonobo_destroy): free
2119         object_id. (sheet_object_bonobo_construct): do activation in here.
2120         (sheet_object_bonobo_get_object_iid): implement.
2122         * src/sheet-object-container.c (sheet_object_container_new_from_goadid):
2123         rename to (sheet_object_container_new_object): this.
2125         * src/xml-io.c (xml_write_sheet_object): add bonobo io.
2126         (xml_read_sheet_object): add bonobo and re-scope vars.
2127         (xml_parse_ctx_new_full): implement.
2129         * src/main.c (gnumeric_main): add bonobo_io_init.
2131         * src/xml-io.c (xml_parse_ctx_init): implement,
2132         (xml_parse_ctx_shutdown): ditto.
2133         (xml_workbook_write): moved
2134         (gnumeric_xml_write_workbook): s/parse_xml_context_t/XmlParseContext/
2136         * src/xml-io.c (xml_workbook_read): publicise.
2137         (xml_workbook_write): ditto.
2139 2000-07-04  Michael Meeks  <michael@helixcode.com>
2141         * src/about.c (dialog_about): sort alphabeticaly.
2143 2000-07-05  Morten Welinder  <terra@diku.dk>
2145         * src/clipboard.c (x_selection_to_cell_region): Copy data and zero
2146         terminate it.
2148         * src/stf-parse.c (stf_parse_fixed_line): Kill unneeded cast.
2149         (stf_parse_convert_to_unix): Unconstify.  Don't bother keeping
2150         track of len.  Handle form-feeds better.
2152 2000-07-05  Almer. S. Tigelaar.  <almer1@dds.nl>
2154         * src/stf-parse.c:
2155         (stf_parse_options_fixed_autodiscover): When a column has right
2156         and left aligned text split and has 2 or more spaces in the
2157         middle split the column in two. (Suggested by Morten)
2159 2000-07-04  Jody Goldberg <jgoldberg@home.com>
2161         * src/workbook-edit.c (workbook_edit_detach_guru) : Nat having a
2162           guru in place is not an error.
2164         * src/clipboard.c (x_selection_received) : No need to sheet_update or
2165           recalc.  cmd_paste_copy handles that.
2167         * src/gnumeric-util.c (gnumeric_non_modal_dialog) : New function.
2169 2000-07-04  Morten Welinder  <terra@diku.dk>
2171         * src/clipboard.c (x_selection_received): Update current sheet,
2172         not a NULL sheet.
2174 2000-07-04  Almer. S. Tigelaar.  <almer1@dds.nl>
2176         * autogen.sh:
2177         Downgrade libtool requirment from 1.3.4 to 1.3.3.
2178         because compiling Gnumeric works fine with 1.3.3.
2180 2000-07-04  Jukka-Pekka Iivonen  <iivonen@iki.fi>
2182         * src/functions/fn-financial.c: Implemented basis 0 for COUPDAYBS.
2184         * src/functions/fn-financial.c (coupdays): Implemented frequency 1
2185         for basis 1 (frequences 2 and 4 are still not done).
2187 2000-07-04  Almer. S. Tigelaar.  <almer1@dds.nl>
2189         * src/dialogs/dialog-stf.c, src/dialogs/dialog-stf-fixed-page.c:
2190         Fix column mangling in fixed width import.
2192         * src/dialogs/dialog-stf-format-page.c:
2193         (format_page_format_changed): Use new sublist_select member
2194         to avoid 'jumping' of the GtkClist when selecting from
2195         the sublist.
2196         (format_page_sublist_select_row): idem.
2197         (stf_dialog_format_page_init): Initialize sublist_select.
2199         * src/stf-parse.c, src/stf-parse.h:
2200         (stf_parse_options_fixed_autodiscover): New!
2201         Column autodiscovery for fixed width.
2203         * src/dialogs/dialog-stf.glade:
2204         Add clear and autodiscovery buttons
2206         * src/dialogs/dialog-stf-fixed-page.c:
2207         (fixed_page_autodiscover): Autodiscovery routine.
2208         (fixed_page_clear_clicked): Clear click handler
2209         (fixed_page_auto_clicked): Autodiscovery click handler
2211 2000-07-04  Jukka-Pekka Iivonen  <iivonen@iki.fi>
2213         * samples/excel/infofuns.xls: Changed the third test case of
2214         ERROR.TYPE.  It seems that XL produces #VALUE! error for
2215         STDEV("foo") but #DIV/0! error for STDEV(A1) when A1 contains
2216         string `foo'.  Cool.
2218 2000-07-03  Morten Welinder  <terra@diku.dk>
2220         * src/stf-parse.c (stf_parse_get_rowcount): Don't add one to the
2221         number of lines if the last line is empty.
2223         * src/sheet.c (sheet_cell_set_text): Plug leak.
2225         * src/workbook-format-toolbar.c
2226         (do_sheet_selection_apply_number_format): Avoid double translation
2227         of format.
2229         * src/mstyle.c (mstyle_set_format_text): Renamed from
2230         mstyle_set_format.
2231         (mstyle_set_format): New function taking a StyleFormat *.
2233 2000-07-03  Jody Goldberg <jgoldberg@home.com>
2235         * src/workbook.c : Begin the Name menu.
2237         * src/workbook-edit.c (workbook_edit_set_sensitive) : New function.
2238         (workbook_finish_editing) : Use here.
2239         (workbook_start_editing_at_cursor) : And here.
2240         (workbook_edit_attach_guru) : And here.
2241         (workbook_edit_detach_guru) : And here.
2242         (workbook_edit_entry_redirect_p) : New function.
2244         * src/item-grid.c (item_grid_button_1) : If we have a guru up, but are
2245           not selecting a region ignore clicks.
2246         (item_grid_event) : Ditto.
2248         * src/gnumeric-sheet.c (gnumeric_sheet_can_select_expr_range) : It is
2249           possible to have a guru up without selecting regions.
2251         * src/expr-name.c (expr_name_list) : Doh!
2253 2000-07-03  Jukka-Pekka Iivonen  <iivonen@iki.fi>
2255         * src/analysis-tools.c: Implemented `Histogram' tool (mostly).
2257         * src/dialogs/tools.h: Related changes.
2259         * src/dialogs/analysis-tools.glade,
2260         src/dialogs/dialog-analysis-tools.c: Added dialogs for `Histogram'
2261         and `Fourier Analysis' tools.  The later is not implemented yet.
2263 2000-07-03  Jukka-Pekka Iivonen  <iivonen@iki.fi>
2265         * src/functions/fn-financial.c: Implemented COUPNUM().
2267         * src/analysis-tools.c: Started the implementation of the third
2268         anova tool (two-factor with replication).
2270         * src/dialogs/analysis-tools.glade: Added dialog for the new
2271         tool.  Fixed the `Correlation' dialog.
2273         * src/dialogs/dialog-analysis-tools.c: Added
2274         dialog_anova_two_factor_without_r_tool().
2276         * src/dialogs/tools.h: Related changes.
2278         * TODO: Added `Data analysis tools' section.
2280 2000-07-02  Jody Goldberg <jgoldberg@home.com>
2282         * src/expr.c (expr_rewrite) : Names can contain relative references,
2283           we need to check them too.
2285         * src/parser.y (exp) : Add production for sheet specific names.
2286           eg Sheet2!name
2288 2000-07-01  Jody Goldberg <jgoldberg@home.com>
2290         * src/functions/fn-string.c (parse_search_strin) : Use g_strdup.
2292 2000-07-01  Morten Welinder  <terra@diku.dk>
2294         * src/file.c (can_try_save_to): Constify.  Handle empty name.
2295         (do_save_as): Ditto.
2296         (wants_to_overwrite): Ditto.
2298 2000-06-30  Morten Welinder  <terra@diku.dk>
2300         * src/file.c (dialog_query_load_file): Guard against empty entry.
2302         * src/parse-util.c (parse_cell_name_list): Plug leak.
2304         * src/solver-lp.c (write_constraint_str): Return an allocated
2305         string instead of taking an unsized buffer.  Constify.  All
2306         callers changed.
2308         * plugins/Makefile.am (SUBDIRS): Delete text, ff-csv, and sample
2309         plugins.  Separate the remaining ones into file formats and
2310         functions.
2312 2000-06-30  JP Rosevear  <jpr@arcavia.com>
2314         * src/embeddable-grid.c (EmbeddableGridFactory_init): Use
2315         consistent names.
2317         * gnumeric.gnorba: Make server names consistent
2319         * gnumeric.oafinfo: Make server names consistent
2321 2000-06-30  Jody Goldberg <jgoldberg@home.com>
2323         * src/gnumeric-sheet.c (gnumeric_sheet_can_select_expr_range) : It is
2324           possible to have a guru up without editing.
2325         (gnumeric_sheet_key_press) : rename from gnumeric_sheet_key.
2326         (gnumeric_sheet_size_allocate) : rename from gnumeric_size_allocate.
2327         (gnumeric_sheet_focus_in) : Enable the input context.
2328         (gnumeric_sheet_focus_out) : Disable the input context.
2329         (gnumeric_sheet_realize) : Create the input context.
2330         (gnumeric_sheet_unrealize) : Destroy the input context.
2331         (gnumeric_sheet_class_init) : Register the new methods.
2332         (gnumeric_sheet_init) : Init the input context.
2334         * src/clipboard.c (x_selection_handler) : Adjust to changes in
2335           application_clipboard_clear.
2336         (x_selection_clear) : Ditto.
2337         * src/cmd-edit.c (cmd_paste) : Ditto.
2338         * src/sheet.c (sheet_destroy) : Ditto.
2340         * src/application.c (application_clipboard_clear) : Make dropping the
2341           selection optional.  This removes the kludges necessary to handle
2342           changing the clipboard when we already have the selection.
2344         * src/functions/fn-logical.c (gnumeric_true, gnumeric_false) :
2345           fix signatures.
2347 2000-06-30  Jukka-Pekka Iivonen  <iivonen@iki.fi>
2349         * src/functions/fn-logical.c: Added FALSE().
2351 2000-06-29  Jody Goldberg <jgoldberg@home.com>
2353         * src/application.c (application_set_selected_sheet) : short circuit
2354           clearing the selection if we are in the same workbook, not just the
2355           same sheet.
2357         * src/sheet.c (sheet_name_quote) : cast to unsigned char for safety
2358           when using isdigit.
2359         * src/workbook.c (wb_edit_key_pressed) : Ditto.
2361 2000-06-28  Arturo Tena <arturo@directmail.org>
2363         * configure.in: Improve libole2 detection.
2365 2000-06-29  Jody Goldberg <jgoldberg@home.com>
2367         * src/parser.y : Add 'string_opt_quote' and use it in a few
2368           productions that do not care about the quote state of the token.
2370         * src/sheet.c (sheet_name_quote) : Sheet names that begin with digits
2371           need to be quoted. (#15720)
2373 2000-06-28  Jody Goldberg <jgoldberg@home.com>
2375         * src/expr.c (expr_tree_new_funcall) : Ref the function here.
2377         * src/func.c (fn_def_new) : Init the new elements.
2379 2000-06-28  Jody Goldberg <jgoldberg@home.com>
2381         * src/functions/fn-sheet.c (GNUMERIC_VERSION) : new function.
2383         * src/workbook.c (workbook_do_destroy) : No need to release the
2384           clipboard here.  The Sheet does it for us.
2386         * src/workbook-format-toolbar.c : Add Fill to the default money
2387           format.
2389         * src/symbol.c : The only symbols are functions.  The global table
2390           should not be world visible.
2392         * src/sheet.c (sheet_flag_status_update_cell) : Take a CellPos.
2393         (sheet_get_extent_cb) : Use Cell::pos rather than adding an
2394           indirection.
2395         (cb_set_cell_content) : Use StyleFormat.
2396         (sheet_cell_set_value) : Call sheet_flag_status_update_cell.
2397         (sheet_cell_set_value) : Ditto.
2398         (sheet_destroy) : Prepare to clear out named expressions.
2399         (colrow_move) : Handle changes in cell_relocate signature.
2400         (sheet_move_range) : Ditto.
2402         * src/sheet-autofill.c : Use StyleFormats.
2404         * src/position.c (parse_pos_init) : Global position are permitted.
2406         * src/parser.y : Large change.  Do not automaticlly look for function
2407           names or named expressions in the lexer.  The lexer returns STRING
2408           and QUOTED_STRING.  The parser then does the appropriate lookups to
2409           potentially convert to something else.  This allows us to have sheet
2410           names that are the same as functions.
2412         * src/parse-util.c (cellref_name) : Add flag to optionally disable the
2413           addition of the sheet name.  This is useful when printing
2414           Sheet2!A1:A3 rather than Sheet2!A1:Sheet2!A3.
2416         * src/number-match.c (format_create_regexp) : Handle fill formats.
2418         * src/mstyle.c (mstyle_get_border) : Fix constness.
2420         * src/mathfunc.c (combin, fact) : Moved these here from
2421           functions/fn-math.c
2423         * src/main.c (gnumeric_main) : No more constants_init, or
2424           global_symbol_init.
2426         * src/func.c () : Reorg.  Remove some dead code.  Begin adding
2427           workbook local function support, Begin adding volatile, and
2428           semi-volatile functions.  Move the use of SymbolTable internal
2429           in preparation for eliminating it.
2431         * src/format.c (format_number) : Improve support for pound, yen, and euro.
2432           Remember to produce a number when we hit spacing.
2434         * src/expr.c : Have ExprFunc refer directly to the FunctionDefinition
2435           We still use a SymbolTable internally, but that will be merged out
2436           later.
2438         * src/expr-name.c : Major reorg.  Not complete.
2440         * src/corba-sheet.c (fill_corba_value) : Adjust to changes in
2441           cellref_name signature.
2443         * src/commands.c (cmd_set_date_time_undo) : No need to manually call
2444           update_cell_flag.  cell_remove, and cell_set_text do that for us.
2445         (cmd_set_date_time_redo) : Ditto.
2446           Use StyleFormat.
2448         * src/clipboard.c (paste_cell) : Take the ExprRewriteInfo as an
2449           argument.
2450         (clipboard_paste_region) : Init the ExprRewriteInfo.  We need to do
2451           this here rather than in cell_relocate because we may be moving a
2452           region, not just a single cell, and references within the region
2453           should not be changed.
2455         * src/cell.c (cell_relocate) : Take the relocation info as an
2456           argument.  Non NULL indicates a request to check bounds.  We cannot
2457           do this at the cell level. because we may be moving a block rather
2458           than just a single cell, and references into the block should NOT be
2459           rewritten.
2460         (cell_set_text_and_value) : Take a StyleFormat.
2461         (cell_assign_value) : Ditto.
2462         (cell_set_value) : Ditto.
2463         (cell_set_expr_internal) : Ditto.
2464         (cell_set_expr_unsafe) : Ditto.
2465         (cell_set_expr) : Ditto.
2467         * src/auto-format.c (do_af_suggest) : Expression now refers directly
2468           to functionDef.
2470 2000-06-22  Miguel de Icaza  <miguel@helixcode.com>
2472         * src/sheet-object-item.c (sheet_object_item_new): Add OAF support
2473         here.
2475 2000-06-27  JP Rosevear  <jpr@arcavia.com>
2477         * src/functions/fn-lookup.c (find_index_bisection): Undo
2478         transposition of find_bound_walk parameters.
2480         * samples/excel/lookfuns2.xls: Add type mismatch tests.
2482 2000-06-27  Jukka-Pekka Iivonen  <iivonen@iki.fi>
2484         * src/functions/fn-stat.c (help_finv): Fixed copy-paste bug in
2485         documentation.
2487         * src/functions/fn-logical.c: Added TRUE() function since it is
2488         also a function in Excel.
2490         * TODO: Updated the status of the build-in functions.
2492 2000-06-26  Jody Goldberg <jgoldberg@home.com>
2494         * src/value.c (value_get_as_checked_bool) : Use g_return_val_if_fail
2495           rather than assert.  A log entry is better than a crash.
2497 2000-06-26  JP Rosevear  <jpr@arcavia.com>
2499         * src/value.c (value_get_as_checked_bool): New function that
2500         doesn't require an error variable - use only if confident that
2501         the value does actually exist.
2503         * src/value.h: Add new prototype.
2505         * src/functions/fn-lookup.c: Clean up cruft
2506         (find_type_valid): See if the value is a string or is gnumeric.
2507         (find_compare_type_valid): See if the types are comparable.
2508         (find_bound_walk): Walk an integer range first in one direction
2509         and then in the other direction.
2510         (find_index_linear): Do a linear search on a range or array.
2511         (find_index_bisection): Do a bisection search on a range or array
2512         that also follows excel rules for handling type mismatches
2513         during the search and finding the first and last item matching
2514         the search.
2515         (gnumeric_vlookup): Use new functions and implement undocumented
2516         excel behaviour.
2517         (gnumeric_hlookup): ditto
2518         (gnumeric_lookup): ditto
2519         (gnumeric_match): ditto
2521 2000-06-26  Morten Welinder  <terra@diku.dk>
2523         * src/format.c (lookup_color): Don't double translate.  Compare
2524         the right number of characters.
2526 2000-06-26  Michael Meeks  <michael@helixcode.com>
2528         * src/sheet-object-bonobo.c (get_file_name): return non-filenames
2529         as NULL.
2531 2000-06-26  Jukka-Pekka Iivonen  <iivonen@iki.fi>
2533         * src/functions/fn-financial.c: Implemented COUPDAYS for basis 0,
2534         2, 3, and 4 (basis 1 is still not implented).
2536 2000-06-23  Morten Welinder  <terra@diku.dk>
2538         * src/dialogs/dialog-analysis-tools.c (set_output_option_signals):
2539         Constify.
2540         (set_group_option_signals): Constify.
2541         (new_frame): Constify.
2542         (error_in_entry): Constify.
2543         (new_dialog): Constify.
2545         * src/analysis-tools.c: major cleanup.  Eliminate fixed-size
2546         buffers that might overflow; constify; plug leaks; improve
2547         precision; produce numbers without going through strings.
2548         (set_cell_float, set_cell_int, set_cell_na, set_cell_printf): New
2549         functions.
2551         * src/xml-io.c (xml_write_range): Constify.
2552         (xml_get_gnome_canvas_points): Mark code as bogus.
2553         (xml_set_gnome_canvas_points): Constify.  Improve space checks.
2554         (xml_set_value_int): Improve buffer sizing.
2555         (xml_set_value_string): Constify.
2556         (xml_set_color_value): Improve buffer sizing.
2558         * src/ranges.c (parse_range): Constify, simplify, optimise, and
2559         secure.
2560         (range_parse): Fix strict case.
2562         * src/parse-util.c (parse_cell_name_or_range): Remove bogus cast.
2564 2000-06-23  Jon K Hellan  <hellan@acm.org>
2566         (sheet_object_container_new_bonobo): As suggested by Michael:
2567         use the accessor function bonobo_client_site_get_embeddable to
2568         get the bound embeddable.
2570 2000-06-23  Karl Eichwalder  <ke@suse.de>
2572         * src/style.c (font_init): Add missing dot.
2574 2000-06-22  Jody Goldberg <jgoldberg@home.com>
2576         * src/item-edit.c (item_edit_draw_text) : Restore code that was
2577           deleted to handle a cursor on another line, or at the start of the
2578           line.
2580 2000-06-22  Jon K Hellan  <hellan@acm.org>
2582         * src/sheet-object-container.c
2583         (sheet_object_container_new_bonobo): Change
2584         BonoboClientSite->bound_object to bound_embeddable. This was
2585         just changed in Bonobo CVS.
2587 2000-06-21  Michael Meeks  <michael@helixcode.com>
2589         * src/embeddable-grid.c (embeddable_grid_init_anon): fix.
2591 2000-06-20  Morten Welinder  <terra@diku.dk>
2593         * src/commands.c (cmd_ins_del_row_col_undo): Leak and assertion
2594         fix from Jody's tree.
2596 2000-06-20  Jody Goldberg <jgoldberg@home.com>
2598         * src/commands.c (cmd_paste_cut_redo) : Plug leak.
2600         * src/number-match.c (format_match) : strings with only spaces are NOT
2601           numbers.
2603 2000-06-18  Jody Goldberg <jgoldberg@home.com>
2605         * Release 0.56
2607 2000-06-19  Jody Goldberg <jgoldberg@home.com>
2609         * src/eval.c (invalidate_refs) : const.
2610         (do_deps_destroy) : const.
2612         * src/cell.c (cell_set_expr_internal) : Be careful about unrefing.
2614         * src/item-edit.c (entry_event) : Rather than catching 'event' and
2615           checking for the type of event we want.  Catch the events directly.
2616           That way the events can take place BEFORE we look for our position.
2618         * src/workbook-edit.c (entry_changed) : The characters starting
2619           expressions are not alphabetic.  Don't bother testing them too.
2620         (workbook_start_editing_at_cursor) : Do not start autocompletetion
2621           if the content is not completable.
2623 2000-06-19  Morten Welinder  <terra@diku.dk>
2625         * src/sheet.c (sheet_get_extent_cb): Typo fix per Jody.  Hopefully
2626         cures all the save-as-XL95 problems.
2628 2000-06-18  Jody Goldberg <jgoldberg@home.com>
2630         * Release 0.55
2632 2000-06-18  Jody Goldberg <jgoldberg@home.com>
2634         * src/parser.y (build_array) : This is almost certainly broken in
2635           locales that use ',' as a decimal point.
2637         * src/xml-io.c (xml_probe) : xmlCreateFileParserCtxt will return NULL
2638           if the file was not readable.
2640 2000-06-17  Jody Goldberg <jgoldberg@home.com>
2642         * src/sheet.c (sheet_cell_set_text) : Does this change the selection
2643           or content of edit pos.
2644         (sheet_cell_remove) : Ditto.
2645         (sheet_destroy) : Remove irrelevant assignment.  sheet_deps_destroy
2646           does it for us.
2648 2000-06-15  Jody Goldberg <jgoldberg@home.com>
2650         * src/value-sheet.c (value_is_error) : No need for 'offset' parm.
2652         * src/number-match.c (format_match) : Parse TRUE/FALSE as this level.
2654         * src/value-sheet.c (constants_init) : TRUE/FALSE are not symbols.
2655           They are values.  A symbol only has value in an expression.
2656           A value operates at a lower level.  eg
2657         A1 : '=TRUE' will work as a value or a symbol
2658         A1 : 'TRUE' will only work as a value
2660 2000-06-15  Jody Goldberg <jgoldberg@home.com>
2662         * src/format.c (lookup_color) : Handle translated colours.
2664         * src/number-match.c (format_create_regexp) : Build the regexp
2665           ourselves.  The poor translators had no idea what the hell that was
2666           supposed to do.  The regexp is still way too general.
2667         (compute_value) : Use the locale.
2669         * src/expr.c (expr_tree_as_string) : Renamed from expr_decode_tree.
2670         (expr_tree_get_func_def) : new function.
2671         (expr_tree_first_func) : New function.
2673         * src/expr-name.c (expr_name_value) : Rename expr_decode_tree ->
2674           expr_tree_as_string.
2676         * src/style.c (font_init) : Improve error message to include the most
2677           probable location of the fontmap file.
2679         * src/sheet-view.c (sheet_view_size_allocate) : Disable jump to edit
2680           pos to avoid unintended jumping when a sheet is added.
2682         * src/func.c (function_def_count_args) : Correctly handle vararg
2683           functions that takes nodes.
2685 2000-06-15  JP Rosevear  <jpr@arcavia.com>
2687         * src/expr.c (eval_expr_real): Use new value_compare API
2689 2000-06-14  JP Rosevear  <jpr@arcavia.com>
2691         * src/value.h: Update value_compare prototype.
2693         * src/value.c (value_compare): Make it take a new case
2694         sensitive flag for string comparisons.
2696         * src/sort.c (sort_compare_cells): Use value_compare to do the
2697         comparisons.  Handle the special cases of blanks (always at
2698         bottom, whether asc or desc) and errors (after booleans).
2700 2000-06-14  Morten Welinder  <terra@diku.dk>
2702         * src/history.c (history_item_label): Change "_" to "-", fixing
2703         around 14183.
2705         * src/print.c (sheet_print): Complain when printing fails.
2707 2000-06-14  JP Rosevear  <jpr@arcavia.com>
2709         * samples/excel/sort.xls: Add sort sample.  Now we see that Excel
2710         sorts Errors after Booleans (for ascending order) and then by the
2711         name of the error.  Blanks are always at the bottom (asc and desc).
2713 2000-06-14  Jody Goldberg <jgoldberg@home.com>
2715         * src/workbook-format-toolbar.c (money_format) : Correct.
2716           (do_sheet_selection_apply_number_format) : Decrease hackishness and
2717           improve docs for the formats.
2719 2000-06-13  Jody Goldberg <jgoldberg@home.com>
2721         * src/functions/fn-math.c (callback_function_sumproduct) : Handle
2722           empty.
2723         (gnumeric_sumproduct) : Handle blank cells correctly, correct error
2724           handling slightly.
2726         * src/func.c (iterate_cellrange_callback) : Handle empty cells.
2727         (function_iterate_do_value) : Add a new argument to control the
2728           handling of empty cells.
2729         (function_iterate_argument_values) : Hard code the ignore_blanks
2730           argument to TRUE the same as the previous behavior.
2732 2000-06-13  Morten Welinder  <terra@diku.dk>
2734         * src/stf-parse.c (trim_spaces_inplace): New function.
2735         (stf_parse_fixed_cell): Don't trim spaces here.
2736         (stf_parse_fixed_line): Trim here.
2737         (stf_parse_csv_cell): Don't trim spaces here.
2738         (stf_parse_csv_line): Trim here.
2740 2000-06-13  Jody Goldberg <jgoldberg@home.com>
2742         * src/functions/fn-math.c (callback_function_sumif) : No need to
2743           malloc memory for an int.  Fix the logic to handle empty cells
2744           properly.
2746         * src/stf-parse.c (stf_parse_options_set_trim_spaces) : patch typo.
2748 2000-06-13  Jody Goldberg <jgoldberg@home.com>
2750         * src/workbook.c : Enable the formula guru, make WorkbookPrivate hold
2751           the BonoboObject in the ENABLED_BONOBO case.
2753         * src/workbook-edit.c (workbook_finish_editing) : Disconnect any gurus
2754           that may be up.
2755         (entry_changed) : Do not autocomplete expressions.  Gurus play havoc
2756           with this.
2757         (workbook_edit_auto_complete_init) : Delete unused.
2758         (workbook_get_entry_logical) : New function.
2759         (workbook_set_entry) : New function.
2760         (workbook_edit_attach_guru) : New function.
2761         (workbook_edit_detach_guru) : New function.
2762         (workbook_editing_expr) : When a guru is up we are always editing an
2763           expression. TODO, tune this.
2764         (workbook_edit_load_value) : Moved from Sheet, and renamed from
2765           sheet_load_cell_val.
2766         (workbook_edit_init) : Handle gurus.
2768         * src/sheet.c (sheet_destroy_cell_select_cursor) : Make clearing optional.
2770         * src/sheet-vector.c (sheet_vector_new) : The vectors are
2771           BonoboObjects, destroy them correctly.
2772         (sheet_vectors_shutdown) : Ditto.
2774         * src/sheet-object.c (sheet_set_mode_type_full) : Silence warning.
2775         (sheet_object_insert) : Renamed from sheet_insert_object and moved
2776           from sheet.c
2778         * src/pixmaps.h : Enable the Formula guru.
2780         * src/parser.y (arg_list) : Improve handling of empty arguments.
2782         * src/gnumeric-sheet.c (selection_remove_selection_string) : Use
2783           workbook_get_entry_logical.
2784         (selection_insert_selection_string) : Ditto.
2785         (start_cell_selection_at) : Ditto.
2786         (gnumeric_sheet_key_mode_sheet) : Ditto.
2788         * src/workbook-private.[ch] : Make this into a Bonobo Object for now.
2790         * src/embeddable-grid.c (embeddable_grid_init_anon) : Use
2791           workbook_new_with_sheets.
2792         (embeddable_grid_new) : WorkbookPrivate is temporarily the bonobo
2793           object.
2795         * src/history.c (history_menu_item_create) : Ditto.
2796         (history_menu_locate_separator) : Ditto.
2797         (history_menu_insert_separator) : Ditto.
2798         (history_menu_remove_items) : Ditto.
2800         * src/sheet-object-bonobo.c (sheet_object_bonobo_construct) : Ditto.
2801         * src/sheet-object-container.c (sheet_object_container_realize) : Ditto.
2803         * src/workbook-view.c (workbook_view_set_paste_special_state) : Ditto.
2804         (change_menu_label) : Ditto.
2806         * src/file.c (workbook_try_read) : Workbook is now always just a
2807           GtkObject.
2808         (workbook_import) : Ditto.
2810         * src/formats.c (cell_format_date) : Add some new formats.
2812         * src/format.c (find_decimal_char) : Restore constness.
2813         (format_remove_decimal) : Fix the const correctly.
2815         * src/commands.c (cmd_ins_del_row_col_redo) : Fix to use the new
2816           semantics.
2818 2000-06-12  Jody Goldberg <jgoldberg@home.com>
2820         * src/sheet-autofill.c (fill_item_destroy) : Free the format.
2821         (fill_item_new) : Handle filling by month and year.
2822         (autofill_compute_delta) : Ditto.
2823         (autofill_cell) : Ditto.
2825         * src/formats.c (cell_format_is_number) : currently handle the single
2826           character currencies.
2827         (cell_format_date) : year only formats.
2829 2000-06-10  Jody Goldberg <jgoldberg@home.com>
2831         * src/gnumeric-sheet.c (gnumeric_sheet_make_cell_visible) : Minor
2832           optimization.
2834 2000-06-13  Morten Welinder  <terra@diku.dk>
2836         * src/functions/fn-math.c (gnumeric_round): Round properly.
2838 2000-06-12  JP Rosevear  <jpr@arcavia.com>
2840         * src/workbook.c (sort_cmd): Adjust if the range to be sorted
2841         has a header.
2843         * NEWS: Update.
2845         * src/ranges.h: New prototype.
2847         * src/ranges.c (range_has_header): New function to determine if
2848         a region has a header row.
2850 2000-06-09  Jody Goldberg <jgoldberg@home.com>
2852         * src/item-cursor.c (item_cursor_update) : Change sheet -> sheet-view.
2853         (item_cursor_set_bounds) : Add a short circuit test and return TRUE
2854           if things changed.
2855         (item_cursor_selection_event) : Take a SheetView.
2856         (item_cursor_target_region_ok) : sheet -> sheet-view
2857         (item_cursor_do_action) : Ditto.
2858         (item_cursor_set_arg) : Ditto.
2859         (item_cursor_class_init) : Ditto.
2860         (item_cursor_set_bounds_visibly) : Make the cell visible before
2861           changing the bounds.
2862         (cb_move_cursor) : New function.
2863         (cb_autofill_scroll) : New function.
2864         (item_cursor_handle_motion) : New function.
2865         (item_cursor_drag_event) : Enable timer based scrolling.
2866         (item_cursor_autofill_event) : Ditto.
2868         * src/gnumeric-sheet.c (start_cell_selection_at) : item-cursor takes a
2869           sheet-view rather than a sheet.
2870         (gnumeric_sheet_new) : Ditto. Only update if the bounds changed.
2872         * src/item-edit.c : Take a SheetView rather than a Sheet.
2874         * src/sheet-view.c (sheet_view_start_sliding) : Return a flag
2875           indicating whether or not the timer has been triggered.
2877         * src/border.c (LineDotPattern) : Fixed const.
2879 2000-06-08  Jody Goldberg <jgoldberg@home.com>
2881         * src/gnumeric-sheet.c (gnumeric_sheet_compute_visible_ranges) :
2882           ok now I understand what those calls to
2883           gnome_canvas_get_scroll_offsets where supposed to do.
2885         * src/colrow.c (col_row_restore_sizes) : Arrgghh.  Stupid typo.
2886         (col_row_restore_sizes_group) : Patch leak.
2888         * src/workbook-edit.c (entry_changed) : Only autocomplete text that
2889           begins with an alphabetic
2891 2000-06-08  Jody Goldberg <jgoldberg@home.com>
2893         * src/sheet-view.c (sheet_view_{col,row}_selection_changed) :
2894           Do not make the edge visible, the scroll time will take care of
2895           that.
2896         (sheet_view_{col,row}_size_changed) : Use the new undo wrappers.
2897         (cb_colrow_resize) : Use the new undo wrappers.
2898         (sheet_view_init) : Init the scroll timers.
2899         (sheet_view_stop_sliding) : Based on the version from item_grid.
2900         (sheet_view_start_sliding) : Ditto.
2901         (sheet_view_sliding_callback) : Ditto.  Added callback support.
2902           tuned scroll parameters.
2904         * src/number.h : Clear out unused cruft.
2906         * src/item-grid.c : Move support for scroll timers into sheet-view.
2908         * src/item-bar.c (get_element_from_pixel) : Renamed from
2909           get_col_from_pos.
2910         (cb_extend_selection) : New function.
2911         (item_bar_event) : Use the sliding scroll mechanism in sheet_view.
2913         * src/item-cursor.c (item_cursor_selection_event) : Adapt to changes in
2914           item_grid_find_{col,row}.
2915         (item_cursor_drag_event) : Ditto.
2917         * src/sheet.c (sheet_foreach_colrow) : renamed and moved to.
2918         * src/colrow.c (col_row_foreach) here.
2920         * src/gnumeric-sheet.c (gnumeric_sheet_find_{col,row}) : Moved here
2921           and renamed from.
2922         * src/item-grid.c (item_grid_find_{col,row}) : here.
2924         * src/value.c (value_equal) : deleted.
2925         (value_compare) : Moved and renamed from
2926         * src/expr.c (compare) : here.
2927         (expr_dump_tree) : Delete replicated function.
2929         * src/colrow.c (col_row_size_list_destroy) :
2930         (col_row_index_list_destroy) : New function.
2931         (col_row_get_index_list) : New function.
2932         (col_row_set_sizes) : New function.
2933         (col_row_restore_sizes_group) : New function.
2935         (col_row_save_sizes) : Moved from sheet.c
2936         col_row_restore_sizes : Ditto.
2937         cb_set_row_height : Ditto.
2938         rows_height_update : Ditto.
2940         src/commands.c (cmd_resize_row_col*) : Implement.
2942 2000-06-08  Morten Welinder  <terra@diku.dk>
2944         * src/commands.c (cmd_sort_undo): Take advantage of
2945         sort_data_length and sort_permute_invert.
2946         (cmd_sort_destroy): leak fix.
2948         * src/sort.c (sort_data_length): Make public.
2949         (sort_permute_invert): New function.
2951 2000-06-08  Jon K Hellan  <hellan@acm.org>
2953         * src/workbook.c (change_displayed_zoom_cb): Set zoom using
2954         gtk_combo_text_set_text.
2955         (change_zoom_in_current_sheet_cb): Check that current sheet is non
2956         NULL.
2957         (workbook_zoom_feedback_set): Block callbacks while changing
2958         displayed zoom.
2960         * src/workbook-format-toolbar.c (workbook_create_format_toolbar):
2961         Drop the empty font name - that was needed in the option menu, but
2962         not now we're using a combo box.  Ignore nameless fonts in
2963         gnumeric_font_family_list. (We were displaying *two* blank lines
2964         at the top - now we've got rid of both.)
2965         (workbook_feedback_set): Set font size and font name using
2966         gtk_combo_text_set_text, which also selects the item in the combo
2967         list if present.  Get rid of hack to select font name in list -
2968         this is now done in the widget.
2969         (workbook_feedback_set):
2971         * src/sheet.c (sheet_set_zoom_factor): Check that sheet isn't NULL.
2973 2000-06-07  Morten Welinder  <terra@diku.dk>
2975         * src/sort.c (sort_contents): Use the C-library's qsort.
2976         Fix permutation.  Speed up things.
2978 2000-06-07  Jody Goldberg <jgoldberg@home.com>
2980         * src/format.c (format_number) : Escaped characters trigger a render
2981           too.  This code really needs to be rationalized.
2983 2000-06-07  Darin Adler  <darin@eazel.com>
2985         * src/history.c: (history_menu_item_create):
2986         Update name of call so it will compile with the latest Bonobo.
2988 2000-06-06  Miguel de Icaza  <miguel@helixcode.com>
2990         * src/commands.c (cmd_set_text): Update code.
2992         * src/workbook-edit.c (workbook_auto_complete_destroy): Simplify
2993         test here.
2995 2000-06-06  Jody Goldberg <jgoldberg@home.com>
2997         * src/workbook.c (workbook_delete_sheet) : Update the undo/redo
2998           toolbar and menus.
3000         * src/sort.c (sort_permute) : Avoid Leak.
3001         * src/commands.c (cmd_sort_destroy) : Avoid leak.
3002         (cmd_autofill) : Do not autofill if the target is the same as the
3003           source.
3005         * src/main.c (gnumeric_main) : Fix typo that was breaking minicons.
3007         * src/item-bar.c (item_bar_end_resize) : Always emit signal.
3008         (item_bar_event) : On double click emit a signal with newsize == -1 to
3009          indicate a need to autosize.
3011 2000-06-06  JP Rosevear  <jpr@arcavia.com>
3013         * src/sort.c (sort_position): Call sort_permute with the given
3014         permutation index
3015         (sort_contents): Call sort_qsort to get a permutation index and
3016         then use sort_permute to actually move the rows
3017         (sort_permute): Use copy and paste to move rows/cols around
3018         (sort_permute_next): Find next row/col the hasn't been set based
3019         on the permutation array
3020         (sort_permute_is_set): Find if a bit in a bit array is set
3021         (sort_permute_set): Set a bit in a bit array
3022         (sort_permute_find): Find a given number in a permutation array
3023         (sort_qsort): Produce a permutation index for sorting rows or cols
3024         (sort_swap): Swap two entries in the permutation index
3025         (sort_compare_sets): Compare two sets of cells
3026         (sort_compare_cells): Compare two cells
3027         (sort_data_destroy): Destroy SortData struct
3029         * src/commands.c (cmd_sort): Store the new sort data structure
3030         (cmd_sort_redo): Call sort_contents only if a permutation index
3031         does not already exist, otherwise use the index with sort_postion
3032         (cmd_sort_undo): Create an inverse of the permutation index
3033         if it doesn't already exit to call sort_positon with
3035         * src/commands.h: New cmd_sort prototype.
3037         * src/workbook.c (sort_cmd): Reflecting sorting API changes
3039 2000-06-05  Jody Goldberg <jgoldberg@home.com>
3041         * src/cell.c (cell_relocate) : when relocating the expression
3042           be careful to use the offsets when calculating the validity.
3044         * src/workbook-edit.c (workbook_auto_complete_destroy) : Only remove
3045           signal if it has been activated.  Only delete the completer if it
3046           exists.
3048 2000-06-05  Miguel de Icaza  <miguel@helixcode.com>
3050         * src/gnumeric-util.c (gtk_radio_button_select): Add
3051         precondition.  Chema found this, but we should add the proper
3052         check at an upper layer.
3054 2000-06-04  Miguel de Icaza  <miguel@helixcode.com>
3056         * src/gnumeric-util.c (gnumeric_entry_at_subexpr_boundary_p):
3057         Change prototype to use GtkEntry instead of GtkWidget.
3059         * src/workbook-edit.c (workbook_finish_editing): Changed direct access to
3060         workbook->private_entry to workbook_get_entry.
3061         (entry_changed): ditto.
3062         (workbook_start_editing_at_cursor): ditto.
3063         (workbook_editing_expr): ditto.
3064         (workbook_edit_get_display_text): ditto.
3066         * src/workbook.c (autosum_cmd): Changed direct access to
3067         workbook->private_entry to workbook_get_entry.
3068         (do_focus_sheet): ditto.
3069         (wb_edit_key_pressed): ditto.
3070         (workbook_setup_edit_area): ditto.
3072         * src/workbook.c (cb_autofunction): ditto.
3074         * src/workbook-private.h: Make edit_line a structure to keep track
3075         of the entry and its signal changed.  Also take a chance to change
3076         this to the self descriptive GtkEntry instead of GtkWidget.
3078         * src/commands.c (cmd_set_text): Added const here.
3080         * src/workbook.c (workbook_do_destroy): Add destroy notification
3081         for the editing facilities
3083         * src/item-edit.c (item_edit_set_arg): removed auto complete code
3084         from here.
3086 2000-06-03  Miguel de Icaza  <miguel@helixcode.com>
3088         * src/workbook-edit.c, src/workbook-edit.h: New files.  Moved
3089         workbook_start_editing_at_cursor, workbook_finish_editing,
3090         workbook_get_entry, workbook_editing_expr here.  Killed
3091         workbook_set_entry prototype.
3093         * src/workbook.c (workbook_start_editing_at_cursor): Moved
3094         autocomplete here.
3096         * src/workbook.h: Removed warning.  #include <config.h> is a
3097         mandatory header file in every C file.  A correct approach is to
3098         use something like Nautilus' perl script that verifies the
3099         presence of config.h as the first include.
3101         * src/workbook.c (close_cmd): Removed ulgy (void)
3102         (quit_cmd): More.
3103         (sheet_action_rename_sheet): more.
3104         (workbook_finish_editing): Fixed more ugly.
3106         * src/gutils.c (gnumeric_sys_glade_dir): Fixed ugly indentation.
3107         (gnumeric_usr_plugin_dir): More ugly stuff fixed.
3108         (gnumeric_usr_dir): Removed ugly const.
3110 2000-05-02  Miguel de Icaza  <miguel@helixcode.com>
3112         * src/item-edit.h: New ::entry member, auto_max_size, auto_complete_text
3114         * src/item-edit.c (item_edit_draw_text): Take an ItemEdit as a
3115         first argument, and reduce the cluttered arguments we were
3116         passing.
3117         (item_edit_draw): Cursor_pos is now only the position, it is not
3118         overloaded with show/hide cursor as well.
3119         (item_edit_draw_text): Update acoordingly.
3120         (item_edit_draw_cursor): This new routine paints the cursor only.
3121         (item_edit_set_arg): Add a new signal handler for "activated" on
3122         the entry
3123         (cb_item_edit_cursor_blink): Removed FIXME.
3124         (item_edit_set_arg): Init item_edit->entry.  I am pretty sure this
3125         existed in the past.
3127 2000-05-01  Miguel de Icaza  <miguel@helixcode.com>
3129         * src/item-edit.c (item_edit_draw): Pass auto-completing flag.
3130         (item_edit_draw_text): Invert auto-complete region.
3131         (item_edit_set_arg): Init auto_completing here.
3132         (item_edit_complete_notify): Set the entry from the
3133         auto-completing data here.
3135 2000-06-05  Jody Goldberg <jgoldberg@home.com>
3137         * src/sheet.c (sheet_cell_expr_{link,unlink}) : renamed from
3138           sheet_cell_formula_{link,unlink}.
3140         * src/cell.c (cell_relocate) : Doh! use the offset flags now that they
3141           are being passed.
3143         * src/clipboard.c (paste_cell) : Renamed from paste_cell_flags.
3145         * src/expr.c (compare) : value_is_empty_cell -> VALUE_IS_EMPTY.
3147         * src/value.c (VALUE_IS_EMPTY) : rename from value_is_empty_cell.
3149         * src/sheet-private.h : Add resize_scrollbar.
3151         * src/sheet.c (sheet_{col,row}_add) : Use resize_scrollbar flag rather
3152           than manually updating the scrolling bar.
3153         (sheet_update) : Handle resize_scrollbar.
3154         (sheet_cell_expr_link) : renamed from sheet_cell_formula_link.
3155         (sheet_cell_expr_unlink) : renamed from sheet_cell_formula_unlink.
3157 2000-06-04  Jody Goldberg <jgoldberg@home.com>
3159         * src/value.c (value_is_empty_cell) : str == "" is not empty
3161         * src/expr.c (compare) : comparisons between "" and empty are special.
3163 2000-06-04  Jody Goldberg <jgoldberg@home.com>
3165         * src/sheet.c (sheet_cell_add_to_hash) : Set the CELL_IN_SHEET_LIST
3166           flag.
3167         (sheet_cell_remove_from_hash) : Clear the CELL_IN_SHEET_LIST flag.
3168         (cb_remove_allcells) : Ditto.
3169         (sheet_cell_formula_link) : Set the CELL_IN_EXPR_LIST flag.
3170         (sheet_cell_formula_unlink) : Clear the CELL_IN_EXPR_LIST flag.
3171         (sheet_formulas_unlink) : Ditto.
3173         * src/clipboard.c (paste_cell_flags) : Take some additional arguments
3174           so that pasted cells can potentially have their references made
3175           invariant, this is for sorting.
3176         (clipboard_paste_region) : Pass the additional offsets when
3177           PASTE_EXPR_RELOCATE is specified.
3178         (append_cell_closure_t) : Delete this type.  Move the origin cell info
3179           into CellRegion.
3181         * src/cell.c (cell_copy) : Clear the sheet and associated flags for
3182           the copied cell.  This avoids accidentally realizing comments that
3183           become undeletable.
3184         (cell_relocate) : Remove the unlink flag now that we have the
3185           additional cell_flags.
3187 2000-06-02  Michael Meeks  <michael@helixcode.com>
3189         * Makefile.am (SUBDIRS): remove libole2. duh.
3191 2000-06-02  Jody Goldberg <jgoldberg@home.com>
3193         * src/selection.c (sheet_selection_reset) : Delete unused routine.
3194         (sheet_selection_to_list) : Ditto.
3196         * src/item-cursor.c (item_cursor_autofill_event) : Use new undoable
3197           version of autofill.
3199         * src/corba-sheet.c (Sheet_selection_reset) : Delete.
3201         * src/commands.c (cmd_area_set_text_undo) : We want to restore
3202           formulas, not values.
3203         (cmd_clear_selection) : Paste by value should be exclusive of paste by
3204           formula.
3205         (cmd_autofill_*) : New functions.
3207         * idl/Gnumeric.idl : Remove useless function selection_reset.
3209         * src/number-match.c (format_match) : Handle numbers larger than
3210           LONG_{MAX,MIN} by falling through to double.
3212         * src/sheet.c (sheet_recompute_spans_for_col) : Use closure.
3214 2000-06-01  Jody Goldberg <jgoldberg@home.com>
3216         * src/xml-io.c (xml_sheet_write) : Adjust to changes in
3217           sheet_foreach_colrow.
3219         * src/sheet.c (sheet_foreach_colrow) : Adjust signature.
3220         (colrow_compute_pixels_from_pts) : Adjust to changes in sheet_foreach_colrow.
3221         (sheet_set_zoom_factor) : Ditto.
3222         (cb_recalc_spans_in_col) : Ditto.
3223         (sheet_recompute_spans_for_col) : Ditto.
3224         (cb_colrow_compute_pixels_from_pts) : New function wrapper.
3225         (sheet_find_boundary_{horizontal,vertical}) : Fix case of being on the
3226           last non-blank element of a col/row and jumping to the far edge.
3227         (sheet_move_range) : Redraw prior to moving incase the src region
3228           contains a span.
3230         (sheet_redraw_cell_region) : Be more intelligent about skipping over
3231           large empty regions.
3232         (sheet_cell_foreach_range) : Ditto.
3234         (cb_check_array_{horizontal,vertical}) : new functions.
3235         (sheet_range_splits_array) : Rewrite to be use sheet_foreach_colrow.
3237         * src/selection.c (sheet_selection_cut) : Adjust to changes in
3238           sheet_range_splits_array.
3240         * src/commands.c (cmd_paste_cut_undo) : Select the src range when
3241           undoing a cut.  This seems like a nice effect.
3243         * src/colrow.c (cb_set_row_height) : Adjust to the changes in
3244           sheet_foreach_colrow.
3246         * src/auto-format.c (auto_format_suggest) : Make static.
3248         * src/gnumeric-util.c (gnumeric_wb_dialog_run) : Silence warning.
3250 2000-06-02  Jon K Hellan  <hellan@acm.org>
3252         * src/gnumeric-util.c (gnumeric_wb_dialog_run): Do not set parent
3253         if parent is already the right one. This avoids unwanted moving of
3254         already displayed dialogs.
3256         * src/about.c: Make sure it is only popped up once
3257         (cb_closed): New callback to remove dialog from workbook window's
3258         object data.
3259         (dialog_about): Check if dialog exists as object data on workbook
3260         window. If so, raise dialog window instead of creating a new one.
3261         Otherwise store dialog as object data, and connect signal handler
3262         for "close".  Replace calls to gnome_dialog_set_parent,
3263         gnome_dialog_set_close and gtk_widget_show with a call to
3264         gnumeric_dialog_show which does it all.
3266 2000-05-30  Michael Meeks  <michael@helixcode.com>
3268         * src/Makefile.am (gnumeric_libs): kill libole2 hack.
3270         * configure.in: kill CONFIG_SUBDIRS for libole2.
3272 2000-05-31  Almer. S. Tigelaar.  <almer1@dds.nl>
3274         * src/dialogs/dialog-stf.c :
3275         (stf_dialog_druid_page_cancel) : Remove misplaced gtk_main_quit.
3277         * src/dialogs/dialog-stf-export.c :
3278         (stf_export_dialog_druid_page_cancel) : Idem.
3280 2000-06-01  Kenneth Christiansen <kenneth@gnu.org>
3282         * po/desk.pl, po/update.pl: Two new scripts for helping
3283         translation/i18n maintainance of Gnumeric
3285         * po/README.tools: Added readme file, which explains the
3286         use of the newly checked in po tools.
3288         * NEWS: Added notice about this
3290         Please go read.
3292 2000-05-31  Jody Goldberg <jgoldberg@home.com>
3294         * configure.in : Improve naming for libxml messages.
3296         * src/functions/fn-information.c (gnumeric_countblank) : Fix typo
3297           reported by <matasmi@iki.fi> Bug 12428.
3299         * src/sheet.c (sheet_move_range) : invalidate destination before
3300           adjusting src to point to dst.
3301         (cmd_paste_cut_*) : keep a list of displaced content, not just the
3302           lost bits of the destination range, but also the portions of the src
3303           that are out of range.
3305 2000-05-31  Jody Goldberg <jgoldberg@home.com>
3307         * src/commands.c (cmd_ins_del_row_col_destroy) : Fix leak.
3308         (cmd_paste_cut_*) : We do need to worry about invalidations.  Any
3309           references to the portions of the destination region that do not
3310           overlap the src region get invalidated.
3312         * src/ranges.c (range_translate) : Adjust the semantics so that the
3313           result warns of a range that was translated completly out of bounds.
3315         * src/sheet.c (sheet_move_range) : Invalidate the references to the
3316           portions of the destination range that do NOT overlap with the src.
3317         (sheet_shift_{cols,rows}) : Rename and move to..
3318         * src/cmd-edit.c (cmd_shift_{cols,rows}) : here.  Use cmd_paste_cut
3319           instead of sheet_move_range directly.
3321         * src/dialogs/dialog-{insert,delete}.c : Switch to cmd_shift_{cols,rows}.
3323         * src/history.c (history_menu_insert_separator) : Add a more detailed
3324           explaination when the history lookup fails.
3326 2000-05-30  Morten Welinder  <terra@diku.dk>
3328         * src/format.c (find_decimal_char): Remove over-constification.
3329         (format_remove_decimal): Terminate the copy properly.
3331 2000-05-30  Jon K Hellan  <hellan@acm.org>
3333         * src/dialogs/dialog-printer-setup.c (enum MarginOrientation): Add
3334         MARGIN_NONE for use with set_horizontal/vertical_bounds.
3335         (spin_button_set_bound): New function. Allow the value in spin
3336         button to increase by at most space_to_grow.
3337         (get_printable_width): New function. Return page width minus
3338         margins in specified unit.
3339         (get_printable_height): New function. Return page height minus
3340         margins, header and footer in specified unit.
3341         (set_horizontal_bounds): New function. Set the upper bounds for
3342         left and right margins.
3343         (set_vertical_bounds): New function. Set the upper bounds for
3344         top/bottom margins, headers and footers.
3345         (draw_margin): Add default branch to silence warning - MARGIN_NONE
3346         now exists.
3347         (canvas_update): Update bounds for margins when paper size has
3348         changed.
3349         (spin_button_adapt_to_unit): New function. Select suitable
3350         increments and number of digits for the unit.
3351         (do_convert): Call function above.
3352         (unit_changed): Update bounds for margins when a margin has
3353         changed.
3354         (unit_editor_configure): Call spin_button_adapt_to_unit.
3356 2000-05-29  Jody Goldberg <jgoldberg@home.com>
3358         * src/commands.c (cmd_ins_del_row_col_undo) : Bounds are inclusive.
3360 2000-05-29  Jody Goldberg <jgoldberg@home.com>
3362         * src/item-grid.c (create_popup_menu) : translate the menu labels.
3364 2000-05-27  Michael Meeks  <michael@helixcode.com>
3366         * src/sheet-object-bonobo.c (sheet_object_bonobo_load),
3367         (sheet_object_bonobo_load_from_file): update for new PersistStream API.
3369         * configure.in (gnumeric_executable): check for bonobo 0.14
3371 2000-05-29  Jody Goldberg <jgoldberg@home.com>
3373         * src/expr.c (cellrange_relocate) : Only relocate a range if both
3374           elements need relocation.
3376 2000-05-29  Jody Goldberg <jgoldberg@home.com>
3378         * src/xml-io.c (xml_workbook_write) : Arrrggh.  textdomain seems to
3379           use a static buffer.  We need to strdup the result.  A more thorough
3380           reading of the docs suggests that changing the textdomain is
3381           completely wrong.  It is not doing what I had originally thought at
3382           all.  Any idea what the correct solution would be ?  I'll patch this
3383           for now because 12461 is serious, and this does solve the problem,
3384           even if the solution is crap.
3386 2000-05-29  ERDI Gergo  <cactus@cactus.rulez.org>
3388         * src/commands.c: Including dialogs/dialog-autocorrect.h (warning fix)
3390         * src/workbook.c (workbook_create_standard_toobar): Turn off the
3391         button reliefs on the toolbar
3393 2000-05-28  ERDI Gergo  <cactus@cactus.rulez.org>
3395         * src/workbook.c: Create and insert GtkComboStacks into the
3396         toolbar for Undo/Redols
3398         * src/commands.c: Use the new undo/redo stack methods
3400         * src/workbook-view.[ch]: Several new methods to modify the user interface
3401         to the undo/redo stack
3403 2000-05-28  Jody Goldberg <jgoldberg@home.com>
3405         * src/commands.c (cmd_paste_copy_undo) : The first time through we
3406           transpose.  After that we are just replace the old content.  no
3407           transpose needed.
3409 2000-05-28  Jody Goldberg <jgoldberg@home.com>
3411         * src/commands.c (cmd_paste_copy_undo) : handle paste errors.
3412         (cmd_paste_copy_destroy) : do not release unless we are permitted to.
3413         (cmd_paste_copy) : When pasting a transpose we are more lenient about
3414           resizing things.  I am not sure I agree with this behavior.
3416         * src/clipboard.c (clipboard_paste_region) : Return a boolean
3417           indicating success or failure.
3419 2000-05-27  Jody Goldberg <jgoldberg@home.com>
3421         * src/clipboard.c (clipboard_paste_region) : Off by one error.
3423 2000-05-27  Jody Goldberg <jgoldberg@home.com>
3425         * src/sheet.c (sheet_update) : When recalulating all spans, we may
3426           need to render some cells too.
3427         (sheet_move_range) : Do not call sheet_update here.
3428         (sheet_shift_rows) : Call it here.
3429         (sheet_shift_cols) : and here.
3431         * src/commands.c (cmd_paste_cut_undo) : Do a recalc.
3432         (cmd_paste_cut_redo) : No need to force a status range update, move
3433           already did that.
3435         * src/cmd-edit.c (cmd_paste) : typo.
3437         * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Chift/Ctrl
3438           space are not active while editing.
3440         * src/workbook.c (function_druid) : Disable until this works better.
3442         * src/commands.c (cmd_paste_copy_undo) : Mark the sheet as dirt, and
3443           do a recalc.
3445         * src/clipboard.c (clipboard_paste_region) : flag the need to
3446           potentially update the status range.
3448 2000-05-27  Jody Goldberg <jgoldberg@home.com>
3450         * src/clipboard.c (x_selection_received) : Do not try to paste if the
3451           conversion was canceled.
3452         (clipboard_paste_region) : Respan/rerender as necessary after pasting.
3454 2000-05-27  Jody Goldberg <jgoldberg@home.com>
3456         * src/commands.c (cmd_paste_copy) : Move the handling of singletons
3457           and the setting of the selection here.
3458         * src/clipboard.c (clipboard_paste_region) : From here.
3460         * src/cmd-edit.c (cmd_paste_to_selection) : Remove incorrect
3461           precondition.
3463 2000-05-27  Valek Filippov  <frob@df.ru>
3465         * src/functions/fn-math.c, fn-stat.c, fn-lookup.c: typos in
3466         description fixed.
3468 2000-05-27  Almer. S. Tigelaar.  <almer1@dds.nl>
3470         * src/dialogs/stf-parse.c:
3471         (stf_parse_options_set_trim_spaces): New function.
3472         (stf_parse_csv_cell): Modified so it can trim spaces in
3473         several ways
3474         (stf_parse_fixed_cell): Ditto.
3475         (stf_parse_get_longest_row_width) : Fixed small bug which
3476         caused incorrect width to be returned.
3478         * src/dialogs/dialog-stf.glade:
3479         Added trim spaces option and did some general polishing.
3481         * src/dialogs/dialog-stf.h:
3482         Added new member to DruidPageData_t which indicates weather
3483         the user wants to trim spaces and in which way.
3485         * src/dialogs/dialog-stf-main-page.c:
3486         (stf_dialog_main_page_init): Modified so it loads the trim optionmenu.
3487         (main_page_trim_menu_deactivate): New.
3489         * src/dialogs/dialog-stf-csv-page.c:
3490         (stf_dialog_csv_page_prepare): Now sets the trim member of the parse
3491         options struct.
3493         * src/dialogs/dialog-stf-fixed-page.c:
3494         (stf_dialog_fixed_page_prepare): Now sets the trim member of the
3495         parse options struct.
3496         (stf_dialog_fixed_page_prepare): Did not honor the from/to line
3497         settings.
3498         (fixed_page_remove_clicked): Added gnumeric_clist_moveto to make
3499         selection visible.
3500         (fixed_page_add_clicked): Ditto.
3502         * src/dialogs/dialog-stf-format-page.c:
3503         (format_page_canvas_button_press_event): Modified to use
3504         gnumeric_clist_moveto
3505         (format_page_collist_select_row): Ditto.
3506         (format_page_format_changed): Ditto.
3507         (stf_dialog_format_page_prepare): Ditto.
3509         * src/gnumeric-util.c, src/gnumeric-util.h:
3510         (gnumeric_option_menu_get_selected_index): New function, Returns
3511         the selected index of a GtkOptionMenu. (Originally from
3512         dialog-stf-export-format-page.c)
3514         * src/dialogs/dialog-stf-export-format-page.c:
3515         (stf_export_dialog_option_menu_index): Removed.
3516         (sheet_page_separator_menu_deactivate): Modified to use the new
3517         gnumeric_option_menu_get_selected_index.
3518         (stf_export_dialog_format_page_result): Ditto.
3520         * doc/stf-parser.txt:
3521         Update documentation.
3523 2000-05-26  Jody Goldberg <jgoldberg@home.com>
3525         * src/clipboard.c (clipboard_paste_region) : Fix typo, and thinko.
3527 2000-05-26  Jody Goldberg <jgoldberg@home.com>
3529         * src/selection.c (selection_is_simple) : Use a command context.
3530         (sheet_selection_paste) : Delete.
3532         * src/plugin.c : rename error_plugin_problem -> error_plugin.
3534         * src/item-grid.c (context_paste_cmd) : Use cmd_paste_to_selection.
3535         (context_paste_special_cmd) : Ditto.
3537         * src/gnumeric-sheet.c : remove cached 'controlling_entry' in
3538           preparation for the function druid.
3540         * src/corba-sheet.c : Delete Sheet_selection_paste.
3541           this will need to be replaced with a new signature.
3543         * src/item-cursor.c (item_cursor_do_action) : Use new cmd_paste.
3545         * src/commands.c (cmd_area_set_text_{undo,redo}) : Use new
3546           clipboard_paste_region.
3547         (cmd_ins_del_row_col_{undo,redo}) : Ditto.
3548         (cmd_clear_{undo,redo}) : Ditto.
3549         (cmd_set_date_time_{undo,redo}) : Ditto.
3550         (cmd_paste_cut_*) : new functions.
3552         * src/command-context*.c : Add progress, remove splits_array.
3554         * src/cmd-edit.c (cmd_paste) : New function.
3555         (cmd_paste_to_selection) : New function.
3557         * src/clipboard.c : Reorganize/rewrite.
3558         (clipboard_paste_region) : paste content.
3559         (clipboard_paste) : paste content from clipboard or X selection.
3560         (paste_target_init) : New function.
3561         (sheet_paste_selection) : merge into clipboard_paste_region.
3563         * src/application.c (application_clipboard_copy) : rename
3564           clipboard_copy_cell_range -> clipboard_copy_range.
3566         * idl/Gnumeric.idl : Merge InvalidValue, SplitsArray -> InvalidCmd.
3568         * src/workbook.c (workbook_setup_status_area) : Include a progress bar.
3570         * src/sheet.c (sheet_update) : SPANCALC_NO_DRAW exists now.
3572 2000-05-26  Michael Meeks  <michael@helixcode.com>
3574         * src/sheet.c (sheet_update): corrent SPANCALC_NO_DRAW to
3575         SPANCALC_RESIZE since the former does not exist.
3577 2000-05-26  ERDI Gergo  <cactus@cactus.rulez.org>
3579         * src/dialogs/dialog-printer-setup.c (unit_editor_configure):
3580         Hilight the currently edited margin
3582 2000-05-25  Jody Goldberg <jgoldberg@home.com>
3584         * src/sheet.c (sheet_update) : Only redraw forech cell if we will not
3585           be redrawing everything later.
3586         (sheet_{insert,del}_{cols,row}) : Mark the need to recompute spans on
3587           next update.
3589         * src/print.c (print_{headers, footers}) : Headers and footers are
3590           offset from the edge of the page by their own margins.  MS appears
3591           to assume the order is edge -> header -> top.
3593 2000-05-26  ERDI Gergo  <cactus@cactus.rulez.org>
3595         * src/dialogs/dialog-printer-setup.c (draw_margin): Draw
3596         header/footer space correctly (computed in accordance to the
3597         top/bottom margins)
3599 2000-05-25  ERDI Gergo  <cactus@cactus.rulez.org>
3601         * src/dialogs/dialog-printer-setup.c: The small page icon reflects
3602         the actual margin values
3604 2000-05-25  Valek Filippov  <frob@df.ru>
3606         * src/dialog/print.glade.h: insert /* xgettext: no-c-format */
3608 2000-05-25  Jon K Hellan  <hellan@acm.org>
3610         * src/dialogs/dialog-printer-setup.c: Add an option menu for
3611         selecting units to the margin page.  Read entire dialog from guile
3612         file rather than just reading contents and reparenting into a new
3613         GnomeDialog.
3614         (dialog_print_info_t): Add conversion_listeners list.
3615         (convert_to_{pt|mm|cm|in): These are no longer called directly as
3616         callbacks, so the unused widget parameter has been removed.
3617         (listeners_convert): New callback function invoked when a new unit
3618         has been selected. Receives a conversion function as callback data
3619         and invokes it on all the registered conversion listeners.
3620         (add_unit): Add dpi parameter. Remove data parameter. Connect
3621         listeners_convert.
3622         (unit_editor_new): Rename to unit_editor_configure. Connect target
3623         to existing spinbutton in glade dialog. Add dialog_print_info and
3624         spin button name parameter. Replace PrintUnit parameter with
3625         points and units. Use unit parameter instead of hardcoded
3626         centimeters. Register unit editor as a conversion listener. Make
3627         <Ret> in spin buttons invoke "OK". Remove deactivated code to
3628         display a unit selector for each margin.
3629         (tattach): Remove.
3630         (do_setup_margin): Use the top margin unit for display and ignore
3631         desired display for the others. Configure unit selector option
3632         menu. Call unit_editor_configure for each margin - previously
3633         unit_editor_new was called via tattach. Pack preview canvas in
3634         container instead of explicitly in table. Thus, the code no longer
3635         contains table coordinates, and the glade file can safely be
3636         changed.
3637         (do_setup_page): Make <Ret> in spin buttons and combo invoke "OK".
3638         (do_setup_main_dialog): Remove dialog reparenting hack -
3639         GnomeDialogs are now fully supported in Glade. Remove explicit
3640         focusing - now done in Glade file.
3641         (dialog_print_info_destroy): Free conversion listeners.
3642         (do_setup_page_info): Make <Ret> in entry fields and combo invoke
3643         "OK".
3645         * src/dialogs/print.glade(.h?): Turn into a complete GnomeDialog.
3646         Set consistent internal border in notebook pages. Rename rightmost
3647         page from "page" (used for two pages) to "sheet".
3648         (page page): Give meaningful name to first page number combo. Make
3649         it insensitive.
3650         (margin page): Add an option menu for units. Include spin buttons
3651         in glade file. Tweak layout.
3652         (sheet page): Give meaningful names to print area entry and
3653         comments combo. Make them insensitive.
3655         * src/dialogs/cell-format.glade: Add focus target to
3656         format_symbol_label to make Number/Currency/S_ymbol accelerator
3657         work.
3659         * src/dialogs/autocorrect-exceptions.glade: Add internal border to
3660         notebook pages.
3662         * src/dialogs/workbook-attr.glade: Add internal border to notebook
3663         pages and frames.
3665         * src/dialogs/dialog-workbook-attr.c (attr_dialog_impl): Set
3666         dialog title.
3668 2000-05-24  Morten Welinder  <terra@diku.dk>
3670         * src/main.c (gnumeric_main): Style now needs to be initialised
3671         before formats.
3673         * src/number-match.c (format_match): Take a StyleFormat ** instead
3674         of a char ** for the suggested format.  All callers changed.
3675         (format_parse_t): rename member format to format_str and
3676         introduce new member format, a StyleFormat *.
3677         (format_match_define): Get a style at this point.
3679         * src/datetime.c (datetime_value_to_serial_raw): Don't supply a
3680         format return variable to format_match since we aren't interested
3681         in the result.
3683         * src/parse-util.c (parse_text_value_or_expr): Return a
3684         StyleFormat * instead of a char *.  All callers changed.
3686         * src/expr.c (expr_parse_string): Take a StyleFormat ** instead of
3687         a char ** for the suggested format.  All callers changed.
3689         * src/parser.y (make_string_return): Turn parser_desired_format
3690         into a StyleFormat **.
3691         (gnumeric_expr_parser): Take a StyleFormat ** instead of a char **
3692         for the suggested format.  All callers changed.
3694         * src/auto-format.c (auto_style_format_suggest): New function.
3697         * src/sheet-style.c (sheet_style_optimize): Include adjacent
3698         ranges in the list of styles to consider.  Handle intervening
3699         styles better.  Don't stop searching for matching pairs just
3700         because we merge -- only when the merge kills the slave.
3702         * src/ranges.c (range_dump): Don't print "\n".  All callers
3703         changed as needed.
3705         * src/sheet-style.c (sheet_style_optimize, sheet_styles_dump):
3706         Send all debugging output to stderr.  (As opposed to half stderr
3707         and half stdout.)
3709 2000-05-24  Jody Goldberg <jgoldberg@home.com>
3711         * src/file.c (workbook_import) : set the import dialog's parent widget
3712           to be the PARENT workbook, not the new unrealized workbook.
3714         * src/cell.c (cell_set_expr_internal) : Actually assign the format
3715           after we ref it.
3716         (cell_get_format) : Cells with format 'General' may appear to have
3717           a format via autoformat or via the text that was entered.
3719 2000-05-21  Jody Goldberg <jgoldberg@home.com>
3721         * src/cmd-edit.[ch] : New files.
3723         * src/workbook.c (cb_edit_select_*) : Use the cmd-edit utilities.
3724         Make a 'select' sub menu of edit.
3726         * src/sheet.c : Use the newly added CellPos in each Cell rather than
3727           mallocing a separate struct.
3729         * src/selection.c (sheet_select_all) : Move.
3731         * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Make the
3732           selection commands accelerators.
3734 2000-05-21  Jon K Hellan  <hellan@acm.org>
3736         * src/gnumeric-util.[ch] (gnumeric_toolbar_insert_with_eventbox):
3737         (gnumeric_toolbar_append_with_eventbox): New functions. Pack
3738         widget in eventbox and add eventbox to toolbar. This lets a
3739         windowless widget (e.g. combo box) have tooltips.
3741         * src/workbook-format-toolbar.c (workbook_create_format_toolbar):
3742         Enable tooltips for combo boxes. We do this by using
3743         gnumeric_toolbar_{insert|append}_with_eventbox instead of
3744         gtk_toolbar_{insert|append}_widget.
3746         * src/workbook.c (workbook_create_standard_toobar): Ditto
3748 2000-05-21  Jon K Hellan  <hellan@acm.org>
3750         * src/dialogs/dialog-zoom.glade: Remove label from invisible
3751         column title.
3753         * src/dialogs/plugin-manager.glade(.h?): Add accelerators to
3754         notebook tabs.
3756         * src/dialogs/autocorrect-exceptions.glade(.h?): Add accelerators to
3757         buttons on notebook pages.
3759         * src/dialogs/workbook-attr.glade(.h?): Ditto.
3761 2000-05-17  Jody Goldberg <jgoldberg@home.com>
3763         * src/clipboard.c (clipboard_copy_cell_range) : Adjust signature to
3764           take a range.
3765         (sheet_paste_selection) : Export in preparation for adding undo.
3767         * src/commands.c (cmd_paste_copy) : Some initial work.  Not used or
3768           complete.
3770         * src/parse-util.c (parse_text_value_or_expr) : Start passing in the
3771           current format so that we can eventually attempt to match it before
3772           trying all the others.
3774         * src/sheet.c (sheet_formulas_unlink) : New function.
3775         (sheet_destroy_contents) : Optimize.
3777         * src/dialogs/dialog-plugin-manager.c : Make a bit prettier.
3778         * src/dialogs/plugin-manager.glade : Ditto.
3780 2000-05-16  Jody Goldberg <jgoldberg@home.com>
3782         * plugins/*/*.c : Rationalize the naming scheme.
3784 2000-05-15  Jody Goldberg <jgoldberg@home.com>
3786         * src/eval.[ch] : Rename
3787           cell_queue_recalc      -> eval_queue_cell
3788           cell_queue_recalc_list -> eval_queue_list
3789           cell_unqueue_recalc    -> eval_unqueue_cell
3790         (eval_unqueue_sheet) : New function.
3792         * src/sheet.c (sheet_cell_remove_simple) : Add precautionary removal
3793           of cells from recalc list.  We should not need this in most
3794           instances, but the check is inexpensive so I'll play it safe.
3795         (sheet_destroy_contents) : Batch cleanups rather than doing it cell by
3796           cell.
3798         * src/cell.c (cell_make_value) : Fill in the implementation.
3800         * src/clipboard.c (paste_cell_flags) : Remove some dead code.
3801           Merged in paste_cell and fixed handling of paste by value.
3803 2000-05-14  Jody Goldberg <jgoldberg@home.com>
3805         * src/clipboard.c (paste_cell) : No need to call cell_content_changed
3806           we can queue the recalc for the entire region later.  It is
3807           sufficent to make the cell as changed with sheet_cell_changed.
3808         (paste_cell) : It is premature to redraw, we have no yet calculated
3809           spans.  Redraw and respan at the range level, not the cell.
3811 2000-05-20  Jody Goldberg <jgoldberg@home.com>
3813         * Release 0.54
3815 2000-05-20  Jody Goldberg <jgoldberg@home.com>
3817         * src/print-cell.c (print_cell_range) : Don't draw background if we
3818           are just sizing things.
3820         * configure.in : Bump reqs.  libglade >= .13, gnome-print .20
3822         * src/workbook-format-toolbar.c (change_selection_font) : Add strikethrough.
3823         ({bold,italic,underline}_cmd) : Handle accelerators too.
3825         * src/cellspan.c (cell_calc_span) : Do not overlap spans when using
3826           center across selection.
3828         * src/application.c (application_set_selected_sheet) : We still need
3829           to partially clear the clipboard when short circuiting.
3831         * src/item-grid.c (item_grid_draw) : Do not draw the contents of
3832           hidden spanning rows/cols.
3833         * src/print-cell.c (print_cell_range) : Ditto.
3835         * src/colrow.c (cb_row_col_visibility) : Be careful not to compare
3836           TRUE for equality.
3838         * src/cell.c (cell_copy) : Ref the format if one exists.
3839         (cell_set_format) : Apply the format to a NEW style, not the current
3840            style which may be say .... the DEFAULT!!!
3842         * src/sheet.c (sheet_update) : Update cursor positions when visibility
3843           changes.
3844         (sheet_clear_region) : When clearing formats we need to update the
3845           spans and sizes of the contents.
3846         (sheet_update_cursor_pos) : New function.
3847         (sheet_row_col_visible) : changing the status of a row/col changes visibility.
3848         (sheet_update_cursor_pos) : warning suppression.
3849         (sheet_row_col_visible) : Be careful not to compare TRUE for equality.
3850         (sheet_clear_region) : respan both sides of a singleton row/col.
3851           Check for cells to either side even if there is no span,  if we are
3852           directly adjacent to a cell it would have no span even if it wanted
3853           one.
3855         * src/sheet-view.c (sheet_view_update_cursor_pos) : New function split
3856           out from sheet_view_set_zoom_factor.
3857         (sheet_view_set_zoom_factor) : Use sheet_view_update_cursor_pos.
3859         * src/colrow.c (cb_set_row_height) : Only set the height if it
3860           changed.
3862         * src/application.c (application_set_selected_sheet) : No need to
3863           clear the X selection if we already own it.
3865         * src/commands.c (cmd_format_undo) : It is necessary to respan, resize
3866           things when some format elements change.
3868         * src/sheet-style.c (sheet_range_apply_style) : Changing the word
3869           wrapping changes the size, changing the underline or strikethrough
3870           does not.
3871         (required_updates_for_style) : Split out from sheet_range_apply_style.
3872         (sheet_style_attach_list) : Track the types of updates required.
3874 2000-05-18  Jody Goldberg <jgoldberg@home.com>
3876         * src/xml-io.c (xml_workbook_read) : Set the textdomain as well as the
3877           LC_NUMERIC so that things like TRUE/FALSE do not get translated
3878           while persisting.
3879         (xml_workbook_write) : Ditto.
3881         * src/sheet-style.c (sheet_style_optimize) : We cannot merge (in any
3882           dimension) if there is an intervening style that partially overlaps.
3884         * src/ranges.c (range_adjacent) : Tweak to increase readability,
3885           and delete dead code.
3887         * src/sheet-object.c (sheet_button_press) : Minor patch so that
3888           objects begin with a non zero size.  This needs to be reworked into
3889           a more general technique so that a 0 sized object is not possible in
3890           instances when that should be disabled.
3892         * src/print-cell.c (print_cell) : Correct double negative that was
3893           breaking printing for cells with multiple lines that were bottom
3894           or center aligned.
3896         * src/normal-args.c : Adjust includes to remove warning.
3898 2000-05-18  Michael Meeks  <michael@helixcode.com>
3900         * configure.in: Bump required GB version.
3902 2000-05-16  Michael Meeks  <michael@helixcode.com>
3904         * configure.in: Kill libole2 path check, add CONFIG_SUBDIRS
3905         (EXTRA_GNOME_*): remove libole2.
3907 2000-05-17  Jody Goldberg <jgoldberg@home.com>
3909         * src/summary.c (summary_item_as_text) : Be careful to strdup all strings.
3910         (g_str_case_equal) : Delete duplicate.
3911         (g_str_case_hash) : Delete duplicate.
3912         (summary_info_new) : Use gnumeric_strcase_hash & gnumeric_strcase_equal.
3914         * src/workbook-cmd-format.c (workbook_cmd_format_{column,row}_auto_fit) :
3915           Only mark the sheet as dirty if something was changed.
3917         * src/stf.c (stf_read_workbook) :  Bring up to date.
3919         * src/xml-io.c (xml_write_attributes) : Do not use freed memory.
3920         (xml_workbook_write) : Free the args.
3922         * src/item-bar.c (item_bar_event) : Autosizing an empty row/col
3923           returns 0.
3925         * configure.in : Update required version of bonobo to 0.13.
3926         * README : Ditto.
3928         * src/cell-draw.c (cell_draw) : Cache the vertical alignment, and
3929           ensure that verticaly justified lines do not overlap.
3930         * src/print-cell.c (print_cell) : Ditto.
3932         * src/sheet-object.c (sheet_set_mode_type_full) : Add a prototype to
3933           avoid warnings.
3935         * src/sheet-object.c (create_object) : Ugly workaround for bug 9984.
3936           Ensure that objects do not start with size 0,0.
3938         * src/workbook.c (workbook_expr_relocate) : Add missing
3939           initialization.
3941         * src/file.c (file_finish_load) : New function to finish loading after
3942           a read or import.
3943         (workbook_read) : Use here.
3944         (workbook_import) : And here.
3946         * src/sheet.c (sheet_get_extent) : Disable the use of
3947           sheet_style_get_extent until it is more intelligent.
3948         (sheet_{insert,delete}_{cols,rows}) : Flag that the range content has
3949           changed so that the status areas will be updated.
3950         (sheet_{col,row}_size_fit_pixels) : Return 0 if there are no cells.
3952         * configure.in : Produce a Using OAF message in the non-bonobo case
3953           too.  Limit xml to version 1.x for now.
3955         * src/cell.c (cell_set_text_and_value) : Set the entered_text BEFORE
3956           the value so that cells with format = text render correctly.
3958 2000-05-16  Jody Goldberg <jgoldberg@home.com>
3960         * src/sheet-autofill.c (autofill_cell) : Init the RewriteInfo::type.
3962         * src/clipboard.c (paste_cell) : Cells need acurate locations before
3963           relocation.  This is not pretty, but it is functional.
3965 2000-05-16  Karl Eichwalder  <ke@suse.de>
3967         * NEWS (Translations): Add gl.
3969 2000-05-16  Karl Eichwalder  <ke@suse.de>
3971         * gnumeric.spec.in: Use %{version}, %{name} and %{sysconfdir} more
3972         consistently. Avoid long lines.
3974 2000-05-15  Jesus Bravo Alvarez  <jba@pobox.com>
3976         * configure.in: Added gl (Galician) to ALL_LINGUAS
3977         * gnumeric.desktop.in: Added Galician translation
3979 2000-05-15  Jody Goldberg <jgoldberg@home.com>
3981         * src/functions/fn-math.c (gnumeric_floor) : Add some examples for
3982           negatives.
3984 2000-05-15  Karl Eichwalder  <ke@suse.de>
3986         * NEWS (Translations): Add de, no, and sv.
3988 2000-05-14  Jody Goldberg <jgoldberg@home.com>
3990         * src/commands.h : Reformat.
3992         * src/commands.c (cmd_ins_del_row_col_{undo,redo}) : unant the
3993           selection when the topology changes.
3995         * src/workbook.c (workbook_expr_relocate) : Fix typo.
3997         * src/sheet-view.c (sheet_view_{col,row}_selection_changed) : Call
3998           sheet_update after a change.
4000 2000-05-11  Michael Meeks  <michael@helixcode.com>
4002         * src/embeddable-grid.c (grid_view_activate): grab widget focus.
4004         * src/workbook-format-toolbar.c (workbook_feedback_set): make it
4005         cope with no format toolbar.
4007         * src/workbook.c (workbook_init): g_new0 for safety and to blank
4008         edit_line.
4010         * src/embeddable-grid.c (grid_view_new): set a sensible default
4011         size so we actually see something. (grid_view_activate): Fix with
4012         state boolean. (set_header_visibility): implement.
4013         (embeddable_grid_set_header_visibility): update.
4014         (grid_view_destroy): kill. (grid_view_new): kill evil private list
4015         of views.
4017         * gnumeric.oafinfo: another fix, evil bug from oaf conversion script.
4019 2000-05-11  Jon K Hellan  <hellan@acm.org>
4021         * src/workbook.c (workbook_rename_sheet): Don't make "Duplicate
4022         sheet name" message if sheet name did not change.
4024 2000-05-11  Michael Meeks  <michael@helixcode.com>
4026         * src/Makefile.am (gnumeric_libs): kill libole2 libs kludge.
4028 2000-05-10  Michael Meeks  <michael@helixcode.com>
4030         * configure.in: Add check for libole2 and add to gnome-config.
4032 2000-05-10  Karl Eichwalder  <ke@suse.de>
4034         * Makefile.am: Typo.
4036 2000-05-10  Jody Goldberg <jgoldberg@home.com>
4038         * src/workbook-format-toolbar.c (workbook_format_toolbar) : Add
4039           accelerators for Bold, Underline, and Italic.
4040         (workbook_create_format_toolbar) : Pass accel_group.
4042         * src/workbook.c (workbook_create_standard_toobar) : Pass the
4043           acceleration group to the toolbar.
4045 2000-05-10  Jon K Hellan  <hellan@acm.org>
4047         * src/dialogs/dialog-analysis-tools.c (dialog_data_analysis):
4048         Use gnumeric_clist_moveto to ensure that selected tool is visible.
4050         * src/dialogs/dialog-function-select.c (category_list_fill):
4051         s/current sheet/selected category/
4052         (function_list_fill): s/category/function/
4054         * src/dialogs/dialog-zoom.c (dialog_zoom_impl):
4055         s/selected function/current sheet/
4057         * src/dialogs/dialog-cell-format.c (fmt_dialog_init_format_page):
4058         Use gnumeric_clist_make_selection_visible to ensure that list rows
4059         are visible.
4061         * src/dialogs/dialog-sheet-order.c (dialog_sheet_order_impl):
4062         s/list rows/current sheet/
4064         * src/gnumeric-util.c (clist_moveto): New helper function scroll
4065         list so that row becomes visible.
4066         (cb_clist_moveto): New callback function:
4067         Disconnect callback and use clist_moveto to make row visible.
4069         * src/gnumeric-util.[ch] (gnumeric_clist_moveto): New public
4070         function: Make given row visible in list - immediately if mapped,
4071         otherwise by attaching a signal handler.
4072         (gnumeric_clist_make_selection_visible): New public function: Make
4073         first selected row visible in list.
4075 2000-05-10  Jon K Hellan  <hellan@acm.org>
4077         * src/func.c (tokenized_help_find): This segfaulted if no help was
4078         available. The test for no help failed because of
4079         signedness. Fixed it.
4081 2000-05-10  Michael Meeks  <michael@helixcode.com>
4083         * gnumeric.oafinfo: fix borked magic sodding UUID's which suck.
4085         * src/corba-workbook-factory.c (_WorkbookFactory_init): update
4086         for oaf, but only the IID.
4088         * src/embeddable-grid.c (EmbeddableGridFactory_init): update
4089         for oaf. (embeddable_grid_factory): add failure warning.
4091         * Makefile.am: Install oafinfo.
4093 2000-05-10  Jacob Berkman  <jacob@helixcode.com>
4095         * configure.in (use_wm_icons): check for using window icons
4097         * src/main.c (gnumeric_main): use an icon if available in
4098         gnome-libs
4100         * src/Makefile.am (INCLUDES): add a -D for the icon dir
4102 2000-05-10  Karl Eichwalder  <ke@suse.de>
4104         * src/dialogs/cell-format.glade: Typo.
4106 2000-05-09  Jody Goldberg <jgoldberg@home.com>
4108         * Release 0.53
4110 2000-05-09  Morten Welinder  <terra@diku.dk>
4112         * src/auto-format.c (do_af_suggest): Test right pointer for NULL.
4114 2000-05-09  Jody Goldberg <jgoldberg@home.com>
4116         * configure.in : Tweak to produce a semi reasonable gnumericConf.sh
4117           remove gnumeric-config.
4118         * Makefile.am : ditto.
4119         * gnumericConf.sh : ditto.
4121         * src/sort.c (sort_range) : Use sheet_cell_remove_simple.
4123         * src/cell.c (cell_set_expr_internal) : Restore static.
4125         * src/commands.c (cmd_set_date_time_{undo,redo}) : Mark the changed cell for
4126           status update.
4127         (cmd_sort_destroy) : Leaks.
4129         * src/Makefile.am (INCLUDES) : Remove extra '/' at end.
4131         * src/workbook.c (insert_current_time_cmd) : fix cut-n-paste-o.
4133 2000-05-09  Valek Filippov  <frob@df.ru>
4135         * src/functions/fn-financial.c: changed "NUM!" to "#NUM!".
4136         * src/functions/fn-logical.c: changed "'#VALUE!'" to "#VALUE!".
4138 2000-05-09  Jody Goldberg <jgoldberg@home.com>
4140         * src/xml-io.c (xml_probe) : Check versioning in descending order.
4141         (gnumeric_xml_read_workbook) : Add check for v3.
4143 2000-05-09  Valek Filippov  <frob@df.ru>
4145         * src/dialogs/cell-format.glade.h: inserted /* xgettext:no-c-format */
4146           before "%" strings.
4148 2000-05-08  Jody Goldberg <jgoldberg@home.com>
4150         * src/cell.c (cell_set_value) : When guessing what the entered text
4151           was for a supplied string value prepend a \' to ensure that the
4152           value stays a string, and so that blank cells work better.
4154         * src/sheet.c (sheet_cell_calc_span) : redraw the bounding range when
4155           interupting spans.
4156         (sheet_clear_region) : Respan ranges that were interupted by the
4157           cleared region.
4158         (sheet_cell_remove_simple) : rename from sheet_cell_remove_internal and
4159           export.
4161 2000-05-08  Jon K Hellan  <hellan@acm.org>
4163         * src/file.c (cb_select): New callback: Make double click on list
4164         in import filter chooser works like "OK".
4165         (workbook_import): Back when we first started using glade, we used
4166         a hack to avoid flicker when popping up the filter chooser. We now
4167         know how to do it right, and remove the hack.
4168         (workbook_import): Connect callback to handle double click.
4169         (workbook_import): Fix bug: return value from import would clobber
4170         return value from dialog_run. We now close dialog after retrieving
4171         selection, but before importing.  We really should keep the dialog
4172         up until user either succeeds with import or explicitly
4173         cancels. But we let that wait. This behaviour should be
4174         implemented in a lot of places in a coordinated way.
4175         (workbook_import): Do not destroy workbook after WM close - it is
4176         already destroyed.
4178 2000-05-08  Morten Welinder  <terra@diku.dk>
4180         * configure.in (gnome-print): Survive version "0.19cvs".
4181         * *: include <config.h>
4183 2000-05-08  Jody Goldberg <jgoldberg@home.com>
4185         * configure.in : Disable the perl plugin
4186           Disable the plan perfect plugin
4187           Disable the gdb plugin.
4188         These are not ready for prime time.
4190         * src/selection.c (sheet_selection_extend_to) : Call sheet_update
4191           so that selection changes via mouse movement will update the status
4192           areas.
4193         (sheet_selection_set) : Call sheet_flag_selection_change.
4195         * src/sheet.c (sheet_flag_selection_change) : New function to
4196           flag that sheet_update should recalc the autoexpressions.
4198 2000-05-07  Jody Goldberg <jgoldberg@home.com>
4200         * README : Update to require new gnome-print.
4201         * gnumeric.spec.in : Ditto.
4203 2000-05-08  Jon K Hellan  <hellan@acm.org>
4205         This change was committed a week ago, but I forgot the changelog:
4207         * src/dialogs/dialog-goto-cell.c (cb_row_selected): Make double
4208         click on list work like "OK".
4210         * src/dialogs/dialog-goto-cell.c (dialog_goto_cell): Remove
4211         buttons which do not do anything yet.
4213 2000-05-07  Jon K Hellan  <hellan@acm.org>
4215         * src/workbook.c (yield_focus): New callback: Give up focus when
4216         widget is destroyed. This gets rid of a warning when import is
4217         canceled.
4218         (workbook_attach_sheet): Connect callback.
4219         (workbook_set_focus): Do nothing if focus target argument is NULL.
4221 2000-05-07  Jody Goldberg <jgoldberg@home.com>
4223         * src/xml-io.c (xml_workbook_write) : Bump the xml version to v3.
4224         (xml_probe) : Handle v[123].
4226 2000-05-07  Jon K Hellan  <hellan@acm.org>
4228         * src/dialogs/Makefile.am: dialog-printer.[ch] have been
4229         superseded by gnome-print dialogs. Remove.
4231         * src/print.c (sheet_print): Make print button default. Add
4232         accelerators.
4234         * configure.in: Depend on gnome-print >= 0.19
4236 2000-05-07  Jody Goldberg <jgoldberg@home.com>
4238         * src/sheet-style.c (sheet_style_attach) : disable cache trash avoidance code.
4239           None of the sample xls were loading.
4241         * src/workbook.c (workbook_do_destroy) : Empty the formula list before
4242           the cell contents so that we can avoid searching the lists for each
4243           cell.  This is a big time savings on exit.
4245         * src/sheet.c (sheet_cell_calc_span) : Size the content if
4246           it has not yet been sized.
4248         * src/commands.c (cmd_area_set_text_redo) : Do not queue the
4249           resize, rerender, and respan until after the recalc.
4251 2000-05-06  Jody Goldberg <jgoldberg@home.com>
4253         * src/main.c (gnumeric_main) : Re-disable the style tests.
4255         * src/cell.c (cell_set_expr_unsafe) : Split from cell_set_expr.
4257         * src/eval.c (invalidate_refs) : Use cell_set_expr_unsafe.
4259 2000-05-06  Almer. S. Tigelaar.  <almer1@dds.nl>
4261         * src/stf-parse.c (stf_parse_is_valid_data) : Add
4262         the form feed character (\f) as valid text character.
4263         (stf_parse_convert_to_unix) : In addition to CRLF and CR,
4264         remove form feeds (\f) from data.
4266         * src/stf.c (stf_read_workbook) : Add a workbook_recalc just
4267         to be sure.
4269 2000-05-06  Michael Meeks  <michael@helixcode.com>
4271         * src/eval.c (handle_cell_range_deps): Add 3D dependency support.
4272         (cb_single_hash_to_list, cb_range_hash_to_list): Re-arrange handling of
4273         where the list is collated. (do_deps_destroy): update.
4274         (cell_drop_dependencies): remove cretinism here.
4275         (drop_cell_range_dep, handle_cell_single_dep): return on NULL deps structure.
4277         * src/sheet-style.c (sheet_style_attach): enable cache trash avoidance code.
4279         * src/sheet.c (sheet_cell_remove_internal): short circuit for NULL
4280         deps.
4282         * src/expr.c (expr_rewrite): update to handle workbook case.
4284         * src/eval.c (workbook_deps_destroy): update for speed.
4285         (sheet_deps_destroy): split body into (do_deps_destroy): here.
4287         * src/workbook.c (workbook_delete_sheet): destroy the sheet's
4288         dependencies here as well; very silly. (workbook_do_destroy): destroy
4289         deps of all sheets up front.
4291 2000-05-06  Jody Goldberg <jgoldberg@home.com>
4293         * src/sheet.c (sheet_set_zoom_factor) : Depending on the order of
4294           initialization we may also need to render some unrendered values.
4296         * src/parse-util.c (parse_text_value_or_expr) : Be sure the clear the
4297           expr if we are returning a value.
4299 2000-05-05  Jody Goldberg <jgoldberg@home.com>
4301         * src/sheet.c (sheet_set_zoom_factor) : Need to recalc cell
4302           sizes when zooming changes.
4304         * src/functions/fn-math.c (gnumeric_countif) :
4305             Make code match comment.  We can safely ignore blanks.
4306         (gnumeric_sumif) : Code was correct.  Add a larger comment explaining
4307           rationale.
4308         (gnumeric_sumx2my2) : Code was wrong.  We cannot skip blank cells
4309           if there are multiple ranges that need to be kept in sync.
4310         (gnumeric_sumx2py2) : Ditto.
4311         (gnumeric_sumxmy2) : Ditto.
4313 2000-05-05  Tuomas Kuosmanen  <tigert@tigert.gimp.org>
4315         * src/pixmaps/function_selector.xpm: Made the ()'s a bit higher
4316         to make the f(x) more clear.
4318 2000-05-05  Michael Meeks  <michael@helixcode.com>
4320         * src/eval.c (cell_drop_dependencies): silence checks for sheet->deps.
4322         * src/workbook.c (workbook_expr_relocate): update for expr_rewrite.
4324         * src/sheet-autofill.c (autofill_cell): update for expr_rewrite.
4326         * src/sheet.c (sheet_destroy): use sheet_deps_destroy and hoist above
4327         destroy_contents.
4329         * src/cell.c (cell_relocate): update for expr_rewrite.
4331         * src/eval.c (dependancy_data_destroy): rename to (sheet_deps_destroy),
4332         (invalidate_refs): re-write. (dependency_single_destroy, dependency_range_destroy):
4333         implement for non-intersheet deps. (workbook_deps_destroy): implement.
4335         * src/expr.c (expr_relocate): renamed to (expr_rewrite): update,
4336         add sheet re-writing. Fix serious bug with OPER_CONSTANT drop through
4337         to OPER_ARRAY. (cellrange_relocate): split out. (cellref_relocate):
4338         update for structure pos.
4340         * src/expr.h: create ExprRewriteInfo.
4342         * src/gnumeric.h: add ExprRewriteInfo.
4344         * src/sheet-object-container.c (sheet_object_container_realize): fix
4345         no brainer bug stopping menu's merging.
4347 2000-05-04  Michael Meeks  <michael@helixcode.com>
4349         * src/sheet-style.c (sheet_style_delete_colrow): don't shrink.
4350         sheet sized ranges. (sheet_style_compute): add precondition for
4351         Norberts.
4353         * src/workbook.c (workbook_new_with_sheets): kill ' ' in
4354         sheet names.
4356         * corba-test/test-gnumeric-corba.c (do_test): ditto.
4358 2000-05-04  Jody Goldberg <jgoldberg@home.com>
4360         * src/workbook.c : Fix typo that was calling undo for redo toolbar.
4361         ({redo,undo}_cmd) : Use workbook_finish_editing directly.
4362         (cb_auto{function,sum}) : If we are already editing do not start.
4363           When the wizard is in place bring it up.
4364         (workbook_start_editing_at_cursor) : Make the '=' insensitive while
4365           editing.
4366         (workbook_finish_editing) : Make the '=' sensitive.
4367         (sheet_action_delete_sheet) : Fix typo and rename parm
4368           'current_sheet' -> 'sheet' to avoid confision with
4369           workbook->current_sheet.
4370         (workbook_close_if_user_permits) : Documented, and use gboolean.
4371         (workbook_delete_event) : No need to invert the return value.
4372         (workbook_new) : connect to the 'delete_event' using
4373           gtk_signal_connect_after so that we can influence the result.
4374         (workbook_delete_sheet) : NULL the undo, redo lists after they are
4375           cleared.
4376         (workbook_do_destroy) : Ditto.
4378 2000-05-04  Almer. S. Tigelaar.  <almer1@dds.nl>
4380         * src/rendered-value.c :
4381         (rendered_value_calc_size) : Check if
4382         cell->rendered_value is NULL. To avoid
4383         segfaulting.
4385 2000-05-04  Almer. S. Tigelaar.  <almer1@dds.nl>
4387         * doc/stf-export.txt :
4388         Added stf-exporter documentation
4390 2000-05-04  Almer. S. Tigelaar.  <almer1@dds.nl>
4392         * src/gnumeric-util.[ch] :
4393         (gnumeric_combo_enters) : New, makes dialogs
4394         close when enter is pressed inside a gtkcombo.
4396         * src/dialogs/dialog-stf.c :
4397         (stf_dialog_editables_enter) : Modified to use
4398         the above function for combo boxes.
4400         * src/dialogs/dialog-stf-export.c :
4401         (stf_export_dialog_editables_enter) : Modified to
4402         use the above function for combo boxes.
4404 2000-05-03  Jody Goldberg <jgoldberg@home.com>
4406         * src/command-context.c (gnumeric_error_invalid) : new function.
4407         * src/command-context-gui.c (ccg_error_invalid) : Handle.
4408         * src/command-context-corba.c (ccc_error_invalid) : Handle.
4410         * src/commands.c (cmd_rename_sheet_{undo,redo}) : Pass a context to
4411           workbook_rename_sheet.
4413         * src/workbook.c (workbook_rename_sheet) : Sheet names cannot be
4414           empty.  Take a CommandContext and report the error.  Invert the
4415           return value.
4417         * src/format.c (pre_parse_format) : Fix old typo that was causing
4418           bug 10001 by breaking AM/PM.
4420         * src/cell.c (cell_set_array_formula) : Add some invariants to catch
4421           inverted arrays.  The function should use the supplier's
4422           reference.  It should not re-reference the supplied expression.
4423           Document this.
4425 2000-05-03  Morten Welinder  <terra@diku.dk>
4427         * autogen.sh (libtool): Add version check.
4429 2000-05-03  Jody Goldberg <jgoldberg@home.com>
4431         * EvalPosition -> EvalPos
4432           ParsePosition -> ParsePos
4433           new struct RangeRef used in ValueRange
4435           eval_pos_init* -> position.[ch]
4436           parse_pos_init*
4437           cell_ref_{get,make}*
4439         * src/workbook.c : Reorder the toolbar a bit.
4440         (workbook_foreach_cell_in_range) : New function.
4441         (cb_autofunction) : New routine.
4442         (workbook_set_auto_expr) : DO NOT put real code into pre/post
4443           conditions.  It will be removed when debugging is eventually
4444           disabled.
4446         * src/position.c (range_ref_normalize) : New function.
4448         * src/ranges.c (range_normalize) : New function.
4450         * src/expr.c (expr_implicit_intersection) : Use range_ref_normalize.
4452         * src/eval.c (cell_eval_content) : No need to release the value.
4453           cell_assign_value already does that.
4454         (dependency_range_ctor) : Use range_normalize.
4456         * src/auto-format.c (do_af_suggest) : Use workbook_foreach_cell_in_range.
4458         * src/cell.c (cell_set_expr_and_value) : link the new expression but
4459           do not queue it for recalc.
4460         (cell_assign_value) : Release the old value.
4461         (cell_copy) : Init the value to empty.
4463         * src/func.c (function_iterate_do_value) : Use
4464           workbook_foreach_cell_in_range.
4466         * src/dialogs/dialog-function-wizard.c (create_description) : Use
4467           a label rather than a text entry widget.  It looks better.
4469         * src/functions/fn-string.c (gnumeric_expression) : range is already
4470           absolute.
4472         * src/functions/fn-stat.c (gnumeric_linest) : Handle inverted ranges.
4473         (gnumeric_logest) : Ditto.
4475         * src/functions/fn-information.c (gnumeric_countblank) : Use
4476         workbook_foreach_cell_in_range.
4477         (gnumeric_{row,column}) : Handle inversions.
4479         * src/functions/fn-lookup.c (gnumeric_offset) : No need to make
4480           absolute.  The marshaller already did that.
4482 2000-05-02  Jody Goldberg <jgoldberg@home.com>
4484         * src/eval.c (dependency_range_ctor) : normalize the range.
4486         * src/xml-io.c (xml_write_cell_and_position) : Suppress warning.
4488         * src/pixmaps.h : Add function wizard and equal sign.
4490 2000-05-03  Michael Meeks  <michael@helixcode.com>
4492         * doc/Dependencies.txt: update to reflect changes.
4494         * src/eval.c: comment and const mending.
4495         (handle_cell_range_deps): prune no inter-sheet singletons code,
4496         it is a sluggish anachronism. (handle_cell_single_dep): setup
4497         the correct sheet to enter data into.
4499         * src/eval.h: expunge redundant commenting, re-order,
4500         const kill.
4502 2000-05-03  Almer. S. Tigelaar.  <almer1@dds.nl>
4504         * *.c: s/strcasecmp/g_strcasecmp/
4506 2000-05-02  Almer. S. Tigelaar.  <almer1@dds.nl>
4508         * src/file.c (workbook_import) : We called gtk_widget_destroy
4509         _after_ gnome_dialog_close. This causes a weird "invalid cast"
4510         message each time something was successfully imported.
4512 2000-05-01  Michael Meeks  <michael@helixcode.com>
4514         * src/corba-args.c (gnumeric_arg_parse): fixup popt for oaf.
4516 2000-05-01  Jody Goldberg <jgoldberg@home.com>
4518         * src/expr.c (expr_tree_shared) : New function.
4520         * src/xml-io.c (gnumeric_xml_write_selection_clipboard) : Init and
4521           destroy the expression hash.
4522         (gnumeric_xml_read_selection_clipboard) : Ditto.
4523         (gnumeric_xml_read_workbook) : Ditto.
4524         (gnumeric_xml_write_workbook) : Ditto.
4525         (xml_write_cell_and_position) : When saving cells that have expression
4526           assign and store an ID for shared expressions.
4527         (xml_read_cell) : Use the ID to restore shared expressions.
4529 2000-05-01  Jody Goldberg <jgoldberg@home.com>
4531         * ExprName -> NamedExpression
4532           ArrayRef -> ExprArray
4534         change ExprTree to be a union of similar types and split
4535         the elements into discrete types.
4536             ExprConstant
4537             ExprFunction
4538             ExprUnary
4539             ExprBinary
4540             ExprName
4541             ExprVar
4542             ExprArray
4544             expr->oper -> expr->any.oper
4546 2000-04-29  Jody Goldberg <jgoldberg@home.com>
4548         * src/value.c (value_new_empty) : Don't allocate any memory.
4549         (value_release) : Don't free any either.
4551         * src/sheet-style.c (border_check) : Init outer_style to remove a
4552           warning.
4554 2000-05-01  Jon K Hellan  <hellan@acm.org>
4556         * src/dialogs/dialog-analysis-tools.c (selection_made): Popup tool
4557         and dismiss chooser on double click.
4559         * src/dialogs/col-width.glade: Add title
4560         * src/dialogs/import.glade: Ditto
4561         * src/dialogs/row-height.glade: Ditto
4562         * src/dialogs/sheet-rename.glade: Ditto
4563         * src/dialogs/summary.glade: Ditto
4565         * src/dialogs/analysis-tools.glade (All dialogs): Add padding
4566         between input and output frames.
4567         (TTest1 dialog, TTest2 dialog, TTest3 dialog, Anova2 dialog,
4568         MovingAverage dialog): Remove spaces from label string.
4569         (Anova1 dialog, Correlation dialog, Covariance dialog,
4570         RankAndPercentile dialog): Use table in input frame. Get rid of
4571         frame around "Grouped by". Use alignment and fill instead of
4572         spaces to place label strings. Minor output options tweaks.
4573         (MovingAverage dialog): Place all user widgets inside the same
4574         vbox to make padding uniform.
4576 2000-05-01  Michael Meeks  <michael@helixcode.com>
4578         * configure.in: Handle oafinfo.in
4580         * src/sheet-object.c (sheet_set_mode_type_full): oafize.
4582         * src/sheet-object-container.c (sheet_object_container_new_from_goadid):
4583         ditto.
4585         * src/sheet.c (sheet_insert_object): always launch via.
4586         bonobo_object_activate regardless of monikers.
4588         * idl/Gnumeric.idl: add a comment telling people to look elsewhere if
4589         they want to write bonobo components.
4591         * src/workbook.c (insert_object_cmd): update for oaf.
4593         * src/main.c (gnumeric_main): Check for NULL ctx, on corba failure.
4595         * src/corba-args.c (gnumeric_arg_parse): NULL ctx.
4597         * src/corba-workbook-factory.c (_WorkbookFactory_init): update to
4598         use od_server_register.
4599         (WorkbookFactory_create_object): use Bonobo_stringlist not GNOME_stringlist,
4600         when was this last compiled ...
4602         * src/corba-args.c (gnumeric_arg_parse): update for OAF.
4604         * acconfig.h: USING_OAF
4606         * configure.in: ditto.
4608 2000-05-01  Michael Meeks  <michael@helixcode.com>
4610         * HACKING: make it more explicit.
4612 2000-05-01  Morten Welinder  <terra@diku.dk>
4614         * src/main.c (has_gnumeric_been_compiled_with_guile_support): Fix
4615         prototype.
4617         * src/gutils.c (gnumeric_usr_plugin_dir, gnumeric_sys_plugin_dir,
4618         gnumeric_sys_glade_dir): fix prototype.  (C isn't C++.)
4620         * src/complete.c (complete_destroy): Static.
4622         * src/regression.c: Inlcude <string.h> for memset.
4624 2000-05-01  Almer. S. Tigelaar.  <almer1@dds.nl>
4626         * configure.in:
4627         Export GNUMERIC_VERSION
4629         * acconfig.h:
4630         Undefine GNUMERIC_VERSION
4632         * */Makefile.am:
4633         Removed -DGNUMERIC_VERSION, now located in config.h
4635         * src/functions/Makefile.am, src/dialogs/Makefile.am :
4636         VERSION changed to gnumeric_version.
4638         * plugins/excel/libole2/Makefile.am, plugins/guile/Makefile.am :
4639         ditto
4641         * plugins/perl/Makefile.am :
4642         ditto
4644 2000-04-30  Miguel de Icaza  <miguel@helixcode.com>
4646         * src/workbook.c (workbook_new_with_sheets): Put a space there, to
4647         avoid having "Sheet 1" and then "Sheet1" in the same workbook.
4649 2000-04-29  Miguel de Icaza  <miguel@helixcode.com>
4651         * src/application.c (application_init): Oops.
4653 2000-04-29  Jody Goldberg <jgoldberg@home.com>
4655         * * : Convert 'Value' into a union of real types and allocate each
4656           separately.
4658         * src/dialogs/dialog-printer-setup.c (do_print_preview_cb) :
4659           Suppress warning.
4661 2000-04-29  Almer. S. Tigelaar.  <almer1@dds.nl>
4663         * src/dialogs/dialog-stf-preview.c :
4664         (stf_preview_merge_with-hash) : Remove warning
4665         message, because empty lines also render to NULL
4667 2000-04-29  Michael Meeks  <michael@helixcode.com>
4669         * src/sheet-style.c (sheet_mstyle_compute_from_list): kill inline.
4670         (border_check): make outer style calcs mostly conditional on do_outer.
4672 2000-04-29  Almer. S. Tigelaar.  <almer1@dds.nl>
4674         * src/stf-export.[ch] : New,
4675         low-level stf-export code.
4677         * src/dialogs/dialog-stf-export.glade : New,
4678         stf export dialog.
4680         * src/dialogs/dialog-stf-export.glade.h : New,
4681         stf export dialog strings.
4683         * src/dialogs/dialog-stf-export.[ch] : New,
4684         top-level controlling code for the stf export dialog.
4686         * src/dialogs/dialog-stf-export-private.h : New,
4687         private declarations for the stf exporter.
4689         * src/dialogs/dialog-stf-export-format-page.c : New,
4690         controlling code for the format page of the stf export dialog
4692         * src/dialogs/dialog-stf-export-sheet-page.c : New,
4693         controlling code for the sheet page of the stf export dialog
4695         * src/Makefile.am : Updated to include new files
4697         * src/stf.c : Now also provides export for csv files
4698         using the new stf export dialog
4700         * src/dialogs/Makefile.am : Updated to include new files
4702 2000-04-29  Jody Goldberg <jgoldberg@home.com>
4704         * src/parser.y : Make the sheet_sep, and range_sep conditional
4705           so that I can use the parser for applix too.
4707         * src/workbook.c (workbook_unref) : encapsulate workbook_unref.
4709         * src/application.c (application_init) : Do not save the value if it
4710           is not there.  Fix typo.
4712         * src/mstyle.c (mstyle_unref) : If the default style is released
4713           clear the cached pointer.  This can happen if the first workbook
4714           loaded fails.
4716 2000-04-28  Miguel de Icaza  <miguel@helixcode.com>
4718         * src/complete.c (complete_idle): Removed debugging messages
4720         * src/item-edit.c (entry_changed): Update here.
4722         * src/application.c (application_init): Load auto-complete state
4723         here.
4724         (application_use_auto_complete_set): accesor function.
4725         (application_use_auto_complete_get): ditto.
4727 2000-04-28  Jody Goldberg <jgoldberg@home.com>
4729         * src/complete.c (complete_start) : Do not install an idle handler if
4730           one has already been installed for this object.
4732 2000-04-27  Miguel de Icaza  <miguel@helixcode.com>
4734         * src/dialogs/dialog-printer-setup.c (do_print_preview_cb): Close
4735         the dialog if the user selects preview.  Not optimal but better
4736         than the two possible choices.
4738 2000-04-27  Jody Goldberg <jgoldberg@home.com>
4740         * *Makefile.am : Use new extended configure variables.
4742         * configure.in: Add a few variables
4744 2000-04-27  JP Rosevear  <jpr@arcavia.com>
4746         * Makefile.am: Delete old gnumeric-config generation.
4748         * gnumeric-config.in: Use new variables exported from autoconf.
4750         * configure.in: gnumeric-config magic
4752 2000-04-27  Jody Goldberg <jgoldberg@home.com>
4754         * src/workbook.c (workbook_sheet_get_free_name) : No need to translate "%s%d".
4756         * src/gutils.c (PLUGIN_SUFFIX) : typo.
4758 2000-04-27  Karl EICHWALDER  <ke@suse.de>
4760         * NEWS (Translations): Add `da', `es', `no', and `uk'.
4762 2000-04-27  Morten Welinder  <terra@diku.dk>
4764         * src/plugin.c (plugin_load_plugins_in_dir): Don't access memory
4765         that isn't ours to access.  Constify.
4766         (plugin_data_last_modified): Constify.
4767         (plugin_data_get_title): Constify.
4768         (plugin_data_get_descr): Constify.
4769         (plugin_data_get_size): Constify.
4770         (plugin_data_get_user_data): Constify.
4772 2000-04-27  Karl EICHWALDER  <ke@suse.de>
4774         * doc/translating.sgml: Typo.
4776 2000-04-27  Jody Goldberg <jgoldberg@home.com>
4778         * src/functions/fn-lookup.c (gnumeric_offset) : Bug 9372.
4779           Both corners get offset.
4781         * src/workbook-format-toolbar.c (modify_cell_region) : Do redraws
4782           respans, and redimensions here.
4784         * src/cell.c (cell_set_format) : Do not attempt to render or redraw
4785           the value.
4787 2000-04-27  Jon K Hellan  <hellan@acm.org>
4789         * src/rendered-value.c (cell_rendered_height):
4790         (cell_rendered_height): Check for null pointers. Zoomed sheets
4791         with dangling references would segfault.
4793 2000-04-27  Jody Goldberg <jgoldberg@home.com>
4795         * src/sheet.c (sheet_update) : Do not update the status or
4796           autoexpression when in edit mode.  This solves a sneaky problem
4797           selecting a range for an expression on a newly created sheet.
4799 2000-04-26  Jody Goldberg <jgoldberg@home.com>
4801         * src/gnumeric-sheet.c (start_cell_selection_at) : Only hide the
4802           primary cursor when selecting cells on a different sheet.
4804         * src/expr.c (eval_expr_real) : Pass EVAL_PERMIT_NON_SCALAR to
4805           eval_expr_real when evaluating an array.
4807         * src/cell.c (cell_set_array_formula) : typo.
4809         * src/sheet.c (sheet_find_boundary_{horizontal,vertical}) : Another thinko.
4811         * src/dialogs/cell-format.glade : Improve layout of font attributes
4812           slightly.
4814         * src/gnumeric-util.c (gnumeric_glade_xml_new) : thinko.
4816 2000-04-26  Jody Goldberg <jgoldberg@home.com>
4818         * src/command-context.c (gnumeric_error_sys_err) : New function.
4819         * src/command-context-gui.c (ccg_error_sys_err) : Support it.
4821         * src/gnumeric-util.c (gnumeric_glade_xml_new) : Use gnumeric_error_sys_err.
4823         * src/gutils.c (gnumeric_sys_{data,lib,glade,plugin)_dir) : New functions.
4824         (gnumeric_usr_dir, gnumeric_usr_plugin_dir) : New functions.
4826         * src/plugin.c (load_all_plugins) : Use
4827           gnumeric_usr_plugin_dir, and  gnumeric_sys_plugin_dir.
4829         * src/item-edit.c (point_is_inside_range) : Handle non-singleton
4830           expr start characters.
4832 2000-04-25  Jody Goldberg <jgoldberg@home.com>
4834         * *.c : glade_new_xml -> gnumeric_glade_new_xml
4835           Localize GNUMERIC_GLADEDIR so that plugins can use it too.
4837         * src/gnumeric-util.c (gnumeric_glade_xml_new) : New function.
4839         * */Makefile.am : Set 'DATADIR' rather than GLADEDIR.  And version
4840           the glade file the same way the plugins are set.  This should
4841           probably expand to include architecture akin to gcc.
4843         * src/widgets/widget-editable-label.c (el_button_press_event) :
4844           Clicking in another window accepts the changes.  Once we have
4845           reliquished our grab push the button event back on the queue
4846           so that it can be forwarded on to the appropriate recipient (9007).
4848         * src/parse-util.c (parse_text_value_or_expr) : Watch for 1 character
4849           strings which could start an expression.
4851 2000-04-25  Miguel de Icaza  <miguel@helixcode.com>
4853         * src/item-edit.c (entry_changed): Call complete_start here;  Pass
4854         the text to scan_for_range now.
4855         (item_edit_set_arg): Create the complete_sheet object here.
4856         (item_edit_destroy): kill it here.
4858         * src/complete.c: New file.  Implements the abstract
4859         auto-completion class;
4861         * src/complete-sheet.c: New file.  Implements the sheet-based
4862         completion code.
4864         * src/item-edit.c (item_edit_draw_text): Take a GtkStyle instead
4865         of a GdkGC.
4867         * src/item-grid.c (create_popup_menu): Remove unrequired code.
4869 2000-04-25  Morten Welinder  <terra@diku.dk>
4871         * src/value.c (value_duplicate): Plug leak.
4873         * plugins/Makefile.am (SUBDIRS): Add numtheory.
4875         * plugins/numtheory/*: new files, mostly from Marko R. Riedel
4876         (mriedel@neuearbeit.de).
4878 2000-04-26  Tuomas Kuosmanen  <tigert@tigert.gimp.org>
4880         * src/pixmaps/auto-sum.xpm: Better fitting Sigma icon for Jody.
4882 2000-04-25  Jody Goldberg <jgoldberg@home.com>
4884         * src/pattern.c (gnumeric_sheet_patterns) : Add the rest of the
4885           patterns for applix.
4887         * src/dialogs/cell-format.glade : Add all of the new patterns.
4888         * src/dialogs/dialog-cell-format.c : Ditto.
4890 2000-04-24  Jody Goldberg <jgoldberg@home.com>
4892         * src/workbook-private.h : Rename ea_status -> selection_descriptor
4893           Moved ea_entry here and called it edit_line.
4894         * src/workbook.c (workbook_get_entry) : new routine.
4896         * src/dialogs/function-select.glade : Made this a dialog, not a popup.
4898         * src/summary.c (summary_item_free) : format police.
4899         * src/value-sheet.c (value_area_foreach) : Ditto.
4901         * src/sheet.c (sheet_new) : Init the update flags to FALSE, rather
4902           than TRUE now that the system seems to be getting their initial
4903           state correct when importing, paging and the like.
4904         (sheet_load_cell_val) : Use workbook_get_entry.
4905         (sheet_find_boundary_horizontal) : format police.
4906         (sheet_find_boundary_vertical) : Ditto.
4907         (sheet_range_splits_array) : Ditto.
4908         (sheet_delete_{cols,rows}) : Ditto.
4909         (sheet_restore_row_col_sizes) : Ditto.
4910         (sheet_col_get_distance_{pixels,pts}) : Ditto.
4911         (sheet_row_get_distance_pixels) : Ditto.
4912         (sheet_row_get_distance_pts) : Ditto, Init accumulator.
4914         * src/selection.c (sheet_selection_set) : format police.
4915         (selection_check_for_array) : Ditto.
4916         (sheet_selection_walk_step) : Ditto.
4917         * src/sheet-view.c (horizontal_scroll_event) : Ditto.
4918         (vertical_scroll_event) : Ditto.
4919         * src/dialogs/dialog-cell-format.c : Ditto.
4920         * src/dialogs/dialog-printer.c : Ditto.
4921         * src/dialogs/dialog-workbook-attr.c : Ditto.
4922         * src/functions/fn-eng.c : Ditto.
4923         * src/functions/fn-lookup.c : Ditto.
4924         * src/functions/fn-string.c : Ditto.
4926         * src/pattern.c (gnumeric_sheet_patterns) : Add a few patterns for
4927           applix.  More are needed, and these are not available in the format
4928           dialog yet.
4930         * src/number-match.c (compute_value) : Use g_strtod.
4931         (format_match) : Ditto.
4933         * src/item-edit.c : Use workbook_get_entry.
4935         * src/item-bar.c (item_bar_event) : format police.
4937         * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Do not set
4938           the focus directly.  Leave that to workbook_start_editing.
4939         (gnumeric_sheet_new) : Use workbook_get_entry.
4941         * src/format.c (render_number) : format police.
4943         * src/complex.c (complex_from_string) : Use g_strtod.
4944         * src/functions/fn-database.c : Ditto.
4946         * src/colrow.c (cb_row_col_visibility) : format police.
4948         * src/main.c (gnumeric_main) : Move the workbook_style_test to the
4949           empty case.
4951         * src/mstyle.c (mstyle_set_pattern) : Add some safety.
4953         * src/number-match.c (format_match) : Handle empties.
4955 2000-04-22  Michael Meeks  <michael@helixcode.com>
4957         * src/test.c (zero_stats, dump_stats): implement.
4958         (thrash_scroll): implement. (thrash_insert): implement.
4959         (workbook_style_test): use them.
4961 2000-04-22  Tuomas Kuosmanen  <tigert@gimp.org>
4963         * src/pixmaps/auto-sum.xpm: New icon for Jody.
4965 2000-04-22  Michael Meeks  <michael@helixcode.com>
4967         * src/sheet-style.c (sheet_style_attach): comment out optimization
4968         for now.
4970         * src/workbook.h (workbook_mark_clean): remove redundant prototype.
4972         * src/corba-workbook.c (Workbook_save_to): use workbook_set_dirty
4973         instead.
4975 2000-04-21  Michael Meeks  <michael@helixcode.com>
4977         * src/sheet-style.c (sheet_style_cache_flush): update, kill inline
4978         update all cache_flushes to be more explicit.
4980 2000-04-22  Almer. S. Tigelaar.  <almer1@dds.nl>
4982         Fixed Bug #9007
4983         Note : Does not fix the mouse click problem, just the focus
4984         problem
4986         * src/workbook.c
4987         (workbook_attach_sheet) : Attaches a signal handler for
4988         the "editing_stopped" signal of the editable label.
4989         (sheet_label_editing_stopped_signal) : The signal handler
4990         of the "editing_stopped" signal.
4992 2000-04-21  Chema Celorio  <chema@celorio.com>
4994         * src/sheet.c (sheet_redraw_cell_region): small typo
4995         that was causing a MCSSRB.
4996         ( multiple cell span string redraw bug)
4998 2000-04-21  Jody Goldberg <jgoldberg@home.com>
5000         * src/workbook.c (autosum_cmd) : Add a quick and simple auto-sum
5001           routine.
5003         * src/functions/fn-math.c (gnumeric_lcm) : Use value_new_int.
5004         (gnumeric_minverse) : Use value_new_array_non_init.
5005         (gnumeric_mmult) : Ditto.
5006         * src/functions/fn-stat.c (gnumeric_frequency) : Ditto.
5008         * src/value.c : Make Value::type a constant in preparation for
5009           changing the structure of the union to save space.
5011         * src/workbook.c (do_focus_sheet) : Use sheet_update.
5012         (workbook_calc_spans) : New routine.
5013         (workbook_mark_clean) : Delete, use workbook_set_dirty instead.
5015         * src/file.c (workbook_import) : Set the dialog parent.
5016         (workbook_read) : Use workbook_calc_spans.
5018         * src/sheet.c (sheet_row_get_distance_{pixels,pts}) : Optimize this
5019           to directly access the segmented arrays so that we can skip empty
5020           blocks.
5021         (sheet_find_boundary_{horizontal,vertical}) : Rename
5022           some variables for clarity and add some trivial optimizations to
5023           recognize when we are jumping to/from the far edge.
5024         (sheet_cell_calc_span) : Differentiate between a forced rerender and
5025           one that fills in the blanks.
5027 2000-04-20  Jody Goldberg <jgoldberg@home.com>
5029         * src/dialogs/dialog-cell-format.c (draw_format_preview) : Don't
5030           display preview text if there is none.
5031         (dialog_cell_format) : Don't init the preview text if the cell is empty.
5033         * src/plugin.c (plugin_load) : Fix leak.
5035         * src/formats.c (currency_symbols) : Add Yen.  Attempt to add
5036           a version of the Euro.  It uses an iso_8859_15 encoding
5037           which is not commonly available.
5039         * src/corba-sheet.c (Sheet_cell_set_value):
5040         cell_set_value -> sheet_cell_set_value
5042 2000-04-20  Matt Wilson  <msw@redhat.com>
5044         * src/corba-sheet.c (Sheet_cell_set_value):
5045         sheet_cell_set_value -> cell_set_value
5047         * src/corba-sheet.c: include cell-comment.h, rendered-value.h
5049 2000-04-20  Jody Goldberg <jgoldberg@home.com>
5051         * src/dialogs/dialog-cell-format.c : Use the edit_pos as the example
5052           not the top left corner.
5054         * src/functions/fn-stat.c (gnumeric_ftest) : Use eval_pos_cellref
5055           to help localize the strangeness.
5056         (gnumeric_ttest) : Ditto.
5058         * src/xml-io.c (xml_write_cell_and_position) : If this is an array
5059           expression and we are the top left then add attributes to indicate
5060           size of array.  Ignore the rest of the array.
5061         (xml_not_used_old_array_spec) : New routinr to handle the old array format.
5062         (xml_cell_set_array_expr) : store an array.
5063         (xml_read_cell) : Handle the old and the new array formats.
5065         * src/workbook.c (workbook_close_if_user_permits) : Accept input
5066           first.
5067         (wb_edit_key_pressed) : Handle array formulas here.
5068         (workbook_detach_sheet) : Do not recalc all if we are exiting.
5069         (workbook_start_editing_at_cursor) : When we start editing an
5070           array formula display just the formula not all the extra {}()[][] crap.
5072         * src/sheet.c (SheetPrivate) : Add a recompute_spans flag.
5073         (sheet_calc_spans) : New routine.
5074         (sheet_cell_calc_span) : New routine.
5075         (sheet_range_calc_spans) : Renamed and extended from
5076           sheet_cells_update.
5077         (sheet_update) : Use sheet_calc_spans when necessary.
5078           Update the location region when the edit_pos changes.
5079         (cb_recalc_spans_in_col) : Renamed from cb_collect_cells_in_col.
5080           Recalcs spans directly, no need to collect first.
5081         (cb_set_cell_content) : New routine to set expr, or expr_and_value.
5082         (sheet_range_set_text) : Use cb_set_cell_content, and remember
5083           chosen format with the cell rather than overriding the assigned
5084           format.
5085         (sheet_cell_set_text) : Renamed from sheet_set_text.  Be more specific
5086           about how spans, rendering and the rest are handled.
5087         (sheet_cell_set_expr) : New routine.
5088         (sheet_cell_set_value) : Ditto.
5089         (sheet_load_cell_val) : When displaying an array formula add {%s}()[][].
5090         (sheet_redraw_cell_region) : Honour spans when redrawing.
5091         (sheet_redraw_partial_row) : New routine.
5092         (sheet_redraw_cell) : Ditto.
5093         (sheet_is_cell_array) : Use cell_is_array.
5094         (sheet_range_splits_array) : Renamed from sheet_check_for_partial_array.
5095         (sheet_cell_add_to_hash) :  Do not touch spans at this point.
5096         (sheet_cell_insert) : Rename from sheet_cell_add made recalc span
5097           optional.
5098         (sheet_cell_new) : New routine that does not touch spans.
5099         (sheet_cell_remove) : Made redraw optional.
5100         (cb_clear_cell_comments) : Remove the cell if there is no comment.
5101         (sheet_clear_region) : Remove the cell if there are no comments or
5102           contents.  Flag an update of the status region.
5104         * src/sheet-view.c (cb_colrow_resize) : New function.
5105         (sheet_view_col_size_changed) : Resize all rows, irrespective of
5106         (sheet_view_row_size_changed) : existing cells.
5107         (sheet_view_redraw_cell_region) : This no longer honours spans.
5109         * src/sheet-style.c (sheet_style_attach) : Removed call to redraw.
5110         sheet_cells_update : rename to sheet_range_calc_spans and move to
5111           sheet.c.
5113         * src/sheet-autofill.c (autofill_cell) : Use sheet_cell_set_value
5114           rather than set_text.
5116         * src/selection.c (sheet_selection_changed_hook) : Delete.
5117         (sheet_selection_extend_to) : Update the status region to display the
5118           new size.
5119         (sheet_selection_cut) : Use sheet_range_splits_array.
5120         (selection_check_for_array) : New routine.
5122         * src/parser.y : Remove icky array formula parsing that conflicted
5123           with array entries.
5125         * src/number-match.c (format_match) : Return a Value * rather than a
5126           double.
5128         * src/mstyle.c (mstyle_set_font_size) : Do not allow font sizes < 1.
5130         * src/main.c (gnumeric_main) : Do NOT create an empty workbook
5131           then delete it if things are successfully loaded.  This causes
5132           a global recalc.  Instead add a flag to disable exit when the
5133           number of workbooks go to zero.  Then only enable the flag AFTER
5134           we have attempted to load the initial workbooks.
5136         * src/item-grid.c (item_grid_event) : Update the status_region when
5137           button-1 is release.  It should display the edit_pos.
5139         * src/gutils.c : Move cell_name, col_name, col_from_name,
5140           parse_cell_name, parse_cell_name_or_range and parse_cell_name_list,
5141           to parse-util.c.
5143         * src/gnumeric.h  : Add RenderedValue.
5145         * src/gnumeric-util.c (gnumeric_char_start_expr_p) : Move
5146           to parse-util.c
5148         * src/file.c (workbook_read) : Remove freese thaw usage.
5149           Move call to update AFTER mark clean.
5151         * src/expr.c (eval_pos_init) : Take a cellpos.
5152         (parse_pos_evalpos) : New routine.
5153         (eval_pos_cellref) : There is some questionable code scattered in the
5154           functions.  This routing localizes the odd bits for correction.
5156         * src/eval.c (cell_eval_content) : Use sheet_redraw_cell,
5157           and rendered_value_calc_size.
5158         (cell_get_dependencies) : Improve constness.
5160         * src/corba-sheet.c : Remove the freeze thaw operations.
5161         (Sheet_cell_set_formula) : Deleted.
5162         (Sheet_range_set_formula) : Delete.
5164         * src/commands.c : Adjust so that registration of command auto
5165           calls redo.  Add misc checks for splitting arrays.
5167         * src/clipboard.h : Move the CellCopy types here from cell.h
5169         * src/clipboard.c (paste_cell) : Use cell_has_expr.
5170           Don't insert the new cell till after its contents are assigned.
5172         * src/cellspan.c (cell_register_span) : Improve constness.
5173         (cell_unregister_span) : Ditto.
5174         (row_cell_get_displayed_at) : Delete.
5175         (cell_calc_span) : Moved here from cell.c
5177         * src/dialogs/dialog-stf.glade : Adjust the header background colour
5178           to match the purdy new icon.  Add the icon.
5180         * src/cell-draw.c : Use the rendered_value routines.
5181           Improve constness.
5183         * src/analysis-tools.c (set_cell) : Use sheet_cell_fetch.
5185         *.*
5186             cell_set_* -> sheet_cell_set_
5187             cell_set_*_simple -> cell_set_
5188             Cell::{row,col} -> Cell::{row,col}_info
5189             cell_get_text -> cell_get_entered_text
5190             cell_get_content -> cell_get_entered_text
5191             cell_name -> cell_coord_name
5192             cell_get_formatted_val -> cell_get_rendered_text
5193             cell_get_content -> cell_get_entered_text
5195         * src/cell.c :
5196         (cell_dirty) : Renamed from cell_modified.  Use
5197           sheet_set_dirty.
5198         (cell_formula_changed) : Make the queuing of the recalc optional.
5199         (cell_cleanout) : Handle union of expression and entered_text,
5200           and remove the rendered value.
5201         (cell_copy) : Ditto.
5202         (cell_destroy) : handle cell_modified -> cell_dirty.
5203         (cell_set_text) : Use parse_text_value_or_expr and store the prefered
5204           format.
5205         (cell_set_text_and_value) : New routine.
5206         (cell_assign_value) : New routine.
5207         (cell_set_value) : Support formats.
5208         (cell_set_expr_and_value) : New routine.
5209         (cell_set_expr_internal) : Split from cell_set_expr.
5210         (cell_set_expr) : Divide to allow for not queuing a recalc.
5211         (cell_set_array_formula) : Use cell_set_expr_internal.
5212         (cell_is_array) : New utility.
5213         (cell_is_partial_array) : New utility.
5214         (cell_has_expr) : New utility.
5215         (cell_render_value) : Use rendered_value_*.
5216         Move all comment routines into cell-comment.[ch].
5218         * idl/Gnumeric.idl : Remove cell_set_formula, and range_set_formula.
5219           These were identical to set_text.  Made Workbook embeddable.
5221 2000-04-18  Almer. S. Tigelaar.  <almer1@dds.nl>
5223         * src/dialogs/dialog-stf-format-page.c
5224         (stf_dialog_format_page_init) : Created an stf options struct
5225         which was never freed or used
5227         * src/dialogs/dialog-stf-preview.c
5228         (stf_preview_merge_with_hash) : Somehow there was a *gigantic* leak
5229         in this routine. I simply rewrote it from scratsch because I didn't
5230         see the error. This seemed to help, because the leak is gone. :-)
5232         * src/dialogs/dialog-stf-preview.[ch]
5233         Added some 'how it works' comments on top. Should make it clear
5234         who is responsible of freeing memory and when.
5235         (stf_preview_share_hash) : Removed.
5236         I removed the hash sharing, it is obsolete and just wasted space as
5237         hashes are no longer shared between druid pages anyway.
5239 2000-04-18  Cody Russell  <car0969@gamma2.uta.edu>
5240         * src/workbook-format-toolbar.c, src/workbook.c: Make the toolbars
5241         honor the user's control-center settings regarding GnomeDock
5242         handles.
5244 2000-04-17  Karl EICHWALDER  <ke@suse.de>
5246         * src/dialogs/dialog-analysis-tools.c (dialog_correlation_tool):
5247         Correct C&P errors (ACK by Jukka-Pekka Iivonen).
5249 2000-04-17  Karl EICHWALDER  <ke@suse.de>
5251         * NEWS (Translations): New top.
5253         * gnumeric.desktop.in (Comment): Shorten comment.
5254         Reported by Jon K Hellan.
5256 2000-04-16  Morten Welinder  <terra@diku.dk>
5258         * src/eval.c (cell_add_explicit_dependency): Quiet a bit.
5260         * src/functions/fn-lookup.c (gnumeric_match): Fix.
5262         * src/functions/fn-financial.c (finance_functions_init): Define a
5263         ton of stubs.  (We appear to have everything now.)
5265 2000-04-16  Valek Filippov  <frob@df.ru>
5267         * src/functions/fn-math.c: Typos fixed ("@" and "\n").
5269 2000-04-15  Morten Welinder  <terra@diku.dk>
5271         * src/functions/fn-stat.c (gnumeric_quartile): Fix for empty case.
5273         * src/xml-io.c (xml_free_arg_list): Plug leak.
5275 2000-04-15  Karl EICHWALDER  <ke@suse.de>
5277         * src/dialogs/dialog-cell-sort.c (order_box_new): Mark as translatable.
5279 2000-04-15  Morten Welinder  <terra@diku.dk>
5281         * src/Makefile.am (GNUMERIC_BASE_SOURCES): Delete print-preview.[ch]
5283         * src/print.c: Kill many #includes.
5285 2000-04-15  Karl EICHWALDER  <ke@suse.de>
5287         * src/dialogs/dialog-zoom.glade, src/dialogs/dialog-zoom.glade.h
5288         (N_): Make labels conforming.
5290 2000-04-15  Karl EICHWALDER  <ke@suse.de>
5292         * configure.in (ALL_LINGUAS): Sort alphabetically.
5294 2000-04-15  Jon K Hellan  <hellan@acm.org>
5296         * configure.in: Require gnome-print >= 0.18
5298 2000-04-15  Miguel de Icaza  <miguel@gnu.org>
5300         * src/print.c (print_headers): Use black for printing the
5301         headers and footers.
5303 2000-04-14  Karl EICHWALDER  <ke@suse.de>
5305         * gnumeric.desktop.in: Exchange Name/Comment.  Adjust the values
5306         for de.
5308 2000-04-14  Miguel de Icaza  <miguel@gnu.org>
5310         * src/selection.c (selection_is_simple): Use an
5311         internationalizable version of the message here.
5313 2000-04-10  Miguel de Icaza  <miguel@gnu.org>
5315         * Lots of files: replaces utils.h for gutils.h
5317         * renamed utils.h to gutils.h to avoid the compilation problem on
5318         some Unices (yes, fixing the Makefile would have done it, but
5319         utils.h was still a lame name;  Of course gutils.h is not any
5320         better, but it is now don).
5322 2000-04-14  Michael Meeks  <michael@helixcode.com>
5324         * src/*: s/ENABLE_BONOBO_PRINT/ENABLE_BONOBO/
5326 2000-04-14  Karl EICHWALDER  <ke@suse.de>
5328         * src/file.c (wants_to_overwrite): Add missing dot.
5330 2000-04-14  Jody Goldberg <jgoldberg@home.com>
5332         * src/print.c : make ENABLE_BONOBO_PRINT conditional on ENABLE_BONOBO.
5334 2000-04-14  Michael Meeks  <michael@helixcode.com>
5336         * src/print.c (print_job_info_get): setup sheet object list.
5337         (print_job_info_destroy): check it. (print_sheet_range): build a list of
5338         pre-printed sheet objects. (print_page_object): updated.
5340         * src/sheet-object-bonobo.c (sheet_object_bonobo_print): simplify muchly
5341         to new API.
5343 2000-04-11  Michael Meeks  <michael@helixcode.com>
5345         * configure.in: Bump required gb version.
5347 2000-04-13  Karl EICHWALDER  <ke@suse.de>
5349         * src/about.c (dialog_about): Add missing dot :)
5351 2000-04-12  Miguel de Icaza  <miguel@helixcode.com>
5353         * configure.in: New version of Gnumeric coming out.  New version
5354         of gnumeric coming out.
5356 2000-04-12  Jon K Hellan  <hellan@acm.org>
5358         * src/history.c (history_menu_item_create): Really add
5359         accelerators to history menu item
5361         * src/dialogs/dialog-analysis-tools.c (dialog_random_tool): Bug:
5362         Dialog would quit when combo list was popped via keyboard. Fix:
5363         Remove gnome_dialog_editable_enters from distribution combo.
5365 2000-04-11  Jon K Hellan  <hellan@acm.org>
5367         * src/dialogs/dialog-zoom.c (focus_to_custom): New callback: Set
5368         focus to custom spinbutton when custom radiobutton is checked.
5369         (dialog_zoom_impl): Connect the callback.
5371         * src/dialogs/dialog-analysis-tools.c (focus_on_entry): New
5372         callback: Set focus to output range entry when output range
5373         radiobutton is checked.
5374         (set_output_option_signals): Connect the callback.
5375         (distribution_parbox_config): Only add accelerator if we've got
5376         one.
5378 2000-04-11  Morten Welinder  <terra@diku.dk>
5380         * src/print.c (sheet_print): Supply new landscape argument to
5381         preview.
5383 2000-04-11  Jody Goldberg <jgoldberg@home.com>
5385         * src/solver-lp.c (make_solver_arrays) : Make more robust in the face
5386           of missing variables or constraints.
5388         * src/eval.c (cell_eval_content) : Handle the case of a cell without a
5389           formula more gracefully.
5391 2000-04-10  Jody Goldberg <jgoldberg@home.com>
5393         * src/file.c (workbook_read) : Force clean after post load recalc.
5395         * src/sheet-view.c (sheet_view_col_selection_changed) : keep the
5396           moving col visible.
5397         (sheet_view_row_selection_changed) : Keep the moving row visible.
5399         * src/item-grid.c (item_grid_find_col) : Tune iteration bounds to
5400           improve speed and allow for scrolling back to the first col/row.
5402         * src/item-cursor.c (item_cursor_autofill_event) : Pass the coords of
5403           the cell we want to keep visible rather than the top left corner.
5404         (item_cursor_set_bounds_visibly) : Rename the parameters to reflect
5405           their real purpose.
5407 2000-04-09  Morten Welinder  <terra@diku.dk>
5409         * configure.in (gnome-print): Need 0.17.
5411         * src/print.c (print_page): Put page numbers into (post script)
5412         file.
5413         (print_page): Move setup_rotation into page loop.
5415 2000-04-11  Michael Meeks  <michael@helixcode.com>
5417         * src/parser.y: correct include.
5419         * src/cell.c (cell_set_rendered_text): move up to before its first use.
5421 2000-04-09 Dom Lachowicz <dominicl@seas.upenn.edu>
5423         * src/sheet.h: Rename member "private" -> "priv" in case anyone in the
5424         future writes a plugin / module written in C++
5426         * src/sheet.c (sheet_new, sheet_flag_status_update_cell,
5427         sheet_flag_status_update_page, sheet_update, sheet_destroy,
5428         sheet_set_edit_pos, sheet_insert_cols, sheet_delete_cols,
5429         sheet_insert_rows, sheet_delete_rows, sheet_restore_row_col_sizes,
5430         sheet_col_set_size_pts, sheet_col_set_size_pixels,
5431         sheet_row_set_size_pts, sheet_row_set_size_pixels): Same
5433         * src/corba-sheet.c (sheet_corba_setup, sheet_corba_shutdown): Same
5435         * src/corba-workbook.c (corba_sheet): Same
5437         * src/embeddable-grid.c (Grid_get_sheet): Same
5439         * src/sheet-vector.c (sheet_vector_attach, sheet_vector_detach,
5440         sheet_vectors_cell_changed, sheet_vectors_shutdown): Same
5442 2000-04-07  Miguel de Icaza  <miguel@gnu.org>
5444         * src/cellspan.c (span_remove): Pretify code.
5446 2000-04-10  Jody Goldberg <jgoldberg@home.com>
5448         * src/file.c (workbook_read) : Do NOT recalc on load for now even
5449           though there are queued cells that desire it.  This will
5450           prematurely mark the sheet as dirty.  This will need to be
5451           revisited.
5453         * src/cell.c (cell_set_rendered_text) : Make static.
5455         * src/cell.c (cell_calc_dimensions) : Be careful to recalculate spans
5456           that centered on other cells when calculating the span for a new
5457           cell.
5459 2000-04-09  Michael Meeks  <michael@helixcode.com>
5461         * src/sheet-object-bonobo.c (sheet_object_bonobo_class_init): add print
5462         hooks.
5464         * src/sheet-object-graphic.c (sheet_object_graphic_print): implement.
5465         (sheet_object_graphic_class_init): setup print method
5467 2000-04-09  Jody Goldberg <jgoldberg@home.com>
5469         * src/dialogs/dialog-cell-format.c : Do not change the target style if
5470           editing has not yet been enabled.
5472         * src/workbook.c (workbook_set_saveinfo) : If the save function is
5473           NULL default to xml.
5475         * src/format.c (format_value) : Add some error checking.
5477         * src/cell.c (calc_text_dimensions) : Make static
5479         * src/main.c : Add main.h
5481 2000-04-03  Dom Lachowicz <dominicl@seas.upenn.edu>
5483         * src/workbook.c (sheet_action_reorder_sheet): Right click on a
5484         sheet tab, and if there's more than one sheet, you'll get an
5485         option to bring up the re-order sheets dialog
5487         * src/dialogs/dialog-plugin-manager.c (refresh_right_frame) :  Do not
5488           override default fonts and colours.
5490         * src/dialogs/sheet-order.glade,
5491         * src/dialogs/sheet-order.glade.h,
5492         * src/dialogs/dialog-sheet-order.c (row_cb, delete_clicked_cb,
5493           up_clicked_cb, down_clicked_cb, close_clicked_cb,
5494           dialog_sheet_order_impl) : Improve look by moving buttons to the
5495           right edge rather than using stock buttons on the bottom and side.
5497 2000-04-07  Jody Goldberg <jgoldberg@home.com>
5499         * src/workbook.c (workbook_finish_editing) : resensitize the toolbars
5500           after editing.
5501         (workbook_start_editing_at_cursor) : Desensitize the toolbars when we
5502           start to edit.
5504 2000-04-09  Morten Welinder  <terra@diku.dk>
5506         * src/sheet-style.c (sheet_unique_cb): Plug leak.
5508         * src/sheet-view.c (sheet_view_comment_relocate): Leak plug (for
5509         Jody).
5511 2000-04-09  Michael Meeks  <michael@helixcode.com>
5513         * src/print.c (print_page_object): implement.
5514         (print_page): add hook.
5516         * src/sheet-object.c (sheet_object_print): implement.
5517         (sheet_object_class_init): setup default print behavior.
5519         * src/sheet-object.h: Add virtual method 'print'
5521         * src/dialogs/dialog-cell-format.c (fmt_dialog_init_format_page):
5522         free list after creation. (fmt_dialog_impl, cb_notebook_destroy):
5523         pass the signal id without using the FormatState that is free'd by
5524         the time we destroy the notebook.
5526 2000-04-09  Jon K Hellan  <hellan@acm.org>
5528         * src/workbook.[ch] (workbook_class_init): Put "cell_changed"
5529         signal back in.
5531         * src/sheet.c (sheet_load_cell_val): Ditto.
5533 2000-04-06  Michael Meeks  <michael@helixcode.com>
5535         * src/sheet-style.c (sheet_style_relocate): use range_translate to
5536         shrink code size + set a blank style under the moved styles to get
5537         correct behavior: this routine needs optimizing sometime.
5539 2000-04-09  Morten Welinder  <terra@diku.dk>
5541         * src/sheet.h (ParsePositions): Add sheet.
5543         * src/expr.c (parse_pos_init): New arg sheet.  All callers changed.
5545         * src/parser.y (gnumeric_expr_parser): Use pp->sheet.
5547 2000-04-08  Jon K Hellan  <hellan@acm.org>
5549         (sheet_name_quote): Quote embedded quotes.
5551 2000-04-08  Morten Welinder  <terra@diku.dk>
5553         * src/xml-io.c (xml_read_solver): Plug leak.
5555         * src/functions/fn-financial.c (gnumeric_xnpv): Plug leak.
5557 2000-04-08  Almer. S. Tigelaar.  <almer1@dds.nl>
5559         * src/dialogs/dialog-stf-csv-page.c
5560         (csv_page_global_change) : Result of gtk_editable_get_chars was not
5561         freed. (2x)
5563         * src/stf-parse.c
5564         (stf_parse_region) : Only the last item of the GSList's would be
5565         freed
5566         (stf_parse_sheet) : ditto
5568 2000-04-08  Jon K Hellan  <hellan@acm.org>
5570         * src/sheet.c (cellref_name): Remove unused variable.
5572 2000-04-08  Jon K Hellan  <hellan@acm.org>
5574         * src/sheet.h (struct _Sheet): Replace member name with
5575         name_quoted and name_unquoted. In name_quoted, names with spaces
5576         or quote characters are protected with quotes.
5578         * src/analysis-tools.c (prepare_output): Use
5579         workbook_sheet_get_free_name to ensure that we don't create more
5580         than one sheet with the same name.
5582         * src/eval.c (dump_cell_list, sheet_dump_dependencies): Dump
5583         sheet->name_unquoted instead of sheet->name.
5585         * src/expr-name.c (name_sheet_title): Make value from
5586         sheet->name_quoted instead of sheet->name. FIXME: Is this correct?
5588         * src/gnumeric-sheet.c (selection_insert_selection_string): Make
5589         selection string from sheet->name_quoted instead of quoting
5590         sheet->name here.
5592         * src/print-info.c (render_tab): Render sheet->name_unquoted
5593         instead of sheet->name.
5595         * src/print-preview.c (create_toplevel): Use sheet->name_unquoted
5596         instead of sheet->name in window title.
5598         * src/selection.c (sheet_selection_to_string, range_to_string):
5599         Make reference string from sheet->name_quoted instead of quoting
5600         sheet->name here.
5602         * src/sheet.[ch] (sheet_quote_name): Rename to
5603         sheet_name_quote. Take name_unquoted parameter, not a sheet.
5605         * src/sheet.c (sheet_rename, sheet_new): Set both
5606         sheet->name_quoted and sheet->name_unquoted.
5607         (sheet_destroy): Free both sheet->name_quoted and
5608         name_unquoted.
5609         (cellref_name): Make reference from sheet->name_quoted instead of
5610         quoting sheet->name here.
5612         * src/test.c (thrash_sheet): Use sheet->name_unquoted instead of
5613         sheet->name in debug output.
5615         * src/value-sheet.c (value_dump): Dump sheet->name_quoted instead
5616         of quoting sheet->name here.
5617         (encode_cellref): Use sheet->name_quoted instead of quoting
5618         sheet->name here.
5620         * src/workbook.[ch] (workbook_sheet_get_free_name): Make it more
5621         generally useful: Add "base" and "always_suffix" parameters. The
5622         caller should now select the base to make the name from
5623         (e.g. "Sheet"), and specify whether or not a suffix should be
5624         added when the name "base" is not in use.
5626         * src/workbook.c (insert_sheet_cmd): Use new signature of
5627         workbook_sheet_get_free_name.
5628         (workbook_rename_sheet): Insert unquoted name in hash table.
5629         (sheet_label_text_changed_signal): Remove test for quote
5630         characters in sheet name.
5631         (sheet_action_delete_sheet): Prompt with name_unquoted instead of
5632         name.
5633         (sheet_action_rename_sheet, workbook_attach_sheet): Use
5634         name_unquoted instead on name.
5635         (workbook_detach_sheet): Use sheet->name_unquoted as hash key
5636         instead of sheet->name.
5638         * src/workbook-cmd-format.c
5639         (workbook_cmd_format_sheet_change_name): Use name_unquoted instead
5640         on name.
5642         * src/xml-io.c (xml_sheet_write): Output sheet->name_unquoted
5643         instead of sheet->name.
5645         * src/dialogs/dialog-sheet-order.c (dialog_sheet_order_impl): Make
5646         list header passive.
5647         (add_to_sheet_clist, delete_cb): Substitute sheet->name_unquoted
5648         for sheet->name.
5650         * src/dialogs/dialog-zoom.c (dialog_zoom_impl): Ditto.
5652 2000-04-08  Jon K Hellan  <hellan@acm.org>
5654         * src/dialogs/dialog-analysis-tools.c (struct
5655         random_tool_callback_t): Use gladified random dialog: changed most
5656         members.
5657         (struct DistributionStrs): New struct to hold name to show in list
5658         and parameter labels for a random distribution.
5659         (distribution_strs): Change to a DistributionStrs struct.
5660         (output_range_selected): New callback function. This is part of a
5661         change which selects the corresponding toggle button when the
5662         output range field is entered. This works for all gladified
5663         dialogs in this file.
5664         (set_output_option_signals): Set up output_range_selected callback
5665         on output range field. The widget is retrieved by name, so widget
5666         names in analysis-tools.glade had to be changed.
5667         (dialog_correlation_tool, dialog_covariance_tool,
5668         dialog_ttest_paired_tool, dialog_ttest_eq_tool,
5669         dialog_ttest_neq_tool, dialog_ftest_tool, dialog_average_tool,
5670         dialog_ranking_tool, dialog_anova_single_factor_tool,
5671         dialog_anova_two_factor_without_r_tool): New widget name for
5672         output range field.
5673         (dialog_correlation_tool, dialog_covariance_tool,
5674         dialog_ttest_paired_tool, dialog_ttest_eq_tool,
5675         dialog_ttest_neq_tool, dialog_ftest_tool, dialog_average_tool,
5676         dialog_ranking_tool, dialog_anova_single_factor_tool,
5677         dialog_anova_two_factor_without_r_tool): Make <Enter> in entry
5678         fields activate default button.
5679         (distribution_strs_find, distribution_parbox_config,
5680         combo_get_distribution, dialog_random_realized): These new
5681         functions are helpers for gladified random generation dialog.
5682         (distribution_strs_find): Find strings record, given distribution
5683         enum.
5684         (distribution_parbox_config): Configure parameter widgets given
5685         random distribution.
5686         (combo_get_distribution): Find from combo the distribution the
5687         user selected.
5688         (distribution_callback): Configure parameter widgets for the
5689         distribution which was selected.
5690         (dialog_random_realized): Make initial geometry of distribution
5691         table permanent.
5692         (dialog_random_tool): Libgladify. This is a complete
5693         rewrite. Other changes: Make the "distribution" variable function
5694         static instead of file static. Rebuild the dialog each time it is
5695         displayed. This is like the other libglade dialogs in this file.
5696         Make <Enter> in entry fields activate default button. Get random
5697         distribution name and parameter label strings from
5698         distribution_strs struct. Use a "realized" callback to make
5699         initial geometry permanent. Unref accel group for distribution
5700         parameter widgets when dialog is destroyed.
5702         * src/dialogs/analysis-tools.glade (All dialogs): Remove ':' from
5703         frame labels. Add accelerators. Rename output range entry widgets
5704         to xxx_output_range_entry. Minor output options tweaks.
5705         (FTest dialog, TTest1 dialog, TTest2 dialog, TTest3 dialog): Use
5706         alignment and fill instead of spaces to place label strings.
5707         (Anova2 dialog, MovingAverage dialog): Use table in input frame so
5708         that entry fields are aligned.
5709         (Random dialog:) New dialog.
5711 2000-04-07  Morten Welinder  <terra@diku.dk>
5713         * src/selection.c (sheet_selection_reset_only): Free the right list.
5714         (sheet_is_range_selected): Avoid double assignment.
5715         (sheet_is_cell_selected): Ditto.
5717         * src/history.c (history_menu_remove_items): Plug leak.
5719 2000-04-07  Jody Goldberg <jgoldberg@home.com>
5721         * src/embeddable-grid.h (GridViewClass) : Fix typo, did this ever work ?
5723         * src/workbook.c (workbook_move_sheet) : Mark the book as dirty when a
5724           sheet moved.
5725         (insert_sheet_cmd) : Mark book as dirty when sheet is added.
5726         (workbook_attach_sheet) : Add a precondition to avoid failing in the
5727           bonobo case.
5729 2000-04-07  Morten Welinder  <terra@diku.dk>
5731         * src/collect.h (CollectFlags): Get rid of COLLECT_IGNORE_POSITIVE
5732         and COLLECT_IGNORE_NEGATIVE.
5734         * src/collect.c (callback_function_collect): Don't have the above
5735         flags.
5737         * src/functions/fn-financial.c (irr_npv_df): New function.
5738         (gnumeric_irr): Use irr_npv_df for better results.
5739         (gnumeric_ipmt, gnumeric_ppmt): Fix order of arguments!  (It works
5740         so much better that way.)
5741         (gnumeric_mirr): Fix formula.
5743         * src/goal-seek.c (update_data): Spelling fix.
5745         * src/functions/fn-financial.c (gnumeric_rate, gnumeirc_irr,
5746         gnumeric_xirr): Use the supplied guess.
5748 2000-04-06  Jody Goldberg <jgoldberg@home.com>
5750         * src/xml-io.c (gnumeric_xml_read_workbook) : No need to recalc, the
5751           loader handles it.
5753         * src/file.c (workbook_read) : Do a recalc and sheet_update after loading.
5754           Wrap entire process in deep_{freeze,thaw}.
5756         * src/expr.c (eval_expr) : Fix thinko.
5758         * src/functions/fn-string.c : Add func 'expression' to return text of
5759           formula.
5761         * src/parser.y : It is illegal to write A1:Sheet2!A3.
5763         * src/value.c (value_new_cellrange) : Take the eval pos so that we can
5764           correctly invert mixed mode references when necessary.
5766         * src/expr.c (cell_ref_make_abs) : New routine.
5767         (expr_relocate) : Handle changes in value_new_cellrange.
5768         * src/func.c (function_marshal_arg) : Ditto.
5769         * src/ranges.c (range_parse) : Ditto.
5771         * src/corba-sheet.c (Sheet_cell_set_value) : No need to check these
5772           references.  They seem to be hard coded to be relative.
5774         * src/functions/fn-lookup.c (gnumeric_offset) : Begin to handle
5775           relative references.
5777         * src/sheet.c (cellref_get) : Simplify the logic a smidge.
5779         * src/workbook.c (workbook_finish_editing) : Restore the edit area
5780           manually for now.  We may need to make the update flags finer grain.
5782 2000-04-05  Jody Goldberg <jgoldberg@home.com>
5784         * src/stf-parse.c (stf_parse_options_new) : Init oldsplitpositions.
5785         * src/dialogs/dialog-stf-format-page.c (stf_dialog_format_page_init) :
5786           Init format_run_parseoptions.
5788 2000-04-05  Morten Welinder  <terra@diku.dk>
5790         * src/workbook.c (workbook_do_destroy): Unref, not destroy, the
5791         wb->priv->gui_context member.  (Plugs leak.)
5793 2000-04-05  Jody Goldberg <jgoldberg@home.com>
5795         * (*.[ch]) : merge eval_expr, eval_expr_nonempty, eval_expr_empty.
5797         * src/xml-io.c (xml_write_attributes) : remove unused variable.
5798         (xml_read_attribute) : Fix warning.
5800         * src/clipboard.c (x_selection_received) : Cache the Sheet* before
5801           freeing the closure.
5803         * src/workbook-format-toolbar.c (workbook_feedback_set) : Disable
5804           callbacks when setting the font status.  This avoids applying a
5805           spurious format.
5807 2000-04-05  Miguel de Icaza  <miguel@gnu.org>
5809         Fix #8326
5811         * src/print-info.c (print_info_new): Test was reversed here, so we
5812         were actually flipping the orientation for printing.
5814         * src/print.c (print_sheet_range): Now the routine returns the
5815         number of pages printed, and can be directed not to generate
5816         actual output.
5817         (print_sheet_range): Do column/row fitting for the other printing
5818         order as well.
5819         (compute_sheet_pages): Support both empty-page printing, and non
5820         empty-page printing.
5821         (print_page): Can now print and detect if there is anything to
5822         print.
5824 2000-04-05  Jody Goldberg <jgoldberg@home.com>
5826         * src/commands.c (cmd_paste_cut_undo) : Use sheet_update and force a
5827           status update.
5828         (cmd_paste_cut_redo) : Ditto. Change the selection here.
5830         * src/sheet.c (sheet_flag_status_update_range) : Handle NULL ranges.
5832         * src/selection.c (sheet_selection_add_range) : Use
5833           sheet_flag_status_update_range rather than an immediate call
5834           to selection_changed_hook (that is deprecated).
5835         (sheet_selection_move) : Delete.
5836         (sheet_selection_paste) : Use sheet_update.
5838         * src/clipboard.c (clipboard_paste_region) : Remove unnecessary and
5839           incorrect code to do status updates.  The selection mechanism
5840           handles it already.
5841         (x_selection_received) : Use sheet_update.
5843         * src/about.c (dialog_about) : Add Almer.
5845 2000-04-05  Michael Meeks  <michael@helixcode.com>
5847         * src/sheet-style.c (sheet_style_compute): kill leak.
5848         (sheet_destroy_styles): destroy hash.
5850 2000-03-25  Michael Meeks  <michael@helixcode.com>
5852         * src/sheet-object-bonobo.c (sheet_object_bonobo_load): Add
5853         warnings and fixup.
5855 2000-04-05  Morten Welinder  <terra@diku.dk>
5857         * src/about.c (dialog_about): Re-establish sorting (except Sir
5858         Miguel).
5860 2000-04-05  Jody Goldberg <jgoldberg@home.com>
5862         * src/functions/fn-logical.c (gnumeric_if) : Use eval_expr_nonempty
5863           and permit non-scalars.
5864         * src/functions/fn-lookup.c (gnumeric_choose) : Ditto.
5865         * src/functions/fn-math.c (gnumeric_sumproduct) : Ditto.
5867         * src/functions/fn-information.c (get_value_class) : Use
5868           eval_expr_empty, and permit non-scalars.
5870         * src/func.c (function_iterate_argument_values) : Permit non-scalar
5871           values.
5872         (function_marshal_arg) : Be more specific about what types of argument
5873           must be scalar.
5875 2000-04-04  Jody Goldberg <jgoldberg@home.com>
5877         * src/functions/fn-math.c (gnumeric_sumproduct) : eval_expr_nonempty
5878           and permit non-scalars.
5879         * src/functions/fn-lookup.c (gnumeric_choose) : Ditto.
5881         * src/expr-name.c (eval_expr_name) : Accept 'as_scalar' as an
5882           argument use eval_expr_empty.
5884         * src/expr.c (eval_expr_real) : Push the common cases for implicit
5885           intersection further down for a big speed improvement.
5886         (eval_expr_nonempty) : New routine.
5887         (eval_expr_empty) : Accept as_scalar.
5889 2000-04-04  Jody Goldberg <jgoldberg@home.com>
5891         * src/item-grid.c (item_grid_button_1) : sheet_update after button
5892           press that changes selection.
5894 2000-04-04  Jody Goldberg <jgoldberg@home.com>
5896         * src/print.c (print_hf) : Add precautions in an attempt to address
5897           http://bugs.gnome.org/db/82/8200.html
5898           I cannot replicate it, but it can't hurt to be more careful just in
5899           case.
5901 2000-04-04  Miguel de Icaza  <miguel@gnu.org>
5903         * src/item-cursor.c (item_cursor_autofill_event): Flush the canvas updates
5905 2000-04-04  Jody Goldberg <jgoldberg@home.com>
5907         * src/workbook.c (workbook_class_init) : Remove CELL_CHANGED.
5908         (workbook_finish_editing) : At LAST! cmd_set_text is responsible for
5909           setting the text directly :-)
5911         * src/workbook-format-toolbar.c (change_font_size_in_selection_cmd) :
5912           cmd_format takes care of the height adjustments.
5913         * src/dialogs/dialog-cell-format.c (cb_fmt_dialog_dialog_apply) : Ditto.
5915         * src/sheet.c (Sheet): Add flags edit_pos_changed, selection_content_changed.
5916         (sheet_new) : init them.
5917         (sheet_flag_status_update_cell) : New function that sets the flags.
5918         (sheet_flag_status_update_range) : Ditto.
5919         (sheet_update) : Fix typo. Add support for new flags.
5920         (sheet_update_auto_expr) : Const correctness.
5921         (sheet_update_controls) : Ditto.
5922         (sheet_load_cell_val) : Ditto. Delete unused signal.
5923         (sheet_set_text) : Use sheet_flag_status_update_range.
5924         (sheet_set_edit_pos) : New routine.
5925         (sheet_cursor_move) : Delete.
5926         (sheet_fill_selection_with) : Remove.
5928         * src/selection.c (sheet_selection_changed_hook) : const correctness.
5929         (sheet_selection_change) : merge into sheet_selection_set.
5930         (sheet_selection_extend_to) : Use sheet_selection_set.
5931         (sheet_selection_set) : Merge with sheet_selection_change and use the
5932           sheet_cursor accessors rather than changing things directly.
5933         (sheet_selection_walk_step) : Use sheet_selection_set, and sheet_set_edit_pos.
5935         (sheet_is_all_selected) : const correctness.
5936         (sheet_is_cell_selected) : New routine.
5937         (sheet_is_range_selected) : New routine.
5939         * src/item-grid.c (item_grid_draw_background) : Adjust to rename of
5940         * sheet_selection_is_cell_selected -> sheet_is_cell_selected.
5942         * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Cleanup the
5943           logic for creating fills and arrays so that it can have undo
5944           support.
5945           - Change the heuristic for selecting what type of characters can start
5946             an edit session.  Rather than using fixed Latin1 centric codes,
5947             guess that the 'length' field of the event is >0 if the character is
5948             printable.  Be more careful NOT to forward characters to the entry
5949             if we are not editing.
5950           - Use sheet_update.
5952         * src/commands.c (command_pop_list_top) : Delete.
5953         (cmd_format_redo) : Apply the height adjustment here.
5954         (cmd_set_area_*) : Implement.
5955         (*) : Use sheet_update.
5957         * src/colrow.c (rows_height_update) : Moved here and generalized from
5958           sheet_selection_height_update.
5960         * src/clipboard.c (sheet_paste_selection) : No need to call
5961           sheet_cursor_set.  sheet_selection_add_range already does that.
5962         (clipboard_paste_region) : Flag updates to the status display if
5963           something changes.
5965 2000-04-04  Jon K Hellan  <hellan@acm.org>
5967         * src/sheet-view.c (sheet_view_set_zoom_factor): Call
5968         gnumeric_sheet_make_visible only if sheet widget is realized.
5969         (sheet_view_make_edit_pos_visible): New function: Make the cell at
5970         the edit position visible.
5971         (sheet_view_size_allocate): Add call to
5972         sheet_view_make_edit_pos_visible.
5974         * src/gnumeric-sheet.c (gnumeric_sheet_make_cell_visible): Add
5975         comment.
5977         * src/xml-io.c (xml_sheet_read): Read zoom into a local variable
5978         before calling sheet_set_zoom_factor. Otherwise,
5979         sheet_set_zoom_factor would assume that it had already initialized
5980         this factor.
5982         * src/workbook.c (change_zoom_in_current_sheet_cb): No longer call
5983         change_displayed_zoom_cb, sheet_set_zoom_factor will call it
5984         indirectly.
5986         * src/workbook.[ch] (workbook_class_init,
5987         workbook_focus_current_sheet, workbook_create_standard_toobar):
5988         Rename "sheet_changed" signal to "sheet_entered".  Remove
5989         "cell_changed" signal.
5990         (workbook_focus_current_sheet): Rename "sheet_changed" signal to
5991         "sheet_entered".
5992         (workbook_zoom_feedback_set): New function: Update zoom combo in
5993         toolbar when zoom changes.
5995         * src/sheet.c (sheet_update_zoom_controls): New function: Update
5996         zoom controls when zoom changes.
5997         (sheet_set_zoom_factor): Use it.
5998         (sheet_load_cell_val): Do not emit "cell_changed".
6000         * src/dialogs/dialog-cell-format.c (cb_fmt_dialog_dialog_apply):
6001         Call sheet_update_controls to update toolbar controls.
6003         * src/history.c (file_history_cmd): Remove pristine workbook when
6004         a new one is read in. For consistency with File/Open, File/Import
6005         and Bonobo File/History.
6007         * src/dialogs/dialog-workbook-attr.c
6008         (cb_attr_dialog_dialog_apply): Include workbook-view.h to get
6009         prototype for workbook_view_pref_visibility.
6011         * src/border.h (style_border_print): Remove bogus const in  prototype.
6012         Reported by Aron Griffis.
6014 2000-04-02  Jody Goldberg <jgoldberg@home.com>
6016         * src/item-edit.c (entry_changed) : Call scan_for_range here.
6017         (item_edit_set_arg) : And here.
6018         (recalc_spans) : But NOT here.  Calling request_update while updating
6019           any other canvas item is bad.
6021         * src/item-cursor.c (item_cursor_set_bounds) : remove ugly hack.
6023 2000-04-02  Jody Goldberg <jgoldberg@home.com>
6025         * doc/stf-parser.txt : Add description of double quote handling.
6026         * src/stf-parse.c (stf_parse_options_new) : Init
6027           indicator_2x_is_single and duplicates.
6028         (stf_parse_options_csv_set_indicator_2x_is_single) : New function.
6029         (stf_parse_csv_cell) : Add logic to optionaly treat double quotes as a
6030           single escaped quote.
6031         * src/dialogs/dialog-stf-csv-page.c : Add the double quote checkbox.
6032         * src/dialogs/dialog-stf.glade : Ditto.
6034 2000-04-02  Jody Goldberg <jgoldberg@home.com>
6036         * src/gnumeric-sheet.[ch] (gnumeric_sheet_get_cell_bounds) : Delete.
6038         * src/item-edit.c (item_edit_init) : Init the feedback_cursor to NULL.
6040         * src/item-cursor.c (item_cursor_set_bounds) : HACK to force the
6041           canvas to honour update requests.
6043 2000-04-01  Jody Goldberg <jgoldberg@home.com>
6045         * docs/C/func.defs, docs/C/functions.sgml : Regenerate.
6047         * src/functions/*.c : Adjust some 'See Also' tags to point to existing
6048           functions.
6050         * src/workbook.c (workbook_menu_format_sheet) : Do not use
6051           GNOMEUIINFO_TOGGLEITEM as it requires an xpm, and bonobo crashes
6052           when fed a NULL xpm.
6054 2000-03-31  Jody Goldberg <jgoldberg@home.com>
6056         * src/workbook.c : Switch over to using GNOMEUIINFO_ITEM_ where
6057           possible.
6058         (cb_editline_focus_in) : Do not start editing if we are already
6059           editing.
6061         * src/utils.c (parse_cell_name) : constness.
6063         * src/style.c (style_font_gdk_font) : constness.
6064         (style_font_gdk_font) : ditto.
6065         (style_font_gnome_font) : ditto.
6066         (style_font_get_height) : ditto.
6068         * src/sheet.c (sheet_set_zoom_factor) : redimension all cells, rather
6069           than the sparse sheet region.  Do not auto-resize.
6070         (sheet_cell_add) :  Adjust to new calling convention for
6071           cell_calc_dimensions.
6072         (sheet_stop_editing) : Rename from sheet_destroy_edit_cursor.
6074         * src/sheet-view.c (sheet_view_get_style_font) : constness.
6076         * src/gnumeric-sheet.c (gnumeric_sheet_create_editing_cursor) :
6077           No need to set all those arguments.
6078         (destroy_item_editor) : Merge into gnumeric_sheet_stop_editing.
6079         (gnumeric_sheet_stop_editing) : Renamed from
6080           gnumeric_sheet_destroy_editing_cursor.
6082         * src/cell.[ch] (cell_set_rendered_text) : Adjust to new calling
6083           convention for cell_calc_dimensions.
6084         (cell_calc_dimensions) : Adjust calling convetion to make auto
6085           resizing optional.
6086         (calc_text_dimensions) : Adjust calling convention to directly set size.
6088         * src/sheet-style.c (re_dimension_cells_cb) :  Adjust to new calling
6089           convention for cell_calc_dimensions.
6091         * src/item-edit.c : Major rework to behave better at margins,
6092           correctly handle cells whose display contents span differently than
6093           their displayed values, multi-line display mechanics, and a blinking
6094           cursor :-)
6096 2000-03-31  JP Rosevear  <jpr@arcavia.com>
6098         * src/xml-io.c (xml_read_attribute): Allow per type reading of
6099         the "Attribute" xml node so that complex types can sort themselves
6100         out.
6101         (xml_write_attribute): Allow per type writing of the "Attribute" xml
6102         node so that complex types can write themselves appropriately.
6103         (xml_write_attributes): Tidy and use xml_write_attribute.
6104         (xml_read_attribute): Tiday and use xml_read_attribute.
6106 2000-03-29  Jody Goldberg <jgoldberg@home.com>
6108         * src/dialogs/dialog-cell-format.c (cb_font_changed) : Use the size
6109           from the selector rather than the display size with is zoom and
6110           resolution dependant.
6112         * src/main.c (has_gnumeric_been_compiled_with_guile_support) :
6113           A little test to circumvent the problems associated with the guile
6114           pluging requiring changes to gnumeric's main().
6116 2000-03-30  Kjartan Maraas  <kmaraas@online.no>
6118         * gnumeric.spec.in: Make it build a RPM.
6120 2000-03-29  Jon K Hellan  <hellan@acm.org>
6122         * src/workbook-format-toolbar.c (workbook_create_format_toolbar):
6123         Add titles for torn off combos.
6125         * src/workbook.c (workbook_create_standard_toobar): Ditto
6127 2000-03-28  Jon K Hellan  <hellan@acm.org>
6129         * src/xml-io.c (xml_arg_get): Really silence warnings.
6131         * src/print.c (print_footers): Dont't change footer points.
6133         * src/xml-io.c (xml_arg_get): Silence format conversion warnings.
6135         * src/dialogs/names.glade: Put the list inside a scrolled window.
6137 2000-03-28  Miguel de Icaza  <miguel@gnu.org>
6139         * configure.in (GB_LIBS): Require Gtk 1.2.7 here too.
6141         * gnumeric.spec.in (Requires): Updated the requirements for
6142         Gnumeric here.
6144 2000-03-26  Miguel de Icaza  <miguel@gnu.org>
6146         * src/dialogs/Makefile.am (glade_msgs): Added a new missing file.
6147         Guys.  If you add a .glade file, PLEASE make sure you add the
6148         .glade.h file.  This is just embarassing to see all of these
6149         releases done just because nobody ever cares to add the files
6150         properly.
6152 2000-03-27  Nick Lamb  <njl195@zepler.org.uk>
6154         * configure.in: Consistency, consistency, consistency
6155         When checking for gnome-print 0.14, say 0.14 not 0.13
6157 2000-03-26  Jon K Hellan  <hellan@acm.org>
6159         * src/file.c (can_try_save_to): Brown paper bag error.
6161 2000-03-26  Jon K Hellan  <hellan@acm.org>
6163         * src/file.c (wants_to_overwrite): New function. True if user
6164         wants to overwrite.
6165         (can_try_save_to): New function. True if it makes sense to try
6166         saving.
6167         (do_save_as): New function. Moved out of workbook_save_as. Handle
6168         the selection made in the save as dialog.
6170         * src/workbook.c (sheet_action_delete_sheet): Set initial focus.
6172 2000-03-26  Karl EICHWALDER  <ke@suse.de>
6174         * src/workbook.c: A little bit more text.
6176 2000-03-26  Jon K Hellan  <hellan@acm.org>
6178         * configure.in: Make Bonobo version require Bonobo >= 0.9. We have
6179         in fact been requiring CVS Bonobo for a while, now there is a
6180         released version we can depend on.
6182 2000-03-26  Miguel de Icaza  <miguel@gnu.org>
6184         * src/ranges.c (range_parse): Better parser, now it correctly
6185         parses "A1+sum(A3:a4)" as a1, not as a1:a4.
6186         (range_parse): Eliminates also a memory leak.
6188 2000-03-26  Jody Goldberg <jgoldberg@home.com>
6190         * src/workbook-format-toolbar.c (change_font_size_in_selection_cmd) :
6191           default size is 10 points.
6192         (workbook_create_format_toolbar) : Switch the size selector over to
6193           gtk-combo-text too.
6195 2000-03-26  Almer. S. Tigelaar.  <almer1@dds.nl>
6197         * src/plugin-util.c, src/plugin-util.h: New, ment for reducing
6198         some duplicate code in the plugins and provide better error
6199         reporting. modified the ff-csv plugin to use the new functions.
6201 2000-03-25  Jody Goldberg <jgoldberg@home.com>
6203         * src/sheet.c (sheet_{col,row}_set_size_pts) : Set the update flags.
6205         * src/workbook.c : Add undo/redo elements.
6207 2000-03-25  Jody Goldberg <jgoldberg@home.com>
6209         For Dom Lachowicz <cinamod@hotmail.com>
6211         * src/plugin.[ch] (plugin_data_get_size,
6212           plugin_data_last_modified) : New functions.
6213         (plugin_load): updated
6215         * src/dialogs/dialog-plugin-manager.c
6216         (dialog-plugin-manager-impl, refresh-right-frame): updated.
6218         * src/dialogs/plugin-manager.glade,
6219           src/dialogs/plugin-manager.glade.h
6220           New layout, enabled word-wrap in description,
6221           Other aesthetic changes
6223 2000-03-25  Jody Goldberg <jgoldberg@home.com>
6225         * src/workbook.c : Add undo/redo elements to the toolbar.
6227         * src/workbook-format-toolbar.c (change_font_in_selection_cmd) :
6228           Switch to the gnumeric gtk-combo-text.
6229         (workbook_create_format_toolbar) : Pass in a default colour.
6230         (fore_color_changed) : Handle the NULL indicator as auto colour.
6231           Hard code to black for now.
6232         (back_color_changed) : Handle the NULL indicator as no background.
6234 2000-03-25  Jon K Hellan  <hellan@acm.org>
6236         * src/dialogs/workbook-attr.glade: Deflickerize + set initial focus.
6238 2000-03-25  Jody Goldberg <jgoldberg@home.com>
6240         * src/print.c (print_page) : Call setup_rotation unconditionally it
6241           will decide when to rotate.  Honour the repeat_{top,left}.use flags.
6242         (print_page) : Add a clip path around the entire page to ensure that spans
6243           get clipped at the margin.
6244         (print_job_info_init_sheet) : Use the repeat_{top,left}.use flags.
6246         * src/commands.c (cmd_ins_del_row_col_{redo,undo}) : Use sheet_update.
6248         * src/sheet.c (sheet_insert_{cols,rows}, sheet_delete_{cols,rows}) :
6249           Set the visibility notification flags.
6250         (sheet_restore_row_col_sizes) : Ditto.
6252 2000-03-25  Almer. S. Tigelaar.  <almer1@dds.nl>
6254         * src/dialogs/dialog-stf.h, src/dialogs/dialog-stf.c : Added a
6255         stf_dialog prefix to all functions and changed dialog_stf into
6256         stf_dialog, this makes more sense as the same naming convention
6257         was used in src/stf-parse.[ch] and src/dialogs/dialog-stf-preview.[ch]
6259         * src/dialogs/dialog-stf-main-page.c : idem
6260         * src/dialogs/dialog-stf-csv-page.c : idem
6261         * src/dialogs/dialog-stf-fixed-page.c : idem
6262         * src/dialogs/dialog-stf-format-page.c : idem
6263         * src/dialogs/dialog-stf-preview.c : idem
6265         * src/stf.c : Uses the renamed functions
6266         * src/clipboard.c : idem
6268 2000-03-24  Miguel de Icaza  <miguel@helixcode.com>
6270         * src/file.c (workbook_import): Destroy the toplevel not the
6271         hack_dialog.
6273         * src/dialogs/dialog-stf.c (dialog_stf_druid_page_cancel): Quit
6274         the event loop.  Should fix #cd 7782
6276         * src/workbook.c (workbook_set_arg): Add missing breaks to the
6277         argument code.
6279 2000-03-25  Michael Meeks  <michael@helixcode.com>
6281         * src/ranges.c (range_fragment_list_clip): totaly re-write.
6282         (ranges_dump): implemented.
6284         * src/sheet-style.c (sheet_unique_cb): use frags not middle_list to
6285         calculate the style ( doh! ).
6287 2000-03-24  Michael Meeks  <michael@helixcode.com>
6289         * src/ranges.c (range_overlap): kill (range_split_ranges): kill inline,
6290         it ruins debugging.
6292         * src/ranges.h (range_overlap): Macroify + add misc. documentation.
6294         * src/ranges.c (range_fragment_list_clip): fix frightening logic bug.
6296 2000-03-22  Michael Meeks  <michael@helixcode.com>
6298         * src/ranges.c (range_fragment_list_clip): kill supid bug removing
6299         list items whilst iterating the list + add the clip region to the list
6300         temporarily.
6302 2000-03-24  JP Rosevear  <jpr@arcavia.com>
6304         * src/dialogs/workbook-attr.glade.h: Dialog translation header.
6306         * src/dialogs/workbook-attr.glade: New dialog file for workbook
6307         attributes.
6309         * src/dialogs/dialog-workbook-attr.c : New file to display a
6310         workbook attribute dialog.
6311         (dialog_workbook_attr): Basic preparation.
6312         (attr_dialog_impl): Setup the dialog and display it.
6313         (attr_dialog_init_view_page): Initialize the view tab of
6314         the workbook.
6315         (cb_show_hsb_toggled): Widget callback
6316         (cb_show_vsb_toggled): ditto
6317         (cb_show_tabs_toggled): ditto
6318         (cb_attr_dialog_dialog_destroy): Destroy callback.
6319         (cb_attr_dialog_dialog_apply): Apply callback - this needs to be
6320         more sophisticated and use a command for undo/redo purposes.
6322         * src/dialogs/Makefile.am: Setup for new files.
6324         * src/dialogs/dialogs.h: Define new dialog function.
6326         * src/workbook.c : Update menus for new workbook dialog under
6327         the format menu and remove now unused callbacks.
6328         (workbook_get_arg): Put breaks in so we don't get
6329         stupid errors.
6330         (workbook_set_arg): ditto
6331         (workbook_attr_cmd): New call back for menu option
6333         * src/xml-io.c (xml_arg_set): Add more types for conversion.
6334         (xml_arg_get): Add more types for conversion.
6336 2000-03-24  Jody Goldberg <jgoldberg@home.com>
6338         * src/expr.c (cellref_relocate): Simply code to implement correct logic.
6340         * src/main.c : Add debug_excel_objects.
6342 2000-03-24  Jody Goldberg <jgoldberg@home.com>
6344         From: Sebastian Wilhelmi <wilhelmi@ira.uka.de>
6345         * src/functions/fn-lookup.c (gnumeric_lookup): Use the bound and the
6346           index for the destination rather than the source.
6348 2000-03-24  Jody Goldberg <jgoldberg@home.com>
6350         * src/gnumeric-sheet.c (gnumeric_sheet_set_left_col):
6351         Fix cut-n-paste-o.
6353 2000-03-24  Tuomas Kuosmanen  <tigert@gimp.org>
6355         * src/pixmaps/function_selector.xpm: New pixmap for Function
6356         Selection Wizard
6358         * src/pixmaps/sort-ascending.xpm
6359         * src/pixmaps/sort-descending.xpm: New versions of the sort icons,
6360         we dont sort by numeric value so we dont want to use 123 in the icon
6361         either. Instead we use A..Z and Z..A.
6363 2000-03-23  Jody Goldberg <jgoldberg@home.com>
6365         * src/cell.c (cell_set_text_simple): Do NOT set the entered text
6366         when importing non string values.  There are still gotchas
6367         elsewhere. eg enter 90 format to current and edit box shows
6368         something that we cannot parse.
6370 2000-04-23  Morten Welinder  <terra@diku.dk>
6372         * src/history.c (history_menu_remove_items): Don't crash.
6374         * src/regression.c (general_linear_regression): Don't do
6375         extra_stat in case of error.
6376         (general_linear_regression): Zero extra_stat.
6378         * src/history.c (history_menu_remove_items): Warning killer.
6380         * src/item-edit.c (scan_at): Fix usual signed/unsigned problem.
6382         * src/stf-parse.c (stf_parse_csv_is_separator): Ditto.
6383         (stf_parse_is_valid_data): Ditto.
6385 2000-03-23  Jody Goldberg <jgoldberg@home.com>
6387         * src/main.h : include popt-gnome.h rather than popt.h.  We may
6388         eventually need gnome-popt.h, but lets keep this simple for now.
6389         Does anyone know the right way to do this ?
6391         * src/cell.c (cell_calculate_span) : Add CENTER_ACROSS_SELECTION.
6392         (cell_set_text_simple) : Begin transition to checking
6393         format of current cell for match.  No real change yet.
6395         * idl/Gnumeric.idl : Add CENTER_ACROSS_SELECTION.
6396         * src/cell-draw.c (cell_draw) : Ditto.
6397         * src/print-cell.c (print_cell) : Ditto.
6398         * src/corba-sheet.c (Sheet_cell_set_alignment) : Ditto.
6399         (Sheet_cell_get_alignment) : Ditto.
6400         * src/dialogs/dialog-cell-format.c (fmt_dialog_init_align_page) : Ditto.
6401         * src/dialogs/cell-format.glade : Ditto, reorganize alignment page.
6403         * src/format.c : Move definition of _StyleFormatEntry from mstyle.h.
6405         * src/number-match.c (format_create_regexp) : Extend to support
6406         currency names.
6408         * src/item-grid.c (item_grid_draw_border) : minor optimization for
6409         non-border case.
6411 2000-03-23  Miguel de Icaza  <miguel@helixcode.com>
6413         * src/gnumeric-sheet.c (start_cell_selection_at): Disable feedback
6414         when the anting cursor is created
6415         (gnumeric_sheet_stop_cell_selection): Enable feedback when the
6416         anting cursor is destroyed.
6418         * src/item-edit.c (scan_for_range): Enable feedback only if we are
6419         allowed to.
6420         (item_edit_enable_highlight, item_edit_disable_highlight): New
6421         functions to control the feedback display.
6423 2000-03-21  Miguel de Icaza  <miguel@helixcode.com>
6425         * src/sheet-vector.c (impl_vector_set_notify): Duplicate the
6426         object here.
6428 2000-03-23  Jody Goldberg <jgoldberg@home.com>
6430         * src/gnumeric-sheet.c (gnumeric_sheet_set_{left_col, top_row}):
6431         Replace scrolling.
6433         * src/item-grid.c (item_grid_find_row): Add some old fixes that went
6434         into find_col but not find_row ??
6436 2000-03-22  Michael Meeks  <michael@helixcode.com>
6438         * src/sheet-style.c (sheet_style_cache_flush): add 'all' flag to
6439         signify a hard vs. soft flush, freeze hash when it is a nice size. Do
6440         not bother destroying the hash table.
6441         (sheet_mstyle_compute_from_list): kill debug in inner loop + add another
6442         short circuit. (calc_grown_range): Spread the range better near the
6443         edges.
6445         * src/mstyle.c (mstyle_do_merge): simplify + add vital short circuit for
6446         factor of 2 speedup on blank regions. (mstyle_get_*): kill redundant NULL
6447         preconditions.
6449         * src/main.c (gnumeric_main): add the tests again.
6451 2000-03-18  Michael Meeks  <michael@helixcode.com>
6453         * src/mstyle.c (mstyle_do_merge): Use pointer increment to kill mul in
6454         inner loop. (mstyle_element_ref): take a pointer.
6456         * src/sheet-style.c: Clean internals a lot, kill the nasty dereference
6457         macros, hash on CellPos to decrease memory usage.
6459         * src/dialogs/dialog-cell-format.c (draw_format_preview): Clip the
6460         sample down if it is a massive string to stop the dialog from becoming
6461         stupidly wide.
6463 2000-03-23  Jon K Hellan  <hellan@acm.org>
6465         * src/stf.c (stf_read_workbook): Set save info, preferred format
6466         XML, level manual.
6468         * src/file.[ch] (file_format_register_save): Add "level" parameter.
6470         * src/file.h: (FileFormatLevel): Add the enum. At the best level,
6471         the save command saves to the given name without asking.  At the
6472         worst level, no name has been assigned.
6474         * src/file.c (_FileSaver): Add "level" member.
6475         (file_format_unregister_save): Set level to manual for workbooks
6476         which had this saver set.
6477         (cb_unregister_save): New function. Helper for
6478         file_format_unregister_save.
6479         (workbook_read): Set save info. Tag as new.
6480         (workbook_import): No longer set needs_name - importer will have
6481         set file_format_level.
6482         (fs_set_filename): New function: Set default filename in the file
6483         selection dialog.
6484         (workbook_save_as): Use fs_set_filename. Set save info.
6485         (workbook_save): Punt to workbook_save_as if file_format_level <
6486         AUTO. Save using wb->file_save_fn.
6488         * src/workbook.[ch] (workbook_set_saveinfo): New function. Set
6489         filename, level and save function, but do nothing if we already
6490         have info at a higher level.
6492         * src/workbook.h (struct _Workbook): Replace needs_name with
6493         file_format_level. Add file_save_fn member. Include file.h
6494         (workbook_set_saveinfo): Add "level" parameter.
6496         * src/workbook.c (workbook_do_destroy): Insert in history list
6497         when file format level > "new". We used to test needs_name.
6498         (workbook_is_pristine): Test file_format_level > "new" instead of
6499         needs_name true.
6500         (workbook_new): Tag workbook as new. Set save function.
6501         (workbook_set_filename): needs_name no longer exists. Don't set it.
6503         * src/xml-io.c (gnumeric_xml_read_workbook): Set save info. Tag as
6504         AUTO.
6505         (xml_init): Tag saver as AUTO.
6507         * src/corba-workbook.c (Workbook_set_filename): Add FIXME comment.
6509         * src/history.c (history_item_label): Strip extension only when it
6510         is ".gnumeric".
6512 2000-03-22  Jody Goldberg <jgoldberg@home.com>
6514         * src/functions/fn-lookup.c (gnumeric_index) : The current
6515           implementation supports arrays and references. It does not support
6516           the special case of index 0,0 returning the entire range, nor does
6517           it support the second syntax (ref, row, col, area_num).
6518         (gnumeric_match) : Document that only match_type == 0 works.
6520 2000-03-22  JP Rosevear  <jpr@arcavia.com>
6522         * src/xml-io.c (xml_arg_set): Set an arg value based on type and
6523         contents in the xml tree.
6524         (xml_arg_get): Get a string representing an arg's value.
6525         (xml_write_attributes): Create the list of attributes.
6526         (xml_free_arg_list): Function to free the args in a GList.
6527         (xml_read_attributes): Read the attributes back in from the
6528         xml tree.
6529         (xml_workbook_read): Read the workbook attributes in and set them.
6530         (xml_workbook_write): Write out the workbook attributes.
6532         * src/workbook.c (workbook_class_init): Add three args, the h & v
6533         scrollbars and the notebook tab.  Override parent set_arg and get_arg
6534         functions.
6535         (workbook_set_arg): New function to handle arg setting.
6536         (workbook_get_arg): New function to handle getting args.
6537         (workbook_set_attributev): Set a whole list of args for the object.
6538         (workbook_get_attributev): Return an array of args for the workbook.
6540         * src/workbook.c (sort_cmd): Sort all the columns in order so
6541         that ties are broken nicely (pointed out by meeks)
6543 2000-03-22  Jody Goldberg <jgoldberg@home.com>
6545         * src/plugin.c (plugin_load) : Typo.
6547         * src/workbook.c (recalc_cmd) : Bug7739.
6549 2000-03-22  Chema Celorio  <chema@celorio.com>
6551         * idl/.cvsignore: Created .cvsignore added Makefiles
6553 2000-03-22  Jody Goldberg <jgoldberg@home.com>
6555         * src/sheet.c (sheet_reposition_comments) : Merged from
6556           sheet_reposition_comments_from_row and
6557           sheet_reposition_comments_from_col.
6559         (sheet_update) : New function.  Use the new update flags from
6560           SheetPrivate that are set in the col/row resize functions
6561           to do delayed resizing and updates.  This allows the resizing to be
6562           batched for an entire logical operation.
6563         (sheet_{col,row}_set_size_pixels) : Set the update flags.
6565         * src/workbook-cmd-format.c (workbook_cmd_format_{row,column}_auto_fit) : No need to
6566           worry about redraws.  Use sheet_update.
6567         (workbook_cmd_format_{row_height,column_width}) : Ditto.
6569         * src/sheet-view.c (sheet_view_redraw_cell_region) : No need to
6570           recalculate the spans,  Use the pre-calculated versions.
6571         (sheet_view_col_size_changed) : Use sheet_update.
6572         (sheet_view_row_size_changed) : Ditto.
6574         * src/sheet-style.c (re_dimension_cells_cb) : Use cell_calc_dimensions.
6575         (sheet_cells_update) : No need to redraw per cell and guess the bound.
6576           It is simpler and more correct to calc dimension per cell, and
6577           redraw the region BEFORE and AFTER to handle spans.
6579         * src/cell.[ch] (cell_style_changed) : Delete.
6581         * src/cell-draw.c (cell_draw) : continue syncing with print code.
6582           Be even more careful in the possible presence of style bugs.
6583         * src/item-grid.c (item_grid_draw) : Ditto.
6584         * src/print-cell.c (print_cell) : Ditto.
6586         * src/analysis-tools.c (correlation_tool) : Use sheet_update.
6587         (covariance_tool) : Ditto.
6588         (ttest_paired_tool) : Ditto.
6589         (ttest_eq_var_tool) : Ditto.
6590         (ttest_neq_var_tool) : Ditto.
6591         (ftest_tool) : Ditto.
6593 2000-03-21  Jody Goldberg <jgoldberg@home.com>
6595         * src/sheet-private.h : Add status flags to accumulate state changes
6596           for later redraw.
6598         * src/commands.c (cmd_format_redo) : Use sheet_update
6599           in case the row/col sizes changed due to font size changes.
6600         (cmd_format_undo) : Ditto.
6602         * src/widgets/gtk-combo-box.c (cb_state_change) : Only pseudo-prelight
6603           the display when over the arrow, not vice versa.
6604         (gtk_combo_box_init) : Ditto.
6605         (gtk_combo_box_set_display) : Ditto.
6607         * src/sheet.c (sheet_row_get_distance_pts) : Enable reversed indicies.
6608         (sheet_col_get_distance_pts) : Ditto.
6610         * src/plugin.c (plugin_load) : Add more version checking to ensure
6611           that very old plugins that do not check their versions cannot be
6612           loaded.
6614 2000-03-20  Jody Goldberg <jgoldberg@home.com>
6616         * src/gnumeric-sheet.c (gnumeric_sheet_make_cell_visible) : When
6617           forcing a scroll do a hard reset of the visible ranges.
6618         (gnumeric_sheet_compute_visible_ranges) : Ditto.
6619         (gnumeric_sheet_set_top_row) : Remove extraneous scroll.
6620         (gnumeric_sheet_set_left_col) : Remove extraneous scroll.
6622 2000-03-21  Miguel de Icaza  <miguel@helixcode.com>
6624         * src/utils.c (parse_cell_name_or_range): Allow for parsing to be
6625         non-strict.
6627         * src/ranges.c (range_parse): Allow for parsing to be non-strict.
6629         * src/utils.c (parse_cell_name): Allow for parsing to be non-strict.
6631         * Makefile.am (SUBDIRS): Fix list of directories.
6633         * src/item-cursor.c (item_cursor_set_arg): Added optional color
6634         handling to item-cursor.
6636 2000-03-20  Miguel de Icaza  <miguel@helixcode.com>
6638         * src/main.c (gnumeric_main): Removed broken style test.
6640         * src/ranges.c (range_parse): Update the range_parse API
6642         * src/print-info.c (load_range): Update API.
6644         * src/utils.c (parse_cell_name): Handle references that contain an
6645         absolute reference.
6647 2000-03-19  Jody Goldberg <jgoldberg@home.com>
6649         * src/sheet.c (sheet_move_range) : Move the styles before the contents
6650           so that spans are calculated correctly.
6652         * src/workbook.c (workbook_start_editing_at_cursor) : Redraw the
6653           edit cell so that we handle spans correctly.
6654         (workbook_finish_editing) : Ditto.
6656         * src/item-grid.c (item_grid_draw) : Ignore spans while editing a
6657           cell.
6659 2000-03-16  Nick Lamb  <njl195@zepler.org.uk>
6661         * configure.in: Fix typo (we need 0.13, not 0.11 of gnome-print)
6663 2000-03-16  Michael Meeks  <michael@helixcode.com>
6665         * src/test.[ch]: Create to help profiling.
6667         * src/main.c: Add style testing.
6669 2000-03-14  Michael Meeks  <michael@helixcode.com>
6671         * src/xml-io.c (xml_write_style): comment out the default checks on
6672         style colors, We may want these back when we have sheet default colors.
6674 2000-03-13  Michael Meeks  <michael@helixcode.com>
6676         * src/sheet-object-bonobo.c (sheet_object_bonobo_destroy): fix.
6678 2000-03-18   JP Rosevear <jpr@arcavia.com>
6680         * src/pixmaps: Added sort-ascend.xpm, sort-descend.xpm,
6681         insert-bonobo-component.xpm
6683         * src/pixmaps.h: Include new xpms.
6685         * src/workbook.c (sort_cmd): Moved from workbook-format-toolbar.c
6686         (sort_ascend_cmd): ditto
6687         (sort_descend_cmd): ditto
6689         * src/dialogs/dialog-cell-sort.c (dialog_cell_sort): Duh,
6690         pass the parameters in the correct order.
6692         * src/workbook-format-toolbar.c: Move sort commands to workbook.c
6693         and put icons into command toolbar.
6695 2000-03-17  Jon K Hellan  <hellan@acm.org>
6697         * src/sheet-object.c (create_object, sheet_set_mode_type_full):
6698         Make it compile and link without Bonobo.
6700 2000-03-13  Miguel de Icaza  <miguel@helixcode.com>
6702         * src/sheet-vector.c (sheet_vectors_cell_changed): Change NULL to
6703         CORBA_OBJECT_NIL
6705         * src/sheet-object-bonobo.c (sheet_object_bonobo_load_from_file):
6706         Use the new IDL:Bonobo interface name, not the IDL:GNOME one
6707         (sheet_object_bonobo_load_from_file): ditto.
6708         (sheet_object_bonobo_load): ditto.
6710         * src/sheet-object.c (sheet_set_mode_type): Temporary hack to get
6711         the graphics working under 1:20 hours when my battery runs out of
6712         power.
6714         * src/sheet-object-container.c
6715         (sheet_object_container_new_from_goadid): Renamed from
6716         sheet_object_container_new
6718         (sheet_object_container_new): Now takes a BonoboObjectClient as an
6719         argument.
6721 2000-03-12  Miguel de Icaza  <miguel@helixcode.com>
6723         * src/sheet-vector.c (impl_vector_get_numbers): Increment idx
6724         here;
6725         (impl_vector_get_vec_values): ditto.
6726         (impl_vector_get_numbers): Use the proper values for the columns
6727         row.
6728         (impl_vector_get_vec_values): ditto.
6730         * src/clipboard.c (x_clipboard_bind_workbook): Fix memory leak.
6731         The problem is worse, because the warning comment there was
6732         completely bogus.
6734 2000-03-14  Jon K Hellan  <hellan@acm.org>
6736         * src/workbook-view.c (workbook_view_history_update,
6737         workbook_view_history_shrink): ): We introduce numbers in front of
6738         the history file names for the following reasons:
6739         1. Bonobo won't let you make 2 entries with the same label in the
6740            same menu. But that's what happens if you e.g. access
6741            worksheets with the same name from 2 different directories.
6742         2. The numbers are useful accelerators.
6743         This means that when a new item is added, all existing entries get
6744         a new number. We access them via the label, so we have to remove
6745         all the old list entries and make a new list.
6747         history_menu_flush is called to remove the old list,
6748         history_menu_update to build the new.
6750         * src/history.c
6751         (history_item_label): Add accel_number parameter, make label from
6752         accel_number and basename. Rename basename variable to label.
6753         (history_menu_item_create): Add accel_number parameter. Use it
6754         when calling history_item_label.
6755         (history_menu_locate_separator): New static function. Locate the
6756         menu and position of history separator. They may not yet exist.
6757         (history_menu_insert_separator): New static function. Insert the
6758         history separator. Return its position and the menu shell.
6759         (history_menu_insert_items): New static function. Add the history
6760         items to the file menu.
6761         (history_menu_remove_items): New static function. Remove the
6762         history items from the file menu.
6763         (history_menu_setup): Split into lots of twisty little functions,
6764         all different.
6765         (history_menu_fill): New exported function. Make the menus for
6766         the workbooks show the new history list.
6767         (history_menu_flush): New exported function. Remove the history
6768         list from the file menus of all workbooks.
6769         (history_insert_menu_item): Remove.
6770         (history_remove_menu_item): Remove.
6772         * src/history.h
6773         (history_menu_fill, history_menu_flush): Declare.
6774         (history_insert_menu_item, history_remove_menu_item): Remove.
6776 2000-03-13  Jody Goldberg <jgoldberg@home.com>
6778         * wizards/graphics/Makefile.am : Include the idl build dir rather than
6779           src dir.  We are interested in the resulting code not the original
6780           idl.
6782 2000-03-13  Jon K Hellan  <hellan@acm.org>
6784         * src/main.c (main): Silence warning.
6786 2000-03-13  Jody Goldberg <jgoldberg@home.com>
6788         * Makefile.am : Make wizards and graph subdirs contingent on bonobo.
6789           distribute all the ChangeLogs.
6791 2000-03-12  JP Rosevear  <jpr@arcavia.com>
6793         * src/dialogs/dialog-cell-sort.c : Remove clip_range_to_finite.
6794         (dialog_cell_sort): Use range_clip_to_finite.
6796         * src/ranges.c (range_clip_to_finite): Make the range finite using
6797         sheet_get_extent if its infinite.
6799         * src/ranges.h: Prototype range_clip_to_finite.
6801         * src/workbook-format-toolbar.c (sort_cmd): Sort the current
6802         selection if simple.
6803         (sort_ascend_cmd): Call sort_cmd with asc=0.
6804         (sort_descend_cmd): Call sort_cmd with asc=1.
6806         * src/workbook-format-toolbar.c : Add sort ascend/descend buttons.
6807         (sort_ascend_cmd): New toolbar callback function to sort
6808         selection in ascending order.
6809         (sort_descend_cmd): New toolbar callback function to sort
6810         selection in descending order.
6813 2000-03-12  JP Rosevear  <jpr@arcavia.com>
6815         * src/Makefile.am: Reflect new location of idl.
6817 2000-03-12  Jody Goldberg <jgoldberg@home.com>
6819         * src/item-cursor.c (item_cursor_selection_event) : Be more careful
6820           handling selecting the cursor from the external or internal edge
6821           this will avoid what seems like an off by one error. Thanks Jacob.
6823 2000-03-11  Miguel de Icaza  <miguel@helixcode.com>
6825         * src/Makefile.am: Cleaned Makefile.
6827         * graph/Makefile.am: ditto.
6829         * graph/sample.c: fix
6831         * idl/Makefile.am, idl/Graph.idl, idl/Gnumeric.idl: Moved IDL
6832         files here, and create the libGnumeric.a and libGraph.a libraries
6833         here.
6835 2000-03-11  Jody Goldberg <jgoldberg@home.com>
6837         * src/workbook.c (workbook_setup_edit_area) : Use sensitize rather
6838           than show/hide for the ok/cancel buttons.  Return wizard back
6839           to end of list.
6840         (workbook_new) : Revert last change, no longer necessary.
6841         (workbook_start_editing_at_cursor) : Sensitize the ok/cancel edit buttons.
6842         (workbook_finish_editing) : desensitize them.
6844 2000-03-11  Jody Goldberg <jgoldberg@home.com>
6846         * src/workbook.c (cb_editline_focus_in) : When the edit lined receives
6847           focus start editing.
6848         (accept_input) : No need to force edit mode we should already be in
6849           edit mode.
6850         (workbook_setup_edit_area) : Move the wizard button to the begining of
6851           the list and store the ok and cancel buttons in the Private section.
6852           Hook cb_editline_focus_in to focus-in.
6853         (workbook_new) : After show_all, we need to hide the ok/cancel edit
6854           buttons.  We start out not editing.
6855         (workbook_start_editing_at_cursor) : Show the ok/cancel edit buttons.
6856         (workbook_finish_editing) : Hide them.
6858 2000-03-11  Jon K Hellan  <hellan@acm.org>
6860         * src/main.c (main): #ifdef out the fix for now.
6862 2000-03-11  Jon K Hellan  <hellan@acm.org>
6864         * src/main.c (main): Work around guile / gnorba problem: gnorba
6865         closes stdin, and scm_boot_guile segfaults if any of the stdio
6866         streams are missing. We map the missing streams to /dev/null.
6868 2000-03-10 Alastair McKinstry <mckinstry@computer.org>
6870         * configure.in (ALL_LINGUAS): Added ga (Irish) translation.
6872          * gnumeric.desktop: Added Irish (ga) translation.
6874 2000-03-10  Jody Goldberg <jgoldberg@home.com>
6876         * src/func.c (tokenized_help_new) : Constness.
6878         * src/widgets/gtk-combo-box.c (cb_state_change) : New function to keep
6879           the state of the combo display button and the combo arrow in sync.
6880         (gtk_combo_box_init) : Connect cb_state_change to the arrow.
6881         (gtk_combo_box_set_display) : Ditto for the display widget.
6883         * src/sheet.c (sheet_set_zoom_factor) : Bound the factor at 10% and 500%
6885         * src/workbook.c (change_zoom_in_current_sheet_cb) :
6886           call change_displayed_zoom_cb to adjust the combo to contain the
6887         (workbook_focus_current_sheet) : Only emit signal if the sheet
6888           changed.
6890 2000-03-08  Jody Goldberg <jgoldberg@home.com>
6892         * src/collect.c (callback_function_collect) : Treat arrays and ranges
6893           as errors.
6895         * src/format.c (format_value) : formating a range returns a
6896           #VALUE! message.
6898         * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) :
6899           Use the workbook flags, and delete the icky globals.
6900         (start_cell_selection_at) : Hide the std cursor when a cell selection
6901           cursor is created.
6902         (gnumeric_sheet_stop_cell_selection) : Restore the std cursor.
6904 2000-03-07  Jody Goldberg <jgoldberg@home.com>
6906         * src/workbook.c (accept_input) : Use workbook_finish_editing.
6907         (cancel_input) : Ditto.
6908         (do_focus_sheet) : Support range selection across spreadsheets.
6909         (workbook_get_sheet_position) : Fix and document.
6910         (workbook_move_sheet) : Fix.
6911         (workbook_focus_sheet) : Handle errors cleanly.
6912         (wb_edit_key_pressed) : Improve F4 handling.
6913         (wizard_input) : Begin non-modal function wizard.  NOT FINSIHED.
6914         (workbook_start_editing_at_cursor) : transfered from
6915           sheet_start_editing_at_cursor.
6916         (workbook_finish_editing) : Distilled from sheet_{accept,cancel}_pending_input.
6917         (Workbook) : Add editing_cell, editing_sheet, editing.
6919         * src/sheet.c (sheet_stop_editing) : Delete.
6920         (sheet_accept_pending_input) : Merge into workbook_finish_editing.
6921         (sheet_cancel_pending_input) : Ditto.
6922         (sheet_start_editing_at_cursor) :
6923         (sheet_create_edit_cursor) : New function.
6924         (sheet_destroy_edit_cursor) : New function.
6925         (sheet_destroy_cell_select_cursor) :  New function.
6926         (Sheet) : Delete editing and editing_cell.
6928         * src/selection.c (sheet_selection_changed_hook) : Make public.  This
6929           should eventually move but I'm not sure where.  It is used for more
6930           than just changes in the selection in the current sheet.  It must
6931           also be called when the sheet changes.  What it REALLY does it to
6932           sync the shared workbook state with the current sheet's selection.
6934         * src/item-cursor.c (item_cursor_init) : Handle change from
6935           sheet_accept_pending_input -> workbook_finish_editing.
6936         * src/item-grid.c (item_grid_button_1) : Ditto.
6938         * src/gnumeric-sheet.c (gnumeric_sheet_can_move_cursor) : Edit moved
6939           from sheet -> workbook.
6940         (selection_insert_selection_string) : Extend to support
6941           abs/rel refs and intersheet-refs.
6942         (gnumeric_sheet_stop_cell_selection) : Add clear_string argument
6943           to optionally remove the selection range.
6944         (gnumeric_sheet_key_mode_sheet) : Adjust to movement of editing flag
6945           from sheet -> workbook.  Be careful to use the original sheet when
6946           moving rather than the current sheet.  Support F4 while editing.
6948         * src/cell-draw.c (cell_draw) : editing_cell has moved from sheet to
6949           workbook.  Fix font ref leak when drawing the edit cell.
6951         * src/dialogs/dialog-function-wizard.c : Begin transition to being
6952           non-modal.  NOT FINISHED.
6954 2000-03-10  Michael Meeks  <michael@helixcode.com>
6956         * src/Makefile.am (sheet-vector.h): make it depend on Gnumeric.h
6957         not Vector.h
6959 2000-03-09  Michael Meeks  <michael@helixcode.com>
6961         * src/sheet-object.c (sheet_set_mode_type): look for the
6962         IDL:Bonobo/ interfaces not stale IDL:GNOME ones.
6964 2000-03-09  Jon K Hellan  <hellan@acm.org>
6966         * src/corba-workbook.c (command_context_corba): Really handle wb
6967         == NULL.
6969 2000-03-08  Jon K Hellan  <hellan@acm.org>
6971         * src/corba-workbook-factory.c (WorkbookFactory_supports):
6972         (GNOME_Gnumeric_WorkbookFactory__create):
6973         Bonobo::GenericFactory::supports has been renamed to
6974         Bonobo::GenericFactory::manufactures. Replace supports with
6975         manufactures.
6977 2000-03-08  Jon K Hellan  <hellan@acm.org>
6979         * src/corba-workbook.c (command_context_corba): Handle wb =
6980         NULL. It would segfault.
6982         * src/Gnumeric.idl: Fixed places where a name at an inner scope
6983         differs only in case from a name at an outer scope. This breaks
6984         the rule that identifiers cannot differ only in case, because an
6985         identifier from a surrounding scope is introduced into a scope if
6986         it is used in that scope. The solution is to scope the outer
6987         identifiers explicitly:
6988         (GNOME::Gnumeric::Sheet::cell_set_value): Change Value to
6989         Gnumeric::Value.
6990         (GNOME::Gnumeric::Workbook::parse): Change Sheet to
6991         Gnumeric::Sheet.
6993         * src/dialogs/dialog-cell-comment.c (dialog_cell_comment): Set
6994         word wrap.
6996         * src/dialogs/dialog-summary.c (dialog_summary_update): Ditto.
6998 2000-03-08  Jukka-Pekka Iivonen  <iivonen@iki.fi>
7000         * src/sheet.c (sheet_destroy): Fixed a leak (in
7001         sheet->solver_parameters.input_entry_str).
7003 2000-03-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7005         * src/Vector.idl: Move the vector interfaces here.
7007         * src/Makefile.am: Arrange for compilation linking of Vector code.
7009 2000-03-07  Almer. S. Tigelaar.  <almer1@dds.nl>
7011         Gnumeric instances can now eXchange data in a gnumeric
7012         XML clipboard format. This way style information and such
7013         can be preserved when copying/cutting from one instance
7014         to another.
7016         * src/xml-io.c, src/xml-io.h :
7017         Added some functions for the gnumeric clipboard xml format.
7018         (gnumeric_xml_read_selection_clipboard) :
7019         For reading xml data from the clipboard
7020         (gnumeric_xml_write_selection_clipboard) :
7021         For writing xml data to the clipboard
7022         (xml_read_selection_clipboard) :
7023         For reading xml data from the clipboard, does the dirty work
7024         (xml_write_selection_clipboard) :
7025         For writing xml data to the clipboard, does the dirty work
7026         (xml_read_cell_copy) :
7027         Similar to xml_read_cell, but returns a CellCopy* instead
7028         of a Cell*
7029         (xml_write_cell_and_position) :
7030         Similar to old xml_write_cell but allows you to set the col and
7031         row manually
7032         (xml_write_cell) :
7033         Calls upon xml_write_cell_and_position, but takes the col and row
7034         from the ColRowInfo members of type Cell.
7035         (xml_read_style_region_ex) :
7036         Read the xml data and returns an mstyle and a range. Does
7037         _NOT_ attach this to a sheet.
7038         (xml_read_style_region) :
7039         calls upon xml_read_style_region_ex and attaches the mstyle
7040         to a sheet
7042         * src/cell.h
7043         New cellcopy type added CELL_COPY_TYPE_AND_COMMENT, if a
7044         cellcopy is of this type the comments will be put in
7045         cellcopy.comment
7047         * src/clipboard.c
7048         (paste_cell_flags) :
7049         added support for the new CELL_COPY_TYPE_TEXT_AND_COMMENT copy type
7050         (x_selection_received) :
7051         Modified so it support the TARGETS and GNUMERIC XML atoms and renders
7052         the gnumeric clipboard xml format
7053         (x_selection_handler) :
7054         Now it can render theselection to ASCII text and gnumeric clipboard xml
7055         format.
7056         (x_clipboard_bind_workbook) :
7057         Registers the new GNUMERIC XML atom that enables other instances of
7058         gnumeric to see that we are also gnumeric and can render the clipboard
7059         data in the special gnumeric xml clipboard format
7060         (clipboard_release) :
7061         Handles new CELL_COPY_TYPE_TEXT_AND_COMMENT type
7063 2000-03-01  Dom Lachowicz <dominicl@seas.upenn.edu>
7065         * src/dialogs/sheet-order.glade,
7066           src/dialogs/sheet-order.glade.h,
7067           src/dialogs/dialog-sheet-order.c: Created.
7069         * src/dialogs/Makefile.am: Added three above files to project
7071         * src/dialogs/dialogs.h (dialog_sheet_order): added new function
7073         * src/workbook.c (sheet_order_cmd): added
7074         (workbook_get_sheet_position, workbook_delete_sheet),
7075         (workbook_move_sheet, workbook_focus_sheet, wb_edit_key_pressed): updated.
7077         * src/workbook.h (workbook_delete_sheet, workbook_move_sheet): added
7079 2000-03-06  Michael Meeks  <michael@helixcode.com>
7081         * src/Gnumeric.idl: add nasty mess copied from Bonobo.
7083         * src/Makefile.am ($(GNUMERIC_CORBA_GENERATED)): Add -D__GNUMERIC_COMPILE
7085 2000-03-05  Jukka-Pekka Iivonen  <iivonen@iki.fi>
7087         * doc/C/solver.sgml, doc/C/images/solver-0[1,2,3,4,5].jpg: Added
7088         documentation of the Solver tool.
7090 2000-03-05  Jody Goldberg <jgoldberg@home.com>
7092         * src/dialogs/dialog-cell-format.c : Enable the underline and
7093           strikethrough elements. TODO : redo the preview for the font
7094           tab to support underlining and friends.
7096         * src/dialogs/cell-format.glade : Rename the underline combo and
7097           strikethrough button.
7099         * src/xml-io.c (xml_write_style) : Add strikethrough.
7100         (xml_read_style) : Ditto.
7102         * src/workbook-format-toolbar.c (workbook_feedback_set) : Only show
7103           the underline button for single underlines.
7105         * src/sheet-view.[ch] : rename select_all -> select_all_btn.
7106           remove unused element.
7108         * src/sheet-object.h : Remove silly self inclusion.
7110         * src/print-cell.c : Support underlining and strikethrough.
7111           Move even closer into sync with drawing code.
7113         * src/mstyle.c : Add strikethrough and cleanup includes.
7115         * src/main.h : Add include for popt.h.
7117         * src/item-grid.c (item_grid_draw_border) : No more need for BOTTOM or
7118           RIGHT.
7119         (item_grid_draw_cell) : Delete, and merge with draw_cell.
7121         * src/commands.c (cmd_set_text_undo) : Use cursor_set rather than
7122           cursor_move.
7123         * src/corba-sheet.c (Sheet_cursor_move) : Ditto.
7124         (gnumeric_sheet_key_mode_sheet) : Ditto.
7125         * src/workbook.c (workbook_parse_and_jump) : Ditto.
7127         * src/cell-draw.c : Clean includes, add support for strikethrough.
7129 2000-03-04  Morten Welinder  <terra@diku.dk>
7131         * src/sheet.c (r1c1_get_item): Fix signed/unsigned char confusion.
7133         * src/dialogs/dialog-autocorrect.c (autocorrect_tool): Massive
7134         signed/unsigned char confusion.
7136         * src/solver-lp.c (find_name): Kill a warning.
7138         * src/func.c (function_get_category): Kill a warning.
7140         * src/dialogs/dialog-plugin-manager.c (refresh_right_frame): Kill
7141         a warning.
7143 2000-03-03  Jody Goldberg <jgoldberg@home.com>
7145         * src/cell-draw.c (cell_draw) : Correct off by one error for
7146           right alignment.
7148         * src/print-cell.c (print_cell_text) : Ditto.
7149         (print_cell_range) : Don't forget to increment when dealing with
7150           hidden cols/rows.
7152         * src/item-grid.c (item_grid_draw) : Ditto.
7154 2000-03-01  Dom Lachowicz <dominicl@seas.upenn.edu>
7156         * src/dialogs/dialog-plugin-manager.c (add_to_clist, populate_clist),
7157         (add_cb, remove_cb, row_cb, remove_cb, dialog_plugin_manager),
7158         (dialog_plugin_manager_impl): Re-implemented dialog.
7159         (refresh_right_frame): New function
7161         * src/dialogs/plugin-manager.glade: updated.
7163         * src/dialogs/plugin-manager.glade.h: updated
7165 2000-03-03  Morten Welinder  <terra@diku.dk>
7167         * src/workbook.c: Fix 6760.
7169 2000-03-03  Jon K Hellan  <hellan@acm.org>
7171         * doc/python-gnumeric.txt: Updated documentation
7173 2000-03-02  Jon K Hellan  <hellan@acm.org>
7175         * src/symbol.c (symbol_is_unused): Test went wrong way.
7176         (symbol_remove): Ditto.
7178 2000-03-01  Dom Lachowicz <dominicl@seas.upenn.edu>
7180         * src/functions/fn-eng.c (val_to_base): Catch Div0 && invalid log()
7181         domain.
7183         * src/functions/fn-financial (gnumeric_accrint, gnumeric_received),
7184         (gnumeric_pricemat): Same
7186         * src/functions/fn-stat.c (gnumeric_ttest): Ditto
7188 2000-03-02  Michael Meeks  <michael@helixcode.com>
7190         * src/sheet-vector.c (sheet_vector_corba_object_create): made static.
7191         (sheet_vector_new): setup sheet_vector->sheet.
7192         (sheet_vector_detach): re-arrange to compile.
7194 2000-03-02  Jon K Hellan  <hellan@acm.org>
7196         * doc/python-gnumeric.txt: Updated documentation
7198         * src/func.h: Make FunctionCategory.name a String * instead of
7199         gchar *. This was necessary to allow user defined categories.
7200         src/func.c (function_category_compare, function_get_category): Use
7201         new FunctionCategory. Fix wrong use of g_list_find_custom.
7202         (function_def_count_args, function_def_get_arg_type): Null pointer
7203         check.
7205         * src/dialogs/dialog-function-select.c (function_categories_fill):
7206         ditto.
7208 2000-03-02  Almer. S. Tigelaar.  <almer1@dds.nl>
7210         * src/dialogs/dialog-stf-format-page.c
7211         * src/dialogs/dialog-stf-preview.c
7212         * src/dialogs/dialog-stf-preview.h
7213         * src/dialogs/dialog-stf.c
7214         Modified, the format page now really display formatted
7215         cells in the preview.
7216         NOTE : A downside of this is that the cache is no longer shared
7217         between fixed/csv pages and format pages.
7219         * src/dialogs/dialog-stf.c
7220         (dialog_stf_editables_enter) :
7221         Disabled "enter activates default button" for the TextIndicator
7222         field on the csv page. This would case the page to cycle, which
7223         is ok, but it also caused the dropdown option to pop-up on the
7224         next page, which is not ok.
7226 2000-03-02  Jon K Hellan  <hellan@acm.org>
7228         * src/dialogs/dialog-stf.c (dialog_stf_druid_page_cancel): In
7229         Yes/No dialog - set initial keyboard focus to "No". It went
7230         nowhere.
7231         (dialog_stf_set_initial_keyboard_focus): New function: Set
7232         keyboard focus to an appropriate widget on the page.
7233         (dialog_stf_druid_page_next, dialog_stf_druid_page_previous): Set
7234         initial keyboard focus.
7235         (dialog_stf_druid_page_next): Make "Finish" button default on the
7236         final page. This doesn't change behaviour, but cues the user
7237         visually.
7238         (dialog_stf_druid_page_previous): Restore "Next" button as default
7239         when coming from final page.
7240         (dialog_stf_check_escape): New function: Watch keypresses, and
7241         simulate "Cancel" when you see <Escape>.
7242         (dialog_stf_attach_page_signals): Connect dialog_stf_check_escape
7243         to handle <Escape>.
7244         (dialog_stf_editables_enter): New function: Make <Ret> in text
7245         fields activate default.
7246         (dialog_stf): Use dialog_stf_editables_enter,
7247         dialog_stf_set_initial_keyboard_focus. Make "next" button the
7248         default button. Make window a child of the workbook window.
7250         * src/dialogs/dialog-stf-format-page.c (format_page_init): Make
7251         format list titles passive.
7253         * src/dialogs/dialog-stf-fixed-page.c (fixed_page_init): Make
7254         column list titles passive.
7256         * src/clipboard.c (x_selection_to_cell_region): Add command
7257         context to interface. Use it when calling dialog_stf.
7258         (x_selection_to_cell_region):
7259         (x_selection_received): Call x_selection_to_cell_region with
7260         workbook_command_context_gui.
7262 2000-03-02  Miguel de Icaza  <miguel@helixcode.com>
7264         * src/about.c (dialog_about): Changed to www.helixcode.com
7266 2000-03-01  Miguel de Icaza  <miguel@helixcode.com>
7268         * src/parser.c (gnumeric_expr_parser): Make preconditions clear.
7270         * src/ranges.c: Removed gnome.h from the include list.
7272         * src/sheet.h: Fix comment.  The list contains SheetSelection
7273         structures not Ranges.
7275 2000-03-01  Jon K Hellan  <hellan@acm.org>
7277         * src/dialogs/cell-format.glade: Font pane: Make accelerator for
7278         underline combo work. Enable strikethrough.
7280 2000-03-01  Jody Goldberg <jgoldberg@home.com>
7282         * src/cell-draw.c (draw_text) : adjust placement of single vs double
7283           underlining.
7285 2000-03-01  Michael Meeks  <michael@helixcode.com>
7287         * configure.in: Bump required ver. of gnome-print.
7289         * src/style.c (style_font_get_height): hack for new gnome-print
7290         to kill annoying warning.
7292 2000-03-01  Jon K Hellan  <hellan@acm.org>
7294         * src/dialogs/cell-format.glade: Enable underline in fonts pane.
7296 2000-03-01  Jon K Hellan  <hellan@acm.org>
7298         * src/dialogs/advanced-filter.glade: Added accelerators and some
7299         padding.
7301 2000-02-29  Jody Goldberg <jgoldberg@home.com>
7303         * src/print-cell.c (print_cell_text) : Correct the docs,
7304           and add clipping code.  The resulting postscript looks reasonable
7305           now.  Unfortunately preview sucks.
7307         * src/sheet.c (sheet_get_extent_cb) : Teach about spans.
7308         (sheet_get_extent) : max_used is NOT a viable bound.  It limits the
7309           cells with contents, but does not reflect spanning cells.
7311 2000-02-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7313         * src/cell.c (cell_content_changed): Notify the sheet that the
7314         cell changed using sheet_cell_changed.
7316         * src/sheet-vector.c: New file.  Implements the Gnumeric:Vector
7317         interface (and supports non-contiguous ranges)
7319         * src/sheet.c (sheet_destroy): free private structure.
7320         (sheet_new): init private structure.
7321         (sheet_cell_changed): New function.
7323         * src/sheet-private.h: New file.
7325         * src/sheet.h: Sheet structure includes SheetPrivate field now.
7327 2000-02-29  Jody Goldberg <jgoldberg@home.com>
7329         * src/workbook-format-toolbar.c (change_selection_font) : Add underline.
7330         (underline_cmd) : New function.
7331         (workbook_format_toolbar) : Add underline.
7332         (workbook_feedback_set) : Ditto.
7334         * src/xml-io.c (xml_read_style) : Restore underline style.
7335         (xml_write_style) : Save the underline style.
7337         * src/pattern.c (gnumeric_background_set_pc) : suppress warning.
7339         * src/mstyle.[ch] : Add MSTYLE_FONT_UNDERLINE.
7340         (mstyle_get_font_uline) : New function.
7341         (mstyle_set_font_uline) : New function.
7343         * src/cell-draw.c (draw_text) : new function to add underlines.
7344         (draw_overflow) : Use draw_text.
7345         (cell_draw) : Ditto.
7347         * src/gnumeric.h : Add StyleUnderlineType.
7349         * gnumeric.spec.in : Update the requirements.
7351 2000-03-01  Jon K Hellan  <hellan@acm.org>
7353         * doc/python-gnumeric.txt: Clarified mapping of arrays.
7355 2000-02-29  Jody Goldberg <jgoldberg@home.com>
7357         * src/cell-print.c : Sync with logic in item-bar::draw to add borders
7358           and more correctly handle spanning.
7360         * src/pattern.c (gnumeric_background_set_pc) : New routine cloned from
7361           gnumeric_background_set_gc.
7363         * src/border.c (style_border_set_pc_dash) : New routine cloned from
7364           style_border_set_gc_dash.
7365         (style_border_set_pc) : New routine cloned from style_border_set_gc.
7366         (style_border_print) : New routine cloned from style_border_draw.
7368         * src/cell-draw.c (cell_draw) : No need to return number of spans.
7370 2000-02-29  Jukka-Pekka Iivonen  <iivonen@iki.fi>
7372         * src/sheet.c (sheet_new): Added initialization of all the Solver
7373         parameters.
7375         * src/xml-io.c: Enabled the solver parameter saving again.
7377 2000-02-29  Jon K Hellan  <hellan@acm.org>
7379         * src/gnumeric-util.[ch] (gnumeric_set_transient): New
7380         function. Make the window a child of the workbook in the command
7381         context, if there is one.
7382         (gnumeric_editable_enters): New function. Like
7383         gnome_dialog_editable_enters, but not just for GnomeDialogs.
7385         * src/gnumeric-util.c (gnumeric_dialog_run): Remove incorrect
7386         comment.
7387         (gnumeric_dialog_show): Fix typo.
7389 2000-02-29  Jon K Hellan  <hellan@acm.org>
7391         * src/dialogs/dialog-cell-format.c: The dialog moved when "Apply"
7392         was pressed. This was an unavoidable consequence of using
7393         gnome_dialog_run. We switch to a purely callback based design -
7394         this module was almost there, anyway. And we can make the dialog
7395         modeless if we wish.
7396         (cb_fmt_dialog_dialog_destroy): New function. Free resources upon
7397         "destroy". This gets called whenever "OK" or "WM close" are
7398         pressed.
7399         (fmt_dialog_impl): Connect "destroy" handler. Replace
7400         gnome_dialog_run (recursive main loop) with gnumeric_dialog_show
7401         (no such thing). Set modal explicitly.
7402         (dialog_cell_format): Remove initial comment which these changes
7403         made incorrect. Allocate state record on heap instead of stack.
7404         Move resource deallocation to cb_fmt_dialog_destroy.
7406 2000-02-28  Jody Goldberg <jgoldberg@home.com>
7408         * src/value.c (value_new_cellrange) : Normalize ranges
7409           to ensure that start <= end.
7411 2000-02-28  Morten Welinder  <terra@diku.dk>
7413         * src/datetime.c (datetime_serial_raw_to_serial): Use floor.
7414         (datetime_serial_raw_to_seconds): Ditto.
7416         * src/format.c (format_number): Keep the sign when considering
7417         dates.
7419         * src/parser.y (unregister_allocation): Handle special error
7420         situation without issueing a bogus message.
7422 2000-02-28  Jody Goldberg <jgoldberg@home.com>
7424         * src/selection.c (sheet_selection_walk_step) : Fix typo.
7426 2000-02-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7428         * src/widgets/widget-color-combo.c (color_combo_finalize): Memory
7429         leak fix.  Found by Morten.
7431 2000-02-28  Jody Goldberg <jgoldberg@home.com>
7433         * src/sheet-view.c (button_select_all) : Redraw after selection.
7435         * src/selection.c (sheet_selection_walk_step) : Don't wrap when moving
7436           the singleton cursor.
7438         * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) :
7439            - Shift tab should be horizontal.
7440            - Shift/None Tab/Enter should accept pending input.
7442 2000-02-28  Jody Goldberg <jgoldberg@home.com>
7444         * src/expr.h : Move FunctionDefinition to
7445         * src/gnumeric.h : here.
7447         * src/cellspan.c (col_hash) : Use GPOINTER_TO_INT.
7448         (col_compare) : Ditto.
7449         (row_init_span) : Delete.
7450         (free_hash_value) : Renamed from free_hash_key.
7451         (cell_register_span) : Register all cells in a span, malloc a
7452           CellSpanInfo to store a descriptor about the first and last cols.
7453         (assemble_unregister_span_list) : Delete.
7454         (span_remove) : New function for use by g_hash_table_foreach_remove.
7455         (cell_unregister_span) : Use g_hash_table_foreach_remove.
7456         (row_cell_get_displayed_at) : Adjust to new descriptor.
7457         (row_span_get) : New function.
7459         * src/cell.c (cell_calculate_span) : Renamed from cell_get_span.
7461         * src/cell-draw.c (cell_draw) : Do not draw backgrounds here.
7462           Use new CellSpanInfo to avoid recomputing spans every time.
7463         (cell_is_blank) : Remove hack about treating empty strings as empty.
7465         * src/cellspan.h : New file.  Move span decls here.
7467         * src/item-grid.c (item_grid_draw) : Rework to correctly handle
7468           backgrounds and borders for spanning columns.
7470 2000-02-27  Jody Goldberg <jgoldberg@home.com>
7472         * src/cell.c (cell_is_blank) : Update.
7474         * src/border.c (style_border_draw) : Make somewhat more correct.
7475           Still broken for non-top-left corners.
7477         * src/item-grid.c (item_grid_draw_border) : Ditto.
7478         (item_grid_draw_background) : Rename from item_grid_paint_empty_cell
7479           handle spans more cleanly.
7480         (item_grid_draw_cell) : handle conditionals for displaying contents here.
7481           Remove all handling of backgrounds.
7483 2000-02-28  Michael Meeks  <michael@helixcode.com>
7485         * src/xml-io.c (xml_sheet_read, xml_sheet_write): kill for now.
7487 2000-02-28  Jukka-Pekka Iivonen  <iivonen@iki.fi>
7489         * src/utils.c (parse_cell_name_or_range): Bug fix.  Single cell
7490         constraints can be added again.
7492         * src/solver-lp.c (count_dimensions, make_solver_arrays,
7493         solver_affine_scaling, solver_branch_and_bound): The Solver can
7494         now solve the negative variables too.
7496         * src/dialogs/dialog-solver.c (dialog_solver_options): Made the
7497         `Assume non-negative' to be sensitive.
7499 2000-02-28  Morten Welinder  <terra@diku.dk>
7501         * src/format.c (render_number): Move calculation of thousand's sep
7502         outside the loop.  Avoid calculations way beyond double's
7503         precision.
7505 2000-02-24  Dom Lachowicz <dominicl@seas.upenn.edu>
7507         * src/functions/fn-eng.c (convert): catch DIV0
7509         * src/functions/fn-financial.c (gnumeric_accrint), (gnumeric_accrintm),
7510         (gnumeric_intrate), (gnumeric_disc), (gnumeric_db),
7511         (gnumeric_ddb), (gnumeric_mirr), (gnumeric_pv): More errors.
7513         * src/function/fn-math.c (gnumeric_quotient): ditto.
7515         * src/function/fn-stat.c (callback_function_stat),
7516         (callback_function_chitest_theoretical, gnumeric_betadist),
7517         (gnumeric_confidence, gnumeric_ftest): ditto.
7519 2000-02-27  Jukka-Pekka Iivonen  <iivonen@iki.fi>
7521         * src/solver-lp.c, src/dialogs/dialog-solver.c: Constraints can
7522         now also be cell ranges.
7523         (write_constraint_str): Wrote.
7525         * src/utils.[ch] (parse_cell_name_or_range): Wrote.
7527         * src/xml-io.c: Related changes.
7529 2000-02-26  Jon K Hellan  <hellan@acm.org>
7531         * doc/python-gnumeric.txt: New file. Documents the Python plugin.
7533 2000-02-26  Jody Goldberg <jgoldberg@home.com>
7535         * src/formats.c (CurrencySymbol) : Add symbols and names to
7536           translation list.
7538         * src/workbook.c (insert_object_cmd) : Bug 6499.
7539           Move Define name to the insert menu to avoid conflict.
7541 2000-02-26  Jukka-Pekka Iivonen  <iivonen@iki.fi>
7543         * src/xml-io.c (xml_read_solver): New. (xml_write_solver): New.
7544         Added saving and loading of the Solver parameters.  The parameters
7545         are per sheet.
7547         * src/dialogs/dialog-solver.c: A few bug fixes and improvements.
7549 2000-02-22  Jody Goldberg <jgoldberg@home.com>
7551         * src/workbook-format-toolbar.c
7552         (workbook_format_toolbutton_update) : new.
7553         (workbook_format_halign_feedback_set) : new
7554         (workbook_feedback_set) : Use the new functions.
7555         (set_selection_halign) : ditto.
7557 2000-02-25  Jukka-Pekka Iivonen  <iivonen@iki.fi>
7559         * src/mathfunc.[ch]: Implemented Branch-And-Bound algorithm for
7560         integer programming.
7562         * src/solver-lp.c (count_dimensions): Wrote.
7563         (make_solver_arrays): Wrote.
7564         (make_int_array): Wrote.
7565         (solver_branch_and_bound): Wrote.  Solver can now handle the
7566         `Int' constraints too.
7567         (solver_lp): Wrote.
7569         * src/solver.h: Added prototype.
7571         * src/dialogs/dialog-solver.c: Related changes.
7573 2000-02-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7575         * src/Makefile.am (-DGNUMERIC_GLADEDIR): Removed iconsdir if it is
7576         not going to get used.
7578 2000-02-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7580         * src/widgets/widget-color-combo.c (color_combo_construct): Fix
7581         indentation.
7583         * src/sheet-object-container.c (sheet_object_container_realize):
7584         OOPS.  Add uih back.
7586         * Fresh ChangeLog.