1.12.43
[gnumeric.git] / OChangeLog-2001-06-26
blob8bbb19b4ef679402ce0b4917e5ed33217d5f4c71
1 2001-06-27  Jody Goldberg <jgoldberg@home.com>
3         * Release 0.66
5 2001-06-26  Jody Goldberg <jgoldberg@home.com>
7         * configure.in : restore the zh translations.
9 2001-06-26  Jody Goldberg <jgoldberg@home.com>
11         * src/workbook-control-gui.c (workbook_control_gui_init) : load the ui
12           file from a version specific location.
14         * src/Makefile.am : No need for GNOME_DATADIR anymore.
16         * gnumeric.spec.in : Move the bonobo ui file into a version specific
17           location.
19 2001-06-25  Jody Goldberg <jgoldberg@home.com>
21         * src/xml-io.c (xml_not_used_old_array_spec) : fix a few warnings.
23 2001-06-23  Almer S. Tigelaar  <almer@gnome.org>
25         * src/item-cursor.c (item_cursor_do_drop): Always clear
26         the status text.
28         * src/GNOME_Gnumeric.xml: Add missing outline menu items.
30 2001-06-22  Morten Welinder  <terra@diku.dk>
32         * src/goal-seek.c (update_data): Prefer absolute lowest y-value in
33         cases where we have only one side of zero.
35 2001-06-21  Morten Welinder  <terra@diku.dk>
37         * src/summary.c: #include <string.h> for strlen.
39         * src/search.c (calculate_replacement): Warning killer.
41         * src/regression.c: #include <stdlib.h> for abs.
43         * src/plugin-loader-module.c: #include <string.h> for strcmp.
45         * src/formats.c (cell_format_fraction): Avoid accidental use of
46         trigraph.
48         * src/complete.c: #include <stdlib.h> for abort.
50 2001-06-21  Almer S. Tigelaar  <almer@gnome.org>
52         * src/gnumeric-sheet.c (border_mutate): New, toggles
53         borders around regions.
55         (gnumeric_sheet_key_mode_sheet):
56         Make Ctrl+Backspace center on the active cell.
57         Add support for Locked scrolling with the arrow keys, home and end.
58         Add support for Ctrl+Shift ~, $, %, ^, #, @, !, & and _ shortcut keys
59         for formatting and border mutations.
61         * src/workbook-control-gui.c, src/GNOME_Gnumeric.xml:
62         Change keybinding of Goto Cell from Ctrl+G to F5.
63         Set keybinding of Search&Replace to F6.
64         Set keybinding of Define Names to Ctrl+F3
66 2001-06-20  Almer S. Tigelaar  <almer@gnome.org>
68         * src/workbook-control-gui.c (wbcg_claim_selection):
69         Use wbcg->toplevel, not wbcg->table. This fixes
70         copying from Gnumeric to another application.
72         * src/print.c (print_page_cells): Convert scaling percentage
73         to factor.
74         (setup_scale): Idem.
75         (print_page): Idem.
76         (compute_group): Idem.
78 2001-06-20  Jody Goldberg <jgoldberg@home.com>
80         * src/number-match.c (compute_value) : parse 12:xx am correctly.
82 2001-06-19  Jody Goldberg <jgoldberg@home.com>
84         * src/commands.c (cmd_search_replace_do_cell) : Adjust to ref
85           semantics change.
87         * src/number-match.c (format_match) : do not add a ref to the
88           resulting format.
90         * src/sheet.c (sheet_cell_set_text) : no need to unref anymore.
91         (sheet_range_set_text) : ditto.
93         * src/cell.c (cell_assign_value) : ref before unref.
94         (cell_eval_content) : Use a simplified assignment to avoid refing and
95           unrefing the formats.
96         (cell_set_text) : cleanup reference handling.
98 2001-06-19  Morten Welinder  <terra@diku.dk>
100         * src/number-match.c (compute_value): Don't g_barf on invalid
101         dates.
103 2001-06-19  Almer S. Tigelaar  <almer@gnome.org>
105         * src/item-cursor.c (item_cursor_tip_setstatus): New function.
106         (cb_move_cursor): Call item_cursor_tip_setstatus.
107         (item_cursor_do_drop): Clear the status text.
109 2001-06-19  Morten Welinder  <terra@diku.dk>
111         * configure.in: Add derivatives plugin.
112         * plugins/Makefile.am (SUBDIRS_FUNCTIONS): Ditto.
114         * src/plugin.h: Fix includes.
116 2001-06-19  Yukihiro Nakai <nakai@gnome.gr.jp>
118         * configure.in: Re-add ja to ALL_LINGUAS.
120 2001-06-18  Jody Goldberg <jgoldberg@home.com>
122         * src/item-cursor.c (ActionType) : all actions must be > 0.
124 2001-06-17  Jody Goldberg <jgoldberg@home.com>
126         * src/io-context.c (workbook_io_progress_set) : delete update based on
127           styles.  This operation leaked and was very expensive.
129 2001-06-18  Almer S. Tigelaar  <almer@gnome.org>
131         * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet):
132         Support for end and ctrl+end.
134         * src/workbook-control-gui.c: Add accelerator for
135         formula/value toggling.
137         * src/GNOME_Gnumeric.xml: Add missing accelerator for
138         goto cell and new accelerator for formula/value toggling.
140 2001-06-18  Karl Eichwalder  <ke@suse.de>
142         * src/main.c (gnumeric_main): Add missing exclamation mark.
144 2001-06-17  Jody Goldberg <jgoldberg@home.com>
146         * src/sheet-style.c (cb_filter_style) : delete code that is irrelevant
147           now that borders are sane.
148         (sheet_style_get_uniform) : ditto.
150 2001-06-14  Jody Goldberg <jgoldberg@home.com>
152         * src/sheet-control-gui.c (scg_colrow_select) : don't
153           discard input when selecting a range.
155         * src/xml-io.c (xml_write_range) : Add some safety.
157 2001-06-13  Jody Goldberg <jgoldberg@home.com>
159         * src/format.c (render_number) : improve rounding and cleanup.
161 2001-06-12  Jody Goldberg <jgoldberg@home.com>
163         * src/cell.c (cell_cleanout) : call dirty here.
164         (cell_destroy) : not here.
165         (cell_set_text) : or here.
166         (cell_set_value) : or here.
167         (cell_set_expr_and_value) : or here.
168         (cell_set_expr_internal) : or here.
170 2001-06-11  Jody Goldberg <jgoldberg@home.com>
172         * src/print.c (compute_group) : add more error checking to avoid
173           possibility of infinite loop.
175         * src/print-info.c (print_info_new) : init num copies.
177         * src/mathfunc.c (stern_brocot) : move this here from
178         * format.c : here.
180 2001-06-13  Morten Welinder  <terra@diku.dk>
182         * src/mathfunc.c (gnumeric_add_epsilon): Make non-static.
183         (gpow10): Use table for the range -20 ... +20.
185 2001-06-12  Zbigniew Chyla  <cyba@gnome.pl>
187         * src/io-context-priv.h
188         (enum GnumProgressHelperType, struct GnumProgressHelper): Two extra
189         helpers (value, workbook) + changes in count helper), removed min_f and
190         max_f fields.
191         (struct ProgressRange): New.
192         (struct _IOContext): Added progress_ranges, progress_min, progress_max.
194         * src/io-context.h
195         (enum WbProgressElements): New.
196         (file_io_progress_set, memory_io_progress_set):
197         Removed min_f and max_f arguments.
198         (count_io_progress_set): Added step argument, removed min_f and max_f.
199         (count_io_progress_update): s/value/inc.
200         (io_progress_range_push, io_progress_range_pop,
201         value_io_progress_set, value_io_progress_update,
202         workbook_io_progress_set, workbook_io_progress_update): New.
204         * src/io-context.c
205         (io_context_init): Initialize extra fields: progress_ranges,
206         progress_min, progress_max.
207         (io_progress_update): Adjust the value, using current range
208         <progress_min, progress_max>.
209         (io_progress_range_push, io_progress_range_pop): New.
210         (file_io_progress_set, memory_io_progress_set):
211         Removed min_f and max_f arguments.
212         (file_io_progress_update, memory_io_progress_update): Don't adjust value
213         to current range, io_progress_update takes care of this.
214         (count_io_progress_set): Added "step" argument, initialize extra
215         struct fields: last, current, step.
216         (count_io_progress_update): Take value increase as an argument, not
217         value itself. Return immediately if value hasn't changed enough.
218         (value_io_progress_set, value_io_progress_update,
219         workbook_io_progress_set, workbook_io_progress_update): New. Two
220         additional helpers, "workbook" should be very useful when saving
221         workbook.
223         * src/xml-io.h (struct _XmlParseContext): Removed element_counter.
225         * src/xml-io.c
226         (xml_read_styles, xml_sheet_read): Don't increment element_counter
227         manually, just call count_io_progress_update.
228         (xml_workbook_read): Pass the size of the step to
229         count_io_progress_set, use io_progress_range_{push,pop}.
230         (gnumeric_xml_read_workbook): Use io progress helper of type "value".
232 2001-06-11  Juan Pablo Mendoza <pablo_juan@yahoo.com>
234         * .cvsignore: Add GNOME_Gnumeric.oaf.
236 2001-06-10  Jody Goldberg <jgoldberg@home.com>
238         * src/format.c (format_value) : if no conditions match treat as
239           General, not as empty.
240         (format_compile) : No need to use a catch all condition if there are
241           some conditions.
243 2001-06-08  Jody Goldberg <jgoldberg@home.com>
245         * src/workbook-control-gui.c (workbook_menu_format_row) : avoid
246           duplicate use of 'H' as accelerator.
247         * src/GNOME_Gnumeric.xml : Ditto.
249 2001-06-08  Almer S. Tigelaar  <almer@gnome.org>
251         * src/embeddable-grid.c (grid_view_activate): Use
252         scg->gsheet.
254 2001-06-07  Jody Goldberg <jgoldberg@home.com>
256         * src/selection.c (sheet_selection_set_internal) : Add some sanity
257           checking for safety.
258         * src/sheet.c (sheet_set_edit_pos) : ditto.
259         (sheet_redraw_cell_region) : ditto.
261         * src/rendered-value.c (cell_get_rendered_text) : We need this for
262           now.  There are functions that actualyl rely on the rendered text.
264 2001-06-06  Jody Goldberg <jgoldberg@home.com>
266         * src/gui-file.c (gui_file_open) : There is no point showing the
267           create/delete/rename buttons when loading.
268         (gui_file_import) : and importing.
270 2001-06-07  Almer S. Tigelaar  <almer@gnome.org>
272         * src/consolidate.c (retrieve_col_tree): Ignore
273         empty values.
274         (retrieve_row_tree): Idem.
275         (key_list_get): Idem.
276         (key_list_free): Burn.
277         (colrow_consolidate): Free the lists directly instead
278         of calling key_list_free.
279         (simple_consolidate): Add flag, we don't want
280         range merge optimizations on simple consolidations.
281         (consolidate_apply): Adjust call to simple_consolidate.
282         (cb_col_tree): Idem.
283         (cb_row_tree): Idem.
285 2001-06-07  Almer S. Tigelaar  <almer@gnome.org>
287         * src/workbook-control.h: Remove MS_ALL as flag
288         and make it a define.
290         * src/workbook-control-gui.c (wbcg_menu_state_update):
291         Remove MS_ALL flag handling.
293 2001-06-07  Almer S. Tigelaar  <almer@gnome.org>
295         * src/workbook-control.h: Add MS_CONSOLIDATE.
297         * src/workbook-edit.c (wbcg_edit_attach_guru): Call
298         wb_control_menu_state_update
299         (wbcg_edit_detach_guru): Idem.
301         * src/workbook-control-gui-priv.h: Add consolidation
302         menu item.
304         * src/workbook-control-gui.c (wbcg_menu_state_update): Add
305         consolidation menu item.
306         (workbook_control_gui_init): Initialize consolidation
307         menu item.
309 2001-06-06  Almer S. Tigelaar  <almer@gnome.org>
311         * src/stf.c (stf_read_workbook): Fix warning.
313 2001-06-06  Almer S. Tigelaar  <almer@gnome.org>
315         * src/gnumeric.h : Add new GlobalRange.
317         * src/ranges.[ch] (global_range_new): Create a new globalrange.
318         (global_range_free): Free.
319         (global_range_overlap): Utility function.
320         (global_range_dup): Idem.
322         * src/sheet.[ch] (sheet_cell_get_value): New function.
324         * src/workbook-control-gui.c (cb_data_consolidate) :
325         Entry point for the data consolidation dialog.
327         * src/GNOME_Gnumeric.xml : Add consolidate menu item.
329         * src/commands.c (cmd_consolidate) : Undo/redo for consolidate.
330         (cmd_consolidate_destroy) : Idem.
331         (cmd_consolidate_redo) : Idem.
332         (cmd_consolidate_undo) : Idem.
334         * src/consolidate.[ch] : Consolidation low-level code.
336 2001-06-05  Zbigniew Chyla  <cyba@gnome.pl>
338         * src/gnumeric-util.[ch] (gnumeric_dialog_file_selection): New
339         function, some code moved from gui-file.c.
341         * src/workbook.[ch] (workbook_get_filename): New accessor function.
343         * src/gui-file.h
344         (gui_file_open): New function.
345         (gui_file_import): Removed fname argument.
347         * src/gui-file.c
348         (gui_file_import): Create and open file selector, using
349         gnumeric_dialog_file_selection to display it. Use one dialog to select
350         file and file format, we don't need glade file anymore. Optionally
351         show all registered openers as importers.
352         (gui_file_save_as): Uses gnumeric_dialog_file_selection. Take
353         workbook's current saver if current_saver is NULL (previously we've
354         been loosing this information), use
355         gnumeric_option_menu_get_selected_index instead of playing with
356         signals.
357         (gui_file_open): New function, some code moved from
358         dialog_query_load_file.
359         (gui_file_save): Always call wb_view_preferred_size.
360         (do_save_as): Take GnumFileSaver as argument.
361         (cb_select, handle_ok, saver_activate, fill_save_menu,
362         make_format_chooser, file_dialog_delete_event, fs_key_event,
363         fs_set_filename): Removed.
365         * src/workbook-control-gui.c
366         (cb_file_new): Just call gui_file_open.
367         (cb_file_import): Call gui_file_import.
368         (workbook_control_gui_init): Initialize current_saver with NULL.
370 2001-06-05  Zbigniew Chyla  <cyba@gnome.pl>
372         * src/workbook.c (workbook_new): Slight modification of the previous
373         patch.
375 2001-06-04  Jody Goldberg <jgoldberg@home.com>
377         * src/workbook.c (workbook_new) : Use the extension associated with
378           the default saver as the default extension.
380 2001-06-04  Zbigniew Chyla  <cyba@gnome.pl>
382         * src/func.c (function_def_get_full_info_if_needed): Use fn_type to
383         check if we need to get full information.
385 2001-06-04  Almer S. Tigelaar  <almer@gnome.org>
387         * src/stf-parse.[ch] : Burn useless comments.
388         (stf_parse_options_csv_set_separators): Change interface.
389         (stf_parse_csv_is_separator): Adjust for interface change.
390         (stf_parse_options_new): Burn modified and old splitpositions.
391         (stf_parse_options_set_type): Constify.
392         (stf_parse_options_set_line_terminator): Idem.
393         (stf_parse_options_set_lines_to_parse): Idem.
394         (stf_parse_options_set_trim_spaces): Idem.
395         (stf_parse_options_csv_set_customfieldseparator): Burn.
396         (stf_parse_options_csv_set_stringindicator): Constify.
397         (stf_parse_options_csv_set_indicator_2x_is_single): Idem.
398         (stf_parse_options_csv_set_duplicates): Idem.
399         (stf_parse_options_fixed_splitpositions_add): Idem.
400         (stf_parse_csv_cell): Cosmetic changes and adjust for
401         change to stf_parse_csv_is_separator, plus use GList.
402         (stf_parse_fixed_cell): Cosmetic changes.
403         (stf_parse_fixed_line): Idem and use GList.
404         (stf_parse_general): Optimize loop and use GList's.
405         (stf_parse_get_rowcount): Cosmetic changes.
406         (stf_parse_get_colcount): Idem.
407         (stf_parse_get_longest_row_width): Idem and fix.
408         (stf_parse_get_colwidth): Idem and fix.
409         (stf_parse_convert_to_unix): Rewrite.
410         (stf_parse_is_valid_data): Idem and constify.
411         (stf_parse_options_fixed_autodiscover): Constify.
412         (stf_parse_sheet): Rewrite.
413         (stf_parse_region): Idem.
415         * src/gui-clipboard.c (x_selection_to_cell_region):
416         Constify return variable from stf_parse_is_valid_data.
418 2001-06-04  Zbigniew Chyla  <cyba@gnome.pl>
420         Displaying a question dialog if the user wants to export workbook
421         with many sheets to file format supporting only one.
423         * src/file-priv.h (struct _GnumFileSaver): Added save_scope.
425         * src/file.h (gnum_file_saver_set_save_scope,
426         gnum_file_saver_get_save_scope, enum FileSaveScope): New.
428         * src/file.c
429         (gnum_file_saver_init): Initialize save_scope with FILE_SAVE_WORKBOOK.
430         (gnum_file_saver_set_save_scope, gnum_file_saver_get_save_scope): New.
432         * src/gui-file.c (do_save_as): Optionally display a question dialog if
433         we have many sheets and the saver can save only one.
435         * src/plugin-service.h
436         (struct _PluginServiceFileSaver): Added save_scope.
438         * src/plugin-service.c (plugin_service_file_saver_read,
439         gnum_plugin_file_saver_new): Support save_scope attribute.
441 2001-06-04  Zbigniew Chyla  <cyba@gnome.pl>
443         * src/xml-io.c:
444         Reverted my last patch to save users' swap-space :-)
446 2001-06-03  Jody Goldberg <jgoldberg@home.com>
448         * src/cellspan.c (cell_calc_span) : do not span expressions
449           because they do not span when recalculated.  This will be fixed when
450           just in time rendering is done.
452 2001-06-03  Jody Goldberg <jgoldberg@home.com>
453         From Juan Pablo Mendoza <pablo_juan@yahoo.com>
455         * rendered-value.c (rendered_value_get_text): Add a check for
456           rendered value != NULL.
457         (cell_get_rendered_text): Add check for redered value == NULL
459 2001-06-03  Jody Goldberg <jgoldberg@home.com>
461         * src/workbook.c (workbook_expr_relocate) : flag all sheets as needing
462           status updates.
464 2001-06-03  Zbigniew Chyla  <cyba@gnome.pl>
466         Updating i/o progress while saving Gnumeric XML file.
468         * src/xml-io.c
469         s/N_ELEMENTS_BETWEEN_UPDATES/N_INPUT_ELEMENTS_BETWEEN_UPDATES
470         (xml_write_cell_and_position): Update i/o progress every
471         N_OUTPUT_ELEMENTS_BETWEEN_UPDATES cells.
472         (xml_write_styles): Ditto for styles.
473         (gnumeric_xml_read_workbook): Better error reporting.
474         (workbook_get_n_elements): Internal function, calculating the number of
475         "elements" (styles and cells) in workbook.
476         (gnumeric_xml_write_workbook): Split saving to three stages: building
477         XML tree, dumping it to memory buffer, saving (compressed) buffer
478         contents to file. Update i/o progress regularly.
479         The second stage still freezes UI though :(
481 2001-06-03  Zbigniew Chyla  <cyba@gnome.pl>
483         * src/func.c (function_def_get_full_info_if_needed): Protected against
484         stack overflow. Probably it doesn't really solve the problem though :(
486 2001-06-03  Jody Goldberg <jgoldberg@home.com>
488         * src/cell-draw.c (draw_text) : limit length of cell text to avoid
489           flakey X servers that crash with long strings.
491         * src/clipboard.c (clipboard_paste_region) : be sure to rerender and
492           span if formats change.
494         * src/format.c (format_value) : simplify.
496 2001-06-03  Almer S. Tigelaar  <almer@gnome.org>
498         * src/stf.c (stf_write_workbook): Exporting wouldn't work
499         because of wrong changes to the code. Fixed.
500         (stf_parse_csv_cell): Add support for escaped newlines and
501         clean-up.
502         (stf_parse_options_csv_set_customfieldseparator): Support
503         string separator.
504         (stf_parse_options_new): Initialize customfieldseparator.
505         (stf_parse_options_free): Free custom field separator.
506         (stf_parse_csv_is_separator): Handle new string customfield separator.
507         (stf_parse_csv_cell): Idem.
508         (stf_parse_get_colcount): Idem.
509         (stf_parse_get_colwidth): Idem.
511 2001-06-03  Morten Welinder  <terra@diku.dk>
513         * src/func.c (function_add_args): Do arg type checking here.
514         (fn_def_new): Not here.
515         (function_remove): Free cached arg types.
516         (function_add_args): Pre-calculate arg counts and types.
517         (function_def_get_full_info_if_needed): Ditto.
518         (function_call_with_list): Use pre-calculated arg counts and
519         types.
520         (function_add_name_only): Use FUNCTION_NAMEONLY for type.
522 2001-06-03  Jody Goldberg <jgoldberg@home.com>
524         * src/format.c (format_compile) : doh!
525         (format_compile) : Assign the default conditions.
527 2001-06-03  Almer S. Tigelaar  <almer@gnome.org>
529         * src/stf-parse.c (stf_parse_get_longest_row_width): Fix.
531 2001-06-03  Almer S. Tigelaar  <almer@gnome.org>
533         * src/parse-util.[ch] (row_name): New, converts
534         a row number to a string.
535         (rows_name): Idem, but for a start/end range.
536         (row_name_internal): Utility routine.
538         * src/colrow.c (colrow_string_build): Remove.
539         (colrow_index_list_to_string): Use rows_name
540         and cols_name.
542         * src/cmd-edit.c (cmd_shift_rows): Use rows_name.
544         * src/commands.c (cmd_insert_rows): Idem.
545         (cmd_delete_cols): Beautify.
546         (cmd_delete_rows): Beautify and use rows_name.
548         * src/eval.c (dump_range_dep): Use row_name.
550         * src/item-bar.c (get_row_name): Deprecated, remove.
551         (item_bar_draw): Use row_name.
553         * src/item-cursor.c (item_cursor_tip_setlabel): Idem.
555         * src/item-grid.c (item_grid_draw): Idem.
557         * src/ranges.c (range_name): Idem.
558         (range_dump): Idem.
560         * src/selection.c (reference_append): Idem.
561         (selection_get_ranges): Idem.
562         (cb_range_to_string): Idem.
564         * src/sheet-control-gui.c (scg_redraw_cell_region): Idem.
565         (vertical_scroll_offset_changed): Idem.
567         * src/value-sheet.c (value_dump): Idem.
568         (encode_cellref): Idem.
570 2001-06-03  Almer S. Tigelaar  <almer@gnome.org>
572         * src/stf-parse.[ch] (stf_cache_options_new): Burn.
573         (stf_cache_options_free): Burn.
574         (stf_cache_options_set_data): Burn.
575         (stf_cache_options_set_range): Burn.
576         (stf_cache_options_invalidate): Burn.
577         (stf_parse_general_cached): Burn.
578         (stf_parse_options_before_modification): Burn.
579         (stf_parse_options_after_modification): Burn.
580         (stf_parse_options_set_type): Don't set modified.
581         (stf_parse_options_set_line_terminator): Idem.
582         (stf_parse_options_set_lines_to_parse): Idem.
583         (stf_parse_options_set_trim_spaces): Idem.
584         (stf_parse_options_csv_set_separators): Idem.
585         (stf_parse_options_csv_set_customfieldseparator): Idem.
586         (stf_parse_options_csv_set_stringindicator): Idem.
587         (stf_parse_options_csv_set_indicator_2x_is_single): Idem.
588         (stf_parse_options_csv_set_duplicates): Idem.
589         (stf_parse_options_valid): Remove modificationmode.
590         (stf_parse_options_new): Idem.
591         (trim_spaces_inplace): Make inline.
592         (stf_parse_csv_is_separator): Idem and move things around
593         a for some more speed.
594         (stf_parse_csv_cell): Make inline.
595         (stf_parse_fixed_cell): Idem.
597         * src/stf.c (stf_read_workbook): Set maximum number of
598         lines to parse to infinite.
599         (x_selection_to_cell_region): Idem.
601 2001-06-02  Jody Goldberg <jgoldberg@home.com>
603         * src/format.c (format_value) : ref the colour.
604         (format_entry_set_fmt) : new function.
605         (format_compile) : parse the conditional values.
607 2001-06-02  Almer S. Tigelaar  <almer@gnome.org>
609         * src/sheet.c (sheet_col_row_group_ungroup): Use
610         sc_resize not scg_resize.
612 2001-06-02  Almer S. Tigelaar  <almer@gnome.org>
614         * src/commands.[ch] (cmd_group_undo): Implement group undo/redo
615         (cmd_group_redo): Idem.
616         (cmd_group_destroy): Idem.
617         (cmd_group): Idem.
619         * src/workbook-control-gui.c (cb_data_group): Implement.
620         (cb_data_ungroup): Idem.
621         (group_ungroup_colrow): Utility function to determine if
622         columns or rows need to be grouped/ungrouped.
624         * src/sheet.[ch] (sheet_col_row_group_ungroup): New, high level routine
625         for adjusting outlines.
626         (sheet_col_row_fit_gutter): Dynamically adjust gutter size.
627         (cb_outline_level): Callback for the above.
628         (sheet_col_row_can_group): Query if a range of cols/rows
629         can actually group/ungroup.
630         (sheet_col_row_set_outline_level): Deprecated, remove.
632         * src/colrow.[ch] (colrow_set_outline): Set outline on a col/row.
634         * src/GNOME_Gnumeric.xml: DataOutlineUnGroup change to
635         DataOutlineUngroup.
637 2001-06-02  Jody Goldberg <jgoldberg@home.com>
639         * src/main.c (handle_paint_events) : be consistent and don't block.
641         * src/io-context.c (io_progress_update) : avoid an infinite loop.
643 2001-06-02  Jody Goldberg <jgoldberg@home.com>
645         * src/format.c (format_compile) : rewrite, not quite done.
647         * src/commands.c (cmd_set_text_undo) : queue a recalc.
648         (cmd_clear_redo) : ditto.
649         * src/corba-sheet.c (Sheet_clear_region) : ditto.
650         (Sheet_clear_region_content) : ditto.
651         * src/gui-clipboard.c (x_selection_handler) : ditto.
652         * src/sheet-merge.c (sheet_merge_add) : ditto.
654         * src/eval.c : switch the depend lists to be singly linked.
655         (dep_slist_filter_sheet) : convenience routine.
656         (dependent_unqueue_sheet) : Used here.
657         (dependent_unlink_sheet) : and here.
659         * src/workbook-control-gui.c (display_formulas) :  convert the single
660           lists.
662 2001-06-01  Zbigniew Chyla  <cyba@gnome.pl>
664         Support for reporting i/o progress via IOContext.
666         * src/command-context-priv.h (struct CommandContextClass): Added
667         progress_message_set virtual.
669         * src/command-context.[ch] (gnumeric_progress_message_set): New.
671         * src/io-context-priv.h
672         Made IOContext a GtkObject.
673         (enum GnumProgressHelperType, struct GnumProgressHelper): New.
675         * src/io-context.[ch]
676         Made IOContext a GtkObject.
677         (io_progress_update, io_progress_message,
678         file_io_progress_set, file_io_progress_update,
679         memory_io_progress_set, memory_io_progress_update,
680         count_io_progress_set, count_io_progress_update,
681         io_progress_unset): New functions.
682         (gnumeric_io_context_free): Removed, use gtk_object_destroy instead.
684         * src/workbook-control-gui.c (wbcg_progress_message_set): New,
685         implementation of CommandContext virtual.
687         * src/workbook-view.c
688         (wb_view_save_as, wb_view_save, wb_view_open_custom):
689         s/gnumeric_io_context_free/gtk_object_destroy
691         * src/xml-io.h
692         (struct _XmlParseContext): New members (io_context, element_counter) for
693         progress reporting.
695         * src/xml-io.c
696         (xml_read_styles): Update i/o progress every N_ELEMENTS_BETWEEN_UPDATES
697         styles.
698         (xml_sheet_read): Ditto for cells.
699         (xml_get_n_children, xml_read_sheet_n_elements,
700         xml_read_workbook_n_elements): Internal functions, calculating the
701         number of "elements" (styles and cells) in workbook.
702         (xml_workbook_read): Set up io progress to "Processing XML tree" stage.
703         (gnumeric_xml_read_workbook): Load the file into an XML tree using the
704         Push mode and update i/o progress regularly.
706         * src/plugin-util.c
707         #include <libgnome/libgnome.h> instead of <gnome.h>.
709 2001-05-31  Jody Goldberg <jgoldberg@home.com>
711         * src/solver-lp.c : Use cell_eval in place of cell_eval_content.
713         * src/eval.c (cb_range_hash_invalidate) : disconnect the list from the
714           dep record while removing its contents.  We don't want to modify the
715           list while we are walking it.  This is also an optimization in that
716           we don't need to modify the list.
717         (cb_single_hash_invalidate) : ditto.
718         (depsingle_dtor) : Ensure that the list has already been cleared.
719         (deprange_dtor) : ditto.
720         (dependent_unlink) : short circuit if we are destroying.
722         * src/sheet.c (sheet_destroy) : Clear the controls first.
724 2001-05-31  Karl Eichwalder  <ke@suse.de>
726         * src/GNOME_Gnumeric.xml: Fix 2 typos.
728         * configure.in: Write gnome.desktop.in.
729         * .cvsignore: Add gnome.desktop.in.
731 2001-05-31  Zbigniew Chyla  <cyba@gnome.pl>
733         * workbook-view (wb_view_open_custom): Handle opener errors without
734         crashing.
736 2001-05-30  Jody Goldberg <jgoldberg@home.com>
738         * src/value.c (value_error_set_pos) : change name from
739           value_new_error_err since we don't actually new anything.
741         * src/position.c (eval_pos_init_cellref) : delete broken crap.
743         * src/func.c (cb_iterate_cellrange) : duplicate error here.
744         (function_iterate_argument_values) : duplicate the non-terminate
745           error here.
746         * src/collect.c (collect_floats) : not here.
748 2001-05-30  Jon K Hellan  <hellan@acm.org>
750         * src/sheet-control-gui-priv.h: New file. Implementation details
751         for SheetControlGUI and methods directly accessible from the GUI
752         layer.
754         * src/Makefile.am: Add sheet-control-gui-priv.h
756         * src/sheet-control-gui.h: Move struct _SheetControlGUI to
757         sheet-control-gui-priv.h. Remove declarations of methods which
758         have been made virtual.
760         * src/sheet-control-gui.c: Include sheet-control-gui-priv.h instead
761         of sheet-control-gui.h.
762         Casts and temp variables because:
763         - virtual scg methods now take a SheetControl parameter.
764         - sheet member now lives in SheetControl.
765         Make following methods static - externally available only as
766         virtual SheetControl method: scg_redraw_all,
767         scg_redraw_cell_region, scg_redraw_headers, scg_update_cursor_pos,
768         scg_resize, scg_unant, scg_ant, scg_cursor_bound,
769         scg_compute_visible_region, scg_make_cell_visible. Initialize
770         class object with these as virtual methods together with
771         scg_set_zoom_factor, scg_adjust_preferences, scg_scrollbar_config
772         and scg_mode_edit.  Rename context_menu_hander (sic!) to
773         context_menu_handler.
775         *src/sheet-control.c (SC_VIRTUAL_FULL): Fix typo.
776         (sc_destroy): Comment out unused variable.
777         (sheet_control_init_state): Rename to sc_init_state.
778         (sc_sheet): New accessor - returns sheet attribute.
779         (sc_invalidate_sheet): New function - sets sheet attribute to
780         NULL.
781         (resize, set_zoom_factor, redraw_all, redraw_cell_region,
782         redraw_headers, ant, unant, adjust_preferences, update_cursor_pos,
783         scrollbar_config, mode_edit, compute_visible_region,
784         make_cell_visible, cursor_bound): New virtual methods.
786         * src/sheet-control.h: Declare new methods in sheet-control.c
788         * src/selection.c: Use sc_redraw_cell_region, sc_redraw_headers
789         instead of scg methods.
791         * src/sheet.c (sheet_unant): Use sc_unant instead o scg_unant.
792         (sheet_ant): Use sc_ant instead of scg_ant.
793         (sheet_redraw_all): Use sc_redraw_all instead of scg_redraw_all.
794         (sheet_redraw_all): Use sc_redraw_headers instead of
795         scg_redraw_headers.
796         (sheet_new_scg): Use sc_cursor_bound instead of scg_cursor_bound.
797         (sheet_detach_scg): Rename to sheet_detach_control. Change
798         parameter from SheetControlGUI to SheetControl. Use sc_sheet and
799         sc_invalidate_sheet instead of direct attribute access.
800         (sheet_set_zoom_factor): Use sc_set_zoom_factor instead of
801         scg_set_zoom_factor.
802         (sheet_update_only_grid): Use sc_compute_visible_region instead of
803         scg_compute_visible_region.
804         (sheet_col_row_gutter): Use sc_resize instead of scg_resize.
805         (sheet_redraw_cell_region, sheet_redraw_partial_row,
806         sheet_redraw_cell): Use sc_redraw_cell_region instead of
807         scg_redraw_cell_region.
808         (sheet_make_cell_visible): Use sc_make_cell_visible instead of
809         scg_make_cell_visible.
810         (sheet_cursor_set): Use sc_cursor_bound instead of
811         scg_cursor_bound.
812         (sheet_update_cursor_pos): Use sc_update_cursor_pos instead of
813         scg_update_cursor_pos.
814         (sheet_scrollbar_config): Use sc_scrollbar_config instead of
815         scg_scrollbar_config.
816         (sheet_adjust_preferences): Use sc_adjust_preferences, sc_resize
817         and sc_redraw_all instead of scg_adjust_preferences, scg_resize
818         and scg_redraw_all.
820         * src/sheet.h (SHEET_FOREACH_CONTROL): Take list of SheetControls
821         instead of SheetControlGUIs.
823         * src/workbook.c (workbook_sheet_detach): Use sc_mode_edit instead
824         of scg_mode_edit.
826         * src/embeddable-grid.h: Include sheet-control-gui-priv.h instead
827         of sheet-control-gui.h.
829         * src/sheet-object-graphic.c: Ditto.
831         * src/gnumeric-sheet.c: Include sheet-control-gui-priv.h instead
832         of sheet-control-gui.h.
833         Casts and temp variables because:
834         - virtual scg methods now take a SheetControl parameter.
835         - sheet now lives in SheetControl.
837         * src/item-bar.c: Ditto.
839         * src/item-cursor.c: Ditto.
841         * src/item-edit.c: Ditto.
843         * src/item-grid.c: Ditto.
845         * src/sheet-object-cell-comment.c: Ditto.
847         * src/sheet-object-cell-container.c: Ditto.
849         * src/sheet-object-item.c: Ditto.
851         * src/sheet-object-widget.c: Ditto.
853         * src/workbook-control-gui.c: Ditto.
855         * src/workbook-object-toolbar.c: Ditto, but don't include
856         sheet-control-gui-priv.h
858         * src/sheet-object.c (sheet_object_realize): Cast control to
859         SheetControlGUI.
861 2001-05-30  Zbigniew Chyla  <cyba@gnome.pl>
863         * src/stf.c (stf_init): Register as importer.
865 2001-05-29  Zbigniew Chyla  <cyba@gnome.pl>
867         * src/file.h
868         (typedef enum FileProbeLevel) New.
869         (typedef GnumFileOpenerProbeFunc, gnum_file_opener_probe): Added
870         FileProbeLevel argument.
871         (GNUM_FILE_OPENER_CLASS, IS_GNUM_FILE_OPENER_CLASS,
872         GNUM_FILE_SAVER_CLASS, IS_GNUM_FILE_SAVER_CLASS):
873         Macros moved to file-priv.h.
875         * src/file-priv.h
876         (struct _GnumFileOpenerClass::probe):
877         (GNUM_FILE_OPENER_CLASS, IS_GNUM_FILE_OPENER_CLASS,
878         GNUM_FILE_SAVER_CLASS, IS_GNUM_FILE_SAVER_CLASS):
879         Macros moved from file.h.
881         * src/file.c
882         (gnum_file_opener_probe_real, gnum_file_opener_probe):
883         Added FileProbeLevel argument.
885         * src/workbook-view.c
886         (wb_view_open_custom): Iterate over FileProbeLevel values when probing
887         the file (passing current value to probe function).
889         * src/xml-io.c
890         (xml_probe): Added FileProbeLevel argument, testing only file name if
891         probe level == FILE_PROBE_FILE_NAME.
893         * src/plugin-service.c (gnum_plugin_file_opener_probe):
894         Use file_patterns only if probe level == FILE_PROBE_FILE_NAME, otherwise
895         call module's probe function.
897         * src/bonobo-io.c (gnumeric_bonobo_io_probe),
898         src/plugin-service.h (struct _PluginServiceFileOpener),
899         src/plugin-loader-module.c
900         (gnumeric_plugin_loader_module_func_file_probe,
901         struct ServiceLoaderDataFileOpener::module_func_file_probe):
902         Added FileProbeLevel argument.
904 2001-05-27  Jody Goldberg <jgoldberg@home.com>
905         From Juan Pablo Mendoza <pablo_juan@yahoo.com>
907         * gnumeric-util.h (gnumeric_filter_modifiers): New macro.
909         * workbook-control-gui.c (wb_edit_key_pressed): Use it.
910         * gnumeric-sheet.c (gnumeric_filter_modifiers): Ditto.
912         * sheet.c (sheet_name_quote): Escape \ and add more chars to
913           to quote_chr.
915 2001-05-27  Jody Goldberg <jgoldberg@home.com>
917         * src/eval.c (sheet_region_queue_recalc) : Queue the dependents in the
918           region not just those that depend on it.
919         (cell_queue_recalc) : no need to queue non expression cells.
921 2001-05-27  Nathan Cullen <furyu@fuse.net>
923         * src/history.c (history_menu_insert_separator): Fixed keyboard
924         navigation problem in non-bonobo build with separator for recently
925         opened files.  There was an "invisible" separator item so you needed
926         to arrow down twice to get from "Print Preview" to the first file.
928 2001-05-27  Jody Goldberg <jgoldberg@home.com>
930         * src/expr.c (eval_expr_real) : recurse for arrays too.
931         (expr_tree_array_corner) : rename from expr_tree_array_formula_corner,
932           and return the corner, not the expression in the corner.
934         * src/eval.c (cb_range_hash_invalidate) : invalidate and free things
935           in place.
936         (cb_single_hash_invalidate) : ditto.
937         (do_deps_destroy) : simplify.
939         * src/workbook-control-gui.c (wbcg_sheet_rename) : Use the table not
940           the container.
942 2001-05-27  Zbigniew Chyla  <cybs@gnome.pl>
944         * src/plugin-service.c (parse_format_level_str): Fixed typo.
946 2001-05-26  Jody Goldberg <jgoldberg@home.com>
948         * src/sheet.c (colrow_move) : no need to queue recalc here.
949         (cb_sheet_cell_copy) : Actually copy the array values.
951         * src/cell.c (cell_relocate) : Just relink, no need to queue a recalc.
952         (cell_set_array_formula) : Remove the ability to queue the recalc at
953           this level.  Just link the formulas in.  Reorder the arguments
954           to match the standard approach.
956         * src/eval.c (workbook_recalc_all) : Used here.
957         (workbook_queue_all_recalc) : new function.
959         * src/xml-io.c (xml_workbook_read) : Queue everything for recalc.
960         (xml_cell_set_array_expr) : no need to queue a recalc here.
962         * src/commands.c (cmd_autofill_redo) : queue the recalc here.
963         (cmd_area_set_text_redo) : we need to manually queue a recalc for
964           arrays now.
966         * src/sheet.c (sheet_cell_set_text) : we need to queue a recalc for
967           both expressions and values now.
968         (sheet_range_set_text) : queue recalcs for the region as a block.
970         * src/graph-vector.c (graph_vector_new) : Just use dependent_link if
971           we don't want a recalc.
973 2001-05-27  Karl Eichwalder  <ke@suse.de>
975         * Run xml-i18n-prepare:
976         * gnumeric.desktop.in: Remove file.
977         * gnumeric.desktop.in.in: New file.
978         * Makefile.am: Adjust it for gnumeric.desktop.in.in.
980 2001-05-26  Jody Goldberg <jgoldberg@home.com>
982         * src/sheet-control-gui.h : typo.
984 2001-05-26  Jon K Hellan  <hellan@acm.org>
986         * src/sheet-control-gui.[ch]: Derive from SheetControl rather than
987         GtkObject.
989         * src/gnumeric.h: Add incomplete def of SheetControl.
991         * src/Makefile.am: Add sheet-control.c, sheet-control.h,
992         sheet-control-priv.h
994         * src/sheet-control.c: New file. Stub base class for
995         SheetControlGUI.
997         * src/sheet-control.h: Strip down even more from existing stub in
998         CVS.
1000         * src/sheet-control-priv.h: New file. Private header for
1001         SheetControl.
1003 2001-05-26  Jody Goldberg <jgoldberg@home.com>
1005         * src/format.c (format_number) : suppress minus for "\(" to match "("
1007 2001-05-26  Karl Eichwalder  <ke@suse.de>
1009         * src/workbook-control-gui.c: Fix typo.
1011 2001-05-26  Jody Goldberg <jgoldberg@home.com>
1013         * src/cell.c (cell_eval_content) : Use the iteration prefs.
1015         * src/workbook.c (workbook_iteration_tolerance) : new function.
1016         (workbook_iteration_enabled) : ditto.
1017         (workbook_iteration_max_number) : ditto.
1019 2001-05-26  Zbigniew Chyla  <cyba@gnome.pl>
1021         * src/gui-file.c (fill_save_menu): If recently used saver has been
1022         removed, use default saver, not the first one.
1024         * src/file.c
1025         (unregister_file_opener, unregister_file_opener_as_importer): Fixed
1026         leaks.
1027         (unregister_file_saver): Fixed stupid bug (and leaks).
1029         * src/plugin-service.h (struct _PluginServiceFileSaver): Added
1030         default_saver_priority field.
1032         * src/plugin-service.c
1033         (plugin_service_file_saver_read): Read "default_saver_priority"
1034         attribute.
1035         (plugin_service_file_saver_initialize): Register as default saver if
1036         default_saver_priority is non-negative.
1038 2001-05-25  Jody Goldberg <jgoldberg@home.com>
1040         * src/value.c (value_diff) : new routine.  This looks ugly.  We should
1041           be able to avoid replicating this code.
1043         * src/cell.c (cell_eval_content) : support iteration.
1045         * src/format.c (render_number) : make the buffer big enough.
1046           The assumtion that mantissa and exp are both maxed should leave
1047           enough room for thousand separators.
1049 2001-05-25  Jon K Hellan  <hellan@acm.org>
1051         * src/workbook-control-gui.c (wbcg_sheet_add): Bugfix: Connect
1052         button_press_event handler with scg->table as data instead of scg.
1054 2001-05-25  Jody Goldberg <jgoldberg@home.com>
1056         * src/workbook-view.c (wb_view_open_custom) : fix logic to avoid
1057           adding a bogus view.
1059 2001-05-24  Jody Goldberg <jgoldberg@home.com>
1061         * src/eval.c (workbook_recalc) : don't clear the flag until after the
1062           calc is complete in case there is a cycle.
1063         (cell_eval) : ditto.
1065 2001-05-24  Jon K Hellan  <hellan@acm.org>
1067         * src/workbook-control-gui.c (sheet_to_page_index): Rename view to
1068         scg. Retrieve it from object data on table.
1069         (sheet_to_page_index):
1070         (wb_control_gui_focus_cur_sheet, cb_sheet_label_button_press,
1071         cb_notebook_switch_page): Retrieve scg from object data on table.
1072         (wbcg_sheet_add): Show and insert in notebook scg->table. scg no
1073         longer is a GtkTable, it has one.
1075         * src/sheet-control-gui.c (scg_parent_class): Change to
1076         GtkObjectClass.
1077         (cb_table_destroy): New function. Finish all table and canvas
1078         dependent activities and set scg->table, scg->canvas to NULL.
1079         (scg_init): Don't create table here.
1080         (scg_construct): ..but here. Change terminology. Old: outer_table,
1081         table. New: scg->table, inner_table. Add scg to scg->table as
1082         object data. Add a destroy callback to scg->table.
1083         (scg_destroy): Move parts to cb_table_destroy. Unref table if not
1084         NULL.
1085         (scg_class_init, GNUMERIC_MAKE_TYPE): Inherit from GtkObject
1086         instead of GtkTable.
1087         (scg_cursor_visible): Be prepared for scg->canvas being NULL
1089         * src/sheet-control-gui.h (struct _SheetControlGUI,
1090         SheetControlGUIClass): Inherit from GtkObject instead of GtkTable.
1092 2001-05-24  Jody Goldberg <jgoldberg@home.com>
1094         * src/workbook.c (workbook_enable_recursive_dirty) : new function.
1095         * src/workbook-private.c (workbook_private_init) : Init
1096           recursive_dirty_enabled.
1097         * src/sheet.c (sheet_cell_remove) : Use recursive_dirty_enabled.
1098         * src/eval.c (dependent_changed) : ditto.
1100         * src/workbook-view.c (wb_view_open_custom) : while loading disable
1101           recursive depend dirtying.  We are loading everything it is up to
1102           the loader to handle the queuing correctly (either queuing all, or
1103           just those necessary)
1105 2001-05-23  Jody Goldberg <jgoldberg@home.com>
1107         * src/sheet.c (sheet_cell_destroy) : optionally queue the dependents
1108           of this cell for recalc.
1110 2001-05-23  Jody Goldberg <jgoldberg@home.com>
1112         * src/eval.c (dependent_changed) : Use cb_dependent_queue_recalc to
1113           recursively queue the depends.
1114         Eg A1 : =sum(b1:b2)
1115            B1 : =3
1116         if we do not recurse the assignment of '=3' would queue B1 but not A1
1118 2001-05-22  Jody Goldberg <jgoldberg@home.com>
1120         * gnumeric.spec.in : bump version of libole2
1121         * README : ditto.
1122         * configure.in : ditto.
1124 2001-05-19  Jody Goldberg <jgoldberg@home.com>
1126         * src/workbook.c (workbook_is_pristine) : no need to check the recalc
1127           queue.  If there are no dependents there is nothing to put on the
1128           eval queue.
1130         * src/func.c (cb_iterate_cellrange) : rename from
1131           iterate_cellrange_callback remove 'generation' mechanism.
1133         * src/cell.c (cell_cleanout) : Clear both recalc flags,
1134           in_queue and needs
1135         (cell_copy) : ditto.
1136         (cell_eval_content) : No need to render the value.  assign_value
1137           already does it.
1138         (cell_content_changed) : deleted.
1140         * src/Makefile.am : merge dependent.[ch] into eval.[ch]
1142 2001-05-18  Jody Goldberg <jgoldberg@home.com>
1144         * src/eval.c : reorg and merged with dependent.[ch]
1146         * src/sheet.c (sheet_cell_set_text) :
1147           s/cell_content_changed/cell_queue_recalc/
1148         (sheet_cell_set_expr) : ditto.
1149         (sheet_cell_set_value) : ditto.
1150         (colrow_move) : ditto.
1151         (sheet_destroy_contents) :
1152           s/dependent_unqueue_recalc_sheet/dependent_unqueue_sheet/
1154         * src/cmd-edit.c (cmd_select_cur_row) : Make behavior match XL.
1155         (cmd_select_cur_col) : Make behavior match XL.
1157         * src/format.c (render_number) : avoid temporaries.
1158         (do_render_number) : ditto.
1160 2001-05-17  Jody Goldberg <jgoldberg@home.com>
1162         * src/expr.c (eval_range) : delete.
1163         (eval_expr_real) : Use workbook_foreach_cell_in_range rather than
1164           range_eval.  Remove 'generation' mechanism.
1165         (cb_range_eval) : a simple pass through
1167         * src/eval.c (sheet_region_recalc_deps) : rename from
1168           sheet_recalc_dependencies and merge in sheet_region_get_deps.
1169           Use the new foreach style interfaces.
1170         (cb_single_recalc_all_depends) : rename from cb_single_get_all_depends
1171           and simplify.
1172         (cb_range_recalc_all_depends) : rename from cb_sheet_get_all_depends and simplify.
1173         (cb_dependent_queue_recalc) : new wrapper.
1174         (cb_region_contained_depend) : renamed from search_range_deps and simplify.
1175         (cell_foreach_dep) : rename from cell_get_dependencies and switch to
1176           an in place api rather than creating a list.
1177         (cell_foreach_single_dep) : switch to in place api
1178         (cell_foreach_range_dep) : ditto.
1179         (search_cell_deps) : ditto.
1180         (cell_recalc_deps) : ditto.
1181         (cell_eval) : ditto.
1182         (cb_generation_queue) : new utility.
1184         * src/dependent.c (dependent_list_filter) : delete.
1186         * src/cmd-edit.c (cb_collect_deps) : new function split from.
1187         (cmd_select_cur_depends) : here. So that we can use the new depend
1188           api.
1190         * src/sheet.c (sheet_move_range) : use sheet_region_recalc_deps.
1191         (sheet_{insert,delete}_{cols,rows}) : ditto.
1192         (sheet_cell_remove_simple) : Use in place depend interface.
1194         * src/cell.c (cell_content_changed) : Use in place depend interface.
1195         * src/clipboard.c (clipboard_paste_region) : ditto.
1196         * src/commands.c (cmd_area_set_text_redo) : ditto.
1197         (cmd_autofill_redo) : ditto.
1199 2001-05-21  Jody Goldberg <jgoldberg@home.com>
1201         * Makefile.am : remove gnorba and modernize a bit.
1203 2001-05-23  Zbigniew Chyla  <cyba@gnome.pl>
1205         * src/plugin-service.c
1206         (struct _InputFilePattern): Added "case_sensitive" field.
1207         (gnum_plugin_file_opener_probe): Support "case_sensitive" attribute when
1208         checking if file name matches the pattern.
1209         (plugin_service_file_opener_read): Support "case_sensitive" attribute.
1210         Now matching is case _insensitive_ by default.
1212 2001-05-23  Zbigniew Chyla  <cyba@gnome.pl>
1214         * src/bonobo-io.c, src/clipboard.c, src/file.c, src/plugin.c,
1215         src/sheet-object.c, src/stf.c, src/workbook.c:
1216         Removed #include "xml-io.h".
1218         * src/dialogs/dialog-plugin-manager.c (gnumeric_dialog_question_yes_no):
1219         Function moved ...
1221         * src/gnumeric-util.[ch]: ... here.
1223         * src/gui-file.c
1224         (gui_file_import): Sorting file importers.
1225         (fill_save_menu): Sorting file savers, function simplified (doesn't use
1226         file_saver_is_default_format).
1227         (can_try_save_to): Function simplified, uses
1228         gnumeric_dialog_question_yes_no from gnumeric-util.h, default answer
1229         for question about overwriting a file is configurable.
1231 2001-05-22  Almer S. Tigelaar  <almer@gnome.org>
1233         * src/xml-io.c : Bump XML version number.
1234         (xml_workbook_write): Write index of sheet names
1235         at the beginning of the file and always write
1236         latest version number.
1238 2001-05-22  Jon K Hellan  <hellan@acm.org>
1240         * src/workbook-edit.c (wbcg_editing_expr): Use renamed function
1241         gnumeric_expr_entry_rangesel_meaningful.
1243 2001-05-22  Zbigniew Chyla  <cyba@gnome.pl>
1245         * file.c
1246         (gnum_file_opener_setup, gnum_file_opener_new, gnum_file_opener_probe,
1247         gnum_file_opener_open, gnum_file_saver_setup, gnum_file_saver_new,
1248         gnum_file_saver_save, gnum_file_saver_fix_file_name,
1249         register_file_opener, register_file_opener_as_importer,
1250         unregister_file_opener, unregister_file_opener_as_importer,
1251         register_file_saver, register_file_saver_as_default,
1252         unregister_file_saver, get_default_file_saver,
1253         get_file_opener_by_id, get_file_saver_by_id,
1254         get_file_savers, get_file_openers, get_file_importers):
1255         Added gtk-doc style documentation.
1256         (struct _GnumFileOpener, struct _GnumFileOpenerClass,
1257         struct _GnumFileSaver, struct _GnumFileSaverClass): Removed structs
1258         already defined in file-priv.h.
1260         * workbook-view.c
1261         (wb_view_save_as, wb_view_save, wb_view_open, wb_view_open_custom):
1262         Added gtk-doc style documentation.
1264         * file.h
1265         (gnum_file_opener_setup, gnum_file_saver_setup): Declarations moved ...
1267         * file-priv.h: ... here
1269 2001-05-21  Jon K Hellan  <hellan@acm.org>
1271         * src/workbook-control-gui-priv.h (struct _WorkbookControlGUI):
1272         Add toolbar_is_sensitive member.
1274         * src/workbook-control-gui.c (workbook_control_gui_init):
1275         Initialize wbcg->toolbar_is_sensitive.
1277         * src/workbook-edit.c (workbook_edit_toolbars_set_sensitive): Use
1278         wbcg->toolbar_is_sensitive instead of static is_sensitive.
1280 2001-05-21  Zbigniew Chyla  <cyba@gnome.pl>
1282         Cleaned up file i/o interface.
1284         * src/Makefile.am: Added file-priv.h.
1286         * src/file.[ch]:
1287         Made GnumFileOpener and GnumFileSaver GtkObjects with virtual probe,
1288         open and save methods.
1289         New GnumFileOpener methods: get_id.
1290         New GnumFileSaver methods: get_id, fix_file_name.
1291         New functions: register_file_opener, register_file_opener_as_importer,
1292         unregister_file_opener, unregister_file_opener_as_importer,
1293         register_file_saver, register_file_saver_as_default,
1294         unregister_file_saver, get_default_file_saver,
1295         get_file_opener_by_id, get_file_saver_by_id,
1296         get_file_savers, get_file_openers, get_file_importers.
1298         * src/file-priv.h: New file with definitions of structs:
1299         _GnumFileOpener, _GnumFileOpenerClass, _GnumFileSaver,
1300         _GnumFileSaverClass.
1302         * src/workbook.h
1303         (struct _Workbook): Added file_saver_sig_id field.
1304         s/FileSaver/GnumFileSaver/
1305         (workbook_get_file_saver): New accessor function.
1307         * src/workbook.c
1308         (cb_saver_destroy_event, workbook_destroy, workbook_set_saveinfo):
1309         When setting new file_saver, connect to its "destroy" signal and
1310         set file_saver to NULL in signal handler. Disconnect when changing file
1311         saver or destroying the workbook.
1312         (workbook_get_file_saver): New accessor function.
1313         (workbook_persist_file_load): Use wb_view_open instead of
1314         workbook_load_from.
1315         (workbook_persist_file_save): Use wb_view_save_as instead of calling
1316         gnumeric_xml_write_workbook directly.
1318         * src/workbook-view.[ch]
1319         (wb_view_set_attributev): Renamed to wb_view_set_attribute_list and
1320         simplified.
1321         (wb_view_save_as, wb_view_save, wb_view_open, wb_view_open_custom): New
1322         methods (some code moved from file.c).
1324         * src/gnumeric-sheet.c (gnumeric_sheet_filenames_dropped):
1325         Use wb_view_open() instead of workbook_try_read()+file_finish_load().
1327         * src/gui-file.c
1328         (gui_file_import): Use get_file_importers(). Use
1329         wb_view_open_custom() instead of file_opener_open() + manual creation
1330         of wb_view, error checking, etc.
1331         (is_saver_registered): Removed.
1332         (saver_activate): Don't check if saver is really registered.
1333         (file_saver_is_default_format): Use get_default_file_saver() instead
1334         of strcmp(extension, "gnumeric") hack.
1335         (do_save_as): Use gnum_file_saver_fix_file_name().
1336         Adjusted everything to file.h, workbook.h, workbook-control.h.
1338         * src/gui-file.h (gui_file_import): Signature change, now function
1339         returns gboolean.
1341         * src/gutils.[ch] (g_list_index_custom): New function.
1343         * src/history.c (file_history_cmd), src/main.c (gnumeric_main),
1344         src/workbook-control-gui.c (cb_file_open): Use wb_view_open()
1345         instead of workbook_read().
1347         * src/workbook-control-gui-priv.h (struct _WorkbookControlGUI):
1348         s/FileSaver/GnumFileSaver/
1350         * src/plugin-service
1351         Created GnumPluginFileOpener and GnumPluginFileSaver classes (derived
1352         from GnumFileOpener and GnumFileSaver respectively). Moved contents of
1353         plugin_service_file_opener_probe_func,
1354         plugin_service_file_opener_open_func,
1355         plugin_service_file_saver_save_func into
1356         gnum_plugin_file_opener_probe, gnum_plugin_file_opener_open,
1357         gnum_plugin_file_saver_save methods (slightly modified).
1358         (plugin_service_file_opener_read): Read "open" and "import" attributes
1359         of <service> tag.
1360         (plugin_service_file_opener_initialize,
1361         plugin_service_file_opener_cleanup): Register/unregister created
1362         file opener (GnumPluginFileOpener object) as normal opener and/or
1363         importer depending on "open" and "import" XML attributes.
1364         (plugin_service_file_opener_initialize,
1365         plugin_service_file_opener_cleanup): Register/unregister created
1366         file saver (GnumPluginFileSaver object).
1368         * src/plugin-service.h
1369         (struct _PluginServiceFileOpener):
1370         Added can_open and can_import fields.
1371         s/FileOpener/GnumFileOpener/
1372         (struct _PluginServiceFileSaver):
1373         s/FileSaver/GnumFileSaver/
1375         * src/plugin-loader-module.c
1376         (struct ServiceLoaderDataFileOpener, struct ServiceLoaderDataFileSaver),
1377         gnumeric_plugin_loader_module_func_file_probe,
1378         gnumeric_plugin_loader_module_func_file_open,
1379         gnumeric_plugin_loader_module_func_file_save):
1380         s/FileOpener/GnumFileOpener/
1381         s/FileSaver/GnumFileSaver/
1383         * src/stf.c
1384         (stf_read_workbook, stf_write_workbook): Signature change
1385         (don't return gboolean).
1386         (stf_init): Adjusted to file i/o interface changes.
1388         * src/xml-io.[ch]
1389         (gnumeric_xml_get_opener, xml_probe):
1390         s/FileOpener/GnumFileOpener/
1391         (gnumeric_xml_get_saver):
1392         s/FileSaver/GnumFileSaver/
1393         (gnumeric_xml_read_workbook, gnumeric_xml_write_workbook): Signature
1394         change (don't return gboolean).
1395         (xml_init): Adjusted to file i/o interface changes.
1397         * src/bonobo-io.c
1398         (gnumeric_bonobo_read_workbook, gnumeric_bonobo_write_workbook):
1399         Signature change (don't return gboolean).
1400         s/FileOpener/GnumFileOpener
1401         s/FileSaver/GnumFileSaver
1402         (gnumeric_bonobo_io_probe):
1403         s/FileOpener/GnumFileOpener
1404         (gnumeric_bonobo_io_init): Adjusted to file i/o interface changes.
1406 2001-05-20  Chema Celorio  <chema@celorio.com>
1408         * src/sheet-control-gui.c (set_acetate_coords): make sure the accetate
1409         honors the direction of the object.
1411 2001-05-20  Chema Celorio  <chema@celorio.com>
1413         * src/sheet-object.c (sheet_object_init): initialize the so->direction
1414         to _UNKNOWN
1415         (sheet_object_direction_set): impl.
1416         (sheet_object_rubber_band_directly): impl a small convenience function
1417         to get the value of SO_CLASS(so)->rubber_band_directly
1419         * src/sheet-object-widget.c (sheet_widget_checkbox_construct_with_range):
1420         add a label argument to also optionaly specify a label
1421         (sheet_widget_checkbox_clone): when cloning a checkbox, copy it's value
1422         too
1423         add a ->label and rename ->entry to ->expresion in CheckboxConfigState
1424         (cb_checkbox_label_changed): impl.
1425         (sheet_widget_checkbox_user_config): add an entry for the label of
1426         the checkbutton
1427         (sheet_widget_checkbox_set_sheet): call _set_active when setting the
1428         sheet of a checkbox
1430         * src/sheet-object-impl.h: add the SheetObjectDirection enums
1431         add ->direction to SheetObject
1432         add ->rubber_band_directly to SheetObjectClass
1434         * src/sheet-object-graphic.c (sheet_object_graphic_read_xml): read
1435         the object's direction
1436         (sheet_object_graphic_write_xml): save the direction of the object
1437         (sheet_object_graphic_class_init): so->direction = TRUE
1438         (sheet_object_graphic_init): initlalize so->direction
1440         * src/sheet-control-gui.c (scg_object_move): calculate the new direction
1441         of the object when moving a handle.
1442         (scg_object_view_position): the coordinates of the object depend on
1443         it's ->direction now.
1445         * src/item-grid.c (cb_obj_create_motion): if we are rubberbanding directly,
1446         calculate the sheet object direction and position.
1447         (cb_obj_create_button_release): only set the sheet if we are not rubber_banding_
1448         direcly. Objects that are rubber banded directly have already been attached to
1449         a sheet.
1450         (sheet_object_begin_creation): if we are rubber_banding_direclty the object,
1451         attach it to a sheet.
1453         * src/sheet-object-widget.c (sheet_widget_checkbox_destroy): check if
1454         the dependent has been linked before unlinking. We might have created
1455         the object without attaching it to a sheet.
1457 2001-05-21  Jody Goldberg <jgoldberg@home.com>
1459         * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : revert
1460           my silliness.
1462 2001-05-18  Jody Goldberg <jgoldberg@home.com>
1464         * src/format.c (render_number) : avoid temporaries.
1465         (do_render_number) : ditto.
1467 2001-05-18  Jody Goldberg <jgoldberg@home.com>
1469         * configure.in : bump version to 0.66.
1471 2001-05-20  Jody Goldberg <jgoldberg@home.com>
1473         * Release 0.65
1475 2001-05-20  Jody Goldberg <jgoldberg@home.com>
1477         * configure.in : Remove ja, ko, zh* from ALL_LINGUAS until the po
1478           files are fixed.
1480 2001-05-20  Zbigniew Chyla  <cyba@gnome.pl>
1482         * src/sheet-object.c (sheet_object_read_xml): Fixed leaks.
1484 2001-05-20  Zbigniew Chyla  <cyba@gnome.pl>
1486         * src/plugin.c (plugin_db_init): Last patch changed behaviour from
1487         "treat every plugin as known" to "treat every plugin as unknown" :-)
1488         Now it should be really fixed.
1490 2001-05-19  Almer S. Tigelaar  <almer@gnome.org>
1492         * src/workbook-edit.c (wbcg_edit_attach_guru):
1493         Guard against two anted region on the same sheet.
1495 2001-05-19  Jody Goldberg <jgoldberg@home.com>
1497         * src/plugin.c (plugin_db_extend_saved_active_plugin_id_list) : Merge
1498           into plugin_db_init.
1499         (plugin_db_init) : Find the unknown plugins not the known plugins.
1500           Remove the list of plugins that default to on.
1501           Fix the use of gnome_config.
1503 2001-05-19  Jody Goldberg <jgoldberg@home.com>
1505         * gnumeric.spec.in : update GAL req.
1506         * configure.in : ditto.
1507         * README : update
1509         * src/GNOME_Gnumeric.xml : Fix the accelerators to use xkeysym names
1510           rather than the physical key for slash and space.
1512         * src/plugin.c (plugin_db_init) : Enable new plugins by default.
1514 2001-05-17  Jody Goldberg <jgoldberg@home.com>
1516         * src/sheet-style.c (cell_tile_apply_pos) : Add more sanity checking.
1518 2001-05-16  Jody Goldberg <jgoldberg@home.com>
1520         * src/item-bar.c (is_pointer_on_division) : Use
1521           wbcg_rangesel_possible.
1522         * src/item-grid.c (item_grid_button_1) :  ditto.
1523         * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : ditto.
1524         * src/sheet-control-gui.c (scg_select_all) : ditto.
1525         (scg_colrow_select) : ditto.
1526         (scg_construct) : ensure we start with focus.
1527         (scg_rangesel_possible) : move from here.
1529         * src/workbook-control-gui.c (wbcg_rangesel_possible) : to here.
1530         (cb_notebook_switch_page) : expand the logic slightly to correct gurus.
1532         * src/workbook-edit.c (wbcg_edit_finish) : always check for rangesel.
1534         * src/parse-util.c (gnumeric_char_start_expr_p) : improve handling of
1535           NULL.
1537 2001-05-16  Jody Goldberg <jgoldberg@home.com>
1539         * src/workbook-edit.c (wbcg_edit_finish) : stop the current rangesel,
1540           not rangesel on the current display sheet.
1542         * src/workbook-control-gui.c (cb_notebook_switch_page) : simplify and
1543           use the new wbcg::rangesel to make things easier.
1544         (workbook_control_gui_init) : init the new flag.
1546         * src/sheet-control-gui.c (scg_rangesel_start) : store the scg doing
1547           the rangesel in the wbcg.
1548         (scg_rangesel_stop) : clear it here.
1550 2001-05-15  Jody Goldberg <jgoldberg@home.com>
1552         * src/sheet.c (sheet_stop_range_selection) : delete.
1554         * src/commands.c (cmd_paste_copy) : call splits_region to check for
1555           partial arrays and merged regions.
1557         * src/sheet.c (cb_set_cell_content) : Use the bounding box.
1558         (sheet_range_set_text) : set the bounding box.
1560 2001-05-15  Jon K Hellan  <hellan@acm.org>
1562         * src/workbook-control.h: Define menu state enums for print setup,
1563         search/replace and define names and a define for the lot.
1565         * src/workbook-control-gui-priv.h (struct _WorkbookControlGUI):
1566         Add menu_item_print_setup, menu_item_search_replace,
1567         menu_item_define_name members.
1569         * src/workbook-edit.c (workbook_edit_attach_guru,
1570         workbook_edit_detach_guru): Update Update print setup,
1571         search/replace and define names sensitivity according to whether
1572         or not we have guru.
1574         * src/workbook-control-gui.c (wbcg_menu_state_update): Ditto. This
1575         is where it's actually implemented.
1577 2001-05-15  Almer S. Tigelaar  <almer@gnome.org>
1579         * src/sheet-control-gui.c (vertical_scroll_offset_changed): Sync
1580         for adjustment to scrollbars.
1581         (horizontal_scroll_offset_changed): Idem.
1583 2001-05-14  Jody Goldberg <jgoldberg@home.com>
1585         * src/sheet-control-gui.c (vertical_scroll_offset_changed) : reinstate
1586           this and optionally support delayed scrolling.
1587         (horizontal_scroll_offset_changed) : ditto.
1588         (scg_construct) : reinstate.
1590         * src/expr.c (cellref_boundingbox) : new function.
1591         (expr_tree_boundingbox) : implement.
1593 2001-05-14  Almer S. Tigelaar  <almer@gnome.org>
1595         * src/colrow.c (rows_height_update): Add shrink flag.
1596         (cb_autofit_height_no_shrink): Callback function for new
1597         autofit without shrinking functionality.
1599         * src/commands.c (cmd_paste_cut_redo): Adjust for change
1600         to rows_height_update.
1601         (cmd_paste_copy_undo): Idem.
1602         (cmd_autoformat_undo): Idem.
1603         (cmd_format_undo): Idem.
1605         * src/clipboard.c (clipboard_paste_region): Idem.
1607         * src/sheet.c (sheet_clear_region): Idem.
1608         (sheet_apply_style): Idem.
1610 2001-05-14  Almer S. Tigelaar  <almer@gnome.org>
1612         * src/commands.c (cmd_paste_copy_impl): New, contains
1613         what was previously in cmd_paste_copy_undo.
1614         (cmd_paste_copy_undo): Call upon cmd_paste_copy_impl.
1615         (cmd_paste_copy_redo): Idem.
1616         (cmd_paste_copy): Remove initialization of me->is_undo flag,
1617         the flag has been burned.
1619 2001-05-14  Almer S. Tigelaar  <almer@gnome.org>
1621         * configure.in: Bump GAL version requirement to 0.7.99.5
1623         * src/workbook-format-toolbar.c (cb_back_color_changed): Add
1624         by_user flag handling and sync the combo's on all other views
1625         if the color changes.
1626         (cb_fore_color_changed): Idem.
1627         (workbook_create_format_toolbar): Pass workbook view's to
1628         color_group_fetch and sync the colors of the back and fore combo's
1629         with the other views on creation.
1631 2001-05-14  Miguel de Icaza  <miguel@ximian.com>
1633         * src/sheet-control-gui.c: Removed support routines that used the
1634         Excel-like toolbar.  I got fed up with it.
1635         (scg_construct): Use regular Gtk scrollbars.  Connect to value
1636         changed to reflect the state of the scrollbar on the spreadsheet
1637         inmediately instead of doing the broken Excel behaviour.
1638         That is one feature I cloned that was totally idiotic.
1640 2001-05-13  Almer S. Tigelaar  <almer@gnome.org>
1642         * src/workbook-control-gui.c (wbcg_error_splits_array):
1643         Resolve warning.
1645 2001-05-13  Almer S. Tigelaar  <almer@gnome.org>
1647         * src/colrow.c (colrow_save_sizes): Use float.
1648         (colrow_restore_sizes): Use float.
1649         (colrow_restore_sizes_group): Walk the selections
1650         in parallel with the saved_sizes. Now this will
1651         actually work for variabele size multiple selections.
1653         * src/commands.c (cmd_paste_copy_undo): Use the new
1654         is_undo flag. We need this to properly set and restore
1655         the row heights.
1656         (cmd_paste_copy_redo): Set is_undo to false.
1657         (cmd_paste_copy): Init is_undo flag.
1659         * src/commands.c (cmd_resize_colrow): Correct descriptor
1660         for autofitting.
1662 2001-05-13  Jody Goldberg <jgoldberg@home.com>
1664         * src/clipboard.c (clipboard_paste_region) : Use the new CLEAR_NORESPAN
1665           flag.  It is premature to respan the content of surrounding cells.
1666           That should only happen AFTER the new content goes in.
1668         * src/sheet.c (sheet_cell_calc_span) : check for spans into this cell
1669           even if this cell is a merged cell.
1670         (sheet_clear_region) : Make the respan conditional on a new flag.
1672         * src/workbook-control-gui.c (cb_change_zoom) : Always update the zoom
1673           combo in case the entry does not match what was used.
1675         * src/commands.c (cmd_clear_selection) : only print warning once.
1676         (cmd_clear_undo) : There is no undo for pasting comments.
1677         (cmd_paste_copy) : doh! We can not print the name of the target range,
1678           it is out of bounds!
1679         (cmd_paste_cut) : ditto.
1681         * src/item-grid.c (item_grid_draw) : If everything is hidden we can
1682           get into odd states.
1684         * src/expr.c (eval_expr_real) : New peek code generated some spurious
1685           errors when concatenating blanks.
1687 2001-05-12  Jody Goldberg <jgoldberg@home.com>
1688         From Juan Pablo Mendoza <pablo_juan@yahoo.com>
1690         * src/workbook-control-gui.c (show_gui) : remove -64 limit.
1692 2001-05-11  Jody Goldberg <jgoldberg@home.com>
1694         * src/application.c (application_real_time_auto_expr_recalc) : new
1695           function.
1697         * src/sheet.c (auto_expr_timer_clear) : new function.
1698         (sheet_update) : toggle the selection_content_changed flag here and
1699           use a timer rather than an idle handler.
1701         * src/workbook-edit.c (wbcg_edit_ctor) : Init the sensitivity timer.
1703         * src/workbook-control-gui.c (workbook_setup_edit_area) : Use
1704           wbcg_edit_ctor.
1705         (wbcg_destroy) : use wbcg_edit_dtor.
1707         * src/main.c (gnumeric_main) : setlocale (LC_ALL, NULL) to force
1708           initialization of LC_* from the environment.
1710 2001-05-11  Jon K Hellan  <hellan@acm.org>
1712         * src/sheet-control-gui.c (scg_rangesel_changed): Improve handling
1713         of merged cells. Freeze expr entry display until final range is found.
1715 2001-05-10  Jody Goldberg <jgoldberg@home.com>
1717         * src/workbook.c (workbook_sheet_delete) : Clear the combos as well as
1718           the menus.
1720         * src/workbook-view.c (wb_view_selection_desc) : intelligent naming.
1722 2001-05-10  Morten Welinder  <terra@diku.dk>
1724         * src/main.c (gnumeric_main): Complain if binary is more than 180
1725         days old.
1727 2001-05-10  Almer S. Tigelaar  <almer@gnome.org>
1729         * src/commands.c (cmd_paste_cut_undo): Restore
1730         row heights after undo.
1731         (cmd_paste_cut_redo): Backup row heights.
1732         (cmd_paste_cut_destroy): Destroy saved sizes.
1733         (cmd_paste_cut): Initialize saved sizes.
1734         (cmd_paste_copy_undo): Save and restore row heights.
1735         (cmd_paste_copy_destroy): Destroy saved sizes.
1736         (cmd_paste_copy): Initialize saved sizes.
1738 2001-05-09  Jody Goldberg <jgoldberg@home.com>
1740         * src/xml-io.c (xml_read_selection_info) : typo.  Use the child not
1741           the parent node.
1742         (xml_write_selection_info) : Save the real position.
1744         * src/sheet.c (sheet_new_scg) : set cursor bound, not the details.
1745         (sheet_cursor_set) : add some sanity checks.
1746         (sheet_clone_selection) : use the real edit_pos.
1748 2001-05-09  Jody Goldberg <jgoldberg@home.com>
1750         * src/item-cursor.c (cb_move_cursor) : typo.
1752         * src/cmd-edit.c (cmd_shift_cols) : correct bound if shifting right.
1753         (cmd_shift_rows) : correct bound if shifting down.
1755         * src/gnumeric-sheet.c (gnumeric_sheet_make_cell_visible) : If the
1756           first == last then it is likely we are uninitialized and we can
1757           start the search from the first the target may be contained in the
1758           current region without scrolling.
1760         * src/sheet-control-gui.c (scg_construct) : resize is now called when
1761           attached and the zoom scg_set_zoom_factor is set.
1762         (scg_set_zoom_factor) : resize.
1764         * src/workbook-control.c (workbook_control_init_state) : cut-n-paste-o.
1766 2001-05-08  Jody Goldberg <jgoldberg@home.com>
1768         * src/selection.c (sheet_selection_set_internal) : split this out into.
1769         * src/sheet-merge.c (sheet_merge_find_container) : here.
1770         * src/sheet-control-gui.c (scg_rangesel_changed) : and here.
1772 2001-05-08  Jody Goldberg <jgoldberg@home.com>
1774         * src/xml-io.c (xml_read_selection_info) : Use sheet_set_edit_pos.
1776         * src/selection.c (sheet_selection_extend) : merge into
1777           scg_cursor_extend.
1779         * src/sheet-control-gui.c (scg_cursor_move_to) : rename from
1780           scg_cursor_move.
1781         (scg_cursor_extend) : merge scg_cursor_extend_[hv]
1782         (scg_cursor_move) : merge scg_cursor_move_[hv]
1783         (scg_rangesel_extend) : merge scg_rangesel_extend_[hv]
1784         (scg_rangesel_move) : merge scg_rangesel_move_[hv]
1785         (scg_rangesel_start) : cleanup.
1787         * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : fix handling
1788           of Home. Simplify the function pointers for move vs extend by
1789           merging horizontal and vertical versions.
1791 2001-05-08  Jody Goldberg <jgoldberg@home.com>
1793         s/scg_stop_range_selection/scg_rangesel_stop/
1795         s/scg_set_cursor_bounds/scg_cursor_bound/
1796         s/scg_cursor_vertical_extend/scg_cursor_extend_v/
1797         s/scg_cursor_horizontal_extend/scg_cursor_extend_h/
1798         s/scg_cursor_vertical_move/scg_cursor_move_v/
1799         s/scg_cursor_horizontal_move/scg_cursor_move_h/
1800         s/scg_cursor_vertical_extend/scg_rangesel_extend_v/
1801         s/scg_cursor_horizontal_extend/scg_rangesel_extend_h/
1802         s/scg_cursor_vertical_move/scg_rangesel_move_v/
1803         s/scg_cursor_horizontal_move/scg_rangesel_move_h/
1805         * src/sheet-control-gui.[ch] : Move the rangesel info from
1806           gnumeric-sheet into here in preparation for panes.
1807         (scg_rangesel_extend_v) : merge content from
1808           gnumeric-sheet equivalent.
1809         (scg_rangesel_extend_h) : ditto.
1810         (scg_rangesel_move_v) : ditto.
1811         (scg_rangesel_move_h) : ditto.
1812         (scg_rangesel_start) : ditto.
1813         (scg_rangesel_stop) : ditto.
1814         (start_range_selection) : moved from gnumeric-sheet.
1815         (scg_rangesel_possible) : renamed from
1816             gnumeric_sheet_can_select_expr_range.
1817         (scg_rangesel_changed) : renamed from scg_range_selection_changed
1818           and make this the point that rationalizes the cursor points.
1819         (scg_cursor_bound) : renamed from scg_set_cursor_bounds
1820           and make this the point that raionalizes the cursor points.
1821         (scg_ant) : changes to item_cursor_set_bounds.
1822         (scg_colrow_select) : rangesel support is now in scg.
1823         (scg_select_all) : ditto.
1825         * src/workbook-edit.c : cleanup includes.
1827         * src/item-grid.c (item_grid_event) : rangesel support is now in scg.
1828         (item_grid_button_1) : ditto.
1830         * src/item-cursor.h : privatize the structure and class.
1832         * src/item-cursor.c (cb_autofill_scroll) : changes to
1833           item_cursor_set_bounds_visibly signature.
1834         (cb_move_cursor) : ditto.
1835         (item_cursor_set_bounds_visibly) : changes to item_cursor_set_bounds
1836           signature.
1837         (item_cursor_selection_event) : ditto.
1838         (item_cursor_set_bounds) : simplify.
1840         * src/item-bar.c (is_pointer_on_division) : rangesel support is now in scg.
1842         * src/gnumeric-sheet.[ch] : move the rangesel logic up into scg.
1844 2001-05-08  Jody Goldberg <jgoldberg@home.com>
1846         From Juan Pablo Mendoza <pablo_juan@yahoo.com>
1847         * src/sheet.c: (sheet_clone_colrow_info): Clone col and row
1848           default size.
1850 2001-05-08  Almer S. Tigelaar  <almer@gnome.org>
1852         * src/colrow.c (colrow_restore_sizes_group): Restore
1853         default from list of savedsizes.
1854         (colrow_set_sizes): When changing default save as
1855         list of savedsizes.
1857 2001-05-08  Almer S. Tigelaar  <almer@gnome.org>
1859         * src/workbook-control-gui.c (wbcg_menu_state_update): New, combine
1860         all the enabling/disabling of menu items here including the newly
1861         added show/hide menu items.
1862         (wbcg_menu_state_enable_insert): Remove.
1863         (wbcg_menu_state_paste_special): Remove.
1864         (workbook_control_gui_ctor_class): Init menu_state_update callback
1865         and remove paste_special and enable_insert initializations.
1866         (workbook_control_gui_init): Initialize show/hide menu items.
1868         * src/workbook-control-gui-priv.h: Add show/hide detail menu items
1869         and tidy structure lay-out.
1871         * src/workbook-control-priv.h: Remove menu_state_enable_insert
1872         and menu_state_paste_special callbacks and add menu_state_update
1873         callback.
1875         * src/workbook-control.[ch]: Add wb_menu_state_update and
1876         remove wb_menu_state_paste_special and wb_menu_state_enable_insert.
1877         (wb_control_sheet_add): call wb_menu_state_update, Remove
1878         call to menu_state_paste_special.
1880         * src/sheet-private.h: Add enable_showhide_detail.
1882         * src/sheet.c (sheet_new): Initialize menu state booleans.
1883         (sheet_menu_state_enable_insert): Use wb_control_menu_state_update.
1885         * src/workbook-view.c (wb_view_menus_update): Idem and
1886         remove call to wb_control_menu_state_paste_special.
1888         * src/application.c (application_clipboard_clear): Idem.
1889         (application_clipboard_copy): Idem.
1890         (application_clipboard_cut): Idem.
1892         * src/selection.c (sheet_selection_set_internal): Add comment for
1893         show/hide detail enabling/disabling, something we can't do just yet.
1895 2001-05-08  Jody Goldberg <jgoldberg@home.com>
1897         * src/clipboard.c (clipboard_paste_region) : Add PASTE_IGNORE_COMMENTS.
1899         * src/commands.c (cmd_merge_cells_undo) : Use it here.
1901 2001-05-07  Jody Goldberg <jgoldberg@home.com>
1903         * src/sheet-merge.c (sheet_merge_remove) : adjust comments.
1904         (sheet_merge_add) : ditto.
1906         * src/sheet-object-cell-comment.c (comment_get_points) : handle merged
1907           cells.
1909         * src/commands.c (cmd_unmerge_cells) : don't queue an undo object if
1910           there is nothing to do.
1911         (cmd_merge_cells) : filter existing ranges too.
1913 2001-05-07  Jody Goldberg <jgoldberg@home.com>
1915         * src/item-cursor.c (item_cursor_event) : ignore events while editing.
1917         * src/functions/fn-string.c (gnumeric_value) : s/free/g_free/
1918         * src/parse-util.c (parse_cell_name_list) : ditto.
1920         * src/parser.y (gnumeric_expr_parser) : reorganize slightly to improve
1921           readability.
1923         * src/sheet.c (sheet_range_contains_region) : doh!.  forgot to invert
1924           logic when I renamed the function.
1926 2001-05-07  Jon K Hellan  <hellan@acm.org>
1928         * src/sheet-control-gui.c (scg_select_all): Handle select button
1929         both within and outside guru mode.
1930         (button_select_all): Use scg_select_all.
1932 2001-05-07  Morten Welinder  <terra@diku.dk>
1934         * src/stf.c (stf_write_workbook): Plug file descriptor leak.
1935         (stf_write_func): Constify.
1936         (stf_open_and_read): Protect against missing file size after
1937         fstat.
1939 2001-05-07  Almer S. Tigelaar  <almer@gnome.org>
1941         * src/workbook-edit.c
1942         (workbook_edit_toolbars_set_sensitive): New, enable/disable
1943         all toolbars. Now works for bonobo toolbars too.
1944         (cb_thaw_ui_toolbar): Use toolbars_set_sensitive.
1945         (workbook_edit_set_sensitive): Idem.
1947         * src/GNOME_Gnumeric.xml: Add toolbar commands and set verbs
1948         on existing toolbars.
1950 2001-05-07  Almer S. Tigelaar  <almer@gnome.org>
1952         * src/parser.y (gnumeric_expr_parser): Display which
1953         token caused the parse error. And display more detailed
1954         error messages for paren matching errors using
1955         check_parens.
1956         (find_matching_close): Utility function for paren matching.
1957         (check_parens): Renamed from find_bracket. Replace bracket
1958         with paren everywhere for consistency.
1959         (yylex): Kill paren matching here.
1961 2001-05-07  Morten Welinder  <terra@diku.dk>
1963         * src/item-grid.c (drag_start): Plug leak.
1965         * src/plugin.c (plugin_info_read): Fix truck-size leak.
1966         (plugin_file_state_from_string): Plug leak.
1968 2001-05-07  Zbigniew Chyla  <cyba@gnome.pl>
1970         Improved plugin system performance & scalability:
1971         - reading plugin information from file only if necessary
1972           (usually when activating a plugin)
1973         - some minor optimizations (using hashes instead of lists, etc.)
1975         * src/Makefile.am
1976         (GNUMERIC_BASE_SOURCES): Sorted some items.
1978         * src/gutils.h (g_list_to_vector_custom): New macro.
1980         * src/plugin.c:
1981         Made some functions static.
1982         s/plugin_loader_get_by_id/plugin_loader_get_type_by_id/
1983         (struct _PluginInfo): Added has_full_info field.
1984         (get_file_state_as_string, plugin_file_state_as_string,
1985         plugin_file_state_from_string, plugin_file_state_free,
1986         plugin_cache_init, plugin_cache_shutdown):
1987         New functions, support for caching information about plugin ids
1988         stored in XML files (together with modification dates).
1989         (plugin_info_read_full_info_if_needed_error_info,
1990         plugin_info_read_full_info_if_needed): New functions loading missing
1991         plugin information from file if necessary.
1992         (plugin_info_read):
1993         Use existing PluginInfo struct rather than creating a new one,
1994         take XML file name (not parsed XML tree) as an argument.
1995         (plugin_info_new_from_xml):
1996         New function, creates new PluginInfo struct from XML file (using
1997         plugin_info_read).
1998         (plugin_info_new_with_id_and_dir_name_only):
1999         New function, creates new PluginInfo struct with only plugin id and
2000         directory name given (sets has_full_info to FALSE).
2001         (plugin_info_get_name, plugin_info_get_description,
2002         plugin_info_get_extra_info_list, plugin_info_is_active,
2003         plugin_info_peek_name, plugin_info_peek_description,
2004         plugin_info_peek_loader_type_str,
2005         plugin_info_provides_loader_by_type_str,
2006         plugin_info_is_loaded, plugin_info_peek_services_data,
2007         plugin_info_get_loader,
2008         plugin_inc_dependants, plugin_dec_dependants,
2009         plugin_dependencies_inc_dependants,
2010         plugin_dependencies_dec_dependants,
2011         plugin_get_loader_if_needed, activate_plugin, deactivate_plugin,
2012         plugin_can_deactivate, plugin_info_force_mark_inactive,
2013         plugin_load_service, plugin_unload_service,
2014         plugin_load_dependencies):
2015         Read full plugin information if needed.
2016         (plugin_info_free):
2017         Don't try to free most data if has_full_info == FALSE.
2018         (plugin_info_list_read_for_dir):
2019         Return one PluginInfo instead of a list, create incomplete
2020         PluginInfo (using plugin_info_new_with_id_and_dir_name_only) if
2021         found a directory in plugin_file_state_dir_hash.
2022         (plugin_info_list_read_for_subdirs_of_dir):
2023         Don't check if current file is a directory (it'll be detected
2024         anyway).
2025         (plugin_db_get_known_plugin_id_list,
2026         plugin_db_extend_known_plugin_id_list, plugin_db_is_known_plugin,
2027         plugin_db_get_saved_active_plugin_id_list,
2028         plugin_db_is_saved_active_plugin):
2029         Removed.
2030         (plugin_db_get_available_plugin_info_list): Just return
2031         available_plugin_info_list, never fail.
2032         (plugin_db_mark_plugin_for_deactivation,
2033         plugin_db_is_plugin_marked_for_deactivation, plugins_shutdown):
2034         Use hash table (plugins_marked_for_deactivation_hash) instead of
2035         a list.
2036         (plugin_db_init): Initialize available_plugin_info_list and
2037         saved_active_plugin_id_list here, use a hash table when detecting
2038         new plugins.
2039         (plugins_init): Call plugin_cache_init.
2040         (plugins_init): Call plugin_cache_shutdown.
2042         * src/plugin.h
2043         (plugin_info_read, plugin_info_print, plugin_info_list_read_for_dir,
2044         plugin_info_list_read_for_subdirs_of_dir,
2045         plugin_info_list_read_for_subdirs_of_dir_list,
2046         plugin_info_list_read_for_all_dirs,
2047         plugin_db_extend_known_plugin_id_list, plugin_db_is_known_plugin,
2048         plugin_db_extend_saved_active_plugin_id_list,
2049         plugin_db_is_saved_active_plugin,
2050         plugin_db_activate_saved_active_plugins):
2051         Removed (most of them are now static functions).
2053         * src/plugin-service.c
2054         (plugin_service_file_saver_initialize): Fixed serious typo.
2056         * src/dialogs/dialog-plugin-manager.c
2057         (cb_pm_button_activate_plugin_clicked,
2058         cb_pm_button_activate_all_clicked,
2059         cb_pm_button_deactivate_all_clicked,
2060         update_plugin_manager_view): Adjusted to
2061         plugin_db_get_available_plugin_info_list signature change.
2063         * plugins/applix/plugin.xml, plugins/dif/plugin.xml,
2064         plugins/excel/plugin.xml, plugins/gb/plugin.xml,
2065         plugins/gda/plugin.xml, plugins/gnome-glossary/plugin.xml,
2066         plugins/guile/plugin.xml, plugins/html/plugin.xml,
2067         plugins/lotus-123/plugin.xml, plugins/numtheory/plugin.xml,
2068         plugins/oleo/plugin.xml, plugins/perl/plugin.xml,
2069         plugins/plan-perfect/plugin.xml, plugins/py-func/plugin.xml,
2070         plugins/python/plugin.xml, plugins/python-loader/plugin.xml,
2071         plugins/sc/plugin.xml, plugins/sylk/plugin.xml,
2072         plugins/xbase/plugin.xml, plugins/xml_sax/plugin.xml:
2073         Removed <gnumeric_plugin_group> tags. Now every directory may contain
2074         only one plugin.
2076 2001-05-07  Almer S. Tigelaar  <almer@gnome.org>
2078         * src/preview-grid.c (preview_grid_draw_background):
2079         Call style_border_draw_diag here.
2081 2001-05-06  Jody Goldberg <jgoldberg@home.com>
2083         * src/style-border.c (style_borders_row_draw) : don't draw the
2084           diagonals here.
2085         (style_border_draw_diag) : split the diag drawing code into here.
2087         * src/item-grid.c (item_grid_draw_merged_range) : call
2088           style_border_draw_diag here.
2089         (item_grid_draw_background) : and here.
2091         * src/workbook-format-toolbar.c (cb_merge_cells) : fragment the
2092           selection just in case.
2093         (cb_unmerge_cells) : ditto.  Thanks Juan Pablo.
2095         * src/commands.c (cmd_unmerge_cells) : remove ugly hack cast.
2096         (cmd_merge_cells) : ditto.  DO NOT DO THAT !
2098         * src/sheet.c (sheet_range_splits_region) : implement the optional
2099           ignore feature for merged regions too.
2101 2001-05-06  Almer S. Tigelaar  <almer@gnome.org>
2103         * src/colrow.c (colrow_restore_sizes): Don't free things
2104         twice.
2105         (colrow_save_sizes): Initialize run length.
2107 2001-05-06  Almer S. Tigelaar  <almer@gnome.org>
2109         * src/gnumeric.h: Define ColRowRLESizeList.
2111         * src/commands.c (cmd_ins_del_colrow_*) : For saving
2112         and restoring the col/row sizes we now use a
2113         ColRowRLESizeList instead of a double *.
2115         * src/colrow.[ch] (colrow_save_sizes) : Rebuild to return
2116         a Run-Length encoded list of sizes.
2117         (colrow_restore_sizes): Idem, but as parameter.
2118         (colrow_size_list_destroy): Use colrow_rle_size_list_destroy.
2119         (colrow_rle_size_list_destroy): Free SavedSize's.
2121 2001-05-06  Jon K Hellan  <hellan@acm.org>
2123         * src/sheet-control-gui.c (scg_range_selection_changed): Change
2124         item cursor if expr entry changed the range.
2126 2001-05-06  Jon K Hellan  <hellan@acm.org>
2128         * src/item-bar.h:  We don't need guru_cursor.
2130         * src/item-bar.c (item_bar_realize, item_bar_unrealize,
2131         set_cursor): Ditto
2133 2001-05-05  Jody Goldberg <jgoldberg@home.com>
2135         * src/sheet-merge.c (sheet_merge_add) : update the edit_pos if
2136           necessary.
2138         * src/sheet.c (sheet_update_only_grid) : fix typo.
2140 2001-05-05  Almer S. Tigelaar  <almer@gnome.org>
2142         * src/item-bar.[ch]:
2143         (item_bar_realize): Initialize item_bar->shade and tidy to be
2144         more correct.
2145         (item_bar_unrealize): Unref item_bar->shade.
2146         (item_bar_draw): Use item_bar->shade.
2148 2001-05-05  Jon K Hellan  <hellan@acm.org>
2150         * src/item-bar.h (struct _ItemBar): Add guru_cursor member.
2152         * src/item-bar.c (item_bar_realize): Initialize guru_cursor.
2153         (item_bar_unrealize): Destroy guru_cursor.
2154         (is_pointer_on_division): Handle uninitialized case.
2155         (set_cursor): Do not show resize cursor in guru mode.
2156         (item_bar_event): Allow gurus to do range selection. Do nothing if
2157         guru is up but no range selector active. Do not post context menu
2158         when guru is up.
2160 2001-05-04  Jody Goldberg <jgoldberg@home.com>
2162         * src/sheet.c (sheet_range_splits_array) : Make the displaying the
2163           warning optional.
2164         (sheet_range_splits_region) : ditto.
2165         (sheet_range_contains_region) : implement.
2167         * src/workbook-control-gui.c (sort_cmd) : no need to check for merges
2168           or arrays here.
2169         * src/dialogs/dialog-cell-sort.c (dialog_cell_sort) : or here.
2171         * src/commands.c (cmd_sort) : it belongs here.
2173         * src/print.c (print_page) : in the case of grid lines we were off by
2174           a point.  In the case without gridlines we need not display the
2175           leading cell margins.
2177 2001-05-04  Jody Goldberg <jgoldberg@home.com>
2179         s/clipboard_release/cellregion_free/
2180         s/range_copy/range_dup/
2181         s/cell_region_render_ascii/cellregion_to_string/
2182         s/clipboard_release/cellregion_free/
2184         * src/commands.c (cmd_autofill) : Use sheet_range_contains_region.
2185         (cmd_autofill_redo) : no need to test here.
2186         (cmd_paste_cut) : test destination for validity and ensure that it
2187           does not slice up any merged regions or arrays.  Make the descriptor
2188           an argument so that other commands can use this one.
2189         (cmd_ins_del_colrow_redo) : use colrow_max.
2190         (cmd_area_set_text_redo) : use sheet_ranges_split_region.
2191         (cmd_colrow_outline_change) : suppress warning.
2193         * src/gui-clipboard.c (x_selection_to_cell_region) : simplify by using
2194           some of the convenience routines.
2196         * src/gutils.c (gnumeric_sys_data_dir) : warning suppression.
2197         (gnumeric_sys_lib_dir) : ditto.
2199         * src/item-bar.c (item_bar_draw) : add missing warning.
2201         * src/item-cursor.c (item_cursor_drag_event) : Don't assume the
2202           release came from the button that started the grab (think about
2203           multiple simultaneous button downs.
2204         (item_cursor_selection_event) : ditto.
2205         (item_cursor_do_drop) : changes to selection_first_range.
2207         * src/parse-util.c (col_name_internal) : new routine split from
2208           col_name with better buffer handling.
2209         (col_name) : used here.
2210         (cols_name) : and in this new function.
2212         * src/print.c (sheet_print_selection) : changes to
2213           selection_first_range.
2215         * src/print-info.c (print_info_new) : default even_if_only_styles to
2216           false.  This is probably what most people want.
2218         * src/ranges.c (range_translate) : don't invert.
2219         (range_height) : new util.  could probably be #define.
2220         (range_width) : new util.  could probably be #define.
2221         (range_is_infinite) : use range_is_full.
2222         (range_is_full) : new util.
2224         * src/search.c (calculate_replacement) : warning suppression.
2226         * src/selection.c (sheet_selection_cut) : Use
2227           sheet_range_splits_region and selection_first_range.
2228         (sheet_selection_copy) : Use selection_first_range and remove TODO
2229           about supporting not paste by content for partial arrays.
2230         (selection_first_range) : Add optional error reporting if there are
2231           multiple selection ranges.
2233         * src/format.c (format_get_currency) : diddle the logic to get
2234           undefined to work the way people expect for locale C.
2236         * src/sheet-merge.c (sheet_merge_relocate) : remove some dead code.
2237         (sheet_merge_add) : changes to sheet_range_splits_array.
2239         * src/sheet-object-widget.c (sheet_widget_checkbox_construct) :
2240           changes to selection_first_range.
2242         * src/sheet.c (sheet_delete_{cols,rows}) : changes to
2243           sheet_range_splits_array.
2244         (sheet_insert_{cols,rows}) : use sheet_range_splits_array.
2245         (avoid_dividing_array_vertical) : delete.
2246         (avoid_dividing_array_horizontal) : delete.
2247         (sheet_is_pristine) : constness.
2248         (sheet_mark_clean) : delete.
2249         (sheet_clear_region) : changes to sheet_range_splits_array.
2250         (sheet_ranges_split_region) : renamed from selection_check_for_array.
2251         (sheet_range_splits_region) : new routine to check arrays and merged
2252           regions.
2253         (sheet_range_splits_array) : improve and add hooks to be used for
2254           overlapping checks.
2255         (cb_check_array_vertical) : report the array being split.
2256         (cb_check_array_horizontal) : report the array being split.
2258         * src/stf-parse.c (stf_parse_region) : use cellregion_new.
2259         (stf_parse_is_valid_data) : simplify.
2261         * src/value-sheet.c (value_area_get_width) : warning suppression.
2262         (value_area_get_height) : warning suppression.
2263         (value_area_fetch_x_y : signedness.
2264         (value_area_get_x_y) : signedness.
2266         * src/value.c (value_array_resize) : signedness.
2267         (value_array_set) : signedness.
2269         * src/workbook-control-gui.c (wbcg_error_splits_array) : signature
2270           change.
2271         (cb_insert_rows) : use selection_first_range
2272         (cb_insert_cols) : ditto.
2273         (sort_cmd) : ditto.
2274         (cb_workbook_debug_info) : clean out some deadwood.
2276         * src/workbook-edit.c (auto_complete_matches) : warning suppression.
2278         * src/workbook.c (workbook_sheet_detach) : warning suppression.
2279         (g_ptr_array_insert) : warning suppression, moved to gutils.
2281         * src/xml-io.c (xml_write_attributes) : warning suppression.
2282         (xml_read_selection_clipboard) : use cellregion_new and tidyup.
2284         * src/clipboard.c (paste_link) : Only make the link sheet specific if
2285           we need to.
2286         (clipboard_paste_region) : constness, support being able to paste
2287           content only as link or value.
2288         (clipboard_prepend_cell) : check for arrays.
2289         (clipboard_copy_range) : use cellregion_new
2290         (cellregion_new) : new function
2291         (cellregion_free) : renamed from clipboard_release.
2292         (cellregion_to_string) : moved here from render-ascii.
2294         src/cmd-edit.c (cmd_paste) : more protection. Merge in
2295           application_paste.
2296         (cmd_paste_to_selection) : handle changes to selection_is_simple and
2297           use selection_first_range
2298         (cmd_shift_rows) : changes to cmd_paste_cut.
2299         (cmd_shift_cols) : ditto.
2301         * src/command-context-priv.h : change signature of splits array.
2302         * src/command-context.h : ditto.
2303         * src/command-context.c (gnumeric_error_splits_array) : ditto.
2305         * src/application.c (application_clipboard_clear) :
2306         (application_set_selected_sheet) : remove #warning, it is not portable.
2308         * src/commands.c
2309         * src/Makefile.am : remove render-ascii.[ch]  Move their content into
2310           clipboard.
2312 2001-05-01  Jody Goldberg <jgoldberg@home.com>
2314         * src/clipboard.c (clipboard_prepend_cell) : remove ugly
2315           implementation.
2317         * src/workbook-edit.c (auto_complete_matches) : remove warning.
2319         * src/xml-io.c (xml_write_attributes) : remove warning.
2321 2001-05-04  Morten Welinder  <terra@diku.dk>
2323         * src/expr.c (expr_parse_string): Plug leak.
2325 2001-05-04  Morten Welinder  <terra@diku.dk>
2327         * src/analysis-tools.c (set_cell_value): Make public.
2329         * src/solver-lp.c (solver_sensitivity_report,
2330         solver_answer_report): Use set_cell_value.
2332         * src/value.c (value_peek_string): New function.
2334         * src/expr.c (eval_expr_real): Simplify CONCAT case using
2335         value_peek_string.
2337         * src/datetime.c (datetime_value_to_serial_raw): Simplify using
2338         value_peek_string.
2340         * src/workbook-view.c (wb_view_auto_expr_recalc): Ditto.
2342         * src/graph-vector.c (graph_vector_seq_string): Ditto.
2344         * src/solver-lp.c (find_name): Ditto.
2346 2001-05-04  Almer S. Tigelaar  <almer@gnome.org>
2348         * src/GNOME_Gnumeric.xml: Correct InsertComment
2349         pixmap, add pixmap for Sort and add separators
2350         on the right places.
2352         * src/pixmaps: Split sort ascending into 16x16 and
2353         24x24 versions.
2355         * src/application.c: Account for the split. This
2356         will make the menu item show up with a correct
2357         icon in Bonobo.
2359         * src/workbook-control-gui.c: Idem. Use the 16x16
2360         icon for the menu.
2362 2001-05-04  Almer S. Tigelaar  <almer@gnome.org>
2364         * src/commands.c (cmd_unmerge_cells): Correct minor typo.
2365         (cmd_merge_cells): Idem.
2367 2001-05-03  Jon K Hellan  <hellan@acm.org>
2369         * src/gnumeric-util.c (cb_remove_object_data): New callback
2370         function. Removes object data from wbcg when dialog is destroyed.
2371         (gnumeric_keyed_dialog): New function. Make dialog a transient
2372         child of wbcg, attaching to wbcg object data to identify the
2373         dialog.
2374         (gnumeric_dialog_raise_if_exists): New function: Raise the dialog
2375         identified by key if it is registered on the wbcg.
2377         * src/gnumeric-util.h (gnumeric_dialog_make_unique,
2378         gnumeric_dialog_raise_if_exists): Declare.
2380         * src/about.c (dialog_about): Use gnumeric_keyed_dialog.
2381         Use gnumeric_dialog_raise_if_exists to ensure that only one sheet
2382         object config dialog at a time can be displayed for a wbcg.
2384         * src/sheet-object-widget.c (sheet_widget_checkbox_user_config):
2385         Ditto.
2387 2001-05-02  Almer S. Tigelaar  <almer@gnome.org>
2389         * src/workbook-edit.c (cb_thaw_ui_toolbar): Callback timer
2390         routine, re-enables the toolbars.
2391         (workbook_edit_set_sensitive): Add a ui timer to eliminate
2392         toolbar flickering.
2394         * src/sheet.c (sheet_menu_state_enable_insert): Clean-up.
2396 2001-05-01  Almer S. Tigelaar  <almer@gnome.org>
2398         * src/parser.y (yylex): Seek for matching )'s for ('s and
2399         vice versa.
2400         (find_bracket): The meat for the above functionality
2401         (find_char): Split out from yylex, might be useful in other
2402         places. Currently used to scan for matching quotes.
2403         (gnumeric_expr_parser): If the ExprTree is null, assume that
2404         an error has occurred, set a general "invalid expression" and
2405         mark the whole expression. Also display more detail when both
2406         the expression and error message are non-null.
2408 2001-05-01  Almer S. Tigelaar  <almer@gnome.org>
2410         * src/application.[ch] (application_clipboard_unant): Use
2411         sheet_unant.
2412         (application_clipboard_clear): Idem.
2413         (application_clipboard_copy): Use sheet_ant.
2414         (application_clipboard_cut): Idem.
2415         (application_clipboard_is_cut): New function, is the area
2416         on the clipboard marked for cutting or for copying?
2418         * src/selection.[ch] (sheet_selection_ant): Deprecated, remove.
2419         (sheet_selection_unant): Idem.
2421         * src/sheet-control-gui.[ch] (scg_selection_ant): Rename
2422         to scg_ant and add a ranges parameter where the ranges to
2423         ant can be specified.
2424         (scg_selection_unant): Rename to scg_unant.
2425         (scg_destroy): Make sure to un-ant everything.
2426         (scg_construct): Ant all anted regions on the sheet.
2428         * src/sheet.[ch] (sheet_ant): New, ants one or more regions
2429         on the sheet.
2430         (sheet_unant): New, unants all currently anted region on the
2431         sheet.
2432         (sheet_destroy): Make sure to free the ant list.
2434         * src/commands.c (cmd_ins_del_colrow_undo): Remove ugly ant-hack,
2435         this is no longer needed, application_clipboard_cut/copy handles
2436         this now.
2437         (cmd_ins_del_colrow_redo): Idem
2438         (cmd_ins_del_colrow): Oh dear, we were actually storing both
2439         the cut and copied area as a cut area and we were actually
2440         cutting even if the range was a copied area after shifting.
2442 2001-04-30  Jody Goldberg <jgoldberg@home.com>
2444         * src/about.c (dialog_about) : sync with website.
2446         * src/format.c (format_number) : don't suppress the minus sign when
2447           faced with a space in the format.  Is there a counter example ?
2448         (format_number) : handle negative improper fractions.
2450 2001-04-30  Morten Welinder  <terra@diku.dk>
2452         * src/func.c (tokenized_help_find): Warning killer.
2454         * src/value.c (value_new_array): Kill warnings.
2455         (value_new_array_empty): Ditto.
2456         (value_release): Ditto.
2458         * src/print-cell.c (print_show): Use proper types.
2459         (get_width_string_n): Ditto.
2461         * src/number-match.c (gnumeric_error_init): Warning killer.
2463         * src/parser.y (deallocate_all): Warning killer.
2465         * src/item-bar.c (item_bar_draw): Avoid signedness problems.
2467         * src/format-template.c (hash_table_destroy): Warning killer.
2469         * src/colrow.h (struct _ColRowInfo): Make size_pixels an int.
2471         * src/value-sheet.c (value_area_get_width, value_area_get_height):
2472         Return an int, not a guint.
2474 2001-04-30  Almer S. Tigelaar  <almer@gnome.org>
2476         * src/commands.c (cmd_clear_selection): More descriptive
2477         descriptor.
2478         (cmd_format): Idem.
2479         (cmd_resize_colrow): Idem.
2480         (cmd_autofill): Idem.
2481         (cmd_autoformat): Idem.
2482         (cmd_unmerge_cells): Idem.
2483         (cmd_merge_cells): Idem.
2484         (cmd_colrow_std_size): Add "pts" to end of descriptor.
2485         (cmd_zoom): No need to re-assign gstring.
2486         (range_list_to_string): Convert a list of ranges to a
2487         string representation.
2489         * src/colrow.[ch] (colrow_index_list_to_string): Convert
2490         an index list to a string representation.
2491         (colrow_string_build): Utility routine for
2492         colrow_index_list_to_string.
2494 2001-04-30  Almer S. Tigelaar  <almer@gnome.org>
2496         * src/parser.y (gnumeric_expr_parser) : Give a warning
2497         when both the resulting ExprTree and error message is non-null.
2498         This should never happen.
2500 2001-04-29  Jody Goldberg <jgoldberg@home.com>
2502         * src/parser.y (yylex) : return INVALID_TOKEN rather than EOF when a
2503           lexical error is found.
2505         * src/selection.c (sheet_selection_cut) : It is ok for the source
2506           region to have merged regions or arrays.  It is NOT ok for the
2507           target to have regions that are split.
2509         * src/cmd-edit.c (cmd_paste) : Only clear the clipboard if the paste
2510           was successful.
2512 2001-04-29  Almer S. Tigelaar  <almer@gnome.org>
2514         * src/commands.c (cmd_zoom) : Implement zoom undo/redo
2515         (cmd_zoom_destroy) : Idem.
2516         (cmd_zoom_redo): Idem.
2517         (cmd_zoom_undo): Idem.
2519         * src/workbook-control-gui.c (cb_change_zoom):
2520         Use cmd_zoom here.
2522 2001-04-28  Jody Goldberg <jgoldberg@home.com>
2524         * src/style-border.c (print_hline) : handle offset of screen coords vs
2525           printer coords.
2526         (print_vline) : ditto.
2527         (style_borders_row_print) : sync with style_borders_row_draw and pass
2528           width to the line drawing to handle different coordinate types.
2530         * src/ranges.c (range_translate) : warn if clipped not just if
2531           removed.
2533         * src/clipboard.c (clipboard_prepend_cell) : store the source sheet if
2534           possible.
2535         (paste_link) : Use the right sheets.
2536         (clipboard_paste_region) : send enough information into paste_link.
2538 2001-04-27  Jody Goldberg <jgoldberg@home.com>
2540         * src/format.c (pre_parse_format) : Catch fractions too.
2541         (render_number) : don't pass in so many copies of flags.  Just use the
2542           info struct.  Add a 'has_fraction' flag to disable rounding.
2543         (do_render_number) : ditto.
2544         (stern_brocot) : simple stern brocot tree.  Should really use an
2545           adaptive precision but I am lazy.
2546         (format_number) : add fractions.
2548         * src/commands.c (cmd_autofill_redo) : changing visibility can triger a
2549           draw which requiresthat things be rendered and spanned.  Be sure to
2550           complete the action BEFORE changing visibility.
2552 2001-04-27  Chema Celorio  <chema@celorio.com>
2554         * src/sheet-object.h: add the header for clone_sheet
2556         * src/sheet-object.c (sheet_object_clone): implement
2557         (sheet_object_clone_sheet): implemnt.
2559         * src/sheet-object-widget.c (SOW_MAKE_TYPE): add read_xml, write_xml
2560         and clone methods to macro
2561         (sheet_object_widget_clone): implement.
2562         Implement for X in label, frame, button, checkbox
2563         (sheet_widget_x_construct_with_label):
2564         (sheet_widget_x_destroy):
2565         (sheet_widget_x_clone):
2566         (sheet_widget_x_write_xml):
2567         (sheet_widget_x_read_xml):
2569         (sheet_object_widget_register): implement
2571         * src/sheet-object-impl.h: add the clone method
2573         * src/sheet-object-graphic.c (sheet_object_graphic_clone): implement.
2574         (sheet_object_filled_clone): implement.
2576         * src/sheet-object-cell-comment.c (cell_comment_clone): implement
2578 2001-04-26  Jon K Hellan  <hellan@acm.org>
2580         * src/item-grid.c (item_grid_button_1): Invoke
2581         scg_start_range_selection rather than
2582         gnumeric_sheet_start_range_selection.
2584         * src/sheet-control-gui.[ch] (scg_start_range_selection): New function.
2585         Start range selection in gsheet and notify expr entry.
2587 2001-04-26  Jody Goldberg <jgoldberg@home.com>
2589         * configure.in : Add configure checks for finite and isfinite
2591         * src/mathfunc.h (FINITE) : Move the #define wrapper out here.
2593         * src/cell.c : prune some includes
2594         (cell_default_halign) : rename to
2595         * src/style.c (style_default_halign) : to simplify headers for systems
2596           that do not support fwd declarations of enums. H - cough - PUX
2598 2001-04-26  Morten Welinder  <terra@diku.dk>
2600         * src/stf-parse.c: Put a decisive end to the signed-vs-unsigned
2601         problems in here.  It's all glib's fault, really.
2603 2001-04-26  Morten Welinder  <terra@diku.dk>
2605         * src/stf-parse.c (stf_parse_options_fixed_autodiscover): Fix a
2606         signed vs. unsigned error.  (We underflowed from 0 to
2607         0xffff...ff.)
2609 2001-04-26  Jody Goldberg <jgoldberg@home.com>
2611         * src/item-grid.c (item_grid_class_init) : Drat part of a canceled
2612           patch slipped in.
2614         * src/ranges.c (range_is_sane) : new function.
2615         (sheet_merge_add) : use it here.
2617 2001-04-26  Jon K Hellan  <hellan@acm.org>
2619         * src/item-grid.c (item_grid_draw_background): Fix typo.
2621         * src/gnumeric-util.c (gnumeric_dialog_run): Fix silly mistake
2623 2001-04-26  Jon K Hellan  <hellan@acm.org>
2625         * src/gnumeric-util.c (gnumeric_wb_dialog_run): Eliminate attempt
2626         to handle parent being closed underneath dialog running a
2627         recursive mainloop. That can't happen since GTK 1.2.7. Move what
2628         remains of the function into gnumeric_dialog_run.
2629         (gnumeric_dialog_run): See above.
2630         (gnumeric_set_transient): Place dialog according to user's
2631         placement policy.
2632         (gnumeric_non_modal_dialog): Use gnumeric_set_transient to get
2633         placement right.
2635         * src/gui-file.c (gui_file_save_as, dialog_query_load_file):
2636         No longer place at mouse, since gnumeric_set_transient now
2637         honours user's dialog placement policy.
2639 2001-04-25  Jody Goldberg <jgoldberg@home.com>
2641         * src/sheet-style.c (sheet_style_get_list) : Add a horizontal merge
2642           before dumping to a list.
2643         (cb_hash_to_list) : free elements that have been merged in the
2644           horizonal step, but have not yet been removed.
2645         (cb_hash_merge_horiz) : new function. merge when possible, after a
2646           merge either free the useless bit or mark it as useless for later
2647           removal.
2648         (cb_style_list_add_node) : Use mstyle_equal for now to remerge
2649           different instances of the same logical style.  This is necessary
2650           until I finish the per sheet style index.
2651         (sheet_style_init) : add some sanity checks incase some bright boy
2652           decides to up the size of sheet and forgets here.
2654         * src/xml-io.c (xml_sheet_write) : Add the properties for the
2655           outline mode preferences.
2656         (xml_sheet_read) : ditto.
2658         * src/item-debug.h : fix the messages to include the module
2659         * src/item-bar.c : fix the item-debug grab/ungrab messages.
2660         (item_bar_update) : gnome_canvas_group_child_bounds is a deprecated
2661           useless call.
2662         * src/item-edit.c : fix the item-debug grab/ungrab messages.
2663         (recalc_spans) : gnome_canvas_group_child_bounds is a deprecated
2664           useless call.
2665         * src/item-grid.c : fix the item-debug grab/ungrab messages.
2666         (item_grid_update) : gnome_canvas_group_child_bounds is a deprecated
2667           useless call.
2668         (item_grid_button_1) : If we are going to start selecting a range have
2669           the grid to a grab on button down.  This should fix the pseudo-race
2670           condition that was irritating the ExprEntry.
2672         * src/preview-grid.c (preview_grid_update) :
2673           gnome_canvas_group_child_bounds is a deprecated useless call.
2674         * src/item-cursor.c : fix the item-debug grab/ungrab messages.
2675         (item_cursor_point) : animated cursors should never receive events.
2677         * src/cell-draw.c (cell_draw) : It is perfectly reasonable for
2678           narrow/short cols/rows to produce cells that have negative sizes
2679           with the margins removed.  exit silently.
2681 2001-04-25  Almer S. Tigelaar  <almer@gnome.org>
2683         * src/stf-parse.c (stf_parse_options_fixed_autodiscover):
2684         Fix ugly discovering error that can cause a non-existant column
2685         to be discovered if there are leading spaces and avoid skipping
2686         over columns that should be checked for emptyness. Fixes Bug #53499
2688 2001-04-24  Almer S. Tigelaar  <almer@gnome.org>
2690         * src/number-match.c : We are using the fabs function, so
2691         include math.h
2693 2001-04-24  Morten Welinder  <terra@diku.dk>
2695         * src/parse-util.c (gnumeric_char_start_expr_p): Make sure lines
2696         like "-----------" are not considered expressions.  (Even though
2697         XL does.)
2699 2001-04-23  Jon K Hellan  <hellan@acm.org>
2701         * src/sheet-control-gui.c (scg_stop_range_selection): Stop
2702         sliding. This was a race condition. The slide handler would think
2703         we were still range selecting.
2705 2001-04-23  Morten Welinder  <terra@diku.dk>
2707         * src/parse-util.c (gnumeric_char_start_expr_p): Handle initial
2708         dash.  Also handle initial plus better.
2710 2001-04-23  Morten Welinder  <terra@diku.dk>
2712         * src/xml-io.c (xml_read_style): Compare against right version.
2714 2001-04-23  Morten Welinder  <terra@diku.dk>
2716         * src/number-match.c (compute_value): Handle negative numbers(!).
2717         Handle overflow better.
2719 2001-04-23  Morten Welinder  <terra@diku.dk>
2721         * src/gui-clipboard.c (x_selection_to_cell_region): Plug leak.
2723 2001-04-23  Almer S. Tigelaar  <almer@gnome.org>
2725         * src/workbook-edit.c (workbook_finish_editing): Give focus
2726         to the edit line when an error is encountered.
2727         * src/workbook-control-gui.c
2728         (wbcg_close_control) : Don't store the partially entered expression
2729         when we are going to close.
2730         (cb_file_quit) : Idem.
2731         (cb_notebook_switch_page) : Idem, for switching between tabs
2732         when we are _not_ in a subexpression.
2734         * src/parser.y : Correct off-by-one glitches and strtod exponent
2735         out of range error problem.
2737         * src/expr.[ch] (expr_parse_string): Use a ParseError struct
2738         instead of an error string.
2740         * src/commands.c (cmd_area_set_text_redo): Use expr_parse_string
2741         in the newly corrected fashion.
2742         * src/expr-name.c (expr_name_create): Idem, require a ParseError
2743         struct to be passed instead of a char** aswell.
2744         * src/parse-util.c (parse_text_value_or_expr): Idem.
2745         * src/sheet-object-widget.c (cb_checkbox_config_clicked): Idem.
2746         * src/test-parser.c (main): Idem.
2747         * src/xml-io.c (xml_cell_set_array_expr): Idem.
2749         * src/sheet.c (sheet_clone_names): Use expr_name_create which now
2750         uses ParseError instead of char **.
2751         * src/xml-io.c (xml_read_names): Idem.
2753 2001-04-23  Morten Welinder  <terra@diku.dk>
2755         * src/GNOME_Gnumeric.xml: Define a few more outline commands, just
2756         to shut up bonobo.
2758 2001-04-22  Jody Goldberg <jgoldberg@home.com>
2760         * src/commands.c (cmd_colrow_outline_change) : Extend logic to support
2761           having collapse buttons at the start or end of the range.  Fix a few
2762           for behaviors.
2764 2001-04-21  Jody Goldberg <jgoldberg@home.com>
2766         * src/colrow.c (colrow_visibility) : Don't toggle the visibility of
2767           collapsed regions even if we are only hiding things.  It will make a
2768           mess of undo.
2770         * src/workbook-control-gui.c (wbcg_menu_state_sheet_prefs) : add some
2771           new prefs for outline mode.
2773         * src/colrow.c (colrow_adjust_outline_dir) : new stub.  implement
2774           later.
2776         * src/sheet-control-gui.c (scg_set_gutters) : delete.
2777         (scg_resize) : split from.
2778         (scg_set_zoom_factor) : here. change signature to use zoom associated
2779           with sheet.  No need to pass it in.
2781         * src/sheet.c (sheet_col_row_gutter) : Use scg_resize.
2782         (sheet_set_zoom_factor) : signature change.
2783         (sheet_adjust_preferences) : Adjust signature to optionally call
2784           scg_resize.
2786         * src/item-bar.c (compute_pixels_from_indent) : Support disabling
2787           outlines.
2789 2001-04-20  Jody Goldberg <jgoldberg@home.com>
2791         * src/sheet.c (sheet_new) : init outline_symbols_{below,right},
2792           and display_outlines
2794 2001-04-21  Jon K Hellan  <hellan@acm.org>
2796         * configure.in (have_gda): Today, gda plugin compiles again with
2797         CVS libgda. Bump required version to 0.2.4.
2799 2001-04-20  Jon K Hellan  <hellan@acm.org>
2801         * configure.in : Make gda plugin optional. Check for suitable
2802         versions - present CVS version doesn't compile.
2804 2001-04-19  Jody Goldberg <jgoldberg@home.com>
2806         * src/embeddable-grid.c (embeddable_grid_init_anon) :  fix leak.
2808         * src/workbook.c (workbook_sheet_rename) : fix error message.
2809         (workbook_sheets) : constness.
2810         (workbook_sheet_count) : ditto.
2811         (workbook_sheet_index_get) : ditto.
2813 2001-04-18  Jody Goldberg <jgoldberg@home.com>
2815         * src/sheet.c (sheet_cell_set_expr) : clear old span when an
2816           expression is assigned.
2817         (sheet_cell_set_text) : ditto.
2819         * src/application.c (application_init) : add new icons.
2821         * src/workbook-control-gui.c : Use the new icons.
2822         * src/GNOME_Gnumeric.xml : ditto.
2824 2001-04-18  Jon K Hellan  <hellan@acm.org>
2826         * src/sheet-control-gui.c (scg_rangesel_cursor_extend,
2827         scg_rangesel_cursor_bounds, scg_rangesel_horizontal_move,
2828         scg_rangesel_vertical_move, scg_rangesel_horizontal_extend,
2829         scg_rangesel_vertical_extend, scg_rangesel_cursor_extend): Use
2830         value of item_cursor from after GnumericSheet method has been
2831         invoked.
2833         * src/workbook-edit.[ch] (workbook_get_entry,
2834         workbook_get_entry_logical): Change return type to
2835         GnumericExprEntry.
2836         (workbook_set_entry): Change type of entry argument to
2837         GnumericExprEntry.
2839         * src/gnumeric-sheet.c (move_cursor): Move to scg::scg_move_cursor
2840         (cursor_horizontal_move): Move to scg::scg_cursor_horizontal_move
2841         (cursor_horizontal_extend): Move to
2842         scg::scg_cursor_horizontal_extend
2843         (cursor_vertical_move): Move to scg::scg_cursor_vertical_move
2844         (cursor_vertical_extend): Move to scg::scg_cursor_vertical_extend
2845         (selection_remove_selection_string,
2846         selection_insert_selection_string): Remove. GnumericExprEntry
2847         widget now handles this.
2848         (start_cell_selection_at): Rename to start_range_selection_at.
2849         (start_cell_selection): Rename to start_range_selection.
2850         (gnumeric_sheet_start_cell_selection): Rename to
2851         gnumeric_sheet_start_range_selection.
2852         (gnumeric_sheet_stop_cell_selection): Rename to
2853         gnumeric_sheet_stop_range_selection. Remove clear_string parameter
2854         and selection string manipulation.
2855         (rangesel_horizontal_move): Make non-static, rename to
2856         gnumeric_sheet_rangesel_horizontal_move, remove selection string
2857         manipulation.
2858         (rangesel_vertical_move): Make non-static, rename to
2859         gnumeric_sheet_rangesel_vertical_move, remove selection string
2860         manipulation.
2861         (rangesel_horizontal_extend): Make non-static, rename to
2862         gnumeric_sheet_rangesel_horizontal_extend, remove selection string
2863         manipulation.
2864         (rangesel_vertical_extend): Make non-static, rename to
2865         gnumeric_sheet_rangesel_vertical_extend, remove selection string
2866         manipulation.
2867         (gnumeric_sheet_key_mode_sheet): Use movefn's from scg instead of
2868         from GnumericSheet.
2870         * src/gnumeric-sheet.h (gnumeric_sheet_start_cell_selection):
2871         Rename to gnumeric_sheet_start_range_selection.
2872         (gnumeric_sheet_stop_cell_selection): Rename to
2873         gnumeric_sheet_stop_range_selection. Remove clear_string
2874         parameter.
2875         (gnumeric_sheet_rangesel_horizontal_move,
2876         gnumeric_sheet_rangesel_vertical_move,
2877         gnumeric_sheet_rangesel_horizontal_extend,
2878         gnumeric_sheet_rangesel_vertical_extend): Declare.
2880         * src/gnumeric-util.[ch] (gnumeric_entry_at_subexpr_boundary_p):
2881         Rename to gnumeric_expr_entry_at_subexpr_boundary_p and move to
2882         gnumeric_expr_entry widget.
2884         * src/item-grid.c (item_grid_button_1, item_grid_event): Use scg
2885         methods instead of methods from GnumericSheet.
2887         * src/sheet.[ch] (sheet_stop_cell_selection): Rename to
2888         sheet_stop_range_selection.
2890         * src/sheet-control-gui.c (scg_colrow_select): Use scg methods
2891         instead of methods from GnumericSheet.
2892         (scg_stop_editing): Add call to scg_stop_cell_selection.
2893         (scg_range_selection_changed): New function. Notify ExprEntry that
2894         the expression range has changed.
2895         (scg_move_cursor): Moved here from GnumericSheet.
2896         (scg_rangesel_cursor_extend): Add call to
2897         scg_range_selection_changed.
2898         (scg_rangesel_cursor_bounds, scg_rangesel_horizontal_move,
2899         scg_rangesel_vertical_move, scg_rangesel_horizontal_extend,
2900         scg_rangesel_vertical_extend): New functions. Call GnumericSheet
2901         counterpart and notify ExprEntry.
2902         (scg_cursor_horizontal_move, scg_cursor_horizontal_extend,
2903         scg_cursor_vertical_move, scg_cursor_vertical_extend): Moved here
2904         from GnumericSheet.
2905         (scg_get_sel_cursor_pos): New function. Return selection cursor
2906         position.
2908         * src/sheet-control-gui.h (scg_range_selection_changed,
2909         scg_move_cursor, scg_rangesel_cursor_bounds,
2910         scg_rangesel_horizontal_move, scg_rangesel_vertical_move,
2911         scg_rangesel_horizontal_extend, scg_rangesel_vertical_extend,
2912         scg_cursor_horizontal_move, scg_cursor_vertical_move,
2913         scg_cursor_horizontal_extend, scg_cursor_vertical_extend,
2914         scg_get_sel_cursor_pos): Declare.
2916         * src/sheet-control-gui.[ch] (scg_stop_cell_selection): Rename to
2917         scg_stop_range_selection. Notify ExprEntry that range selection
2918         has stopped.
2920         * src/sheet-object-widget.c (cb_checkbox_config_focus): Call
2921         gnumeric_expr_entry_select_absolute.
2922         (sheet_widget_checkbox_user_config): Use GnumericExprEntry. Attach
2923         it to the scg.
2925         * src/workbook-control-gui.c (cb_notebook_switch_page): Use new
2926         function name sheet_stop_range_selection.
2928         * src/workbook-control-gui-priv.h (struct
2929         _WorkbookControlGUI::struct edit_line): entry and temp_entry are
2930         now GnumericExprEntries.
2931         (struct _WorkbookControlGUI): Remove select_abs_col,
2932         select_abs_row, select_full_col, select_full_row and
2933         select_single_cell.
2935         * src/workbook-control-gui.c (wbcg_finish_editing,
2936         wb_edit_key_pressed, cb_autofunction, workbook_setup_edit_area,
2937         auto_complete_matches): Entry must now be cast to GtkEntry.
2938         (workbook_control_gui_init): select_abs_col, select_abs_row,
2939         select_full_col, select_full_row and select_single_cell no longer
2940         exist.
2942         * src/workbook-edit.c (workbook_finish_editing, entry_changed,
2943         workbook_start_editing_at_cursor): entry must now be cast to
2944         GtkEntry.
2945         (workbook_start_editing_at_cursor): Attach scg to
2946         ExprEntry. wbcg->select_abs_col and select_abs_row no longer
2947         exist.
2948         (workbook_edit_select_absolute): Move to ExprEntry widget.
2949         (workbook_edit_toggle_absolute): New function. Probably remove it
2950         again.
2951         (workbook_edit_init): Remove redundant 'g_assert != NULL'. Use
2952         GnumericExprEntry widget.
2954 2001-04-17  Jody Goldberg <jgoldberg@home.com>
2956         * src/workbook-control-gui.c (wbcg_init_state) : implement.
2958 2001-04-16  Jody Goldberg <jgoldberg@home.com>
2960         s/workbook_control_sheets_init/workbook_control_init_state/
2962         * src/commands.c (command_setup_combos) : new function to initialize
2963           the undo/redo combos into a known state.
2964         * src/workbook-control.c (workbook_control_sheets_init) : called here.
2966         * src/workbook-control.c (wb_control_change_view) : new virtual.
2967         (workbook_control_set_view) : called here.
2969 2001-04-17  Jody Goldberg <jgoldberg@home.com>
2971         * src/workbook-edit.c (workbook_finish_editing) : fix.  We need to
2972           ignore the leading '=' or '@'.
2974 2001-04-17  Jon K Hellan  <hellan@acm.org>
2976         * configure.in: Fix typo
2978 2001-04-16  Jody Goldberg <jgoldberg@home.com>
2980         * configure.in : bump GAL version reqs.
2982         * src/workbook-format-toolbar.c (workbook_create_format_toolbar) :
2983           Jump to updated interface.  Partially fix the shared group problems.
2985 2001-04-15  Almer S. Tigelaar  <almer@gnome.org>
2987         * src/item-grid.c : Within all functions
2988         where the ItemGrid is a variable, s/item_grid/ig,
2989         s/grid/ig.
2991 2001-04-15  Jody Goldberg <jgoldberg@home.com>
2993         * src/item-grid.c (item_grid_draw) : Hide merged cells.
2994         (item_grid_draw_merged_range) : calculate the size the same way we do
2995           it in cell_draw.
2997         * src/workbook-control-gui.c (wbcg_finish_editing) : new virtual
2998         (workbook_control_gui_ctor_class) : connect it here.
2999         (wbcg_sheet_remove_all) : be sure we are no longer editing.
3001         * src/workbook-control-priv.h : new virtual.
3002         * src/workbook-control.c : ditto.
3003         * src/workbook-control.h : ditto.
3005         * src/colrow.c (colrow_visibility) : One last potential NULL.
3007         * src/graph-vector.c : some portability fixes.
3009 2001-04-15  Almer S. Tigelaar  <almer@gnome.org>
3011         * src/parser.y : Add detailed parser error messages.
3013         * src/workbook-edit.c (workbook_finish_editing) : Abort
3014         if the expression is invalid and return a boolean indicating
3015         success or failure.
3017         * src/expr.c (expr_parse_string): Set error message to the
3018         result of gnumeric_expr_parser.
3020         * src/parse-util.c (parse_error_init) : Properly initialize
3021         begin and end character.
3023         * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet): Don't
3024         change the cursor position if workbook_finish_editing failed.
3025         (move_cursor): Idem.
3027         * src/item-grid.c (item_grid_button_1): Idem.
3029 2001-04-15  Almer S. Tigelaar  <almer@gnome.org>
3031         * src/preview-grid.c
3032         (preview_grid_realize) : Remove grid gc.
3033         (preview_grid_unrealize) : Idem.
3035         * src/item-grid.c
3036         (item_grid_realize) : Use gc.fill, gc.cell
3037         and gc.empty instead of fill_gc, etc.
3038         (item_grid_unrealize) : Idem.
3039         (item_grid_draw_merged_range) : Idem.
3040         (item_grid_draw_background) : Idem.
3041         (item_grid_draw) : Idem.
3043 2001-04-15  Almer S. Tigelaar  <almer@gnome.org>
3045         * src/preview-grid-controller.c,
3046         src/preview-grid-controller.h : Remove entirely, the
3047         preview-grid-controller abstraction is no longer
3048         needed.
3050 2001-04-15  Almer S. Tigelaar  <almer@gnome.org>
3052         * src/preview-grid.c (pgrid_get_style) : Calls upon
3053         cb_cell_get_style, if NULL use default.
3054         (pg_get_row_height) : Retrieve row height.
3055         (pg_get_col_width) : Retrieve col width.
3056         (pg_get_row_offset) : Get offset of row.
3057         (pg_get_col_offset) : Get offset of column.
3058         (pg_construct_cell) : Construct a cell from a value.
3059         (pg_destruct_cell) : Destruct a cell.
3060         (preview_grid_realize) : Initialize default mstyle.
3061         (preview_grid_unrealize) : Free default mstyle.
3062         (preview_grid_set_arg) : Add support for row height and col
3063         width.
3064         (pg_style_get_row) : Use pg_* routines.
3065         (preview_grid_draw) : Idem.
3067 2001-04-13  Jody Goldberg <jgoldberg@home.com>
3069         * idl/Makefile.am (dist-hook) : automate removing the generated files.
3071         * src/workbook-control-gui.c (workbook_menu_data_outline) : new menu.
3073         * src/Makefile.am : workbook-control-bonobo is not ready for prime
3074           time.
3076 2001-04-13  Jon K Hellan  <hellan@acm.org>
3078         * src/workbook-control-gui.c (workbook_control_gui_init): Use
3079         gtk_idle_add to postpone clipboard setup. For mysterious reasons,
3080         connecting callbacks to the table doesn't work. Toplevel does
3081         work, but we must wait until we live inside a toplevel.
3083         * src/gui-clipboard.c (x_selection_received,
3084         x_clipboard_bind_workbook): Use wb_control_gui_toplevel to
3085         determine toplevel.
3087         * src/gui-clipboard.[ch] (x_clipboard_bind_workbook): Change
3088         signature to make it callable as an idle function. Make it
3089         determine the toplevel from
3091 2001-04-13  Jody Goldberg <jgoldberg@home.com>
3093         * src/style.c (font_init) : rename fontmap -> fontmap2 for newer
3094           versions of gnome-print.
3096 2001-04-12  Jody Goldberg <jgoldberg@home.com>
3098         * src/Makefile.am : rename gnumeric.xml GNOME_Gnumeric.xml.
3100         * src/sheet.c (sheet_col_add) : update the max outline_level.
3101         (sheet_row_add) : ditto.
3103         * src/xml-io.c (xml_read_colrow_info) : restore the col/row outline
3104           level data.
3105         (xml_write_colrow_info) : store it here.
3107         * src/colrow.c (colrow_set_visibility) : don't collapse things unless
3108           they are at the end of the region.  Always uncollapse things.
3110 2001-04-11  Jody Goldberg <jgoldberg@home.com>
3112         * src/item-bar.c (item_bar_draw) : tweak the redraw a bit to match
3113           event handling
3115         * src/mstyle.c (mstyle_elements_equal) : remove pointless asserts and
3116           correct the logic.
3117         (mstyle_element_equal) : Stop passing structs.
3118         (mstyle_elements_equal) : adjust here.
3119         (mstyle_elements_compare) : and here.
3121 2001-04-12  Morten Welinder  <terra@diku.dk>
3123         * src/plugin-util.c: Portability fix.
3125 2001-04-12  Jody Goldberg <jgoldberg@home.com>
3127         * src/commands.c (cmd_paste_copy_undo) : Make the corner of the
3128           restored region visible.
3129         (cmd_autofill_undo) : Ditto.
3130         (cmd_autofill_redo) : Ditto.
3131         (cmd_colrow_outline_change) : Uncollapsing things should work better
3132           now.
3134         * src/colrow.c (colrow_set_visibility) : collapse state changes can
3135           occur more than once within a range.
3137         * src/sheet.c (sheet_col_row_gutter_pts) : simplify, no need to store
3138           sizes in pts.  Outline level is enough.
3139           s/sheet_col_row_gutter_pts/sheet_col_row_gutter/
3141 2001-04-10  Jody Goldberg <jgoldberg@home.com>
3143         * src/cellspan.c (cell_calc_span) : fix chema's spanning problem.
3145         * src/workbook-control-gui.c (workbook_menu_data) : Add an icon for
3146           the sort menu item.
3148 2001-04-9  Jody Goldberg <jgoldberg@home.com>
3150         s/cmd_hide_selection_colrow/cmd_colrow_hide_selection/
3152         * src/commands.c (cmd_colrow_outline_change) : new wrapper for
3153           colrow_hide that handled outline changes.
3155         * src/workbook-control-gui.c (cb_insert_{cols,rows}) : cancel edit.
3156         (cb_select_auto_expr) : return a value.
3158         * src/colrow.c (cb_col_row_visibility) : Use get rather than fetch.
3159         (colrow_find_outline_bound) : new function.
3160         (cb_colrow_visibility) : turn this into a wrapper for.
3161         (colrow_visibility) : this, and add honour_collapse flag.
3162           invert the search to go fro mthe end to the start in preparation for
3163           supporting the honour_collapse flag.  Insert the items into a sorted
3164           list in case we want to merge them some day.
3165         (colrow_get_outline_toggle) : use new routine here too.
3167 2001-04-05  Jody Goldberg <jgoldberg@home.com>
3169         * src/item-bar.c (item_bar_event) : Doh!  The outline events are
3170           controled by the minor coordinate.
3172 2001-04-01  Jody Goldberg <jgoldberg@home.com>
3174         * src/main.c (gnumeric_main) : shut plugins down first.
3176 2001-04-04  Morten Welinder  <terra@diku.dk>
3178         * src/style.c (font_init): Improve error message.  Constify.
3180 2001-04-04  Morten Welinder  <terra@diku.dk>
3182         * src/style.c (font_init): Refer to bugzilla, not bugs.
3184 2001-04-01  Zbigniew Chyla  <cyba@gnome.pl>
3186         * src/plugin.c
3187         (plugin_db_activate_saved_active_plugins): Don't update saved active
3188         plugin ids if PLUGIN_DEBUG is defined.
3189         (plugins_shutdown): Update saved active plugin ids only if needed.
3191 2001-04-01  Almer S. Tigelaar  <almer@gnome.org>
3193         * src/commands.c
3194         (cmd_ins_del_colrow_redo): Don't mirror the size of the
3195         selected cols/rows, instead look at the next visible col/row
3196         to the top/left for the size.
3197         (cmd_hide_colrow_correct_selection): Pass extra "forward" parameter
3198         value to colrow_find_adjacent_visible.
3200         * src/colrow.h, src/colrow.c
3201         (colrow_find_adjacent_visible): Add optional "forward" parameter.
3202         If unset it will seek to the right/bottom otherwise to the left/top.
3204 2001-03-31  Zbigniew Chyla  <cyba@gnome.pl>
3206         * src/plugin.[ch]: Replaced PLUGIN_MESSAGE macro with plugin_message
3207         function to avoid portability problems (some compilers don't support
3208         vararg macros), added "level" argument.
3210         * src/plugin-loader.c (gnumeric_plugin_loader_load,
3211         gnumeric_plugin_loader_unload): Adjusted to plugin.h.
3213 2001-03-30  Jody Goldberg <jgoldberg@home.com>
3215         * src/workbook-control-gui.c (wbcg_sheet_remove_all) : clear the
3216           notebook BEFORE deleting it to avoid updating during destuction.
3218         * src/cellspan.c (cell_calc_span) : Cells in hidden columns can not
3219           have spans.
3221         * src/file.c (file_finish_load) : no need to manually respan this will
3222           happen via sheet_update.  This gives us a nice speed up.
3224         * src/sheet.c (sheet_cell_calc_span) : don't reregister spans that
3225           have not changed.
3226         (sheet_new) : init all flags to true to ensure things get updated.
3228         * src/main.c : remove style_debug option tha was unused.
3229         * src/mstyle.c (mstyle_elements_equal) : It was only mostly unused :-)
3231         * src/workbook-control-gui.c (wbcg_menu_state_sheet_count) : fix.
3233         * src/item-bar.c (is_pointer_on_division) : robustify in the face of
3234           clicking out of bounds.
3235         (item_bar_event) : ditto, also simplfy a bit.
3237 2001-03-30  Zbigniew Chyla  <cyba@gnome.pl>
3239         * src/plugin.h: Commented out PLUGIN_DEBUG and PLUGIN_ALWAYS_LOAD
3240         macros.
3242 2001-03-29  Morten Welinder  <terra@diku.dk>
3244         * configure.in (try_python): Fix redirections and don't use the
3245         non-standard "grep -q".
3247 2001-03-29  Morten Welinder  <terra@diku.dk>
3249         Responding to lots of bug reports from drk@sgi.com:
3251         * src/application.c (application_display_dpi_get): Don't
3252         explicitly inline.  (The compiler hopefully will by itself.)
3254         * src/sheet-object-widget.c (DEP_TO_CHECKBOX): Avoid pointer
3255         arithmetic on void pointers.
3257         * src/item-bar.c: Don't use zero-sized array.
3259 2001-03-29  Zbigniew Chyla  <cyba@gnome.pl>
3261         * src/plugin-service.c (plugin_service_file_opener_probe_func):
3262         Print an error on terminal before ignoring it.
3264 2001-03-28  Zbigniew Chyla  <cyba@gnome.pl>
3266         * sheet.c
3267         (sheet_update): Register idle function to update "auto_expression"
3268         instead of doing this immediately. Calculating a sum of many values
3269         may take a looong time.
3270         (sheet_update_auto_expr_idle_func): New function (code moved from
3271         sheet_update) updating "auto_expression" in idle loop.
3273         * sheet-priv.h (struct _SheetPrivate): Added auto_expr_idle_id
3274         field.
3276 2001-03-26  Morten Welinder  <terra@diku.dk>
3278         * src/workbook.c (workbook_cells): New function, extracted from
3279         cmd_search_replace_do.
3281         * src/sheet.c (sheet_cells): New function, extracted from
3282         cmd_search_replace_do.
3284         * src/cell.c (cell_has_comment_pos): New function for those cells
3285         that aren't really there.
3287         * src/commands.c (cmd_search_replace_do): Use workbook_cells and
3288         sheet_cells.
3289         (cmd_search_replace_do_cell): Change to take position instead of
3290         cell.  Handle missing cells without crashing.
3291         (cmd_search_replace_undo, cmd_search_replace_redo): Fix for
3292         missing cells with comments.
3294 2001-03-25  Almer S. Tigelaar  <almer@gnome.org>
3296         * src/commands.c
3297         (cmd_ins_del_colrow_redo): Resize inserted columns/rows
3298         to have the same size of the columns/rows that previously
3299         occupied the same space.
3301 2001-03-25  Almer S. Tigelaar  <almer@gnome.org>
3303         * src/commands.c
3304         (cmd_ins_del_colrow_undo): Re-ant the original cut selection.
3305         (cmd_ins_del_colrow_redo): Re-ant accounting for the shift in
3306         columns/rows.
3307         (cmd_ins_del_colrow_destroy): Free stored cut range.
3308         (cmd_ins_del_colrow): Store the cut range if any.
3310 2001-03-23  Almer S. Tigelaar  <almer@gnome.org>
3312         * src/about.c : Make some small changes and add Zbigniew.
3314 2001-03-23  Morten Welinder  <terra@diku.dk>
3316         * src/gnumeric-util.c (gnumeric_glade_group_value): Function moved
3317         from dialog-search-replace.c.
3319 2001-03-21  Zbigniew Chyla  <cyba@gnome.pl>
3321         * src/gutils.h (g_vector_free_custom macro): Fixed stupid bug.
3323 2001-03-20  Zbigniew Chyla  <cyba@gnome.pl>
3325         Moved XL support from Gnumeric binary into real plugin.
3327         * src/Makefile.am
3328         (gnumeric_libs): Removed ../plugins/excel/libexcel.a
3330         * src/main.c:
3331         Removed:
3332         - include "../plugins/excel/boot.h"
3333         - xxx_debug variables
3334         - (gnumeric_popt_options) excel debugging options
3335         - excel_init() and excel_shutdown() calls
3337 2001-03-20  Zbigniew Chyla  <cyba@gnome.pl>
3339         Added support for plugin dependencies + some fixes.
3341         * src/gutils.h (g_list_to_vector, g_vector_free_custom):
3342         New macros. (used macros instead of functions to avoid casting and
3343         pointer size problems - ANSI C doesn't guarantee that
3344         sizeof (void *) == sizeof (something_else *).
3346         * src/plugin-loader.c
3347         (gnumeric_plugin_loader_load): Load required plugin dependencies
3348         before the plugin itself, increment n_deps for every loaded
3349         dependency (by calling plugin_dependencies_inc_dependants).
3350         (gnumeric_plugin_loader_unload): New function.
3351         (gnumeric_plugin_loader_load_service): Increment number of loaded
3352         services if loaded succesfully.
3353         (gnumeric_plugin_loader_unload_service): Decrement number of loaded
3354         services if unloaded succesfully, unload plugin if it reaches zero.
3356         * src/plugin-loader.h
3357         (struct _GnumericPluginLoader): Added n_loaded_services.
3358         (gnumeric_plugin_loader_unload): New function.
3360         * src/plugin-service.c:
3361         (plugin_service_file_opener_open_func,
3362         plugin_service_file_saver_save_func):
3363         Used gnumeric_io_error_occurred (and gnumeric_io_clear_error) when
3364         checking for error.
3366         * src/plugin.c:
3367         (plugins_active_by_default): Array containing ids of "standard"
3368         plugins. These will be active by default.
3369         (struct _PluginDependency): New struct.
3370         (struct _PluginInfo): Added dependencies_v, d_deps. Replaced
3371         service_list with services_v (vector in place of list).
3372         (plugin_info_get_config_prefix, plugin_dependency_get_plugin_info,
3373         plugin_info_read_dependency_list, plugin_dependency_free,
3374         plugin_inc_dependants, plugin_dec_dependants,
3375         plugin_dependencies_inc_dependants,
3376         plugin_dependencies_dec_dependants,
3377         plugin_load_dependencies):
3378         New functions.
3379         (plugin_info_provides_loader_by_type_str, plugin_info_free):
3380         Adjusted to service_list -> services_v change.
3381         (plugin_info_read): Read (optional) dependencies, adjusted to
3382         service_list -> services_v change.
3383         (activate_plugin):
3384         Activate required dependencies before the plugin itself.
3385         Increment n_deps for every activated dependency (by calling
3386         plugin_dependencies_inc_dependants).
3387         Adjusted to service_list -> services_v change.
3388         (deactivate_plugin):
3389         Decrement n_deps for every activated dependency (by calling
3390         plugin_dependencies_dec_dependants).
3391         Adjusted to service_list -> services_v change.
3392         (plugin_can_deactivate):
3393         Return FALSE if any of n_deps > 0.
3394         Adjusted to service_list -> services_v change.
3395         (plugin_list_sort_by_dependency): Removed.
3396         (plugin_db_activate_plugin_list): Removed sorting.
3397         (plugin_db_init): Always activate new plugin if it's defined in
3398         plugins_active_by_default array.
3400         * src/plugin.h:
3401         (PluginDependencyType): New enum.
3402         (plugin_load_dependencies,
3403         plugin_inc_dependants, plugin_dec_dependants,
3404         plugin_dependencies_inc_dependants,
3405         plugin_dependencies_dec_dependants,
3406         plugin_info_get_config_prefix): New functions.
3408 2001-03-20  Zbigniew Chyla  <cyba@gnome.pl>
3410         * src/io-context-priv.h:
3411         (struct _IOContext): Added error_occurred field.
3413         * src/io-context.c
3414         (gnumeric_io_context_new): Set error_occurred to FALSE by default.
3415         (gnumeric_io_error_system, gnumeric_io_error_read,
3416         gnumeric_io_error_save): Set error_occurred to TRUE.
3417         (gnumeric_io_error_unknown, gnumeric_io_clear_error,
3418         gnumeric_io_error_occurred): New functions.
3420         * src/io-context.h
3421         (gnumeric_io_error_unknown, gnumeric_io_clear_error,
3422         gnumeric_io_error_occurred): New functions.
3424 2001-03-18  Jody Goldberg <jgoldberg@home.com>
3426         * src/workbook-control-gui.c (wb_edit_key_pressed) : handle failure
3427           cases better.
3429         * src/colrow.c (colrow_foreach) : Doh!
3431         * src/item-bar.c (item_bar_event) : Now that we are zooming this
3432           canvas we need to transform the coordinates.
3434 2001-03-16  Jody Goldberg <jgoldberg@home.com>
3436         * src/item-bar.c (item_bar_calc_size) : rename from
3437           item_bar_fonts_init.
3439         * src/sheet-control-gui.c (scg_set_zoom_factor) : prepare for panes by
3440           zooming the col/row header canvases.  We need this as we transition
3441           to using gnumeric-sheets instead of canvases to hold the item-bars.
3443 2001-03-15  Jody Goldberg <jgoldberg@home.com>
3445         * src/colrow.c (colrow_equal) : handle outline&collapse.
3446         (colrow_copy) : ditto.
3448         * src/item-bar.c (outline_button_press) : new function.
3449         (item_bar_event) : used here.
3451 2001-03-15  Jody Goldberg <jgoldberg@home.com>
3453         * src/item-bar.c (compute_pixels_from_pts) : new function.
3454         (item_bar_fonts_init) : resize the indent gutters based on the zoom.
3455         (item_bar_realize) : add another gc for outline drawing.
3456         (item_bar_unrealize) : ditto.
3457         (item_bar_draw) : implement drawing for groupings.
3458         (set_cursor) : handle cursor in the presence of groupings.
3460 2001-03-14  Jody Goldberg <jgoldberg@home.com>
3462         * Makefile.am : update the handling of the oaf file.
3464         * src/sheet.c (sheet_col_row_default_calc) : rename from
3465           sheet_col_row_default_init.
3467 2001-03-13  Jody Goldberg <jgoldberg@home.com>
3469         * src/xml-io.c (xml_write_print_repeat_range) : PrintRepeatRange now
3470           uses a simple Range.
3471         (xml_read_print_repeat_range) : ditto.
3472         * src/print-info.c (print_info_new) : ditto.
3473         (save_range) : Ditto.
3474         * src/dialogs/dialog-printer-setup.c (do_fetch_page_info) : ditto.
3475         * src/print.c (print_range_used_units) : ditto.
3476         (print_range_right_then_down) : ditto.
3477         (print_range_down_then_right) : ditto.
3478         (print_page_repeated_intersect) : ditto.
3479         (print_page_repeated_cols) : ditto.
3480         (print_page_repeated_rows) : ditto.
3481         (print_page) : ditto.
3483         * src/sheet-control-gui.c (scg_set_zoom_factor) : The sizing has moved
3484           into the itembar.
3486         * src/item-bar.c : s/orientation/is_col_header/
3487         (item_bar_fonts_init) : Init the ideal cell size.
3488         (item_bar_update) : Begin to support grouping.
3489         (item_bar_draw) : ditto.
3490         (item_bar_init) : init the new members.
3492         * src/print-cell.c (print_cell) : re-enable halign FILL.
3493         * src/cell-draw.c (cell_draw) : ditto.
3495 2001-03-17  Jody Goldberg <jgoldberg@home.com>
3497         * Release 0.64
3499 2001-03-16  Zbigniew Chyla  <cyba@gnome.pl>
3501         * configure.in: Checking if we can build a shared library depending on
3502         libpython and disabling Python support otherwise.
3504 2001-03-15  Jon K Hellan  <hellan@acm.org>
3506         * src/workbook-control-gui.c (verbs): Fix the build for bonobo by
3507           ifdefing out verbs for cb_data_validate and cb_view_freeze_panes.
3509 2001-03-14  Jody Goldberg <jgoldberg@home.com>
3511         * src/item-grid.c (item_grid_event) : don't go past edges
3513         * src/parser.y : Add portability.h to help on Tru64
3515         * src/workbook-control-gui.c : disable validate and freeze for
3516           release.
3518 2001-03-13  Jody Goldberg <jgoldberg@home.com>
3520         * src/workbook-control-gui.c (workbook_setup_auto_calc) : the autoexpr
3521           button can not take focus.
3523 2001-03-12  Jody Goldberg <jgoldberg@home.com>
3524         For  Vlad Harchev <hvv@hippo.ru> :
3526         * src/item-bar.c (item_bar_realize) :  Use colours from Style.
3528         * src/print-cell.c (print_show) : new routine to assist printing non
3529           latin-1 characters.
3530         (get_width_string_n) : ditto.
3531         (get_width_string) : ditto.
3532         (print_text) : used here.
3533         (print_overflow) : here.
3534         (cell_split_text) : here.
3535         (print_cell) : and here.
3537 2001-03-11  Jody Goldberg <jgoldberg@home.com>
3539         * src/commands.c (cmd_sort_destroy) : Add some safety in preparation
3540           for gtk2.0.
3542         * src/workbook-control-gui.c (workbook_setup_auto_calc) : remove the
3543           use of the canvas to avoid label flicker.  Add support for a status
3544           widget.
3545         (wb_control_gui_set_status_text) : new function.
3547         * src/gnumeric.xml : Add Status control and reverse the order to work
3548           around probable bonobo bug.
3550         * src/sheet-control-gui.c (horizontal_scroll_offset_changed) : Use
3551           wb_control_gui_set_status_text.
3552         (vertical_scroll_offset_changed) : ditto.
3553         (scg_scrollbar_config) : ditto.
3555 2001-03-10  Almer S. Tigelaar  <almer@gnome.org>
3557         * src/sheet-control-gui.c
3558         (scg_scrollbar_config): Clear scrollbar text.
3559         (vertical_scroll_offset_changed): Adjust to display hint in the scrollbar.
3560         (horizontal_scroll_offset_changed): Idem.
3562 2001-03-10  Jody Goldberg <jgoldberg@home.com>
3564         * src/sheet-control-gui.c (scg_construct) : lay some ground work for
3565           multiple panes.
3567 2001-03-08  Jody Goldberg <jgoldberg@home.com>
3569         * src/gnumeric-sheet.c (gnumeric_sheet_find_{col,row}) : fix off by
3570           one width/height error at far boundary.
3572         * src/xml-io.c (xml_get_print_unit) : make units case sensitive.
3574 2001-03-05  Zbigniew Chyla  <cyba@gnome.pl>
3576         * configure.in:
3577         (AC_OUTPUT): Added plugins/python-loader/Makefile,
3578         plugins/gnome-glossary/Makefile, plugins/py-func/Makefile.
3579         Fixed Python configuration.
3581         * plugins/Makefile.am:
3582         Conditionally added plugins: python-loader, py-func, gnome-glossary.
3584 2001-03-05  Zbigniew Chyla  <cyba@gnome.pl>
3586         Fixes #51316 (actually, it fixes the _real_ problem).
3588         * src/dialogs/dialog-plugin-manager.c
3589         (cb_pm_button_activate_plugin_clicked): If the plugin is already
3590         active, remove it from "marked for deactivation" list.
3591         (cb_pm_button_deactivate_plugin_clicked): If the plugin cannot be
3592         deactivated, optionally add it to "marked for deactivation" list
3593         (if the user wants to).
3594         (cb_pm_clist_row_selected):
3595         Make "Activate plugin" button sensitive for some active plugins (for
3596         those on "marked for deactivation" list).
3597         (cb_pm_clist_row_unselected):
3598         Bugfix: don't free pm_gui->current_plugin_id string.
3599         (update_plugin_manager_view):
3600         Display the plugin state after its name ("in memory", "marked for
3601         deactivation").
3602         (dialog_plugin_manager): Plug leak.
3604         * src/plugin.c
3605         (plugin_info_force_mark_inactive,
3606         plugin_db_mark_plugin_for_deactivation,
3607         plugin_db_is_plugin_marked_for_deactivation): New functions.
3608         (plugins_shutdown): Set all plugins on "marked for deactivation"
3609         list as inactive before saving active plugins in configuration.
3611         * src/plugin.h:
3612         (plugin_db_mark_plugin_for_deactivation,
3613         plugin_db_is_plugin_marked_for_deactivation): New functions.
3615 2001-03-05  Almer S. Tigelaar  <almer@gnome.org>
3617         * src/sheet-control-gui.c
3618         (vertical_scroll_change) : Remove.
3619         (horizontal_scroll_change) : Remove.
3620         (vertical_scroll_event) : Remove.
3621         (horizontal_scroll_event) : Remove.
3622         (vertical_scroll_changed) : New function, handles the
3623         GnumericVScrollbar's "changed" signal.
3624         (horizontal_scroll_changed) : Idem for the GnumericHScrollbar.
3625         (scg_construct) : Create a gnumeric-vscrollbar instead of a
3626         gtk-vscrollbar and connect the "changed" signal do the same
3627         for gnumeric-hscrollbar.
3629 2001-03-04  Almer S. Tigelaar  <almer@gnome.org>
3631         * src/workbook-control-gui.c
3632         (cb_data_validate) : New, invokes the data validation dialog.
3634 2001-03-03  Jody Goldberg <jgoldberg@home.com>
3636         * src/sheet.c (sheet_cell_calc_span) : rewrite to be less stupid.
3638 2001-03-03  Zbigniew Chyla  <cyba@gnome.pl>
3640         Plugin code cleanup (removed unnecessary function arguments) + small
3641         fixes.
3643         * src/func.[ch]
3644         (struct _FunctionDefinition):
3645         Removed get_full_info_callback_data field.
3646         (function_add_name_only): Removed callback_data argument.
3647         (function_def_get_full_info_if_needed, FunctionGetFullInfoCallback):
3648         Now we just pass fn_def instead of name + callback_data.
3649         (function_call_with_list):
3650         Added missing function_def_get_full_info_if_needed() call.
3652         * src/plugin-loader.[ch]
3653         (gnumeric_plugin_loader_load_service,
3654         gnumeric_plugin_loader_unload_service):
3655         Return error (instead of crashing) if service is not supported.
3656         (gnumeric_plugin_loader_is_loaded): New function.
3658         * src/plugin-service.h
3659         (struct _PluginServiceGeneral, struct _PluginServiceFileOpener,
3660         struct _PluginServiceFileSaver, _PluginServicePluginLoader):
3661         Removed unneeded plugin argument from every function.
3663         * src/plugin-service.c
3664         (plugin_service_function_group_get_full_info_callback): Get fn_def
3665         arg instead of fn_name + callback_data.
3666         (plugin_service_function_group_initialize): Store pointer to service
3667         in fn_def's user_data.
3668         Adjusted to plugin-service.h (removed plugin argument).
3670         * src/plugin-loader-module.c
3671         (gnumeric_plugin_loader_module_func_init,
3672         gnumeric_plugin_loader_module_func_can_deactivate,
3673         gnumeric_plugin_loader_module_func_cleanup,
3674         gnumeric_plugin_loader_module_func_file_probe,
3675         gnumeric_plugin_loader_module_func_file_open,
3676         gnumeric_plugin_loader_module_func_file_save,
3677         gnumeric_plugin_loader_module_func_get_full_function_info,
3678         gnumeric_plugin_loader_module_func_get_loader_type):
3679         Adjusted to plugin-service.h (removed plugin argument).
3681         * src/plugin.[ch]
3682         s/plugin_load_loader_if_needed/plugin_get_loader_if_needed
3683         (plugin_info_get_extra_info_list): Get loader if it's not available.
3684         (plugin_info_is_loaded, plugin_info_get_loader): New functions.
3686 2001-03-02  Morten Welinder  <terra@diku.dk>
3688         * src/ranges.h: Drop 24 bogus casts.
3690         * src/ranges.c (range_transpose): Drop extraneous &.
3691         (range_fragment_list_clip): Fix to work with new src/ranges.h
3693 2001-03-01  Jody Goldberg <jgoldberg@home.com>
3695         * src/workbook-control-gui.c (cb_sheet_remove) : rename from
3696           cb_edit_delete_sheet.
3698         * src/gnumeric.xml : Adopt a more consistent naming convention for
3699           SheetRemove
3701         * src/mstyle.c (mstyle_element_dump) : add pattern.
3703 2001-02-27  Almer S. Tigelaar  <almer@gnome.org>
3705         * src/commands.c
3706         (cmd_colrow_std_size) : Set undo descriptor for row height correctly.
3708 2001-02-27  Almer S. Tigelaar  <almer@gnome.org>
3710         * src/workbook-cmd-format.c
3711         (workbook_cmd_format_column_std_width) : Implement.
3712         (workbook_cmd_format_row_std_height) : Idem.
3714         * src/commands.c, src/commands.h
3715         (cmd_colrow_std_size_undo) : New, Undo for the std
3716         row-height/col-width setting.
3717         (cmd_colrow_std_size_redo) : Idem, for redo.
3718         (cmd_colrow_std_size_destroy) : Idem.
3719         (cmd_colrow_std_size) : Entry point for std row-height/col-width
3720         command.
3722 2001-02-25  Jody Goldberg <jgoldberg@home.com>
3724         * src/workbook-control-gui.c (zoom_changed) : round the zoom factor
3725           before displaying.
3727         * src/selection.c (sheet_selection_set_internal) : when the selection
3728           shrinks and no longer selects full cols/rows redraw the union.
3730 2001-02-25  Zbigniew Chyla  <cyba@gnome.pl>
3732         * src/file.c (workbook_save_as): Fixed crash (caused by calling
3733         gnumeric_io_context_free twice).
3735 2001-02-24  Jody Goldberg <jgoldberg@home.com>
3737         * src/format.c (format_number) : Invert the logic if this test.
3738           We increment again later.  So what we really want is to avoid double
3739           incrementing and avoid incrementing past the end.
3741         * src/cellspan.c (cell_calc_span) : rework when to increment
3742           boundaries.  It is important not to have a span end in a hidden
3743           column or it will not be drawn.  As such we need to be careful to
3744           only increment the margin args when a bound extends into a visible
3745           column.
3747         * src/sheet.c (sheet_regen_adjacent_spans) : check for spans before
3748           cells in case we are cutting off the span at its core.
3750         * src/colrow.c (colrow_set_visibility_list) : set all visibilities
3751           before regening spans.
3753         * src/cell-draw.c (cell_draw) : Add some warnings for cols/rows that
3754           are too small.
3756 2001-02-24  Zbigniew Chyla  <cyba@gnome.pl>
3758         * plugins/applix/applix-read.c,
3759         plugins/applix/applix.h, plugins/applix/boot.c,
3760         plugins/applix/plugin.xml,
3761         plugins/dif/dif.c, /plugins/dif/plugin.xml,
3762         plugins/html/boot.c, plugins/html/html.c,
3763         plugins/html/html.h, /plugins/html/latex.c,
3764         plugins/html/latex.h, plugins/html/plugin.xml,
3765         plugins/html/roff.c, /plugins/html/roff.h,
3766         plugins/lotus-123/boot.c, plugins/lotus-123/lotus.c,
3767         plugins/lotus-123/lotus.h, plugins/lotus-123/plugin.xml,
3768         plugins/oleo/boot.c, plugins/oleo/oleo.c,
3769         plugins/oleo/oleo.h, plugins/oleo/plugin.xml,
3770         plugins/plan-perfect/pln.c, plugins/plan-perfect/plugin.xml,
3771         plugins/sc/plugin.xml, plugins/sc/sc.c,
3772         plugins/sylk/plugin.xml, plugins/sylk/sylk.c,
3773         plugins/xbase/boot.c, plugins/xbase/plugin.xml,
3774         plugins/xbase/xbase.c, plugins/xbase/xbase.h,
3775         plugins/xml2/plugin.xml, plugins/xml2/xml2.c:
3776         Export "file_opener" plugin service (+ "file_saver" for dif and html).
3777         Use ErrorInfo where needed.
3778         Use GNUMERIC_MODULE_PLUGIN_INFO_DECL macro instead of
3779         gnumeric_plugin_version[] declaration.
3781         * plugins/numtheory/numtheory.c, plugins/numtheory/plugin.xml:
3782         Export "function_group" plugin service.
3784         * plugins/gb/plugin.c, plugins/gb/plugin.xml,
3785         plugins/gda/plugin-gda.c, plugins/gda/plugin.xml,
3786         plugins/guile/plugin.c, /plugins/guile/plugin.xml,
3787         plugins/perl/perl.c, plugins/perl/plugin.xml,
3788         plugins/python/Makefile.am, plugins/python/plugin.xml,
3789         plugins/python/python.c:
3790         Export "general" plugin service.
3791         Use ErrorInfo where needed.
3792         (init_plugin, can_deactivate_plugin, cleanup_plugin): Rename and
3793         signature changes.
3795         * plugins/excel/boot.c (excel_save_95, excel_save_98, excel_save,
3796         excel_probe, excel_load): Signature changes.
3798         * plugins/excel/ms-formula-write.c: Use accessor functions from
3799         func.h instead of accessing FunctionDefinition struct directly.
3801 2001-02-24  Zbigniew Chyla  <cyba@gnome.pl>
3803         * src/Makefile.am: Added files:  plugin-service.[ch],
3804         plugin-loader.[ch], plugin-loader-module.[ch], module-plugin-defs.h.
3806         * src/error-info.[ch] (error_info_new_from_errno): New function.
3808         * src/file.c
3809         (struct _FileOpener, struct _FileSaver): Moved from file.h
3810         (file_opener_get_format_description, file_opener_has_probe,
3811         file_saver_get_extension,  file_saver_get_format_description):
3812         New accessor functions.
3813         (file_opener_probe, file_opener_open, file_saver_save,
3814         file_opener_set_user_data, file_opener_get_user_data,
3815         file_saver_set_user_data, file_saver_get_user_data): New
3816         functions.
3817         (get_file_opener_by_id, get_file_saver_by_id): Removed
3818         Now using FileOpener*/FileSaver* instead of FileOpenerId/FileSaverId
3819         everywhere.
3821         * src/file.h
3822         (struct _FileOpener, struct _FileSaver): Moved to file.c.
3823         Adjusted to file.c.
3825         * src/gui-file.c: Adjusted to file.[ch], now FileSaver.extension
3826         field should contain real extension (without a dot).
3828         * src/func.[ch]
3829         (enum FunctionFlags, struct _FunctionDefinition): Moved from func.h
3830         to func.c.
3831         (struct _FunctionCategory): Added "internal_name" and "display_name"
3832         in place of "name" field.
3833         (function_get_category_with_translation,
3834         function_category_remove_func, func_get_ref_count, function_remove,
3835         function_add_name_only): New functions.
3836         Now it's possible to load function implementation on demand (after
3837         registering function using function_add_name_only() and providing
3838         function of type FunctionGetFullInfoCallback).
3839         Rename fd and fndef to fn_def for consistency.
3841         * src/functions/fn-database.c (database_functions_init),
3842         src/functions/fn-date.c (date_functions_init),
3843         src/functions/fn-eng.c (eng_functions_init),
3844         src/functions/fn-financial.c (finance_functions_init),
3845         src/functions/fn-information.c (information_functions_init),
3846         src/functions/fn-logical.c (logical_functions_init),
3847         src/functions/fn-lookup.c (lookup_functions_init),
3848         src/functions/fn-math.c (math_functions_init),
3849         src/functions/fn-sheet.c (sheet_functions_init),
3850         src/functions/fn-stat.c (stat_functions_init),
3851         src/functions/fn-string.c (string_functions_init):
3852         Use function_get_category_with_translation, instead of
3853         function_get_category.
3855         * src/plugin.[ch]
3856         (struct _PluginInfo): Removed many fields.
3857         (plugin_info_get_extra_info_list):
3858         Just call gnumeric_plugin_loader_get_extra_info_list.
3859         (plugin_info_peek_services_data, plugin_info_peek_loader_type_str):
3860         New accessor functions.
3861         (plugin_info_read_service_list, plugin_info_read_loader,
3862         plugin_info_read):
3863         Read services and loader info, use functions from
3864         gal/util/e-xml-utils.h everywhere.
3865         (activate_plugin, deactivate_plugin): Just activate/deactivate all
3866         plugin services.
3867         (plugin_can_deactivate): Ask plugin services.
3868         (plugin_load_service, plugin_unload_service,
3869         plugin_info_offers_loader_by_type_str,
3870         plugin_loader_register_type, plugin_loader_register_id_only,
3871         plugin_loader_get_by_id, plugin_loader_is_available_by_id,
3872         plugin_list_sort_by_dependency):
3873         New functions.
3874         (plugin_db_activate_plugin_list): Activate plugins in correct order,
3875         using plugin_list_sort_by_dependency function.
3876         (plugin_info_print): Removed.
3877         (module_plugin_print_info, module_plugin_info_get_extra_info_list,
3878         module_plugin_free, module_plugin_info_read, module_plugin_activate,
3879         module_plugin_deactivate, module_plugin_can_deactivate): Removed,
3880         most code  moved to plugin-loader.c and plugin-loader-module.c.
3882         * src/plugin-service.[ch]: New files, support for plugin services
3883         (five types of these so far).
3885         * src/plugin-loader.[ch]: New files, base class for plugin loaders.
3887         * src/plugin-loader-module.[ch]: New files, support for "g_module"
3888         plugins.
3890         * src/plugin-util.[ch] (gnumeric_fopen_error_info,
3891         gnumeric_open_error_info, gnumeric_mmap_error_info): New functions.
3893         * src/gutils.[ch] (g_list_free_custom, g_slist_free_custom,
3894         gnumeric_time_counter_push, gnumeric_time_counter_pop):
3895         New functions.
3897         * src/io-context-priv.h (struct _IOContext): Added error_info field.
3899         * src/io-context.[ch] (gnumeric_io_context_new,
3900         gnumeric_io_context_free, gnumeric_io_error_info_set,
3901         gnumeric_io_error_info_push, gnumeric_io_error_info_pop,
3902         gnumeric_io_error_info_clear, gnumeric_io_error_info_display,
3903         gnumeric_io_has_error_info): New functions, quick hack to add
3904         support for ErrorInfo.
3906         * src/module-plugin-defs.h: New file, should be included be every
3907         g_module plugin.
3909         * src/auto-format.c: Use accessor function from func.h.
3911         * src/bonobo-io.c (gnumeric_bonobo_write_workbook,
3912         gnumeric_bonobo_read_workbook, gnumeric_bonobo_io_probe),
3913         src/stf.c (stf_read_workbook, stf_write_workbook),
3914         src/xml-io.[ch] (xml_probe, gnumeric_xml_read_workbook,
3915         gnumeric_xml_write_workbook):
3916         Signature changes.
3918         * src/workbook.c: Adjusted to
3919         workbook_load_from/gnumeric_xml_write_workbook signature change.
3921         * src/dialogs/dialog-function-select.c: Adjust to func.[ch].
3923         * src/dialogs/dialog-plugin-manager.c
3924         Adjust to plugin.[ch].
3925         (cb_pm_button_activate_plugin_clicked): Check if loader for current
3926         plugin is available, suggest activating loader plugin otherwise.
3928 2001-02-24  Morten Welinder  <terra@diku.dk>
3930         * src/workbook-control-gui.c (cb_edit_search_replace_action): New
3931         function for non-modal action.
3932         (cb_edit_search_replace): Supply action callback.
3934 2001-02-24  Almer S. Tigelaar  <almer@gnome.org>
3936         * src/workbook-control-gui-priv.h :
3937         Add sheet remove and sheet re-order menu items.
3939         * src/workbook-control-gui.c
3940         (wbcg_menu_state_sheet_count) : New, Take care of sheet counts
3941         dependant gui elements like the sheet remove/re-order menus.
3942         (wbcg_sheet_add) : Call menu_state_sheet_count from here.
3943         (wbcg_sheet_remove) : Idem.
3944         (workbook_control_gui_init) : Initialize the remove and re-order
3945         menu-items.
3947 2001-02-24  Jody Goldberg <jgoldberg@home.com>
3949         * src/workbook-control-gui.c (workbook_control_gui_new) : Why was I
3950           protecting a generic call ?  Its constituents not the caller are
3951           responsible for blocking events.
3952         (workbook_control_gui_init) : Be anal and init this just in case.
3954 2001-02-24  Almer S. Tigelaar  <almer@gnome.org>
3956         * src/sheet-control-gui.c
3957         (horizontal_scroll_event) : If we reach the maximum scroll offset
3958         increase it so we can keep scrolling down.
3959         (vertical_scroll_event) : Idem.
3960         (horizontal_scroll_change) : Directly manipulate scroll offset.
3961         (vertical_scroll_change) : Idem.
3963 2001-02-23  Jody Goldberg <jgoldberg@home.com>
3965         * src/commands.c (cmd_merge_cells_redo) : reorder to handle unmerging
3966           directly.
3967         (cmd_merge_cells_undo) : ditto.
3968         (CmdMergeCells) : no need to inherit from CmdUnmergeCells.
3969         (cmd_unmerge_cells_redo) : merge the 'internal' versions.
3970         (cmd_unmerge_cells_undo) : merge the 'internal' versions.
3972 2001-02-22  Jody Goldberg <jgoldberg@home.com>
3974         * src/style-border.c (style_border_vmargins) : remove unnecessary
3975           reference to next_sr.  sr.bottom == next_sr.top
3976           For normal borders horizontal always dominates vertical.
3977         (style_border_hmargins) : Only cut corners for doubles if the corner
3978           is a double.
3980         * src/sheet.c (sheet_cursor_set_full) : new function.
3982         * src/selection.c (sheet_selection_set_internal) : Use it here.
3983           The trick is that when extending a selection to include merged cells
3984           it is possible that the edit cell is neither the base nor the move
3985           col/row.  When you then shrink the selection to the pre-extended
3986           state, without the merged region, you have lost track of the corner
3987           and can easily loose the edit_position.
3989         * src/workbook-format-toolbar.c (toggled_from_toolbar) : delete this
3990           ugliness.  We don't need it anymore.
3992 2001-02-20  Jody Goldberg <jgoldberg@home.com>
3994         * src/workbook-control-gui.c (wbcg_ui_update_begin) : new utility
3995         (wbcg_ui_update_end) : new utility
3997         * src/workbook-format-toolbar.c (workbook_feedback_set) : Use them
3998           here.
3999         (workbook_format_halign_feedback_set) : update center-across-selection
4000           in the bonobo case.
4001         (do_modify_format) : rewrite to use the format from the edit cell and
4002           to support undo.
4004         * src/format.c (format_toggle_thousands) : delete.
4006 2001-02-23  Jody Goldberg <jgoldberg@home.com>
4008         * configure.in : post release version bump to 0.64.
4010 2001-02-23  Jody Goldberg <jgoldberg@home.com>
4012         * Release 0.63
4014 2001-02-23  Jody Goldberg <jgoldberg@home.com>
4016         * src/item-grid.c (item_grid_draw_merged_range) : check for background
4017           before checking for selection.
4019         * src/sheet-merge.c (sheet_merge_add) : don't apply the borders from
4020           the corner cell to the whole region.  Just the content.
4022         * src/sheet-control-gui.c (scg_comment_display) : We only need to be
4023           sure that scg::selected is a comment if we are using it and no other
4024           comment is visible.
4026         * src/style-border.c (print_hline) : gdk_draw_line excludes the far
4027           pixel.  Make this match to keep the draw code consistent.
4028         (print_vline) : ditto.
4030         * src/print-cell.c (print_cell_range) : Use the hide_grid from the
4031           print flags not the sheet itself.
4033         * src/print.c (print_page_cells) : We now pass 'HideGridLines' so
4034           invert the logic.
4036         * src/print-cell.c (print_cell) : typo.
4038 2001-02-22  Jody Goldberg <jgoldberg@home.com>
4040         * src/item-edit.c (point_is_inside_range) : dont highlight ranges on
4041           other sheets.
4042         (scan_at) : simplify.
4044         * src/workbook-control-gui.c (cb_notebook_switch_page) : If we are
4045           only switching pages to select a range there is no need to update
4046           anything.
4048         * src/expr.c (eval_expr_real) : fix old typo.
4050         * src/commands.c (cmd_unmerge_cells_init) : add simple test to avoid
4051           merging singletons.
4052         (cmd_unmerge_cells) : check for failure.
4053         (cmd_merge_cells) : ditto.
4055 2001-02-22  Almer S. Tigelaar  <almer@gnome.org>
4057         * src/preview-grid.c (preview_grid_draw): The style row
4058         init routine expect a hide gridlines parameter, so we need
4059         to pass the inverse of the preview grid's show gridlines property.
4061 2001-02-21  Jody Goldberg <jgoldberg@home.com>
4063         * src/render-ascii.c (cell_region_render_ascii) : The list reveral
4064           stuff is no longer needed.  The new engine keeps only complete
4065           styles and keeps the list as a partition.
4067         * src/sheet-style.c (sheet_style_insert_colrow) : When inserting
4068           before the first row/col use the style from A/1.
4070         * src/sheet.h (SHEET_FOREACH_CONTROL) : Be really really careful about
4071           potential modifications to the list why we are walking it.
4073 2001-02-20  Jody Goldberg <jgoldberg@home.com>
4075         * src/cell.c (cell_default_halign) : add support for arrays
4076           and center booleans.
4078 2001-02-20  Jody Goldberg <jgoldberg@home.com>
4080         * src/xml-io.c (xml_write_style) : store indent.
4081         (xml_read_style) : restore indent.
4083 2001-02-20  Jody Goldberg <jgoldberg@home.com>
4085         * src/item-edit.c (item_edit_draw_text) : draw autocompletions of
4086           wrapped text nicely.
4088 2001-01-20  John Gotts  <jgotts@linuxsavvy.com>
4090         * gnumeric.spec.in: Sync with new directory structure.
4092 2001-02-20  Jody Goldberg <jgoldberg@home.com>
4094         * src/item-edit.c (item_edit_draw_text) : kill warning.
4096 2001-02-20  Jody Goldberg <jgoldberg@home.com>
4098         * src/main.c : remove inclusion of embeddable-grid.h this causes
4099           problems in the release because main.c then depends on files that
4100           are only available in the ENABLE_BONOBO case.
4102         * src/item-bar.c (bar_draw_cell) : set the clip for the text.  no need
4103           to clip a rectangle or shadow whose boundaries we define.
4105         * src/sheet-control-gui.c (scg_redraw_cell_region) : Handle shrinkage.
4107 2001-02-20  Jon K Hellan  <hellan@acm.org>
4109         * src/item-edit.c (item_edit_draw_text): Fix wrapped line drawing
4110         problem.
4112 2001-02-20  Morten Welinder  <terra@diku.dk>
4114         * src/item-bar.c (bar_draw_cell): Fix column header drawing
4115         problem.  (And possibly other weird drawing problems related to
4116         style.)
4118 2001-02-20  Zbigniew Chyla  <cyba@gnome.pl>
4120         * src/dialogs/dialog-cell-format.c (setup_color_pickers): Move
4121         variable assignments out of assertions to allow compilation with
4122         "G_DISABLE_ASSERT" defined.
4124         * src/dialogs/dialog-cell-sort.c:
4125         Use e_free_string_list() from GAL instead of newly defined
4126         free_string_list().
4127         (dialog_cell_sort): Plug leak.
4129 2001-02-20  Morten Welinder  <terra@diku.dk>
4131         * src/regression.c (LUPDecomp): Really fix row flipping.
4133 2001-02-19  Jon K Hellan  <hellan@acm.org>
4135         * src/file.h: Add level FILE_FL_MANUAL_REMEMBER. Fix typos:
4136         FILE_SAVER_ID_INVAID -> FILE_SAVER_ID_INVALID,
4137         FILE_OPENER_ID_INVAID -> FILE_OPENER_ID_INVALID.
4139         * src/file.c (file_format_register_open): Fix typo:
4140         FILE_OPENER_ID_INVAID -> FILE_OPENER_ID_INVALID.
4141         (file_format_register_save): Fix typo: FILE_OPENER_ID_INVAID ->
4142         FILE_SAVER_ID_INVALID.
4143         (cb_unregister_save, workbook_save): Fix
4144         typo: FILE_SAVER_ID_INVAID -> FILE_SAVER_ID_INVALID.
4146         * src/workbook.c (workbook_destroy): Only include in history if
4147         file_format_level >= FILE_FL_MANUAL_REMEMBER.
4148         (workbook_new, workbook_set_saveinfo): Fix typo:
4149         FILE_SAVER_ID_INVAID -> FILE_SAVER_ID_INVALID.
4151         * src/xml-io.c: Fix typos: FILE_SAVER_ID_INVAID ->
4152         FILE_SAVER_ID_INVALID, FILE_OPENER_ID_INVAID ->
4153         FILE_OPENER_ID_INVALID.
4155 2001-02-19  Jody Goldberg <jgoldberg@home.com>
4157         * src/commands.c (cmd_format) : Optionally supply a name.
4159         * src/cell-draw.c (cell_draw) : numbers with indents turn to hashes
4160           too.  Hmm, I do not like the hash marks.
4162         * src/print-cell.c (print_cell) : merge in the indent code.
4164 2001-02-19  Morten Welinder  <terra@diku.dk>
4166         * src/regression.c (LUPDecomp): Fix row flipping.
4167         (general_linear_regression): Survive failing LUPDecomp.
4169 2001-02-19  Jody Goldberg <jgoldberg@home.com>
4171         * src/rendered-value.c (rendered_value_calc_size_ext) : tune the size
4172           of an indent step.
4174         * src/workbook-control-gui.c (show_gui) : kill warning.
4176         * src/workbook-format-toolbar.c (cb_format_dec_indent) : implement.
4177         (cb_format_inc_indent) : ditto.
4179         * src/gnumeric.xml : Move the toggle specs into commands.
4181         * src/workbook-control-gui.c (toggle_util) : new func.
4182         (TOGGLE_HANDLER) : util macro to simplify gnome/bonobo transition.
4183         (workbook_control_gui_init) : use TOGGLE_REGISTER for the bonobo case.
4185 2001-02-19  Jon K Hellan  <hellan@acm.org>
4187         * src/workbook-control-gui.c (show_gui): Call
4188         scg_adjust_preferences only if sheet exists.
4190 2001-02-19  Jody Goldberg <jgoldberg@home.com>
4192         * src/commands.c (cmd_paste_cut_redo) : update the selection after the
4193           move to handle merged cells.
4195         * src/workbook-format-toolbar.c : Add a separator and rename the
4196           callbacks to follow std conventions.
4198 2001-02-19  Jody Goldberg <jgoldberg@home.com>
4200         * src/workbook-control-gui.c (wbcg_menu_state_enable_insert) : There
4201           has not been a need for the menu path for a while.  Why was this
4202           still here ?
4203         (toggle_menu_item) : clean up the #ifdef to make this readable.
4204         (wbcg_menu_state_sheet_prefs) : Finish the bonobo case.
4206 2001-02-19  Jody Goldberg <jgoldberg@home.com>
4208         * src/workbook-control-gui.c (show_gui) : It seems like we need to
4209           show_all for the bonobo build, I don't know why.  Add an explicit
4210           call the scg_adjust_preferences to rehide headers that may be shown
4211           inadvertently.
4213         * src/cellspan.c (cell_calc_span) : Even if the content fits the
4214           indent may cause a span.
4216         * src/style.c (required_updates_for_style) : flag an indent change as
4217           something that requires a resize.
4219 2001-02-18  Jody Goldberg <jgoldberg@home.com>
4221         * src/embeddable-grid.c (set_header_visibility) : delete.
4223         * src/workbook-control-gui.c (cb_change_zoom) : Block recursion here.
4224         (zoom_changed) : not here.
4225         (toggle_menu_item) : add warning for bonobo case.
4226         (workbook_setup_edit_area) : add show_all to compensate for changes in
4227           construct.
4229 2001-02-18  Jody Goldberg <jgoldberg@home.com>
4231         * src/workbook-control-gui.c : Back port the help text from the bonobo
4232           verson.
4233         (workbook_menu_edit_select) : Use Meta-space for select row,
4234           Shift-space does not work well.
4235         (wbcg_close_control) : fix typo (bug 51058)
4237         * src/workbook-edit.c (workbook_finish_editing) : Editing is local to
4238           the control.
4239         (workbook_start_editing_at_cursor) : ditto.
4241 2001-02-18  Jody Goldberg <jgoldberg@home.com>
4243         * src/sheet-control-gui.c : reindent some ugliness from the rename.
4245         * src/sheet.c (sheet_create_editor) : delete.
4247 2001-02-18  Jody Goldberg <jgoldberg@home.com>
4249         s/display_zero/hide_zero/               + necessary logic inversions
4250         s/show_grid/hide_grid/                  + necessary logic inversions
4251         s/show_col_header/hide_col_header/      + necessary logic inversions
4252         s/show_row_header/hide_row_header/      + necessary logic inversions
4253         s/wb_control_paste_special_enable/wb_control_menu_state_paste_special/
4254         s/wbcg_paste_special_enable/wbcg_menu_state_paste_special/
4256         * src/workbook-format-toolbar.c (workbook_format_toolbutton_update) :
4257           Simplfy and use wbcg::updating_ui.
4258         (workbook_format_halign_feedback_set) : use simplified interface.
4259         (workbook_feedback_set) : Ditto.
4260         (set_selection_halign) : If the current alignment is already set to
4261           the target type revert to general.
4263         * src/preview-grid.c (preview_grid_draw) : cell_draw::h_center
4264           will default to width / 2.
4265         * src/item-grid.c (item_grid_draw_merged_range) : Ditto.
4266         (item_grid_draw) : Ditto.
4268         * src/print-cell.c (print_cell) : print_cell::h_center
4269           will default to width / 2.
4270         (print_merged_range) : Ditto.
4271         (print_cell_range) : Ditto.
4273         * src/sheet.c (sheet_adjust_preferences) : Update the menus to reflect
4274           changes in prefs.  Take a flag to control redraw requests.
4275         (sheet_menu_state_enable_insert) : new function.
4277         * src/workbook-control-gui.c (wbcg_menu_state_enable_insert) : Merge
4278           all the insert col/row/cell menu updates into here.
4279         (wbcg_menu_state_sheet_prefs) : new function.
4280         (cb_sheet_pref_display_formulas) : reentrancy protection and use
4281           sheet_adjust_preferences.
4282         (cb_sheet_pref_hide_zeros) : ditto.
4283         (cb_sheet_pref_hide_grid_lines) : ditto.
4284         (cb_sheet_pref_hide_col_header) : ditto.
4285         (cb_sheet_pref_hide_row_header) : ditto.
4286         (workbook_control_gui_init) : add the new menu items.
4287         (workbook_control_gui_ctor_class) : reorg a bit.
4289         src/workbook-control.c : reorg a bit.
4291 2001-02-18  Jody Goldberg <jgoldberg@home.com>
4293         * configure.in : Make python plugin optional.
4295 2001-02-18  Jody Goldberg <jgoldberg@home.com>
4297         * src/workbook-control.c (wb_control_sheet_add) : update menus here.
4299         * src/print-cell.c (print_cell) : fix the display zero logic.
4300         * src/cell-draw.c (cell_draw) : ditto.  And fix the comment.
4302 2001-02-18  Jody Goldberg <jgoldberg@home.com>
4304         * src/cell.c (cell_default_halign) : Handle alignment of numbers
4305           correctly when displaying formulas.
4307         * src/embeddable-grid.c (set_header_visibility) : start using our
4308           native MVC.
4309         (Grid_set_header_visibility) : ditto.
4310         (embeddable_grid_set_header_visibility) : delete.
4312         * src/sheet-control-gui.c (scg_set_header_visibility) : delete.
4313         (scg_adjust_preferences) : Make this contingent on having a wbcg.
4315         * src/selection.c (sheet_selection_set_internal) : Use
4316           sheet_menu_state_enable_insert.
4317         (sheet_selection_reset) : ditto.
4319 2001-02-18  Almer S. Tigelaar  <almer1@dds.nl>
4321         * src/sheet-private.h : Add flag for insert cells.
4323         * src/workbook-control-gui.c :
4324         (wbcg_insert_cells_enable) : New, enable/disable the Insert->Cells
4325         menu item.
4326         (workbook_control_gui_init) : Initialize the insert_cells menu
4327         item.
4328         (workbook_control_gui_ctor_class) : Initialize insert_cells
4329         function pointer.
4331         * src/workbook-control-gui.h : Add menu_item_insert_cells.
4333         * src/workbook-control.c, src/workbook-control.h,
4334         src/workbook-control-priv.h : Export wbcg_insert_cell_enable to
4335         workbook-control.
4337         * src/selection.c
4338         (sheet_selection_set_internal) : If the whole sheet is selected,
4339         disable Insert->Cells. Otherwise enable it.
4340         (sheet_selection_reset) : Enable Insert->Cells.
4342         * src/workbook-view.c
4343         (wb_view_menus_update) : Update Insert->Cells too.
4345 2001-02-17  Jody Goldberg <jgoldberg@home.com>
4347         * src/xml-io.c (xml_sheet_write) : Store some flags about the sheet.
4348         (xml_sheet_read) : Restore them.
4350 2001-02-17  Jody Goldberg <jgoldberg@home.com>
4352         * src/commands.c (cmd_clear_undo) : reset the selection to queue a
4353           redraw.
4355         * src/cell-draw.c (cell_draw) : take the coords of the center of the
4356           region directly, rather than the left offset.
4357         * src/print-cell.c (print_cell) : ditto.
4359         * src/preview-grid.c (preview_grid_draw) : change sematics of the
4360           centering arg to cell_draw.
4361         * src/item-grid.c (item_grid_draw) : ditto.
4362         (item_grid_draw_merged_range) : ditto. Fix drawing of selected cells.
4363         * src/print-cell.c (print_cell_range) : ditto.
4364         (print_merged_range) : ditto.
4366 2001-02-17  Jody Goldberg <jgoldberg@home.com>
4368         * src/clipboard.c (clipboard_paste_region) : Allow pasting just
4369           formats.
4371         * src/print.c (print_page) : fix typo.
4373         * src/xml-io.c (xml_read_style) : Before version 1 and after version 6
4374           we stored full styles.  Be sure the create a default style as a
4375           backward compatibility measure incase we add elements to styles in
4376           the future.
4378 2001-02-17  Almer S. Tigelaar  <almer1@dds.nl>
4380         * src/commands.c
4381         (cmd_hide_colrow_correct_selection) : Make sure the
4382         hidden cols/rows are not selected. Selecting adjacent cols/rows
4383         instead. Fixes #38179.
4384         (cmd_hide_colrow_undo) : Call cmd_hide_colrow_correct_selectio here.
4385         (cmd_hide_colrow_redo) : And here.
4387         * src/colrow.h, src/colrow.c (colrow_find_adjacent_visible) :
4388         New, Find the next visible col/row in the sheet.
4390 2001-02-17  Jody Goldberg <jgoldberg@home.com>
4392         * src/style-border.c (style_borders_row_draw) : Don't draw the
4393           diagonals unless we are drawing the verticals.
4395         * src/sheet-control-gui.c (scg_scrollbar_config) : simplify a bit.
4397 2001-02-16  Jody Goldberg <jgoldberg@home.com>
4399         * src/dialogs/dialog-cell-format.c (fmt_dialog_init_align_page) :
4400           begin support for indenting.
4401         * src/workbook-format-toolbar.c : ditto.
4403 2001-02-16  Jody Goldberg <jgoldberg@home.com>
4405         * configure.in : post release version bump
4407 2001-02-15  Jody Goldberg <jgoldberg@home.com>
4409         * s/fit_in_cell/wrap_text/
4410         rename this in preparation for supporting shrink_to_fit
4412 2001-02-16  Jody Goldberg <jgoldberg@home.com>
4414         * Release 0.62
4416 2001-02-16  Jody Goldberg <jgoldberg@home.com>
4418         * src/print.c (render_sheet_objects) : more constness.
4420 2001-02-16  Jody Goldberg <jgoldberg@home.com>
4422         * src/gnumeric.xml : remove the 'pack-end' from some of the format
4423           controls too.
4425 2001-02-16  Jody Goldberg <jgoldberg@home.com>
4427         * src/cell-draw.c (cell_draw) : fix some warnings.
4429 2001-02-15  Jody Goldberg <jgoldberg@home.com>
4431         * src/number-match.c (compute_value) : check for overflow.
4433 2001-02-15  Jody Goldberg <jgoldberg@home.com>
4435         * configure.in : remove dead dirs
4436         * Makefile.am : Add the xml-i18n-*.in files
4438 2001-02-15  Jody Goldberg <jgoldberg@home.com>
4440         * src/print.c (compute_sheet_pages) : Use even_if_only_styles.
4441         (print_page) : Ditto.
4442         (print_sheet) : Ditto.
4444         * src/xml-io.c (xml_write_print_info) : Support 'even_if_only_styles'
4445         (xml_read_print_info) : Ditto.
4446         * src/dialogs/dialog-printer-setup.c (do_fetch_page_info) : ditto.
4447         (do_setup_page_info) : Ditto.
4448         * src/print-info.c (print_info_copy) : ditto.
4449         (print_info_new) : ditto.
4450         (print_info_save) : ditto.
4452 2001-02-15  Jody Goldberg <jgoldberg@home.com>
4454         * src/cell-draw.c (cell_draw) : Support indents for left/right
4455           alignment.
4457         * src/cellspan.c (cell_calc_span) : Support indents when calculating
4458           spans.
4460         * src/rendered-value.c (cell_rendered_offset) : new function
4462 2001-02-15  Almer S. Tigelaar  <almer1@dds.nl>
4464         * preview-grid-controller.c
4465         (preview_grid_controller_new) : Properly initialize the
4466         selection_rect.
4467         (preview_grid_controller_free) : Remove rect and selection_rect
4468         from canvas.
4470         * templates/autoformat/autoformat.General.advanced.xml : Correct
4471         wrongly set border.
4473 2001-02-15  Jody Goldberg <jgoldberg@home.com>
4475         * src/mstyle.c (mstyle_visible_in_blank) : off by one error.
4476         * src/xml-io.c (xml_write_style_border) : Ditto.
4477         (xml_read_style_border) : ditto.
4479         * src/rendered-value.c (rendered_value_calc_size_ext) : calculate the
4480           indent offsets.
4482         * src/sheet-merge.c (sheet_merge_add) : redraw the entire region.
4484 2001-02-14  Jody Goldberg <jgoldberg@home.com>
4486         * src/style-border.c (style_border_draw) : delete.
4488 2001-02-14  Jody Goldberg <jgoldberg@home.com>
4490         * src/preview-grid.c (pg_style_get_row) : new function.
4491         (preview_grid_draw) : for use here.
4493         * src/sheet-style.c (style_row_init) : New routine spit out from.
4494         * src/item-grid.c (item_grid_draw) : here.
4495         * src/preview-grid.c (preview_grid_draw) : for use here.
4496         (preview_grid_draw_background) : there is no selection.
4498 2001-02-14  Jody Goldberg <jgoldberg@home.com>
4500         * s/sheet_view/scg/
4501         Do some renaming before the release
4503 2001-02-14  Almer S. Tigelaar  <almer1@dds.nl>
4505         * configure.in: Small correction to libglade requirement.
4507 2001-02-14  Morten Welinder  <terra@diku.dk>
4509         * src/plugin.c (plugin_info_list_read_for_dir): Prepare for xml2.
4510         (s/childs/xmlChildrenNode/).
4512         * src/xml-io-autoft.c (xml_read_format_template_members): Ditto.
4514 2001-02-14  Almer S. Tigelaar  <almer1@dds.nl>
4516         * src/preview-grid.c
4517         (preview_grid_draw_border): Remove.
4518         (preview_grid_draw): Revamp excluding border drawing.
4520 2001-02-14  Jody Goldberg <jgoldberg@home.com>
4522         * configure.in : bump the libglade req to get some translation fixes.
4523         * README : ditto.
4524         * gnumeric.spec.in : ditto.
4526 2001-02-14  Karl Eichwalder  <ke@suse.de>
4528         * src/workbook-control-gui.c (cb_edit_search_replace_query):
4529         Untabify message.
4531 2001-02-13  Jody Goldberg <jgoldberg@home.com>
4533         * some header cleanup.  Remove unused copies of
4534           rendered-value.h
4536 2001-02-13  Morten Welinder  <terra@diku.dk>
4538         * src/plugin.c (plugin_info_list_read_for_dir): Plug leak big
4539         enough to drive a truck through.
4540         (plugin_info_free): Plug leak.
4542 2001-02-13  Jody Goldberg <jgoldberg@home.com>
4544         * src/sheet.c (sheet_clone_styles) : rewrite for new style engine.
4545         (sheet_move_range) : remove warning.
4547 2001-02-13  Maciej Stachowiak  <mjs@eazel.com>
4549         Changes to make gnumeric distcheck properly (mildly xml-i18n-tools
4550         related).
4552         * po/Makefile.in.in: Remove; this should not be in cvs, autogen
4553         will create it with gettextize and patch it with xml-i18n-tools.
4555         * src/dialogs/Makefile.am: Remove define of glade_msgs and remove
4556         it from EXTRA_DIST; these files are not in cvs any more, rather
4557         they are generated on demand by the xml-i18n-tools extraction
4558         code, so they should not (and cannot) go into the distribution
4559         tarball.
4561 2001-02-12  Karl Eichwalder  <ke@suse.de>
4563         * templates/autoformat/Makefile.am (Category_files): Typo.
4565 2001-02-12  Jody Goldberg <jgoldberg@home.com>
4567         * src/cell-draw.c (cell_draw) : Center content on the cell with the
4568           content, not on the width of the span (think about asymetric column
4569           widths on the left and right.
4570         * src/print-cell.c (print_cell) : Ditto.
4572         * src/item-grid.c (item_grid_draw) : Pass the offset from the left
4573           edge to the cell with content.
4574         * src/print-cell.c (print_cell) : Ditto.
4576 2001-02-12  Jody Goldberg <jgoldberg@home.com>
4578         * src/cell-draw.c (cell_draw) : Fence post problem.  Measure right
4579           margin as 'left + width - 1'
4580         * src/print-cell.c (print_cell) : ditto.
4582 2001-02-11  Jody Goldberg <jgoldberg@home.com>
4584         * src/item-grid.c (item_grid_draw) : pass the correct width.
4586 2001-02-11  Jody Goldberg <jgoldberg@home.com>
4588         * src/workbook-control-gui.c (wb_control_gui_focus_cur_sheet) :
4589           Improve the precondition.
4590         (cb_autosave) : ditto.
4591         (cb_notebook_switch_page) : Add some safety.
4593 2001-02-11  Karl Eichwalder  <ke@suse.de>
4595         * src/main.c: s/behaviour/behavior/ and s/colours/colors/ .
4596         Typo.
4598 2001-02-11  Almer S. Tigelaar  <almer1@dds.nl>
4600         * configure.in: Small correction for GAL.
4602 2001-02-11  Jody Goldberg <jgoldberg@home.com>
4604         * src/sheet.c (sheet_cell_set_text) : Queue a redraw before changing
4605           in case span shrinks after change.
4607         * src/sheet-merge.c (sheet_merge_add) : Clear spans
4609 2001-02-11  Jody Goldberg <jgoldberg@home.com>
4611         * README : bump GAL req.
4612         * gnumeric.spec.in : ditto.
4613         * configure.in : Ditto.
4615 2001-02-11  Jody Goldberg <jgoldberg@home.com>
4617         * src/parser.y : Move the state information into a struct so that we
4618           can eventually get rid of the statics.
4619         Take a 'ParseError' as a place to return more detailed information
4620           about parsing errors (Not used yet).
4622 2001-02-10  Jon K Hellan  <hellan@acm.org>
4624         * src/print.c: Illustrate margin definitions.
4625         (print_headers): Header, not top margin, should be top of header
4626         area.
4627         (print_footers): Footer, not bottom margin, should be top of
4628         footer area.
4630         * src/xml-io.c (xml_print_info_fix_margins): New function fix up
4631         incorrectly stored margins.
4632         (xml_read_print_margins): Use it.
4634 2001-02-10  Jody Goldberg <jgoldberg@home.com>
4636         * src/workbook-control-gui.c (insert_bonobo_object) : help
4637           translators.
4639         * src/sheet-style.c (foreach_tile) : Only apply to applicable row or
4640           col tile segments.
4642 2001-02-09  Jeffrey Stedfast  <fejj@ximian.com>
4644         * src/print.c: include ranges.h
4646         * src/expr.c: include gutils.h
4648 2001-02-08  Jody Goldberg <jgoldberg@home.com>
4650         * src/gnumeric.xml : Remove the ugly alight right
4652         * src/style-border.c (style_borders_row_draw) : Do a quick
4653           implementation of diagonals.
4655 2001-02-08  Jon K Hellan  <hellan@acm.org>
4657         * src/embeddable-grid.[ch]: Adapt to more Bonobo changes.
4659         * src/embeddable-grid.h (struct EmbeddableGridClass): Add
4660         POA_GNOME_Gnumeric_Grid__epv.
4662         * src/embeddable-grid.c:  Remove
4663         embeddable_grid_(v)?epv.
4664         (embeddable_grid_class_init): New version.
4665         (init_embeddable_grid_corba_class, create_embeddable_grid):
4666         Remove.
4667         (embeddable_grid_new(_anon)?): Remove CORBA stuff.
4668         (embeddable_grid_get_type, grid_view_get_type): Use
4669         bonobo_x_type_unique.
4670         (grid_view_get_type):
4672 2001-02-08  Almer S. Tigelaar  <almer1@dds.nl>
4674         * src/style-border.h, src/style-border.c (style_borders_row_draw):
4675         Adjust so it uses a vector of ints for column widths instead of
4676         reading them out of the Sheet directly.
4678         * src/item-grid.c (item_grid_draw): Built a column width
4679         vector and pass it to the style_borders_row_draw routine.
4681 2001-02-08  Morten Welinder  <terra@diku.dk>
4683         * src/file-autoft.c (category_group_list_get): Plug leak.
4684         (category_group_free): Plug grave leak.
4686 2001-02-07  Morten Welinder  <terra@diku.dk>
4688         * src/commands.c (cmd_search_replace_do_cell): Improve quoting
4689         using gnumeric_strescape.
4691         * src/gutils.c (gnumeric_strescape): Imported from src/expr.c.
4692         Constified and changed to add the quotes.
4694         * src/expr.c (strescape): Moved to gutils.
4695         (do_expr_tree_to_string): Use gnumeric_strescape.
4697 2001-02-07  Jon K Hellan  <hellan@acm.org>
4699         * src/print.c (print_hf_line): Check if there is room to print a
4700         header or footer.
4702 2001-02-07  Jody Goldberg <jgoldberg@home.com>
4704         * src/sheet-style.c (border_mask_vec) : fix the problem where
4705           artificial conflicts were created when comparing cells without
4706           borders to cells with backgrounds and no borders.  the backgrounds
4707           were causing the borders to be NULL which would toggle a conflict.
4709 2001-02-06  Jody Goldberg <jgoldberg@home.com>
4711         * src/print.c (print_page) : Print areas with visible styles too.
4713         * src/sheet-style.c (sheet_style_has_visible_content) : new function
4715 2001-02-06  Jody Goldberg <jgoldberg@home.com>
4717         * src/style-border.c (style_borders_row_print) : Use print_hline
4718           print_vline to simplify things later.
4720         * src/print.c (print_page) : typo.
4722         * src/sheet.c (sheet_col_set_default_size_pts) : Add some safety.
4723         (sheet_row_set_default_size_pts) : Add some safety.
4725 2001-02-06  Jody Goldberg <jgoldberg@home.com>
4727         * src/print.c (print_page) : Add a simple filter to avoid printing
4728           pages with no content.  Currently uses only cells.  No tests for
4729           visible styles on blank cells.
4731         * src/cellspan.c (cell_calc_span) : improve const.
4733 2001-02-06  Jody Goldberg <jgoldberg@home.com>
4735         * src/style-border.c (style_border_data) : DO NOT use width 0 lines
4736           with dashes.  Strange offset problems happen when you do partial
4737           redraws.
4739 2001-02-06  Morten Welinder  <terra@diku.dk>
4741         * src/workbook-private.c (workbook_private_new): Fix prototype.
4743         * src/commands.c (cmd_search_replace_destroy): Plug leak.
4744         (cmd_search_replace_do_cell): Implement string and error failure
4745         modes (apart from a FIXME in the code).
4747 2001-02-06  Jon K Hellan  <hellan@acm.org>
4749         * configure.in, README: Depend on bonobo >= 0.35.
4751 2001-02-06  Almer S. Tigelaar  <almer1@dds.nl>
4753         * src/gui-clipboard.c (x_selection_to_cell_region):
4754         Use mstyle_new_default instead of mstyle_new.
4756         * src/preview-grid-controller.c (preview_grid_controller_new):
4757         No need to make a copy of the default mstyle.
4759         * src/format-template.c (format_template_set_style):
4760         Make sure the passed mstyle gets all it's elements set.
4762 2001-02-06  Jody Goldberg <jgoldberg@home.com>
4764         * src/style-border.c (style_borders_row_draw) : init x.
4765         (style_borders_row_print) : init x.
4767         * src/print-cell.c (print_cell_range) : typo.
4769 2001-02-06  Almer S. Tigelaar  <almer1@dds.nl>
4771         * src/gui-clipboard.c (x_selection_to_cell_region):
4772         Don't invoke the STF druid when pasting a single line. Fixes #21507.
4774 2001-02-06  Jon K Hellan  <hellan@acm.org>
4776         * src/embeddable-grid.c (grid_view_new): Adapt to changes in bonobo.
4778 2001-02-05  Jody Goldberg <jgoldberg@home.com>
4780         * src/sheet-style.c (sheet_style_get_extent) : this should search the
4781           entire sheet, not just decrease the extent passed in.
4783         * src/style-border.c (style_borders_row_draw) : new function.
4785         * src/print-cell.c (print_cell_grid) : delete.
4786         (print_cell_range) : sync with itemgrid.
4787         (print_merged_range) : ditto.
4788         (print_cell_background) : ditto.
4790 2001-02-05  Jody Goldberg <jgoldberg@home.com>
4792         * src/item-grid.c (item_grid_draw) : Off by one.
4793         (item_grid_draw_merged_range) : some simple optimization.  No need to
4794           calc the coords for the entire cell unless we are painting the
4795           content too.
4797 2001-02-05  Jody Goldberg <jgoldberg@home.com>
4799         * src/style-border.c (style_borders_row_draw) : check for NULL even on
4800           the last border.
4802 2001-02-05  Jody Goldberg <jgoldberg@home.com>
4804         * src/style-border.c (style_border_hmargins) : built from the original
4805         (style_border_vmargins) : draw routines.
4806         (style_borders_row_draw) : a wrapper to draw a set of borders.
4808 2001-02-04  Jody Goldberg <jgoldberg@home.com>
4810         * src/sheet-style.c (style_row) : Handle the display of gridlines
4811           here.
4813         * src/item-grid.c (item_grid_draw_merged_range) : prepare to do
4814           borders & grids in a batch as part of the standard render process.
4815         (item_grid_draw) : Ditto.
4817 2001-02-04  Jody Goldberg <jgoldberg@home.com>
4819         * src/preview-grid.c (preview_grid_realize) : no need for
4820           visual_is_paletted.
4821         * src/item-grid.c (item_grid_realize) : ditto.
4823 2001-02-03  Jody Goldberg <jgoldberg@home.com>
4825         * src/xml-io.c (xml_workbook_read) : bump xml version to 6.
4826         (xml_read_style_region) : V6 uses set_range rather than the older
4827           apply_range.  We now save/restore fully qualified styles.
4829 2001-02-03  Jody Goldberg <jgoldberg@home.com>
4831         * src/sheet-object.c (sheet_objects_max_extent) : new routine.
4832         (sheet_object_destroy) : regen extent if necessary.
4834         * src/sheet-control-gui.c (scg_scrollbar_config) : Honour the object
4835           max extent flag.
4837         * src/gui-file.c (gui_file_import) : A successful import must have at
4838           least 1 sheet.
4840         * src/file.c (do_load_from) : Check that a successful read actually
4841           imported something.
4843         * src/gui-clipboard.c (x_selection_to_cell_region) : Init
4844           CellRegion::merged.
4845         * src/stf-parse.c (stf_parse_region) : Ditto.
4846         * src/xml-io.c (xml_read_selection_clipboard) : Ditto.
4848         * src/sheet-control-gui.c (scg_object_move) : split out from the
4849           control point motion handler.
4850         (cb_control_point_event) : Use it here.
4851         (cb_slide_handler) : and here.
4853 2001-02-01  Jody Goldberg <jgoldberg@home.com>
4855         * src/item-grid.c (item_grid_draw) : Last couple of intersection
4856           cases.  We now draw correctly for the simple cases.  Grid lines are
4857           handled incorrectly.  The error won't show up when drawing, but it
4858           will when we do this for printing.  We should also be more careful
4859           with the intersection cases for borders.  double check using borders
4860           of different colours.
4862 2001-02-01  Jody Goldberg <jgoldberg@home.com>
4864         * src/item-grid.c (cb_obj_create_button_release) : Use the new default
4865           size routine.
4867         * src/sheet-object-impl.h : Add default_{width, height} to class.
4869         * src/sheet-control-gui.c (scg_object_update_bbox) : when we select a
4870           new object get its position.
4871         (cb_control_point_event) : This is a motion event.  Get rid of the
4872           stupid statics.
4874         * src/sheet-merge.c (sheet_merge_remove) : free the range AFTER we
4875           lookup the cell.  It is possible that the range is the same as the
4876           argument and we still need it.
4878         * src/item-grid.c (item_grid_draw) : Init the extra horizontals
4879           in the next two rows.
4881 2001-02-01  Jody Goldberg <jgoldberg@home.com>
4883         * src/sheet.c (sheet_get_extent) : don't call style_extent.  The
4884           caller can do that if desired.
4886         * src/item-grid.c (item_grid_draw) : Use the new drawing code.
4888         * src/style-border.c (style_border_fetch) : init 'width'
4889         (style_border_set_gc_dash) : Use 'CAP_NOT_LAST' to get consistent
4890           behavior with width 0 and width > 0 lines.
4891         (style_border_hdraw) : implement.
4892         (style_border_vdraw) : implement.
4894 2001-01-31  Morten Welinder  <terra@diku.dk>
4896         * src/commands.c (cmd_search_replace): Revert previous interface
4897         change (and use a callback instead).  Commands should not know
4898         about user interfaces.
4900         * src/workbook-control-gui.c (wbcg_paste_special_enable): Fix
4901         Bonobo case, I hope.
4902         (cb_edit_search_replace_query): New function.
4903         (cb_edit_search_replace): Connect cb_edit_search_replace_query.
4905         * src/item-grid.c (item_grid_draw): Kill a few (real) warnings.
4907 2001-01-31  Almer S. Tigelaar  <almer1@dds.nl>
4909         * src/sheet.h :
4910         Remove all menu item state flags.
4912         * src/sheet-private.h:
4913         Put the menu item state flags here.
4915         * src/workbook-control-gui.c:
4916         (wbcg_paste_special_enable): Remove the second argument to
4917         this function. Instead read this directly out of the flags. Add sheet
4918         argument.
4919         (wbcg_insert_cols_rows_enable): Ditto for the 3rd argument and
4920         also remove the cols arguments so that one call will update both
4921         row and column menu items. Also add sheet argument.
4923         * src/workbook-control.c, src/workbook-control.h,
4924         src/workbook-control-priv.h:
4925         Adjust arguments to wbcg_paste_special_enable and insert_cols_rows.
4927         * src/application.c:
4928         (application_clipboard_copy): First set the paste special flag
4929         and don't pass argument to paste_special_enable.
4930         (application_clipboard_cut): Ditto.
4931         (application_clipboard_clear): Ditto.
4933         * src/workbook-view.c:
4934         (wb_view_menus_update): Update to don't pass flags as argument,
4935         don't do separate calls for cols and rows and optimize to do all
4936         calls in one loop.
4938         * src/selection.c:
4939         (sheet_selection_set_internal): Disable or enable insert cols/rows,
4940         update UI only when necessary and rename label for clarity.
4941         (sheet_selection_reset): Enable insert cols/rows flags.
4943 2001-01-31  Morten Welinder  <terra@diku.dk>
4945         * src/search.c (search_replace_verify): For regexps, validate the
4946         replacement string.
4947         (search_replace_compile): Detect whether replacement text is
4948         literal (modulo case of letters).
4950         * src/commands.c (cmd_search_replace): Take a wbcg so we can pop
4951         up dialogs.
4952         (cmd_search_replace_do_cell): Implement "Fail" error mode.
4954 2001-01-30  Jody Goldberg <jgoldberg@home.com>
4956         * src/preview-grid-controller.c (preview_grid_controller_force_redraw)
4957           work around overflow on BSD.
4958         * src/item-bar.c (item_bar_event) : ditto.
4960 2001-01-30  Jody Goldberg <jgoldberg@home.com>
4962         * src/xml-io.c (xml_sheet_create) : typo.
4964 2001-01-30  Jody Goldberg <jgoldberg@home.com>
4966         s/float_t/gnum_float/
4967         s/int_t/gnum_int/
4969         * src/sheet-style.c (sheet_style_get_uniform) : implement.
4971         * src/parse-util.c (parse_text_value_or_expr) : dont lose the entered
4972           text.
4974         * src/history.c (history_menu_insert_separator) : keep case
4975           consistent.
4976         * src/workbook-control-gui.c (workbook_menu_file) : ditto.
4978         * configure.in : update GAL req.
4979         * README : ditto.
4980         * gnumeric.spec.in : ditto.
4982 2001-01-29  Jody Goldberg <jgoldberg@home.com>
4984         * src/sheet-style.h : decl for StyleRow.
4986         * src/xml-io.c : Use the Child and Root aliases to ease
4987           transition from xml1 -> xml2.
4988         (xml_sheet_create) : default name for sheets that fail to specify one.
4990         * src/workbook.c (workbook_sheet_by_index) : improve safety.
4992 2001-01-30  Michael Meeks  <michael@helixcode.com>
4994         * src/sheet-object-bonobo.c (sheet_object_bonobo_set_server):
4995         add a ref to the server, we seem to have lost one somewhere.
4997 2001-01-30  Almer S. Tigelaar  <almer1@dds.nl>
4999         * src/selection.c, src/selection.h:
5000         (sheet_selection_reset_only): Rename to sheet_selection_reset.
5002         * src/cmd-edit.c: s/sheet_selection_reset_only/sheet_selection_reset.
5003         * src/commands.c: Ditto.
5004         * src/gnumeric-sheet.c: Ditto.
5005         * src/item-grid.c: Ditto.
5006         * src/sheet.c: Ditto.
5007         * src/sheet-control-gui.c: Ditto.
5008         * src/xml-io.c: Ditto.
5010 2001-01-29  Almer S. Tigelaar  <almer1@dds.nl>
5012         * src/sheet.h: Add flags for insert cols/rows and paste special.
5014         * src/selection.c
5015         (sheet_selection_add_range):
5016         Remove the settings of insert cols/rows here.
5017         (sheet_selection_set_internal):
5018         Set insert cols/rows menu items and flags correctly.
5019         (sheet_selection_reset_only): Reset insert cols/rows flags.
5021         * src/application.c
5022         (application_clipboard_clear): Set enable paste special flag.
5023         (application_clipboard_copy): Ditto.
5024         (application_clipboard_cut): Ditto.
5026         * src/workbook-view.c, src/workbook-view.h
5027         (wb_view_menus_update): New function, updates the
5028         insert cols/rows and paste special menu items.
5029         (wb_view_sheet_focus): Call menus_update here.
5030         (wb_view_sheet_add): Ditto.
5032         * src/workbook-control-gui.c
5033         (workbook_control_gui_init): Update menu items here.
5035 2001-01-29  Fatih Demir <kabalak@gmx.net>
5037         * .cvsignore: Added the xml-i18n-* files and the intl
5038                 subdir to the ignores.
5040 2001-01-28  Zbigniew Chyla  <cyba@gnome.pl>
5042         * src/plugin.c, src/xml-io-autoft.c:
5043         s/xml_search_child/e_xml_get_child_by_name/
5044         s/xml_search_child_lang_list/e_xml_get_child_by_name_by_lang_list/
5046         * src/xml-io.[ch]:
5047         Removed function: xml_search_child.
5048         Functions moved to GAL:
5049         xml_search_child_lang_list_with_score,
5050         xml_search_child_lang_list,
5051         xml_search_child_no_lang.
5052         Use e_xml_get_child_by_name instead of xml_search_child everywhere.
5054 2001-01-27  Zbigniew Chyla  <cyba@gnome.pl>
5056         Making Gnumeric -Werror friendly (well, almost).
5058         * plugins/excel/ms-chart.c: Added "#if 0/#endif" around declarations
5059         of unused variables.
5061         * plugins/gda/plugin-gda.c (display_recordset): Removed unused
5062         variable, fixed some errors (that's why I use -Werror).
5064         * plugins/xml2/xml2.c (init_plugin): Used xml2_probe function.
5066         * src/search.c: Included "ranges.h".
5068         * src/style.c: Included "sheet.h"
5070 2001-01-27  Zbigniew Chyla  <cyba@gnome.pl>
5072         * src/dialogs/plugin-manager.glade: Set policy to AUTOMATIC for some
5073         scrollbars.
5075 2001-01-26  Zbigniew Chyla  <cyba@gnome.pl>
5077         * src/gnumeric-sheet.c (gnumeric_sheet_filenames_dropped): Added
5078         missing file_finish_load(). Displaying error dialog in non-bonobo
5079         version if file has unknown format.
5081 2001-01-26  Jon K Hellan  <hellan@acm.org>
5083         * src/sheet-control-gui.[ch] (scg_rangesel_cursor_extend,
5084           scg_take_focus): new functions to wrap direct calls to gsheet.
5086         * src/sheet-control-gui.c (sheet_view_destroy): Yield focus if we
5087         have it.
5089         * src/workbook-control-gui.c (wb_control_gui_focus_cur_sheet): Use
5090         scg_take_focus instead of gtk_window_set_focus.
5091         (yield_focus): Remove. sheet_view_destroy now takes care of this.
5092         (wbcg_sheet_add): Do not attach yield_focus.
5094         * src/item-grid.c (cb_extend_expr_range): Use
5095         scg_rangesel_cursor_extend instead of gnumeric_sheet version.
5097 2001-01-26  Michael Meeks  <michael@helixcode.com>
5099         * src/plugin.c (plugin_info_read): g_new0 the PluginInfo so the
5100         umpteen function pointers are NULL'd.
5102 2001-01-25  Almer S. Tigelaar  <almer1@dds.nl>
5104         * src/workbook-control-priv.h: Remove insert struct, there
5105         is only one function in it anyway so no need for a struct.
5107         * src/workbook-control.c: Adjust for removal of the insert struct.
5109         * src/workbook-control-gui.c
5110         (wbcg_paste_special_enable): Use change_menu_sensitivity.
5111         (workbook_control_gui_ctor_class): Adjust for removal of the
5112         insert struct.
5114 2001-01-25  Morten Welinder  <terra@diku.dk>
5116         * src/commands.c (cmd_search_replace_update_after_action): Delete
5117         unused variable.
5118         (enum SearchReplaceItemType): retire SRI_expr.
5120         * src/parser.y (parse_ref_or_string): Constify.
5121         (gnumeric_parse_error): Fix prototype.
5122         (STRING '(' arg_list ')'): plug leak and use proper error
5123         reporting method.
5125 2001-01-25  Zbigniew Chyla  <cyba@gnome.pl>
5127         * plugins/applix/boot.c plugins/dif/dif.c plugins/excel/boot.c
5128         plugins/gb/plugin.c plugins/gda/plugin-gda.c plugins/guile/plugin.c
5129         plugins/html/boot.c plugins/html/boot.h plugins/html/html.c
5130         plugins/html/html.h plugins/html/latex.c plugins/html/latex.h
5131         plugins/html/roff.c plugins/html/roff.h plugins/lotus-123/boot.c
5132         plugins/numtheory/numtheory.c plugins/oleo/boot.c
5133         plugins/plan-perfect/pln.c plugins/python/python.c plugins/sc/sc.c
5134         plugins/sylk/sylk.c plugins/xbase/boot.c plugins/xml2/xml2.c:
5135         Defined gnumeric_plugin_version variable containing Gnumeric version
5136         string for every plugin.
5137         Added user_data parameter to "probe", "open" and "save" functions.
5138         Changed PluginData to PluginInfo.
5139         Modified can_deactivate_plugin, cleanup_plugin and init_plugin
5140         functions to match new prototypes in plugin.h.
5141         Storing registered opener_id/saver_id in variables and using them
5142         while unregistering.
5144         * plugins/applix/Makefile.am plugins/dif/Makefile.am
5145         plugins/gda/Makefile.am plugins/html/Makefile.am
5146         plugins/lotus-123/Makefile.am plugins/numtheory/Makefile.am
5147         plugins/oleo/Makefile.am plugins/plan-perfect/Makefile.am
5148         plugins/sc/Makefile.am plugins/sylk/Makefile.am
5149         plugins/xbase/Makefile.am plugins/xml2/Makefile.am:
5150         Installing every plugin in separate directory, together with plugin
5151         descriptions (plugin.xml files).
5153         * plugins/applix/plugin.xml, plugins/dif/plugin.xml,
5154         plugins/gda/plugin.xml, plugins/html/plugin.xml,
5155         plugins/lotus-123/plugin.xml, plugins/numtheory/plugin.xml,
5156         plugins/oleo/plugin.xml, plugins/plan-perfect/plugin.xml,
5157         plugins/python/plugin.xml, plugins/sc/plugin.xml,
5158         plugins/sylk/plugin.xml, plugins/xbase/plugin.xml,
5159         plugins/xml2/plugin.xml:
5160         New files - plugin descriptions in XML files.
5162 2001-01-25  Zbigniew Chyla  <cyba@gnome.pl>
5164         * src/Makefile.am (GNUMERIC_BASE_SOURCES): Added error-info.[ch]
5166         * error-info.[ch]: New files.
5168         * src/plugin.[ch]: New plugin engine.
5170         * src/dialogs/dialog-plugin-manager.c,
5171         src/dialogs/plugin-manager.glade,
5172         src/dialogs/plugin-manager.glade.h:
5173         New plugin manager.
5175         * src/main.c (gnumeric_main): Call plugins_shutdown() on shutdown.
5177         * src/bonobo-io.c
5178         (gnumeric_bonobo_write_workbook, gnumeric_bonobo_read_workbook,
5179         gnumeric_bonobo_io_probe): Added "user_data" arg.
5180         (gnumeric_bonobo_io_init): Saving saver/opener id.
5182         * src/file-autoft.c (gnumeric_extra_autoformat_dirs): Used
5183         gnumeric_config_get_string_list function.
5185         * src/file.c
5186         (file_format_register_open, file_format_register_save): Added
5187         user_data parameter, return FileOpenerId/FileSaverId.
5188         (file_format_unregister_open, file_format_unregister_save): Take
5189         only FileOpenerId/FileSaverId as parameter.
5190         (get_file_saver_by_id, get_file_opener_by_id): New functions.
5191         (do_load_from): Pass user_data parameter to "probe" and "open"
5192         functions.
5193         (workbook_save_as, workbook_save): Pass user_data parameter to "save"
5194         function.
5196         * src/file.h
5197         (FileFormatProbe, FileFormatOpen, FileFormatSave): Adder user_data
5198         parameter.
5199         (struct _FileOpener, struct _FileSaver): Added opener_id/saver_id
5200         field.
5201         (file_format_register_open, file_format_register_save):
5202         Added user_data parameter, return FileOpenerId/FileSaverId.
5203         (file_format_unregister_open, file_format_unregister_save):
5204         Take only FileOpenerId/FileSaverId as parameter.
5206         * src/gnumeric-util.[ch]
5207         (gnumeric_error_info_dialog_show, static ctree_insert_error_info):
5208         New functions displaying dialog with ErrorInfo contents.
5210         * src/gui-file.c (gui_file_import): Pass user_data parameter to
5211         "open" function.
5213         * src/gutils.[ch]
5214         New functions: gnumeric_config_get_string_list,
5215         gnumeric_config_set_string_list, g_string_list_copy,
5216         g_strsplit_to_list.
5217         (g_create_list): Added missing va_end().
5219         * src/stf.c (stf_read_workbook, stf_write_workbook): Added user_data
5220         parameter.
5222         * src/workbook.[ch] (workbook_set_saveinfo): Now takes file_saver_id
5223         instead of save_fn.
5225         * src/xml-io.c
5226         (xml_probe, gnumeric_xml_read_workbook, gnumeric_xml_write_workbook):
5227         Added user_data parameter.
5228         (xml_init): Store xml_opener_id and xml_saver_id.
5229         (gnumeric_xml_get_opener_id, gnumeric_xml_get_saver_id): New
5230         functions.
5232 2001-01-25  Almer S. Tigelaar  <almer1@dds.nl>
5234         * src/clipboard.h : Add PASTE_UPDATE_ROW_HEIGHT as a new paste flag.
5236         * src/commands.c
5237         (cmd_paste_copy_undo): Add PASTE_UPDATE_ROW_HEIGHT to the paste flags.
5238         (cmd_paste_cut_redo): Update the row heights of the target region after
5239         pasting for consistency with the behaviour of copy.
5240         (cmd_paste_cut): Show source cut range in undo descriptor.
5242         * src/clipboard.c (clipboard_paste_region): Update row height after
5243         pasting if PASTE_UPDATE_ROW_HEIGHT flag is given.
5245 2001-01-25  Jody Goldberg <jgoldberg@home.com>
5247         * src/cmd-edit.c (cmd_paste_to_selection) : allow merged regions
5249         * src/clipboard.c (clipboard_paste_region) : Optionally paste merged
5250           regions too.
5252         * src/style-border.c (style_border_fetch) : add margins.
5254 2001-01-24  Morten Welinder  <terra@diku.dk>
5256         * src/commands.c (cmd_search_replace_update_after_action): New
5257         function.
5258         (cmd_search_replace_undo, cmd_search_replace_redo,
5259         cmd_search_replace_do): Call
5260         cmd_search_replace_update_after_action.
5261         (cmd_search_replace_do_cell): Change to work on entered text which
5262         is, we believe, what XL does.
5264 2001-01-24  Jody Goldberg <jgoldberg@home.com>
5266         * src/sheet-style.c (sheet_style_get_uniform) : disable stupid cruft
5267           until I actually write this function.
5269         * src/format-template.c (format_template_recalc_hash) : remove the
5270           cruft to apply shifted borders.
5272         * src/gnumeric.xml : Define font Underline/Italic as toggles.
5274 2001-01-24  Jody Goldberg <jgoldberg@home.com>
5276         * src/clipboard.c (clipboard_copy_range) : save the merged regions.
5277         (clipboard_release) : cleanup merged regions.
5279         * src/commands.c (cmd_merge_cells_redo) : move the non-corner content
5280           clearing from here.
5281         * src/sheet-merge.c (sheet_merge_add) : to here.  Apply the style from
5282           the corner to the entire region.
5284         * src/sheet.c (sheet_range_set_text) : clear range_filled merged
5285           regions.
5287         * src/item-grid.c (item_grid_draw) : borders & grids for merged cells.
5289 2001-01-23  Jody Goldberg <jgoldberg@home.com>
5291         * src/sheet-style.c (style_row) : move the clearing of grid lines
5292         * src/item-grid.c (item_grid_draw) : from here.
5294 2001-01-24  Almer S. Tigelaar  <almer1@dds.nl>
5296         * src/gnumeric-util.c (gnumeric_create_popup_menu):
5297         Let the sensitivity filter function exacly like the
5298         display filter.
5300         * src/sheet-control-gui.c (scg_context_menu):
5301         Disable insert rows/cols according to the selected
5302         rows/cols. We don't want people to insert anything if
5303         the whole sheet is selected or if there are multiple
5304         selections of whole rows and cols.
5306         * src/workbook-control-gui.c (wbcg_insert_cols_rows_enable):
5307         Fix typo, "Cols" should be "Columns".
5309 2001-01-24  Almer S. Tigelaar  <almer1@dds.nl>
5311         * src/clipboard.c (clipboard_paste_region):
5312         Update row heights after pasting a region.
5314 2001-01-23  Morten Welinder  <terra@diku.dk>
5316         * src/commands.c (cmd_search_replace_do): Implement
5317         search-and-replace in range.
5319         * src/search.c (calculate_replacement): New function.  Implements
5320         case preservation.
5322 2001-01-23  Jody Goldberg <jgoldberg@home.com>
5324         * src/sheet-control-gui.c (scg_colrow_select) : If we are not
5325           selecting a range for an expression then we should cancel editing.
5326         (scg_context_menu) : cancel editing.
5328 2001-01-22  Jody Goldberg <jgoldberg@home.com>
5330         * src/sheet.c : Use the new wrapper function in scg (for now) rather
5331           than a direct call to gsheet.
5333         * src/sheet-control-gui.c (scg_set_cursor_bounds) : new function to
5334           wrap direct calls to gsheet.  This is prep for supporting panes.
5335         (scg_compute_visible_region) : new function
5336         (scg_make_cell_visible) : new function
5337         (scg_create_editor) : new function
5338         (scg_stop_editing) : new function
5339         (scg_stop_cell_selection) : new function
5341         * src/pattern.c (gnumeric_background_set_gc) : no need for setting GC
5342           in non selection case.
5344         * src/gnumeric-sheet.c (gnumeric_sheet_create_editor) : renamed from
5345           gnumeric_sheet_create_editing_cursor.
5346         (gsheet_compute_visible_region) : rename from
5347           gnumeric_sheet_compute_visible_ranges
5349 2001-01-22  Morten Welinder  <terra@diku.dk>
5351         * src/search.c (match_is_word): I got this right-end condition
5352         wrong.  Oh dear.
5354         * src/cell.c (cell_has_comment): Resurrect.
5356         * src/commands.c (cmd_search_replace_do_cell): No need for the
5357         sheet argument.
5358         (command_push_undo): Remove duplicate call to update_after_action.
5359         First check parameters, then use them.
5360         (command_register_undo): New function, split from
5361         command_push_undo.
5362         (command_push_undo): Use command_register_undo.
5363         (truncate_undo_info): Change to take a Workbook directly.  Caller
5364         changed.
5365         (cmd_search_replace): Use command_register_undo and eliminate
5366         gross hack.
5368 2001-01-22  Morten Welinder  <terra@diku.dk>
5370         * src/search.c (search_replace_verify): When relevant, check that
5371         the range text is not empty.  Implement searching for whole words.
5373         * src/application.c (application_dpi_to_pixels): Fix prototype.
5374         (application_history_update_list): Constify.
5375         (application_display_dpi_get, application_display_dpi_set): Change
5376         to using doubles, not floats.
5378         * src/commands.c (cmd_search_replace_redo): hack: don't do
5379         anything the first time around.
5380         (cmd_search_replace_do_cell): Partially implement.
5381         (cb_search_replace_collect): New function.
5382         (cb_order_sheet_row_col): New function.
5383         (cmd_search_replace_do): Partially implement.
5385         * src/workbook-control-gui.c (cb_edit_search_replace): Activate
5386         undo/redo support.
5388 2001-01-22  Almer S. Tigelaar  <almer1@dds.nl>
5390         Fixes #32417
5392         * src/workbook-control-gui.c, src/workbook-control-gui-priv.h:
5393         (wbcg_insert_cols_rows_enable): New, handles enabling/disabling
5394         of insert cols/rows menu items.
5395         (change_menu_sensitivity): New, for settings the sensitivity
5396         of menu items.
5397         (workbook_control_gui_ctor_class): Add insert_cols_rows.enable
5398         here.
5400         * src/workbook-control.c, src/workbook-control.h: Add
5401         insert_cols_rows_enable as a virtual function.
5403         * src/workbook-control-priv.h: Add struct for insert_cols_rows
5404         here.
5406         * src/selection.c
5407         (sheet_selection_add_range): After adding a range, find out if
5408         any range specifies either a whole row or whole col selection
5409         and disable insert rows/cols accordingly.
5410         (sheet_selection_reset_only): Re-enable insert rows/cols here.
5412 2001-01-18  Morten Welinder  <terra@diku.dk>
5414         * src/search.c (search_replace_verify, search_replace_string): New
5415         functions.
5417         * src/commands (cmd_search_replace_do_cell): new function.
5419 2001-01-22  Almer S. Tigelaar  <almer1@dds.nl>
5421         * src/commands.c (update_after_action):
5422         Make the sheet that was subject to an undo/redo operation
5423         the active sheet after the operation has succeeded. Fixes #38208.
5425 2001-01-21  Almer S. Tigelaar  <almer1@dds.nl>
5427         * src/sheet-autofill.c (autofill_cell): Use sheet_cell_set_value
5428         instead of sheet_cell_set_text. Fixes bug #38175.
5430 2001-01-17  Morten Welinder  <terra@diku.dk>
5432         * src/commands.c (cmd_search_replace_undo,
5433         cmd_search_replace_redo, cmd_search_replace_do,
5434         cmd_search_replace, cmd_search_replace_destroy): New functions,
5435         partly from jpablo.
5437 2001-01-16  Morten Welinder  <terra@diku.dk>
5439         * src/item-grid.c (item_grid_draw): UMR fixes from jody.
5441 2001-01-16  Jody Goldberg <jgoldberg@home.com>
5443         * src/sheet-style.c (sheet_style_get_uniform) : don't leak border ref.
5445         * src/workbook.c (workbook_sheet_delete) : disable the undo/redo
5446           combos when we clear the undo stack.
5448 2001-01-14  Jody Goldberg <jgoldberg@home.com>
5450         * src/sheet-style.c (style_row) : don't apply none to a cleared
5451           border.
5453         * src/sheet-style.h (StyleRow) : const.
5455         * src/mstyle.c (mstyle_get_color) : const.
5457         * src/pattern.c (gnumeric_background_set_gc) : remove duplicate
5458           test, const.
5460 2001-01-13  Jody Goldberg <jgoldberg@home.com>
5462         * src/item-grid.c (item_grid_draw) : rewrite.
5464         * src/sheet-control-gui.c (sheet_view_redraw_cell_region) : make the
5465           borders wider.
5467         * src/commands.c (cmd_format) : if there are no borders there is no
5468           need to save the surroundings.
5470         * src/selection.c (selection_contains_colrow) : const
5472         * src/sheet-style.c (get_style_row) : Fix stupidity.
5473         (style_row) : ditto.
5475 2001-01-12  Jody Goldberg <jgoldberg@home.com>
5477         * src/cell-draw.c (cell_draw) : const.
5479         * src/pattern.c (gnumeric_background_set_gc) : const.
5480         (gnumeric_background_set_pc) : const.
5482         * src/sheet-control-gui.c (sheet_view_selection_ant) : No more 'grid'
5483           argument.
5485         * src/item-grid.c : privatize the structure in preparation for panes.
5487         * src/item-edit.c (entry_create_feedback_range) : no more grid
5488           argument.  Use scg instead.
5489         (item_edit_set_arg) : ditto.
5491         * src/item-cursor.c (item_cursor_set_arg) : delete the GRID argument
5492           it was useless.
5494         * src/gnumeric-sheet.c (start_cell_selection_at) : Avoid casting the
5495           result of a function call.  Remove setting 'Grid' deleted argument.
5496         (gnumeric_sheet_new) : No more Grid argument.
5498         * src/preview-grid.c (preview_grid_draw_border) : moved here from
5499           item-grid.
5501 2001-01-16  Jody Goldberg <jgoldberg@home.com>
5503         * configure.in : Switch to AM_GNOME_GETTEXT and remove the
5504           AC_LINK_FILES line so that things configure and compile again.
5506 2001-01-12  Morten Welinder  <terra@diku.dk>
5508         * src/history.c (file_history_cmd) [ENABLE_BONOBO]: Plug leak.
5510 2001-01-12  Jody Goldberg <jgoldberg@home.com>
5512         * src/sheet-style.c (cb_style_extent) : new function.
5513         (sheet_style_get_extent) : quick easy implementation.
5515 2001-01-11  Jody Goldberg <jgoldberg@home.com>
5517         * src/sheet-style.c (sheet_style_get_extent) : implement.
5518         (cb_style_extent) : implement.
5520 2001-01-11  Jody Goldberg <jgoldberg@home.com>
5522         * src/mstyle.c (mstyle_ref_multiple) : new function.
5523         (mstyle_copy_merge) : new function.
5524         (mstyle_new_default) : Do not cache the result.  That is done at the
5525           sheet level.
5526         (mstyle_do_merge) : delete.
5527         (mstyle_get_format) : constness.
5529         * src/format-template.c (cb_format_sheet_border) : delete.
5530         (format_template_apply_to_sheet_regions) : borders are no longer
5531         special.
5533         * src/expr.c (expr_tree_array_formula_corner) : do not store the
5534           corner anymore.
5535         (expr_tree_new_array) : ditto.
5536         (do_expr_tree_unref) : ditto.
5538         * src/cell.c (cell_relocate) : Arrays are simplified.  No need to keep
5539           a pointer to the corner.  It made the system too brittle.
5540         (cell_set_mstyle) : delete.
5542         * src/Makefile.am : remove test.[ch]
5544         * src/gnumeric-sheet.c (gnumeric_sheet_find_{col,row}) : There is no
5545           1 pixel border.
5547 2001-01-09  Jody Goldberg <jgoldberg@home.com>
5549         * src/mstyle.h : Change order of borders to match BorderLocation
5551 2001-01-08  Jody Goldberg <jgoldberg@home.com>
5553         * src/ranges.c (range_has_header) : avoid leaking styles.
5555         * src/cell.c (cell_get_mstyle) : Use sheet_style_get, and do not bump
5556           the ref count.
5557         (cell_render_value) : Adjust.
5558         (cell_get_format : Adjust.
5559         (cell_set_text) : Adjust.
5561         * src/functions/fn-information.c (gnumeric_cell) : sheet_style_get
5562           does not make a reference. Use it.
5563         * src/workbook-format-toolbar.c (modify_cell_format) :  Ditto.
5564         (change_selection_font) : Ditto.
5565         * src/sheet-autofill.c (fill_item_new) : ditto.
5566         * src/print-cell.c (print_cell_range) : ditto.
5567         * src/cellspan.c (cell_calc_span) : ditto.
5568         * src/sheet.c (sheet_cell_set_text) : ditto.
5569         * src/rendered-value.c (rendered_value_calc_size) : ditto.
5570         * src/workbook-view.c (wb_view_format_feedback) : ditto.
5572 2001-01-07  Jody Goldberg <jgoldberg@home.com>
5574         * src/dialogs/dialog-cell-format.c (dialog_cell_format) :
5575           init initial style to NULL.
5576         (fmt_dialog_selection_type) : call sheet_style_get_uniform here.
5578         * src/commands.c (cmd_format_redo) : Now that apply_border is not
5579           doing a redraw we need to if there is no style applied.
5581         * src/selection.c (sheet_selection_extend_to) : Add support akin to
5582           gnumeric_sheet_rangesel_cursor_extend to extend to full col/row.
5584         * src/sheet-control-gui.c (scg_colrow_select) : extend to full col/row
5585           if necessary.
5587         * src/item-bar.c (item_bar_event) : Set the selection, not extend it.
5589 2001-01-11  Morten Welinder  <terra@diku.dk>
5591         * src/search.h: New file.
5592         * src/search.c: New file.
5594         * src/workbook-control-gui.c (cb_edit_search_replace): New
5595         function.
5597         * src/gnumeric.xml: Fix edit->sheet->rename.
5598         * src/workbook-control-gui.c: Ditto.
5600 2001-01-10  Jon K Hellan  <hellan@acm.org>
5602         * src/workbook-control-gui.c (wbcg_undo_redo_labels): Add "_" in
5603         bonobo menu labels.
5605         * src/gnumeric.xml: Caught another missing "_" in menu labels.
5607 2001-01-10  Morten Welinder  <terra@diku.dk>
5609         * src/workbook-control-gui.c: Setup verbs EditDuplicateSheet and
5610         EditRenameSheet.
5611         (wbcg_sheet_remove): Don't unref page; we no longer own the
5612         reference.
5613         (workbook_menu_edit): mirror gnumeric.xml changes.
5615         * src/gnumeric.xml: Move "Delete Sheet" into a submenu and add
5616         duplicate, insert, and rename.
5617         Remove a few extraneous "..."
5618         Added and corrected the occasional "_" in menu labels.
5620 2001-01-09  Jon K Hellan  <hellan@acm.org> (on behalf of Jody)
5622         * src/sheet.c (sheet_update_only_grid): Only set selection if it
5623         hasn't been cleared.
5625 2001-01-09  Morten Welinder  <terra@diku.dk>
5627         * src/functions/fn-date.c: Fixup various docs based on a patch
5628         from Phillip J Shelton <shelton11@dingoblue.net.au>.
5630 2001-01-09  Jon K Hellan  <hellan@acm.org>
5632         * src/sheet-control-gui.c (horizontal_scroll_event,
5633         vertical_scroll_event): Fix bug: Pressing both left and right
5634         button would pop up a tooltip that couldnt be removed.
5636 2001-01-07  Jon K Hellan  <hellan@acm.org>
5638         * src/xml-io.c (POINT_SIZE_PRECISION): New define giving precision
5639         for point measures.
5640         (xml_set_value_double): Add precision parameter.  -1 means default
5641         (DBL_DIG).
5642         (xml_set_value_points): New function. Set a double value for a
5643         node with POINT_SIZE_PRECISION digits precision.
5644         (xml_set_print_unit): Save in a more natural way.
5645         (xml_get_print_unit): Do not expect the node to have a child.
5646         (xml_write_print_info): Save margins as children of a "Margins"
5647         node.
5648         (xml_read_print_margins): New function: Read margins.
5649         (xml_read_print_info): Find the PrintInformation node so that we
5650         actually read print info.
5651         (xml_write_style): Save font size using xml_set_value_points.
5652         (xml_write_colrow_info): Save font size using
5653         xml_set_value_points.
5654         (xml_sheet_write): Save Cols, Rows DefaultSizePts using
5655         xml_set_value_points.
5657 2001-01-07  Fatih Demir <kabalak@gmx.net>
5659         * configure.in: Added tr to ALL_LINGUAS.
5661 2001-01-06  Mike Kestner  <mkestner@ameritech.net>
5663         * configure.in - Depend on bonobo-0.32.
5665         * src/sheet-object-item.c (sheet_object_item_new_view): Add ui_cont
5666         param to the client_site_new_item call.
5668 2001-01-05  Jon K Hellan  <hellan@acm.org>
5670         * src/workbook-control-gui.c (workbook_close_if_user_permits): Use
5671         gui_file_save instead of workbook_save.
5673         * src/gui-file.c (gui_file_import): Do not set selection
5674         mode. That belongs in the Glade file.
5676         * src/workbook-control-gui.c (cb_realize): New callback
5677         function. Make current control size the default. Toplevel would
5678         resize spontaneously. This makes it stay the same size until user
5679         resizes.
5680         (workbook_control_gui_init): Connect cb_realize to realize signal.
5682 2001-01-06  Kenneth Christiansen  <kenneth@gnu.org>
5684         * configure.in, macros/autogen.sh:
5685           added support for xml-i18n-tools. This module is now required
5686           when building from cvs. Please make sure that the macrofile
5687           installed by xml-i18n-tools is installed so it's in aclocal's
5688           path. or do:
5690           export ACLOCAL_FLAGS='-I <prefix>/share/aclocal'
5692 2001-01-04  Jon K Hellan  <hellan@acm.org>
5694         * src/Makefile.am: Add files gui-file.c, gui-file.h
5696         * src/file.[ch]: Factor out GUI dependent parts of workbook I/O
5697         handling and move to gui-file.[ch].
5698         (file_format_get_savers, file_format_get_openers):
5699         New functions. Used by GUI to access file saver and file opener
5700         lists.
5701         (workbook_import): Move to gui-file.[ch].
5702         (file_finish_load): Made visible in order to split out the GUI.
5703         (workbook_save_as): The old version moved to gui-file.c and was
5704         renamed to gui_file_save_as. The new version contains the GUI
5705         independent part of the old do_save_as. It has explicit file name
5706         and file saver parameters to remaining GUI independent function.
5707         (workbook_save): No longer check if it should call
5708         workbook_save_as. This happens at the GUI layer. Change control
5709         parameter to WorkbookControl.
5711         * src/file.h (struct _FileOpener, struct _FileSaver): Had to make
5712         these visible in order to split out the GUI.
5714         * src/file.c: Remove file static variable current_saver.
5715         (file_format_unregister_save): Do not update current_saver.
5716         (workbook_try_read): Report the error if failure.
5717         (cb_select, handle_ok, saver_activate,
5718         file_saver_is_default_format, fill_save_menu, make_format_chooser,
5719         file_dialog_delete_event, fs_key_event, fs_set_filename,
5720         wants_to_overwrite, can_try_save_to, dialog_query_load_file): Move
5721         to gui-file.c
5723         * src/gui-file.c, src/gui-file.h: New files. Gui dependent parts
5724         of I/O handling moved here from file.[ch].
5725         (gui_file_import): New name for workbook_import. Use
5726         file_format_get_openers to access file opener list.
5727         (is_saver_registered): New function. Check that a given file saver
5728         is present in the file saver list.
5729         (handle_ok): Fix a bug when changing into directory user entered,
5730         and simplify code.
5731         (saver_activate, file_saver_is_default_format, fill_save_menu):
5732         Use file_format_get_savers to access file saver list.
5733         (file_saver_is_default_format, make_format_chooser): Add GUI
5734         control parameter.
5735         (fill_save_menu): Save GUI control as object data on menu items.
5736         (do_save_as): Don't call insure_saver. That check is redundant
5737         here. Set view's preferred size to size of control's notebook
5738         before saving, so that this size gets saved in workbook.
5739         (gui_file_save_as): New name for old workbook_save_as.
5740         Verify that control's current saver is still valid before displaying
5741         dialog.
5742         (dialog_query_load_file): Simplify code to select workbook's
5743         directory.
5744         (gui_file_save): New function. Set view's preferred size as in
5745         do_save_as, then call workbook_save.
5747         * src/workbook-control-gui.c (cb_autosave, cb_file_save): Call
5748         gui_file_save instead of workbook_save.
5749         (workbook_close_if_user_permits): Cast wbcg to WorkbookControl
5750         before calling workbook_save.
5751         (cb_file_import): Call gui_file_import instead of workbook_import.
5752         (cb_file_save_as): Call gui_file_save_as instead of
5753         workbook_save_as.
5755         * src/workbook-control-gui-priv.h (struct _WorkbookControlGUI):
5756         Add current_saver member. Include file.h.
5758 2001-01-04  Jody Goldberg <jgoldberg@home.com>
5760         * src/gnumeric-sheet.c (rangesel_{horizontal,vertical}_move) : remove
5761           crufty use of ItemCursor::base.  The cursors have both corners now.
5763 2001-01-04  Jody Goldberg <jgoldberg@home.com>
5765         * src/item-cursor.c (item_cursor_event) : animated cursors can no be
5766           dragged or resized.   NOTE : This introduces a small bug while
5767           fixing another.  The animated cursor is frequently drawn on top of
5768           the current selection cursor when it is first created.  As such the
5769           selection cursor does not receive all the events it should.
5770           Ideally the canvas would pass ignored events to the widget below, but
5771           that is not going to happen.  We can not just forward the events to
5772           the other cursor because it may have moved.  We would need to ensure
5773           that we only forward things in the areas that are overlapping.  Which
5774           is not easy.
5775         (item_cursor_set_spin_base) : delete.
5777         * src/item-grid.c (item_grid_button_1) : support shift-extending a
5778           range selection cursor.
5780         * src/workbook-view.c (wb_view_selection_desc) : Add some safety.
5782         * src/gnumeric-sheet.c (gnumeric_sheet_rangesel_cursor_extend) :
5783           Intelligently handle extension to full rows/cols and rename from
5784           gnumeric_sheet_selection_extend.
5785         (start_cell_selection_at) : no need to set the base a second time.
5786         (gnumeric_sheet_rangesel_cursor_bounds) : rename from
5787           gnumeric_sheet_selection_cursor_place and allow the specification of
5788           base and move coords.
5789         (gnumeric_sheet_selection_cursor_base) : delete.
5791         * src/item-bar.c (is_pointer_on_division) : no resizing while range
5792           selecting.
5793         (get_element_from_pixel) : delete dead code.
5795 2001-01-03  Jody Goldberg <jgoldberg@home.com>
5797         * src/item-bar.c (item_bar_event) : Call scg_colrow_select directly.
5798           and convert from using 'is_vertical' to 'is_cols' which is the
5799           convention everywhere else.
5800         (cb_extend_selection) : ditto.
5801         (colrow_tip_setlabel) : ditto.
5802         (item_bar_marshal) : delete.
5803         (get_row_name) : fortify a bit.
5805         * src/sheet-control-gui.c (scg_colrow_select) : merge together from
5806           sheet_view_{col,row}_selection_changed and rewrite.
5807         (sheet_view_construct) : remove handlers for the item-bar signal.
5809         * src/commands.c (cmd_autofill_redo) : check for array violations.
5810           Clear the target range.  This will allow entire arrays to be filled.
5811         (cmd_autofill) : Use the area that we will be filling rather.  Excude
5812           the area that will not change.
5814         * src/sheet.c (sheet_{col,row}_get_info) : simplify.
5816         * src/selection.c (walk_boundaries) : don't walk into hidden cols/rows.
5818 2001-01-02  Jody Goldberg <jgoldberg@home.com>
5820         * src/Makefile.am : add the new file.
5822         * src/sheet-style.h : new file split from sheet.h in preparation
5823           for changing the style engine.
5825 2001-01-01  Jody Goldberg <jgoldberg@home.com>
5827         * src/colrow.c (cb_set_colrow_size) : ignore resize requests for
5828           hidden cols/rows.
5830 2000-12-30  Jody Goldberg <jgoldberg@home.com>
5832         * src/commands.c : fix includes.
5833         * src/file-autoft.c : ditto.
5834         * src/format-template.c : ditto.
5835         * src/workbook-format-toolbar.c : ditto.
5836         * src/xml-io-autoft.c : ditto.
5837         * src/format-template.h : do not in include <config.h> publicly
5839         * src/mstyle.c (mstyle_new_default) : use style_color_{black,white}
5841 2000-12-30  Jody Goldberg <jgoldberg@home.com>
5843         * rename border.[ch] -> style-border.[ch]
5844         * rename color.[ch] -> style-color.[ch]
5846 2000-12-30  Jody Goldberg <jgoldberg@home.com>
5848         * src/border.c (style_border_draw) : Take a StyleBorderLocation rather
5849           than an MSTYLE_ELEMENT.  The fit is more natural.
5850         (style_border_print) : ditto.
5851         (style_border_get_orientation) : ditto.
5853 2000-12-30  Jon K Hellan  <hellan@acm.org>
5855         * src/workbook-control-gui.c (wbcg_size_pixels_set): Remove it.
5856         (workbook_setup_edit_area, workbook_setup_sheets)): Add GTK_SHRINK
5857         option to gtk_table_attach.
5858         (show_gui): New function. Size window, then show it.  If
5859         the workbook specifies a preferred size, the notebook is sized,
5860         and the window size constrained to not exceed the screen
5861         size. Otherwise, a size is computed based on screen size. Parts
5862         extracted from workbook_control_gui_init.
5863         (workbook_control_gui_init): Move sizing to show_gui. To be sure
5864         that everything is initialized, run show_gui as a GTK idle proc.
5866 2000-12-30  Jody Goldberg <jgoldberg@home.com>
5868         * src/cell-draw.c (cell_draw) : sync drawing with
5869         * src/print-cell.c (print_cell) : printing.
5871         * src/item-grid.c (item_grid_draw) : sync drawing with
5872         * src/print-cell.c (print_cell_range) : printing.
5873         (print_merged_range) : new function, sort of works.  We need to draw
5874           grids AFTER content to avoid this sort of sillyness.
5876 2000-12-29  Jody Goldberg <jgoldberg@home.com>
5878         * src/cell-draw.c (cell_draw) : support multiline text in merged
5879           cells.
5881         * src/sheet.c (cb_max_cell_height) : merged cells do not contribute to
5882           the row height.
5884 2000-12-29  Jody Goldberg <jgoldberg@home.com>
5886         * src/sheet-autofill.c (sheet_autofill_dir) : support merged cells.
5887         (fill_item_new) : Ditto.
5889         * src/sheet.c
5890         (sheet_merge_add) : rename
5891         (sheet_merge_remove) : rename
5892         (sheet_merge_get_overlap) : rename
5893         (sheet_merge_contains_pos) : rename
5894         (sheet_merge_is_corner) : rename
5895         (sheet_merged_relocate) : rename
5896         (sheet_merge_get_adjacent) : rename
5898         * src/rendered-value.c (rendered_value_new) : Use
5899           sheet_merge_is_corner rather than sheet_region_get_merged_cell.
5901 2000-12-29  Jody Goldberg <jgoldberg@home.com>
5903         * src/sheet-control-gui.c (scg_object_update_bbox) : Use the
5904           stored coordinates for movement.
5905         (scg_object_calc_position) : handle inversion and store the
5906         coordinates.
5907         (cb_control_point_event) : use the stored coordinates.
5909 2000-12-29  Jody Goldberg <jgoldberg@home.com>
5911         * src/sheet.c (sheet_redraw_cell_region) : support merged cells.
5913         * src/style.c (style_font_new_simple) : guestimate width.
5914         (style_font_get_width) : new function.
5916         * src/rendered-value.c (rendered_value_new) : appoximate with via pts.
5917           handle merged cells.
5919 2000-12-29  Jody Goldberg <jgoldberg@home.com>
5921         * src/sheet.c (sheet_region_unmerge) : untag an existing cell as being
5922           merged.
5923         (sheet_cell_remove_from_hash) : ditto.
5924         (sheet_region_merge) : tag an existing cell as being merged.
5925         (sheet_cell_add_to_hash) : ditto.
5927         * src/item-edit.c (recalc_spans) : support merged cells.
5929 2000-12-29  Jody Goldberg <jgoldberg@home.com>
5931         * src/xml-io.c (xml_read_cell) : Early versions had newlines at the
5932           end of their content
5934         * src/sheet.c (sheet_{insert,delete}_{cols,rows}) : no need to update
5935           object positions, we have already moved them.
5937 2000-12-29  Jody Goldberg <jgoldberg@home.com>
5939         * src/commands.c (GNUMERIC_MAKE_COMMAND_WITH_PARENT) : new macro.
5940         (update_after_action) : new function to localize calls to
5941           sheet_update, dirty, recalc.
5942         (GnumericCommand) : Add a sheet to help localize repeated calls to
5943           sheet_update, dirty, recalc.
5944         (command_undo) : Call update_after_action.
5945         (command_redo) : Call update_after_action.
5946         (command_push_undo) : Call update_after_action.
5947         (cmd_*_{undo,redo}) : remove calls to sheet_update, dirty, recalc.
5948         (cmd_*) : set the sheet.
5949         (cmd_paste_cut_update_origin) : new function.
5950         (cmd_paste_cut_undo) : call cmd_paste_cut_update_origin.
5951         (cmd_paste_cut_redo) : ditto.
5953         * src/commands.c (CmdMergeCells) : inherit from CmdUnmergeCells to
5954           facilitate reuse and implement.
5956 2000-12-27  Jody Goldberg <jgoldberg@home.com>
5958         * src/sheet.c (sheet_cell_insert) : privatize.
5959         (sheet_cell_remove_simple) : privatize.
5961 2000-12-27  Morten Welinder  <terra@diku.dk>
5963         * src/workbook-format-toolbar.c
5964         (workbook_format_toolbutton_update): Plug leak.
5966 2000-12-27  Jody Goldberg <jgoldberg@home.com>
5968         * src/workbook-format-toolbar.c (cb_unmerge_cells) : hook up the
5969           commands.
5970         (cb_merge_cells) : ditto.  Although merge is not yet implemented.
5972         * src/sheet.c (sheet_update_only_grid) : Add support for repositioning
5973           the selection.
5974         (sheet_region_unmerge) : set the flag here.
5975         (sheet_region_merge) : and here.
5977         * src/commands.c (cmd_unmerge_cells) : implement.
5978         (cmd_unmerge_cells_destroy) : ditto.
5979         (cmd_unmerge_cells_redo) : ditto.
5980         (cmd_unmerge_cells_undo) : ditto.
5982 2000-12-26  Jody Goldberg <jgoldberg@home.com>
5984         * src/item-cursor.c (cb_move_cursor) : fix old off by 1 error.
5986         * src/workbook-format-toolbar.c (workbook_format_toolbar)
5987           merge/unmerge are not toggle items.
5989         * src/gnumeric.xml : Add entries for merge/unmerge.
5991         * s/MStyleBorder/StyleBorder/
5993 2000-12-26  Morten Welinder  <terra@diku.dk>
5995         * src/analysis-tools.c (set_cell_text_col, set_cell_text_row): New
5996         functions.
5997         (summary_statistics): Use set_cell_text_col and/or
5998         set_cell_text_row.
5999         (ztest_tool): Ditto.
6000         (ttest_paired_tool): Ditto.
6001         (ttest_eq_var_tool): Ditto.
6002         (ttest_neq_var_tool): Ditto.
6003         (ftest_tool): Ditto.
6004         (regression_tool): Ditto.
6005         (anova_single_factor_tool): Ditto.
6006         (anova_two_factor_without_r_tool): Ditto.
6008 2000-12-25  Jody Goldberg <jgoldberg@home.com>
6010         * src/ranges.h : clean up includes.
6012 2000-12-25  Almer S. Tigelaar  <almer1@dds.nl>
6014         * src/clipboard.c : Remove superflous remnants of
6015         the previously integrated gui-clipboard.c
6017         * src/gui-clipboard.c (x_selection_handler) :
6018         Replace the hardcoded "2000" with the GNUMERIC_ATOM_INFO
6019         constant.
6021         * src/clipboard.c
6022         (paste_cell_with_operation) : Get rid of sheet_cell_insert.
6023         (paste_cell) : Idem.
6025 2000-12-22  Jody Goldberg <jgoldberg@home.com>
6027         * src/format.c (format_number) : partial support for formats of the
6028           form [$<currency>-{digit}+].  Eventually we may want to understand
6029           what the locale specifier changes.
6031 2000-12-22  Jody Goldberg <jgoldberg@home.com>
6033         * src/sheet-object-container.c (sheet_object_container_new) : new
6034           function.
6035         (sheet_object_container_new_bonobo) : delete.
6037 2000-12-22  Jody Goldberg <jgoldberg@home.com>
6039         * src/cell.c (cell_set_expr_and_value) : Make linking the
6040           expression optional.
6042         * src/ranges.c (range_init_full_sheet) : adjusted from
6043           sheet_get_full_range.
6045 2000-12-22  Zbigniew Chyla  <cyba@gnome.pl>
6047         * plugins/applix/boot.c gnumeric/plugins/applix/boot.c,
6048         plugins/lotus-123/boot.c gnumeric/plugins/lotus-123/boot.c,
6049         plugins/oleo/boot.c gnumeric/plugins/oleo/boot.c,
6050         plugins/xbase/boot.c gnumeric/plugins/xbase/boot.c:
6051         Used g_extension_pointer() function from gnome-libs, removed
6052         unnecessary function (filename_ext).
6054 2000-12-22  Zbigniew Chyla  <cyba@gnome.pl>
6056         * src/plugin.c (plugin_load): Displaying plugin name as part of
6057         error messages. Removed allocation check - g_new0 is guaranteed to
6058         return value != NULL unless sizeof (type) == 0.
6060 2000-12-22  Zbigniew Chyla  <cyba@gnome.pl>
6062         * src/dialogs/dialog-stf-preview.c: Fixed bug. Allocated array was
6063         too small.
6065 2000-12-21  Jody Goldberg <jgoldberg@home.com>
6067         * src/bonobo-io.c (gnumeric_bonobo_obj_read) : Don't create the object
6068           here.  Pass it in.
6070 2000-12-20  Jody Goldberg <jgoldberg@home.com>
6072         * src/sheet-object.c (sheet_object_position_pixels) : Add some safety.
6074         * src/selection.c (selection_is_simple) : Fix warning.
6076 2000-12-20  Morten Welinder  <terra@diku.dk>
6078         * src/mathfunc.c (gnumeric_add_epsilon): New function for more
6079         user-wanted rounding behaviour.
6080         (gnumeric_fake_floor, gnumeric_fake_ceil, gnumeric_fake_round):
6081         New functions.
6083         * src/fn-math (gnumeric_round, gnumeric_roundup,
6084         gnumeric_rounddown, gnumeric_trunc, gnumeric_ceil,
6085         gnumeric_floor): use fake rounding.
6087 2000-12-20  Jody Goldberg <jgoldberg@home.com>
6089         * src/workbook-control-gui.c (insert_bonobo_object) : utility routine
6090           to create objects and to catch errors.
6091         (cb_insert_bonobo_object) : used here.
6092         (select_component_id) : and here.
6094         * src/sheet-object-bonobo.c (sheet_object_bonobo_set_object_iid) :
6095           handle object creation failure.
6097         * src/sheet-object.c (sheet_object_destroy) : Handle the destruction
6098           of objects before they are attached to a sheet.
6100 2000-12-20  Zbigniew Chyla  <cyba@gnome.pl>
6102         * src/dialogs/dialog-autoformat.c (cb_get_cell_content): Reverted
6103         g_strtod => strtod change. I was wrong.
6105 2000-12-20  Zbigniew Chyla  <cyba@gnome.pl>
6107         * src/value.c (value_compare):  Use strcoll() when comparing string
6108         values (interpret strings as appropriate for the current locale).
6110 2000-12-20  Zbigniew Chyla  <cyba@gnome.pl>
6112         * templates/autoformat/*.xml: Added Polish translations.
6114 2000-12-20  Morten Welinder  <terra@diku.dk>
6116         * src/file-autoft.c: Include <config.h>.
6118 2000-12-20  Zbigniew Chyla  <cyba@gnome.pl>
6120         * src/Makefile.am: Removed "-DGNUMERIC_AUTOFORMATDIR" from INCLUDES.
6121         Now we use a function inside Gnumeric for this.
6123         * src/dialogs/dialog-autoformat.c:
6124         Marked strings for translation (sample data).
6125         (struct AutoFormatInfo): Now we have field current_category_group
6126         (of type FormatTemplateCategoryGroup *) instead of current_category
6127         and category_groups instead of categories.
6128         (cb_get_cell_content): Function g_strtod always uses "C" locale,
6129         used strtod instead.
6130         (templates_load): Mostly new implementation, uses
6131         category_group_get_templates_list().
6132         (cb_remove_current_activated): Now it is implemented.
6133         (cb_canvas_button_release): Showing real category name
6134         (template->category->name). Setting sensitivity of
6135         info->remove_current menu item.
6136         (cb_category_popwin_hide): Used
6137         category_group_list_find_category_by_name when setting
6138         info->current_category_group and category_list_get_names_list
6139         when calling gtk_combo_set_popdown_strings. Selecting "General"
6140         category by default if it exists. Displaying current category
6141         description in the category combo tooltip.
6143         * src/file-autoft.c, src/file-autoft.h: New functions:
6144         gnumeric_sys_autoformat_dir, gnumeric_usr_autoformat_dir,
6145         gnumeric_extra_autoformat_dirs,
6146         category_free, category_get_templates_list, category_list_free,
6147         category_group_free, category_group_get_templates_list,
6148         category_group_list_get, category_group_list_find_category_by_name,
6149         category_group_list_get_names_list, category_group_list_free.
6150         Removed functions: template_list_load, template_list_free,
6151         util_list_free, category_list_load, category_list_free.
6153         * src/format-template.c, src/format-template.h:
6154         New function: format_template_compare_name.
6155         New structs: FormatTemplateCategory and
6156         FormatTemplateCategoryGroup.
6157         (struct FormatTemplate): field category is now of type
6158         FormatTemplateCategory.
6160         * src/gutils.c, src/gutils.h: New functions: g_create_list,
6161         g_lang_score_in_lang_list, g_lang_score_is_better (implemented
6162         as a macro).
6164         * src/xml-io-autoft.c:
6165         (xml_write_format_template_members): Don't write category
6166         information.
6167         (xml_read_format_template_members): Used
6168         xml_search_child_lang_list instead of xml_search_child to find
6169         "Information" node. Ignore category information.
6170         (gnumeric_xml_read_format_template_category): New function.
6172         * src/xml-io-autoft.h: Added
6173         gnumeric_xml_read_format_template_category function declaration.
6175         * src/xml-io.c, src/xml-io.h: New functions:
6176         xml_search_child_lang_list, xml_search_child_no_lang,
6177         xml_search_child_lang_list_with_score (static function).
6179         * templates/autoformat/3D.category,
6180         templates/autoformat/Financial.category,
6181         templates/autoformat/Classical.category,
6182         templates/autoformat/General.category,
6183         templates/autoformat/Colourful.category,
6184         templates/autoformat/List.category:
6185         New files, XML descriptions of default categories.
6187         * templates/autoformat/Makefile.am:
6188         Templates grouped into categories, now every category is installed
6189         in separate directory. Installing *.category files as ".category" in
6190         appropriate directories.
6192 2000-12-20  Jon K Hellan  <hellan@acm.org>
6194         * src/file.c (dialog_query_load_file): Select directory of
6195         workbook file if there is one.
6197 2000-12-20  Jody Goldberg <jgoldberg@home.com>
6199         * src/selection.c (selection_is_simple) : Handle merged cells and
6200           arrays.
6202         * src/sheet.c (sheet_relocate_merged) : new function.
6204         * src/sheet-object.c (sheet_relocate_objects) : we only need to move
6205           objects in the origin zone.
6207 2000-12-19  Jody Goldberg <jgoldberg@home.com>
6209         * src/sheet.c (sheet_clone_merged_regions) : implement.
6210         (sheet_duplicate) : call sheet_clone_merged_regions.
6212         * src/xml-io.c (xml_sheet_read) : add IO for merged regions.
6213         (xml_sheet_write) : Ditto.
6214         (xml_read_merged_regions) : new function.
6215         (xml_write_merged_regions) : new function.
6217 2000-12-19  Morten Welinder  <terra@diku.dk>
6219         * configure.in: Introduce variables for the <yes> and <no> visible
6220         markers.  Prepare for fanciness.
6222         * src/complete-sheet.c (complete_sheet_class_init): Set finalize.
6223         (complete_sheet_finalize): New function.
6224         (complete_sheet_destroy): Move the freeing of ->current to
6225         _finalize.
6227         * src/complete.c (complete_destroy): Zero out text field after
6228         freeing it.
6229         (complete_start): Handle the special case of text not changing.
6231 2000-12-19  Miguel de Icaza  <miguel@helixcode.com>
6233         * src/complete.h (CompleteClass): new method: start_over.
6235         * src/complete.c (complete_start): invoke start_over.
6237         * src/complete.c, src/complete-sheet.c: Use E_MAKE_TYPE instead of
6238         GNUMERIC_MAKE_TYPE.
6240 2000-12-18  Jody Goldberg <jgoldberg@home.com>
6242         * src/selection.c (walk_boundaries) : Make smart walking of merged
6243           cells optional.  It only seems to affect walking fixed regions.
6244         (sheet_selection_walk_step) : Fix previous thinko.
6246 2000-12-18  Jody Goldberg <jgoldberg@home.com>
6248         * src/selection.c (sheet_selection_walk_step) : recognize singletons
6249           even when they are merged cells.
6251 2000-12-18  Jody Goldberg <jgoldberg@home.com>
6253         * src/selection.c (sheet_selection_walk_step) : support merged cells.
6254         (walk_boundaries) : Rewrite to support intelligent walking of merged
6255           regions.
6257         * src/sheet.c (sheet_set_edit_pos) : signature change.
6259 2000-12-18  Morten Welinder  <terra@diku.dk>
6261         * src/eval.c (sheet_region_get_deps): Take a Range pointer, not a
6262         Range structure as argument.  All callers changed.
6264 2000-12-18  Jon K Hellan  <hellan@acm.org>
6266         * src/print.c (print_page): Fix bug: We must use gnome-print
6267         coordinate system when clipping to page limit. Also take into
6268         account that Postscript/gnome-print clip paths exclude the pixels
6269         on the path.
6271 2000-12-18  Almer S. Tigelaar  <almer1@dds.nl>
6273         * configure.in : Fix typo in gb check.
6275 2000-12-17  Jody Goldberg <jgoldberg@home.com>
6277         * configure.in : Post release bump
6279 2000-12-17 Jody Goldberg <jgoldberg@home.com>
6281         * Release 0.61
6283 2000-12-17  Jody Goldberg <jgoldberg@home.com>
6285         * src/ranges.c (parse_range) : support singletons.
6287         * src/sheet-object.c (sheet_object_write_xml) : Store the anchor
6288           descriptor.
6289         (sheet_object_read_xml) : restore the descriptor.
6291 2000-12-17  Jody Goldberg <jgoldberg@home.com>
6293         * src/gnumeric-sheet.c (cursor_vertical_move) : fix cut-n-paste-o.
6294         (rangesel_vertical_move) : Ditto.
6296 2000-12-17  Jody Goldberg <jgoldberg@home.com>
6298         * src/sheet.c (sheet_find_boundary_horizontal) : support merged cells
6299           fully.
6300         (sheet_find_boundary_vertical) : Ditto.
6302         * src/gnumeric-sheet.c (gnumeric_sheet_set_cursor_bounds) : Remove
6303           unnecessary sanity checks.
6304         (cursor_horizontal_move) : pass the base row.
6305         (cursor_vertical_move) : Ditto.
6306         (rangesel_horizontal_move) : Ditto.
6307         (rangesel_vertical_move) : Ditto.
6308         (rangesel_horizontal_extend) : Ditto.
6309         (rangesel_vertical_extend) : Ditto.
6311         * src/selection.c (sheet_selection_extend) : Pass the base row/col.
6312         * src/item-cursor.c (item_cursor_selection_event) : Ditto.
6314 2000-12-17  Almer S. Tigelaar  <almer1@dds.nl>
6316         * src/dialogs/dialog-stf-preview.c (stf_preview_format_line) :
6317         Pass desired format to format_match to preserve certain formatting
6318         information which would previously have been lost.
6320         * src/stf.c (stf_read_workbook) : First apply the styles to
6321         the sheet and then fill the contents of the cells instead of
6322         vice versa.
6324 2000-12-17  Morten Welinder  <terra@diku.dk>
6326         * src/about.c (dialog_about): Made a little more consistent in
6327         style.
6329 2000-12-17  Jody Goldberg <jgoldberg@home.com>
6331         * src/sheet.c (sheet_new_sheet_view) : no need to normalize.
6332         (sheet_cursor_set) : no need to normalize.
6334         * src/item-cursor.c (item_cursor_set_bounds) : Add a notion of
6335           move_corner and base_corner.
6337         * src/gnumeric-sheet.c
6338         (cursor_horizontal_move) : renamed from move_cursor_horizontal.
6339         (cursor_horizontal_extend) : renamed from
6340         move_horizontal_selection.
6341         (cursor_vertical_move) : renamed from move_cursor_vertical.
6342         (cursor_vertical_extend) : renamed from move_vertical_selection.
6343         (gnumeric_sheet_selection_extend) : no need to normalize.  the
6344           item-cursor now does it for us.
6345         (rangesel_horizontal_move) : renamed from
6346         selection_cursor_move_horizontal.
6347         (rangesel_vertical_move) : renamed from
6348         selection_cursor_move_vertical.
6349         (rangesel_horizontal_extend) : renamed from
6350           selection_expand_horizontal.  Use the new item-cursor base/move
6351           corners.
6352         (rangesel_vertical_extend) : renamed from
6353           selection_expand_vertical.  Use the new item-cursor base/move
6354           corners.
6355         (gnumeric_sheet_key_mode_sheet) : simplify.
6357         * src/sheet.c (sheet_find_boundary_horizontal) : support merged cells.
6358         (sheet_find_boundary_vertical) : ditto.
6359         (sheet_set_edit_pos) : Add edit_pos vs edit_pos_real to improve merged
6360           cell support.
6361         (sheet_region_get_merged_cell) : new function.
6363         * src/gnumeric-sheet.c (move_cursor_horizontal) : Use edit_pos_real to
6364           improve handling for merged cells.
6365         (move_cursor_vertical) : Ditto.
6366         (start_cell_selection) : Ditto.
6368 2000-12-16  Jody Goldberg <jgoldberg@home.com>
6370         s/Sheet::cursor::edit_pos/Sheet::edit_pos/
6372         * src/gnumeric-sheet.c (gnumeric_sheet_new) : No need to pass in the
6373           col/row items.  They are available from the sheet control.
6375         * src/sheet-control-gui.c (sheet_view_construct) : signature change to
6376           gnumeric_sheet_new.
6378 2000-12-15  Jody Goldberg <jgoldberg@home.com>
6380         Tidy up the naming scheme a bit.
6381         s/row_col/colrow/
6382         s/col_row/colrow/
6383         s/SheetSelection/Range/
6385         * src/workbook-cmd-format.c (workbook_cmd_resize_selected_colrow) :
6386           Merged from workbook_cmd_format_column_width and.
6387           & workbook_cmd_format_row_height
6389         * src/item-bar.c (item_bar_end_resize) : Call scg_colrow_size_set
6390           directly.
6391         (item_bar_class_init) : remove the SIZE_CHANGED signal.
6393         * src/selection.c (sheet_selection_full_cols_rows) : merge
6394           sheet_selection_full_cols & sheet_selection_full_rows.
6396 2000-12-14  Jody Goldberg <jgoldberg@home.com>
6398         * src/item-grid.c (item_grid_draw) : Move the span handling here.
6399         * src/cell-draw.c (cell_draw) : from here.
6401         * src/print-cell.c (print_cell_range) : Move the span handling here.
6402         (print_cell) : rather than here.
6404         * src/sheet-control-gui.c (scg_get_distance) : merge
6405           sheet_{row,col}_distance_get_pixels and make the result sheet
6406           control specific.
6408 2000-12-14  Jody Goldberg <jgoldberg@home.com>
6410         * src/cell.c (cell_convert_expr_to_value) : rename from
6411         cell_make_value.
6413         * src/format.c (format_number) : adjust signature to take the
6414           colwidth in preparation for supporting
6415         (format_value) : pass in the width.
6417 2000-12-14  Jody Goldberg <jgoldberg@home.com>
6419         * src/formats.c (currency_date_format_init) : correctly place currency
6420           before or after the value, and optionally include a space.
6422         * src/format.c (format_get_currency) : include info on currency
6423           placement.
6425 2000-12-14  Jody Goldberg <jgoldberg@home.com>
6427         * src/workbook.c (workbook_sheet_rename) : Handle renames that only
6428           change case more smoothly.
6430 2000-12-14  Jody Goldberg <jgoldberg@home.com>
6432         * configure.in : Gussy up the reporting to improve readability
6434 2000-12-14  Jody Goldberg <jgoldberg@home.com>
6436         * src/sheet-object-bonobo.c (sheet_object_bonobo_construct) : create
6437           the client site here.
6438         (sheet_object_bonobo_set_object_iid) : rather than here.
6440 2000-12-14  Jody Goldberg <jgoldberg@home.com>
6442         * src/gnumeric-util.c (gnumeric_entry_at_subexpr_boundary_p) :
6443           Add ')' bug 35149
6445 2000-12-11  Morten Welinder  <terra@diku.dk>
6447         * src/functions/fn-math.c (gnumeric_round): Apply patch from
6448         hans@snow.nl, see bug 34844.
6450         * src/functions/fn-math.c (help_int): fix bogus docs for negative
6451         arguments.
6453         * configure.in: clean up quote stuff.
6455 2000-12-10  Morten Welinder  <terra@diku.dk>
6457         * configure.in: first cut at improved version checks for required
6458         packages.
6460 2000-12-10  Jody Goldberg <jgoldberg@home.com>
6462         * src/expr-name.c (expr_name_invalidate_refs_sheet) : comment out
6463           the warning.  The life cycles of names are too fluid to scare
6464           users yet.
6465         (expr_name_invalidate_refs_wb) : Ditto.
6467 2000-12-10  Jody Goldberg <jgoldberg@home.com>
6469         * src/cell.c (cell_set_text) : send the current format to the
6470           number matcher.
6471         * src/sheet.c (sheet_cell_set_text) : Ditto.
6473         * src/parse-util.c (parse_text_value_or_expr) : send the current
6474           format to the number matcher.
6476         * src/number-match.c (format_match) : take the current format as a
6477           parameter.  Begin using it to handle cells formated as text.
6479         * src/format.c (style_format_is_text)  utility routine.
6481 2000-12-09  Jody Goldberg <jgoldberg@home.com>
6483         * src/selection.c (sheet_selection_set_internal) : rename from
6484           sheet_selection_set and add the 'just_add_it' flag to indicate
6485           that we don't need to do anything fancy.
6487 2000-12-09  Chema Celorio  <chema@celorio.com>
6489         * src/xml-io.c (xml_write_names): Always write a <Names> node,
6490         even if it is empty.  (See comment in code for details)
6492         * src/sheet.c (sheet_new): make sheet->names NULL.
6493         (sheet_clone_names): free the list with g_list_free not g_free
6494         (sheet_clone_names): add a warning about not duplicating
6495         names yet.
6497         * src/expr-name.h (expr_name_wb2sheet): add prototypes for
6498         wb2sheet & sheet2wb
6500         * src/expr-name.c (expr_name_unlink): new funct. Code from
6501         expr_name_remove
6502         (expr_name_remove): call expr_name_unlink
6503         (expr_name_invalidate_refs_name): add a warning about this
6504         function not being implemented
6505         (expr_name_invalidate_refs_sheet): ditto
6506         (expr_name_invalidate_refs_wb): ditto
6507         (expr_name_sheet2wb): new funct. changed the scope of a
6508         NamedExpression from sheet to workbook.
6509         (expr_name_wb2sheet): not implemented yet. Workbook to sheet scope
6510         change
6512 2000-12-09  Jody Goldberg <jgoldberg@home.com>
6514         * src/sheet-control-gui.c (scg_comment_display) : Always clear the
6515           timer.
6517         * src/gnumeric-util.c (gnumeric_entry_at_subexpr_boundary_p)
6518         : Add '<' '>'.  Bug 34642
6520 2000-12-09  Jody Goldberg <jgoldberg@home.com>
6522         * src/sheet-object.c (sheet_object_construct) : delete.
6523         (sheet_object_set_bounds) : Delete.
6524         (sheet_object_set_sheet) : new function.
6525         (sheet_object_clear_sheet) : new function.
6526         (sheet_object_read_xml) : implement.
6527         (sheet_object_write_xml) : implement.
6528         (sheet_object_range_get) : support setting the range without a having
6529           a sheet.
6530         (sheet_relocate_objects) : Use set_sheet & clear_sheet.
6531         (sheet_object_register) : new function.
6533         * src/sheet-object-widget.c (sheet_widget_checkbox_set_sheet) : new
6534           function.  we need to move the dependent into the new sheet.
6535         (sheet_widget_checkbox_clear_sheet) :  ditto.
6537         * src/sheet-object-graphic.c :
6538           (sheet_object_graphic_{read,write)_xml) : new functions.
6539         (sheet_object_filled_{read,write)_xml) : new functions.
6541         * src/sheet-object-container.c (view_activated_cb) : no more
6542           sheet_object_construct.
6544         * src/sheet-object-cell-comment.c (cell_comment_{read,write)_xml) :
6545           new functions.
6547         * src/sheet-object-bonobo.c (sheet_object_bonobo_{read,write)_xml) :
6548           New functions.  These need work.  the 'read_fn' and 'write_fn' do
6549           not merge nicely yet.
6551         * src/main.c (gnumeric_main) : Register the sheet object types.
6552           We need this until the plugin scheme is ready.
6554         * src/item-grid.c (cb_obj_create_button_release) : Use set_sheet
6555           rather than realize.
6557         * src/bonobo-io.c (gnumeric_bonobo_obj_write) : constness.
6559 2000-12-08  Jody Goldberg <jgoldberg@home.com>
6561         From :Ade Lovett <ade@FreeBSD.org>
6562         * templates/english/Makefile.am : typo.
6563         * idl/Makefile.am : Ditto.
6565 2000-12-08  Jody Goldberg <jgoldberg@home.com>
6567         * src/sheet-object.c (sheet_object_write_xml) : protect from missing
6568           virtual.
6569         (sheet_object_read_xml) : Ditto.
6571 2000-12-07  Jody Goldberg <jgoldberg@home.com>
6573         * configure.in : Bump the version number
6575 2000-12-07  Jody Goldberg <jgoldberg@home.com>
6577         * Release 0.60
6579 2000-12-07  Jody Goldberg <jgoldberg@home.com>
6581         * src/item-grid.c : Disable canvas grab debug.
6582         * src/item-cursor.c : Ditto.
6583         * src/item-bar.c : Ditto.
6584         * src/sheet-control-gui.c : Ditto.
6586 2000-12-07  Jody Goldberg <jgoldberg@home.com>
6588         * src/sheet-control-gui.c (scg_context_menu) : Use more of the new
6589           artwork.
6591 2000-12-07  Jody Goldberg <jgoldberg@home.com>
6593         * src/expr.c (cellrange_relocate) : disable the relocating the partner
6594           for forced partial relocation.
6596 2000-12-07  Jody Goldberg <jgoldberg@home.com>
6598         * src/application.c (application_init) : Add some new icons
6600         * src/gnumeric.xml : Use the new icons
6601         * src/workbook-control-gui.c : Ditto
6602         * src/workbook-format-toolbar.c : Ditto.
6604 2000-12-07  Jody Goldberg <jgoldberg@home.com>
6606         * src/mstyle.c (mstyle_hash) : add indent.
6607         (mstyle_element_equal) : Ditto.
6608         (mstyle_new_default) : Ditto.
6609         (mstyle_[gs]et_orientation) : new functions.
6611 2000-12-06  Jody Goldberg <jgoldberg@home.com>
6613         * configure.in : Update GAL req.
6615 2000-12-06  Jon K Hellan  <hellan@acm.org>
6617         * src/file.c (set_ok): Rename to handle_ok. Make it check if
6618         current file selection is a directory. If so, change to the
6619         directory and continue selecting file.
6621 2000-12-05  Jody Goldberg <jgoldberg@home.com>
6623         * src/sheet.c (sheet_region_adjacent_merge) : new function.
6625         * src/cellspan.c (cell_calc_span) : Use it here to pre bound the
6626           potential span region.
6628 2000-12-05  Jody Goldberg <jgoldberg@home.com>
6630         * src/item-grid.c (item_grid_draw_merged_range) : Draw borders too.
6631           This can easily be optimized.
6633         * src/selection.c (sheet_selection_add_range) : Use
6634           sheet_selection_set.
6636 2000-12-05  Morten Welinder  <terra@diku.dk>
6638         * src/sheet-object.c (sheet_object_realize): Check that the sheet
6639         object belongs to a valid sheet.
6641 2000-12-05  Jody Goldberg <jgoldberg@home.com>
6643         * src/workbook-control-gui.c (wbcg_zoom_feedback) : Move the bounding
6644           box if the zoom changes.
6646 2000-12-04  Jody Goldberg <jgoldberg@home.com>
6648         * src/workbook-view.c (wb_view_sheet_focus) : Init the selection
6649           descriptor and format.
6650         (wb_view_selection_desc) : new function.
6651         (workbook_view_init) : Init the expression and format before setting
6652           the current sheet.  Setting the sheet will update the content.
6654         * src/workbook-control.c (wb_control_sheet_add) : Init the format,
6655           edit line, and selection descriptor.
6657         * src/selection.c (sheet_get_selection_name) : Delete.
6658         (sheet_selection_extend_to) : Use wb_view_selection_desc.
6660         * src/gnumeric-sheet.c (gnumeric_sheet_key_release) : Use
6661           wb_view_selection_desc.
6662         * src/item-grid.c (item_grid_event) : Ditto.
6664 2000-12-05  Michael Meeks  <michael@helixcode.com>
6666         * src/main.c (gnumeric_main): do the bonobo activate before we
6667         start doing CORBA calls and bonobo stuff!
6669         * src/embeddable-grid.c: Fixup for the generic factory.
6671 2000-12-04  Jody Goldberg <jgoldberg@home.com>
6673         * src/workbook-view.c (wb_view_edit_line_set) : renamed from
6674           workbook_edit_load_value and tweaked to operate on the view level.
6676         * src/workbook-edit.c (workbook_finish_editing) : Adjust to changes in
6677           edit-line update api.
6679         * src/sheet.c (sheet_update) : Use wb_view_edit_line_set.
6681         * src/workbook-view.c (wb_view_sheet_focus) : bug 34185.
6683 2000-12-04  Morten Welinder  <terra@diku.dk>
6685         * src/mstyle.c (mstyle_hash): Don't shift all the hash information
6686         away.  Rotate, don't shift.
6688         * src/mathfunc.c: white-space mania.
6690         * src/item-bar.c: Make debug-code statement-safe, just in case.
6691         * src/item-cursor.c: Ditto.
6692         * src/item-grid.c: Ditto.
6693         * src/sheet-control-gui.c: Ditto.
6695         * src/sheet-object-widget.c (sheet_widget_checkbox_user_config):
6696         Plug leak.
6698         * src/number-match.c (print_regex_error): Print error code
6699         numerically if our switch does not catch it.  Catch REG_EBOL and
6700         REG_EEOL.  Print errors to stderr.
6701         (format_match_define): Change result type to gboolean.  Plug leak.
6702         (format_create_regexp): Properly regexp-quote quoted
6703         format-strings.
6705 2000-12-04  Zbigniew Chyla  <cyba@gnome.pl>
6707         * src/sheet-object-widget.c (sheet_widget_checkbox_toggled): calling
6708         workbook_recalc() after setting cell value based on checkbox state.
6710 2000-12-04  Jody Goldberg <jgoldberg@home.com>
6712         * src/sheet-object.c (sheet_relocate_objects) : Remember to move the
6713           object to the new sheet, not just the views.
6714         (sheet_object_position) : Off by one.  Use < not <=
6716 2000-12-04  Jody Goldberg <jgoldberg@home.com>
6718         * src/sheet.c (sheet_{insert,delete}_{cols,rows}) : Call
6719           sheet_relocate_objects.
6720         (sheet_move_range) : Ditto.
6722         * src/sheet-object.c (sheet_object_unrealize) : restore this routine.
6723         (sheet_object_destroy) : Use it here.
6724         (sheet_object_position) : renamed from sheet_object_reposition.
6725         (sheet_relocate_objects) : new routine.  Only handles current anchor
6726           format.  Will need to extend this.
6728         * src/item-bar.c (item_bar_event) : Exit object edit mode when a
6729           button presses on the itembar.
6731 2000-12-02  Jody Goldberg <jgoldberg@home.com>
6733         * src/expr.c (cellrange_relocate) : Still not doing the 'right' thing
6734           in all cases.   However at least it will no longer create broken
6735           references.
6736         (cellref_relocate) : tweak a bit.
6738 2000-12-01  Michael Meeks  <michael@helixcode.com>
6740         * configure.in: check for gb >= 0.0.17
6742 2000-12-02  Jody Goldberg <jgoldberg@home.com>
6744         * src/expr.c (cellrange_relocate) : fix the logic that was broken when
6745           supporting the partial ranges.
6746         (cellref_relocate) : move some of the code here, to decrease
6747           replication.
6749 2000-12-02  Jody Goldberg <jgoldberg@home.com>
6751         * src/item-bar.c : Add some debug macros to catch the magic helix
6752           cursor grab.
6753         * src/item-cursor.c : Ditto.
6754         * src/item-grid.c : Ditto.
6755         * src/sheet-control-gui.c : Ditto.
6757 2000-12-01  Jody Goldberg <jgoldberg@home.com>
6759         * src/functions/fn-lookup.c (gnumeric_hlookup) : fix cut-n-paste-o.
6761 2000-12-01  Jody Goldberg <jgoldberg@home.com>
6763         * src/item-cursor.c (item_cursor_drag_event) : Ignore press events fro
6764           drag cursors.  And ignore release events for buttons other than the
6765           one that started the drag.
6766         s/prepared_to_drag/drag_button/
6767         (item_cursor_set_arg) : Add 'Button' arg
6768         (item_cursor_class_init) : Ditto.
6770 2000-12-01  Jody Goldberg <jgoldberg@home.com>
6772         * src/sheet-control-gui.c (scg_object_stop_editing) : fix warning.
6773           this is static now.
6775 2000-12-01  Jody Goldberg <jgoldberg@home.com>
6777         * src/sheet-object.c (sheet_object_position_pts) : new function.
6778         (sheet_object_position_pixels) : new function.
6780 2000-11-30  Jody Goldberg <jgoldberg@home.com>
6782         * src/xml-io.c : Begin moving the sheet object xml io into virtuals.
6784 2000-11-30  Jody Goldberg <jgoldberg@home.com>
6786         * src/sheet.c : Add SHEET_FOREACH_CONTROL to help abstract the
6787           implementation of controls and simplify changes later.
6788         (sheet_set_zoom_factor) : reposition objects not just comments.
6789         (sheet_get_objects) : New function.
6791 2000-11-30  Jody Goldberg <jgoldberg@home.com>
6793         * src/sheet-object.c : Move most (not yet all) of the GUI aspects into
6794           the sheet control.  Revamp the semantics of the sheet-object
6795           virtuals.
6796         new_view : now handles the sizing and realizing of objects.
6797         Add support for persistance here.
6798         Delete get/set bound.
6800         * src/sheet-object-container.c : convert to new object management
6801           design
6802         * src/sheet-object-graphic.c : Ditto.
6803         * src/sheet-object-item.c : Ditto.
6804         * src/sheet-object-widget.c : Ditto.
6806         * src/sheet-object-bonobo.c (sheet_object_bonobo_construct) :
6807           sheet_object_construct now takes a default size.
6809 2000-11-30  Jody Goldberg <jgoldberg@home.com>
6811         * src/sheet-control-gui.c : Move cell comment and sheet object
6812           placement routines here.  Rather than scattering them in non-gui
6813           modules.
6815 2000-11-30  Jody Goldberg <jgoldberg@home.com>
6817         * src/print.c (print_object_view_position) : Convert object position
6818           to points.
6820         * src/selection.c (sheet_selection_redraw) : simplify.
6822 2000-11-30  Jody Goldberg <jgoldberg@home.com>
6824         * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_object) : SheetObject
6825           editing is now specific to the SheetControl.
6826         (gnumeric_sheet_key_press) : Ditto.
6827         (gnumeric_sheet_key_release) : Ditto.
6829         * src/selection.c (sheet_is_cell_selected) : Ditto.
6830         (sheet_col_selection_type) : Ditto.
6831         (sheet_row_selection_type) : Ditto.
6833         * src/item-bar.c (item_bar_draw) : Ditto.
6835         * src/item-grid.c (item_grid_draw_background) : Ditto.
6836         (item_grid_button_1) : Ditto.
6837         (item_grid_event) : Ditto.
6838         (cb_obj_create_motion) : Move the object creation GUI here.
6839         (cb_obj_create_button_release) : and add partial support for
6840           autoscroll.
6841         (sheet_object_begin_creation) : Ditto.
6843 2000-11-30  Jody Goldberg <jgoldberg@home.com>
6845         * src/cell.c (cell_copy) : Comments are no longer associated directly
6846           with cells.
6847         * src/clipboard.c (paste_cell) : Ditto.
6848         (clipboard_release) : Ditto.
6850         * src/bonobo-io.c (gnumeric_bonobo_obj_read) : No need to set bounds
6851           or realize the object here.  That is handed at a higher level.
6853 2000-11-30  Jody Goldberg <jgoldberg@home.com>
6855         * src/number-match.c (compute_value) : Use strtol to simplify things.
6857         * src/func.c (tokenized_help_new) : translate the help text.
6859 2000-11-27  Jody Goldberg <jgoldberg@home.com>
6861         * src/formats.c (currency_date_format_init) : quote the currency
6862           names.
6864 2000-11-30  Almer S. Tigelaar  <almer1@dds.nl>
6866         * src/preview-grid-controller.c (preview_grid_controller_new) :
6867         Make the selection rectangle fatter and position it slightly better.
6869 2000-11-29  Morten Welinder  <terra@diku.dk>
6871         * src/xml-io.c (xml_sheet_write): Initialise closure's rle_count
6872         member.
6873         (natural_order_cmp): Fix major brown-bag in ordering.
6875 2000-11-27  Morten Welinder  <terra@diku.dk>
6877         * src/analysis-tools.c (anova_single_factor_tool): Apply the rest
6878         of Christensens' patch.
6880 2000-11-27  Jody Goldberg <jgoldberg@home.com>
6882         * src/workbook-view.c (workbook_view_init) : Init the format feedback.
6883           But don't bother displaying.  We don't have any controls yet.
6885         * configure.in (have_gda) : init to false.
6887 2000-11-27  Michael Meeks  <michael@helixcode.com>
6889         * src/embeddable-grid.c (EmbeddableGridFactory_init): upd.
6891         * Makefile.am (oaf_DATA): upd to GNOME_Gnumeric.oafinfo
6893         * GNOME_Gnumeric.oafinfo: upd.
6895 2000-11-24  Jon K Hellan  <hellan@acm.org>
6897         * src/file.c (do_save_as): Remember name with extension, so
6898         subsequent saves are done to the correct file.
6900         * src/workbook.c (workbook_set_saveinfo): Remove redundant setting
6901         of title.
6903 2000-11-24  Jody Goldberg <jgoldberg@home.com>
6905         * src/print-cell.c (print_cell) : bubble the sizing code further up.
6906           src/cell-draw.c (cell_draw) : ditto.  Move towards a better api that
6907           will pass in the bounding box rather than all the parameters needed
6908           to generate it in different circumstances.
6910 2000-11-23  Jody Goldberg <jgoldberg@home.com>
6912         * src/print-cell.c (print_cell) : until printing of the grid is synced
6913           with drawing a grid, disable the tests for width, height.
6915         * src/expr.c (cellrange_relocate) : Use simple heuristic to help
6916           diffentiate the 'expected' behavior of  moving expressions with
6917           range references that are partially contained.
6919 2000-11-22  Morten Welinder  <terra@diku.dk>
6921         * src/functions/fn-math.c (gnumeric_sumx2py2): Plug leaks.
6922         (gnumeric_sumxmy2): Plug leaks.
6923         (gnumeric_sumx2my2): Plug leaks.
6925 2000-11-22  Zbigniew Chyla  <cyba@gnome.pl>
6927         * src/dialogs/dialog-plugin-manager.c (refresh_right_frame):
6928         Replaced ctime() with strftime() to display translated form of
6929         plugin modification date.
6931         * src/item-bar.c (colrow_tip_setlabel): Translated (Polish)
6932         version of string doesn't fit within "buffer". Dropped static
6933         array and used dynamic memory allocation (g_strdup_printf).
6934         (vertical_scroll_change, horizontal_scroll_change): It fits with
6935         Polish translation but code is similar to the above.
6937 2000-11-22  Zbigniew Chyla  <cyba@gnome.pl>
6939         * src/dialogs/summary.glade: Centered "Document Summary
6940         Information" label.
6942 2000-11-21  Morten Welinder  <terra@diku.dk>
6944         * src/sheet.c (sheet_new_sheet_view): Remove spurious ref.
6946         * src/stf-parse.c (stf_parse_get_colwidth): Don't overrun buffer.
6948 2000-11-20  Morten Welinder  <terra@diku.dk>
6950         * src/gutils.c (gnumeric_usr_dir): Use g_get_home_dir, not just
6951         $HOME.  Don't return duplicate slashes.
6953         * src/commands.c (cmd_resize_row_col_redo): Proper undo sizing.
6954         (cmd_sort_redo): Ditto.
6955         (cmd_hide_selection_rows_cols): Ditto.
6956         (cmd_autofill_redo): Ditto.
6958         * gnumeric.spec.in (gal): Require 0.2.99.
6960         * configure.in (gal): Require 0.2.99 (and fix check).
6962         * src/workbook-control-gui.c (workbook_control_gui_ctor_class):
6963         Set undo_redo.truncate.
6964         (wbcg_undo_redo_truncate): New function.
6966         * src/commands.c (command_push_undo): truncate undo information.
6967         (truncate_undo_info): New function.
6968         (cmd_format): Properly size undo information.
6970 2000-11-20  Jody Goldberg <jgoldberg@home.com>
6972         * src/colrow.c (col_row_get_index_list) : Take away my crack pipe.
6974 2000-11-20  Jody Goldberg <jgoldberg@home.com>
6976         * configure.in : Use a more conventional approach to path separators.
6977         * src/gutils.c (gnumeric_usr_dir) : Adjust here.
6978         (gnumeric_sys_data_dir) : and here.
6979         (gnumeric_sys_lib_dir) : and here.
6981 2000-11-20  Jody Goldberg <jgoldberg@home.com>
6983         * src/sheet.c (sheet_clone_selection) : Fix.
6985         * src/item-grid.c (item_grid_draw_merged_range) : If the merged region
6986           is fully selected paint it as such.
6988         * src/selection.c (sheet_is_full_range_selected) : new function.
6989         (sheet_selection_set) : support merged cells.
6991 2000-11-20  Morten Welinder  <terra@diku.dk>
6993         * src/sheet.c (sheet_destroy_contents): Eliminate merged regions.
6994         (sheet_destroy): Free data structures for merged regions.
6995         (sheet_new): Activate temporary debugging code on
6996         GNUMERIC_DEBUG_MERGE in environment.
6998 2000-11-19  Jody Goldberg <jgoldberg@home.com>
7000         * src/sheet.c (sheet_region_is_merge_cell) :
7001         (sheet_region_get_merged) :
7002         (sheet_region_unmerge) :
7003         (sheet_region_merge) : implement.
7005 2000-11-19  Jody Goldberg <jgoldberg@home.com>
7007         * src/item-grid.c (item_grid_draw_merged_range) : new function.
7008           This may be clearer if we draw the grid lines after the background.
7009           It does not support borders or selection yet.
7010         (item_grid_draw) : Use it.
7012 2000-11-19  Jody Goldberg <jgoldberg@home.com>
7014         * src/cellspan.c (cell_is_empty) : new utility function.
7015           span calculation is now rather inefficent.  We could be smarter if
7016           we had a better representation of spans.  For now adding support for
7017           merged cells here would be enough.
7018         (cell_calc_span) : Use it.
7020         * src/cell-draw.c (cell_draw) : decrease dependence on
7021           Cell::{col,row})_info::size_pixels.  This is not accurate for merged
7022           cells.  More work is needed.  I have not converted the multiline
7023           formating yet.  The signature of this function sucks.
7024           We should pass in either span or width height, not both.
7026         * src/print-cell.c (print_cell) : Stay consistent with cell_draw.
7027           NOTE : I have not ported over the merged cell support.  It seems
7028           pointless until it is working completely for drawing.
7030 2000-11-19  Jody Goldberg <jgoldberg@home.com>
7032         * s/sheet_view/scg/
7034         * src/formats.c (currency_symbols) : Add the slovenian tolar.
7036 2000-11-16  Jody Goldberg <jgoldberg@home.com>
7038         * src/sheet-control-gui.c (scg_context_menu) : renamed from
7039           item_grid_popoup_menu and moved here where it makes more sense.
7041         * src/sheet.c (sheet_merge_region) : implement.
7042         (sheet_unnmerge_region) : Ditto.
7043         (sheet_get_merged_regions) : Ditto.
7045 2000-11-18  Jody Goldberg <jgoldberg@home.com>
7047         * configure.in : Bump to 0.60 post release
7048         * NEWS : ditto
7050 2000-11-18  Jody Goldberg <jgoldberg@home.com>
7052         * Release 0.59
7054 2000-11-18  Jody Goldberg <jgoldberg@home.com>
7056         * src/command-context-corba.c (command_context_corba_new) : warning
7057           suppression.
7059         * src/workbook-control-gui.c (workbook_control_gui_ctor_class) : Init
7060           progress_set in CommandContextClass, and add support for
7061           splits_array at this level.
7063         * src/command-context.c (gnumeric_error_splits_array) : The decision
7064           to use invalid should be done in the implementation.
7066         * src/workbook-control.c (wb_control_progress_set) : delete replicated
7067           function.
7069 2000-11-17  Chema Celoria  <chema@celorio.com>
7071         * src/print.c (sheet_print): change to a g_return_val_if_fail
7072         by gmorten's request
7074 2000-11-17  Chema Celorio  <chema@celorio.com>
7076         * src/print.c (sheet_print): if gnome-print dialog is NULL,
7077         return. This avoids a crash if there aren't any printers installed.
7079 2000-11-17  Almer S. Tigelaar  <almer1@dds.nl>
7081         * src/preview-grid-controller.c, src/preview-grid-controller.h
7082         (preview_grid_controller_new) : Extra selected parameters,
7083         if set a red rectangle will be drawn over the preview to indicate
7084         the selected state.
7086         * src/dialogs/dialog-autoformat.c (previews_load): Adjust so
7087         the selected preview will be drawn in selected state.
7089 2000-11-16  Jody Goldberg <jgoldberg@home.com>
7091         * src/format.c (format_month_before_day) : Add config test.
7092         * configure.in : Implement test here.
7093         * config.h.in : and here.
7095 2000-11-15  Jody Goldberg <jgoldberg@home.com>
7097         * src/sheet.c (sheet_update_only_grid) : split from sheet_update.
7098         (sheet_update) : call sheet_update_only_grid.
7100 2000-11-16  Michael Meeks  <michael@helixcode.com>
7102         * src/xml-io.h: add xmlmemory.h
7104         * src/gui-clipboard.c (x_selection_handler): xmlFree
7105         not g_free.
7107 2000-11-16  Morten Welinder  <terra@diku.dk>
7109         * plugins/Makefile.am (GDA_DIR): Blank.
7111 2000-11-16  Zbigniew Chyla  <cyba@gnome.pl>
7113         * src/sheet-autofill.c: Added support for boolean values (just copy
7114         them).
7116 2000-11-16  Rodrigo Moya <rodrigo@linuxave.net>
7118         * configure.in: added support for conditional compilation of
7119         the GDA (GNOME-DB) plugin
7120         * plugins/gda/*: updated to current GDA code. Does not compile
7121         yet though
7123 2000-11-16  Zbigniew Chyla  <cyba@gnome.pl>
7125         * src/selection.c, src/dialogs/dialog-cell-sort.c: Marked strings
7126         for translation.
7128 2000-11-15  Jody Goldberg <jgoldberg@home.com>
7130         * src/workbook-control.c (workbook_control_set_view) : Follow
7131           convention that the manager is set when attached, and not before.
7132         * src/workbook-view.c (wb_view_attach_control) : Ditto.  Set the
7133           tile on the new control.
7134         * src/workbook.c (workbook_attach_view) : Ditto.
7136 2000-11-15  Jody Goldberg <jgoldberg@home.com>
7138         * src/command-context-corba.[ch] : This is incorrectly named and used
7139           the wrong way :-( But at least it is compilable.  I'll fix this
7140           later.
7142 2000-11-15  Jody Goldberg <jgoldberg@home.com>
7144         * src/colrow.c (col_row_foreach) : Use ColRowSegments
7145         (col_row_restore_sizes) : Ditto.
7146         * src/sheet.c (sheet_{col,row}_add) : Ditto.
7147         (sheet_{col,row}_get_info) : Ditto.
7148         (sheet_{col,row}_get) : Ditto.
7149         (sheet_cell_foreach_range) : Ditto.
7150         (sheet_{col,row}_destroy) : Ditto.
7151         (sheet_regen_adjacent_spans) : Ditto.
7152         (colrow_move) : Ditto.
7153         (sheet_{col,row}_get_distance_pixels) : Ditto.
7154         (sheet_{col,row}_get_distance_pts) : Ditto.
7155         (sheet_{col,row}_set_size_pts) : Ditto.
7157 2000-11-15  Jody Goldberg <jgoldberg@home.com>
7159         s/sheet-view/sheet-control-gui/
7161         * src/Makefile.am : Add command-context-corba.[ch] temporarily
7163         * configure.in : Default to non-bonobo build
7165 2000-11-15  Michael Meeks  <michael@helixcode.com>
7167         * gnumeric.oafinfo: rename to ObjectFactory
7169 2000-11-54  John Gotts  <jgotts@linuxsavvy.com>
7171         * gnumeric.spec.in: Create a devel RPM.  Added some missing files.
7172         Made the build work from either a tar file or CVS.
7174 2000-11-14  Almer S. Tigelaar  <almer1@dds.nl>
7176         * src/io-context.h, src/io-context.c
7177         (gnumeric_io_progress_set): New function, calls
7178         upon gnumeric_progress_set to do the job.
7180 2000-11-14  Jody Goldberg <jgoldberg@home.com>
7182         * src/workbook-control-gui.c : Fix warning.
7184 2000-11-13  Jody Goldberg <jgoldberg@home.com>
7186         * configure.in : Bump to 0.59 post release.
7188 2000-11-13  Jody Goldberg <jgoldberg@home.com>
7190         * Release 0.58
7192 2000-11-13  JP Rosevear  <jpr@helixcode.com>
7194         * src/functions/fn-lookup.c (find_bound_walk): Only reverse
7195         direction if we haven't already switched direction once.
7196         Fixes bug #2872
7198 2000-11-13  Jody Goldberg <jgoldberg@home.com>
7200         * src/workbook-format-toolbar.c (workbook_feedback_set) : Doh!
7202 2000-11-13  Jody Goldberg <jgoldberg@home.com>
7204         * src/dialogs/dialog-graph-guru.c
7205           (graph_guru_create_vectors_from_range) : small improvement to
7206           vector selection heuristics.
7208 2000-11-12  Jody Goldberg <jgoldberg@home.com>
7210         * src/sheet-object.c (sheet_object_new_view) : Make public.
7212         * src/workbook-control-gui.c (wbcg_sheet_add) : Create views of all
7213           sheet objects.
7215 2000-11-12  Almer S. Tigelaar  <almer1@dds.nl>
7217         * src/stf-export.c (stf_export_sheet): Use sheet_get_extent
7218         instead of sheet->rows and sheet->cols.
7220 2000-11-12  Jody Goldberg <jgoldberg@home.com>
7222         * src/workbook.c (workbook_sheet_attach) : Use wb_view_sheet_add.
7224         * src/workbook-view.c (wb_view_sheet_add) : new function.
7225         (wb_view_format_feedback) : Ditto.
7226         (wb_view_auto_expr) : Store the display result.
7227         (wb_view_auto_expr_value_display) : renamed
7228           from wb_view_auto_expr_value_set.
7229         (wb_view_destroy) : clear out the new members.
7231         * src/workbook-format-toolbar.c (workbook_feedback_set) : Calculate
7232           the style here.  This is transitory.  It will eventually move into
7233           the sheet view when that is split.
7235         * src/workbook-control.c (wb_control_sheet_add) : Do this manually
7236           so that if the new sheet is the focus sheet for the view we can
7237           update the various feedback mechanisms.
7238         (workbook_control_sheets_init) : rather than here.
7240         * src/sheet.c (sheet_update) : prepare for having the wb_view handle
7241           the selection.
7243         * src/Makefile.am : Add missing workbook-control.h
7245         * src/workbook-view.c (wb_view_auto_expr) : When the expression
7246           changes, recalculate.
7248         * src/workbook-control-gui.c (wbcg_auto_expr_value) : Mark as updating
7249           the ui.
7250         (cb_auto_expr_changed) : test the updating flag here, don't set it.
7252 2000-11-11  Michael Meeks  <michael@helixcode.com>
7254         * src/bonobo-io.c (gnumeric_bonobo_obj_write),
7255         (write_stream_to_storage): update unref fns.
7256         (read_stream_from_storage): upd.
7257         (gnumeric_bonobo_obj_read): set the bounds correctly.
7259         * src/xml-io.c (xml_write_sheet_object): NULL the sheet object
7260         we free.
7262 2000-11-11  Michael Meeks  <michael@helixcode.com>
7264         * src/clipboard.c (apply_paste_oper_to_values): kill warning.
7266         * src/xml-io-autoft.c: remove stale enum.
7268         * src/xml-io.c (xml_check_version): publicized.
7269         (xml_parse_ctx_new_full): add version parameter.
7270         (xml_parse_ctx_new): update.
7272         * src/bonobo-io.c (gnumeric_bonobo_read_workbook): use
7273         xml_check_version.
7275         * src/bonobo-io.c (gnumeric_bonobo_write_workbook): open the
7276         stream with the correct permissions.
7277         (gnumeric_bonobo_io_probe): update to like directories too.
7278         (gnumeric_bonobo_io_init): register for '.efs'
7279         (gnumeric_bonobo_read_workbook): beef up exception reporting.
7281 2000-11-11  Michael Meeks  <michael@helixcode.com>
7283         * src/gnumeric.xml: fiddle, lots of strange mangling, needs HEAD
7284         bonobo to look at all good.
7286         * src/xml-io.c (xml_write_sheet_object): free the node nicely in
7287         the failure case.
7289 2000-11-11  Michael Meeks  <michael@helixcode.com>
7291         * configure.in (LIBS): add gnome-config --cflags idl to the default
7292         IDL_FLAGS.
7294 2000-11-11  Jody Goldberg <jgoldberg@home.com>
7296         * src/workbook-control-gui.c : Fix typos in the accelerator selections
7297           for the name menu.
7299         * src/gnumeric.xml : Add entries for new shared/unshared views.
7301         * src/style.c (font_init) : Use the correct scale.
7303         * src/value.c (value_get_default_halign) : Renamed and moved from here
7304         * src/cell.c (cell_default_halign) : to here.  Added support for
7305           displaying formulas.
7307         * src/print-cell.c (print_cell) : only draw hash marks for numbers
7308           not when displaying formulas.
7309         * src/cell-draw.c (cell_draw) : Ditto.
7310         * src/cellspan.c (cell_calc_span) : Ditto.
7311         * src/rendered-value.c (rendered_value_calc_size_ext) : Ditto.
7313 2000-11-11  Jody Goldberg <jgoldberg@home.com>
7315         Patch from Tyler & James Christensen
7316         * src/analysis-tools.c (anova_single_factor_tool) : Correct handling
7317           of variables stored in rows rather than columns.
7319 2000-11-11  Zbigniew Chyla  <cyba@gnome.pl>
7321         * src/dependent.c (dependent_list_filter): Correct "for" loop
7322         condition.
7324 2000-11-10  Jody Goldberg <jgoldberg@home.com>
7326         * src/sheet-object.c (sheet_object_new_view) : Store the SheetObject
7327           and SheetView as object_data.
7328         (cb_sheet_object_configure) : Pass the SheetView to configuration
7329           routines.
7330         (sheet_object_populate_menu) : Pass the CanvasItem it has the useful
7331           property of having the associated view and sheet object as user data.
7332           This makes it handy for use in callbacks.
7333         (display_object_menu) : signature change.
7334         (control_point_handle_event) : changes to display_menu_object.
7335         (sheet_object_canvas_event) : Ditto.
7337         * src/sheet-object-widget.c (sheet_widget_checkbox_user_config) :
7338           signature change.  This should get things working again.
7340         * src/sheet-object-bonobo.c (sheet_object_bonobo_populate_menu) :
7341           signature change.
7343 2000-11-10  Jody Goldberg <jgoldberg@home.com>
7344       Patch from Juan Pablo Mendoza <pablo_juan@yahoo.com>
7346       * sheet-view.c (sheet_view_comment_create_marke): Memory leak.
7348 2000-11-10  Jody Goldberg <jgoldberg@home.com>
7350         * src/workbook-format-toolbar.c (workbook_format_toolbutton_update) :
7351           Minor optimization to decrease flicker.
7353         * src/sheet.c (sheet_cell_calc_span) : Clarify the semantics of
7354           the various flags.
7355         (cb_max_cell_width) : If the value used a dynamic format we need to
7356           rerender ignoring the current width.
7358         * src/rendered-value.c (rendered_value_new) : renamed from
7359           rendered_value_new_ext and delete the old rendered_value_new.
7360           Extend slightly to flag whether or not to handle dynamic formats.
7362         * src/render-ascii.c (cell_region_render_ascii) : Handle the style
7363           lookup localy.
7365         * src/cell.c (cell_eval_content) : We need to manually render
7366           the value here, but no longer need to calculate the size
7367           separately.  That is done automatically in the render.
7368         (cell_render_value) : Handle style localy, and calculate the size.
7370 2000-11-09  Jody Goldberg <jgoldberg@home.com>
7372         * src/workbook-control-gui.c (workbook_control_gui_init) : move the
7373           autosave code here.
7374         * src/workbook.c : from here.
7376 2000-11-09  Morten Welinder  <terra@diku.dk>
7378         * src/border.c (style_border_unref): Take border out of hash table
7379         before we destroy the hashed fields.
7381 2000-11-09  Jody Goldberg <jgoldberg@home.com>
7383         * src/workbook-view.c (workbook_view_init) : Add prototype.
7385         * src/workbook-control-gui.c (cb_sheet_change_name) : Make static to
7386           kill warning.
7387         * src/workbook-edit.c (workbook_edit_set_sensitive) : Ditto.
7389 2000-11-09  Morten Welinder  <terra@diku.dk>
7391         * src/gnumeric-sheet.h (GNUMERIC_SHEET_FACTOR_X,
7392         GNUMERIC_SHEET_FACTOR_Y): 1000000 and 2000000.  Still ugly, but
7393         now central.
7395         * src/sheet-view.c (sheet_view_set_zoom_factor): Don't hard-code
7396         scroll region sizes multiple places.
7398         * src/gnumeric-sheet.c (gnumeric_sheet_new): Ditto.
7400         * src/sheet-control.c (sheet_control_set_zoom_factor): Ditto.
7402         * src/sheet.h (SHEET_MAX_ROWS, SHEET_MAX_COLS): Remove duplicate
7403         macros.
7405 2000-11-09  Jody Goldberg <jgoldberg@home.com>
7407         * src/stf.c (stf_read_workbook) : We are passing an IOContext.
7409 2000-11-09  Jody Goldberg <jgoldberg@home.com>
7411         * src/item-cursor.c (item_cursor_selection_event) : Make
7412           the double click handler smarter.  It now handles empties
7413           and checks both sides of a row/col.  Left/top is perfered to
7414           bottom/right.
7416 2000-11-08  Jody Goldberg <jgoldberg@home.com>
7418         * src/item-cursor.c (item_cursor_init) : Initialize fully, add
7419           prepared_to_drag_flag.
7420         (item_cursor_selection_event) : Move most of the state change
7421           associated with BUTTON_PRESS into MOTION_NOTIFY.  And use the
7422           prepared_to_drag_flag flag to indicate a requirement to initiate a
7423           drag. Move most of the double click handling here.  The resone for
7424           these changes was that there was a race condition in the old
7425           version.  We were creating a new item cursor when we did a button
7426           press.  It started in exactly the same position as the current
7427           cursor.  2BUTTON_PRESS were sometimes being sent to the new cusor
7428           and sometimes showing up as PRESS events on the old with no RELEASE.
7429           This patch attempts to delay creating the new drag cursor until we
7430           are sure this is not a double click so that the proper event
7431           sequence is sent to the main cursor.
7433         * src/border.c (style_border_unref) : Unref the colour.
7434         (style_border_fetch) : unref the colour when needed.
7436 2000-11-08  Jody Goldberg <jgoldberg@home.com>
7438         * src/sheet.c (sheet_is_region_empty) : New function.
7440 2000-11-08  Morten Welinder  <terra@diku.dk>
7442         * src/complex.c (complex_from_string): Handle overflow.
7444         * src/number-match.c (format_match_simple): Don't depend on
7445         incoming errno not to be ERANGE.
7447         * src/sheet-autofill.c (string_has_number): Ditto.
7449         * src/parser.y (yylex): Ditto.
7451         * src/value.c (value_new_from_string): Ditto.  Also take care of
7452         empty string.
7454 2000-11-08  Jody Goldberg <jgoldberg@home.com>
7456         * src/clipboard.c (apply_paste_oper_to_values) : Rewrite to use
7457           eval_expr.
7458         (paste_cell_with_operation) : rework to handle pasting as_value
7459           correctly.
7460         (paste_link) : This is broken.  FIXME.
7461         (paste_cell) : Move the check for pasting content or as_value to the
7462           top.
7464         * src/cell.c (cell_make_value) : Unlink expressions if necessary.
7466         * src/sheet.c (sheet_cell_set_expr) : flag that content changed.
7468         * src/dependent.c (dependent_queue_recalc_list) : Add some safety.
7470         * src/item-cursor.c (item_cursor_event) : clicking on an anted cursor
7471           is almost the same as clicking on a selection cursor.
7473         * src/expr-name.c (expr_name_add) : It is legal to add names that are
7474           available in other scopes as long as the new scope does not contiain
7475           the name.
7477 2000-11-06  Jody Goldberg <jgoldberg@home.com>
7479         * src/sheet-autofill.c (autofill_cell) : Use cell_set_value directly.
7480           No need to do depends or respaning for each cell.
7482         * src/commands.c (cmd_autofill_redo) : When we can do it here, for the
7483           entire range.
7484         (cmd_area_set_text_redo) : Add the missing depend update here.
7486         * src/sheet.c (sheet_cell_set_value) : Render if required.
7488 2000-11-06  Almer S. Tigelaar  <almer1@dds.nl>
7490         * src/gui-clipboard.c:
7491         (x_selection_to_cell_region): Make error message more descriptive.
7493         * src/stf.c:
7494         (stf_read_workbook): Ditto.
7496 2000-11-06  Almer S. Tigelaar  <almer1@dds.nl>
7498         Fix bug #21674. (Fix will kick in once the version number of the
7499         XML format is bumped to GNUM_XML_V5)
7501         * src/print-info.c (print_info_new): Add extra commenting.
7503         * src/xml-io.c:
7504         (xml_write_print_repeat_range): New function, for saving a repeat range.
7505         (xml_read_print_repeat_range): New function, for loading a repeat range.
7506         (xml_write_print_info): Save the row repeat and col repeat range using
7507         xml_write_print_repeat_range.
7508         (xml_read_print_info): Read col and row repeat range if file format
7509         version > GNUM_XML_V4 using xml_read_print_repeat_range.
7511 2000-11-06  Jody Goldberg <jgoldberg@home.com>
7513         * src/workbook.c (workbook_sheet_detach) : remove unused parm.
7514           Be more paranoid about focus handling.
7516         * configure.in : fix typo.
7518 2000-11-05  Jody Goldberg <jgoldberg@home.com>
7520         * src/sheet.c (cb_set_cell_content) : Use cell_set_value.
7521         (sheet_range_set_text) : remove need for entered_text.
7523         * src/xml-io.c (xml_read_cell) : Remove 'General' hack.
7525         * src/dialogs/dialog-cell-format.c (draw_format_preview) : remove
7526           entered_text.
7528         * src/rendered-value.c (rendered_value_new_ext) : No need for
7529           entered_text.  Use format_value in place of value_as_string.
7531         * src/format.c (format_value) : No need for entered_text.
7532           Be careful to always set the colour.  This may need to be tuned
7533           if we enter '$10' and use a display format of @ what should be
7534           displayed ?  10 or $10 ?  We may need to pass in the parse format.
7536         * src/cell.c (cell_cleanout) : Remove entered_text.
7537         (cell_copy) : Ditto.
7538         (cell_set_text) : Ditto.
7539         (cell_set_value) : Ditto, do not render value here.
7540         (cell_set_text_and_value) : Delete.
7541         (cell_set_expr_and_value) : Remove entered_text, and add format
7542           argument.
7543         (cell_set_expr_internal) : No need to manually unref the old expr.
7544           That was already done in cleanout.
7545         (cell_make_value) : remove entered_text.
7547         * src/rendered-value.c (cell_get_entered_text) : Use the stored parse
7548           format and format_value to regenerate the entered text from a value.
7550 2000-11-04  Jody Goldberg <jgoldberg@home.com>
7552         * src/sheet-view.c (sheet_view_{col,row}_size_changed) : Only resize
7553           all columns if the column that changed is part of the selection.
7555         * src/selection.c (sheet_selection_full_{cols, rows}) : flag whether
7556           the selection contains the requested col.
7558 2000-11-04  Jody Goldberg <jgoldberg@home.com>
7560         * src/format-template.c (format_template_apply_to_sheet_regions) : No
7561           need to request a redraw.
7562         (cb_format_sheet_style) : Use sheet_range_apply_style because it
7563           requests a redraw and handles respaning/spacing when necessary.
7565 2000-11-03  Jody Goldberg <jgoldberg@home.com>
7567         * src/commands.c (cmd_paste_copy_undo) : Clear any operations when
7568           storing the undo info for paste_copy.  There is no longer any need
7569           for the operations.  We are storing the image.
7571         * src/clipboard.c (clipboard_prepend_cell) : Be safe and init the
7572           comment field.
7574 2000-11-03  Jody Goldberg <jgoldberg@home.com>
7576         * configure.in : Update the GAL requirement.
7578 2000-11-03  Jody Goldberg <jgoldberg@home.com>
7580         * src/clipboard.c (clipboard_paste_region) : Optimize the styles for
7581           the entire target region in one swoop, rather than each tile
7582           individually.  This fixes the reported problem symptom.  I do not
7583           have a definite reason why it was failing before.  This may just be
7584           sweeping it under the rug.
7586         * src/xml-io.c (xml_workbook_write) : Bump the xml version.
7588         * src/format.c (format_value) : A string value takes precedence over
7589           the entered text.
7591 2000-11-03  Jody Goldberg <jgoldberg@home.com>
7593         * src/dialogs/analysis-tools.glade : Rename 'Alpha' to '1 - Alpha'
7595         * src/complete-sheet.c (text_matches) : Only use values that are strings
7596           do not bother with 'entered_text'
7597         (complete_sheet_search_iteration) : Adjust the calls to text_matches.
7599         * src/dialogs/dialog-cell-format.c (fmt_dialog_init_format_page) : Be
7600           careful to use the non-localized version of the format internally.
7602         * src/cellspan.c (cell_calc_span) : Ignore hidden columns.
7604         * src/colrow.c (col_row_set_visibility_list) : regen the spans outside
7605           the region which changes visibility.
7607         * src/sheet.c (sheet_regen_adjacent_spans) : Split this out
7608           from sheet_clear_region.
7610 2000-11-02  Jody Goldberg <jgoldberg@home.com>
7612         * src/sheet-autofill.c (string_has_number) : thou shalt not use atoi
7613           for it does not check for oeverflow.
7615 2000-11-02  Jody Goldberg <jgoldberg@home.com>
7617         * src/print-cell.c (print_cell_range) : Set the printed flag whenever
7618           there is a valid cell.
7620         * src/sheet-autofill.c (autofill_create_fill_items) : Do not look up
7621           the cell here.
7622         (fill_item_new) : lookup the style and cell here.
7623         (sheet_autofill_dir) : Always apply the style.
7624         (fill_item_destroy) : release the style.
7626 2000-11-02  JP Rosevear  <jpr@helixcode.com>
7628         * src/xml-io.c (xml_read_attributes): Don't check for a workbook,
7629         this is redundant and not even true any more.
7630         (xml_workbook_read): Only read the attributes if the workbook is
7631         version 5 or later.
7633 2000-11-02  Jody Goldberg <jgoldberg@home.com>
7635         * src/rendered-value.c (rendered_value_new_ext) : Any form of General
7636           will need a width.  Default to full precision.
7638         * src/cell.c (cell_set_value) : Do not assign optional formats of General
7640 2000-11-02  Jody Goldberg <jgoldberg@home.com>
7642         * src/workbook-control-gui.c (cb_file_new) : We need to create a
7643           control & view.
7644         (workbook_close_if_user_permits) : Do not attempt to finsihed editing
7645           here.  This is called in a loop from cb_file_quit.
7646         (wbcg_close_control) : stop editing here.
7647         (cb_file_quit) : and stop editing here before closing and workbooks.
7648           While closing workbooks save the calling working for last so than
7649           can save the current view rather than guessing and using the first.
7651 2000-11-02  Almer S. Tigelaar  <almer1@dds.nl>
7653         * src/dialog-autoformat.c:
7654         (templates_load): Also apply filtering to newly loaded templates.
7655         (dialog_autoformat): Don't call format_template_apply_to_sheet_regions,
7656         pushing the undo stuff (cmd_autoformat) already does this anyway.
7658         * src/format-template.c: Fix bug #30413
7659         (format_template_range_check): New, checks if the target range
7660         is wide enough to apply the format template to.
7661         (format_template_apply_to_sheet_regions): Use format_template_range_check
7662         to check the ranges. Display an error and abort when a range is invalid.
7663         (format_template_recalc_hash): Idem, but don't display an error but a
7664         warning, as no such error is supposed to happen here.
7666         * src/format-template.c: Fix bug #30419
7667         (format_template_filter_style): Add COLOR_BACK to pattern filtering.
7668         (format_template_filter_style): Correct to not always replace
7669         unset elements with default elements.
7670         (cb_format_hash_style): call format_template_filter_style with
7671         default element replacing.
7672         (cb_format_sheet_style): call format_template_filter_style without
7673         default element replacing.
7674         (cb_format_sheet_border): Idem.
7676 2000-11-02  Michael Meeks  <michael@helixcode.com>
7678         * configure.in: Require bonobo-0.27+
7680 2000-11-02  Michael Meeks <michael@helixcode.com>
7682         * The big api rename ...
7684 2000-11-02  Michael Meeks  <michael@helixcode.com>
7686         * configure.in: bump gb requirement to gb-0.0.15
7688 2000-11-02  Jody Goldberg <jgoldberg@home.com>
7690         * src/sheet.c (sheet_new_sheet_view) : Set the cursor when the sheet
7691           is attached.
7693 2000-11-01  Jody Goldberg <jgoldberg@home.com>
7695         * src/commands.c (cmd_clear_redo) : reverse the content list to keep
7696           it in sync with the range list.
7698 2000-11-01  Jody Goldberg <jgoldberg@home.com>
7700         * src/xml-io.c (xml_read_cell) : Default the parse format to General.
7701           Eventually we can simply cell_set_value to not guess that the
7702           display format == the parse format.  However, that will require
7703           changing all of the importers.  For now we can cheat, and supply
7704           General as the format.
7706         * src/functions/fn-string.c (gnumeric_dollar) : use string_get_nocopy.
7708 2000-11-01  Jody Goldberg <jgoldberg@home.com>
7710         * src/expr.c (cellref_relocate) : inside is always calculatd based on
7711           the source sheet.  eg  Sheet1:A1 = '=A2' and we are moving A1:A2
7712           from Sheet1 -> Sheet2.  The reference to A2 should be considered
7713           'inside'.  References to Sheet2!A2 have already been #REF!ed.
7715         * src/commands.c (cmd_paste_cut_redo) : Use range_check_sanity.
7717         * src/sheet.c (sheet_cell_insert) : Render if necessary.
7718         (sheet_move_range) : Extra care is only necessary if the source and
7719           target sheets are the same.  When they are different we should just
7720           invalidate all references to the target range.
7722 2000-11-02  Jon K Hellan  <hellan@acm.org>
7724         * src/workbook.c (workbook_history_update): Fix test to avoid
7725           changing an already correct history.
7726         (workbook_destroy): Don't free wb->filename until we're through
7727           using it.
7729 2000-11-01  Jody Goldberg <jgoldberg@home.com>
7731         * src/gnumeric-sheet.c (selection_insert_selection_string) :
7732           Set the position to where we expect it to be.
7733         (gnumeric_sheet_key_mode_sheet) : Only call sheet_update if we are not editing.
7735 2000-11-01  Jody Goldberg <jgoldberg@home.com>
7737         * src/sheet.c (sheet_name_quote) : names with parethesis require quotes.
7739 2000-11-01  Jody Goldberg <jgoldberg@home.com>
7741         * src/workbook-edit.c (workbook_finish_editing) : Restore the focus
7742           from here.
7743         * src/workbook-control-gui.c
7744         (cb_cancel_input, cb_accept_input) : rather than here or here.
7746 2000-11-01  Jody Goldberg <jgoldberg@home.com>
7748         * */*.[ch] : s/SheetView::sheet_view/SheetView::canvas/
7749           This has been bugging me for months.
7751         * src/gnumeric-sheet.c (move_cursor) : stop the edit at this level
7752           rather than in sheet_cursor_set.
7753         (gnumeric_sheet_key_mode_sheet) : Use move_cursor.
7755 2000-11-01  Jody Goldberg <jgoldberg@home.com>
7757         * src/ranges.c (range_translate) : Split sanity check into new function.
7758         (range_check_sanity) : here.
7760         * src/xml-io.c (xml_read_range) : Use it.
7762 2000-11-01  Jody Goldberg <jgoldberg@home.com>
7764         * src/sheet.c (sheet_new) : Be mroe fine grained about the changes to
7765           the edit position.
7766         (sheet_flag_status_update_cell) : Only content and format have changed.
7767         (sheet_flag_status_update_range) : handle the new flags.
7768         (sheet_flag_format_update_range) : new function.
7769         (sheet_update_editpos) : delete and split up.
7770         (sheet_update) : Do each update separately. NOTE : this is broken.
7771           All of these flags should be at the View level.
7773 2000-11-01  Jody Goldberg <jgoldberg@home.com>
7775         * src/selection.c (sheet_selection_copy) : pass a workbookcontrol.
7776         (sheet_selection_cut) : Ditto.
7778         * src/commands.c (cmd_format_undo) : flag the format change.
7779         (cmd_format_redo) : Ditto.
7781         * src/workbook-control.h (wb_control_claim_selection) : new virtual.
7782         * src/application.c (application_set_selected_sheet) : Used here.
7783         (application_clipboard_copy) : Take a WorkbookControl.
7784         (application_clipboard_cut) : Ditto.
7786         * src/workbook-control-gui.c (wbcg_paste_from_selection) : new
7787           function.
7788         (workbook_control_gui_ctor_class) : register it.
7790 2000-11-01  Jody Goldberg <jgoldberg@home.com>
7792         * src/print-cell.c (print_cell_range) : We are only outputing
7793           something in the case of a blank cell if the format is visible.
7795 2000-11-01  Almer S. Tigelaar  <almer1@dds.nl>
7797         * src/dialogs/dialog-stf.glade:
7798         Beautify dialog.
7800 2000-11-01  Almer S. Tigelaar  <almer1@dds.nl>
7802         * src/print-cell.c:
7803         (print_cell_range): Fix #29442, if a cell's background
7804         is 'printed' this also counts as a 'printed cell'
7806 2000-11-01  Almer S. Tigelaar  <almer1@dds.nl>
7808         * src/dialogs/dialog-autoformat.c:
7809         (dialog_autoformat): Kill memory leak, we were not freeing
7810         the list of acquired selection ranges.
7812 2000-10-31  Jody Goldberg <jgoldberg@home.com>
7814         * src/commands.c (cmd_set_text_undo) : Use sheet_clear_region to
7815           ensure that spans get regenerated in neighbouring cells.
7816         (cmd_set_date_time_undo) : Ditto.
7818 2000-10-31  Jody Goldberg <jgoldberg@home.com>
7820         * src/number-match.c (format_create_regexp) : Fix typo in regexp.
7821           Be careful to only match 1 or more digits as a number.
7823 2000-10-31  Morten Welinder  <terra@diku.dk>
7825         * src/parser.y (unregister_allocation): plug leak.
7826         ("line = error"): deallocate the result, just in case the parser
7827         discovers the error after reducing the regular line production.
7828         (gnumeric_expr_parser): Initialise *parser_result.
7830 2000-10-31  Jody Goldberg <jgoldberg@home.com>
7832         * src/commands.c (cmd_ins_del_row_col_undo) : Correct target range.
7834 2000-11-01  Michael Meeks  <michael@helixcode.com>
7836         * src/command-context-corba.[ch]: privatize the command context.
7838 2000-10-31  Jody Goldberg <jgoldberg@home.com>
7840         * src/cmd-edit.c (cmd_paste) : change the selection when pasting.
7841         (cmd_shift_{rows,cols}) : Do not change the selection when pasting.
7843         * src/commands.c (cmd_paste_cut_{undo,redo}) : Only select the target
7844           if requested.
7845         (cmd_paste_cut) : new argument.
7847 2000-10-31  Jody Goldberg <jgoldberg@home.com>
7849         * src/value.c (value_new_from_string) : Reset errno on over/underflow.
7850         * src/number-match.c (format_match_simple) : Ditto.
7852         * src/parser.y (yylex) : reset errno in the event of over/underflow.
7853           test for 'e' as an indicator of flaoting point numbers.
7855 2000-10-31  Jody Goldberg <jgoldberg@home.com>
7857         * src/application.c (application_init) : Register a shrunken version
7858           of the print preview.
7860         * src/workbook-control-gui.c (workbook_menu_file) : Use the new
7861           shrunken print preview icon.
7863 2000-10-31  Jody Goldberg <jgoldberg@home.com>
7865         * src/workbook-control-gui.c (cb_cancel_input) : renamed from
7866           cancel_input, and return focus to the sheet.
7867         (cb_accept_input) : renamed from accept_input, and return focus
7868           to the sheet.
7870 2000-10-31  Jody Goldberg <jgoldberg@home.com>
7872         * src/item-grid.c (item_grid_popup_menu) : Use the MENU versions of
7873           the stock pixmaps.
7875 2000-10-31  Morten Welinder  <terra@diku.dk>
7877         * src/analysis-tools.c (get_data_groupped_by_columns): Properly
7878         offset col.  Constify.
7879         (get_data_groupped_by_rows): Properly offset row.  Constify.
7881 2000-10-31  Jon K Hellan  <hellan@acm.org>
7883         * src/io-context.c (gnumeric_io_error_system): Added it.
7885 2000-10-31  Jody Goldberg <jgoldberg@home.com>
7887         * src/workbook-view.c (wb_view_auto_expr) : Set LC_MONETARY and
7888           LC_NUMERIC.
7889         * src/xml-io.c (xml_workbook_write) : Ditto.
7890         (xml_workbook_read) : Ditto.
7892 2000-10-31  Jody Goldberg <jgoldberg@home.com>
7894         * src/dialogs/*.[ch] : WorkbookControlGUI is now required for gui
7895           operations.  A WorkbookView is required to know which sheet is the
7896           current.
7898         * src/xml-io.c : We now load/save WorkbookViews.
7900         * src/xml-io-autoft.c : Adjust to signature changes.
7902         * src/workbook.c : Split the View into WorkbookView.
7903           Abstract the Controler interface, and move the GUI specific
7904           implementation of the Controler into WorkbookControlGUI.
7906         * src/workbook-view.c : Complete rewrite with correct semantics.
7908         * src/workbook-private.h : Move all the GUI specific stuff into
7909           WorkbookControlGUI were it belongs.
7911         * src/workbook-private.c (workbook_private_class_init) : Fix typo.
7913         * src/workbook-edit.c : These are now WorkbookControlGUI specific.
7914           We should rename the functions eventually.
7915         * src/workbook-format-toolbar.c : Ditto.
7916         * src/workbook-object-toolbar.c : Ditto.
7918         * src/workbook-cmd-format.c : Adjust to signature changes.
7919           and use WorkbookControlGUI were necessary.
7921         * src/style.c (style_font_new_from) : Delete dead code.
7923         * src/solver-lp.c : Adjust to signature changes.
7924         * src/sort.c : Ditto.
7925         * src/stf.c : Ditto. Make dialog conditional on gui-ness.
7927         * src/sheet.c (sheet_new_sheet_view) : IS_SHEET checks for NULL.
7928         (sheet_detach_sheet_view) : renamed from sheet_destroy_sheet_view
7929           and only take a SheetView as argument.
7930         (sheet_new) : Do not create a view by default.
7931         (sheet_update_zoom_controls) : foreach control.
7932         (sheet_update_editpos) : ditto.
7933         (sheet_update) : handle multiple views and controls.
7935         * src/sheet-view.c : Commands take WorkbookControls rather than
7936           CommandContexts.
7938         * src/sheet-object-widget.c : Most things take WorkbookControlGUI
7939           rather than Workbooks.
7941         * src/sheet-object-container.c (sheet_object_container_new_view) :
7942           Use the uic from the WorkbookControlGUI.
7944         * src/sheet-control.c : New file. Unused so far.
7945           cp sheet-view.c sheet-control.c
7946           s/SheetView/SheetControl/
7948         * src/print.c : Make the GUI dependency explicit.
7949           At some point the setup dialog should be split out of here.
7951         * src/main.c (gnumeric_main) : Explicitly create a WorkbookControlGUI
7952           only adding sheets if nothing was loaded.  Improve handing of exit
7953           request while loading.
7955         * src/item-grid.c (item_grid_draw) : Filter the edit cell from here
7956           because we know which control to use.
7957         (context_menu_hander) : Switch to WorkbookControlGUI.
7958         (item_grid_popup_menu) : Ditto.
7960         * src/item-edit.c : Everything takes a WorkbookControlGUI inplace of a
7961           Workbook now.
7963         * src/item-cursor.c (item_cursor_target_region_ok) : dialog_run takes
7964           a WorkbookControlGUI.
7965         (item_cursor_do_action) : All the commands take WorkbookControls.
7967         * src/item-bar.c (item_bar_event) : item_grid_popup_menu takes a
7968           SheetView now.
7970         * src/history.c : Take WorkbookControlGUI.
7971           Update all controls for each workbook.
7973         * src/gui-clipboard.c : Use 'unsigned char'
7975         * src/gnumeric.xml : More work to split commands from layout.
7977         * src/gnumeric-util.c (gnumeric_no_modify_array_notice) : Delete.
7978         (gnumeric_notice) : Take a WorkbookControlGUI.
7979         (gnumeric_wb_dialog_run) : Ditto.
7980         (gnumeric_dialog_run) : Ditto.
7981         (gnumeric_dialog_show) : Ditto.
7982         (gnumeric_set_transient) : Ditto.
7983         (gnumeric_glade_xml_new) : Ditto.
7984         (gnumeric_non_modal_dialog) : Ditto.
7985         (gnumeric_inject_widget_into_bonoboui) : Ditto.
7987         * src/gnumeric-sheet.c : SheetView now has a WorkbookControlGUI member
7988           to keep track of which control it is associated with. Use it.
7990         * src/file.c : Adjust to lots of signature changes.
7991           We now load/save WorkbookView rather than Workbook.
7992           Add a placeholder struct IOContext so that we can consider doing
7993           smarter import/export and dealing with warnings and missing things
7994           smoothly.
7996         * src/eval.c (workbook_recalc_all) : After a recalc update all views.
7998         * src/commands.c (undo_redo_menu_labels) : foreach control.
7999         (command_undo) : ditto.
8000         (command_redo) : ditto.
8001         (command_push_undo) : change signature.  The workbookcontrol
8002           now acts as the command context.
8004         * src/cmd-edit.c : Adjust to signature changes.
8006         * src/clipboard.c : split the gui specific X handlers out into a new
8007           file.
8008         * src/gui-clipboard.c :  here.
8010         * src/cell-draw.c (cell_draw) : Do not test the sheet for whether or
8011           not to we are editing.  That is at the control level.  Test it in
8012           the rendering loop.
8014         * src/bonobo-io.c : FIXME. adjusted to signature changes.  Totatly
8015           broken for now.  This needs a View rather than a Model and should be
8016           associated with something.
8018         * src/application.c (application_workbook_list_add) : New function.
8019         (application_workbook_list_remove) : New function.
8020         (application_workbook_list) : New function.
8021         (application_clipboard_copy) : foreach control.
8022         (application_clipboard_cut) : foreach control.
8023         (application_clipboard_clear) : foreach control.
8024         (application_workbook_foreach) : renamed from workbook_foreach.
8025         (application_set_selected_sheet) : FIXME. Disabled for now.
8027         * src/about.c (cb_closed) : Associated the flag with the control
8028           directly.
8029         (dialog_about) : dialogs are associated with gui-controls.
8031         * src/analysis-tools.c : change all dialog signatures to handle MVC
8032           split of workbook.
8034 2000-10-30  Jody Goldberg <jgoldberg@home.com>
8036         * src/Makefile.am : Add new command-context,  io-context,
8037           workbook-view, workbook-control, workbook-control-gui files.
8038           Remove old command-context-gui, command-context-corba, and disable
8039           corba-* for now.
8041 2000-10-29  Jody Goldberg <jgoldberg@home.com>
8043         * idl/gnumeric-graphs.idl : Remove studdly caps.  I wish people would
8044           make up their minds.
8046         * idl/Gnumeric.idl : Remove Workbook::show.
8048 2000-10-29  Jody Goldberg <jgoldberg@home.com>
8050         * BUGS : Update.
8051         * NEWS : Update.
8052         * TODO : Update.
8054 2000-10-30  Morten Welinder  <terra@diku.dk>
8056         * src/functions/fn-math.c (gnumeric_sumproduct): Plug leak.
8058 2000-10-29  Almer S. Tigelaar  <almer1@dds.nl>
8060         * src/commands.h, src/commands.c:
8061         (cmd_autoformat_undo): New, undo for the autoformat.
8062         (cmd_autoformat_redo): New, redo for the autoformat.
8063         (cmd_autoformat_destroy): Part of undo/redo.
8064         (cmd_autoformat): Idem.
8066         * src/format-template.h: Correct outdated comment.
8068         * src/format-template.h, src/format-template.c:
8069         (format_template_member_clone): New, clone a templatemember.
8070         (format_template_clone): New, clone a format template.
8071         (cb_format_sheet_style): Insert extra checks.
8072         (cb_format_sheet_border): Idem.
8073         (format_template_apply_to_sheet_selection): Renamed.
8074         (format_template_apply_to_sheet_sheet_regions): Modification of the
8075         above function, now accept a separate list of regions.
8077         * src/dialogs/dialog-autoformat.c:
8078         (dialog_autoformat): Modify so it calls upon routines which record
8079         undo/redo information.
8081 2000-10-28  Michael Meeks  <michael@helixcode.com>
8083         * configure.in (Configuration): add scary message about Gnome Basic.
8085 2000-10-28  Jon K Hellan  <hellan@acm.org>
8087         * src/bonobo-io.c (gnumeric_bonobo_{read|write}_workbook):
8088         Forgot to tell: Also replaced vfs storage, which no longer exists
8089         in Bonobo, with efs, which does. It doesn't seem to work, but
8090         that's a different matter.
8092 2000-10-28  Almer S. Tigelaar  <almer1@dds.nl>
8094         * src/clipboard.c:
8095         (x_selection_to_cell_region): Correct 'char' into 'unsigned char' so the eror
8096         message will display the correct ASCII decimal.
8098         * src/stf.c:
8099         (stf_read_workbook): Idem.
8101 2000-10-28  Jon K Hellan  <hellan@acm.org>
8103         * configure.in: Require Bonobo >= 0.26.
8105         * src/bonobo-io.c (write_stream_to_storage,
8106         gnumeric_bonobo_write_workbook): Switch from
8107         Bonobo_Storage_create_stream (which no longer exists) to
8108         Bonobo_Storage_open_stream
8109         (gnumeric_bonobo_obj_write, read_stream_from_storage,
8110         gnumeric_bonobo_write_workbook, gnumeric_bonobo_read_workbook):
8111         Use BONOBO_EX macro for clarity.
8113 2000-10-26  Michael Meeks  <michael@helixcode.com>
8115         * configure.in: Depend on gb-0.0.14 (CVS)
8117 2000-10-24  Michael Meeks  <michael@helixcode.com>
8119         * src/sheet-object-bonobo.c: Remove #ifdef ENABLE_BONOBO's
8120         (open_cb, sheet_object_bonobo_populate_menu): impl.
8121         (sheet_object_bonobo_class_init): hook in.
8122         (sheet_object_bonobo_load_from_file): upd.
8124         * src/sheet-object-container.c (sheet_object_container_new_file): upd.
8126 2000-10-24  Michael Meeks  <michael@helixcode.com>
8128         * src/gnumeric.xml: Start to separate out cmds / widgets, a very
8129         long and tedious job, s/Menu_Open/Open/ etc.
8131 2000-10-22  Jon K Hellan  <hellan@acm.org>
8133         * src/workbook-format-toolbar.c (workbook_format_toolbar []): Now
8134         also for non bonobo case: Add button to replace font and size
8135         selectors in vertical mode.
8136         (workbook_format_toolbar_orient): Show/hide font button mentioned
8137         above.
8138         (workbook_create_format_toolbar): Hide font button.
8140         * src/workbook-format-toolbar.h: Update all toolbar item indexes.
8142 2000-10-21  Jody Goldberg <jgoldberg@home.com>
8144         * src/selection.c (selection_to_list) : delete.
8145         (selection_get_ranges) : implement  allow_intersection.
8146         (selection_apply) : change the signature of the callback.
8148 2000-10-21  Michael Meeks  <michael@helixcode.com>
8150         * src/sheet-object-container.c: include bonobo-object-directory.h
8152         * configure.in: depend on gb >= 0.0.13 and libole >= 0.1.7
8154         * README: update to reflect this.
8156 2000-10-21  Jon K Hellan  <hellan@acm.org>
8158         * src/gnumeric.xml: Add tips for toolbar undo and redo.  Correct
8159         tip for menu PrintPreview.  Add tip to toolbar zoom.  Don't
8160         display it when vertical.  Add tips to toolbar font name and font
8161         size controls. Replace them with a button in vertical mode. (2
8162         controls -> 1 button.)  It invokes the font page of the format
8163         dialog. Add tips to toolbar border, background and foreground
8164         selectors.
8166         * src/workbook-format-toolbar.c (font_select_cmd): New
8167         command. Pop up cell format dialog at font page.
8168         (workbook_feedback_set): Remove warning by not defining toolbar
8169         variable for bonobo.
8170         (workbook_format_toolbar_orient): Remove warning by undefining
8171         this for bonobo.
8173         * src/workbook.c (format_cells_cmd): Call dialog_cell_format
8174         with new parameter pageno = FD_CURRENT.
8176         * src/item-grid.c (context_menu_hander): Ditto
8178 2000-10-21  Michael Meeks  <michael@helixcode.com>
8180         * src/gnumeric.xml.h: commit to CVS.
8182 2000-10-20  Jody Goldberg <jgoldberg@home.com>
8184         * src/format.c (do_render_number) : Brown paper bag.  Bug 29068.
8185           I HATE global variables.
8186         (fmt_general_float) : Rewrite to rationalize and catch some corner
8187           cases.
8189 2000-10-19  Michael Meeks  <michael@helixcode.com>
8191         * src/gnumeric.xml: don't display the zoom control when vertical.
8193 2000-10-19  Michael Meeks  <michael@helixcode.com>
8195         * configure.in (gnumeric_executable): check for (CVS) Bonobo 0.24
8197         * src/file.c (do_load_from): split from (workbook_load_from): upd.
8198         (workbook_try_read): use do_load_from to kill (empty) message box.
8200         * src/bonobo-io.c (gnumeric_bonobo_io_probe): remove annoying warning.
8202         * src/sheet-object-container.c (sheet_object_container_new_file):
8203         move this ugly code into bonobo and clean; make D&D components work again.
8205         * src/bonobo-io.c (gnumeric_bonobo_write_workbook): update for HEAD
8206         Bonobo.
8207         (gnumeric_bonobo_read_workbook): ditto.
8209         * src/sheet-object-bonobo.c (sheet_object_bonobo_load_from_file): upd.
8211 2000-10-18  Jody Goldberg <jgoldberg@home.com>
8213         * src/format.c (format_value) : Only format doubles as ints if they
8214           fit in an integer.
8215         (fmt_general_int) : improve handling of log (0).
8216         (fmt_general_float) : ditto.  Increase (temporarily) the width of a
8217           decimal point.
8219 2000-10-18  Jody Goldberg <jgoldberg@home.com>
8221         * src/format.c (fmt_general_float) : clamp the precision at DBL_PREC.
8223         * src/rendered-value.c (rendered_value_new_ext) : Don't forget the
8224           intercharacter spacing when approximating the width of a character.
8226         * src/str.c (string_get_nocopy) : new function.
8228         * src/cell.c (cell_set_value) : Use it.
8230 2000-10-16  Jody Goldberg <jgoldberg@home.com>
8232         * src/rendered-value.c (rendered_value_new_ext) : fix some leaks.
8234 2000-10-15  Jody Goldberg <jgoldberg@home.com>
8236         * src/clipboard.c (clipboard_paste_region) : no need to clear the
8237           formats.  We are going to be pasting over them later.  This means
8238           that we don't rerender everything in the region then replace it.
8240         * src/rendered-value.c (rendered_value_new_ext) : Pass colwidth as a
8241           float to get beter resolution.
8242         * src/format.c (format_value) : Ditto.
8244         * src/format.c (fmt_general_float) : More tuning.
8246 2000-10-15  Jody Goldberg <jgoldberg@home.com>
8248         * src/sheet.c (sheet_update) : RE_RENDER when a span calc is forced.
8249           This is a bit brute force for now, but is necessary to force the
8250           re-rendering of values that may have width dependent formats.
8251           I've noted a possible future enhancement that would remove this req
8252           at the cost of some complexity.
8254         * src/format.c (fmt_general_float) : new function.
8255         (fmt_general_int) : new function.
8256         (format_value) : Use the new routines.
8258 2000-10-15  Jody Goldberg <jgoldberg@home.com>
8260         * src/cell.c (cell_set_value) : Re-render the entered text to handle
8261           width dependent formats.
8263 2000-10-14  Jody Goldberg <jgoldberg@home.com>
8265         * src/print-cell.c (print_overflow) : improve drawing of hash marks.
8266         * src/cell-draw.c (draw_overflow) : to always draw at least one hash.
8268         * src/rendered-value.c (rendered_value_new_ext) : pass in approx
8269           column width in characters for use by general.
8271 2000-10-14  Chema Celorio  <chema@celorio.com>
8273         * src/workbook.c (workbook_sheet_get_free_name): remove g_assert not
8274         reached, as it was reached when duplicating sheets with names like :
8275         "Sales (1995)". If we have a sheet with a number in parenthesis and
8276         the number is > 1000. Duplicate it with the name "Name (numer) (2)".
8278 2000-10-13  Jody Goldberg <jgoldberg@home.com>
8280         * src/rendered-value.c (rendered_value_new) : Handle the unrefing of
8281           the local style here.
8282         (rendered_value_new_ext) : rather than here.
8283         (rendered_value_calc_size) : handke the unrefing of the local style
8284           here.
8285         (rendered_value_calc_size_ext) : rather than here.
8287         * src/preview-grid-controller.c (cb_grid_get_cell) : Adjust the
8288           semantics of the rendered_value_*_ext methods so that they don't
8289           unref the styles.
8291 2000-10-13  Jody Goldberg <jgoldberg@home.com>
8293         * src/position.c (parse_pos_init) : Relax the restrictions.
8295         * src/workbook.c : Improve wording of Names->Define.
8297         * src/gnumeric.xml : fix typo with Insert->Names->Define
8299 2000-10-12  Jody Goldberg <jgoldberg@home.com>
8301         * src/item-cursor.c (item_cursor_destroy) : Move the destruction of
8302           the tip here.
8303         (item_cursor_drag_event) : from here.  do not destroy the cursor.
8304         (item_cursor_do_action) : destroy the cursor here.
8305         (item_cursor_do_drop) : and sometimes here.
8307 2000-10-12  Jon K Hellan  <hellan@acm.org>
8309         * configure.in: Require bonobo >= 0.21. We now use
8310         bonobo_ui_util_encode_str - added since 0.20.
8312         * src/gnumeric.xml: Bonobo no longer supports placeholder
8313         delimit="both". Use "top" and a separator instead. Indicate
8314         separators by <separator/> instead <menuitem/>. Change last
8315         remaining descr to _tip.
8317         * src/history.c (history_menu_insert_items): Bonobo changed
8318         again. We fix.
8319         (file_history_cmd): Use "tip" instead of "descr"
8321 2000-10-12  Jody Goldberg <jgoldberg@home.com>
8323         * src/main.c (gnumeric_main) : manually init the corba factories after
8324           the support subsystems are initialized, but before the workbooks are
8325           created.  This needs some serious cleaning.
8327         * src/embeddable-grid.c (EmbeddableGridFactory_init) : return a flag
8328           for later use.
8329         (grid_view_activate) : focus on the widget not the containing object.
8331         * src/corba-args.c (gnumeric_arg_parse) : Do not init the corba
8332           factories yet.  they were getting called before the application was
8333           ready.
8335 2000-10-11  Jody Goldberg <jgoldberg@home.com>
8337         * src/gnumeric-util.c (gnumeric_create_popup_menu) : Generalized and
8338           moved from item-grid.c
8340 2000-10-11  Jon K Hellan  <hellan@acm.org>
8342         * src/history.c (file_history_cmd): Removed yet another vestige of
8343         the old Bonobo UI Handler code: Changed `BonoboUIHandler *uih' to
8344         `BonoboUIComponent *uic.
8346 2000-10-11  Martin Baulig  <baulig@suse.de>
8348         Removed the last bits of the old Bonobo UI Handler code.
8350         * src/workbook-private.h (WorkbookPrivate): Changed `BonoboUIHandler *uih'
8351         to `BonoboUIComponent *uic'.
8352         * src/workbook.c (workbook_new): Create the BonoboUIComponent here.
8354 2000-10-10  Jody Goldberg <jgoldberg@home.com>
8356         * src/gnumeric-util.c (run_popup_menu) : Delete.
8357         (popup_menu_item_activated) : Delete.
8358         (gtk_radio_button_select) : Delete.
8360         * src/item-cursor.c (item_cursor_do_drop) : Use item_grid_popup_menu.
8362         * src/sheet-object.c (display_object_menu) : Rename from create_popup_menu
8363           and display the menu.
8364         (control_point_handle_event) : simplify with display_object_menu.
8365         (sheet_object_canvas_event) : simplify with display_object_menu.
8367         * src/gnumeric-util.c (gnumeric_popup_menu) : Do not pass the button
8368           number from the event that is poping up the menu.  That disables the
8369           ability to select a menu item via a different button.
8371 2000-10-10  Jody Goldberg <jgoldberg@home.com>
8373         * src/workbook-private.c (workbook_private_init) : Init the
8374           updating_toolbar flag.
8376         * src/workbook-format-toolbar.c (set_selection_halign) : Use the
8377           updating toolbar flag so that the bonobo version (which does not
8378           disable the callbacks) works correctly.
8379         (change_selection_font) : Ditto.
8380         (workbook_format_toolbutton_update) : Remove the hackish static and use a real flag.
8382         * src/gnumeric.xml : Update for the new bonobo.
8384         * configure.in (AM_INIT_AUTOMAKE) : follow new protocol and bump
8385           version immediately after release rather than before.