2000-05-06 Michael Meeks * src/eval.c (handle_cell_range_deps): Add 3D dependency support. (cb_single_hash_to_list, cb_range_hash_to_list): Re-arrange handling of where the list is collated. (do_deps_destroy): update. (cell_drop_dependencies): remove cretinism here. (drop_cell_range_dep, handle_cell_single_dep): return on NULL deps structure. * src/sheet-style.c (sheet_style_attach): enable cache trash avoidance code. * src/sheet.c (sheet_cell_remove_internal): short circuit for NULL deps. * src/expr.c (expr_rewrite): update to handle workbook case. * src/eval.c (workbook_deps_destroy): update for speed. (sheet_deps_destroy): split body into (do_deps_destroy): here. * src/workbook.c (workbook_delete_sheet): destroy the sheet's dependencies here as well; very silly. (workbook_do_destroy): destroy deps of all sheets up front. 2000-05-06 Jody Goldberg * src/parse-util.c (parse_text_value_or_expr) : Be sure the clear the expr if we are returning a value. 2000-05-05 Jody Goldberg * src/sheet.c (sheet_set_zoom_factor) : Need to recalc cell sizes when zooming changes. * src/functions/fn-math.c (gnumeric_countif) : Make code match comment. We can safely ignore blanks. (gnumeric_sumif) : Code was correct. Add a larger comment explaining rationale. (gnumeric_sumx2my2) : Code was wrong. We can not skip blank cells if there are multiple ranges that need to be kept in sync. (gnumeric_sumx2py2) : Ditto. (gnumeric_sumxmy2) : Ditto. 2000-05-05 Tuomas Kuosmanen * src/pixmaps/function_selector.xpm: Made the ()'s a bit higher to make the f(x) more clear. 2000-05-05 Michael Meeks * src/eval.c (cell_drop_dependencies): silence checks for sheet->deps. * src/workbook.c (workbook_expr_relocate): update for expr_rewrite. * src/sheet-autofill.c (autofill_cell): update for expr_rewrite. * src/sheet.c (sheet_destroy): use sheet_deps_destroy and hoist above destroy_contents. * src/cell.c (cell_relocate): update for expr_rewrite. * src/eval.c (dependancy_data_destroy): rename to (sheet_deps_destroy), (invalidate_refs): re-write. (dependency_single_destroy, dependency_range_destroy): implement for non-intersheet deps. (workbook_deps_destroy): implement. * src/expr.c (expr_relocate): renamed to (expr_rewrite): update, add sheet re-writing. Fix serious bug with OPER_CONSTANT drop through to OPER_ARRAY. (cellrange_relocate): split out. (cellref_relocate): update for structure pos. * src/expr.h: create ExprRewriteInfo. * src/gnumeric.h: add ExprRewriteInfo. * src/sheet-object-container.c (sheet_object_container_realize): fix no brainer bug stopping menu's merging. 2000-05-04 Michael Meeks * src/sheet-style.c (sheet_style_delete_colrow): don't shrink. sheet sized ranges. (sheet_style_compute): add precondition for Norberts. * src/workbook.c (workbook_new_with_sheets): kill ' ' in sheet names. * corba-test/test-gnumeric-corba.c (do_test): ditto. 2000-05-04 Jody Goldberg * src/workbook.c : Fix typo that was calling undo for redo toolbar. ({redo,undo}_cmd) : Use workbook_finish_editing directly. (cb_auto{function,sum}) : If we are already editing do not start. When the wizard is in place bring it up. (workbook_start_editing_at_cursor) : Make the '=' insensitive while editing. (workbook_finish_editing) : Make the '=' sensitive. (sheet_action_delete_sheet) : Fix typo and rename parm 'current_sheet' -> 'sheet' to avoid confision with workbook->current_sheet. (workbook_close_if_user_permits) : Documented, and use gboolean. (workbook_delete_event) : No need to invert the return value. (workbook_new) : connect to the 'delete_event' using gtk_signal_connect_after so that we can influence the result. (workbook_delete_sheet) : NULL the undo, redo lists after they are cleared. (workbook_do_destroy) : Ditto. 2000-05-04 Almer. S. Tigelaar. * src/rendered-value.c : (rendered_value_calc_size) : Check if cell->rendered_value is NULL. To avoid segfaulting. 2000-05-04 Almer. S. Tigelaar. * doc/stf-export.txt : Added stf-exporter documentation 2000-05-04 Almer. S. Tigelaar. * src/gnumeric-util.[ch] : (gnumeric_combo_enters) : New, makes dialogs close when enter is pressed inside a gtkcombo. * src/dialogs/dialog-stf.c : (stf_dialog_editables_enter) : Modified to use the above function for combo boxes. * src/dialogs/dialog-stf-export.c : (stf_export_dialog_editables_enter) : Modified to use the above function for combo boxes. 2000-05-03 Jody Goldberg * src/command-context.c (gnumeric_error_invalid) : new function. * src/command-context-gui.c (ccg_error_invalid) : Handle. * src/command-context-corba.c (ccc_error_invalid) : Handle. * src/commands.c (cmd_rename_sheet_{undo,redo}) : Pass a context to workbook_rename_sheet. * src/workbook.c (workbook_rename_sheet) : Sheet names can not be empty. Take a CommandContext and report the error. Invert the return value. * src/format.c (pre_parse_format) : Fix old typo that was causing bug 10001 by breaking AM/PM. * src/cell.c (cell_set_array_formula) : Add some invariants to catch inverted arrays. The function should use the supplier's reference. It should not re-reference the supplied expression. Document this. 2000-05-03 Morten Welinder * autogen.sh (libtool): Add version check. 2000-05-03 Jody Goldberg * EvalPosition -> EvalPos ParsePosition -> ParsePos new struct RangeRef used in ValueRange eval_pos_init* -> position.[ch] parse_pos_init* cell_ref_{get,make}* * src/workbook.c : Reorder the toolbar a bit. (workbook_foreach_cell_in_range) : New function. (cb_autofunction) : New routine. (workbook_set_auto_expr) : DO NOT put real code into pre/post conditions. It will be removed when debugging is eventually disabled. * src/position.c (range_ref_normalize) : New function. * src/ranges.c (range_normalize) : New function. * src/expr.c (expr_implicit_intersection) : Use range_ref_normalize. * src/eval.c (cell_eval_content) : No need to release the value. cell_assign_value already does that. (dependency_range_ctor) : Use range_normalize. * src/auto-format.c (do_af_suggest) : Use workbook_foreach_cell_in_range. * src/cell.c (cell_set_expr_and_value) : link the new expression but do not queue it for recalc. (cell_assign_value) : Release the old value. (cell_copy) : Init the value to empty. * src/func.c (function_iterate_do_value) : Use workbook_foreach_cell_in_range. * src/dialogs/dialog-function-wizard.c (create_description) : Use a label rather than a text entry widget. It looks better. * src/functions/fn-string.c (gnumeric_expression) : range is already absolute. * src/functions/fn-stat.c (gnumeric_linest) : Handle inverted ranges. (gnumeric_logest) : Ditto. * src/functions/fn-information.c (gnumeric_countblank) : Use workbook_foreach_cell_in_range. (gnumeric_{row,column}) : Handle inversions. * src/functions/fn-lookup.c (gnumeric_offset) : No need to make absolute. The marshaller already did that. 2000-05-02 Jody Goldberg * src/eval.c (dependency_range_ctor) : normalize the range. * src/xml-io.c (xml_write_cell_and_position) : Suppress warning. * src/pixmaps.h : Add function wizard and equal sign. 2000-05-03 Michael Meeks * doc/Dependencies.txt: update to reflect changes. * src/eval.c: comment and const mending. (handle_cell_range_deps): prune no inter-sheet singletons code, it is a sluggish anachronism. (handle_cell_single_dep): setup the correct sheet to enter data into. * src/eval.h: expunge redundant commenting, re-order, const kill. 2000-05-03 Almer. S. Tigelaar. * *.c: s/strcasecmp/g_strcasecmp/ 2000-05-02 Almer. S. Tigelaar. * src/file.c (workbook_import) : We called gtk_widget_destroy _after_ gnome_dialog_close. This causes a weird "invalid cast" message each time something was successfully imported. 2000-05-01 Michael Meeks * src/corba-args.c (gnumeric_arg_parse): fixup popt for oaf. 2000-05-01 Jody Goldberg * src/expr.c (expr_tree_shared) : New function. * src/xml-io.c (gnumeric_xml_write_selection_clipboard) : Init and destroy the expression hash. (gnumeric_xml_read_selection_clipboard) : Ditto. (gnumeric_xml_read_workbook) : Ditto. (gnumeric_xml_write_workbook) : Ditto. (xml_write_cell_and_position) : When saving cells that have expression assign and store an ID for shared expressions. (xml_read_cell) : Use the ID to restore shared expressions. 2000-05-01 Jody Goldberg * ExprName -> NamedExpression ArrayRef -> ExprArray change ExprTree to be a union of similar types and split the elements into discrete types. ExprConstant ExprFunction ExprUnary ExprBinary ExprName ExprVar ExprArray expr->oper -> expr->any.oper 2000-04-29 Jody Goldberg * src/value.c (value_new_empty) : Don't allocate any memory. (value_release) : Don't free any either. * src/sheet-style.c (border_check) : Init outer_style to remove a warning. 2000-05-01 Jon K Hellan * src/dialogs/dialog-analysis-tools.c (selection_made): Popup tool and dismiss chooser on double click. * src/dialogs/col-width.glade: Add title * src/dialogs/import.glade: Ditto * src/dialogs/row-height.glade: Ditto * src/dialogs/sheet-rename.glade: Ditto * src/dialogs/summary.glade: Ditto * src/dialogs/analysis-tools.glade (All dialogs): Add padding between input and output frames. (TTest1 dialog, TTest2 dialog, TTest3 dialog, Anova2 dialog, MovingAverage dialog): Remove spaces from label string. (Anova1 dialog, Correlation dialog, Covariance dialog, RankAndPercentile dialog): Use table in input frame. Get rid of frame around "Grouped by". Use alignment and fill instead of spaces to place label strings. Minor output options tweaks. (MovingAverage dialog): Place all user widgets inside the same vbox to make padding uniform. 2000-05-01 Michael Meeks * configure.in: Handle oafinfo.in * src/sheet-object.c (sheet_set_mode_type_full): oafize. * src/sheet-object-container.c (sheet_object_container_new_from_goadid): ditto. * src/sheet.c (sheet_insert_object): always launch via. bonobo_object_activate regardless of monikers. * idl/Gnumeric.idl: add a comment telling people to look elsewhere if they want to write bonobo components. * src/workbook.c (insert_object_cmd): update for oaf. * src/main.c (gnumeric_main): Check for NULL ctx, on corba failure. * src/corba-args.c (gnumeric_arg_parse): NULL ctx. * src/corba-workbook-factory.c (_WorkbookFactory_init): update to use od_server_register. (WorkbookFactory_create_object): use Bonobo_stringlist not GNOME_stringlist, when was this last compiled ... * src/corba-args.c (gnumeric_arg_parse): update for OAF. * acconfig.h: USING_OAF * configure.in: ditto. 2000-05-01 Michael Meeks * HACKING: make it more explicit. 2000-05-01 Morten Welinder * src/main.c (has_gnumeric_been_compiled_with_guile_support): Fix prototype. * src/gutils.c (gnumeric_usr_plugin_dir, gnumeric_sys_plugin_dir, gnumeric_sys_glade_dir): fix prototype. (C isn't C++.) * src/complete.c (complete_destroy): Static. * src/regression.c: Inlcude for memset. 2000-05-01 Almer. S. Tigelaar. * configure.in: Export GNUMERIC_VERSION * acconfig.h: Undefine GNUMERIC_VERSION * */Makefile.am: Removed -DGNUMERIC_VERSION, now located in config.h * src/functions/Makefile.am, src/dialogs/Makefile.am : VERSION changed to gnumeric_version. * plugins/excel/libole2/Makefile.am, plugins/guile/Makefile.am : ditto * plugins/perl/Makefile.am : ditto 2000-04-30 Miguel de Icaza * src/workbook.c (workbook_new_with_sheets): Put a space there, to avoid having "Sheet 1" and then "Sheet1" in the same workbook. 2000-04-29 Miguel de Icaza * src/application.c (application_init): Oops. 2000-04-29 Jody Goldberg * * : Convert 'Value' into a union of real types and allocate each seperately. * src/dialogs/dialog-printer-setup.c (do_print_preview_cb) : Suppress warning. 2000-04-29 Almer. S. Tigelaar. * src/dialogs/dialog-stf-preview.c : (stf_preview_merge_with-hash) : Remove warning message, because empty lines also render to NULL 2000-04-29 Michael Meeks * src/sheet-style.c (sheet_mstyle_compute_from_list): kill inline. (border_check): make outer style calcs mostly conditional on do_outer. 2000-04-29 Almer. S. Tigelaar. * src/stf-export.[ch] : New, low-level stf-export code. * src/dialogs/dialog-stf-export.glade : New, stf export dialog. * src/dialogs/dialog-stf-export.glade.h : New, stf export dialog strings. * src/dialogs/dialog-stf-export.[ch] : New, top-level controlling code for the stf export dialog. * src/dialogs/dialog-stf-export-private.h : New, private declarations for the stf exporter. * src/dialogs/dialog-stf-export-format-page.c : New, controlling code for the format page of the stf export dialog * src/dialogs/dialog-stf-export-sheet-page.c : New, controlling code for the sheet page of the stf export dialog * src/Makefile.am : Updated to include new files * src/stf.c : Now also provides export for csv files using the new stf export dialog * src/dialogs/Makefile.am : Updated to include new files 2000-04-29 Jody Goldberg * src/parser.y : Make the sheet_sep, and range_sep conditional so that I can use the parser for applix too. * src/workbook.c (workbook_unref) : encapsulate workbook_unref. * src/application.c (application_init) : Do not save the value if it is not there. Fix typo. * src/mstyle.c (mstyle_unref) : If the default style is released clear the cached pointer. This can happen if the first workbook loaded fails. 2000-04-28 Miguel de Icaza * src/complete.c (complete_idle): Removed debugging messages * src/item-edit.c (entry_changed): Update here. * src/application.c (application_init): Load auto-complete state here. (application_use_auto_complete_set): accesor function. (application_use_auto_complete_get): ditto. 2000-04-28 Jody Goldberg * src/complete.c (complete_start) : Do not install an idle handler if one has already been installed for this object. 2000-04-27 Miguel de Icaza * src/dialogs/dialog-printer-setup.c (do_print_preview_cb): Close the dialog if the user selects preview. Not optimal but better than the two possible choices. 2000-04-27 Jody Goldberg * *Makefile.am : Use new extended configure variables. * configure.in: Add a few variables 2000-04-27 JP Rosevear * Makefile.am: Delete old gnumeric-config generation. * gnumeric-config.in: Use new variables exported from autoconf. * configure.in: gnumeric-config magic 2000-04-27 Jody Goldberg * src/workbook.c (workbook_sheet_get_free_name) : No need to translate "%s%d". * src/gutils.c (PLUGIN_SUFFIX) : typo. 2000-04-27 Karl EICHWALDER * NEWS (Translations): Add `da', `es', `no', and `uk'. 2000-04-27 Morten Welinder * src/plugin.c (plugin_load_plugins_in_dir): Don't access memory that isn't ours to access. Constify. (plugin_data_last_modified): Constify. (plugin_data_get_title): Constify. (plugin_data_get_descr): Constify. (plugin_data_get_size): Constify. (plugin_data_get_user_data): Constify. 2000-04-27 Karl EICHWALDER * doc/translating.sgml: Typo. 2000-04-27 Jody Goldberg * src/functions/fn-lookup.c (gnumeric_offset) : Bug 9372. Both corners get offset. * src/workbook-format-toolbar.c (modify_cell_region) : Do redraws respans, and redimensions here. * src/cell.c (cell_set_format) : Do not attempt to render or redraw the value. 2000-04-27 Jon K Hellan * src/rendered-value.c (cell_rendered_height): (cell_rendered_height): Check for null pointers. Zoomed sheets with dangling references would segfault. 2000-04-27 Jody Goldberg * src/sheet.c (sheet_update) : Do not update the status or autoexpression when in edit mode. This solves a sneaky problem selecting a range for an expression on a newly created sheet. 2000-04-26 Jody Goldberg * src/gnumeric-sheet.c (start_cell_selection_at) : Only hide the primary cursor when selecting cells on a different sheet. * src/expr.c (eval_expr_real) : Pass EVAL_PERMIT_NON_SCALAR to eval_expr_real when evaluating an array. * src/cell.c (cell_set_array_formula) : typo. * src/sheet.c (sheet_find_boundary_{horizontal,vertical}) : Another thinko. * src/dialogs/cell-format.glade : Improve layout of font attributes slightly. * src/gnumeric-util.c (gnumeric_glade_xml_new) : thinko. 2000-04-26 Jody Goldberg * src/command-context.c (gnumeric_error_sys_err) : New function. * src/command-context-gui.c (ccg_error_sys_err) : Support it. * src/gnumeric-util.c (gnumeric_glade_xml_new) : Use gnumeric_error_sys_err. * src/gutils.c (gnumeric_sys_{data,lib,glade,plugin)_dir) : New functions. (gnumeric_usr_dir, gnumeric_usr_plugin_dir) : New functions. * src/plugin.c (load_all_plugins) : Use gnumeric_usr_plugin_dir, and gnumeric_sys_plugin_dir. * src/item-edit.c (point_is_inside_range) : Handle non-singleton expr start characters. 2000-04-25 Jody Goldberg * *.c : glade_new_xml -> gnumeric_glade_new_xml Localize GNUMERIC_GLADEDIR so that plugins can use it too. * src/gnumeric-util.c (gnumeric_glade_xml_new) : New function. * */Makefile.am : Set 'DATADIR' rather than GLADEDIR. And version the glade file the same way the plugins are set. This should probably expand to include architecture akin to gcc. * src/widgets/widget-editable-label.c (el_button_press_event) : Clicking in another window accepts the changes. Once we have reliquished our grab push the button event back on the queue so that it can be forwarded on to the appropriate recipient (9007). * src/parse-util.c (parse_text_value_or_expr) : Watch for 1 character strings which could start an expression. 2000-04-25 Miguel de Icaza * src/item-edit.c (entry_changed): Call complete_start here; Pass the text to scan_for_range now. (item_edit_set_arg): Create the complete_sheet object here. (item_edit_destroy): kill it here. * src/complete.c: New file. Implements the abstract auto-completion class; * src/complete-sheet.c: New file. Implements the sheet-based completion code. * src/item-edit.c (item_edit_draw_text): Take a GtkStyle instead of a GdkGC. * src/item-grid.c (create_popup_menu): Remove unrequired code. 2000-04-25 Morten Welinder * src/value.c (value_duplicate): Plug leak. * plugins/Makefile.am (SUBDIRS): Add numtheory. * plugins/numtheory/*: new files, mostly from Marko R. Riedel (mriedel@neuearbeit.de). 2000-04-26 Tuomas Kuosmanen * src/pixmaps/auto-sum.xpm: Better fitting Sigma icon for Jody. 2000-04-25 Jody Goldberg * src/pattern.c (gnumeric_sheet_patterns) : Add the rest of the patterns for applix. * src/dialogs/cell-format.glade : Add all of the new patterns. * src/dialogs/dialog-cell-format.c : Ditto. 2000-04-24 Jody Goldberg * src/workbook-private.h : Rename ea_status -> selection_descriptor Moved ea_entry here and called it edit_line. * src/workbook.c (workbook_get_entry) : new routine. * src/dialogs/function-select.glade : Made this a dialog, not a popup. * src/summary.c (summary_item_free) : format police. * src/value-sheet.c (value_area_foreach) : Ditto. * src/sheet.c (sheet_new) : Init the update flags to FALSE, rather than TRUE now that the system seems to be getting their initial state correct when importing, paging and the like. (sheet_load_cell_val) : Use workbook_get_entry. (sheet_find_boundary_horizontal) : format police. (sheet_find_boundary_vertical) : Ditto. (sheet_range_splits_array) : Ditto. (sheet_delete_{cols,rows}) : Ditto. (sheet_restore_row_col_sizes) : Ditto. (sheet_col_get_distance_{pixels,pts}) : Ditto. (sheet_row_get_distance_pixels) : Ditto. (sheet_row_get_distance_pts) : Ditto, Init accumulator. * src/selection.c (sheet_selection_set) : format police. (selection_check_for_array) : Ditto. (sheet_selection_walk_step) : Ditto. * src/sheet-view.c (horizontal_scroll_event) : Ditto. (vertical_scroll_event) : Ditto. * src/dialogs/dialog-cell-format.c : Ditto. * src/dialogs/dialog-printer.c : Ditto. * src/dialogs/dialog-workbook-attr.c : Ditto. * src/functions/fn-eng.c : Ditto. * src/functions/fn-lookup.c : Ditto. * src/functions/fn-string.c : Ditto. * src/pattern.c (gnumeric_sheet_patterns) : Add a few patterns for applix. More are needed, and these are not available in the format dialog yet. * src/number-match.c (compute_value) : Use g_strtod. (format_match) : Ditto. * src/item-edit.c : Use workbook_get_entry. * src/item-bar.c (item_bar_event) : format police. * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Do not set the focus directly. Leave that to workbook_start_editing. (gnumeric_sheet_new) : Use workbook_get_entry. * src/format.c (render_number) : format police. * src/complex.c (complex_from_string) : Use g_strtod. * src/functions/fn-database.c : Ditto. * src/colrow.c (cb_row_col_visibility) : format police. * src/main.c (gnumeric_main) : Move the workbook_style_test to the empty case. * src/mstyle.c (mstyle_set_pattern) : Add some safety. * src/number-match.c (format_match) : Handle empties. 2000-04-22 Michael Meeks * src/test.c (zero_stats, dump_stats): implement. (thrash_scroll): implement. (thrash_insert): implement. (workbook_style_test): use them. 2000-04-22 Tuomas Kuosmanen * src/pixmaps/auto-sum.xpm: New icon for Jody. 2000-04-22 Michael Meeks * src/sheet-style.c (sheet_style_attach): comment out optimization for now. * src/workbook.h (workbook_mark_clean): remove redundant prototype. * src/corba-workbook.c (Workbook_save_to): use workbook_set_dirty instead. 2000-04-21 Michael Meeks * src/sheet-style.c (sheet_style_cache_flush): update, kill inline update all cache_flushes to be more explicit. 2000-04-22 Almer. S. Tigelaar. Fixed Bug #9007 Note : Does not fix the mouse click problem, just the focus problem * src/workbook.c (workbook_attach_sheet) : Attaches a signal handler for the "editing_stopped" signal of the editable label. (sheet_label_editing_stopped_signal) : The signal handler of the "editing_stopped" signal. 2000-04-21 Chema Celorio * src/sheet.c (sheet_redraw_cell_region): small typo that was causing a MCSSRB. ( multiple cell span string redraw bug) 2000-04-21 Jody Goldberg * src/workbook.c (autosum_cmd) : Add a quick and simple auto-sum routine. * src/functions/fn-math.c (gnumeric_lcm) : Use value_new_int. (gnumeric_minverse) : Use value_new_array_non_init. (gnumeric_mmult) : Ditto. * src/functions/fn-stat.c (gnumeric_frequency) : Ditto. * src/value.c : Make Value::type a constant in preparation for changing the structure of the union to save space. * src/workbook.c (do_focus_sheet) : Use sheet_update. (workbook_calc_spans) : New routine. (workbook_mark_clean) : Delete, use workbook_set_dirty instead. * src/file.c (workbook_import) : Set the dialog parent. (workbook_read) : Use workbook_calc_spans. * src/sheet.c (sheet_row_get_distance_{pixels,pts}) : Optimize this to directly access the segmented arrays so that we can skip empty blocks. (sheet_find_boundary_{horizontal,vertical}) : Rename some variables for clarity and add some trivial optimizations to recognize when we are jumping to/from the far edge. (sheet_cell_calc_span) : Differentiate between a forced rerender and one that fills in the blanks. 2000-04-20 Jody Goldberg * src/dialogs/dialog-cell-format.c (draw_format_preview) : Don't display preview text if there is none. (dialog_cell_format) : Don't init the preview text if the cell is empty. * src/plugin.c (plugin_load) : Fix leak. * src/formats.c (currency_symbols) : Add Yen. Attempt to add a version of the Euro. It uses an iso_8859_15 encoding which is not commonly available. * src/corba-sheet.c (Sheet_cell_set_value): cell_set_value -> sheet_cell_set_value 2000-04-20 Matt Wilson * src/corba-sheet.c (Sheet_cell_set_value): sheet_cell_set_value -> cell_set_value * src/corba-sheet.c: include cell-comment.h, rendered-value.h 2000-04-20 Jody Goldberg * src/dialogs/dialog-cell-format.c : Use the edit_pos as the example not the top left corner. * src/functions/fn-stat.c (gnumeric_ftest) : Use eval_pos_cellref to help localize the strangeness. (gnumeric_ttest) : Ditto. * src/xml-io.c (xml_write_cell_and_position) : If this is an array expression and we are the top left then add attributes to indicate size of array. Ignore the rest of the array. (xml_not_used_old_array_spec) : New routinr to handle the old array format. (xml_cell_set_array_expr) : store an array. (xml_read_cell) : Handle the old and the new array formats. * src/workbook.c (workbook_close_if_user_permits) : Accept input first. (wb_edit_key_pressed) : Handle array formulas here. (workbook_detach_sheet) : Do not recalc all if we are exiting. (workbook_start_editing_at_cursor) : When we start editing an array formula display just the formula not all the extra {}()[][] crap. * src/sheet.c (SheetPrivate) : Add a recompute_spans flag. (sheet_calc_spans) : New routine. (sheet_cell_calc_span) : New routine. (sheet_range_calc_spans) : Renamed and extended from sheet_cells_update. (sheet_update) : Use sheet_calc_spans when necessary. Update the location region when the edit_pos changes. (cb_recalc_spans_in_col) : Renamed from cb_collect_cells_in_col. Recalcs spans directly, no need to collect first. (cb_set_cell_content) : New routine to set expr, or expr_and_value. (sheet_range_set_text) : Use cb_set_cell_content, and remember chosen format with the cell rather than overriding the assigned format. (sheet_cell_set_text) : Renamed from sheet_set_text. Be more specific about how spans, rendering and the rest are handled. (sheet_cell_set_expr) : New routine. (sheet_cell_set_value) : Ditto. (sheet_load_cell_val) : When displaying an array formula add {%s}()[][]. (sheet_redraw_cell_region) : Honour spans when redrawing. (sheet_redraw_partial_row) : New routine. (sheet_redraw_cell) : Ditto. (sheet_is_cell_array) : Use cell_is_array. (sheet_range_splits_array) : Renamed from sheet_check_for_partial_array. (sheet_cell_add_to_hash) : Do not touch spans at this point. (sheet_cell_insert) : Rename from sheet_cell_add made recalc span optional. (sheet_cell_new) : New routine that does not touch spans. (sheet_cell_remove) : Made redraw optional. (cb_clear_cell_comments) : Remove the cell if there is no comment. (sheet_clear_region) : Remove the cell if there are no comments or contents. Flag an update of the status region. * src/sheet-view.c (cb_colrow_resize) : New function. (sheet_view_col_size_changed) : Resize all rows, irrespective of (sheet_view_row_size_changed) : existing cells. (sheet_view_redraw_cell_region) : This no longer honours spans. * src/sheet-style.c (sheet_style_attach) : Removed call to redraw. sheet_cells_update : rename to sheet_range_calc_spans and move to sheet.c. * src/sheet-autofill.c (autofill_cell) : Use sheet_cell_set_value rather than set_text. * src/selection.c (sheet_selection_changed_hook) : Delete. (sheet_selection_extend_to) : Update the status region to display the new size. (sheet_selection_cut) : Use sheet_range_splits_array. (selection_check_for_array) : New routine. * src/parser.y : Remove icky array formula parsing that conflicted with array entries. * src/number-match.c (format_match) : Return a Value * rather than a double. * src/mstyle.c (mstyle_set_font_size) : Do not allow font sizes < 1. * src/main.c (gnumeric_main) : Do NOT create an empty workbook then delete it if things are successfully loaded. This causes a global recalc. Instead add a flag to disable exit when the number of workbooks go to zero. Then only enable the flag AFTER we have attempted to load the initial workbooks. * src/item-grid.c (item_grid_event) : Update the status_region when button-1 is release. It should display the edit_pos. * src/gutils.c : Move cell_name, col_name, col_from_name, parse_cell_name, parse_cell_name_or_range and parse_cell_name_list, to parse-util.c. * src/gnumeric.h : Add RenderedValue. * src/gnumeric-util.c (gnumeric_char_start_expr_p) : Move to parse-util.c * src/file.c (workbook_read) : Remove freese thaw usage. Move call to update AFTER mark clean. * src/expr.c (eval_pos_init) : Take a cellpos. (parse_pos_evalpos) : New routine. (eval_pos_cellref) : There is some questionable code scattered in the functions. This routing localizes the odd bits for correction. * src/eval.c (cell_eval_content) : Use sheet_redraw_cell, and rendered_value_calc_size. (cell_get_dependencies) : Improve constness. * src/corba-sheet.c : Remove the freeze thaw operations. (Sheet_cell_set_formula) : Deleted. (Sheet_range_set_formula) : Delete. * src/commands.c : Adjust so that registration of command auto calls redo. Add misc checks for splitting arrays. * src/clipboard.h : Move the CellCopy types here from cell.h * src/clipboard.c (paste_cell) : Use cell_has_expr. Don't insert the new cell till after its contents are assigned. * src/cellspan.c (cell_register_span) : Improve constness. (cell_unregister_span) : Ditto. (row_cell_get_displayed_at) : Delete. (cell_calc_span) : Moved here from cell.c * src/dialogs/dialog-stf.glade : Adjust the header background colour to match the purdy new icon. Add the icon. * src/cell-draw.c : Use the rendered_value routines. Improve constness. * src/analysis-tools.c (set_cell) : Use sheet_cell_fetch. *.* cell_set_* -> sheet_cell_set_ cell_set_*_simple -> cell_set_ Cell::{row,col} -> Cell::{row,col}_info cell_get_text -> cell_get_entered_text cell_get_content -> cell_get_entered_text cell_name -> cell_coord_name cell_get_formatted_val -> cell_get_rendered_text cell_get_content -> cell_get_entered_text * src/cell.c : (cell_dirty) : Renamed from cell_modified. Use sheet_set_dirty. (cell_formula_changed) : Make the queuing of the recalc optional. (cell_cleanout) : Handle union of expression and entered_text, and remove the rendered value. (cell_copy) : Ditto. (cell_destroy) : handle cell_modified -> cell_dirty. (cell_set_text) : Use parse_text_value_or_expr and store the prefered format. (cell_set_text_and_value) : New routine. (cell_assign_value) : New routine. (cell_set_value) : Support formats. (cell_set_expr_and_value) : New routine. (cell_set_expr_internal) : Split from cell_set_expr. (cell_set_expr) : Divide to allow for not queuing a recalc. (cell_set_array_formula) : Use cell_set_expr_internal. (cell_is_array) : New utility. (cell_is_partial_array) : New utility. (cell_has_expr) : New utility. (cell_render_value) : Use rendered_value_*. Move all comment routines into cell-comment.[ch]. * idl/Gnumeric.idl : Remove cell_set_formula, and range_set_formula. These were identical to set_text. Made Workbook embeddable. 2000-04-18 Almer. S. Tigelaar. * src/dialogs/dialog-stf-format-page.c (stf_dialog_format_page_init) : Created an stf options struct which was never freed or used * src/dialogs/dialog-stf-preview.c (stf_preview_merge_with_hash) : Somehow there was a *gigantic* leak in this routine. I simply rewrote it from scratsch because I didn't see the error. This seemed to help, because the leak is gone. :-) * src/dialogs/dialog-stf-preview.[ch] Added some 'how it works' comments on top. Should make it clear who is responsible of freeing memory and when. (stf_preview_share_hash) : Removed. I removed the hash sharing, it is obsolete and just wasted space as hashes are no longer shared between druid pages anyway. 2000-04-18 Cody Russell * src/workbook-format-toolbar.c, src/workbook.c: Make the toolbars honor the user's control-center settings regarding GnomeDock handles. 2000-04-17 Karl EICHWALDER * src/dialogs/dialog-analysis-tools.c (dialog_correlation_tool): Correct C&P errors (ACK by Jukka-Pekka Iivonen). 2000-04-17 Karl EICHWALDER * NEWS (Translations): New top. * gnumeric.desktop.in (Comment): Shorten comment. Reported by Jon K Hellan. 2000-04-16 Morten Welinder * src/eval.c (cell_add_explicit_dependency): Quiet a bit. * src/functions/fn-lookup.c (gnumeric_match): Fix. * src/functions/fn-financial.c (finance_functions_init): Define a ton of stubs. (We appear to have everything now.) 2000-04-16 Valek Filippov * src/functions/fn-math.c: Typos fixed ("@" and "\n"). 2000-04-15 Morten Welinder * src/functions/fn-stat.c (gnumeric_quartile): Fix for empty case. * src/xml-io.c (xml_free_arg_list): Plug leak. 2000-04-15 Karl EICHWALDER * src/dialogs/dialog-cell-sort.c (order_box_new): Mark as translatable. 2000-04-15 Morten Welinder * src/Makefile.am (GNUMERIC_BASE_SOURCES): Delete print-preview.[ch] * src/print.c: Kill many #includes. 2000-04-15 Karl EICHWALDER * src/dialogs/dialog-zoom.glade, src/dialogs/dialog-zoom.glade.h (N_): Make labels conforming. 2000-04-15 Karl EICHWALDER * configure.in (ALL_LINGUAS): Sort alphabetically. 2000-04-15 Jon K Hellan * configure.in: Require gnome-print >= 0.18 2000-04-15 Miguel de Icaza * src/print.c (print_headers): Use black for printing the headers and footers. 2000-04-14 Karl EICHWALDER * gnumeric.desktop.in: Exchange Name/Comment. Adjust the values for de. 2000-04-14 Miguel de Icaza * src/selection.c (selection_is_simple): Use an internationalizable version of the message here. 2000-04-10 Miguel de Icaza * Lots of files: replaces utils.h for gutils.h * renamed utils.h to gutils.h to avoid the compilation problem on some Unices (yes, fixing the Makefile would have done it, but utils.h was still a lame name; Of course gutils.h is not any better, but it is now don). 2000-04-14 Michael Meeks * src/*: s/ENABLE_BONOBO_PRINT/ENABLE_BONOBO/ 2000-04-14 Karl EICHWALDER * src/file.c (wants_to_overwrite): Add missing dot. 2000-04-14 Jody Goldberg * src/print.c : make ENABLE_BONOBO_PRINT conditional on ENABLE_BONOBO. 2000-04-14 Michael Meeks * src/print.c (print_job_info_get): setup sheet object list. (print_job_info_destroy): check it. (print_sheet_range): build a list of pre-printed sheet objects. (print_page_object): updated. * src/sheet-object-bonobo.c (sheet_object_bonobo_print): simplify muchly to new API. 2000-04-11 Michael Meeks * configure.in: Bump required gb version. 2000-04-13 Karl EICHWALDER * src/about.c (dialog_about): Add missing dot :) 2000-04-12 Miguel de Icaza * configure.in: New version of Gnumeric coming out. New version of gnumeric coming out. 2000-04-12 Jon K Hellan * src/history.c (history_menu_item_create): Really add accelerators to history menu item * src/dialogs/dialog-analysis-tools.c (dialog_random_tool): Bug: Dialog would quit when combo list was popped via keyboard. Fix: Remove gnome_dialog_editable_enters from distribution combo. 2000-04-11 Jon K Hellan * src/dialogs/dialog-zoom.c (focus_to_custom): New callback: Set focus to custom spinbutton when custom radiobutton is checked. (dialog_zoom_impl): Connect the callback. * src/dialogs/dialog-analysis-tools.c (focus_on_entry): New callback: Set focus to output range entry when output range radiobutton is checked. (set_output_option_signals): Connect the callback. (distribution_parbox_config): Only add accelerator if we've got one. 2000-04-11 Morten Welinder * src/print.c (sheet_print): Supply new landscape argument to preview. 2000-04-11 Jody Goldberg * src/solver-lp.c (make_solver_arrays) : Make more robust in the face of missing variables or constraints. * src/eval.c (cell_eval_content) : Handle the case of a cell without a formula more gracefully. 2000-04-10 Jody Goldberg * src/file.c (workbook_read) : Force clean after post load recalc. * src/sheet-view.c (sheet_view_col_selection_changed) : keep the moving col visible. (sheet_view_row_selection_changed) : Keep the moving row visible. * src/item-grid.c (item_grid_find_col) : Tune iteration bounds to improve speed and allow for scrolling back to the first col/row. * src/item-cursor.c (item_cursor_autofill_event) : Pass the coords of the cell we want to keep visible rather than the top left corner. (item_cursor_set_bounds_visibly) : Rename the parameters to reflect their real purpose. 2000-04-09 Morten Welinder * configure.in (gnome-print): Need 0.17. * src/print.c (print_page): Put page numbers into (post script) file. (print_page): Move setup_rotation into page loop. 2000-04-11 Michael Meeks * src/parser.y: correct include. * src/cell.c (cell_set_rendered_text): move up to before its first use. 2000-04-09 Dom Lachowicz * src/sheet.h: Rename member "private" -> "priv" in case anyone in the future writes a plugin / module written in C++ * src/sheet.c (sheet_new, sheet_flag_status_update_cell, sheet_flag_status_update_page, sheet_update, sheet_destroy, sheet_set_edit_pos, sheet_insert_cols, sheet_delete_cols, sheet_insert_rows, sheet_delete_rows, sheet_restore_row_col_sizes, sheet_col_set_size_pts, sheet_col_set_size_pixels, sheet_row_set_size_pts, sheet_row_set_size_pixels): Same * src/corba-sheet.c (sheet_corba_setup, sheet_corba_shutdown): Same * src/corba-workbook.c (corba_sheet): Same * src/embeddable-grid.c (Grid_get_sheet): Same * src/sheet-vector.c (sheet_vector_attach, sheet_vector_detach, sheet_vectors_cell_changed, sheet_vectors_shutdown): Same 2000-04-07 Miguel de Icaza * src/cellspan.c (span_remove): Pretify code. 2000-04-10 Jody Goldberg * src/file.c (workbook_read) : Do NOT recalc on load for now even though there are are queued cells that desire it. This will prematurely mark the sheet as dirty. This will need to be revisited. * src/cell.c (cell_set_rendered_text) : Make static. * src/cell.c (cell_calc_dimensions) : Be careful to recalculate spans that centered on other cells when calculating the span for a new cell. 2000-04-09 Michael Meeks * src/sheet-object-bonobo.c (sheet_object_bonobo_class_init): add print hooks. * src/sheet-object-graphic.c (sheet_object_graphic_print): implement. (sheet_object_graphic_class_init): setup print method 2000-04-09 Jody Goldberg * src/dialogs/dialog-cell-format.c : Do not change the target style if editing has not yet been enabled. * src/workbook.c (workbook_set_saveinfo) : If the save function is NULL default to xml. * src/format.c (format_value) : Add some error checking. * src/cell.c (calc_text_dimensions) : Make static * src/main.c : Add main.h 2000-04-03 Dom Lachowicz * src/workbook.c (sheet_action_reorder_sheet): Right click on a sheet tab, and if there's more than one sheet, you'll get an option to bring up the re-order sheets dialog * src/dialogs/dialog-plugin-manager.c (refresh_right_frame) : Do not override default fonts and colours. * src/dialogs/sheet-order.glade, * src/dialogs/sheet-order.glade.h, * src/dialogs/dialog-sheet-order.c (row_cb, delete_clicked_cb, up_clicked_cb, down_clicked_cb, close_clicked_cb, dialog_sheet_order_impl) : Improve look by moving buttons to the right edge rather than using stock buttons on the bottom and side. 2000-04-07 Jody Goldberg * src/workbook.c (workbook_finish_editing) : resensitize the toolbars after editing. (workbook_start_editing_at_cursor) : Desensitize the toolbars when we start to edit. 2000-04-09 Morten Welinder * src/sheet-style.c (sheet_unique_cb): Plug leak. * src/sheet-view.c (sheet_view_comment_relocate): Leak plug (for Jody). 2000-04-09 Michael Meeks * src/print.c (print_page_object): implement. (print_page): add hook. * src/sheet-object.c (sheet_object_print): implement. (sheet_object_class_init): setup default print behavior. * src/sheet-object.h: Add virtual method 'print' * src/dialogs/dialog-cell-format.c (fmt_dialog_init_format_page): free list after creation. (fmt_dialog_impl, cb_notebook_destroy): pass the signal id without using the FormatState that is free'd by the time we destroy the notebook. 2000-04-09 Jon K Hellan * src/workbook.[ch] (workbook_class_init): Put "cell_changed" signal back in. * src/sheet.c (sheet_load_cell_val): Ditto. 2000-04-06 Michael Meeks * src/sheet-style.c (sheet_style_relocate): use range_translate to shrink code size + set a blank style under the moved styles to get correct behavior: this routine needs optimizing sometime. 2000-04-09 Morten Welinder * src/sheet.h (ParsePositions): Add sheet. * src/expr.c (parse_pos_init): New arg sheet. All callers changed. * src/parser.y (gnumeric_expr_parser): Use pp->sheet. 2000-04-08 Jon K Hellan (sheet_name_quote): Quote embedded quotes. 2000-04-08 Morten Welinder * src/xml-io.c (xml_read_solver): Plug leak. * src/functions/fn-financial.c (gnumeric_xnpv): Plug leak. 2000-04-08 Almer. S. Tigelaar. * src/dialogs/dialog-stf-csv-page.c (csv_page_global_change) : Result of gtk_editable_get_chars was not freed. (2x) * src/stf-parse.c (stf_parse_region) : Only the last item of the GSList's would be freed (stf_parse_sheet) : ditto 2000-04-08 Jon K Hellan * src/sheet.c (cellref_name): Remove unused variable. 2000-04-08 Jon K Hellan * src/sheet.h (struct _Sheet): Replace member name with name_quoted and name_unquoted. In name_quoted, names with spaces or quote characters are protected with quotes. * src/analysis-tools.c (prepare_output): Use workbook_sheet_get_free_name to ensure that we don't create more than one sheet with the same name. * src/eval.c (dump_cell_list, sheet_dump_dependencies): Dump sheet->name_unquoted instead of sheet->name. * src/expr-name.c (name_sheet_title): Make value from sheet->name_quoted instead of sheet->name. FIXME: Is this correct? * src/gnumeric-sheet.c (selection_insert_selection_string): Make selection string from sheet->name_quoted instead of quoting sheet->name here. * src/print-info.c (render_tab): Render sheet->name_unquoted instead of sheet->name. * src/print-preview.c (create_toplevel): Use sheet->name_unquoted instead of sheet->name in window title. * src/selection.c (sheet_selection_to_string, range_to_string): Make reference string from sheet->name_quoted instead of quoting sheet->name here. * src/sheet.[ch] (sheet_quote_name): Rename to sheet_name_quote. Take name_unquoted parameter, not a sheet. * src/sheet.c (sheet_rename, sheet_new): Set both sheet->name_quoted and sheet->name_unquoted. (sheet_destroy): Free both sheet->name_quoted and name_unquoted. (cellref_name): Make reference from sheet->name_quoted instead of quoting sheet->name here. * src/test.c (thrash_sheet): Use sheet->name_unquoted instead of sheet->name in debug output. * src/value-sheet.c (value_dump): Dump sheet->name_quoted instead of quoting sheet->name here. (encode_cellref): Use sheet->name_quoted instead of quoting sheet->name here. * src/workbook.[ch] (workbook_sheet_get_free_name): Make it more generally useful: Add "base" and "always_suffix" parameters. The caller should now select the base to make the name from (e.g. "Sheet"), and specify whether or not a suffix should be added when the name "base" is not in use. * src/workbook.c (insert_sheet_cmd): Use new signature of workbook_sheet_get_free_name. (workbook_rename_sheet): Insert unquoted name in hash table. (sheet_label_text_changed_signal): Remove test for quote characters in sheet name. (sheet_action_delete_sheet): Prompt with name_unquoted instead of name. (sheet_action_rename_sheet, workbook_attach_sheet): Use name_unquoted instead on name. (workbook_detach_sheet): Use sheet->name_unquoted as hash key instead of sheet->name. * src/workbook-cmd-format.c (workbook_cmd_format_sheet_change_name): Use name_unquoted instead on name. * src/xml-io.c (xml_sheet_write): Output sheet->name_unquoted instead of sheet->name. * src/dialogs/dialog-sheet-order.c (dialog_sheet_order_impl): Make list header passive. (add_to_sheet_clist, delete_cb): Substitute sheet->name_unquoted for sheet->name. * src/dialogs/dialog-zoom.c (dialog_zoom_impl): Ditto. 2000-04-08 Jon K Hellan * src/dialogs/dialog-analysis-tools.c (struct random_tool_callback_t): Use gladified random dialog: changed most members. (struct DistributionStrs): New struct to hold name to show in list and parameter labels for a random distribution. (distribution_strs): Change to a DistributionStrs struct. (output_range_selected): New callback function. This is part of a change which selects the corresponding toggle button when the output range field is entered. This works for all gladified dialogs in this file. (set_output_option_signals): Set up output_range_selected callback on output range field. The widget is retrieved by name, so widget names in analysis-tools.glade had to be changed. (dialog_correlation_tool, dialog_covariance_tool, dialog_ttest_paired_tool, dialog_ttest_eq_tool, dialog_ttest_neq_tool, dialog_ftest_tool, dialog_average_tool, dialog_ranking_tool, dialog_anova_single_factor_tool, dialog_anova_two_factor_without_r_tool): New widget name for output range field. (dialog_correlation_tool, dialog_covariance_tool, dialog_ttest_paired_tool, dialog_ttest_eq_tool, dialog_ttest_neq_tool, dialog_ftest_tool, dialog_average_tool, dialog_ranking_tool, dialog_anova_single_factor_tool, dialog_anova_two_factor_without_r_tool): Make in entry fields activate default button. (distribution_strs_find, distribution_parbox_config, combo_get_distribution, dialog_random_realized): These new functions are helpers for gladified random generation dialog. (distribution_strs_find): Find strings record, given distribution enum. (distribution_parbox_config): Configure parameter widgets given random distribution. (combo_get_distribution): Find from combo the distribution the user selected. (distribution_callback): Configure parameter widgets for the distribution which was selected. (dialog_random_realized): Make initial geometry of distribution table permanent. (dialog_random_tool): Libgladify. This is a complete rewrite. Other changes: Make the "distribution" variable function static instead of file static. Rebuild the dialog each time it is displayed. This is like the other libglade dialogs in this file. Make in entry fields activate default button. Get random distribution name and parameter label strings from distribution_strs struct. Use a "realized" callback to make initial geometry permanent. Unref accel group for distribution parameter widgets when dialog is destroyed. * src/dialogs/analysis-tools.glade (All dialogs): Remove ':' from frame labels. Add accelerators. Rename output range entry widgets to xxx_output_range_entry. Minor output options tweaks. (FTest dialog, TTest1 dialog, TTest2 dialog, TTest3 dialog): Use alignment and fill instead of spaces to place label strings. (Anova2 dialog, MovingAverage dialog): Use table in input frame so that entry fields are aligned. (Random dialog:) New dialog. 2000-04-07 Morten Welinder * src/selection.c (sheet_selection_reset_only): Free the right list. (sheet_is_range_selected): Avoid double assignment. (sheet_is_cell_selected): Ditto. * src/history.c (history_menu_remove_items): Plug leak. 2000-04-07 Jody Goldberg * src/embeddable-grid.h (GridViewClass) : Fix typo, did this ever work ? * src/workbook.c (workbook_move_sheet) : Mark the book as dirty when a sheet moved. (insert_sheet_cmd) : Mark book as dirty when sheet is added. (workbook_attach_sheet) : Add a precondition to avoid failing in the bonobo case. 2000-04-07 Morten Welinder * src/collect.h (CollectFlags): Get rid of COLLECT_IGNORE_POSITIVE and COLLECT_IGNORE_NEGATIVE. * src/collect.c (callback_function_collect): Don't have the above flags. * src/functions/fn-financial.c (irr_npv_df): New function. (gnumeric_irr): Use irr_npv_df for better results. (gnumeric_ipmt, gnumeric_ppmt): Fix order of arguments! (It works so much better that way.) (gnumeric_mirr): Fix formula. * src/goal-seek.c (update_data): Spelling fix. * src/functions/fn-financial.c (gnumeric_rate, gnumeirc_irr, gnumeric_xirr): Use the supplied guess. 2000-04-06 Jody Goldberg * src/xml-io.c (gnumeric_xml_read_workbook) : No need to recalc, the loader handles it. * src/file.c (workbook_read) : Do a recalc and sheet_update after loading. Wrap entire process in deep_{freeze,thaw}. * src/expr.c (eval_expr) : Fix thinko. * src/functions/fn-string.c : Add func 'expression' to return text of formula. * src/parser.y : It is illegal to write A1:Sheet2!A3. * src/value.c (value_new_cellrange) : Take the eval pos so that we can correctly invert mixed mode references when necessary. * src/expr.c (cell_ref_make_abs) : New routine. (expr_relocate) : Handle changes in value_new_cellrange. * src/func.c (function_marshal_arg) : Ditto. * src/ranges.c (range_parse) : Ditto. * src/corba-sheet.c (Sheet_cell_set_value) : No need to check these references. They seem to be hard coded to be relative. * src/functions/fn-lookup.c (gnumeric_offset) : Begin to handle relative references. * src/sheet.c (cellref_get) : Simplify the logic a smidge. * src/workbook.c (workbook_finish_editing) : Restore the edit area manually for now. We may need to make the update flags finer grain. 2000-04-05 Jody Goldberg * src/stf-parse.c (stf_parse_options_new) : Init oldsplitpositions. * src/dialogs/dialog-stf-format-page.c (stf_dialog_format_page_init) : Init format_run_parseoptions. 2000-04-05 Morten Welinder * src/workbook.c (workbook_do_destroy): Unref, not destroy, the wb->priv->gui_context member. (Plugs leak.) 2000-04-05 Jody Goldberg * (*.[ch]) : merge eval_expr, eval_expr_nonempty, eval_expr_empty. * src/xml-io.c (xml_write_attributes) : remove unused variable. (xml_read_attribute) : Fix warning. * src/clipboard.c (x_selection_received) : Cache the Sheet* before freeing the closure. * src/workbook-format-toolbar.c (workbook_feedback_set) : Disable callbacks when setting the font status. This avoids applying a spurious format. 2000-04-05 Miguel de Icaza Fix #8326 * src/print-info.c (print_info_new): Test was reversed here, so we were actually flipping the orientation for printing. * src/print.c (print_sheet_range): Now the routine returns the number of pages printed, and can be directed not to generate actual output. (print_sheet_range): Do column/row fitting for the other printing order as well. (compute_sheet_pages): Support both empty-page printing, and non empty-page printing. (print_page): Can now print and detect if there is anything to print. 2000-04-05 Jody Goldberg * src/commands.c (cmd_paste_cut_undo) : Use sheet_update and force a status update. (cmd_paste_cut_redo) : Ditto. Change the selection here. * src/sheet.c (sheet_flag_status_update_range) : Handle NULL ranges. * src/selection.c (sheet_selection_add_range) : Use sheet_flag_status_update_range rather than an immediate call to selection_changed_hook (that is deprecated). (sheet_selection_move) : Delete. (sheet_selection_paste) : Use sheet_update. * src/clipboard.c (clipboard_paste_region) : Remove unnecessary and incorrect code to do status updates. The selection mechanism handles it already. (x_selection_received) : Use sheet_update. * src/about.c (dialog_about) : Add Almer. 2000-04-05 Michael Meeks * src/sheet-style.c (sheet_style_compute): kill leak. (sheet_destroy_styles): destroy hash. 2000-03-25 Michael Meeks * src/sheet-object-bonobo.c (sheet_object_bonobo_load): Add warnings and fixup. 2000-04-05 Morten Welinder * src/about.c (dialog_about): Re-establish sorting (except Sir Miguel). 2000-04-05 Jody Goldberg * src/functions/fn-logical.c (gnumeric_if) : Use eval_expr_nonempty and permit non-scalars. * src/functions/fn-lookup.c (gnumeric_choose) : Ditto. * src/functions/fn-math.c (gnumeric_sumproduct) : Ditto. * src/functions/fn-information.c (get_value_class) : Use eval_expr_empty, and permit non-scalars. * src/func.c (function_iterate_argument_values) : Permit non-scalar values. (function_marshal_arg) : Be more specific about what types of argument must be scalar. 2000-04-04 Jody Goldberg * src/functions/fn-math.c (gnumeric_sumproduct) : eval_expr_nonempty and permit non-scalars. * src/functions/fn-lookup.c (gnumeric_choose) : Ditto. * src/expr-name.c (eval_expr_name) : Accept 'as_scalar' as an argument use eval_expr_empty. * src/expr.c (eval_expr_real) : Push the common cases for implicit intersection further down for a big speed improvement. (eval_expr_nonempty) : New routine. (eval_expr_empty) : Accept as_scalar. 2000-04-04 Jody Goldberg * src/item-grid.c (item_grid_button_1) : sheet_update after button press that changes selection. 2000-04-04 Jody Goldberg * src/print.c (print_hf) : Add precautions in an attempt to address http://bugs.gnome.org/db/82/8200.html I can not replicate it, but it can't hurt to be more careful just in case. 2000-04-04 Miguel de Icaza * src/item-cursor.c (item_cursor_autofill_event): Flush the canvas updates 2000-04-04 Jody Goldberg * src/workbook.c (workbook_class_init) : Remove CELL_CHANGED. (workbook_finish_editing) : At LAST! cmd_set_text is responsible for setting the text directly :-) * src/workbook-format-toolbar.c (change_font_size_in_selection_cmd) : cmd_format takes care of the height adjustments. * src/dialogs/dialog-cell-format.c (cb_fmt_dialog_dialog_apply) : Ditto. * src/sheet.c (Sheet): Add flags edit_pos_changed, selection_content_changed. (sheet_new) : init them. (sheet_flag_status_update_cell) : New function that sets the flags. (sheet_flag_status_update_range) : Ditto. (sheet_update) : Fix typo. Add support for new flags. (sheet_update_auto_expr) : Const correctness. (sheet_update_controls) : Ditto. (sheet_load_cell_val) : Ditto. Delete unused signal. (sheet_set_text) : Use sheet_flag_status_update_range. (sheet_set_edit_pos) : New routine. (sheet_cursor_move) : Delete. (sheet_fill_selection_with) : Remove. * src/selection.c (sheet_selection_changed_hook) : const correctness. (sheet_selection_change) : merge into sheet_selection_set. (sheet_selection_extend_to) : Use sheet_selection_set. (sheet_selection_set) : Merge with sheet_selection_change and use the sheet_cursor accessors rather than changing things directly. (sheet_selection_walk_step) : Use sheet_selection_set, and sheet_set_edit_pos. (sheet_is_all_selected) : const correctness. (sheet_is_cell_selected) : New routine. (sheet_is_range_selected) : New routine. * src/item-grid.c (item_grid_draw_background) : Adjust to rename of * sheet_selection_is_cell_selected -> sheet_is_cell_selected. * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Cleanup the logic for creating fills and arrays so that it can have undo support. - Change the heuristic for selecting what type of characters can start an edit session. Rather than using fixed Latin1 centric codes, guess that the 'length' field of the event is >0 if the character is printable. Be more careful NOT to forward characters to the entry if we are not editing. - Use sheet_update. * src/commands.c (command_pop_list_top) : Delete. (cmd_format_redo) : Apply the height adjustment here. (cmd_set_area_*) : Implement. (*) : Use sheet_update. * src/colrow.c (rows_height_update) : Moved here and generalized from sheet_selection_height_update. * src/clipboard.c (sheet_paste_selection) : No need to call sheet_cursor_set. sheet_selection_add_range already does that. (clipboard_paste_region) : Flag updates to the status display if something changes. 2000-04-04 Jon K Hellan * src/sheet-view.c (sheet_view_set_zoom_factor): Call gnumeric_sheet_make_visible only if sheet widget is realized. (sheet_view_make_edit_pos_visible): New function: Make the cell at the edit position visible. (sheet_view_size_allocate): Add call to sheet_view_make_edit_pos_visible. * src/gnumeric-sheet.c (gnumeric_sheet_make_cell_visible): Add comment. * src/xml-io.c (xml_sheet_read): Read zoom into a local variable before calling sheet_set_zoom_factor. Otherwise, sheet_set_zoom_factor would assume that it had already initialized this factor. * src/workbook.c (change_zoom_in_current_sheet_cb): No longer call change_displayed_zoom_cb, sheet_set_zoom_factor will call it indirectly. * src/workbook.[ch] (workbook_class_init, workbook_focus_current_sheet, workbook_create_standard_toobar): Rename "sheet_changed" signal to "sheet_entered". Remove "cell_changed" signal. (workbook_focus_current_sheet): Rename "sheet_changed" signal to "sheet_entered". (workbook_zoom_feedback_set): New function: Update zoom combo in toolbar when zoom changes. * src/sheet.c (sheet_update_zoom_controls): New function: Update zoom controls when zoom changes. (sheet_set_zoom_factor): Use it. (sheet_load_cell_val): Do not emit "cell_changed". * src/dialogs/dialog-cell-format.c (cb_fmt_dialog_dialog_apply): Call sheet_update_controls to update toolbar controls. * src/history.c (file_history_cmd): Remove pristine workbook when a new one is read in. For consistency with File/Open, File/Import and Bonobo File/History. * src/dialogs/dialog-workbook-attr.c (cb_attr_dialog_dialog_apply): Include workbook-view.h to get prototype for workbook_view_pref_visibility. * src/border.h (style_border_print): Remove bogus const in prototype. Reported by Aron Griffis. 2000-04-02 Jody Goldberg * src/item-edit.c (entry_changed) : Call scan_for_range here. (item_edit_set_arg) : And here. (recalc_spans) : But NOT here. Calling request_update while updating any other canvas item is bad. * src/item-cursor.c (item_cursor_set_bounds) : remove ugly hack. 2000-04-02 Jody Goldberg * doc/stf-parser.txt : Add description of double quote handling. * src/stf-parse.c (stf_parse_options_new) : Init indicator_2x_is_single and duplicates. (stf_parse_options_csv_set_indicator_2x_is_single) : New function. (stf_parse_csv_cell) : Add logic to optionaly treat double quotes as a single escaped quote. * src/dialogs/dialog-stf-csv-page.c : Add the double quote checkbox. * src/dialogs/dialog-stf.glade : Ditto. 2000-04-02 Jody Goldberg * src/gnumeric-sheet.[ch] (gnumeric_sheet_get_cell_bounds) : Delete. * src/item-edit.c (item_edit_init) : Init the feedback_cursor to NULL. * src/item-cursor.c (item_cursor_set_bounds) : HACK to force the canvas to honour update requests. 2000-04-01 Jody Goldberg * docs/C/func.defs, docs/C/functions.sgml : Regenerate. * src/functions/*.c : Adjust some 'See Also' tags to point to existing functions. * src/workbook.c (workbook_menu_format_sheet) : Do not use GNOMEUIINFO_TOGGLEITEM as it requires an xpm, and bonobo crashes when fed a NULL xpm. 2000-03-31 Jody Goldberg * src/workbook.c : Switch over to using GNOMEUIINFO_ITEM_ where possible. (cb_editline_focus_in) : Do not start editing if we are already editing. * src/utils.c (parse_cell_name) : constness. * src/style.c (style_font_gdk_font) : constness. (style_font_gdk_font) : ditto. (style_font_gnome_font) : ditto. (style_font_get_height) : ditto. * src/sheet.c (sheet_set_zoom_factor) : redimension all cells, rather than the sparse sheet region. Do not auto-resize. (sheet_cell_add) : Adjust to new calling convention for cell_calc_dimensions. (sheet_stop_editing) : Rename from sheet_destroy_edit_cursor. * src/sheet-view.c (sheet_view_get_style_font) : constness. * src/gnumeric-sheet.c (gnumeric_sheet_create_editing_cursor) : No need to set all those arguments. (destroy_item_editor) : Merge into gnumeric_sheet_stop_editing. (gnumeric_sheet_stop_editing) : Renamed from gnumeric_sheet_destroy_editing_cursor. * src/cell.[ch] (cell_set_rendered_text) : Adjust to new calling convention for cell_calc_dimensions. (cell_calc_dimensions) : Adjust calling convetion to make auto resizing optional. (calc_text_dimensions) : Adjust calling convention to directly set size. * src/sheet-style.c (re_dimension_cells_cb) : Adjust to new calling convention for cell_calc_dimensions. * src/item-edit.c : Major rework to behave better at margins, correctly handle cells whose display contents span differently than their displayed values, multi-line display mechanics, and a blinking cursor :-) 2000-03-31 JP Rosevear * src/xml-io.c (xml_read_attribute): Allow per type reading of the "Attribute" xml node so that complex types can sort themselves out. (xml_write_attribute): Allow per type writing of the "Attribute" xml node so that complex types can write themselves appropriately. (xml_write_attributes): Tidy and use xml_write_attribute. (xml_read_attribute): Tiday and use xml_read_attribute. 2000-03-29 Jody Goldberg * src/dialogs/dialog-cell-format.c (cb_font_changed) : Use the size from the selector rather than the display size with is zoom and resolution dependant. * src/main.c (has_gnumeric_been_compiled_with_guile_support) : A little test to circumvent the problems associated with the guile pluging requiring changes to gnumeric's main(). 2000-03-30 Kjartan Maraas * gnumeric.spec.in: Make it build a RPM. 2000-03-29 Jon K Hellan * src/workbook-format-toolbar.c (workbook_create_format_toolbar): Add titles for torn off combos. * src/workbook.c (workbook_create_standard_toobar): Ditto 2000-03-28 Jon K Hellan * src/xml-io.c (xml_arg_get): Really silence warnings. * src/print.c (print_footers): Dont't change footer points. * src/xml-io.c (xml_arg_get): Silence format conversion warnings. * src/dialogs/names.glade: Put the list inside a scrolled window. 2000-03-28 Miguel de Icaza * configure.in (GB_LIBS): Require Gtk 1.2.7 here too. * gnumeric.spec.in (Requires): Updated the requirements for Gnumeric here. 2000-03-26 Miguel de Icaza * src/dialogs/Makefile.am (glade_msgs): Added a new missing file. Guys. If you add a .glade file, PLEASE make sure you add the .glade.h file. This is just embarassing to see all of these releases done just because nobody ever cares to add the files properly. 2000-03-27 Nick Lamb * configure.in: Consistency, consistency, consistency When checking for gnome-print 0.14, say 0.14 not 0.13 2000-03-26 Jon K Hellan * src/file.c (can_try_save_to): Brown paper bag error. 2000-03-26 Jon K Hellan * src/file.c (wants_to_overwrite): New function. True if user wants to overwrite. (can_try_save_to): New function. True if it makes sense to try saving. (do_save_as): New function. Moved out of workbook_save_as. Handle the selection made in the save as dialog. * src/workbook.c (sheet_action_delete_sheet): Set initial focus. 2000-03-26 Karl EICHWALDER * src/workbook.c: A little bit more text. 2000-03-26 Jon K Hellan * configure.in: Make Bonobo version require Bonobo >= 0.9. We have in fact been requiring CVS Bonobo for a while, now there is a released version we can depend on. 2000-03-26 Miguel de Icaza * src/ranges.c (range_parse): Better parser, now it correctly parses "A1+sum(A3:a4)" as a1, not as a1:a4. (range_parse): Eliminates also a memory leak. 2000-03-26 Jody Goldberg * src/workbook-format-toolbar.c (change_font_size_in_selection_cmd) : default size is 10 points. (workbook_create_format_toolbar) : Switch the size selector over to gtk-combo-text too. 2000-03-26 Almer. S. Tigelaar. * src/plugin-util.c, src/plugin-util.h: New, ment for reducing some duplicate code in the plugins and provide better error reporting. modified the ff-csv plugin to use the new functions. 2000-03-25 Jody Goldberg * src/sheet.c (sheet_{col,row}_set_size_pts) : Set the update flags. * src/workbook.c : Add undo/redo elements. 2000-03-25 Jody Goldberg For Dom Lachowicz * src/plugin.[ch] (plugin_data_get_size, plugin_data_last_modified) : New functions. (plugin_load): updated * src/dialogs/dialog-plugin-manager.c (dialog-plugin-manager-impl, refresh-right-frame): updated. * src/dialogs/plugin-manager.glade, src/dialogs/plugin-manager.glade.h New layout, enabled word-wrap in description, Other aesthetic changes 2000-03-25 Jody Goldberg * src/workbook.c : Add undo/redo elements to the toolbar. * src/workbook-format-toolbar.c (change_font_in_selection_cmd) : Switch to the gnumeric gtk-combo-text. (workbook_create_format_toolbar) : Pass in a default colour. (fore_color_changed) : Handle the NULL indicator as auto colour. Hard code to black for now. (back_color_changed) : Handle the NULL indicator as no background. 2000-03-25 Jon K Hellan * src/dialogs/workbook-attr.glade: Deflickerize + set initial focus. 2000-03-25 Jody Goldberg * src/print.c (print_page) : Call setup_rotation unconditionally it will decide when to rotate. Honour the repeat_{top,left}.use flags. (print_page) : Add a clip path around the entire page to ensure that spans get clipped at the margin. (print_job_info_init_sheet) : Use the repeat_{top,left}.use flags. * src/commands.c (cmd_ins_del_row_col_{redo,undo}) : Use sheet_update. * src/sheet.c (sheet_insert_{cols,rows}, sheet_delete_{cols,rows}) : Set the visibility notification flags. (sheet_restore_row_col_sizes) : Ditto. 2000-03-25 Almer. S. Tigelaar. * src/dialogs/dialog-stf.h, src/dialogs/dialog-stf.c : Added a stf_dialog prefix to all functions and changed dialog_stf into stf_dialog, this makes more sense as the same naming convention was used in src/stf-parse.[ch] and src/dialogs/dialog-stf-preview.[ch] * src/dialogs/dialog-stf-main-page.c : idem * src/dialogs/dialog-stf-csv-page.c : idem * src/dialogs/dialog-stf-fixed-page.c : idem * src/dialogs/dialog-stf-format-page.c : idem * src/dialogs/dialog-stf-preview.c : idem * src/stf.c : Uses the renamed functions * src/clipboard.c : idem 2000-03-24 Miguel de Icaza * src/file.c (workbook_import): Destroy the toplevel not the hack_dialog. * src/dialogs/dialog-stf.c (dialog_stf_druid_page_cancel): Quit the event loop. Should fix #cd 7782 * src/workbook.c (workbook_set_arg): Add missing breaks to the argument code. 2000-03-25 Michael Meeks * src/ranges.c (range_fragment_list_clip): totaly re-write. (ranges_dump): implemented. * src/sheet-style.c (sheet_unique_cb): use frags not middle_list to calculate the style ( doh! ). 2000-03-24 Michael Meeks * src/ranges.c (range_overlap): kill (range_split_ranges): kill inline, it ruins debugging. * src/ranges.h (range_overlap): Macroify + add misc. documentation. * src/ranges.c (range_fragment_list_clip): fix frightening logic bug. 2000-03-22 Michael Meeks * src/ranges.c (range_fragment_list_clip): kill supid bug removing list items whilst iterating the list + add the clip region to the list temporarily. 2000-03-24 JP Rosevear * src/dialogs/workbook-attr.glade.h: Dialog translation header. * src/dialogs/workbook-attr.glade: New dialog file for workbook attributes. * src/dialogs/dialog-workbook-attr.c : New file to display a workbook attribute dialog. (dialog_workbook_attr): Basic preparation. (attr_dialog_impl): Setup the dialog and display it. (attr_dialog_init_view_page): Initialize the view tab of the workbook. (cb_show_hsb_toggled): Widget callback (cb_show_vsb_toggled): ditto (cb_show_tabs_toggled): ditto (cb_attr_dialog_dialog_destroy): Destroy callback. (cb_attr_dialog_dialog_apply): Apply callback - this needs to be more sophisticated and use a command for undo/redo purposes. * src/dialogs/Makefile.am: Setup for new files. * src/dialogs/dialogs.h: Define new dialog function. * src/workbook.c : Update menus for new workbook dialog under the format menu and remove now unused callbacks. (workbook_get_arg): Put breaks in so we don't get stupid errors. (workbook_set_arg): ditto (workbook_attr_cmd): New call back for menu option * src/xml-io.c (xml_arg_set): Add more types for conversion. (xml_arg_get): Add more types for conversion. 2000-03-24 Jody Goldberg * src/expr.c (cellref_relocate): Simply code to implement correct logic. * src/main.c : Add debug_excel_objects. 2000-03-24 Jody Goldberg From: Sebastian Wilhelmi * src/functions/fn-lookup.c (gnumeric_lookup): Use the bound and the index for the destination rather than the source. 2000-03-24 Jody Goldberg * src/gnumeric-sheet.c (gnumeric_sheet_set_left_col): Fix cut-n-paste-o. 2000-03-24 Tuomas Kuosmanen * src/pixmaps/function_selector.xpm: New pixmap for Function Selection Wizard * src/pixmaps/sort-ascending.xpm * src/pixmaps/sort-descending.xpm: New versions of the sort icons, we dont sort by numeric value so we dont want to use 123 in the icon either. Instead we use A..Z and Z..A. 2000-03-23 Jody Goldberg * src/cell.c (cell_set_text_simple): Do NOT set the entered text when importing non string values. There are still gotchas elsewhere. eg enter 90 format to current and edit box shows something that we can not parse. 2000-04-23 Morten Welinder * src/history.c (history_menu_remove_items): Don't crash. * src/regression.c (general_linear_regression): Don't do extra_stat in case of error. (general_linear_regression): Zero extra_stat. * src/history.c (history_menu_remove_items): Warning killer. * src/item-edit.c (scan_at): Fix usual signed/unsigned problem. * src/stf-parse.c (stf_parse_csv_is_separator): Ditto. (stf_parse_is_valid_data): Ditto. 2000-03-23 Jody Goldberg * src/main.h : include popt-gnome.h rather than popt.h. We may eventually need gnome-popt.h, but lets keep this simple for now. Does anyone know the right way to do this ? * src/cell.c (cell_calculate_span) : Add CENTER_ACROSS_SELECTION. (cell_set_text_simple) : Begin transition to checking format of current cell for match. No real change yet. * idl/Gnumeric.idl : Add CENTER_ACROSS_SELECTION. * src/cell-draw.c (cell_draw) : Ditto. * src/print-cell.c (print_cell) : Ditto. * src/corba-sheet.c (Sheet_cell_set_alignment) : Ditto. (Sheet_cell_get_alignment) : Ditto. * src/dialogs/dialog-cell-format.c (fmt_dialog_init_align_page) : Ditto. * src/dialogs/cell-format.glade : Ditto, reorganize alignment page. * src/format.c : Move definition of _StyleFormatEntry from mstyle.h. * src/number-match.c (format_create_regexp) : Extend to support currency names. * src/item-grid.c (item_grid_draw_border) : minor optimization for non-border case. 2000-03-23 Miguel de Icaza * src/gnumeric-sheet.c (start_cell_selection_at): Disable feedback when the anting cursor is created (gnumeric_sheet_stop_cell_selection): Enable feedback when the anting cursor is destroyed. * src/item-edit.c (scan_for_range): Enable feedback only if we are allowed to. (item_edit_enable_highlight, item_edit_disable_highlight): New functions to control the feedback display. 2000-03-21 Miguel de Icaza * src/sheet-vector.c (impl_vector_set_notify): Duplicate the object here. 2000-03-23 Jody Goldberg * src/gnumeric-sheet.c (gnumeric_sheet_set_{left_col, top_row}): Replace scrolling. * src/item-grid.c (item_grid_find_row): Add some old fixes that went into find_col but not find_row ?? 2000-03-22 Michael Meeks * src/sheet-style.c (sheet_style_cache_flush): add 'all' flag to signify a hard vs. soft flush, freeze hash when it is a nice size. Do not bother destroying the hash table. (sheet_mstyle_compute_from_list): kill debug in inner loop + add another short circuit. (calc_grown_range): Spread the range better near the edges. * src/mstyle.c (mstyle_do_merge): simplify + add vital short circuit for factor of 2 speedup on blank regions. (mstyle_get_*): kill redundant NULL preconditions. * src/main.c (gnumeric_main): add the tests again. 2000-03-18 Michael Meeks * src/mstyle.c (mstyle_do_merge): Use pointer increment to kill mul in inner loop. (mstyle_element_ref): take a pointer. * src/sheet-style.c: Clean internals a lot, kill the nasty dereference macros, hash on CellPos to decrease memory usage. * src/dialogs/dialog-cell-format.c (draw_format_preview): Clip the sample down if it is a massive string to stop the dialog from becoming stupidly wide. 2000-03-23 Jon K Hellan * src/stf.c (stf_read_workbook): Set save info, preferred format XML, level manual. * src/file.[ch] (file_format_register_save): Add "level" parameter. * src/file.h: (FileFormatLevel): Add the enum. At the best level, the save command saves to the given name without asking. At the worst level, no name has been assigned. * src/file.c (_FileSaver): Add "level" member. (file_format_unregister_save): Set level to manual for workbooks which had this saver set. (cb_unregister_save): New function. Helper for file_format_unregister_save. (workbook_read): Set save info. Tag as new. (workbook_import): No longer set needs_name - importer will have set file_format_level. (fs_set_filename): New function: Set default filename in the file selection dialog. (workbook_save_as): Use fs_set_filename. Set save info. (workbook_save): Punt to workbook_save_as if file_format_level < AUTO. Save using wb->file_save_fn. * src/workbook.[ch] (workbook_set_saveinfo): New function. Set filename, level and save function, but do nothing if we already have info at a higher level. * src/workbook.h (struct _Workbook): Replace needs_name with file_format_level. Add file_save_fn member. Include file.h (workbook_set_saveinfo): Add "level" parameter. * src/workbook.c (workbook_do_destroy): Insert in history list when file format level > "new". We used to test needs_name. (workbook_is_pristine): Test file_format_level > "new" instead of needs_name true. (workbook_new): Tag workbook as new. Set save function. (workbook_set_filename): needs_name has no longer exists. Don't set it. * src/xml-io.c (gnumeric_xml_read_workbook): Set save info. Tag as AUTO. (xml_init): Tag saver as AUTO. * src/corba-workbook.c (Workbook_set_filename): Add FIXME comment. * src/history.c (history_item_label): Strip extension only when it is ".gnumeric". 2000-03-22 Jody Goldberg * src/functions/fn-lookup.c (gnumeric_index) : The current implementation supports arrays and references. It does not support the special case of index 0,0 returning the entire range, nor does it support the second syntax (ref, row, col, area_num). (gnumeric_match) : Document that only match_type == 0 works. 2000-03-22 JP Rosevear * src/xml-io.c (xml_arg_set): Set an arg value based on type and contents in the xml tree. (xml_arg_get): Get a string representing an arg's value. (xml_write_attributes): Create the list of attributes. (xml_free_arg_list): Function to free the args in a GList. (xml_read_attributes): Read the attributes back in from the xml tree. (xml_workbook_read): Read the workbook attributes in and set them. (xml_workbook_write): Write out the workbook attributes. * src/workbook.c (workbook_class_init): Add three args, the h & v scrollbars and the notebook tab. Override parent set_arg and get_arg functions. (workbook_set_arg): New function to handle arg setting. (workbook_get_arg): New function to handle getting args. (workbook_set_attributev): Set a whole list of args for the object. (workbook_get_attributev): Return an array of args for the workbook. * src/workbook.c (sort_cmd): Sort all the columns in order so that ties are broken nicely (pointed out by meeks) 2000-03-22 Jody Goldberg * src/plugin.c (plugin_load) : Typo. * src/workbook.c (recalc_cmd) : Bug7739. 2000-03-22 Chema Celorio * idl/.cvsignore: Created .cvsignore added Makefiles 2000-03-22 Jody Goldberg * src/sheet.c (sheet_reposition_comments) : Merged from sheet_reposition_comments_from_row and sheet_reposition_comments_from_col. (sheet_update) : New function. Use the new update flags from SheetPrivate that are set in the col/row resize functions to do delayed resizing and updates. This allows the resizing to be batched for an entire logical operation. (sheet_{col,row}_set_size_pixels) : Set the update flags. * src/workbook-cmd-format.c (workbook_cmd_format_{row,column}_auto_fit) : No need to worry about redraws. Use sheet_update. (workbook_cmd_format_{row_height,column_width}) : Ditto. * src/sheet-view.c (sheet_view_redraw_cell_region) : No need to recalculate the spans, Use the pre-calculated versions. (sheet_view_col_size_changed) : Use sheet_update. (sheet_view_row_size_changed) : Ditto. * src/sheet-style.c (re_dimension_cells_cb) : Use cell_calc_dimensions. (sheet_cells_update) : No need to redraw per cell and guess the bound. It is simpler and more correct to calc dimension per cell, and redraw the region BEFORE and AFTER to handle spans. * src/cell.[ch] (cell_style_changed) : Delete. * src/cell-draw.c (cell_draw) : continue syncing with print code. Be even more careful in the possible presence of style bugs. * src/item-grid.c (item_grid_draw) : Ditto. * src/print-cell.c (print_cell) : Ditto. * src/analysis-tools.c (correlation_tool) : Use sheet_update. (covariance_tool) : Ditto. (ttest_paired_tool) : Ditto. (ttest_eq_var_tool) : Ditto. (ttest_neq_var_tool) : Ditto. (ftest_tool) : Ditto. 2000-03-21 Jody Goldberg * src/sheet-private.h : Add status flags to accumulate state changes for later redraw. * src/commands.c (cmd_format_redo) : Use sheet_update in case the row/col sizes changed due to font size changes. (cmd_format_undo) : Ditto. * src/widgets/gtk-combo-box.c (cb_state_change) : Only pseudo-prelight the display when over the arrow, not vice versa. (gtk_combo_box_init) : Ditto. (gtk_combo_box_set_display) : Ditto. * src/sheet.c (sheet_row_get_distance_pts) : Enable reversed indicies. (sheet_col_get_distance_pts) : Ditto. * src/plugin.c (plugin_load) : Add more version checking to ensure that very old plugins that do not check their versions can not be loaded. 2000-03-20 Jody Goldberg * src/gnumeric-sheet.c (gnumeric_sheet_make_cell_visible) : When forcing a scroll do a hard reset of the visible ranges. (gnumeric_sheet_compute_visible_ranges) : Ditto. (gnumeric_sheet_set_top_row) : Remove extraneous scroll. (gnumeric_sheet_set_left_col) : Remove extraneous scroll. 2000-03-21 Miguel de Icaza * src/utils.c (parse_cell_name_or_range): Allow for parsing to be non-strict. * src/ranges.c (range_parse): Allow for parsing to be non-strict. * src/utils.c (parse_cell_name): Allow for parsing to be non-strict. * Makefile.am (SUBDIRS): Fix list of directories. * src/item-cursor.c (item_cursor_set_arg): Added optional color handling to item-cursor. 2000-03-20 Miguel de Icaza * src/main.c (gnumeric_main): Removed broken style test. * src/ranges.c (range_parse): Update the range_parse API * src/print-info.c (load_range): Update API. * src/utils.c (parse_cell_name): Handle references that contain an absolute reference. 2000-03-19 Jody Goldberg * src/sheet.c (sheet_move_range) : Move the styles before the contents so that spans are calculated correctly. * src/workbook.c (workbook_start_editing_at_cursor) : Redraw the edit cell so that we handle spans correctly. (workbook_finish_editing) : Ditto. * src/item-grid.c (item_grid_draw) : Ignore spans while editing a cell. 2000-03-16 Nick Lamb * configure.in: Fix typo (we need 0.13, not 0.11 of gnome-print) 2000-03-16 Michael Meeks * src/test.[ch]: Create to help profiling. * src/main.c: Add style testing. 2000-03-14 Michael Meeks * src/xml-io.c (xml_write_style): comment out the default checks on style colors, We may want these back when we have sheet default colors. 2000-03-13 Michael Meeks * src/sheet-object-bonobo.c (sheet_object_bonobo_destroy): fix. 2000-03-18 JP Rosevear * src/pixmaps: Added sort-ascend.xpm, sort-descend.xpm, insert-bonobo-component.xpm * src/pixmaps.h: Include new xpms. * src/workbook.c (sort_cmd): Moved from workbook-format-toolbar.c (sort_ascend_cmd): ditto (sort_descend_cmd): ditto * src/dialogs/dialog-cell-sort.c (dialog_cell_sort): Duh, pass the parameters in the correct order. * src/workbook-format-toolbar.c: Move sort commands to workbook.c and put icons into command toolbar. 2000-03-17 Jon K Hellan * src/sheet-object.c (create_object, sheet_set_mode_type_full): Make it compile and link without Bonobo. 2000-03-13 Miguel de Icaza * src/sheet-vector.c (sheet_vectors_cell_changed): Change NULL to CORBA_OBJECT_NIL * src/sheet-object-bonobo.c (sheet_object_bonobo_load_from_file): Use the new IDL:Bonobo interface name, not the IDL:GNOME one (sheet_object_bonobo_load_from_file): ditto. (sheet_object_bonobo_load): ditto. * src/sheet-object.c (sheet_set_mode_type): Temporary hack to get the graphics working under 1:20 hours when my battery runs out of power. * src/sheet-object-container.c (sheet_object_container_new_from_goadid): Renamed from sheet_object_container_new (sheet_object_container_new): Now takes a BonoboObjectClient as an argument. 2000-03-12 Miguel de Icaza * src/sheet-vector.c (impl_vector_get_numbers): Increment idx here; (impl_vector_get_vec_values): ditto. (impl_vector_get_numbers): Use the proper values for the columns row. (impl_vector_get_vec_values): ditto. * src/clipboard.c (x_clipboard_bind_workbook): Fix memory leak. The problem is worse, because the warning comment there was completely bogus. 2000-03-14 Jon K Hellan * src/workbook-view.c (workbook_view_history_update, workbook_view_history_shrink): ): We introduce numbers in front of the the history file names for the following reasons: 1. Bonobo won't let you make 2 entries with the same label in the same menu. But that's what happens if you e.g. access worksheets with the same name from 2 different directories. 2. The numbers are useful accelerators. This means that when a new item is added, all existing entries get a new number. We access them via the label, so we have to remove all the old list entries and make a new list. history_menu_flush is called to remove the old list, history_menu_update to build the new. * src/history.c (history_item_label): Add accel_number parameter, make label from accel_number and basename. Rename basename variable to label. (history_menu_item_create): Add accel_number parameter. Use it when calling history_item_label. (history_menu_locate_separator): New static function. Locate the menu and position of history separator. They may not yet exist. (history_menu_insert_separator): New static function. Insert the history separator. Return its position and the menu shell. (history_menu_insert_items): New static function. Add the history items to the file menu. (history_menu_remove_items): New static function. Remove the history items from the file menu. (history_menu_setup): Split into lots of twisty little functions, all different. (history_menu_fill): New exported function. Make the menus for the workbooks show the new history list. (history_menu_flush): New exported function. Remove the history list from the file menus of all workbooks. (history_insert_menu_item): Remove. (history_remove_menu_item): Remove. * src/history.h (history_menu_fill, history_menu_flush): Declare. (history_insert_menu_item, history_remove_menu_item): Remove. 2000-03-13 Jody Goldberg * wizards/graphics/Makefile.am : Include the idl build dir rather than src dir. We are interested in the resulting code not the original idl. 2000-03-13 Jon K Hellan * src/main.c (main): Silence warning. 2000-03-13 Jody Goldberg * Makefile.am : Make wizards and graph subdirs contingent on bonobo. distribute all the ChangeLogs. 2000-03-12 JP Rosevear * src/dialogs/dialog-cell-sort.c : Remove clip_range_to_finite. (dialog_cell_sort): Use range_clip_to_finite. * src/ranges.c (range_clip_to_finite): Make the range finite using sheet_get_extent if its infinite. * src/ranges.h: Prototype range_clip_to_finite. * src/workbook-format-toolbar.c (sort_cmd): Sort the current selection if simple. (sort_ascend_cmd): Call sort_cmd with asc=0. (sort_descend_cmd): Call sort_cmd with asc=1. * src/workbook-format-toolbar.c : Add sort ascend/descend buttons. (sort_ascend_cmd): New toolbar callback function to sort selection in ascending order. (sort_descend_cmd): New toolbar callback function to sort selection in descending order. 2000-03-12 JP Rosevear * src/Makefile.am: Reflect new location of idl. 2000-03-12 Jody Goldberg * src/item-cursor.c (item_cursor_selection_event) : Be more careful handling selecting the cursor from the external or internal edge this will avoid what seems like an off by one error. Thanks Jacob. 2000-03-11 Miguel de Icaza * src/Makefile.am: Cleaned Makefile. * graph/Makefile.am: ditto. * graph/sample.c: fix * idl/Makefile.am, idl/Graph.idl, idl/Gnumeric.idl: Moved IDL files here, and create the libGnumeric.a and libGraph.a libraries here. 2000-03-11 Jody Goldberg * src/workbook.c (workbook_setup_edit_area) : Use sensitize rather than show/hide for the ok/cancel buttons. Return wizard back to end of list. (workbook_new) : Revert last change, no longer necessary. (workbook_start_editing_at_cursor) : Sensitize the ok/cancel edit buttons. (workbook_finish_editing) : desensitize them. 2000-03-11 Jody Goldberg * src/workbook.c (cb_editline_focus_in) : When the edit lined receives focus start editing. (accept_input) : No need to force edit mode we should already be in edit mode. (workbook_setup_edit_area) : Move the wizard button to the begining of the list and store the ok and cancel buttons in the Private section. Hook cb_editline_focus_in to focus-in. (workbook_new) : After show_all, we need to hide the ok/cancel edit buttons. We start out not editing. (workbook_start_editing_at_cursor) : Show the ok/cancel edit buttons. (workbook_finish_editing) : Hide them. 2000-03-11 Jon K Hellan * src/main.c (main): #ifdef out the fix for now. 2000-03-11 Jon K Hellan * src/main.c (main): Work around guile / gnorba problem: gnorba closes stdin, and scm_boot_guile segfaults if any of the stdio streams are missing. We map the missing streams to /dev/null. 2000-03-10 Alastair McKinstry * configure.in (ALL_LINGUAS): Added ga (Irish) translation. * gnumeric.desktop: Added Irish (ga) translation. 2000-03-10 Jody Goldberg * src/func.c (tokenized_help_new) : Constness. * src/widgets/gtk-combo-box.c (cb_state_change) : New function to keep the state of the combo display button and the combo arrow in sync. (gtk_combo_box_init) : Connect cb_state_change to the arrow. (gtk_combo_box_set_display) : Ditto for the display widget. * src/sheet.c (sheet_set_zoom_factor) : Bound the factor at 10% and 500% * src/workbook.c (change_zoom_in_current_sheet_cb) : call change_displayed_zoom_cb to adjust the combo to contain the (workbook_focus_current_sheet) : Only emit signal if the sheet changed. 2000-03-08 Jody Goldberg * src/collect.c (callback_function_collect) : Treat arrays and ranges as errors. * src/format.c (format_value) : formating a range returns a #VALUE! message. * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Use the workbook flags, and delete the icky globals. (start_cell_selection_at) : Hide the std cursor when a cell selection cursor is created. (gnumeric_sheet_stop_cell_selection) : Restore the std cursor. 2000-03-07 Jody Goldberg * src/workbook.c (accept_input) : Use workbook_finish_editing. (cancel_input) : Ditto. (do_focus_sheet) : Support range selection across spreadsheets. (workbook_get_sheet_position) : Fix and document. (workbook_move_sheet) : Fix. (workbook_focus_sheet) : Handle errors cleanly. (wb_edit_key_pressed) : Improve F4 handling. (wizard_input) : Begin non-modal function wizard. NOT FINSIHED. (workbook_start_editing_at_cursor) : transfered from sheet_start_editing_at_cursor. (workbook_finish_editing) : Distilled from sheet_{accept,cancel}_pending_input. (Workbook) : Add editing_cell, editing_sheet, editing. * src/sheet.c (sheet_stop_editing) : Delete. (sheet_accept_pending_input) : Merge into workbook_finish_editing. (sheet_cancel_pending_input) : Ditto. (sheet_start_editing_at_cursor) : (sheet_create_edit_cursor) : New function. (sheet_destroy_edit_cursor) : New function. (sheet_destroy_cell_select_cursor) : New function. (Sheet) : Delete editing and editing_cell. * src/selection.c (sheet_selection_changed_hook) : Make public. This should eventually move but I'm not sure where. It is used for more than just changes in the selection in the current sheet. It must also be called when the sheet changes. What it REALLY does it to sync the shared workbook state with the current sheet's selection. * src/item-cursor.c (item_cursor_init) : Handle change from sheet_accept_pending_input -> workbook_finish_editing. * src/item-grid.c (item_grid_button_1) : Ditto. * src/gnumeric-sheet.c (gnumeric_sheet_can_move_cursor) : Edit moved from sheet -> workbook. (selection_insert_selection_string) : Extend to support abs/rel refs and intersheet-refs. (gnumeric_sheet_stop_cell_selection) : Add clear_string argument to optionally remove the selection range. (gnumeric_sheet_key_mode_sheet) : Adjust to movement of editing flag from sheet -> workbook. Be careful to use the original sheet when moving rather than the current sheet. Support F4 while editing. * src/cell-draw.c (cell_draw) : editing_cell has moved from sheet to workbook. Fix font ref leak when drawing the edit cell. * src/dialogs/dialog-function-wizard.c : Begin transition to being non-modal. NOT FINISHED. 2000-03-10 Michael Meeks * src/Makefile.am (sheet-vector.h): make it depend on Gnumeric.h not Vector.h 2000-03-09 Michael Meeks * src/sheet-object.c (sheet_set_mode_type): look for the IDL:Bonobo/ interfaces not stale IDL:GNOME ones. 2000-03-09 Jon K Hellan * src/corba-workbook.c (command_context_corba): Really handle wb == NULL. 2000-03-08 Jon K Hellan * src/corba-workbook-factory.c (WorkbookFactory_supports): (GNOME_Gnumeric_WorkbookFactory__create): Bonobo::GenericFactory::supports has been renamed to Bonobo::GenericFactory::manufactures. Replace supports with manufactures. 2000-03-08 Jon K Hellan * src/corba-workbook.c (command_context_corba): Handle wb = NULL. It would segfault. * src/Gnumeric.idl: Fixed places where a name at an inner scope differs only in case from a name at an outer scope. This breaks the rule that identifiers cannot differ only in case, because an identifier from a surrounding scope is introduced into a scope if it is used in that scope. The solution is to scope the outer identifiers explicitly: (GNOME::Gnumeric::Sheet::cell_set_value): Change Value to Gnumeric::Value. (GNOME::Gnumeric::Workbook::parse): Change Sheet to Gnumeric::Sheet. * src/dialogs/dialog-cell-comment.c (dialog_cell_comment): Set word wrap. * src/dialogs/dialog-summary.c (dialog_summary_update): Ditto. 2000-03-08 Jukka-Pekka Iivonen * src/sheet.c (sheet_destroy): Fixed a leak (in sheet->solver_parameters.input_entry_str). 2000-03-07 Miguel de Icaza * src/Vector.idl: Move the vector interfaces here. * src/Makefile.am: Arrange for compilation linking of Vector code. 2000-03-07 Almer. S. Tigelaar. Gnumeric instances can now eXchange data in a gnumeric XML clipboard format. This way style information and such can be preserved when copying/cutting from one instance to another. * src/xml-io.c, src/xml-io.h : Added some functions for the gnumeric clipboard xml format. (gnumeric_xml_read_selection_clipboard) : For reading xml data from the clipboard (gnumeric_xml_write_selection_clipboard) : For writing xml data to the clipboard (xml_read_selection_clipboard) : For reading xml data from the clipboard, does the dirty work (xml_write_selection_clipboard) : For writing xml data to the clipboard, does the dirty work (xml_read_cell_copy) : Similar to xml_read_cell, but returns a CellCopy* instead of a Cell* (xml_write_cell_and_position) : Similar to old xml_write_cell but allows you to set the col and row manually (xml_write_cell) : Calls upon xml_write_cell_and_position, but takes the col and row from the ColRowInfo members of type Cell. (xml_read_style_region_ex) : Read the xml data and returns an mstyle and a range. Does _NOT_ attach this to a sheet. (xml_read_style_region) : calls upon xml_read_style_region_ex and attaches the mstyle to a sheet * src/cell.h New cellcopy type added CELL_COPY_TYPE_AND_COMMENT, if a cellcopy is of this type the comments will be put in cellcopy.comment * src/clipboard.c (paste_cell_flags) : added support for the new CELL_COPY_TYPE_TEXT_AND_COMMENT copy type (x_selection_received) : Modified so it support the TARGETS and GNUMERIC XML atoms and renders the gnumeric clipboard xml format (x_selection_handler) : Now it can render theselection to ASCII text and gnumeric clipboard xml format. (x_clipboard_bind_workbook) : Registers the new GNUMERIC XML atom that enables other instances of gnumeric to see that we are also gnumeric and can render the clipboard data in a the special gnumeric xml clipboard format (clipboard_release) : Handles new CELL_COPY_TYPE_TEXT_AND_COMMENT type 2000-03-01 Dom Lachowicz * src/dialogs/sheet-order.glade, src/dialogs/sheet-order.glade.h, src/dialogs/dialog-sheet-order.c: Created. * src/dialogs/Makefile.am: Added three above files to project * src/dialogs/dialogs.h (dialog_sheet_order): added new function * src/workbook.c (sheet_order_cmd): added (workbook_get_sheet_position, workbook_delete_sheet), (workbook_move_sheet, workbook_focus_sheet, wb_edit_key_pressed): updated. * src/workbook.h (workbook_delete_sheet, workbook_move_sheet): added 2000-03-06 Michael Meeks * src/Gnumeric.idl: add nasty mess copied from Bonobo. * src/Makefile.am ($(GNUMERIC_CORBA_GENERATED)): Add -D__GNUMERIC_COMPILE 2000-03-05 Jukka-Pekka Iivonen * doc/C/solver.sgml, doc/C/images/solver-0[1,2,3,4,5].jpg: Added documentation of the Solver tool. 2000-03-05 Jody Goldberg * src/dialogs/dialog-cell-format.c : Enable the underline and strikethrough elements. TODO : redo the preview for the font tab to support underlining and friends. * src/dialogs/cell-format.glade : Rename the underline combo and strikethrough button. * src/xml-io.c (xml_write_style) : Add strikethrough. (xml_read_style) : Ditto. * src/workbook-format-toolbar.c (workbook_feedback_set) : Only show the underline button for single underlines. * src/sheet-view.[ch] : rename select_all -> select_all_btn. remove unused element. * src/sheet-object.h : Remove silly self inclusion. * src/print-cell.c : Support underlining and strikethrough. Move even closer into sync with drawing code. * src/mstyle.c : Add strikethrough and cleanup includes. * src/main.h : Add include for popt.h. * src/item-grid.c (item_grid_draw_border) : No more need for BOTTOM or RIGHT. (item_grid_draw_cell) : Delete, and merge with draw_cell. * src/commands.c (cmd_set_text_undo) : Use cursor_set rather than cursor_move. * src/corba-sheet.c (Sheet_cursor_move) : Ditto. (gnumeric_sheet_key_mode_sheet) : Ditto. * src/workbook.c (workbook_parse_and_jump) : Ditto. * src/cell-draw.c : Clean includes, add support for strikethrough. 2000-03-04 Morten Welinder * src/sheet.c (r1c1_get_item): Fix signed/unsigned char confusion. * src/dialogs/dialog-autocorrect.c (autocorrect_tool): Massive signed/unsigned char confusion. * src/solver-lp.c (find_name): Kill a warning. * src/func.c (function_get_category): Kill a warning. * src/dialogs/dialog-plugin-manager.c (refresh_right_frame): Kill a warning. 2000-03-03 Jody Goldberg * src/cell-draw.c (cell_draw) : Correct off by one error for right alignment. * src/print-cell.c (print_cell_text) : Ditto. (print_cell_range) : Don't forget to increment when dealing with hidden cols/rows. * src/item-grid.c (item_grid_draw) : Ditto. 2000-03-01 Dom Lachowicz * src/dialogs/dialog-plugin-manager.c (add_to_clist, populate_clist), (add_cb, remove_cb, row_cb, remove_cb, dialog_plugin_manager), (dialog_plugin_manager_impl): Re-implemented dialog. (refresh_right_frame): New function * src/dialogs/plugin-manager.glade: updated. * src/dialogs/plugin-manager.glade.h: updated 2000-03-03 Morten Welinder * src/workbook.c: Fix 6760. 2000-03-03 Jon K Hellan * doc/python-gnumeric.txt: Updated documentation 2000-03-02 Jon K Hellan * src/symbol.c (symbol_is_unused): Test went wrong way. (symbol_remove): Ditto. 2000-03-01 Dom Lachowicz * src/functions/fn-eng.c (val_to_base): Catch Div0 && invalid log() domain. * src/functions/fn-financial (gnumeric_accrint, gnumeric_recieved), (gnumeric_pricemat): Same * src/functions/fn-stat.c (gnumeric_ttest): Ditto 2000-03-02 Michael Meeks * src/sheet-vector.c (sheet_vector_corba_object_create): made static. (sheet_vector_new): setup sheet_vector->sheet. (sheet_vector_detach): re-arrange to compile. 2000-03-02 Jon K Hellan * doc/python-gnumeric.txt: Updated documentation * src/func.h: Make FunctionCategory.name a String * instead of gchar *. This was necessary to allow user defined categories. src/func.c (function_category_compare, function_get_category): Use new FunctionCategory. Fix wrong use of g_list_find_custom. (function_def_count_args, function_def_get_arg_type): Null pointer check. * src/dialogs/dialog-function-select.c (function_categories_fill): ditto. 2000-03-02 Almer. S. Tigelaar. * src/dialogs/dialog-stf-format-page.c * src/dialogs/dialog-stf-preview.c * src/dialogs/dialog-stf-preview.h * src/dialogs/dialog-stf.c Modified, the format page now really display formatted cells in the preview. NOTE : A downside of this is that the cache is no longer shared between fixed/csv pages and format pages. * src/dialogs/dialog-stf.c (dialog_stf_editables_enter) : Disabled "enter activates default button" for the TextIndicator field on the csv page. This would case the page to cycle, which is ok, but it also caused the dropdown option to pop-up on the next page, which is not ok. 2000-03-02 Jon K Hellan * src/dialogs/dialog-stf.c (dialog_stf_druid_page_cancel): In Yes/No dialog - set initial keyboard focus to "No". It went nowhere. (dialog_stf_set_initial_keyboard_focus): New function: Set keyboard focus to the an appropriate widget on the page. (dialog_stf_druid_page_next, dialog_stf_druid_page_previous): Set initial keyboard focus. (dialog_stf_druid_page_next): Make "Finish" button default on the the final page. This doesn't change behaviour, but cues the user visually. (dialog_stf_druid_page_previous): Restore "Next" button as default when coming from final page. (dialog_stf_check_escape): New function: Watch keypresses, and simulate "Cancel" when you see . (dialog_stf_attach_page_signals): Connect dialog_stf_check_escape to handle . (dialog_stf_editables_enter): New function: Make in text fields activate default. (dialog_stf): Use dialog_stf_editables_enter, dialog_stf_set_initial_keyboard_focus. Make "next" button the default button. Make window a child of the workbook window. * src/dialogs/dialog-stf-format-page.c (format_page_init): Make format list titles passive. * src/dialogs/dialog-stf-fixed-page.c (fixed_page_init): Make column list titles passive. * src/clipboard.c (x_selection_to_cell_region): Add command context to interface. Use it when calling dialog_stf. (x_selection_to_cell_region): (x_selection_received): Call x_selection_to_cell_region with workbook_command_context_gui. 2000-03-02 Miguel de Icaza * src/about.c (dialog_about): Changed to www.helixcode.com 2000-03-01 Miguel de Icaza * src/parser.c (gnumeric_expr_parser): Make preconditions clear. * src/ranges.c: Removed gnome.h from the include list. * src/sheet.h: Fix comment. The list contains SheetSelection structures not Ranges. 2000-03-01 Jon K Hellan * src/dialogs/cell-format.glade: Font pane: Make accelerator for underline combo work. Enable strikethrough. 2000-03-01 Jody Goldberg * src/cell-draw.c (draw_text) : adjust placement of single vs double underlining. 2000-03-01 Michael Meeks * configure.in: Bump required ver. of gnome-print. * src/style.c (style_font_get_height): hack for new gnome-print to kill annoying warning. 2000-03-01 Jon K Hellan * src/dialogs/cell-format.glade: Enable underline in fonts pane. 2000-03-01 Jon K Hellan * src/dialogs/advanced-filter.glade: Added accelerators and some padding. 2000-02-29 Jody Goldberg * src/print-cell.c (print_cell_text) : Correct the docs, and add clipping code. The resulting postscript looks reasonable now. Unfortunately preview sucks. * src/sheet.c (sheet_get_extent_cb) : Teach about spans. (sheet_get_extent) : max_used is NOT a viable bound. It limits the cells with contents, but does not reflect spanning cells. 2000-02-29 Miguel de Icaza * src/cell.c (cell_content_changed): Notify the sheet that the cell changed using sheet_cell_changed. * src/sheet-vector.c: New file. Implements the Gnumeric:Vector interface (and supports non-contiguous ranges) * src/sheet.c (sheet_destroy): free private structure. (sheet_new): init private structure. (sheet_cell_changed): New function. * src/sheet-private.h: New file. * src/sheet.h: Sheet structure includes SheetPrivate field now. 2000-02-29 Jody Goldberg * src/workbook-format-toolbar.c (change_selection_font) : Add underline. (underline_cmd) : New function. (workbook_format_toolbar) : Add underline. (workbook_feedback_set) : Ditto. * src/xml-io.c (xml_read_style) : Restore underline style. (xml_write_style) : Save the underline style. * src/pattern.c (gnumeric_background_set_pc) : suppress warning. * src/mstyle.[ch] : Add MSTYLE_FONT_UNDERLINE. (mstyle_get_font_uline) : New function. (mstyle_set_font_uline) : New function. * src/cell-draw.c (draw_text) : new function to add underlines. (draw_overflow) : Use draw_text. (cell_draw) : Ditto. * src/gnumeric.h : Add StyleUnderlineType. * gnumeric.spec.in : Update the requirements. 2000-03-01 Jon K Hellan * doc/python-gnumeric.txt: Clarified mapping of arrays. 2000-02-29 Jody Goldberg * src/cell-print.c : Sync with logic in item-bar::draw to add borders and more correctly handle spanning. * src/pattern.c (gnumeric_background_set_pc) : New routine cloned from gnumeric_background_set_gc. * src/border.c (style_border_set_pc_dash) : New routine cloned from style_border_set_gc_dash. (style_border_set_pc) : New routine cloned from style_border_set_gc. (style_border_print) : New routine cloned from style_border_draw. * src/cell-draw.c (cell_draw) : No need to return number of spans. 2000-02-29 Jukka-Pekka Iivonen * src/sheet.c (sheet_new): Added initialization of all the Solver parameters. * src/xml-io.c: Enabled the solver parameter saving again. 2000-02-29 Jon K Hellan * src/gnumeric-util.[ch] (gnumeric_set_transient): New function. Make the window a child of the workbook in the command context, if there is one. (gnumeric_editable_enters): New function. Like gnome_dialog_editable_enters, but not just for GnomeDialogs. * src/gnumeric-util.c (gnumeric_dialog_run): Remove incorrect comment. (gnumeric_dialog_show): Fix typo. 2000-02-29 Jon K Hellan * src/dialogs/dialog-cell-format.c: The dialog moved when "Apply" was pressed. This was an unavoidable consequence of using gnome_dialog_run. We switch to a purely callback based design - this module was almost there, anyway. And we can make the dialog modeless if we wish. (cb_fmt_dialog_dialog_destroy): New function. Free resources upon "destroy". This gets called whenever "OK" or "WM close" are pressed. (fmt_dialog_impl): Connect "destroy" handler. Replace gnome_dialog_run (recursive main loop) with gnumeric_dialog_show (no such thing). Set modal explicitly. (dialog_cell_format): Remove initial comment which these changes made incorrect. Allocate state record on heap instead of stack. Move resource deallocation to cb_fmt_dialog_destroy. 2000-02-28 Jody Goldberg * src/value.c (value_new_cellrange) : Normalize ranges to ensure that start <= end. 2000-02-28 Morten Welinder * src/datetime.c (datetime_serial_raw_to_serial): Use floor. (datetime_serial_raw_to_seconds): Ditto. * src/format.c (format_number): Keep the sign when considering dates. * src/parser.y (unregister_allocation): Handle special error situation without issueing a bogus message. 2000-02-28 Jody Goldberg * src/selection.c (sheet_selection_walk_step) : Fix typo. 2000-02-28 Miguel de Icaza * src/widgets/widget-color-combo.c (color_combo_finalize): Memory leak fix. Found by Morten. 2000-02-28 Jody Goldberg * src/sheet-view.c (button_select_all) : Redraw after selection. * src/selection.c (sheet_selection_walk_step) : Don't wrap when moving the singleton cursor. * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : - Shift tab should be horizontal. - Shift/None Tab/Enter should accept pending input. 2000-02-28 Jody Goldberg * src/expr.h : Move FunctionDefinition to * src/gnumeric.h : here. * src/cellspan.c (col_hash) : Use GPOINTER_TO_INT. (col_compare) : Ditto. (row_init_span) : Delete. (free_hash_value) : Renamed from free_hash_key. (cell_register_span) : Register all cells in a span, malloc a CellSpanInfo to store a descriptor about the first and last cols. (assemble_unregister_span_list) : Delete. (span_remove) : New function for use by g_hash_table_foreach_remove. (cell_unregister_span) : Use g_hash_table_foreach_remove. (row_cell_get_displayed_at) : Adjust to new descriptor. (row_span_get) : New function. * src/cell.c (cell_calculate_span) : Renamed from cell_get_span. * src/cell-draw.c (cell_draw) : Do not draw backgrounds here. Use new CellSpanInfo to avoid recomputing spans every time. (cell_is_blank) : Remove hack about treating empty strings as empty. * src/cellspan.h : New file. Move span decls here. * src/item-grid.c (item_grid_draw) : Rework to correctly handle backgrounds and borders for spanning columns. 2000-02-27 Jody Goldberg * src/cell.c (cell_is_blank) : Update. * src/border.c (style_border_draw) : Make somewhat more correct. Still broken for non-top-left corners. * src/item-grid.c (item_grid_draw_border) : Ditto. (item_grid_draw_background) : Rename from item_grid_paint_empty_cell handle spans more cleanly. (item_grid_draw_cell) : handle conditionals for displaying contents here. Remove all handling of backgrounds. 2000-02-28 Michael Meeks * src/xml-io.c (xml_sheet_read, xml_sheet_write): kill for now. 2000-02-28 Jukka-Pekka Iivonen * src/utils.c (parse_cell_name_or_range): Bug fix. Single cell constraints can be added again. * src/solver-lp.c (count_dimensions, make_solver_arrays, solver_affine_scaling, solver_branch_and_bound): The Solver can now solve the negative variables too. * src/dialogs/dialog-solver.c (dialog_solver_options): Made the `Assume non-negative' to be sensitive. 2000-02-28 Morten Welinder * src/format.c (render_number): Move calculation of thousand's sep outside the loop. Avoid calculations way beyond double's precision. 2000-02-24 Dom Lachowicz * src/functions/fn-eng.c (convert): catch DIV0 * src/functions/fn-financial.c (gnumeric_accrint), (gnumeric_accrintm), (gnumeric_intrate), (gnumeric_disc), (gnumeric_db), (gnumeric_ddb), (gnumeric_mirr), (gnumeric_pv): More errors. * src/function/fn-math.c (gnumeric_quotient): ditto. * src/function/fn-stat.c (callback_function_stat), (callback_function_chitest_theoretical, gnumeric_betadist), (gnumeric_confidence, gnumeric_ftest): ditto. 2000-02-27 Jukka-Pekka Iivonen * src/solver-lp.c, src/dialogs/dialog-solver.c: Constraints can now also be cell ranges. (write_constraint_str): Wrote. * src/utils.[ch] (parse_cell_name_or_range): Wrote. * src/xml-io.c: Related changes. 2000-02-26 Jon K Hellan * doc/python-gnumeric.txt: New file. Documents the Python plugin. 2000-02-26 Jody Goldberg * src/formats.c (CurrencySymbol) : Add symbols and names to translation list. * src/workbook.c (insert_object_cmd) : Bug 6499. Move Define name to the insert menu to avoid conflict. 2000-02-26 Jukka-Pekka Iivonen * src/xml-io.c (xml_read_solver): New. (xml_write_solver): New. Added saving and loading of the Solver parameters. The parameters are per sheet. * src/dialogs/dialog-solver.c: A few bug fixes and improvements. 2000-02-22 Jody Goldberg * src/workbook-format-toolbar.c (workbook_format_toolbutton_update) : new. (workbook_format_halign_feedback_set) : new (workbook_feedback_set) : Use the new functions. (set_selection_halign) : ditto. 2000-02-25 Jukka-Pekka Iivonen * src/mathfunc.[ch]: Implemented Branch-And-Bound algorithm for integer programming. * src/solver-lp.c (count_dimensions): Wrote. (make_solver_arrays): Wrote. (make_int_array): Wrote. (solver_branch_and_bound): Wrote. Solver can now handle the `Int' constraints too. (solver_lp): Wrote. * src/solver.h: Added prototype. * src/dialogs/dialog-solver.c: Related changes. 2000-02-25 Miguel de Icaza * src/Makefile.am (-DGNUMERIC_GLADEDIR): Removed iconsdir if it is not going to get used. 2000-02-24 Miguel de Icaza * src/widgets/widget-color-combo.c (color_combo_construct): Fix indentation. * src/sheet-object-container.c (sheet_object_container_realize): OOPS. Add uih back. * Fresh ChangeLog.