2000-02-23 Miguel de Icaza * src/dialogs/dialog-stf.c (dialog_stf): remove invocation to glade_gnome_init(), this is not required. * src/sheet-object-container.c (sheet_object_container_realize): Update to new Bonobo API. 2000-02-19 Miguel de Icaza * src/workbook.c (launch_graphics_wizard_cmd): New function, used to launch the graphics wizard. * src/wizard.h: New file. * src/corba-workbook-factory.c (WorkbookFactory_read): Fixed command_context_corba usage. Kill memory leak. * src/sheet-object.c (sheet_set_mode_type): Remove the sheet event button binding code from here. (sheet_object_bind_button_events): New function. To here. * src/sheet.h: New creation mode: SHEET_OBJECT_CREATE_COMPONENT. The GRAPHICS one will be used only by the wizard. * src/pixmaps.h: Include object.xpm. * src/pixmaps/object.xpm: More Modern Art work from Miguel, this image represents an object. The object has suffered a lot and is in pain as you can see by the colors chosen by the artist. 2000-02-24 Michael Meeks * src/plugin.c (plugin_close): expand. 2000-02-23 Dom Lachowicz * src/widgets/widget-color-combo.[ch]: In function color_table_construct() - moved tool_tip in order to plug memory leak(called gtk_tooltips_new() too many times) * src/functions/fn-database.c (gnumeric_daverage): add error for -'ive count 2000-02-23 Dom Lachowicz * src/plugin.[ch]: Additions to API -- Made struct _PluginData private Added field 'initialized' to PluginData to keep track of whether the plugin has gone through init yet or not Added field 'descr' - a paragraph description of the plugin plugin_load() - Updated to use initialized field New function: static void plugin_close() - shuts down plugin Updated plugin_load() and plugin_unload() to use plugin_close() -- lots of duplicated code New functions to reflect new privateness of PluginData struct: plugin_data_init() plugin_data_get_filename() plugin_data_get_title() plugin_data_get_descr() plugin_data_set_private_data() plugin_data_get_private_data() * plugins/dif/dif.c * plugins/ff-csv/csv-io.c * plugins/ff-stf/stf.c * plugins/gda/plugin-gda.c * plugins/html/boot.c * plugins/lotus-123/boot.c * plugins/oleo/boot.c * plugins/plan-perfect/pln.c * plugins/sample/plugin-sample.c * plugins/sc/sc.c * plugins/sylk/sylk.c * plugins/text/text-io.c * plugins/xbase/boot.c: Changed init_plugin() in each to use new plugin API, specifically They all call plugin_data_init() now Changed the respective cleanup functions to not g_free() the title or descriptions * plugins/gb/plugin.c: in addition to the above statement, I changed cleanup() and init_plugin() to use plugin_data_[get|set]_private_data * plugins/guile/plugin.c * plugins/perl/perl.c * plugins/python/python.c: added function no_cleanup_for_me() which does absolutely nothing for completeness * src/dialogs/dialog-plugin-manager.c: Changed add_to_clist() to use new plugin_data_get_XXX() methods 2000-02-23 Matthias Warkus * gnome-spreadsheet.png, gnome-xls.png: Removed. They have been superseded by correctly named, overhauled icons I checked in on January 31st. I was not aware that suboptimal versions had been added before. Kenneth seems to be sending icons out over the world a lot, it's hard to look after everything he's up to. In the future, please consult me before pulling that kind of stunt. Remember: I, too, wish that the icon project wasn't as tied to my person as it is today. I'm not a weird control freak (well, I am, but just a little). 2000-02-23 Peter Wainwright * src/sheet-object-container.c (sheet_object_container_realize): Fix until Nat mends the bonobo brokenness. 2000-02-23 Michael Meeks * src/sheet-style.c (sheet_style_optimize): don't optimize with the default style. * src/workbook-format-toolbar.c (workbook_create_format_toolbar): use select_clear. 2000-02-21 Dom Lachowicz * src/widgets/widget-color-combo.[ch]: Few minor API changes Added custom color support through a GnomeColorPicker widget * src/workbook-format-toolbar.c (fore_color_changed), (back_color_changed): Fix to handle above ColorCombo API change * src/dialog-autocorrect.c: Make array static 2000-02-23 Michael Meeks * configure.in (GB_LIBS): bump gb ver. check. 2000-02-21 Michael Meeks * src/expr-name.c (name_print_area): implement. * src/value.c (value_new_cellrange_r): implement. 2000-02-22 Jon K Hellan * src/dialogs/dialog-solver.c (dialog_solver): Set constraint clist title passive. (constr_add_click): Make solver dialog reappear if user presses . Make in entry fields invoke default. (constr_change_click): Make in entry fields invoke default. * src/dialogs/solver.glade: Make more room for constraint list title. * src/dialogs/solver.glade, src/dialogs/solver.glade.h: Accelerators. * src/dialogs/solver-options.glade, src/dialogs/solver-options.glade.h: Accelerators * src/dialogs/utils-dialog.[ch] (hbox_pack_label_and_entry): Explicit dialog parameter. Reorder arguments in signature. * src/dialogs/dialog-analysis-tools.c (dialog_sampling_tool, dialog_descriptive_stat_tool, dialog_ztest_tool, dialog_random_tool, dialog_regression_tool): Use new signature of hbox_pack_label_and_entry. This kills some Gtk warnings. (dialog_data_analysis): Do not destroy if gnumeric_dialog_run returns -1. * src/dialogs/autosave.glade, src/dialogs/autosave.glade.h : Accelerator for "minutes" field. * src/dialogs/autocorrect-exceptions.glade, src/dialogs/autocorrect-exceptions.glade.h: Accelerators * src/dialogs/dialog-autocorrect.c (exceptions_callback): Really make in entry fields invoke default. * src/dialogs/dialog-goal-seek.c (dialog_found_solution): Deflickerize. * src/dialogs/dialog-analysis-tools.c (dialog_sampling_tool, dialog_descriptive_stat_tool, dialog_ztest_tool, dialog_random_tool, dialog_regression_tool): Deflickerize. 2000-02-21 Jody Goldberg * src/cell-draw.c (cell_draw) : Doh! * src/sheet.c (sheet_cursor_set) : Be religous about handing edit_pos changes. * src/commands.c (cmd_format) : save for formats for a range 1 cell thick around the selection so that borders are handled. * src/sheet-view.c (sheet_view_redraw_cell_region) : Redraw a border around the selected region to handle thick borders */ * src/sheet-object.c (sheet_object_canvas_event) : Ignore mouse wheel events. * src/border.c (style_border_set_gc_dash) : Use GDK_LINE_ON_OFF_DASH so that background colours show through. * src/sheet-style.c (sheet_range_set_border) : Prefer top vs bottom and left vs right. This will simplify drawing eventually. 2000-02-21 Almer. S. Tigelaar. * src/dialogs/dialog-stf-csv-page.c : (csv_page_prepare) : csv_page_custom_toggled was called twice, removed one. * src/stf.c, src/dialogs/dialog-stf.c, src/dialogs/dialog-stf-main-page.c, * src/dialogs/dialog-stf-csv-page.c, src/dialogs/dialog-stf-fixed-page.c, * src/dialogs/dialog-stf-format-page.c, src/dialogs/dialog-stf-preview.c Fixed incorrect comments and added function comment headers where they didn't exist. Also moved some includes. * src/dialogs/dialog-stf.h Removed TEXT_VOFFSET, because it is no langer required. * src/dialogs/dialog-stf-preview.h Changed the colours to match the current gnumeric sheet selection color * src/dialogs/dialog-stf-format-page.c (format_page_collist_select_row) : Makes selected row visible (format_page_prepare) : Corrected minor error which caused the format entry to stay empty * src/dialogs/dialog-stf.glade, src/dialogs/dialog-stf.c, src/dialogs/dialog-stf.h Completely removed the "finish" page of the druid. * src/dialogs/dialog-stf.glade, src/stf-parse.h, src/stf-parse.c Fixed support for colon and added support for new separator symbols : semicolon, pipe, slash, hyphen, bang. separators are now also displayed on the csv page. * src/stf-parse.c (stf_parse_get_colcount) : last line wasn't counted (stf_parse_get_colwidth) : idem * src/stf.h : Removed obsoleted FileSource_t struct type definition. * src/stf.c : (stf_read_workbook) : Detach sheet on parse error. 2000-02-21 Jon K Hellan * src/dialogs/dialog-cell-sort.c (dialog_cell_sort): Deflickerize. * src/dialogs/dialog-cell-comment.c (dialog_cell_comment): Ditto. * src/gnumeric-util.c (gnumeric_dialog_show): New function. Pop up a dialog without recursive main loop, with a handler to take care of parent shell closing. (on_parent_close, on_close): New callback functions. (connect_to_parent_close): New helper function - connect handler for parent shell closing. * src/print.c (sheet_print): Use gnumeric_dialog_run. 2000-02-20 Jody Goldberg * src/border.c (style_border_draw) : It ain't perfect, but it is better than nothing. 2000-02-20 Jody Goldberg * src/dialogs/dialog-cell-format.c (cb_back_preview_color) : Hard code the alpha channel to 0. (cb_pattern_preview_color) : Ditto. (cb_border_color) : Ditto. (init_border_button) : Ditto. * src/widgets/widget-pixmap-combo.c (pixmap_combo_select_pixmap) : Replace the storing of the new index. * src/workbook-format-toolbar.c (cb_border_changed) : Implement. 2000-02-20 Tuomas Kuosmanen * src/pixmaps/graphic.xpm: New icon for the "add graph" -button requested by miguel (hello fellow finn below btw :) 2000-02-20 Jukka-Pekka Iivonen * src/mathfunc.c: Implemented Affine Scaling algorithm for the Solver tool. * src/solver-lp.c: Switched the solver to use the affine scaling instead of the simplex. Beautified the generated reports. * src/solver.h: Renamed some of the Solver constants. * src/analysis-tools.h: New file. Moved stuff from src/dialog/dialogs.h. 2000-02-20 Jody Goldberg * src/item-cursor.c : Switch to a quartic approved delayed update model. Do not change the bounding box while drawing. * src/selection.c (sheet_selection_add_range) : Do NOT directly change the edit/move/base characteristics of the sheet sheet_cursor_set handles that. * src/gnumeric-sheet.c (gnumeric_sheet_compute_visible_ranges) : Use item_cursor_reposition rather than pretending that the cursor moved. * src/item-grid.c (item_grid_button_1) : Don't call both sheet_cursor_move and sheet_selection_add. The former was moving the edit cursor without redrawing it. 2000-02-20 Michael Meeks * src/sheet-object-container.c (sheet_object_container_realize): pass UI handler in straight. 2000-02-19 Mike Kestner *src/dialogs/dialog-simple-input.c (dialog_get_number): Fixed leaks. (dialog_get_sheet_name): Fixed leaks. 2000-02-19 Jody Goldberg * src/corba-workbook-factory.c (WorkbookFactory_read) : Create a tmp corba context with which to report problems while reading a new workbook. This is a temporary work around until corba_context is implemented and we see what the requirements are. * src/command-context-corba.c (command_context_corba_new) : longer require a workbook. * src/corba-workbook.c (workbook_corba_setup) : Support above change. 2000-02-19 Jody Goldberg * src/selection.c (sheet_selection_extend) : Don't store the results of the move directly into sheet::cursor::move_corner. That makes sheet_selection_extend_to think there is nothing to be done. 2000-02-19 Jukka-Pekka Iivonen * src/dialogs/dialog-analysis-tools.c: Made the cancel operation of a tool to return the tool selection. 2000-02-19 Jukka-Pekka Iivonen * src/dialogs/analysis-tools.glade, src/dialogs/dialog-analysis-tools.c: Implemented Glade dialogs for Anova two-single factor and Moving average tools. 2000-02-18 Almer. S. Tigelaar. * /src/dialogs/dialog-stf.glade : Corrected a minor spelling error on the first page of the druid. 2000-02-19 Jukka-Pekka Iivonen * src/dialogs/dialog-autosave.c: Added a few checks for the correctness of autosave.glade file. * src/dialogs/analysis-tools.glade, src/dialogs/dialog-analysis-tools.c: Implemented Glade dialog for Anova single factor tool. 2000-02-18 Almer. S. Tigelaar. What follows is the Changelog entry for the new STF that miguel commited. The original STF Plug-in has been removed and is now merged with the Gnumeric main sources. Numerous bug fixes have been made, the major ones : * stf-util.c, stf-util.h : Obsoleted, merged with dialog_stf.[ch] * stf-fixed.c, stf-separated.c, stf-fixed.h, stf-separated.h : Obsoleted, replace with stf-parse.[ch], a new interface. * stf-parse.h, stf-parse.c : Two new units which are a re-make of the stf-separated.c and stf-fixed.c. These supersede those two units. * dialog-stf.c, dialog-stf.h, dialog-stf-csv-page.c, dialog-stf-fixed-page.c : Altered so they use the new stf-parse.[ch] instead of stf-separated.c and stf-fixed.c. * dialog-stf-main-page.c Now allows you to select both the line to start _and_ the line to stop importing. * dialog-stf-fixed-page.c : Apart from some minor bug fixes you can now also use the mouse to interactively create, delete and resize columns. * dialog-stf-format-page.c : Now allows you to click in the preview to select a column. Also fixed minor errors * dialog-stf-preview.c, dialog-stf-preview.h : Completely revised preview rendering, lots of changes. * dialog-stf.glade : More descriptive hints on each page Now some integration changes : * main.c Modified to also initialize the stf-plugin * stf.c, stf.h Now uses the new dialog-stf.[ch] and stf-parse.[ch] interfaces. * clipboard.c modified (x_selection_to_cell_region) to use the STF stuff instead of the previous 'based-on-assumptions' approach. ->by request from Jody Goldberg 2000-02-18 Jody Goldberg * src/widgets/widget-color-combo.c (color_combo_construct) : typo. (color_combo_new) : Disable the charting colours for now. They are mostly duplicates. 2000-02-16 Dom Lachowicz * src/widgets/widget-color-combo.[ch] Changed the code some to enable tooltips Minor api changes 2000-02-18 Jody Goldberg * src/workbook-view.c : Add history.h. 2000-02-18 Jody Goldberg * src/sheet.c (sheet_redraw_selection) : Delete. * src/selection.c (sheet_selection_extend_to) : Short circuit when there would be no change to the selection. (sheet_selection_change) : The sheet already has the correct edit, move, base positions. Use them. * src/sheet-view.c (sheet_view_redraw_headers) : gnome_canvas_request_redraw EXCLUDES the far coordinates. Add 1 so that the last pixel get redrawn too. 2000-02-18 Jody Goldberg * src/history.c (history_menu_item_create) : typo. 2000-02-18 Jody Goldberg * src/dialogs/dialog-goal-seek.c (dialog_goal_seek) : Use edit_pos. * src/dialogs/dialog-solver.c (dialog_solver) : Ditto. * src/xml-io.c (xml_read_selection_info) : Use edit_pos. (xml_write_selection_info) : Ditto. * src/workbook.c (cb_sheet_check_dirty) : Use edit_pos. (paste_cmd) : Ditto. (paste_special_cmd) : Ditto. (insert_current_date_cmd) : Ditto. (insert_current_time_cmd) : Ditto. (workbook_edit_comment) : Ditto. * src/sheet.c (sheet_new) : sheet_selection_append -> sheet_selection_add. (sheet_accept_pending_input) : Use edit_pos. (sheet_load_cell_val) : Ditto. (sheet_start_editing_at_cursor) : Ditto. (sheet_update_controls) : Ditto. (sheet_{col,row}_selection_type) : Fix cut-paste-o. (walk_boundaries) : Move to selection.c. (walk_boundaries_wrapped) : Ditto. (sheet_selection_walk_step) : Reworked and moved to selection.c. (sheet_cursor_move) : Switch to new framework. (sheet_cursor_set) : Ditto. (sheet_set_selection) : Delete. * src/sheet.h : (SheetSlection) : Remove base member. (Sheet) : adjust notion of cursor to differentiate between, edit, base, and movement. (see comments). * src/sheet-view.c (sheet_view_set_zoom_factor) : Use edit_pos. (sheet_view_scrollbar_config) : Switch to new scheme. (sheet_view_{col,row}_selection_changed) : Make the Top/Left visible cell the edit cursor when things are out of range. * src/sheet-style.c (sheet_style_attach) : Use sheet_redraw_range directly. (sheet_range_apply_style) : Ditto. (sheet_range_set_border) : Ditto. * src/selection.c (sheet_selection_add_range) : Renamed from, sheet_selection_append. Document. Switch to new edit, base, move scheme. Directly call sheet_cursor_set rather than the confusingly named sheet_set_selection. (sheet_selection_add) : Renamed from sheet_selection_append. (sheet_selection_change) : Adjust parm name from 'new' -> 'new_sel' to enable test compiles from C++. (sheet_selection_extend_to) : Switch to new edit, base, move scheme. (sheet_selection_extend) : Just call sheet_selection_extend_to for the main work. Document. (sheet_select_all) : sheet_selection_append_range -> sheet_selection_add_range. (sheet_selection_extend_{horizontal, vertical} : Merge in to sheet_seletion_extend and fix. (sheet_selection_set) : Switch to the new scheme. (sheet_selection_reset) : sheet_selection_append -> sheet_selection_add. Use edit_pos. (walk_boundaries) : Moved from sheet.c, merged with walk_boundaries_wrap, and change signature. (sheet_selection_walk_step) : Moved from sheet.c and switched to the new method. Do not change the selected region while iterating. * src/item-grid.c (item_grid_paint_empty_cell) : Use edit_pos. (item_grid_draw_cell) : Ditto. (item_grid_event) : Ditto. (context_paste_cmd) : Use the base and move cursors. (context_paste_special_cmd) : Ditto. (item_grid_button_1) : sheet_selection_append -> sheet_selection_add. * src/item-cursor.c (item_cursor_autofill_event) : Use sheet_selection_add_range rather than the two step select extend. * src/clipboard.c (sheet_paste_selection) : Use sheet_selection_add_range rather than the 2 step process of setting the corner and extending. * plugins/excel/ms-excel-read.c (ms_excel_read_selection) : sheet_selection_append_range -> sheet_selection_add_range * src/corba-sheet.c (Sheet_selection_append) : Ditto. (Sheet_selection_append_range) : Ditto. * src/gnumeric-sheet.c (move_cursor) : Ditto. (gnumeric_sheet_key_mode_sheet) : Ditto. Use edit_pos. sheet_selection_walk_step now handles the cursor and selection changes. (gnumeric_sheet_set_selection) : Delete this was unnecessary. (gnumeric_sheet_set_cursor_bounds) : Add preconditions. (move_cursor_horizontal) : Use the edit_pos for movement. (move_cursor_vertical) : Ditto. (gnumeric_sheet_create_editing_cursor) : Ditto. (start_cell_selection) : Ditto. (move_horizontal_selection) : Use sheet_selection_extend. (move_vertical_selection) : Ditto. (gnumeric_sheet_compute_visible_ranges) : Force a redraw of the item-cursor when the visible region changes. FIXME : This should be an update not a redraw. 2000-02-18 Miguel de Icaza * configure.in (EXTRA_GNOME_CFLAGS): Remove stf plugin from here. * plugins/Makefile.am (SUBDIRS): And from here. * src/stf.c (stf_open_and_read): Use malloc instead of g_malloc0 because g_malloc aborts execution if the buffer is too large (which it might likely be). (stf_read_workbook): Release using free, not g_free here. (stf_read_workbook): Fix sheet object memory leak. (stf_init): Kill old and unused code. 2000-02-18 Michael Meeks * src/workbook.c (workbook_new): setup view history. (workbook_do_destroy): add workbook to view history and write config. * src/history.c (history_item_label): substantialy alter. (history_remove_menu_item): kill translation on non bonobo case. 2000-02-18 Mike Kestner * src/application.c (application_history_get_list): add (application_history_update_list, application_history_list_shrink), (application_history_write_config): ditto. * src/workbook-view.c (workbook_view_history_setup): create. (workbook_view_history_update, workbook_view_history_shrink): ditto. * src/Makefile.am: add history.[ch]. * src/history.[ch]: Added. 2000-02-18 Jukka-Pekka Iivonen * src/dialogs/analysis-tools.glade, src/dialogs/dialog-analysis-tools.c: Implemented Glade dialogs for T-Test tools. * src/dialogs/dialog-autosave.c: Fixed a few bugs in dialog_autosave (cancel caused segmentation fault at the next run). Made the prompt button unsensitive if the autosave is turned off. * src/analysis-tools.c: Made the titles to be printed in italic style for Correlation, Covariance, F-Test, and T-Test tools. In addition, the columns are autosized. 2000-02-16 Miguel de Icaza * src/widgets/widget-pixmap-combo.c (pixmap_combo_select_pixmap): Changed the code to use gnoem_pixmaps here. (pixmap_combo_construct): and here. 2000-02-15 Jody Goldberg * *.[ch] : More header cleanup. Remove value.h and sheet.h from expr.h. Remove sheet.h from cell.h. 2000-02-16 Dom Lachowicz * src/plugin-manager.c : Move functionality. * src/dialogs/dialog-plugin-manager.c : here. and move to libglade. * src/workbook.c (plugins_cmd) : Use dialog_plugin_manager instead of plugin_manager_new. 2000-02-16 Jukka-Pekka Iivonen * src/dialogs/analysis-tools.glade, src/analysis-tools.c, src/dialogs/dialog-analysis-tools.c: Implemented Glade dialog for Rank and Percentile tool. 2000-02-15 Jody Goldberg * src/workbook-cmd-format.c (workbook_cmd_format_{column,row}_auto_fit) : Handle repositioning and redrawing here in preparation to adding undo. (workbook_cmd_format_column_width) : Ditto. (workbook_cmd_format_row_height) : Ditto. * src/sheet.c (sheet_reposition_comments_from_{row,col}) : publicize. (sheet_recompute_spans_for_col) : Ditto. (sheet_save_row_col_sizes) : Store cols/rows of 'default' size as 0. (sheet_restore_row_col_sizes) : Restore cols/rows to true default state. (sheet_{col,row}_set_size_pts) : document, and REMOVE calls to reposition and redraw. 2000-02-16 Jon K Hellan * src/sheet.c (col_row_info_init): Fix typo 2000-02-15 Morten Welinder * src/functions/fn-math.c (gnumeric_mmult): Fix row/col confusion. * src/mathfunc.c (mmult): Ditto. How did this ever work for non-square matrices? 2000-02-15 Jody Goldberg * src/sheet.c (sheet_col_set_default_size_pts) : There is no notion of default column width having thick margins. 2000-02-14 Jon K Hellan * src/dialogs/import.glade: Add scrolled window * src/file.c (workbook_read, workbook_import, workbook_save_as, workbook_save): Use error message template. * src/command-context.h (struct _CommandContext): Add template_list member. (struct CommandContextClass): Call message parameter to methods "message". (command_context_push_template, command_context_pop_template): Declare. * src/command-context.c (command_context_push_template): New function. Push a printf template for error messages to stack. (command_context_pop_template): New function. Pop current template from stack. (format_message): New function. Format a message using template on stack. (gnumeric_error_plugin_problem, gnumeric_error_read, gnumeric_error_save): Use format_message. * src/command-context-corba.c (ccc_error_plugin_problem, ccc_error_read, ccc_error_save): Call message parameter "message". * src/command-context-gui.c (ccg_error_plugin_problem, ccg_error_read, ccg_error_save): Ditto. 2000-02-14 Jody Goldberg * src/cell-draw.c (cell_draw) : Cells can span in either direction. * src/format.c (format_value) : Empty formats produce empty cells. * src/workbook.c (workbook_menu_tools) : Move the plugins menu item to the Tools menu. 2000-02-14 Jukka-Pekka Iivonen * src/dialogs/analysis-tools.glade, src/analysis-tools.c, src/dialogs/dialog-analysis-tools.c: Implemented Glade dialogs for Correlation, Covariance, and F-Test tools. 2000-02-14 Jody Goldberg * src/item-bar.c (item_bar_event) : Handle rename from sheet_{col,row}_size_fit -> sheet_{col,row}_size_fit_pixels * src/selection.c (cb_set_row_height) : Ditto. * src/workbook-cmd-format.c (workbook_cmd_format_{column,row}_auto_fit) : Ditto. * src/cell.c (cell_calc_dimensions) : Use sheet_row_set_size_pixels rather than sheet_row_set_internal_size_pts. * src/sheet.c (sheet_{col,row}_set_size_{pixels,pts}) : Use sheet_row_fetch to avoid manually adding rows/col. Syncronize implementations and move the 'set_internal' code here. (sheet_{col,row}_set_internal_size_pts) : Delete. (sheet_{col,row}_size_fit) : Rename sheet_{col,row}_size_fit_pixels (colrow_compute_pts_from_pixels) : Typo. 2000-02-14 Miguel de Icaza * src/dialogs/dialog-solver.c (constr_add_click): Fix handling of return value from gnumeric_dialog_run. Fix memory leaks. * src/dialogs/dialog-goto-cell.c (dialog_goto_cell): Fix handling of return value from gnumeric_dialog_run * src/dialogs/dialog-function-wizard.c (dialog_function_wizard): * src/dialogs/dialog-analysis-tools.c (dialog_correlation_tool): Fix handling of return value from gnumeric_dialog_run (dialog_sampling_tool): ditto. (dialog_descriptive_stat_tool): ditto. (dialog_ttest_eq_tool): ditto. (dialog_regression_tool): ditto (dialog_average_tool): ditto. (dialog_ranking_tool): ditto. (dialog_anova_single_factor_tool): ditto. * src/dialogs/dialog-solver.c (dialog_solver): The argument is *NOT* a GtkObject, but some other data structure. * src/dialogs/dialog-analysis-tools.c (dialog_data_analysis): Correct handling. (dialog_covariance_tool): Handle correctly. * src/dialogs/dialog-advanced-filter.c (dialog_advanced_filter): Proper error handling. 2000-02-13 Jody Goldberg * src/workbook-format-toolbar.c (workbook_create_format_toolbar) Add a border item. * src/widgets/widget-pixmap-combo.[ch] : New files. 2000-02-13 Miguel de Icaza * src/workbook.c (workbook_new): Do not autosave by default, much less with prompt feature. * src/widgets/widget-color-combo.c (color_combo_construct): Acknowledge the GNOME user settings for the combo box button. Same for the button we create. * src/workbook.c (workbook_create_standard_toobar): ditto. 2000-02-13 Jody Goldberg * src/sheet.c (sheet_col_get_distance_pts) : Fix missed +1. * src/cell-draw.c (cell_draw) : syncronize with print_cell_text. * src/print-cell.c (print_cell_text) : Ditto. 2000-02-13 Jody Goldberg * src/item-grid.c (item_grid_paint_empty_cell) : paint the selection rectangle EXCLUDING the grid lines when selected. * src/cell-draw.c (cell_draw) : Ditto. * src/pattern.c (gnumeric_background_set_gc) : return FALSE if there is no pattern even if the cell is selected. 2000-02-13 Jody Goldberg * src/item-grid.c (item_grid_paint_empty_cell) : Move above item_grid_draw_cell. (item_grid_draw_cell) : Do not to set colours here that is handled elsewhere. Call empty_cell for zeros when we are not displaying them. * src/cell-draw.c (cell_draw) : Reset the clipping region to avoid losing the background colour because the previous cell drawn had set a non overlapping clipping region. * src/workbook-view.c (workbook_view_set_size) : Clarify that the measurements are in pixels. * src/sheet-view.c (sheet_view_redraw_cell_region) : redraw the bounding grid lines too. * src/item-cursor.c (item_cursor_get_pixel_coords) : Clip the cursor region to the visible range. The layout still needs cleaning to match the 'correct' way of implementing canvas-items, but this heuristic saves us lots of iterations through the accumulator for the size of the entire sheet. 2000-02-12 Jody Goldberg * src/gnumeric-sheet.c : Use visible flag and adjust to naming and margin changes. * src/item-bar.c (colrow_tip_setlabel) : Use the format provided by XL2000. Things are correct for rows, colwidth are quoted in pts rather than char widths. (get_col_from_pos) : Use visible flag. (item_bar_start_resize) : Function renaming. (is_pointer_on_division) : Ditto. (item_bar_draw) : Changes to margins. * src/item-edit.c : Function renaming. * src/item-cursor.c : Ditto. decrease spacing for auto handle. * src/item-grid.c (item_grid_draw) : Remove inversion process for the selection. Instead have the cells draw their background differently. Use the visible flag. (item_grid_paint_empty_cell) : Ditto. (item_grid_paint_cell) : Ditto. * src/mstyle.c (mstyle_new_default) : The default vert alignment is BOTTOM. * src/pattern.c (gnumeric_background_set_gc) : Draw the background of a selected cell differently. * src/print-cell.c (DIM) : margins are already included. (print_cell_text) : Adjust argument order to more closely match cell_draw. Add support for vertical alignment of 1 line cells. Invert control of single vs multiple lines. (print_cell) : Adjust to changes in the arguments. (print_cell_range) : Use the visible flag. Draw line at the boundary rather than pretending there were additional rows/cols. * src/print.c (compute_groups) : size_pts INCLUDES margins. Use 'visible' flag. (print_page) : Adjust to function renaming. (print_range_used_units) : Ditto. * src/selection.c : Include sheet-view directly for now. (cb_set_row_height) : Adjust to function renaming. * src/sheet-view.c (sheet_view_redraw_cell_region) : Adjust to function renaming. (sheet_view_redraw_headers) : Ditto. (sheet_view_set_zoom_factor) : Ditto. (sheet_view_col_size_changed) : Ditto. (sheet_view_row_size_changed) : Ditto. (sheet_view_comment_get_points) : Ditto. * src/sheet.[ch] : Rationalize function names, and add glossary. Make the use of margins and sizes (in points and pixels) consistant. (sheet_col_get_external_width : Delete. (sheet_row_get_external_height : Delete. (sheet_col_get_distance : Rename sheet_col_get_distance_pixels. (sheet_row_get_distance : Rename sheet_row_get_distance_pixels. (sheet_row_get_unit_distance : Rename sheet_row_get_distance_pts. (sheet_col_get_unit_distance : Rename sheet_col_get_distance_pts. (sheet_col_set_width : Rename sheet_col_set_size_pixels. (sheet_col_set_width_units : Rename sheet_col_set_size_pts. (sheet_row_set_height : Rename sheet_row_set_size_pixels. (sheet_row_set_height_units) : Rename sheet_row_set_size_pts. (sheet_get_default_external_col_width) : Rename sheet_col_get_default_size_pts. (sheet_get_default_external_row_height): Rename sheet_row_get_default_size_pts. (sheet_col_set_internal_width) : sheet_col_set_internal_size_pts. (sheet_row_set_internal_height): sheet_row_set_internal_size_pts. (sheet_{row,col}_set_default_size_pts) : New functions. (sheet_init_default_styles) : Tune to match XL defaults. * src/sort.c : Use g_strcasecmp, and include * src/style.c (style_color_new) : Init the selection colour as a 50% alpha blend with lavender. * src/style.h : Change default font to be Helvetica 9 because it will scale better when the standard 96 dpi resolution is assumed. Add a selected_color to StyleColor. * src/value-sheet.c : Include to get the internationalization support. * src/workbook-cmd-format.c (workbook_cmd_format_column_auto_fit) : sheet_col_set_width -> sheet_col_set_size_pixels. (workbook_cmd_format_column_width) : sheet_col_set_width_units -> sheet_col_set_size_pts. (workbook_cmd_format_row_auto_fit) : sheet_row_set_height -> sheet_row_set_size_pixels (workbook_cmd_format_row_height) : sheet_row_set_height_units -> sheet_row_set_size_pts. * src/xml-io.c (xml_read_rows_info) : Rename sheet_row_set_height_units -> sheet_row_set_size_pts. (xml_read_cols_info) : Rename sheet_col_set_height_units -> sheet_col_set_size_pts. (xml_read_colrow_info) : Remove hack with negative pixels. Use 'visible' flag instead. (xml_write_colrow_info) : Ditto. 2000-02-12 Gregory McLean * src/functions/fn-financial.c: Added documentation and examples. 2000-02-12 Jukka-Pekka Iivonen * doc/C/autosave.sgml: New file added. Documentation of the AutoSave tool. 2000-02-11 Jody Goldberg * src/workbook-format-toolbar.c (workbook_create_format_toolbar) : Adjust to new signature for color_combo_new. Select index 0 rather than 1 (some one has spent too much time in fortran). Reorder the initializations to match deployment (I'm being pedantic). * src/widgets/widget-color-combo.c (color_table_setup) : Change the no_color flag to a possibly NULL string to provide finer control. (color_combo_construct) : Ditto. (color_combo_new_with_vals) : Ditto. (color_combo_new) : Ditto. 2000-02-11 Dean Scott * src/widgets/widget-color-combo.c (default_colors) : Reorder to match XL2000 more closely and provide names. (color_combo_new) : Correct the layout to display all colours. 2000-02-11 Michael Meeks * src/sheet.c (sheet_load_cell_val): fix brokenness. (sheet_load_cell_val): cast to shut it up. 2000-02-11 Michael Meeks * src/sheet.c (cellref_name): use sheet_quote_name. (sheet_quote_name): implement. * src/workbook.h (WorkbookClass): add cell_changed signal. * src/workbook.c (workbook_class_init): add cell_changed. * src/sheet.c (sheet_load_cell_val): Add signal for blind folks. 2000-02-11 Michael Meeks * src/sheet.c (sheet_get_extent): Fix silly buglet for blank sheets. * configure.in: split out GB autoconf from EXTRA_GNOME_LIBS 2000-02-10 Michael Meeks * src/clipboard.c (sheet_paste_selection): pass CellPos. (clipboard_copy_cell_range): pass ptr to range. * src/sheet-style.c (sheet_get_styles_in_range): include the background style so we can undo nicely. (sheet_style_attach_list): simplify. * src/workbook-format-toolbar.c (change_font_size_in_selection_cmd), (change_selection_font, set_selection_halign, change_font_in_selection_cmd), (change_font_size_in_selection_cmd, do_sheet_selection_apply_style), (fore_color_changed, back_color_changed): use cmd_format. * src/dialogs/dialog-cell-format.c (cb_fmt_dialog_dialog_apply): update to use cmd_format. * src/sheet-style.c (sheet_selection_set_border): kill style unref. (sheet_selection_apply_border_cb): renamed to (sheet_range_set_border): (sheet_selection_set_border): kill ( with leak ). (sheet_range_apply_style): rename (sheet_selection_apply_style): kill. (sheet_get_styles_in_range): take a const range pointer 2000-02-10 Jody Goldberg * src/corba-workbook-factory.c (WorkbookFactory_read) : Include gnorba. 2000-02-10 Michael Meeks * src/corba-sheet.c: include cell.h & colrow.h (Sheet_col_width): use size_pts (Sheet_row_height): ditto. * src/embeddable-grid.h: include sheet-view.h * configure.in (have_gb): bump ver. * src/workbook.c (workbook_new): fix ordering of arguments on autosave function; default to not ask, and make interval 10 minutes. ( instead of 1 with bug ). 2000-02-10 Jody Goldberg * src/sheet.h : Remove inclusion of cell.h. Adjust includes to loosen things a bit more. * src/colrow.h : Remove margin_a_pt margin_b_pt. Margins are NOT scaled by resolution or zoom. Rename units -> size_pts and store as float rather than double. Rename pixels-> size_pixels hard_size -> use gboolean rather than a 1 element bitfield * src/style.h : Move the typedefs from here. * src/gnumeric.h : to here. *.[ch] : Catch up with the renames and include changes. 2000-02-09 Jody Goldberg * src/workbook.c (change_displayed_zoom_cb) : Add a '%' at the end of the zoom specification. (workbook_create_standard_toobar) : Adjust the list of zoom labels. * src/style.c (font_init) : Add comment explaining that the default fonts are not scaled by resolution, and that we depend on that. * src/sheet.c (sheet_init_default_styles) : Set the default sizes based on the size of the default font not on pixels. * src/sheet-view.c (new_canvas_bar) : Don't set the size or scroll region here. (sheet_view_construct) : Call sheet_view_set_zoom_factor with a factor of 1 to set sizes and scroll regions. (sheet_view_set_zoom_factor) : Do not hard code the sizes of the free dimensions. Set them based on the font used for the headers. 2000-02-08 Jody Goldberg * src/commands.c (command_undo) : Be more careful and only undo commands the successfully undo. 2000-02-06 Michael Meeks * src/sheet-object.c (sheet_object_construct): mark sheet as modified. 2000-02-06 Jukka-Pekka Iivonen * src/mathfunc.[ch], src/functions/fn-math.c: Moved mdeterm, mmult and minverse to mathfunc.c. 2000-02-07 Miguel de Icaza * src/dialogs/Makefile.am (glade_msgs): Add new glade.h files * src/dialogs/*.glade.h: Touch up glade files that did not generate the corresponding .glade.h file. * src/solver-lp.c: Tag strings for internationalization. * src/analysis-tools.c: ditto. * src/workbook.c (dialog_autosave_callback): Moved autosave code here. (workbook_autosave_cancel): Cancels autosaving. (workbook_autosave_set): * src/dialogs/dialog-autosave.c (dialog_autosave): Change the order here. (dialog_autosave): Correct. Help button does not mean OK. Hook up help. * src/dialogs/auto-save.glade: Beautify. 2000-02-01 ERDI Gergo * src/about.c (dialog_about): Added myself to the contributors list * src/widgets/gtk-combo-box.c (gtk_combo_box_popup_hide): explicitly cast function pointers to avoid a warning * src/solver-lp.c (simplex_step_three): Default value for `min' to eliminate a warning * src/dialogs/dialog-advanced-filter.c: Included ranges.h (removing an `implicit declaration' warning) * src/commands.c: Included `dialogs.h' * src/workbook.c (workbook_standard_toolbar_orient): Hide the zoom combo box on vertical toolbars * src/widgets/gtk-combo-text.[ch]: New widget: easy-to-use combo box 2000-01-28 ERDI Gergo * src/workbook.c (workbook_create_standard_toobar): Added a zoom button to the toolbar as requested 2000-02-05 JP Rosevear * src/commands.h : Fix typo 2000-02-05 JP Rosevear * doc/pref-attributes.txt : Start sorting excel attributes into application, workbook and sheet categories. 2000-02-05 Jody Goldberg * src/sheet.[ch] (sheet_row_info_set_{height, width}) : Make static. * src/cell.c (cell_calc_dimensions) : The size is already scaled. * src/item-bar.c (item_bar_event) : Only scale by the zoom. The item-grid canvas is zoomed by the zoom factor, not by the resolution adjustment. (item_bar_start_resize) : Ditto. * src/selection.c (sheet_selection_paste) : Use cmd_paste_cut. * src/commands.c (cmd_paste_cut) : Implement. 2000-02-04 Jody Goldberg * src/widgets/widget-font-selector.c (font_selector_set_points) : new function. * src/dialogs/dialog-cell-format.c (fmt_dialog_init_font_page) : Use it. 2000-01-31 Michael Meeks * src/cell-draw.c (cell_draw): Ameliorate the 'Fatal Error' to 'Pending'; it looks better when we hit a MsgBox in a GB func. 2000-01-30 Michael Meeks * src/sheet.c (sheet_insert_object): repo -> goad for activate. * src/func.c: constify. 2000-02-04 Jody Goldberg * src/sheet.c (sheet_col_set_internal_width) : Scale by the axis resolution adjment. (sheet_row_set_internal_height) : Ditto. (colrow_set_units) : Ditto. (sheet_compute_col_row_new_size) : Ditto. * src/item-bar.c (item_bar_fonts_init) : Scale by resolution. (item_bar_start_resize) : Ditto. (item_bar_event) : Ditto. * src/cell.c (cell_calc_dimensions) : Adjust interface to take the cell. Scale the height test by the vertical resolution adjustment. * src/cell-draw.c (sheet_view_get_style_font) : rename from sheet_get_style_font in preparation for view split. Scale the font by the average of the resolutions. 2000-02-03 Jody Goldberg * src/xml-io.c (xml_{read,write}_selection_info) : New functions. (xml_{read,write}_range) : New functions. (xml_write_style_region) : Use xml_write_range. (DOH!) (xml_read_style_region) : Use xml_read_range. (xml_sheet_read) : Use xml_read_selection_info. (xml_sheet_write) : Use xml_write_selection_info. 2000-02-03 Jukka-Pekka Iivonen * src/solver-lp.c (solver_simplex): Bug fix. Convert RHS values to non-negative. * src/solver-lp.c: Implemented `Sensitivity Report' for Solver tool. Not complete though. 2000-02-02 Jody Goldberg * src/cell.c (cell_set_text) : Fix thinko. We are assigning to the entered_text so we should unref that. Always print the assigning empty warning. * src/str.c (string_unref_ptr) : Delete unused function. * src/clipboard.c (do_clipboard_paste_cell_region) : Use the correct clear flags for sheet_clear_region. (x_selection_handler) : Ditto. * src/workbook.c (workbook_expr_relocate) : We need to unref the new expression because the cell refs it itself. * ./src/format.c (format_remove_decimal) : Correctly remove the last decimal. bug 5836. 2000-02-02 Jukka-Pekka Iivonen * src/dialogs/dialog-solver.c, src/dialogs/solver.glade: Implemented the results and reports dialog for the Solver tool. * src/solver-lp.c, src/solver.h: Implemented `Answer' report generation for Solver. 2000-02-02 Jukka-Pekka Iivonen * src/dialogs/dialog-autocorrect.c: Killed bug #5719. 2000-02-01 Jody Goldberg * src/item-bar.c (item_bar_draw) : Fix minor fence-post drawing glitch. (bar_draw_cell) : Apply a clipping region to ensure that title strings do not overlap when sizes are small. * src/workbook.h : Remove bogus ';' from comments. Bug 5717. 2000-01-31 Jukka-Pekka Iivonen * src/dialogs/dialog-solver.c, src/dialogs/solver.glade, src/dialogs/Makefile.am: Gladefied the Solver tool. Implemented `Change' (constraint) button. * src/functions/fn-math.c: Added RandExp(), RandPoisson(), RandBinom(), RandNegBinom(), and RandBernoulli() functions. * src/functions/fn-math.c, src/mathfunc.[ch]: Moved gcd to mathfunc.c. 2000-01-31 Jody Goldberg * src/worksheet.h : Move more of the pure view elements into WorkbookPrivate. * src/sheet.h : Remove include of workbook.h * *.c : manually include workbook.h only where we need it. * src/ranges.c (parse_range) : Move here from dialog-analysis-tools.c to avoid warnings. * src/corba-workbook.c (Workbook_save_to) : Adjust to new calling convention. * src/corba-workbook-factory.c (WorkbookFactory_read) : Ditto. * src/parser.y : Support interbook references. * src/item-bar.c : Ignore scroll-wheel events. Eventually the app will handle these rather than the grid. 2000-01-31 Matthias Warkus * *.png, Makefile.am, gnumeric.keys.in: New file type icons. Flame me if anything went wrong. 2000-01-31 Yuan-Chung Cheng * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS. 2000-01-31 Jon K Hellan * src/xml-io.c (gnumeric_xml_read_workbook): Never return -1 without calling gnumeric_error_read (gnumeric_xml_write_workbook): s/read/write/ * src/file.c (workbook_load_from): Report read failure if all probes fail. Sun Jan 30 15:40:50 EST 2000 Gregory McLean * gnumeric.spec.in: Added in some logic to autogenerate the catalog's file spec. 2000-01-30 Jody Goldberg * src/item-bar.c (item_bar_event) : Propage scroll-wheel events up to the parent. * src/sheet.c (sheet_cancel_pending_input) : Reload the edit area with the current cell's value when an edit is canceled. 2000-01-30 Timur I. Bakeyev * configure.in: AM_GNU_GETTEXT changed to AM_GNOME_GETTEXT - that makes proper substitution for INTLLIBS variable. 2000-01-29 Jody Goldberg * src/gnumeric-sheet.h (gnumeric_sheet_stop_cell_selection) : Remove duplicate decl. * src/item-grid.c : Remove unused enum SELECTING_CELL_RANGE. * src/application.[ch] (application_workbook_get_by_{index,name}) : New functions. * src/selection.c (sheet_selection_paste) : Reload the edit field when finished. The current cell may have changed. * src/sheet.c (sheet_accept_pending_input) : Use gnumeric_sheet_destroy_editing_cursor. * src/xml-io.c (gnumeric_xml_read_workbook) : Really return 0 on success. * src/workbook.c (workbook_realized) : Delete unused function. (accept_input) : Force the sheet into edit mode when a user activates the edit bar. 2000-01-30 Jon K Hellan * src/xml-io.h (gnumeric_xml_read_workbook): Return int * src/xml-io.c (gnumeric_xml_read_workbook): Return 0 on success, -1 on failure. Use gnumeric_error_read to display messages. 2000-01-29 Jody Goldberg * src/commands.c (cmd_set_text_undo) : Special case VALUE_EMPTY. Move to the previous cell only after reverting its value so that the edit area is updated. (cmd_set_text) : Retrieve the old text of the cell directly. * src/sheet.c (sheet_set_current_value) : Delete and merge into... (sheet_accept_pending_input) : Here. Harmonize the logic with. (sheet_cancel_pending_input) : this function. (sheet_set_text) : Publicize. (sheet_stop_editing) : Removed storage of value of cell being edited. (sheet_start_editing_at_cursor) : Ditto. * src/workbook.c (accept_input) : Use sheet_accept_pending_input. (redo_cmd, undo_cmd) : cancel pending input. 2000-01-28 Jody Goldberg * src/item-grid.c (item_grid_draw) : Pretend that the cell being edited (and anything it spans) are empty. * src/sheet.c (sheet_duplicate_colrow) : Delete unused. 2000-01-29 Jon K Hellan Megacommit. The purpose of the changeset is twofold: 1. Use CommandContexts for error reporting for file read/save. 2. This allows us to let FileFormatOpen return 0 on success, -1 on failure, same as FileFormatSave. The convention to return NULL on success was highly ideosyncratic. * src/file.h (FileFormatOpen, FileFormatSave, workbook_load_from, workbook_import): Add CommandContext (FileFormatOpen, workbook_load_from): Return int instead of char*. * src/file.c (workbook_load_from, workbook_try_read, workbook_read, workbook_import, workbook_save_as, workbook_save) (file_error_message): Remove function (workbook_read, workbook_load_from, workbook_save_as, workbook_save): Do not display message, message, plugin does - using CommandContext. (workbook_load_from): Return int instead of char*. (workbook_load_from, workbook_import): fo->open returns int instead of char*. (workbook_try_read): Remove msg paramenter * src/workbook.c (workbook_persist_file_load, workbook_persist_file_save): Use workbook_command_context_gui. (file_import_cmd): ditto (file_open_cmd): ditto * src/gnumeric-sheet.c (gnumeric_sheet_filenames_dropped): Use workbook_command_context_gui. Call workbook_try_read without msg argument. * src/workbook.h (workbook_try_read, workbook_read, workbook_save_as, workbook_save): Add command context (workbook_try_read): Remove msg paramenter * src/dialogs/dialog-autosave.c (dialog_autosave_callback): ditto * src/command-context.[ch] (gnumeric_error_read, gnumeric_error_save): New functions. * src/command-context-corba.c (ccc_error_read, ccc_error_save): Ditto. (ccc_init_class): Initialize error_read, error_save. * src/command-context-gui.c (ccg_error_read, ccg_error_save): Ditto. (ccg_init_class): Initialize error_read, error_save. * src/main.c (gnumeric_main): Make a CommandContext for use before we make first workbook. Unref it when no longer needed. Call plugins_init and workbook_read with CommandContext. * src/plugin-manager.c (add_cb): Use gnumeric_error_plugin_problem. (remove_cb): Ditto. * src/plugin.c (plugin_load, plugin_unload): CommandContext instead of workbook. (plugins_init): Add CommandContext. * src/plugin.c (plugin_load, plugin_unload): CommandContext instead of workbook. (plugin_unload): Use gnumeric_error_plugin_problem. (plugin_load_plugins_in_dir, load_all_plugins, plugins_init): Add CommandContext. * src/xml-io.h: ditto * src/xml-io.c (gnumeric_xml_read_workbook, gnumeric_xml_write_workbook): ditto 2000-01-28 Mike Kestner * src/sheet-style.c (sheet_style_insert_colrow): Now does option checking and calls either the new style preserving insert function or the existing functionality in its new function. (stylish_insert_colrow): New. Preserves style information by extending ranges that contain the insertion point. (styleless_insert_colrow): Renamed. Existing algorithm that fragments style ranges to insert an unformatted col/row. 2000-01-28 Michael Meeks * configure.in (have_gb): update. * plugins/Makefile.am: add gb. * configure.in: ditto. 2000-01-28 Jon K Hellan * src/gnumeric-util.c (gnumeric_dialog_run): Handle wb = NULL correctly. Move handling of wb != NULL to gnumeric_wb_dialog_run. (gnumeric_wb_dialog_run): New static function. 2000-01-27 Jody Goldberg * *.c : convert to using Workbook::current_sheet rather than workbook_get_current_sheet. * src/workbook.c : Add a current_sheet member to Workbook. Delete some old test code. (do_focus_sheet) : Cancel inputs and update edit area with new cell. (workbook_focus_current_sheet) : Update current_sheet. (workbook_get_current_sheet) : Delete. * src/sheet.c (sheet_cursor_{move, set}) : Delete call to gnumeric_sheet_cursor_set. * src/sheet.c (sheet_{row,col}_add) : Use sheet_view_scrollbar_config. We should not be touching GUI directly. * src/sheet-view.c (sheet_view_scrollbar_config) : Set the scrollbar's value as well as it max and page info. * src/gnumeric-sheet.[ch] (gnumeric_sheet_cursor_set) : Delete. The scrollbars reflect the visible range, not the cursor cell. * src/item-cursor.c (item_cursor_set_bounds_visibly) : Remove call to gnumeric_sheet_cursor_set. * src/workbook-format-toolbar.c (workbook_create_format_toolbar) : std toolbar has background then font colour combo box. 2000-01-27 Jukka-Pekka Iivonen * src/dialog-advanced-filter.c, src/func.h, src/workbook.c: Implemented `Advanced Filter'. * src/mathfuns.[ch], src/analysis-tools.c, src/dialogs/dialogs.h, src/dialogs/dialog-analysis-tools.c: Added the following distributions for the random number generation tool: - poisson - binomial - negative binomial - exponential 2000-01-27 Nick Lamb * doc/C/images/*.png: New screenshots for documentation, part 2/3 Still no changes to live documentation yet. 2000-01-26 Jody Goldberg * src/xml-io.c (xml_workbook_write) : Do not save the current edit-text. We don't save the current cell or the current selection so restoring the text of the ex-cursor is quite confusing. (xml_workbook_read) : Restore window size. (gnumeric_xml_sheet_{read,write}) : Delete unused. (xml_get_range) : Utility routine. (xml_read_selection_info) : Utility routine to restore the selection. * src/sheet.c (sheet_{insert,delete}_{cols,rows}) : Do the insert/delete even if it looks like there are no cells there. There may be styles. 2000-01-27 Michael Meeks * src/sheet-object.c (sheet_object_drop_file): fix typo. * src/sheet-style.c (sheet_style_delete_colrow): Fix bug in style shifting. 2000-01-26 Jody Goldberg * src/gnumeric-util.c (gnumeric_dialog_run) : Handle the setting of the parent here rather than scattering it throughout the system. * src/item-grid.c (item_grid_event) : Support mouse-wheel scrolling. 2000-01-26 Jon K Hellan * src/item-cursor.c (item_cursor_draw): Clip to bounds of drawable. Avoid guint16 overflow during line drawing. Do the right thing when autofill handle is at top of viewport. Use explicit lower right coordinate for cursor. 2000-01-26 Jody Goldberg * src/sheet-view.c (sheet_view_set_zoom_factor) : Keep the cursor in the same place and recompute the alignments for everything. * src/item-cursor.c (item_cursor_set_bounds) : New function. * src/gnumeric-sheet.h : Add more orthogonal structure for caching common row/col bounds and their canvas offsets. * src/gnumeric-sheet.c (gnumeric_sheet_create) : Init the new members. (gnumeric_sheet_filenames_dropped) : Keep the canvas private. (gnumeric_sheet_make_cell_visible) : Add 'force_scroll' argument. * src/clipboard.c (clipboard_release) : It is possible to have no styles associated with a region. * src/item-grid.c : Remove overlapping cache of bounding rows/cols and offsets. Use the superset in GnumericSheet. (item_grid_find_{row, col}) : Support sliding backwards. 2000-01-26 Jukka-Pekka Iivonen * src/solver-lp.c: Implemented the `>=' and `=' constraints. Solver should be quite usable now for LP problems assumed to be non-negative. * src/dialogs/dialog-solver.c: Related changes. * src/dialogs/advanced-filter.glade, src/dialogs/dialog-advanced-filter.c: New files added. Not done yet. 2000-01-25 Jukka-Pekka Iivonen * src/dialogs/dialog-autocorrect.c (dialog_autocorrect): Made the unimplemented replace option unsensitive. 2000-01-25 Jukka-Pekka Iivonen * src/workbook.[ch]: Made workbook_is_dirty() public. * src/dialogs/dialog-autosave.c (dialog_autosave_callback): Added checking whether the workbook is changed or not before saving it. 2000-01-24 Jody Goldberg * src/cell-draw.c (cell_draw) : Take the style as an argument, no need to recompute something that is already available. * src/xml-io.c (xml_sheet_read) : Move the {freeze,thaw}_redraws here. (xml_read_cell) : Remove the sillyness about removing newlines and trailing spaces. Remove the {freeze,thaw}_redraws. * src/cell.c (cell_set_text_simple) : Store the rendered value. (cell_set_text) : Store the entered value. 2000-01-24 Jon K Hellan * src/dialogs/autocorrect.glade: Really commit the changes I entered into the ChangeLog yesterday. * ChangeLog: I jumbled the order and attributions of some entries yesterday. Fix. 2000-01-24 Jukka-Pekka Iivonen * src/dialogs/analysis-tools.glade, src/dialogs/Makefile.am: New file added. * src/dialogs/dialog-analysis-tools.c (dialog_data_analysis): Made the main dialog of the analysis tools to use the new Glade file. * src/dialogs/solver-options.glade, src/dialogs/Makefile.am: New file for Solver options. * src/dialogs/dialog-solver.c: Updated for the new Glade file. Removed some unimplemented options. Made the Solver options unsensitive. * src/sheet.c (sheet_new): Added setting some default parameter values for the Solver tool. 2000-01-23 Miguel de Icaza * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet): Handle GDK_ISO_Left_Tab and GDK_KP_Tab as well, per Chris' suggestion. 2000-01-23 Jon K Hellan * src/dialogs/autosave-prompt.glade: Give "Yes" button initial keyboard focus. * src/dialogs/autosave.glade: Set initial focus to first check button. Make OK the default. * src/dialogs/dialog-autocorrect.c (dialog_autocorrect): Make in entry fields invoke default. (dialog_autocorrect, exceptions_callback): * src/dialogs/autocorrect-exceptions.glade: Set initial focus to text entry field. Make OK the default. Do not show column headers in clist. Remove unnecessary level of scrollwindow. * src/dialogs/autocorrect.glade: Make OK the default. Set initial focus to first check button. Define accelerators. Set widgets for "replace text when typed" insensitive until feature is implemented. Do not show column headers in clist. * src/dialogs/dialog-autosave.c (dialog_autosave): Make in "minutes" fields invoke default. 2000-01-18 Miguel de Icaza * src/clipboard.c (x_selection_to_cell_region): Do not hardcode ',' as a number separator. Use the locale information to select the proper separator. 2000-01-23 Michael Meeks * src/ranges.c (range_translate): fix glaring bugs + make semantics saner. (range_transpose): implement. * src/clipboard.c (do_clipboard_paste_cell_region): s/cell.cell/cell. (x_selection_to_cell_region): Null styles. (clipboard_prepend_cell): kill mstyle inefficiency. (clipboard_release): destroy styles. (sheet_paste_selection): new style bits. * src/render-ascii.c (cell_region_render_ascii): kill cell.cell * src/cell.h (CellCopy): Kill MStyle member. * src/ranges.c (range_init): implement helper. * src/sheet-style.c (style_region_destroy): add precondition. (sheet_get_styles_in_range, sheet_style_list_destroy): implement. 2000-01-22 Jody Goldberg * src/sheet-view.c (sheet_view_redraw_headers) : New function that will redraw a subset of an itembar. (sheet_view_redraw_columns) : Delete. (sheet_view_redraw_rows) : Delete. * src/sheet.c (sheet_redraw_headers) : Call sheet_view_redraw_headers. (sheet_redraw_columns) : Delete. (sheet_redraw_rows) : Delete. * src/gnumeric-sheet.h (GnumericSheet) : Remove unused member item_bar_col. * src/colrow.c (col_row_set_visiblity) : Use sheet_redraw_headers in place of sheet_redraw_{cols,row}. * src/selection.c (sheet_selection_append_range) : Ditto. (sheet_select_all) : Ditto. (sheet_selection_reset_only) : Ditto. Clear the selection internally. * src/sheet.c (sheet_{col,row}_get_distance) : Handle from > to. * src/item-cursor.c (item_cursor_get_pixel_coords) : Use the precalculated offsets. * src/item-edit.c (item_edit_get_pixel_coords) : Ditto. * src/gnumeric-sheet.c (gnumeric_sheet_bar_set_top_row) : Update the item_grid's notion of the top. Calculate the new distance using the previous top as the start point. (gnumeric_sheet_bar_set_left_col) : Rename from top_col. Ditto. 2000-01-21 Jody Goldberg * src/item-bar.c (item_bar_draw) : Remove minor drawing glitch when drawing at the edge of the sheet. (item_bar_class_init) : Remove the unsed 'First' argument. * src/item-grid.c (item_grid_draw) : Draw gridlines even at the outer edges. 2000-01-16 Miguel de Icaza * plugins/Makefile.am : Remove python plugin. * plugins/python/Makefile.am : Remove python plugin. 2000-01-21 Jody Goldberg * src/dialogs/dialog-printer-setup.c (do_hf_config) : Take a Workbook. * src/gnumeric-util.c (gnumeric_dialog_run) : New function. It is a wrapper for now. After the release of .48 we will move the parent setting here. And handle the case where a user closes the app window while a dialog is displayed. * src/file.c (workbook_import) : Use gnumeric_dialog_run. * src/dialogs/dialog-{dialog-zoom.c (dialog_zoom_impl) summary.c (dialog_summary_update) solver.c (dialog_solver) solver.c (constr_add_click) solver.c (dialog_solver_options) simple-input.c (dialog_get_number, dialog_get_sheet_name) printer.c (gnumeric_printer_dialog_run) paste-special.c (dialog_paste_special) insert-cells.c (dialog_insert_cells_impl) goto-cell.c (dialog_goto_cell) goal-seek.c (dialog_found_solution, dialog_goal_seek) function-wizard.c (dialog_function_wizard) delete-cells.c (dialog_delete_cells_impl) cell-sort.c (dialog_cell_sort) cell-format.c (fmt_dialog_impl) cell-comment.c (dialog_cell_comment) autosave.c (dialog_autosave_callback, dialog_autosave) autocorrect.c (exceptions_callback) (dialog_autocorrect)} : Ditto. * src/dialogs/dialog-analysis-tools.c (dialog_{correlation_tool, covariance_tool, sampling_tool, descriptive_stat_tool, ztest_tool, ttest_paired_tool, ttest_eq_tool, ttest_neq_tool, ftest_tool, random_tool, regression_tool, average_tool, ranking_tool, anova_single_factor_tool, anova_two_factor_without_r_tool, data_analysis}) : Ditto. * src/workbook.c (workbook_can_close) : Ditto. * src/item-cursor.c (item_cursor_target_region_ok) : Ditto. * src/sheet.c (sheet_move_range) : Avoid leaking when we paste. This information will be used when undo for pasteing a cut is ready. * README : update requirements. * plugins/Makefile.am : Do not compile the python plugin by default. This will avoid complaints regarding problems with no dynamic python library until we have a solution. * src/functions/fn-stat.c : (gnumeric_kurt, gnumeric_kurtp) : return DIV/0 on error. 2000-01-20 Jody Goldberg * src/functions/fn-stat.c (gnumeric_kurtp, gnumeric_kurt) : return DIV/0 on error. * src/sheet.c (sheet_move_range) : Release the list of changed expressions until we have paste_cut undo ready. 2000-01-20 Morten Welinder * src/functions/fn-stat.c (gnumeric_stdev): Correct error code. * src/functions/fn-math.c (gnumeric_log): Correct error code and protect from crash. 2000-01-20 Morten Welinder * src/functions/fn-math.c (gnumeric_mod): Correct error code; fix for b < 0. 2000-01-20 Morten Welinder * src/functions/fn-math.c (gnumeric_power): Correct error code. * src/functions/fn-stat.c (gnumeric_avedev): Correct error code. (gnumeric_varp): Ditto. (gnumeric_var): Ditto. (gnumeric_median): Ditto. (gnumeric_min): Empty list yields zero, not error. (gnumeric_max): Ditto. 2000-01-20 Jody Goldberg * src/workbook-cmd-format.c (workbook_cmd_format_{col,row}_{hide,unhide}) : Use the undo framework. * src/sheet.c (sheet_fill_selection_with) : Take a context. (sheet_save_row_col_sizes) : Use is_cols. Doh! * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Add Alt-Pg{Up,Down}. sheet_fill_selection_with now takes a context. * src/commands.c (cmd_hide_selection_rows_cols) : Implement undo for row/col hiding. (cmd_hide_row_col_{undo,redo,destroy}) : Ditto. * src/item-grid.c (context_{col,row}_{hide,unhide}) : Use undo support. * src/selection.c (selection_get_ranges) : Improve heuristics. (sheet_selection_extend_{horizontal,vertical}) : Ensure that the cell being moved stays visible. 2000-01-20 Jon K Hellan * src/dialogs/dialog-autosave.c (dialog_autosave): Re-enable autosave timer on cancel. 2000-01-19 Jon K Hellan * src/workbook.c (workbook_do_destroy): Remove autosave timer. * src/dialogs/dialog-zoom.c (dialog_zoom_impl): Set initial focus to selected radio button. * src/dialogs/font-sel.glade.h, src/dialogs/font-sel.glade: Fix typo in preview text * src/dialogs/dialog-printer-setup.c (do_setup_main_dialog): Set Initial focus for print setup dialog. * src/workbook.c (workbook_can_close): Yes/No dialog: Give cancel button initial keyboard focus. 2000-01-19 Jody Goldberg * src/item-cursor.c (item_cursor_animation_callback) : Return TRUE so that the timer will remaing. 2000-01-19 JP Rosevear * src/dialogs/dialog-cell-sort.c (dialog_cell_sort): Modularize a bit more for the sort dialog. Use GLADE_FILE macro. (dialog_cell_sort_ok): New function connected to the sort dialog ok button. Builds the clause data and then calls cmd_sort. (dialog_cell_sort_adv): Use GLADE_FILE macro. (clip_range_to_finite): New function, reduces an infinite range to an appropriate finite range. * src/commands.c (cmd_sort): New function for new command organization. (cmd_sort_redo): ditto (cmd_sort_undo): ditto (cmd_sort_destroy): ditto * src/sort.c (sort_compare_values): The former compare_values function from dialog_cell_sort.c. (sort_compare_values2): Does comparisons on original order for undo. (sort_qsort_func): The former qsort_func function from dialog_cell_sort.c. (sort_qsort_func2): Quicksort function for undo. (sort_range): Performs the sort. Much the same as the sort_cell_range function that was in dialog_cell_sort.c. Sorts the data of a CmdSort object, creating it if necessary. Takes the quicksort function to call as an argument. * src/sort.h : New header file * src/ranges.h: Prototype range_name. * src/ranges.c (range_name): New function that returns a const char * to "A1:B5" type range name. 2000-01-19 Jody Goldberg * src/print-cell.c (print_cell_grid) : Don't print grid lines for hidden cols/rows. * src/print.c (compute_groups) : Hidden cols/rows exist. They just don't take up any space. * src/parser.y : array_cols remove null production. We can have empty array_rows OR we can have empty array_cols. Not both. 2000-01-18 Jody Goldberg * src/expr.c (eval_expr_real) : Add OPER_UNARY_PLUS. (do_expr_decode_tree) : Ditto. (expr_dump_tree) : Ditto. * src/auto-format.c (do_af_suggest) : Add OPER_UNARY_PLUS. * src/parser.y (exp -> + exp): treat as OPER_UNARY_PLUS. * src/print-cell.c (print_cell_range) : Ignore hidden rows/cols. 2000-01-18 Morten Welinder * src/expr.c (eval_expr_empty): New function. * src/func.c (function_iterate_argument_values): New new eval_expr_empty and ignore empty values. * src/collect.c (callback_function_collect): Handle NULL value. 2000-01-18 Morten Welinder * src/parser.y (exp -> + exp): treat as 0+exp. Remove duplicate production. 2000-01-18 Morten Welinder * plugins/Makefile.am (SUBDIRS): Delete the superseded stat plugin. * plugins/stat/*: remove * configure.in (AC_OUTPUT): Ditto. 2000-01-18 Morten Welinder * src/functions/fn-logical.c (logical_functions_init): Add result type for IF. * src/auto-format.h (AutoFormatTypes): Add AF_FIRST_ARG_FORMAT2. * src/auto-format.c (do_af_suggest): Implement AF_FIRST_ARG_FORMAT2. * configure.in (gnome-xml): Make the check HPUX safe. 2000-01-18 Jody Goldberg * src/xml-io.c (xml_write_colrow_info) : Save whether or not a row/col is hidden. (xml_read_colrow_info) : Restore the hidden-ness. * src/gnumeric-sheet.c (gnumeric_sheet_compute_visible_ranges) : Col/Row pixel width < 0 indicates the row is hidden. (gnumeric_sheet_make_cell_visible) : Ditto. (colrow_set_units) : Ditto. (sheet_{row,col}_info_set_{height,width}) : Ditto. (sheet_{row,col}_set_internal_{height,width}) : Ditto. (sheet_{row,col}_get_distance) : Ditto. (sheet_{row,col}_get_unit_distance) : Ditto. (sheet_{row,col}_is_hidden) : Utility routines. (sheet_find_boundary_{vertical,horizontal}) : Skip hidden rows/cols. (sheet_row_col_visible) : Mark a contiguous set of rows/cols as visible or hidden. * src/sheet.c (sheet_compute_col_row_new_size) : Ditto. * src/item-bar.c (item_bar_draw) : Ditto. (is_pointer_on_division) : Ditto. (get_col_from_pos) : Ditto. * src/item-grid.c (item_grid_find_{col,row}) : Ditto. (item_grid_draw) : Skip cells in hidden rows cols. (item_grid_paint_empty_cell) : Ditto, just in case. (item_grid_draw_cell) : Ditto. (context_{col,row}_{hide,unhide}) : New functions. (item_grid_context_menu) : Add new menu items. * src/selection.c (selection_row_col_visible) : New function. cb_row_col_visibility : Utility function. * src/workbook-cmd-format.c (workbook_cmd_format_{column,row}_{hide,unhide}) : New functions. (workbook_cmd_format_column_std_width) : Stub. (workbook_cmd_format_row_std_height) : Stub. * src/workbook.c : Add hide/unhide to the row/col format menus. 2000-01-18 Jody Goldberg * configure.in : Add test for gnome-xml >= 1.8.5. This is required to support the problems with versions 1.8.[234]. * gnumeric.spec.in : Ditto. 2000-01-18 Morten Welinder * src/functions/fn-stat.c (stat_functions_init): Add auto-format hints to deserving functions. 2000-01-18 Jukka-Pekka Iivonen * src/dialogs/dialog-autocorrect.c: Made the exceptions of first two letter correction actually work. * src/dialogs/autocorrect-exceptions.glade: Changed a list to a columned list. 2000-01-18 Jody Goldberg * src/clipboard.c (x_selection_handler) : Add some preconditions to make code more robust. (x_selection_to_cell_region) : Do not use ',' or ';' as separators if the current locale uses them as decimal points. (new_node) : Use g_strndup. * src/application.c (application_clipboard_clear) : Release ownership of the selection when the clipboard is cleared. 2000-01-18 Jon K Hellan * src/dialogs/autocorrect.glade, src/dialogs/autosave.glade, src/dialogs/autosave-prompt.glade, src/dialogs/autocorrect-exceptions.glade: Set invisible to remove flicker * src/plugin-manager.c (plugin_manager_new): Give list initial keyboard focus, make "add" button default. (remove_cb): Select next row in list after remove (plugin_manager_new): Internationalize texts. * src/dialogs/dialog-cell-sort.c (order_box_set_default): Set initial keyboard focus. (dialog_cell_sort): Use gnome_dialog_close_hides to ensure dialog is destroyed exactly once. (dialog_cell_sort_adv): Ensure dialog is destroyed exactly once. * src/dialogs/cell-sort.glade: Set initial focus for advanced sort dialog. 2000-01-17 Morten Welinder * src/auto-format.c (do_af_suggest): The difference of two dates is a number, not a date. * src/functions/fn-stat.c (gnumeric_average): Correct error code. 2000-01-17 Jody Goldberg * src/expr.c (cellref_relocate) : Before relocating check that the input reference is valid. Bounds checking assumes the input is valid. * src/workbook.c (sheet_action_delete_sheet) : Clear the clipboard to avoid references to the deleted sheet. * src/sheet.c (sheet_destroy) : Ditto. 2000-01-17 Jody Goldberg * src/workbook.c : Menu items for sheet and workbook preferences. * src/sheet-view.c (sheet_view_adjust_preferences) : New function. * src/sheet.c (sheet_adjust_preferences) : New function. (sheet_new) : Init the new preferences. (sheet_set_text) : Avoid leaking in the failure case. * src/selection.c (sheet_selection_paste) : Pass a context. * src/cell.c (cell_render_value) : display_fomulas is now a sheet level preference. (cell_is_number) : return boolean. (cell_is_zero) : New function. * src/item-grid.c (item_grid_draw_cell) : honour display_zero. 2000-01-16 Morten Welinder * src/datetime.c: New file. * src/datetime.h: New file. * src/format.c (split_time): Use datetime functions. * src/commands.c (cmd_set_date_time_redo): Do proper rounding. * src/functions/fn-date.c: Move date handling to datetime.c * src/utils.c: Move date stuff to datetime.c. Renamed systematically; all callers changed. * src/Makefile.am (GNUMERIC_BASE_SOURCES): Add datetime.c and datetime.h. 2000-01-16 Miguel de Icaza * src/item-cursor.c (item_cursor_request_redraw): Remove my experimental border from here; Reset previous border * src/selection.c (sheet_selection_change): Range code is not happy when the ranges do not intersect. Handle this 2000-01-17 Birger Langkjer * added gnome-spreadsheet.png and gnome-xls.png on behalf of kenneth@ripen.dk, the new icons for gnumeric files in the filemanager. 2000-01-16 Morten Welinder * src/auto-format.c: New file. * src/auto-format.h: New file. * src/formats.c (cell_format_general, cell_format_numbers, cell_format_currency, cell_format_account, cell_format_date, cell_format_time, cell_format_percent, cell_format_fraction, cell_format_science, cell_format_text): Make static. * src/cell.c (cell_set_formula): Free the format. Only set format if the cell was previously blank. (cell_has_assigned_format, cell_get_format): New functions. * src/parser.y (gnumeric_expr_parser): Drop const for desired_format. On error, free the format. (make_string_return): g_strdup the format. * src/expr.c (expr_parse_string): Drop const for desired_format. * src/functions/fn-financial.c (finance_functions_init): Add result types for auto-format. * src/functions/fn-date.c (date_functions_init): Add result types for auto-format. * src/functions/fn-math.c (math_functions_init): Add result types for auto-format. * src/Makefile.am (GNUMERIC_BASE_SOURCES): Add auto-format.c and auto-format.h. * src/main.c (gnumeric_main): Init and shutdown for auto_format. 2000-01-16 Morten Welinder * gnumeric.spec.in (gnome-print): require 0.10. * configure.in (gnome-print): require 0.10. 2000-01-16 Miguel de Icaza * src/sheet.c (sheet_redraw_range): New function. * src/selection.c (sheet_selection_change): Just queue redraws for the actual change on the selection. * src/sheet.c (sheet_redraw_selection): Make this one take a Range instead of a SheetSelection * src/item-cursor.c (item_cursor_request_redraw): We now only queue a redraw event for the exact area exposed. 2000-01-15 Jody Goldberg * src/workbook.c (delete_sheet_cmd) : Add a 'Delete Sheet' menu item. 2000-01-16 Jukka-Pekka Iivonen * samples/*.xls: Moved to samples/excel. * samples/statfuns.xls: Updated the LINEST test. * samples/excel: Created a new directory for XL samples. * samples/excel/solver-01.xls: Added a new test file. 2000-01-15 Jody Goldberg * src/workbook.c (clear_{all,formats,comments,content}_cmd) : Use cmd_clear_selection. * src/sheet.c (sheet_clear_region) : Merge all types of deletion into this routine and add some bit flags to enable the different types. (sheet_clear_region_content) : Delete. (sheet_clear_region_comments) : Delete. (clear_cell_format) : Delete. (sheet_clear_region_formats) : Delete. (sheet_move_range) : Adapt to changes in sheet_clear_region. * src/selection.c (cb_sheet_selection_clear) : Delete. (sheet_selection_clear) : Delete. (cb_sheet_selection_clear_content) : Delete. (sheet_selection_clear_content) : Delete. (sheet_selection_clear_comments) : Delete. (sheet_selection_clear_formats) : Delete. (selection_get_ranges) : New function split out from selection_apply. (selection_apply) : Use selection_get_ranges. * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Use cmd_clear_selection. * src/item-grid.c (context_clear_cmd) : Ditto. * src/corba-sheet.c (Sheet_clear_region) : Adapt to new clear_region calling convention. (Sheet_clear_region_content) : Use sheet_clear_region. (Sheet_clear_region_comments) : Ditto. (Sheet_clear_region_formats) : Ditto. * src/commands.c (cmd_ins_del_row_col_{undo,redo}) : Reload the the edit bar just in case. (cmd_set_date_time_{undo,redo}) : Ditto. (cmd_clear{,_undo,_redo,_destroy}) : Implement. * src/clipboard.c (paste_cell) : No need to flag the existance of formulas. (paste_cell_flags) : Ditto. (do_clipboard_paste_cell_region) : Don't recalc here. (x_selection_received) : Recalc here. (clipboard_paste_region) : Only use the X selection if the user does not pass in a CellRegion. Only use the clipboard_paste_callback_data if we are going through the X selection. 2000-01-15 Morten Welinder * src/cell.c (cell_set_formula): Set the "Pending recomputation" value earlier. * src/dialogs/dialog-goal-seek.c (gnumeric_goal_seek): Restore old value of failure. (dialog_goal_seek): Fix restoration on cancel. * src/functions/fn-math.c (range_bogusproduct): New function. (gnumeric_product): Use it. (gnumeric_g_product): New function. 2000-01-14 Morten Welinder * configure.in (GTK+): Really do use base 1000. 2000-01-14 Miguel de Icaza * src/mstyle.c: Removed extern from he too. * src/commands.c (cmd_set_text): Kill extern from here. 2000-01-14 Jon K Hellan * src/functions/fn-financial.c (help_disc): Fix typo * src/plugin.c (plugin_load): Include context when calling init_plugin. "data" was freed to early 2000-01-14 Morten Welinder * configure.in (GTK+, libglade, gnome-print): Fix version checks. Use base 1000. Someone else needs to fix Bonobo check. 2000-01-14 Jody Goldberg * src/dialogs/dialog-autocorrect.c (autocorrect_tool) : Suppress warnings. * src/commands.h : Do not declare autocorrect_tool here. * src/item-grid.c (item_grid_draw) : Add support for hiding the grid_lines. * src/sheet.c (sheet_new) : Init show_grid. * src/functions/fn-math.c (gnumeric_sumif) : Do not ignore empty cells if there is a result range that we need to stay in sync with. Fix handling of inter-sheet references. 2000-01-14 Jukka-Pekka Iivonen * src/dialog-autocorrect.c, src/autocorrect.glade, src/autocorrect-exceptions.glade: New tool added. Most things should work but not all have been completed. * workbook.c: Created `Data' menu and moved `Sort' into it. Added `AutoCorrect' tool. 2000-01-14 Daniel Veillard * src/xml-io.c (xml_probe) made the routine silent * src/xml-io.c (xml_read_summary, xml_read_names) changed g_free to xmlFree 2000-01-13 Morten Welinder * configure.in (GTK): Fix version check. Need to fix all other version checks also. 2000-01-14 Nick Lamb * doc/C/images/*.png: New screenshots for documentation, part 1/2 No changes to live documentation yet. 2000-01-13 Morten Welinder * src/parser.y (gnumeric_expr_parser): Avoid zillions of g_mallocs and frees of the deallocation stuff. 2000-01-13 Jody Goldberg * src/sheet-view.c (horizontal_scroll_event, vertical_scroll_event) : Mice with middle scroll wheels frequently send just button release events, dont assume there was a button_press. 2000-01-13 Jukka-Pekka Iivonen * src/workbook.c, src/dialogs/dialog-autosave.c: Killed warnings. 2000-01-13 Jody Goldberg * *.[ch] : eval_expr now takes an EvalPosition rather than a FunctionEvalInfo. * src/workbook.c (workbook_set_title) : Moved to workbook_view_set_title. (workbook_new) : Use workbook_view_set_size. * src/file.c (workbook_import) : Quick workaround to allow an import routine to cancel import without generating an error dialog. 2000-01-13 Sergey Panov * src/functions(fn-eng.c fn-financial.c fn-logical.c fn-lookup.c fn-math.c fn-sheet.c fn-stat.c fn-string.c): Applied patches from Valek Filippov --- correcting format of the function descr. messages. 2000-01-13 Jukka-Pekka Iivonen * src/dialogs/dialog-autosave.c: Implemented ``Auto Save'' tool. * src/dialogs/autosave.glade: New file. * src/dialogs/autosave-prompt.glade: New file. * src/workbook.c: Added Autosave tool. * src/workbook.h: Added autosave paramters to the Workbook struct. * src/dialog-solver: Fixed a constraint delete bug. 2000-01-13 Daniel Veillard * src/xml-io.c (gnumeric_xml_write_sheet, gnumeric_xml_write_workbook, xml_workbook_write, xml_sheet_write) : removed use of xmlNewGlobalNs to use xmlNewNs on the root element of the document instead 2000-01-13 Jody Goldberg * src/application.c (application_clipboard_copy, application_clipboard_cut) : Use application_set_selected_sheet. (application_set_selected_sheet) : New routine that manages exporting selection to X too. * src/clipboard.c (x_selection_clear) : Something else now has the selection. Clear ours. (clipboard_export_cell_region) : Delete. (find_local_workbook_with_selection) : Delete. (workbook_selection_locator) : Delete. (x_selection_handler) : We need to clear the region when we paste a region that was marked for cut rather than copy. * ./src/item-grid.c (item_grid_popup_menu) : Always enable paste, only enable paste special when we have a local cut. This matches the behavior of the menus and toolbar. * gnumeric.spec.in : Add a depend on libgtk+ >= 1.2.2 because 1.2.1 did not have gtk_object_get. * configure.in : Ditto. 2000-01-12 Jukka-Pekka Iivonen * src/workbook.c (workbook_menu_tools): UIINFO separators added to Tools menu. * src/dialogs/dialog-solver.c (constr_add_click): Made the solver dialog to disapear when adding constraints. * src/dialogs/dialog-solver.c (constr_delete_click): Implemented the delete button of constraints. 2000-01-11 Jody Goldberg * src/workbook.c (workbook_detach_sheet) : Even books with only 1 sheet can have inter-sheet references. think inter-book... (workbook_can_detach_sheet) : Delete we can always detach a sheet. * src/expr.c (cellref_relocate) : We only need to range check references that are changing. * src/workbook.c (workbook_expr_relocate) : Copying to the same logical cell in another sheet is still a copy. * ./src/eval.c (cell_queue_recalc_list) : Handle cross workbook depends correctly. * src/eval.c (sheet_get_intersheet_deps) : Delete it is now unnecessary. (dependency_data_destroy) : invalidate dangling intersheet dependancies. 2000-01-10 Morten Welinder * src/format.c (split_time): Improve rounding precision and avoid overflow. Also, round before doing date part. * src/functions/fn-date.c (gnumeric_hour, gnumeric_minute, gnumeric_second): Don't do the 0.5 second rounding here. (get_serial_date, get_serial_time): Do it here. 2000-01-10 Jody Goldberg * src/application.c (application_clipboard_cut) : Typo. * src/workbook-view.c (workbook_view_set_paste_special_state) : Typo. 2000-01-09 Jody Goldberg * src/commands.c (cmd_insert_cols) : Be kinder to translators. (cmd_insert_rows) : Ditto. (cmd_rename_sheet_{undo,redo,destroy}) : Implement. (cmd_rename_sheet) : Implement. (cmd_set_date_time_{undo,redo,destroy}) : Implement. (cmd_set_date_time) : Implement. (cmd_resize_row_col_{undo,redo,destroy}) : Implement. (cmd_resize_row_col) : Implement. * src/workbook.c (insert_at_cursor) : Delete. (insert_current_time_cmd) : Use cmd_set_date_time. (insert_current_date_cmd) : Ditto. (sheet_label_text_changed_signal) : Use cmd_rename_sheet. (sheet_action_rename_sheet) : Ditto. * src/corba-workbook.c (Workbook_sheet_rename) : Use cmd_rename_sheet. * src/workbook-cmd-format.c (workbook_cmd_format_sheet_change_name) : Ditto. (workbook_format_toolbar_orient) : New function to hide font selector when vertical. (workbook_create_format_toolbar) : Connect to workbook_format_toolbar_orient. * src/workbook-view.c (workbook_view_set_undo_redo_state) : Enable Bonobo version. (change_menu_label) : Ditto. (workbook_view_set_paste_special_state) : Ditto. 2000-01-08 Jody Goldberg * src/gnumeric-util.c (gnumeric_char_start_expr_p) : new function. * src/workbook.c (wizard_input) : Use gnumeric_char_start_expr_p. * src/cell.c (cell_set_formula) : Add a precondition to ensure that this is an expression. (cell_set_text_simple) : Use gnumeric_char_start_expr_p. * src/gnumeric-sheet.c (gnumeric_sheet_can_move_cursor) : Ditto. * src/sheet.c (sheet_set_text) : Ditto. 2000-01-07 Jody Goldberg * src/sheet.c (sheet_move_range) : Recalc here until there is a command wrapper for shift and cut_paste. * src/sheet.c (sheet_{insert,delete}_{rows,cols}) : Move recalc request into the command wrapper. * src/eval.c (sheet_recalc_dependencies) : Ditto. 2000-01-07 Mike Kestner * src/dialogs/dialog-simple-input.c (dialog_get_sheet_name) : Preselect the name of the sheet in the dialog. * src/workbook.c (sheet_action_rename_sheet) : Enable rename from the popup menu associated with sheet tabs. 2000-01-07 Michael Meeks * src/eval.c (sheet_recalc_dependencies): add precondition, use the single dependency hash instead for more speed. Always do the workbook_recalc to clearl the queue. (cb_cell_get_all_depends): rename to (cb_single_get_all_depends): and simplify. (cb_sheet_get_all_depends): clean slightly. (search_range_deps): Use g_list_concat + g_list_copy instead. (sheet_region_get_deps): clip the range to the sheet extent for vital speedup. 2000-01-07 Jody Goldberg * src/commands.c (cmd_ins_del_row_col_*) : Implement. * src/cell.c (cell_set_formula_tree_simple) : Correct the docs. * src/sheet.c (sheet_insert_cols, sheet_insert_rows, sheet_delete_cols, sheet_delete_rows) : Return flags to indicate failure. return list of expressions and locations that were modified as a result of the change. * src/workbook.c (workbook_expr_relocate) : Correct documentation. (sheet_suspend_auto_expr, sheet_resume_auto_expr) : Delete unused functions. (workbook_expr_unrelocate, workbook_expr_unrelocate_free) : New functions. * src/eval.c (sheet_get_intersheet_deps) : No need for sheet member. (sheet_region_get_deps) : No need to init sheet. Use g_list_concat. (sheet_recalc_dependencies) : All regions & cells in the sheet contribute. (cb_cell_get_all_depends) : New function. (cb_sheet_get_all_depends) : New function. 2000-01-06 Jody Goldberg * configure.in : correct typo as per bug 4936. * src/commands.c (cmd_ins_del_row_col_undo) : Fix operator precedence. (cmd_ins_del_row_col_redo) : Ditto. * src/sheet.c (sheet_save_row_col_sizes) : Be extra careful. * src/gnumeric-sheet.c : Add include for commands.h. 2000-01-06 Morten Welinder * src/parser.y (register_allocation): Return a value, ahem... (unregister_allocation): Don't crash, just warn on trouble. 2000-01-06 Michael Meeks * src/sheet.c (sheet_get_extent): stop start.col/row going negative; why they should I have no idea. * src/sheet-style.c (sheet_style_get_extent): Ignore last global region. 2000-01-05 Michael Meeks * src/sheet.c (sheet_move_range, sheet_insert_cols, sheet_delete_cols), (sheet_insert_rows, sheet_delete_rows): use sheet_recalc_dependencies. * src/eval.c (cell_eval_content): Hack out stubs of value tree pruning. (cell_eval): ditto. Stupidly remove all inline optimization. (sheet_recalc_dependencies): implement. 2000-01-03 Michael Meeks * src/clipboard.c (do_clipboard_paste_cell_region): add back region_get_deps. 2000-01-02 Michael Meeks * src/sheet.c (sheet_get_extent): fit inside the max_used bounds. * src/eval.c (search_range_deps): add back. (cell_get_single_dependencies): make API nicer + rename to (get_single_dependencies). (sheet_region_get_deps): revive, add single dependency checking + more logical name. 1999-12-31 Michael Meeks * src/eval.c (cell_get_dependencies): add debub. (sheet_dump_dependencies): dump pending eval_queue. (drop_cell_range_dep): improve debug + kill printout. * src/cell.c (cell_relocate): When we relocate, we change the content, hence do a cell_content_changed. * src/clipboard.c (paste_cell): Do a 'cell_relocate' when we relocate a cell :-). 1999-12-30 Michael Meeks * src/eval.c (drop_cell_range_dep): fast range dep drop. (cell_drop_dependencies): kill iterate over sheet in favour of faster drop_cell_range_dep. ( drastic simplification ) Kill 'remove_list' (dependency_remove_cell): Kill. * src/sheet.c (sheet_cell_remove_from_hash): drop dependencies. * src/Gnumeric.idl: Add ';'. * src/eval.c (cell_eval_content): Comment out & 'fix' the 'changed' return value. 1999-12-24 Michael Meeks * src/eval.c (DependencySmall): Use a CellPos, we don't need or want a Sheet pointer in this structure. (dependency_small_hash): remove sheet usage. (dependency_small_equal, handle_cell_small_dep): ditto. (DependencyRange): Kill redundant ref_count member, this was just == g_list_length (DependencyRange->cell_list), and was not used sensibly. (dependency_remove_cell): check for cell_list == NULL not ref_count. (add_cell_range_dep, dependency_range_ctor, dump_range_dep): kill ref_count. 1999-12-23 Michael Meeks * src/eval.c (cell_eval_content): documented + added 'changed' return value + check using value_equal if there is no change. * src/value.c (value_equal): implement. * src/value.h (struct _Value): comment redundant 'CellRef cell' member. * src/eval.c (dependency_range_ctor): kill redundant sheet in DependencyRange. (handle_cell_small_dep): add helpful precondition. (handle_cell_range_deps): Get the right sheet's deps. (add_cell_range_dep): Add DependencyData arg. (range_equal_func): remove sheet check. (search_cell_deps, search_intersheet_deps): ditto. 1999-12-22 Michael Meeks * src/clipboard.c (do_clipboard_paste_cell_region): remove redundant dependency queueing, this is done by cell_reloate in paste_cell anyhow. * src/eval.c (dump_range_dep, dump_small_dep): implement. (add_cell_range_dep): insert the inter sheet dependencies into the correct sheet's hash! (cell_get_range_dependencies): hence use only the sheet's hash and not all of the sheets ! (cell_drop_dependencies): iterate over all sheets to kill dependencies. (dump_cell_list): implement. (handle_cell_range_dep): kill + (handle_tree_deps): fixup for ARRAY. * src/expr.c (eval_range): update warning + failure case. * src/workbook.c (workbook_can_detach_sheet): implement. (workbook_setup_edit_area, misc_output): debugging dumps. * src/eval.c (cell_drop_dependencies): only drop depends from single ref-counted formulae; (region_get_dependencies): kill it was used incorrectly all over the place. (search_range_deps): ditto. (search_intersheet_deps): implement. (sheet_get_intersheet_deps): implemtn. * src/clipboard.c (do_clipboard_paste_cell_region): remove get_deps + add warning. * src/workbook.c (workbook_do_destroy): call sheet_dump_dependencies. (dump_dep): move to eval.c (misc_output): hack debugging code. (workbook_can_detach_sheet): add warning + update ( this was broken ). * src/eval.c (cell_add_explicit_dependency): kill. (region_get_dependencies): add warning. (cell_drop_dependencies): Add handle_tree_deps; NB. this can be all moved elsewhere for speed later. (sheet_dump_dependencies): implement. * src/sheet.c (sheet_move_range): Kill region_get_dependencies + queue_recalc_list: cell_relocate has to do this anyway. (sheet_insert_cols, sheet_delete_cols, (sheet_insert_rows, sheet_delete_rows): ditto. * src/eval.c (dependency_small_hash, dependency_small_equal): implement. (handle_cell_range_depsm cell_add_dependencies, handle_tree_deps), (handle_cell_range_dep): rename + add 'add/remove' parameter. (cell_eval_content): update debug to ParsePosition. (handle_cell_range_deps): update with switch. (handle_cell_small_dep): implement. (cell_get_dependencies): hack. (cell_get_range_dependencies): split out. 1999-12-21 Michael Meeks * src/eval.c (dependency_hash_init): kill. (dependency_data_new, dependency_data_destroy): implement. (cell_add_dependencies, cell_add_explicit_dependency), (region_get_dependencies, cell_get_dependencies): update preconditions. * src/sheet.c (sheet_destroy, sheet_new): use new functions. * src/sheet.h (Sheet): Use DependencyData. * src/eval.h: Add new / destroy functions for deps. * src/gnumeric.h: add DependencyData. * src/main.c: Add debug_deps. 2000-01-06 Jody Goldberg * *.[ch] : rename struct expr_relocate_info -> ExprRelocateInfo. * src/sheet.c (sheet_save_row_col_sizes) : New routine to support undo. (sheet_save_row_col_sizes) : Ditto. (col_row_info_init) : Init hard_size. * src/commands.c (cmd_ins_del_row_col_undo) : Restore the row/col size info. (cmd_ins_del_row_col_redo) : Save the info. 2000-01-05 Morten Welinder * src/commands.c (cmd_set_text_undo) : Free the old string. (command_push_undo) : No need to ref objects. Things are born with ref 1. (gnumeric_command_destroy): Brown paper bag fix. 2000-01-05 Jody Goldberg * src/gnumeric-type-util.h (GNUMERIC_MAKE_TYPE_WITH_PARENT) : new macro. (GNUMERIC_MAKE_COMMAND) : Use GNUMERIC_MAKE_TYPE_WITH_PARENT rather than defining an empty Class for each command. * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Pop the fake SetText. * src/commands.c (cmd_delete_cols) : Fix typo. (command_list_pop_top_undo) : New command. (cmd_ins_del_row_col) : Call redo. (cmd_ins_del_row_col_redo) : Handle the insertion and deletion. (cmd_ins_del_row_col_undo) : Ditto. Still need to handle, values, styles, and sizes. * src/command-context-corba.c (ccc_error_splits_array) : Suppress warning. 2000-01-05 Jon K Hellan * src/plugin-manager.c (struct PluginManager): Remove unused members. (BUTTON_ADD, BUTTON_REMOVE, BUTTON_CLOSE): Define (populate_clist):Remove set_sensitive. (row_cb): Use BUTTON_REMOVE define. (plugin_manager_new): Use BUTTON_.. defines. Allow user to expand size. Widen. 2000-01-06 Michael Meeks * src/xml-io.c (xml_read_style): Actually read & use the font size; how did this die ? 2000-01-05 Michael Meeks * src/mstyle.c (mstyle_get_font_size): fix a brainless precondition typo causing people grief; thanks to Jon. 2000-01-05 Jody Goldberg * src/workbook-view.c (workbook_view_set_undo_redo_state) : Disable for bonobo versions. 2000-01-05 Morten Welinder * src/expr.c (eval_expr_real): Fix OPER_EXP operand test for the float_t case. * src/parser.y (register_allocation, unregister_allocation): Ignore NULLs. 2000-01-04 Morten Welinder * parser.y: revamp the allocation and deallocation system. * src/cell.c (cell_set_formula): Plug leak. * src/solver-lp.c (solver_simplex): j not used. 2000-01-04 Jody Goldberg * src/commands.[ch] : New files. * src/workbook-view.c (workbook_view_set_undo_redo_state) : Take strings to use as suffixes to undo and redo. NULL indicates disabled. * src/sheet.c (sheet_set_current_value) : Use cmd_set_text to register undo. * src/workbook.c (workbook_menu_view) : Make The formula toggle a toggle item. (workbook_menu_insert) : Move the insert object menu item here, and adjust the selector characters to make more sense. (undo_cmd, redo_cmd) : Enable. (workbook_init) : Init the undo/redo lists. (workbook_do_destroy) : Clear the undo/redo lists. (wb_input_finished) : Delete. It was the same as accept_input. 2000-01-03 Miguel de Icaza * src/cell.c (cell_render_value): Do not check for cell->sheet and cell->sheet->workbook, these must be true. 2000-01-02 Martin Sheppard * src/workbook.h (struct _Workbook): add option to display text of formulas instead of their value * src/workbook.c (workbook_menu_edit): add menu oiption for toggling the display of formulas (toggle_formuals_cmd,cb_cell_rerender): new function to toggle the display of formulas (workbook_new): initialize the display formulas option * src/cell.c (cell_render_value): implemented displaying formulas 2000-01-02 Martin Sheppard * src/parser.{c,y} (yylex) : fixed so that while parsing a formula, a quoted function is convered to a string token rather than a function call token. i.e. so that things like "sin" work properly in formulas. 2000-01-03 Martin Sheppard * src/expr.c (strescape) : new function to escape strings (do_expr_decode_tree) : fixed so strings are escaped properly 2000-01-03 Miguel de Icaza * src/gnumeric-sheet.c (move_cursor): Fixed the annoying flashing of the cursor/selection problem by reverting to the old code setup. I also eliminated some animation of the cursor while doing this. 2000-01-03 Michael Meeks * src/func.c (function_remove, function_is_unused): implement. * src/symbol.c (symbol_is_unused, symbol_remove): implement. 2000-01-03 Gregory McLean * gnumeric.spec.in: Synced with my spec tree. This is in sync with 0.47 and includes all the bits. 2000-01-03 Jody Goldberg * src/workbook.c (workbook_new) : paste_special is only disabled for cut not for standard actions. * src/value-sheet.c (value_is_error) : New routine to look up errors. (gnumeric_error_init) : New routine. (constants_init) : Used here. * src/parser.y (yylex) : If a string begins with '#' it may be an explicit error string. * src/xml-io.c (xml_write_style_border) : Write BORDER_NONE's too, this makes it possible to save and restore the NONEs that erase borders. 2000-01-03 Michael Meeks * src/about.c (dialog_about): Add Ariel. 2000-01-02 Michael Meeks * src/func.c (function_marshal_arg): Split from (function_call_with_list): to make it sweeter. * src/sheet.c (sheet_get_extent): clip range to the max_used boundary, naff but gets round print problems for now. 2000-01-02 Miguel de Icaza * src/clipboard.c (x_selection_to_cell_region): the last element of a paste was being dropped and the region was being miss-computed 2000-01-02 Miguel de Icaza * src/workbook-view.c (workbook_view_set_paste_special_state): Renamed this function to suit better its new purpose: only manage the paste special item, as paste can pull the information from the X clipboard. * src/parser.y (release_const_tree): New routine used to release exprtrees that we discard during parsing. array_expressions: The various NUMBERS used in this rule are never actually linked into the ExprTree, we are only interested in them to pull a couple of integers from it. We now release them after we construct the formula. This fixes the leaks reported by Morten. 2000-01-02 Jody Goldberg * src/application.h : Add application_clipboard_unant now that it is used elsewhere. 2000-01-02 Michael Meeks * src/sheet.h (Sheet): Make generation guint8. * src/workbook.h (Workbook): ditto. 2000-01-01 Miguel de Icaza * src/xml-io.c (xml_read_cell): Set the cell value to empty instead of an empty string. * src/cell.c (cell_set_text): Add warning if cell_set_text is invoked with the empty string. * src/workbook.c (workbook_edit_comment): Set the cell value to VALUE_EMPTY instead of setting it to "". * src/sheet.c (cellref_a1_get): Chek the range 2000-01-01 Miguel de Icaza * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet): Use application_clipboar_unant here. (gnumeric_sheet_key_mode_object): ditto. * src/sheet.c (sheet_start_editing_at_cursor): ditto. * src/workbook-format-toolbar.c (change_selection_font): ditto (set_selection_halign): ditto * src/application.c (application_clipboard_copy): Use defines. (application_clipboard_cut): Use defines. (application_clipboard_unant): New function, less agressive marking of unanting. * src/workbook-view.c (workbook_view_set_paste_state): Use named defines instead of arbitrary constants. Please, no magic constants ever in Gnumeric guys. * src/application.c: * src/workbook-private.h: Move the menu_item fields to workbook_private. 2000-01-01 Jody Goldberg * src/cell.c (cell_cleanout) : Make static again. * src/eval.c (workbook_next_generation) : Make static. 1999-12-31 Jody Goldberg * src/file.c (workbook_import) : Support new plugin interface. 1999-12-31 Miguel de Icaza * src/corba-workbook.c (workbook_corba_setup): Create the corba context here. (workbook_corba_shutdown): Destroy it here. (command_context_corba): Return it here. * src/corba-sheet.c: Use properly the command_context_corba, passing a workbook argument in all functions. * src/command-context-corba.c, src/command-context-corba.h: Implement CORBA versions of the CommandContext. 1999-12-30 Jody Goldberg * src/workbook.c (workbook_command_context_gui) : minor warning supression and adjustment of the comment to explain why we may be called with a NULL workbook. That occurs when an operation occurs BEFORE a gui is available but we will be creating a gui and want graphical error messages. 1999-12-30 Ariel Rios * doc/Makefile.am: Added guile-gnumeric.txt to dist files. 1999-12-30 Jukka-Pekka Iivonen * src/utils.c (parse_cell_name_list): Cell ranges are now also accepted. * src/solver-lp.c: Implemented Simplex algorithm. It can currently solve LP maximization problems of positive variables having `<=' constraints. * src/workbook.c: Added `Solver' tool. * src/utils.c (parse_cell_name_list): Bug fix. The last item on the list was not included on the list. 1999-12-30 Miguel de Icaza * src/gnumeric-type-util.h (GNUMERIC_MAKE_TYPE): New macro, copied from Evolution. We need to refactor our code in Gnumeric to use this macro. * src/workbook.c (workbook_do_destroy): Destroy the per-workbook context here. Hardcoded to be a GUI context for now. (workbook_new): Create the context here. (workbook_command_context_gui): This routine is now the one that returns the command context. * src/gnumeric.h: Added CommandCOntext typedef here. * All files: renamed CmdContext to CommandContext. renamed command_context_gui to workbook_command_context_gui. * src/workbook-view.c: Removed the GUI_CmdContext class setup. * src/command-context.c: Replaced the ad-hoc object system with a GtkObject-based system. 1999-12-30 Jody Goldberg * src/file.c (workbook_load_from) : The 'open' functions return error strings now. Success == NULL, standard error == "", custom error which needs to be freed is everything else. (workbook_try_read) : An optional argument in which to store error messages returned by the loaders. (file_error_message) : Support the custom error messages. (workbook_read) : Ditto. * src/xml-io.c (xml_workbook_read) : Return simple error strings. 1999-12-29 Ariel Rios * doc/guile-gnumeric.txt: Documentation for the guile plugin was added. 1999-12-29 Jody Goldberg * src/main.c : Include print-info.h to suppess some warnings. * src/workbook-view.c (command_context_gui, gui_splits_array, gui_plugin_problem, command_context_gui_cast) : New functions. * src/workbook.c (workbook_new) : Switch to using the workbook_view routines to manipulate the undo/redo and paste/paste_special menu items. * src/func.c (function_iterate_argument_values) : Return an error for empty/missing arguments. * plugins/*/Makefile.am : Define GNUMERIC_VERSION. * plugins/*/*.c (init_plugin): Take a CmdContext for error reporting. Call plugin_version_mismatch to do some minimal version matching for plugins and the running application. Return an enum to clearly differentiate between error reporting reqs. * src/Gnumeric.idl : Add PluginProblem. * src/command-context.[ch] (gnumeric_error_splits_array, gnumeric_error_plugin_problem, command_context_vtbl_init) : New functions. * src/plugin.c (plugin_version_mismatch) : New function. (plugin_load) : Hard code a GUI context for now. Switch to using gnumeric_error_ routines. Pass a CmdContext to the init_plugin routines. Only produce an error if the plugin returns -1. Store the plugin filename. (plugin_unload) : Free the filename on exit. * *.c : command_context_gui now takes a Workbook argument. : Switch from gnumeric_no_modify_array_notice to gnumeric_error_splits_array in most places. 1999-12-28 Peter Moulder * src/number-match.c: Currently, two-digit years are converted to four-digit years (ccyy) by assuming that cc is the same as in the current wall date. The problem with that is that on 1999-12-31, entering any future dates in two-digit-year form will be misinterpreted; while on 2000-01-01, any past dates entered in two-digit form will be misinterpreted. (I use the term "misinterpreted" with the assumption that one is much more likely to intend a date a few days away than 99 years away.) 1999-12-27 Jody Goldberg * configure.in : Re-enable the python plugin by default. * src/plugin.c (load_all_plugins) : Search in a version specific directory. * plugins/*/Makefile.am : Install in /lib/gnumeric/plugins/${VERSION} to decrease the number of silly version problems. Adjust the plugin names to follow the convention libgnum_.so to avoid problems like the python plugin 'libpython.so' depending on the python libraries with the same name. * src/cell.c (cell_get_formatted_val) : Make public. 1999-12-23 JP Rosevear * src/plugin-manager.c (plugin_manager_new): Use a gnome_dialog and stock icons (row_cb): Use gnome_dialog_set_sensitive instead of gtk_widget_set_sensitive * src/dialogs/dialog-analysis-tools.c (dialog_data_analysis): Use stock ok item for ok button 1999-12-22 JP Rosevear * src/ranges.c (range_intersection): change interface to take a range pointer for the result and return a boolean dictating whether or not the ranges actually intersect * src/ranges.h : update for new range_intersection interface 1999-12-22 JP Rosevear * src/ranges.c (range_intersection): Clean to meet coding specs. 1999-12-21 JP Rosevear * src/ranges.c (range_intersection) : Tidy and handle the case where the ranges don't intersect. * src/dialogs/dialog-cell-sort.c (dialog_cell_sort) : Use sheet_get_extent only if there are infinite ranges, so the user sees their manually selected range if possible. 1999-12-21 Jody Goldberg * src/expr.c (expr_implicit_intersection) : New routine split from function_call_with_list. (compare) : Handle intersection. (eval_expr_real) : Ditto. Add verbose comment on a possible heuristic for the final piece of this ugly evaluation mechanism, array interation. (cell_ref_get_abs_col_row) : Adjust to take a CellPos. * src/func.c (function_iterate_do_value) : Split the implicit intersection out into a new function. Use intersection for strings as well as float & bool args. Correct memory leak when intersetion was used. (function_call_with_list) : Ditto. * *.c : Adjust to change in EvalPosition to use CellPos. * gnumeric.spec.in : Update the libglade dependancy. * src/workbook.c (wb_edit_key_pressed) : Do not select the current cell address and do not move the cursor to the start of the cell address when F4 is hit. 1999-12-20 Jody Goldberg * src/parser.y : Clean up for byacc. * src/workbook.c (file_open_cmd) : Handle failed opens. (file_import_cmd) : Handle failed imports. * src/item-bar.c (item_bar_start_resize) : Add resize marker on the other side of the row/col being resized. (item_bar_init) : Init the marker to NULL. (item_bar_end_resize) : Clear the marker. 1999-12-19 Jody Goldberg * src/selection.c (sheet_selection_cut) : Fix Typo. * src/item-bar.c (item_bar_start_resize) : Don't bother setting the location of the line here. Instead we set the correctly zoomed bounds of the static-dimension. (item_bar_end_resize) : Clear the saved points. (item_bar_init) : Init the guide and points to NULL; (item_bar_event) : No need to call canvas to world. We zoom manually. (item_bar_get_line_points) : Delete. 1999-12-19 Michael Meeks * configure.in: bump version to 0.46. * src/dialogs/dialog-printer-setup.c (fill_hf): use print_hf_same, since pointer comparison duff; since item is copied. * src/print-info.c (print_hf_same): implement. (print_hf_register): update to use it. 1999-12-18 Michael Meeks * src/dialogs/dialog-printer-setup.c (do_setup_hf): Grab the header & footer pointer from the sheet's print info if available. (do_setup_hf_menus): only setup the dialog if non-null. * src/print-info.c (print_info_new): kill load_formats. init hf_formats. (print_init, print_shutdown): implement. * src/main.c (gnumeric_main): add print_init / shutdown. 1999-12-18 Michael Meeks * src/sheet.c (sheet_new): setup pristine. (sheet_mark_clean, sheet_set_dirty, sheet_is_pristine): improve, thanks to Morten. 1999-12-18 Morten Welinder * src/xml-io.c (xml_read_print_info): Plug leaks. (xml_value_get): Return a g_malloc'ed string. All callers changed. (xml_get_print_unit): Plug leak. (xml_get_color_value): Plug leak. (xml_read_sheet_object): Plug leak, I think. (xml_set_value): Plug leak. (xml_set_value_string): Plug leak. (xml_set_value_int): Plug leak. (xml_set_value_double): Plug leak. (xml_set_color_value): Plug leak. (xml_set_gnome_canvas_points): free/g_free mixup. (xml_workbook_write): Plug leak. * src/item-bar.c (item_bar_destroy): Unref fonts. (Found by Miguel.) * src/style.c (style_shutdown): Add code to warn of font ref leaks on exit. 1999-12-18 Michael Meeks * src/corba-sheet.c (command_context_corba): clean. * src/sheet-style.c (sheet_style_get_extent): implement. * src/sheet.c (sheet_get_extent): Add union with style extent, fix silly typo. * src/ranges.c (range_is_infinite): Add new function. (range_union): implement. 1999-12-18 Morten Welinder * src/functions/fn-financial.c (gnumeric_yieldmat, gnumeric_yielddisc, gnumeric_oddlyield, gnumeric_oddfyield, gnumeric_oddfprice, gnumeric_oddlprice, gnumeric_yield, gnumeric_price): New skeleton function. 1999-12-18 Jody Goldberg * src/format.c (format_number) : Supress printing a '-' if the format includes a manual '-' even if the negative is preceded by a \ 1999-12-18 Kjartan Maraas * src/dialogs/print.glade.h: Added xgettext:no-c-format in comment to please msgfmt. 1999-12-18 Morten Welinder * src/functions/fn-financial.c (gnumeric_tbilleq, gnumeric_tbillyield): check params better. 1999-12-18 Michael Meeks * src/about.c (dialog_about): add Jon. 1999-12-17 Jon K Hellan * src/sheet.c (sheet_get_default_external_col_width): New function. Get default column width in units, including margins. (sheet_get_default_external_row_height): New function. Get default row height in units, including margins. (sheet_col_get_external_width): New function. Get column width in units, including margins. (sheet_row_get_external_height): New function. Get row height in units, including margins. * src/sheet.h: Declare new functions in sheet.c 1999-12-18 Michael Meeks * src/dialogs/dialog-cell-sort.c (dialog_cell_sort): add command context. 1999-12-17 Michael Meeks * src/dialogs/dialog-cell-sort.c (dialog_cell_sort): don't corrupt first selection range. Use selection_is_simple. Replace quad int's with cleaner range implementation. 1999-12-17 Ettore Perazzoli * src/pixmaps/cursor_cross.xpm: Fix drop shadow. 1999-12-18 Jody Goldberg * src/sheet.c (sheet_check_for_partial_array) : Rename from range_check_for_partial_array and make public. * src/selection.c (sheet_selection_cut) : Disable cutting part of an array. * src/expr.c (eval_expr_real) : Wrap out of bound aarray lookups when the src is 1 element wide or tall. 1999-12-17 Jody Goldberg * src/cell.c (cell_cleanout) : Publicize. * src/sheet.c (clear_cell_content) : Delete. (sheet_clear_region_content) : Use sheet_clear_region but leave the styles in place. 1999-12-17 Morten Welinder * src/functions/fn-stat.c: White-space mania. 1999-12-16 Andrew Chatham * src/regression.h: Better comments for parts of extra_stat * src/regression.c (linear_solve): Fixed adjusted R^2 bug (hopefully). * src/functions/fn-stat.c (gnumeric_linest, gnumeric_logest) Added beginning support for 3+ dimensional regressions in linest and logest. * src/analysis-tools.c (regression_tool) Documented Excel bugs with no-intercept regressions that I didn't/can't mimic. 1999-12-16 Morten Welinder * src/func.c (tokenized_help_destroy): Plug leak. 1999-12-16 Michael Meeks * src/corba-sheet.c (Sheet_range_set_alignment): add orientation. 1999-12-16 Michael Meeks * src/sheet.c (sheet_get_extent_cb): Fix biggest leak ever seen, use cell_is_blank. 1999-12-14 Cort Dougan * src/corba-sheet.c (Sheet_range_set_font, Sheet_range_set_foreground), (Sheet_range_set_pattern, Sheet_range_set_background, Sheet_range_set_alignment): implement. (Sheet_corba_class_init): fill epv. 1999-12-14 Joe Sakosky * src/file.c: privatized fileopener filesaver. * src/file.h: ditto 1999-12-15 Michael Meeks * src/workbook.c (workbook_bonobo_setup): kill goadid. (workbook_new): kill brainless bug. 1999-12-15 Jody Goldberg * src/gnumeric.h : Move many of the typedefs here. * src/dialogs/dialog-cell-sort.c (dialog_cell_sort) : Tweak some const issues and minor logic problems at the boundaries. 1999-12-14 Jody Goldberg * src/workbook-view.c (command_context_gui) : New function. * src/main.c (gnumeric_main) : Add a 'quit' flag for use in testing. It causes the app to exit immediately after loading all the selected books. * src/file.c (workbook_import) : Bug 3977. * src/corba-sheet.c (command_context_corba) : New function temporarily located here. (Sheet_selection_copy) : Pass a CommandContext. (Sheet_selection_cut) : Ditto (Sheet_selection_paste) : Ditto (Sheet_clear_region) : Ditto (Sheet_clear_region_content) : Ditto (Sheet_insert_col) : Ditto (Sheet_delete_col) : Ditto (Sheet_insert_row) : Ditto (Sheet_delete_row) : Ditto (Sheet_shift_rows) : Ditto (Sheet_shift_cols) : Ditto * src/item-cursor.c (item_cursor_do_action) : Ditto. * src/item-grid.c (context_cut_cmd) : Ditto. (context_cut_cmd) : Ditto. (context_copy_cmd) : Ditto. (context_paste_cmd) : Ditto. (context_paste_special_cmd) : Ditto. (context_clear_cmd) : Ditto. * src/clipboard.[ch] (do_clipboard_paste_cell_region) : Take a CommandContext. (sheet_paste_selection) : Ditto. (clipboard_paste_region) : Ditto. * src/selection.c (segments_intersect) : Return additional state 5 to designate equality. (selection_apply) : Use the equality state to simplify state selection. (selection_is_simple) : Use a command context. (sheet_selection_copy) : Ditto. (sheet_selection_cut) : Ditto. (sheet_selection_paste) : Ditto. (sheet_selection_clear) : Ditto. (sheet_selection_clear_content) : Ditto. (sheet_selection_clear_comments) : Ditto. (sheet_selection_clear_formats) : Ditto. * src/workbook.c (copy_cmd) : Ditto. (cut_cmd) : Ditto. (paste_cmd) : Ditto. (paste_special_cmd) : Ditto. (insert_cols_cmd) : Ditto. (insert_rows_cmd) : Ditto. (clear_all_cmd) : Ditto. (clear_formats_cmd) : Ditto. (clear_comments_cmd) : Ditto. (clear_content_cmd) : Ditto. * src/dialogs/dialog-delete-cells.c (dialog_delete_cells_impl) : Ditto. (dialog_delete_cells) : Ditto. * src/dialogs/dialog-insert-cells.c (dialog_insert_cells_impl) : Ditto. (dialog_insert_cells) : Ditto. 1999-12-13 Michael Meeks * src/sheet-style.c (sheet_style_optimize): add check for valid range. 1999-12-15 Morten Welinder * configure.in (WITH_PYTHON): Disable python until someone fixes it. (Remove config.cache and the installed python plugin, or else you will not see the effect of this.) 1999-12-14 Morten Welinder * src/dialogs/dialog-analysis-tools.c (dialog_regression_tool): Mark strings for translation. * src/regression.c (ALLOC_MATRIX, FREE_MATRIX): New macros. (linear_solve): Use them. (general_linear_regression): Ditto. * src/dialogs/dialog-cell-sort.c (dialog_cell_sort): Unconst. 1999-12-14 Andrew Chatham * src/regression.c (general_linear_regression): Now uses LUP decomposition and provides more statistics * src/analysis-tools.c (regression_tool) * src/dialogs/tools.h * src/dialogs/dialog-analysis-tools.c (dialog_regression_tool): Regression tool works with multidimensional data, outputs more statistics. 1999-12-13 JP Rosevear * src/dialogs/dialog-cell-sort.c (dialog_cell_sort_adv): use sheet_get_extent if the range is infinite * src/sheet.c (sheet_get_extent): redo to get the Range by iterating over the sheet cell_hash; as a side effect printing now doesn't print blank areas (sheet_get_extent_cb): call back function to iterate over cell hash 1999-12-13 Morten Welinder * src/functions/fn-stat.c (gnumeric_logest): Plug leaks. (gnumeric_linest): Plug leaks. 1999-12-12 Tuomas Kuosmanen * src/pixmaps/bucket.xpm * src/pixmaps/font.xpm: New icons that are both the same size.. 1999-12-11 Michael Meeks * src/dialogs/dialog-cell-sort.c (dialog_cell_sort_adv): nail ref leak of glade_xml object. (dialog_cell_sort): ditto. 1999-12-10 Michael Meeks * src/ranges.c (range_clip): kill. (range_intersection): implement. 1999-12-10 Michael Meeks * src/mstyle.c (mstyle_hash): initialise hash! 1999-12-10 Andrew Chatham * src/regression.c (general_linear_regression): Handle the 3+ dimensional case. 1999-12-10 Jody Goldberg * src/functions/fn-lookup.c (gnumeric_indirect) : This solution is more paletable. Always attempt to add the dependency, but only actually do so if the calling cell does not already depend on the indirected cell. * src/eval.c (cell_add_explicit_dependency) : Expand this function to test to see if a dependency already exists. 1999-12-10 Jukka-Pekka Iivonen * src/functions/fn-financial.c: Added EURO function for currency conversions. 1999-12-09 Jody Goldberg * src/eval.[ch] (cell_add_explicit_dependency) : New function. * src/functions/fn-lookup.c (gnumeric_indirect) : Clear all dependencies the calling cell has and regenerate them anytime the function is called. This is somewhat wasteful but is IMO a better space time trade off than penalizing all depends to be able to flag which dep is an indirection dep. This method may cause problems if multiple indirection calls are using in a single expression. 1999-12-08 Jon K Hellan * src/style.h: Declare style_font_equal, style_font_hash_func. * src/style.c (style_font_equal): Make non-static and rename from font_equal. (style_font_hash_func): Make non-static and rename from font_hash (style_init): Use new names for font_hash, font_equal. * src/mstyle.c (mstyle_hash): Include MSTYLE_ORIENTATION. Return the hash value(!). 1999-12-08 Jody Goldberg * src/selection.c (segments_intersect) : Be more agressive about returning containtment. (selection_apply) : Improve debug output. 1999-12-08 Yuri Syrota * configure.in (ALL_LINGUAS): Added "uk". 1999-12-08 Jon K Hellan * src/workbook.c (workbook_is_pristine): fix boneheaded bonoboism. 1999-12-07 Miguel de Icaza * src/dialogs/dialog-analysis-tools.c (new_dialog): Use Gnome Stock buttons here. 1999-12-06 Michael Meeks * src/workbook.c (workbook_is_pristine): check we arn't exported as a grid. (workbook_new): NULL bonobo fields. (workbook_is_dirty): fix daft bug. 1999-12-06 Michael Meeks * src/file.c (workbook_save): return success flag. (workbook_save_as): ditto. * src/xml-io.c (xml_workbook_write): Save current page + edit text. (xml_workbook_read): Read edit text + current page. * src/workbook.c (workbook_is_dirty): split. (cb_sheet_check_dirty): update. (workbook_can_close): redo. (workbook_is_pristine, cb_sheet_check_pristine): implement. (file_import_cmd, file_open_cmd): check for pristine-ness. * src/sheet.c (sheet_get_extent): constify. (sheet_is_pristine): implement. 1999-12-06 Michael Meeks * src/sheet.c (sheet_get_extent): implement. * src/corba-sheet.c (Sheet_max_cols_used, Sheet_max_rows_used): update to use get_extent. * src/print.c (print_sheet): use sheet_get_extent. (print_sheet_range): pass a Range. (sheet_print_selection): ditto. 1999-12-06 Michael Meeks * doc/Styles.txt: Add section 2.1.1, update optimization + example code, type fixes. + 2.4.1 explaining borders. 1999-12-06 Michael Meeks * src/eval.c (search_cell_deps): Cull dead 'draw' code. 1999-12-05 Michael Meeks * src/expr.c (eval_funcall): Extract body to func.c (cell_ref_make_absolute, free_values): move to func.c (do_expr_decode_tree): Use function_def_get_name * src/func.c (function_call_with_list): Clean to use new helper functions + update style; use eval_expr not eval_expr_real in 1 place; cleans flow; (cell_ref_make_absolute): make args more convenient. * Makefile.am: Kill dump.[ch] * src/dump.[ch]: kill + move to * src/func.c: (function_dump_defs). * src/main.c (gnumeric_main): Use function_dump_defs * src/func.c (function_def_get_fn): implement. (function_def_get_user_data, function_def_set_user_data), (function_def_count_args, function_def_get_name): implement. (function_def_get_arg_type): implement. Hide FunctionDefinition here. Stylistic cleans. * plugins/python/python.c (marshal_func): use function_def_count_args (__register_function): kill ancient mem leak in duff code. * src/dialogs/dialog-function-select.c (function_definition_update): use function_def_get_name. * src/dialogs/dialog-function-wizard.c (arg_data_list_new): rewrite to use count_args + get_arg_type: much safer. (get_text_value): use get_name. * src/expr.h: Add user_data to function definition + hack it out. * src/sheet.c (sheet_cell_get, sheet_cell_fetch): move up & inline 1999-12-04 Michael Meeks * plugins/sample/plugin-sample.c (func_plusone): Make this a good example ! ug + stylistic clean. 1999-12-05 Ariel Rios * plugins/guile/Makefile.am: Modified to include functions.scm * plugins/guile/gnumeric_startup.scm: We now load the scheme functions from the new file functions.scm * plugins/guile/functions.scm: The guile functions and their registration are now located in this file. (=FIBO(num)): Added fibonacci formula. 1999-12-04 Michael Meeks * src/dialogs/dialog-cell-sort.c (compare_values): Fix fatal bug with cell_get_text on a NULL Cell. 1999-12-03 JP Rosevear * src/dialogs/dialog-cell-sort.c (dialog_cell_sort_adv): options for case sensitivy and value or text comparisons (order_box_new): display the advanced button for each clause (dialog_cell_sort): make sure the OrderData contains the value/text and case sensitivity flags (compare_values): take the new options into account * src/dialogs/cell-sort.glade: update gui 1999-12-02 Nat Friedman * src/corba-workbook.c (Workbook_corba_class_init): Use the new epv-getting functions when filling the vepv. * src/embeddable-grid.c (init_embeddable_grid_corba_class): Likewise. 1999-12-01 Michael Meeks * src/dialogs/dialog-cell-format.c (fmt_dialog_init_font_page): Update to new API. * src/widgets/widget-font-selector.c (font_selector_set): Kill. (font_selector_set_points, font_selector_set_style), (font_selector_set_name): create. 1999-12-01 Federico Mena Quintero * src/item-grid.c: item_grid_parent_class should be a GnomeCanvasItemClass *, not a GnomeCanvasItem *. Thanks to Nick Lamb (njl98r@ecs.soton.ac.uk) for pointing this out. 1999-11-30 Michael Meeks * src/workbook.c (cb_sheet_check_dirty): Fixup. 1999-11-30 Michael Meeks * src/mstyle.c (mstyle_hash): updated. 1999-11-30 Jon K Hellan * src/mstyle.c (mstyle_hash): implement. * src/main.c: Add debug_excel_write parameter. 1999-11-29 Jody Goldberg * src/workbook.c (workbook_new) : Disable for bonobo case until I can figure out how to retrieve menu items in that case also. * src/workbook-view.c (workbook_view_set_paste_state) : Ditto. 1999-11-29 Michael Meeks * src/expr-name.c (expr_name_add): Add commented out debug. * src/workbook.c (wb_edit_key_pressed): Remove set_dirty. (cb_sheet_check_dirty): Add check for input area. 1999-11-28 Jody Goldberg * src/Makefile.am : Add new files. * src/workbook-view.c (workbook_view_set_paste_state) : New function. * src/application.c (application_clipboard_clear) : Disable the paste, paste-special menu items and unant the previous selection. (application_clipboard_copy) : Enable paste/paste_special, ant the selection. (application_clipboard_cut) : Enable paste, ant the selection. * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Clear the clipboard rather than unanting manually. (gnumeric_sheet_key_mode_object) : Ditto. * src/item-cursor.c (item_cursor_do_drop) : Don't unant manually. let the functions take care of it. * src/selection.c (sheet_selection_copy) : Ditto. (sheet_selection_cut) : Ditto. * src/workbook.c (workbook_new) : Catch the widgets of several of the edit menu bar items so that they can be enabled and disabled. 1999-11-28 Michael Meeks * src/workbook.c (wb_edit_key_pressed): Fix bug #2110 * src/mstyle.c: re-organise elements type to save memory. make several globals static. (mstyle_hash): constify. (mstyle_new): remove alloc + gnew0 (mstyle_copy): update. (mstyle_elements_copy): update. (mstyle_destroy): update. 1999-11-28 Jody Goldberg * src/workbook.c : Add some menu items and experiment with disabling paste/paste-special when there is nothing appropriate to paste. 1999-11-27 Michael Meeks * src/sheet.c (cb_set_cell_value): Fix silly format setting bug. 1999-11-27 JP Rosevear * src/dialogs/dialog-cell-sort.c: Fixed two bugs when the selection was not in the upper left corner of the sheet 1999-11-27 Michael Meeks * src/dialogs/dialog-cell-sort.c (dialog_cell_sort): Use string_list_free (fix leak). (string_list_free): implement. Stylistic fixes. (dialog_cell_sort_header_toggled): Fix fatal list bug. 1999-11-26 JP Rosevear * src/dialogs/dialog-cell-sort: Allow sorting of rows (horizontally) as well as by columns 1999-11-26 Jody Goldberg * src/sheet.c (sheet_col_get_unit_distance, sheet_row_get_unit_distance) : subtract 1 to match the inverse map and round to integers when accumulating to give a closer approximation to the trucation that occurs when drawing in pixels. 1999-11-22 Miguel de Icaza * src/print.c: Fit the ranges that are printed. 1999-11-21 Miguel de Icaza * src/item-cursor.c (item_cursor_drag_event): update the canvas here; Not in item_cursor_set_bounds_visibly. 1999-11-19 Miguel de Icaza * src/xml-io.c (xml_write_styles): Implement correctly. 1999-11-25 Jody Goldberg * src/item-cursor.c (item_cursor_draw) : Draw autofill handle in a better location if the bottom of the cursor is not visible. 1999-11-24 Jody Goldberg * src/format.c (format_number) : Handle negatives for scientific notation. Add support for 'e' vs 'E' Prepending a '+'. * src/dialogs/dialog-cell-format.c (draw_format_preview) : Correct typo. * src/item-edit.c (item_edit_draw) : Fix fence post problem is previous patch. Add currently unused 'row_span' in preparation. 1999-11-23 Jody Goldberg * src/item-edit.c (item_edit_draw) : Avoid crashing when we hit the edge of the sheet. * src/cell-draw.c (cell_draw) : Fix long standing bone headed mistake. multi-line cells were hard coded to use black as the font color. 1999-11-21 Jody Goldberg * src/widgets/widget-color-combo.c (none_clicked) : Emit a -1 if none is selected. (color_table_setup) : Use new function. * src/workbook-format-toolbar.c (back_color_changed) : Support Color 'None'. * src/file.c (workbook_save) : Use needs_name flag rather than checking the filename. All books now have file names. * src/workbook.c (workbook_new_with_sheets) : Move default name assignment. (workbook_new) : Here. Make the default name end in .gnumeric. Add a needs_name flag marking this name as auto generated. (workbook_set_filename) : Clear the needs_name flag. 1999-11-21 Jeff Garzik * configure.in, plugins/Makefile.am: New file import filter for SC and xspread spreadsheets. * src/utils.h (parse_cell_name): update prototype * src/utils.c (parse_cell_name): return gboolean, to reflect true, and documented, nature of return value. (parse_cell_name_list): move loop exit condition into 'for' statement 1999-11-20 Jody Goldberg * src/format.c (format_number) : Handle m, mm as minutes if followed immediately by seconds. (format_remove_decimal) : Remove the decimal place when there are no more numbers after the decimal. This is still broken in the face of specs with different forms for negatives. (format_add_decimal) : Support formats other than number. Same brokeness as format_remove_decimal. * src/dialogs/{cell-format,font-sel}.glade.h : Regenerate from current .glade files. 1999-11-19 Kevin Handy * configure.in, plugins/Makefile.am: add DIF import/export filter 1999-11-19 JP Rosevear * src/dialogs/dialog-cell-sort.c: Allow selection of the columns by header name. Put Add/Remove buttons at the bottom with stock icons. 1999-11-19 Jody Goldberg * src/cell.c (cell_relocate) : optionally do a bounds check on relocated expressions. Do this by 'moving' the expression from its new location to its new location. Some extra work is performed but the expression is checked for boundedness. * src/sheet.c (sheet_move_range) : Use new interface for cell_relocate. (colrow_move) : Ditto. * src/clipboard.c (paste_cell) : Ditto. * src/item-bar.c (item_bar_fonts_init) : Use the sheet's zoom factor. (item_bar_realize) : Adjust to new item_bar_fonts_init interface. * src/sheet-view.c (sheet_view_set_zoom_factor) : Ditto. 1999-11-18 Jon K Hellan * src/sheet.c (sheet_row_set_height_units): Use rows->default_style not cols->default_style. 1999-11-18 Michael Meeks * src/dialogs/Makefile.am (glade_msgs): Add cell-sort.glade.h 1999-11-18 Miguel de Icaza * src/xml-io.c: s/xmlChar/char/ 1999-11-17 Jody Goldberg * src/cell.c (cell_get_span) : Nerge in old fixes from cell_split_text. These routines should be very similar. Add a warning comment to avoid them getting out of sync again. Where else does this code live ? (draw, print, dimension) * src/gnumeric.h : Empty. * src/sheet-style.c (border_check) : Fix missing initializer. * src/style.c (style_color_ref) : Remove warning and return NULL. * src/dialogs/dialog-cell-sort.c (dialog_cell_sort) : Add braces around an ambiguous else. * src/file.c (workbook_import) : NULL the returned workbook on failure. Things don't quite work yet, the workbook destroy gets pissed when destroying an unrealized workbook, but it is happier. 1999-11-17 Michael Meeks * src/sheet-style.c (sheet_unique_cb): update border_check call. (border_check): add do_outer argument. * src/mstyle.c (mstyle_element_ref): inline. (mstyle_do_merge): count down instead of up. (mstyle_new): g_new0 instead of explicit clear. 1999-11-17 Michael Meeks * src/sheet-style.c (do_list_check_sorted): split out. (list_check_sorted): make conditional on debug, slugging performance. 1999-11-16 Jeff Garzik * configure.in, plugins/Makefile.am, plugins/sylk: new SYLK file import plug-in 1999-11-16 Miguel de Icaza * src/mstyle.c: Define mstyle properly; Kill MSTYLE_ELEMENTS macro. Kill PrivateStyle. (mstyle_copy): Use sensible names; (mstyle_set_format): Implement. Renamed all variables called "st" to "style". 1999-11-16 Morten Welinder * src/functions/fn-financial.c (gnumeric_irr): Plug leak. (gnumeric_xirr): Plug leak. 1999-11-16 Jody Goldberg * src/selection.c (sheet_selection_move) : Fix. Use sheet_selection_set rather than passing a partially initialized sheet_set_selection. 1999-11-15 Jody Goldberg * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Delete should clear contents not everything. * src/dialogs/dialog-cell-format.c (cb_align_h_toggle) : Fix Typo. * src/sheet.c (colrow_set_units) : Fix as per Bug 3472. (sheet_col_size_fit, sheet_row_size_fit) : Include the margins for non-default sized cells. * src/cell-draw.c (draw_overflow) : Center display. * src/cell.c (cell_calc_dimensions) : Behave better when zoomed. 1999-11-15 Jody Goldberg * src/sheet-view.c (sheet_view_set_zoom_factor) : We are already manually scaling everything. Don't do it again by zooming the canvas. * src/item-bar.c (item_bar_draw) : Burn that silly hack now that the mysteries have been made clear. The canvas was auto centering. * src/sheet.c (sheet_move_range) : Clear the target region content and comments before pasting. (sheet_clear_region) : Convert the closure parameters into a flag designating whether or not to clear the styles in the region. * src/dialogs/dialog-delete-cells.c (dialog_delete_cells_impl) : Delete the selection, not the cells before it. As suggested by Joseph Maher bug 3569. 1999-11-15 Jukka-Pekka Iivonen * src/functions/fn-financial.c: Implemented IRR and XIRR functions. 1999-11-14 Jody Goldberg * src/dialogs/dialog-cell-format.c (draw_format_preview) : Reset the formats for General and Text. * src/parser.y (build_array) : Rows and cols were reversed when parsing. * plugins/ff-csv/csv.io.[ch] : Rewrite to merge parser and sheet handler. Use mmap. 1999-11-14 Michael Meeks * src/ranges.c (range_fragment_list_clip): Add check + warning + cull for invalid range fragments ( should never happen :-) (range_split_ranges): Add check for overlap to start + large re-write, some really mean bugs nailed, accidentaly accelerate performance. * src/ranges.h (range_valid): Add. * src/sheet-style.c (sheet_style_attach): Use range_valid. (list_check_sorted): Add valid range check + document. * src/xml-io.c (xml_write_styles): Ignore last 'full sheet' style region on save. 1999-11-14 Michael Meeks * src/cell.c (cell_set_formula): Fixup for premature array formulae. * src/xml-io.c (xml_set_gnome_canvas_points, xml_write_names), (xml_write_summary, xml_set_print_hf, xml_set_print_unit), (xml_write_style, xml_write_summary, xml_write_cell), (xml_sheet_write): Update to new xml reenterency API. (xml_write_sheet_object): Add warning and check to quiet debug. 1999-11-14 Jody Goldberg * src/xml-io.c (xml_write_style) : Save PatternColor. (xml_read_style) : Read PatternColor. (xml_write_style_border) : Save the line style. (xml_read_style_border) : Read the line style. * src/dialogs/dialog-cell-format.c (border_event) : Switch to selection_mask to handle singleton, vertical, horizontal, rectangle. (draw_border_preview) : Ditto. (init_border_button) : Ditto. (fmt_dialog_impl) : Ditto. (dialog_cell_format) : Init selection_mask looking at all selected ranges to see if any are more than 1 cell wide or tall. (border_event) : Extend the event map to handle the new shapes. 1999-11-13 JP Rosevear * src/dialogs/cell-sort.glade*: glade files for sort dialog * src/dialogs/dialog-cell-sort.c: Use the glade stuff and implement the header skipping for selections. 1999-11-13 Michael Meeks * src/sheet-style.c (border_check): fixup for border, no border interface along edge; mark ambiguous. 1999-11-12 Jody Goldberg * src/item-bar.c (item_bar_draw) : Clip the redraw region at the borders to avoid problems when zooming. (bar_draw_cell) : Use the internal fonts. (item_bar_unrealize) : Unref the fonts when we're done. (item_bar_realize) : Init the fonts. (item_bar_fonts_unref, item_bar_fonts_init) : New functions. * src/sheet-view.c (sheet_view_set_zoom_factor) : Scale itembar fonts when we zoom. From Jon K Hellan * src/dialogs/font-sel.glade : removed the explicit sizes for font name entry and font style entry. Added explicit size to the scroll window around font size list, added y expand to the scroll windows. 1999-11-13 Michael Meeks * src/sheet-style.c (sheet_selection_get_unique_style): kill bug with conflicting diagonals. (sheet_unique_cb): don't destroy valuable vert/horiz info in no middle case. 1999-11-12 Michael Meeks * src/dialogs/dialog-cell-format.c (fmt_dialog_impl): unref the border when we've finished with it. * src/corba-sheet.c (fill_corba_value): Fixup killer bug. (Sheet_cell_get_pattern): fixup out of bounds return type. * src/selection.c (sheet_selection_paste): kill unused src_sheet var. * src/style.c (style_color_ref): Add return type. (style_color_black, style_color_white): create * src/sheet-style.c (sheet_unique_cb): Fixup for sheet invalid outer border ranges. 1999-11-12 Michael Meeks * src/sheet-style.c (border_invalidate): implement. 1999-11-12 Michael Meeks * src/dialogs/dialog-cell-format.c (sheet_cell_get_border), (do_check_border): kill. (fmt_dialog_impl): expand to add borders param. * src/sheet-style.c (sheet_unique_cb): Expand drastical. (border_check, border_mask): create. * src/dialogs/dialog-cell-format.c (init_border_button): Add border parameter (check_border): kill. (cb_check_border): kill. 1999-11-12 Jody Goldberg * src/cell.c (cell_set_text_simple) : Store the entered text. * src/formats.c (cell_format_is_number) : Only non simple currencies require a space. 1999-11-12 Miguel de Icaza * src/format.c (format_number): Use alloca here. 1999-11-12 Jody Goldberg * src/dialogs/dialog-cell-format.c (fillin_negative_samples) : Add configurable currency symbols. (cb_format_currency_select) : New function. (fmt_dialog_init_format_page) : Init the list of currencies. * src/formats.c (CurrencySymbol) : Add 'None' and Pound ans set default to '$'. From Jon K Hellan * src/dialogs/cell-format.glade: Use descriptive names for notebook pages. Change accelerators, should remove conflicts within pages. Remove explicit width for format_general_label. Use GtkLabel instead of GtkAccelLabel. Change spelling from "seperator" to "separator". Make decimals spinbutton focus target for "decimal places" label. format_negative_scroll: Set vscrollbar_policy to GTK_POLICY_AUTOMATIC. format_list_scroll: Set hscrollbar_policy to GTK_POLICY_NEVER. * src/dialogs/dialog-cell-format.c: Change spelling from "seperator" to "separator". (fmt_dialog_init_format_page): (fmt_dialog_enable_widgets): Also hide and show F_NEGATIVE_SCROLL. (cb_format_list_size_allocate): Make the selected line visible when we know our geometry. (fmt_dialog_init_format_page): Set negative clist title passive. (fmt_dialog_init_format_page): Call cb_format_changed to update display if "general" is displayed. (set_initial_focus): Set initial focus (fmt_dialog_impl): Set dialog title, set initial focus 1999-11-12 Michael Meeks * src/workbook.c (workbook_attach_sheet): Add comment explaining life. 1999-11-12 Michael Meeks * src/workbook.c (workbook_attach_sheet): Attach the editable_label pointer to the sheet tab. (workbook_rename_sheet): Fix _really_ broken label setting code #3134. * src/widgets/widget-editable-label.c (el_stop_editing): make toplevel destruction more explicit. 1999-11-11 Michael Meeks * src/ranges.c (range_fragment_list_clip): Fix heinous range bug, I need instant dental care. 1999-11-12 Tuomas Kuosmanen * src/pixmaps/money.xpm: New icon for "money" datatype. 1999-11-11 Michael Meeks * src/selection.c (sheet_selection_paste): remove spurious unant. 1999-11-11 Michael Meeks * src/mstyle.c (mstyle_new_default): Revert removal of default_mstyle patch. * src/selection.c (selection_move_range_cb): kill. (sheet_selection_move): fixup. (sheet_selection_paste): unant cursor on copy. * src/mstyle.c (mstyle_merge): Change semantics again, was stomping on other ref-counted copies. (mstyle_elements_copy): implement. (mstyle_copy): Implement. 1999-11-10 Michael Meeks * src/ranges.c (range_fragment_list_clip): implement clipping. * src/sheet-style.c (sheet_mstyle_compute_from_list): split from (sheet_style_compute): and call. * src/ranges.c (range_expand): implement. 1999-11-11 Jody Goldberg * src/mstyle.c (mstyle_new_default) : Disable caching of default style to prevent problems when overridden later. * src/dialogs/dialog-cell-format.c (draw_format_preview) : Generate accounting format strings. * doc/C/images/{number-format-dialog.jpg, number-format-justification-dialog-2.jpg, number-format-color-dialog-2.jpg) : Update. * doc/C/number-format.sgml : Update. * src/sheet-object-bonobo.c (sheet_object_bonobo_load) : The client_site is created in the initializer. 1999-11-10 Jody Goldberg * src/selection.c (sheet_selection_move) : Delete. (sheet_selection_paste) : Use sheet_selection_set instead, and check for singletons and same shapeness when pasting a cut. * src/item-cursor.c (item_cursor_tip_setlabel) : New function, not used yet. (item_cursor_selection_event) : Keep track of the starting point. (item_cursor_drag_event) : Use info to not jump to the edge. (item_cursor_autofill_event) : Ditto. (item_cursor_set_bounds_visibly) : Minor patch to use the new offset information. * src/gnumeric-util.c (gnumeric_position_tooltip) : Be sensitive to 0. * src/gnumeric-sheet.c (gnumeric_sheet_new) : Select A1 at startup, not A1:B2. (move_cursor_horizontal) : Remove warning. * src/dialogs/dialog-cell-format.c (draw_format_preview) : Init variable. * src/cell-draw.c (cell_draw) : Correct problem with spanning columns. * src/pattern.c (gnumeric_background_set_gc) : Always set the GC in case a spanning column needs it. * src/item-grid.c (item_grid_draw) : Improve support for spanning columns going to the right. We are still broken in that spanning columns to the left will skip borders. * src/dialogs/cell-format.glade : Improve layout for big fonts. 1999-11-07 Miguel de Icaza * src/workbook.c (workbook_new): coding style requires a space before an opening parenthesis. 1999-11-09 Michael Meeks * doc/features.txt: Added, please expand. 1999-11-09 Michael Meeks * src/dialogs/dialog-cell-format.c (cb_fmt_dialog_dialog_apply): fix possible fatal ref handing problem. (fmt_dialog_impl): Fix state.result leak. * src/ranges.c (range_copy): simplify. * src/sheet-style.c (do_blank_border): create (sheet_selection_apply_border_cb): Add clearing 'outer' styles. (sheet_unique_cb): Kill freeing of range fragments; wierd. 1999-11-09 Jody Goldberg * src/formats.c (cell_format_is_number) : Add initial currency, percent, and scientific notation support. * src/format.c (format_number) : Add support for currency codes. (format_value) : Ditto. * src/item-bar.c (bar_draw_cell) : Slight color adjustment to make it easier to see which rows/cols are selected. * src/render-ascii.c (cell_region_render_ascii) : Fix typo that was breaking pasting too the X selection. * src/dialogs/dialog-cell-format.c (fmt_dialog_init_format_page, fmt_dialog_impl, fmt_dialog_init_font_page, fmt_dialog_init_align_page, setup_color_pickers) : Use mstyle_is_element_conflict. (dialog_cell_format) : Use sheet_selection_get_unique_style. (do_check_border) : Fix the boundary cases until we getthe extended uniq support. (draw_format_preview) : Add format generation routines for number, currency, percent, and scientific. 1999-11-09 Michael Meeks * src/xml-io.c (xml_read_style_border): update to STYLE_BORDER_NONE. * src/sheet-style.c (do_apply_border): update. (sheet_selection_apply_border_cb): update + add diagonals here. (sheet_selection_set_border): simplify + update. * src/dialogs/dialog-cell-format.c (cb_fmt_dialog_dialog_apply): update to new sheet_selection_set_border API. * src/border.h: s/BORDER_/STYLE_BORDER_/ 1999-11-09 Jody Goldberg * src/dialogs/dialog-cell-format.c (init_border_button) : Use check_border. (check_border, cb_check_border, do_check_border, sheet_cell_get_border) : New functions. 1999-11-08 Jody Goldberg * src/selection.c (selection_foreach_range) : Have the call back return a flag. * src/dialogs/dialog-cell-format.c (draw_border_preview) : Support for presetting the border types. * src/widgets/gnumeric-dashed-canvas-line.c (gnumeric_dashed_canvas_line_set_dash_index) : Remove unused rgba argument. * src/selection.c (selection_first_range) : Add permit_complex flag. * src/item-grid.c (item_grid_draw_border) : Correct diagonal vs reverse diagonal. * src/border.c (style_border_none) : New function. (style_border_fetch) : Use new function to handle BORDER_NONE. (style_border_unref) : Be extra careful about border_none. (style_border_draw) : Handle BORDER_NONE. * src/formats.c : Reorg slightly. * src/mstyle.c (mstyle_new_default) : Init to border_none. * src/sheet-style.c (sheet_selection_apply_border_cb) : Rework to apply inside regions, and clear regions when appropriate. * src/xml-io.c : Expand set of border style names. * src/dialogs/dialog-cell-format.c : Move closer to selecting formats correctly. Set & clear borders now. 1999-11-08 Michael Meeks * src/dialogs/dialog-summary.c (summary_get): fix minor naming bug. * src/mstyle.c (mstyle_element_dump): fixup for NULL borders. 1999-11-08 Frank Chiulli * src/summary.c : Added new strings to summary_item_name to reflect all the fields/items in SummaryInformation and DocumentSummaryInformation. * src/summary.c (summary_item_new_boolean) : New function. * src/summary.c (summary_item_new_short) : New function. * src/summary.c (summary_item_as_text) : Now processes the new summary types (SUMMARY_BOOLEAN, SUMMARY_SHORT, SUMMARY_TIME). * src/summary.c (summary_item_free) : Now processes the new summary types (SUMMARY_BOOLEAN, SUMMARY_SHORT, SUMMARY_TIME). * src/summary.h : Added new enums to SummaryItemType (SUMMARY_BOOLEAN, SUMMARY_SHORT, SUMMARY_TIME). Added new enums to SummaryItemBuiltin to summary all the summary items. Added two new fields (short_i and boolean) the v union within the _SummaryItem struct. Added prototypes for the new public functions. * src/dialogs/dialog-summary.c (summary_get): Field names are construct- ed from the name in summary_item_name[] with "glade_" prefixed. * src/dialogs/dialog-summary.c (summary_put): Field names are construct- ed from the name in summary_item_name[] with "glade_" prefixed. * src/dialogs/dialog-summary.c (dialog_summary_update) : Added new summary field - Company. * src/dialogs/summary.glade : Added new summary field - Company. * src/dialogs/summary.glade.h : Added new summary field - Company. 1999-11-08 Michael Meeks * src/sheet-style.c (sheet_selection_apply_border_cb): Update to only set 'inner' regions. 1999-11-08 Jody Goldberg * src/xml-io.c (xml_write_style_border) : Handle NULL borders. * src/border.c (style_border_ref, style_border_unref) : NULL is permissible. * src/format.c (format_get_thousand, format_get_decimal) : Init locale if necessary. * src/formats.c (cell_format_is_number) : New function. * src/mstyle.c (mstyle_new_default) : Init borders to NULL to indicate no borders. This allows borders to be cleared. * src/dialogs/dialog-cell-format.c : Use locale. Begin use of cell_format_classify. 1999-11-07 Jody Goldberg * src/selection.c (cb_set_row_height, sheet_selection_height_update) : Put these back until we support shrinking in calc_dimensions. * src/dialogs/dialog-cell-format.c (cb_fmt_dialog_dialog_apply): replace call to height_update. * src/workbook-format-toolbar.c (change_font_size_in_selection_cmd): Replace call. 1999-11-07 Jody Goldberg * src/selection.c (selection_apply) : Bug 3382. Be more careful when regions are completely contained. * src/format.c (format_get_thousand, format_get_decimal) : New functions. 1999-11-07 Michael Meeks * plugins/Makefile.am (SUBDIRS): add oleo. * configure.in: ditto. 1999-11-07 Michael Meeks * src/ranges.c (range_translate): implemented. * src/selection.c (sheet_selection_paste): Add sheet_selection_move. (sheet_selection_move): implement. * src/sheet.c (sheet_new): clear dirty flag (attaching the default style was setting it). 1999-11-07 Michael Meeks * s/border_/style_border/ * src/selection.c (sheet_selection_height_update): Kill; ill-concieved. (cb_set_row_height): ditto. * src/dialogs/dialog-cell-format.c (cb_fmt_dialog_dialog_apply): hack out height_update. * src/workbook-format-toolbar.c (change_font_size_in_selection_cmd): remove call. 1999-11-07 Jody Goldberg * src/dialogs/dialog-cell-format.c (cb_fmt_dialog_dialog_apply) : Get a fresh style after applying changes. * src/Makefile.am : Remove non-existant sheet-style.h. 1999-11-06 Michael Meeks * src/sheet-style.c (sheet_selection_set_border): Set the diagonals, clean the closure. * src/dialogs/dialog-cell-format.c (fmt_dialog_impl) : Dont close the dialog until ok or cancel is pressed. 1999-11-06 Jody Goldberg * src/selection.c (sheet_selection_height_update) : Call the autoresize code for non user sized rows. Do not just hard code the new height. * src/dialogs/dialog-cell-format.c (cb_font_changed) : Apply changes to the font. (cb_fmt_dialog_dialog_apply) : Call sheet_selection_height_update if the font changed. 1999-11-06 Jody Goldberg * src/sheet-view.c (sheet_view_set_zoom_factor) : Smaill patch from Federico Mena Quintero to improve item-bar resize while zoomed. * src/dialogs/dialog-cell-format.c (border_get_mstyle) : Support color. * src/dialogs/cell-format.glade : Minor alignment improvments with large fonts. 1999-11-05 Jody Goldberg * src/print-cell.c (print_cell_background) : Follow the correct conventions on whether to draw a background. * src/sheet.c (sheet_clear_region) : Clear the style also. (sheet_fill_selection_with) : Run a recalc after autofill to ensure that all formulas get rendered. * src/mstyle.c (mstyle_new_default) : Set the pattern to transparent. * src/workbook.c (workbook_menu_edit_clear) : Fix typo. * src/pattern.c (gnumeric_background_set_gc) : Move the pattern & background GC setup logic from item_grid_paint_empty_cell here. * src/item-grid.c (item_grid_paint_empty_cell) : Use gnumeric_background_set_gc. * src/cell-draw.c (cell_draw) : Ditto. * src/border.c (border_set_gc_dash) : Adjust cap format. * src/item-grid.c (item_grid_paint_empty_cell) : Split background and pattern GC setup in a new function. * src/pattern.c (gnumeric_background_set_gc) : New function. * src/cell-draw.c (cell_draw) : Use gnumeric_background_set_gc. 1999-11-05 Michael Meeks * src/border.c (border_fetch): re-do orientation. * src/xml-io.c (xml_read_style_border): update orientation + IO the full set of borders. (xml_write_style_border): ditto. * src/dialogs/dialog-cell-format.c (border_get_mstyle): Create. (cb_fmt_dialog_dialog_apply): Add border bits. * src/sheet-style.c (do_apply_border, sheet_selection_apply_border_cb), (sheet_selection_set_border): Implement. 1999-11-05 Michael Meeks * src/sheet.h: add sheet_selection_set_border. * src/style.c (style_new, style_new_mstyle, style_new_empty), (style_destroy, style_duplicate, style_merge_to): Hack. * src/mstyle.h: kill style_new_mstyle. * src/style.h: Kill redundant old code. 1999-11-04 Jody Goldberg * src/item-grid.c (item_grid_paint_empty_cell) : As per instructions from quartic we must call gnome_canvas_set_stipple_origin or things get strange with stipples and the cursor. * src/expr.c (expr_tree_array_formula_corner) : If the corner is not set attempt to set it. Add more sanity checking to ensure that the corner cell is really a corner cell. (eval_expr_real, do_expr_decode_tree) : Adjust to interface change in expr_tree_array_formula_corner. * src/eval.c (add_tree_deps) : do not depend on the array corner being set while calculating dependancies. This eases the burden on insert row/col which is forced to insert the lower/right cells BEFORE the upper left and hence before the corner is set. 1999-11-04 Michael Meeks * src/corba-workbook.c (Workbook_save_to): Update so it compiles! (Workbook_sheet_current): Use standard 'wb' var. name. * src/sheet.c (sheet_move_range): add style slide. * src/sheet-style.c (sheet_unique_cb): Use range_fragment_list instead. (sheet_style_relocate): Implement. * src/ranges.c (range_fragment_list): Fix cretinous logic bug. (range_fragment): Split out (range_fragment_list): use it. (range_split_ranges): Update to use copy_fn + globalise. (range_fragment): fix leak. 1999-11-03 Miguel de Icaza * src/expr.c (eval_range): Removed parsed node from here too. (eval_range): Removed computation logic from here. (eval_expr_real): ditto. * src/func.c (iterate_cellrange_callback): Ditto. * src/cell.c (cell_eval, cell_eval_content): Redone the evaluation logic to put all the actual details in a single spot. 1999-11-03 Miguel de Icaza * src/expr.c (eval_expr_real): Removed cell->parsed_node && (cell->flags & CELL_QUEUED_FOR_RECALC)) from condition. * src/func.c (iterate_cellrange_callback): ditto. 1999-11-02 Miguel de Icaza * src/workbook.c: change the binding. Not clear to me yet if we need to fix gnome-libs. 1999-11-04 Jody Goldberg * src/workbook-format-toolbar.c (back_color_changed) : Set the pattern to solid if we assign a colour to an area that did not have a background before. * src/dialogs/dialog-cell-format.c (fmt_dialog_enable_widgets) : Improve support for custom formats, and ensure that we temporarily start off in 'Custom' until the rest of the format recognition is ready. 1999-11-03 Jody Goldberg * src/dialog/dialog-cell-format.c : Rewrite. * src/item-grid.c (item_grid_paint_empty_cell) : First attempt to draw patterns correctly. We'll move much of this into a new routine to be shared by non-empty cells if it works. * src/gnumeric-sheet.c (gnumeric_sheet_realize) : move the patterns into their own file. * src/pattern.[ch] : New file. * src/mstyle.c (mstyle_new_default) : Do not set the pattern colour by default. 1999-10-06 Jon K Hellan * src/file.c (workbook_import): Initial focus and selection in import dialog (workbook_save_as): Specify the app as the parent. * src/file.c (workbook_read): Moved error message code to new file_error_message procedure (file_error_message): The procedure (workbook_save, workbook_save_as): Notice failure to save. Clean marking of sheet moved from xml-io.c to here. * src/xml-io.c (xml_sheet_write, gnumeric_xml_read_sheet, gnumeric_xml_write_sheet): Dirty/clean marking of sheet moved out. * src/corba-workbook.c (Workbook_save_to): Mark saved sheet clean. FIXME: Failure to save still ignored. 1999-11-03 Michael Meeks * src/sheet.c (sheet_insert_col, sheet_insert_row): fiddle styles. * src/sheet-style.c (sheet_style_region_link): implement. (sheet_style_stamp_compare): implement. (style_region_new): create. (sheet_style_attach): use it. (style_region_copy): implement. (style_region_destroy): create (sheet_style_region_unlink): use. (sheet_style_insert_colrow): implement. * src/ranges.c (range_contained): Make semantics more logical. 1999-11-03 Michael Meeks * src/sheet-style.c (sheet_style_delete_colrow): Fixup. * src/sheet.c (sheet_delete_row, sheet_delete_col): Add style stage. 1999-11-02 Michael Meeks * src/workbook.c (workbook_set_filename): update precondition macros. * src/sheet-style.c (sheet_style_region_unlink): Create. (sheet_style_optimize): use it. (sheet_style_delete_colrow): Implement. * src/ranges.c (range_contained): Implement. 1999-11-02 Federico Mena Quintero * src/print-preview.c (PreviewMode): Renamed the move modes to MODE_MOVE and MOVE_MODE_DRAGGING. (preview_canvas_button_press): Split the event handling code between several functions. Rationale: we will want drag-zoom and we need different modes for this, and the code in a single function would get unwieldy. In addition, grab the pointer and use GDK_POINTER_MOTION_HINT_MASK for better behavior. (PrintPreview): Added fields for drag anchor and drag offset. (drag_to): New function to drag/scroll. (create_preview_canvas): Connect to the different event handlers. (do_zoom): We do not need to re-render the page; just set the zoom factor. Also, use exponential zooming for better behavior. * src/cursors.h: Moved the cursor #defines to an enum. This way we can check for a max value in cursor_get(). Moved the cursor array to the .c file and made it private. * src/cursors.c (cursors_init): Added sanity check so that all cursors are defined. (cursor_get): New function to get a cursor based on its type. (cursors): Added hand cursors. * src/pixmaps/cursor_hand_{open,closed}.xpm: Added hand cursors. 1999-11-01 Jody Goldberg * src/item-grid.c (item_grid_realize) : Set the default background to white, so that the redraws are not quite so obvious. * ./src/sheet.c (cellref_name) : Change to take a ParsePosition rather than just a row, col so that we can handle inter-book references. * src/expr.c (do_expr_decode_tree) : Pass a ParsePosition. (cellref_relocate) : Fix typo. * src/corba-sheet.c (fill_corba_value) : Pass a ParsePosition. * src/parser.y : Dummy up a parser for intersheet references. NOT complete as yet. * src/sheet-view.[ch] : Add select_all data member to SheetView. * src/sheet.c (sheet_move_range) : Correct handling of intersheet and interbook references. * src/workbook.c (workbook_new_with_sheets) : Assign a default unique name so that all workbooks will have a name. (workbook_set_filename) : Change return to allow for eventual test for uniqueness. 1999-11-01 Miguel de Icaza * src/item-bar.c (item_bar_draw): Optimize. (is_pointer_on_division): Bug fix for boundary condition. (get_col_from_pos): ditto. 1999-10-30 Miguel de Icaza * src/print-preview.c (preview_canvas_event): Reversed the delta computation, to make the scrolling follow what federico suggested. * src/workbook-format-toolbar.c: Change the money format to include decimals. 1999-10-29 Miguel de Icaza * src/xml-io.c (xml_init): Rename. 1999-10-25 Miguel de Icaza * src/complex.h (GNUMERIC_COMPLEX_PROTO): Fix from Tom Mooney to get the compile settings done correctly. 1999-11-01 Michael Meeks * src/workbook-format-toolbar.c (modify_cell_format): fix style ref leak. 1999-11-01 Michael Meeks * src/mstyle.c (mstyle_merge): Radicaly alter semantics and function + document. (mstyle_empty): add. * src/sheet-style.c (sheet_style_optimize): Only remove lower stamp items if all there elements are safely masked. 1999-11-01 Michael Meeks * src/sheet-style.c (list_check_sorted): create + add checks. (sheet_style_optimize): Use stamps correctly. (sheet_styles_dump): dump stamp. * src/mstyle.c (mstyle_merge, mstyle_dump): Kill stamp. (mstyle_stamp_compare, dump_style_flist): kill. * src/sheet-style.c (sheet_style_attach): set stamp + inc. * src/sheet.h: Move StyleRegion to sheet-style.c + add stamp. 1999-10-31 Michael Meeks * src/sheet-style.c (sheet_style_compute, sheet_unique_cb): Kill check_sorted; the style stamp stuff needs serious work. The stamp should be on the StyleRegion _not_ the MStyle. 1999-10-31 Michael Meeks * NEWS (Daniel): credit. * acconfig.h: add undef ENABLE_GB * configure.in: Add preliminary 'gb' autoconf support. Add comments. 1999-10-31 Jody Goldberg * src/border.c (border_set_gc_dash, border_get_width) : New functions. * src/widgets/gnumeric-dashed-canvas-line.[ch] : New canvas item that has advanced dash formats. 1999-10-30 Michael Meeks * src/sheet-object.c (sheet_object_drop_file): Fixup bad mapping case. 1999-10-30 Michael Meeks * src/eval.c (region_get_dependencies): Update. (search_range_deps): fix logic bug in range intersection. * src/mstyle.c (mstyle_merge): Make sta the default master style, fix several logic bugs in stamp order preservation + stamp from the master style. (mstyle_list_check_sorted): kill debug churning, just answer. (mstyle_stamp_compare): Implement. * src/sheet-style.c (sheet_style_optimize): Add warning + use new stamp merging fn. + simplify by NULLing slain StyleRegion list elements. (sheet_style_compute): quieten debug. 1999-10-30 Jody Goldberg * src/gnumeric-sheet.c (gnumeric_sheet_new) : Found the drawing problem wherin it was not possible to jump to the bottom of a 64k row sheet. The scroll region of 1M was too small. Upped it to 1,200,000. (gnumeric_sheet_compute_visible_ranges) : A fencepost-ish problem. There is no need to increment the col/row count once we've found the end. Doing so risks falling prey to the boundary cases. * src/sheet-view.c (new_canvas_bar) : Ditto. 1999-10-29 Michael Meeks * src/sheet.c (sheet_set_zoom_factor): don't bother re-rendering update. * src/sheet-style.c (sheet_cells_update): Add re-render argument. (re_dimension_cells_cb): update. (sheet_selection_apply_style_cb): if format changed re-render cell's text + add redraw. 1999-10-28 Jody Goldberg * src/widgets/widget-font-selector.c (reload_preview) : Copy the style rather than creating a new one. So that we can change the colour elsewhere if desired. (font_selector_set) : Fix typos. (list_realize) : We cannot moveto a list element until after the widget is realized. Add a handler to take care of it. * src/dialogs/font-sel.glade : Make the scrollbars optional. Fix the height of the preview area to avoid irritating flicker as the dialog resizes. 1999-10-28 Michael Meeks * src/item-grid.c (item_grid_set_gc_stipple): Add. (item_grid_draw_cell, item_grid_paint_empty_cell): use it, but it blows up wierdly :-( * AUTHORS: Updated. 1999-10-27 Michael Meeks * src/ranges.c (range_contains): kill. * src/sheet.h (range_contains): Add (performance critical). * src/dialogs/dialog-cell-format.c (create_background_radio): Add pattern reading. (create_coloring_page): update pattern bits. (apply_coloring_format): Use the pattern index. 1999-10-26 Michael Meeks * src/dialogs/dialog-cell-format.c (create_background_radio): Make pattern selector global. 1999-10-27 Morten Welinder * src/xml-io.c (xml_probe): Improve message when probing fails. * src/main.c (gnumeric_main): Don't let workbook_count go to zero just because loading the first command-line specified sheet fails. (Bug 3119.) 1999-10-26 Morten Welinder * src/format.c (format_compile): Plug leak. * src/workbook.c (workbook_new): Typo. 1999-10-26 Jody Goldberg * src/cell.c (cell_style_changed) : Fix. * src/dialog/utils-dialog.[ch] : Add gnumeric_load_image. * src/dialog/dialog-printer-setup.c : Stolen from here. 1999-10-26 Michael Meeks * src/mstyle.c (mstyle_set_pattern): cripple for now. * src/xml-io.c (xml_sheet_write): Write the style regions in the correct order !. (xml_read_style): set italic for italic. * src/sheet-style.c (sheet_get_style_list): Return a copy. * src/xml-io.c (xml_read_cell_styles), (xml_dispose_read_cell_styles): replace. (xml_sheet_read): Add read_cell_styles*. 1999-10-26 Jukka-Pekka Iivonen * src/functions/fn-stat.c: Fixed the const arguments of GROWTH and TREND. * src/regression.[ch], src/functions/fn-stat.c: Started adding the extra statistical output for LINEST and LOGEST. * src/functions/fn-database.c: Started the implementation of GETPIVOTDATA. 1999-10-25 Jody Goldberg * src/main.c (gnumeric_main) : Remove current_workbook notion. * src/dialogs/dialog-simple-input.c (dialog_get_number) : Return FALSE on cancel too. * src/workbook-cmd-format.[ch] : Add std row/column size scale factors. (workbook_cmd_format_row_height) : Use them. * src/item-bar.c (colrow_tip_setlabel) : Use the scale factors. * src/application.[ch] : New files to hold data common to all workbooks. * src/item-grid.c (create_popup_menu) : Use gboolean and split paste and paste special. Add pixmaps. (item_grid_popup_menu) : Use application_clipboard_is_empty. (item_grid_invert_gc) : Add extended_right flag to disable right border for extended cells. * src/item-cursor.c (item_cursor_start_animation) : Decrease the timeout. * src/main.c : Use application_init. * src/selection.c : Use application_clipboard_copy, application_clipboard_cut. (find_a_clipboard, find_workbook_with_clipboard) : Delete. (sheet_selection_paste) : Use sheet_move_range for cut. * src/sheet.[ch] : Export sheet_move_range. (sheet_move_range) : Plug leak when a cell is moved out of bounds. * src/clipboard.c (x_selection_handler) : Use application_clipboard_contents_get and respect the difference between cut & copy. * src/workbook.[ch] : Move clipboard stuff into application.h. (paste_cmd, paste_special_cmd) : Catch attempt to paste nothing. * src/Makefile.am : Add application.[ch]. 1999-10-25 Michael Meeks * TODO: Prune scads of completed work out, + add some guff about sorting out cell spans; another fun fun project :-) * src/cell.c (cell_style_changed): implement. * src/sheet.c (sheet_new): use get_full_range clean. (sheet_set_zoom_factor): Add sheet_cells_update to re-calc bits. * src/sheet-style.c (sheet_cells_update, re_dimension_cells_cb): Create. (sheet_selection_apply_style_cb): Add sheet_cells_update. (sheet_get_full_range): implement for convenience. * doc/Styles.txt: Add "ref-counting for dummies" and "Getting a Style" sections. 1999-10-25 Morten Welinder * src/complex.h: Fix typo. thanks to Tim Mooney. 1999-10-25 Jukka-Pekka Iivonen * src/functions/fn-database.c: Fixed the criteria argument handling. Each column defines conditions in boolean AND relation and each row in criteria matches in boolean OR relation with the given database. Fixed the non-numeric return values of DGET. Documentation improvements. * src/func.h (func_criteria_t): Added column field. 1999-10-24 Miguel de Icaza * src/cellspan.c (cell_register_span): Create the span if required. * src/sheet.c (sheet_destroy_contents): Remove debugging messages. (sheet_row_new): Row spans are now created on demand. * src/xml-io.c (xml_get_print_hf): Plug memory leak. (xml_get_print_hf): More leak fixes. * src/mstyle.c (mstyle_verify): Fixed. * src/sheet.c (sheet_destroy_contents): Change the routine that destroys the cells. (destroy_sheet_cell_cb): Proper cell destruction code. (cb_free_cell): Make this routine free the cell *CORRECTLY*. Please, do not break the code like this in the future. * src/workbook.c (sheet_action_delete_sheet): Do not destroy the sheet here. (workbook_detach_sheet): Destroy the sheet here, before queuing a recalc. (workbook_do_destroy): Do not kill the sheet here. 1999-10-24 Michael Meeks * src/mstyle.c (MStyleElement): Make font.size float + shrink enums. Add standard header. 1999-10-24 Michael Meeks * src/sheet-style.c (sheet_style_attach): kill redundant style_ref. * src/xml-io.c (xml_write_style): Use default_back instead of _fore for the background. * src/item-edit.c (item_edit_draw): generate a StyleFont when needed. (item_edit_init): init mstyle. (item_edit_destroy): unref mstyle. * src/item-edit.h: Use an MStyle instead of a Style. 1999-10-24 Michael Meeks * src/mstyle.c (mstyle_new_default): Re-enable the standard background color for now so things don't crash everywhere. * src/item-grid.c (item_grid_draw_cell): Fixes for unset colors. * src/Makefile.am (CLEANFILES): remove spurious binaries on clean. * src/dialogs/dialog-cell-format.c (create_coloring_page): Sort out case of no colors. 1999-10-24 Michael Meeks * src/sheet-style.c (sheet_unique_cb): Again, CVS merge bug fixed. * src/mstyle.c (mstyle_elements_equal): Fix stupid bug ( again ). (mstyle_elements_compare): fix big bug; stupid CVS. * src/sheet.c (sheet_update_controls): fix leak. * src/sheet-style.c (sheet_destroy_styles): fix leak. * src/cell.c (cell_get_style): Kill. * src/functions/fn-information.c (gnumeric_cell): Update format section. * src/sheet.c (cb_set_cell_value): Kill FORMAT_SET reference and use new style API. * src/cell.h: Kill CELL_FORMAT_SET flag. 1999-10-23 Michael Meeks * src/print-cell.c (print_cell_text): kill Style. (print_cell): ditto. (print_cell_grid): Add checks on return type of sheet_*_get_info. * src/mstyle.h: big constification. * src/mstyle.c (mstyle_verify): fix compile errors. * src/cell-draw.c (sheet_view_font): Kill. (cell_draw): edge out Style. (sheet_get_style_font): create. * src/cell.c (cell_get_mstyle): implement. * src/style.h: Change structs back to typedef defines + move "mstlye.h" include to foot + add MStyleBorder. * src/item-grid.c (item_grid_draw_border): Take an MStyle. (item_grid_paint_empty_cell): pass an mstyle + kill a Style. (item_grid_draw_cell): edge Style out. 1999-10-24 Jody Goldberg * src/sheet-style.c (sheet_style_attach) : reference the style object. * src/mstyle.c (mstyle_elements_equal) : Correct the loop. * src/mstyle.c (mstyle_new_default) : Do not set colours by default. There is an important difference between selecting a colour and using the default colour. The default does not override the borders. 1999-10-23 Michael Meeks * doc/Styles.txt: update. 1999-10-23 Michael Meeks * src/corba-sheet.c (Sheet_cell_get_pattern, Sheet_cell_set_pattern): implement. * src/sheet-style.c (sheet_unique_cb): Re-clip against selection after fragment and use all ranges. * src/dialogs/dialog-cell-format.c (format_number_select_row): Add check to kill debug; odd. 1999-10-22 Michael Meeks * src/mstyle.c (mstyle_elements_compare): fix. * src/ranges.c (range_fragment): Silly logic error + only 1 range case. * src/dialogs/dialog-cell-format.c (create_coloring_page): fixup. * src/sheet-style.c (sheet_selection_get_unique_style): add debug. 1999-10-22 Miguel de Icaza * src/Makefile.am (Gnumeric-impl.o): Do not use BUILT_SOURCES as suggested by Tom. ($(GNUMERIC_CORBA_GENERATED)): Removed ugly hack * src/selection.c (cb_set_row_height): Include the fix from the pre-style change * src/workbook.c (workbook_can_close): Do not let the can-close dialog box to be run twice (one from the C-w dialog, another from the Window Manager request). * src/widgets/widget-font-selector.c (fs_destroy): display_font is not a GtkObject, but a pointer to a GnomeDisplayFont which is just a structure "owned" by GnomePrint. * src/dialogs/dialog-cell-format.c (cb_set_row_height): Only autofit when growing, not shrinking. * src/cell-draw.c (cell_draw): Remove margin from here. * src/widgets/widget-font-selector.c (size_selected): Set the size here. (font_selector_set): Set the size here too. * src/dialogs/dialog-cell-format.c (apply_font_format): Use the font dimension from the font selector, not from the GnomeFont. 1999-10-21 Miguel de Icaza * src/sheet.c (sheet_accept_pending_input): Focus current sheet also to kill any F2 editing. * configure.in (bonobo): Require Bonobo 0.5 * src/gnumeric-sheet.c (gnumeric_sheet_selection_cursor_base): New routine to control the "base" spinning location. * src/item-grid.c (item_grid_button_1): Start cell selection if user clicks and a selection is going on. Reset the spin base here. * src/sheet.c (sheet_cancel_pending_input): Queue a recalc here, as we have modified the cell values. 1999-10-20 Martin Norbäck * gnumeric.desktop.in: Added Swedish translation 1999-10-22 Michael Meeks * src/mstyle.c (mstyle_destroy): update. 1999-10-21 Michael Meeks * src/border.c (border_draw): Constify. * src/sheet-autofill.c (autofill_cell): Fix. * src/corba-sheet.c (Sheet_cell_get_alignment, Sheet_cell_set_alignment), (Sheet_cell_set_background, Sheet_cell_set_foreground): implement. * src/sheet-style.c (sheet_style_attach_single): implement. * src/workbook-format-toolbar.c (workbook_feedback_set): Add cache back in to save scanning huge font lists. * src/sheet-style.c (sheet_unique_cb): fix leak. 1999-10-20 Michael Meeks * src/render-ascii.c (cell_region_render_ascii): Update; perhaps cell_get_text will need to be passed an MStyle... * src/clipboard.c (paste_cell_flags, clipboard_prepend_cell), (clipboard_release): handle styles to some extent. (sheet_paste_selection): Add an optimize pass. * src/cell.h (CellCopy): Add style. * src/sheet.c (sheet_new): setup color correctly. (range_is_homogeneous): Kill ( done in sheet-style.c nowadays ). * src/workbook-format-toolbar.c (modify_cell_format): Use an MStyle. (change_selection_font): set italic as well as bold. (change_font_size_in_selection_cmd): Update sheet after style set. * src/sheet.h (range_equal): Add macro. * src/ranges.c (range_equal): kill; too slow. * src/mstyle.c (mstyle_elements_equal): simplify lots. * src/cell.c (cell_get_span): Optimise by hoisting simple checks over slow style ones. (cell_is_number): make inline * src/workbook-format-toolbar.c (workbook_feedback_set): remove redundant checks on each style element to see if set + add preconditions. * src/mstyle.c (mstyle_get_font): implement. * src/cell.c (cell_get_span): pass init. align in to save redundant style_compute. (cell_get_horizontal_align): optimise. (calc_text_dimensions): take an MStyle. (cell_calc_dimensions): use mstyle. * src/print-cell.c (print_cell_text): new horizontal_align bits. * src/cell-draw.c (cell_draw): ditto. * src/sheet-style.c (sheet_style_compute): Update cache API. (sheet_style_cache_lookup, sheet_style_cache_add): ditto. * src/mstyle.c (mstyle_get_color): unconstify. * Update floating mstyle vars. to 'mstyle' 1999-10-20 Michael Meeks * src/corba-sheet.c (Sheet_cell_get_format): remove check. * src/cell.c (cell_get_horizontal_align): add check. (cell_get_span): remove checks on alignment set. * src/functions/fn-information.c (gnumeric_cell): kill leak; * src/workbook-format-toolbar.c (modify_cell_format): kill leak. * src/print-cell.c (print_cell_text): fix leaks. (print_cell): ditto. * src/cell.c (cell_get_formatted_val): return error case. * src/sheet.c (sheet_new): Attach default format. * src/style.c (style_mstyle_new): update. * src/print-cell.c (print_empty_cell): update. * src/xml-io.c (xml_write_style, xml_write_style_region): update. (xml_write_style_border, xml_read_style, xml_read_style_border): fix. 1999-10-19 Michael Meeks * src/item-grid.c (item_grid_paint_empty_cell): update. * src/item-edit.c (item_edit_update): fix. * src/cell.c (cell_get_formatted_val, cell_set_format_simple), (cell_get_horizontal_align, cell_get_style, cell_get_span): fixups. * src/workbook-format-toolbar.c (set_selection_halign, change_selection_font), (change_font_in_selection_cmd, change_font_size_in_selection_cmd), (fore_color_changed, back_color_changed, workbook_feedback_set): fixups. * src/corba-sheet.c (Sheet_cell_get_format, Sheet_range_set_format): update. * src/sheet.c (sheet_update_controls): update. * src/dialogs/dialog-cell-format.c (create_number_format_page), (apply_number_formats, create_align_page, apply_align_format), (create_font_page, apply_font_format, set_color_picker_from_style), (create_coloring_page, apply_coloring_format, cell_properties_apply): hack to new 'helper' functions. * src/sheet-style.c (sheet_style_cache_lookup), (sheet_style_cache_add, sheet_style_compute): Update. (sheet_selection_get_uniq_style, sheet_uniq_cb): Break badly. * src/mstyle.c: Totaly re-hash API for Miguel, biggish re-write. (mstyle_is_element_set, mstyle_unset_element, mstyle_set_color), (mstyle_get_color, mstyle_set_border, mstyle_set_pattern), (mstyle_get_pattern, mstyle_set_font_name, mstyle_get_font_name), (mstyle_set_font_bold, mstyle_get_font_bold, mstyle_set_font_italic), (mstyle_get_font_italic, mstyle_set_font_size, mstyle_get_font_size), (mstyle_set_format, mstyle_get_format, mstyle_set_align_h), (mstyle_get_align_h, mstyle_set_align_v, mstyle_get_align_v), (mstyle_set_orientation, mstyle_get_orientation), (mstyle_set_fit_in_cell, mstyle_get_fit_in_cell): Implemented ( boring ). (mstyle_compare): implement 1999-10-19 Michael Meeks * src/cell.c (cell_get_horizontal_align): fiddle. (cell_get_span): Fixup. * src/xml-io.c (xml_sheet_write): Actually attach the saved style tree. (xml_write_style): Fix silly bug in color writing. 1999-10-19 Michael Meeks * src/mstyle.c (mstyle_destroy): Fix leak. * src/item-grid.c (item_grid_draw_cell): ditto. 1999-10-16 Michael Meeks * src/dialogs/dialog-cell-format.c (apply_coloring_format): Fixup. * src/selection.c (sheet_selection_height_update): create. * src/dialogs/dialog-cell-format.c (cell_properties_apply): update. (apply_number_formats, apply_align_format), (apply_font_format): Don't set the selection's properties yet, setup the selections height. * src/sheet-style.c (sheet_selection_get_uniq_style): update docs. 1999-10-16 Michael Meeks * src/style.c (style_mstyle_new): Add format ( oops ). * src/cell.c (cell_get_formatted_val): Create. (cell_get_text, cell_render_value): use it. (cell_get_horizontal_align): Update. * src/ranges.c (range_merge): comment out sluggish pre-condition. * src/workbook-format-toolbar.c (do_sheet_selection_apply_style): Fixup. * src/ranges.c (range_split_ranges): Kill 1/2 the range_contains calls, fix bug + optimize. (range_overlap): kill comment + inline. * src/workbook.c (deps_output): renamed to (misc_output) + update. (workbook_setup_edit_area): show if style_debugging. * src/main.c: Add 'style_debugging' integer. * src/cell.c (cell_set_font_from_style, cell_set_halign, cell_set_border), (cell_set_alignment, cell_set_foreground, cell_set_background), (cell_set_color_from_style, cell_set_pattern, cell_set_format_from_style): kill the stubs for the old style API. (cell_set_format_simple): fix silly bug. 1999-10-15 Michael Meeks * src/ranges.c (range_equal): compare rows then cols + inline. * src/sheet-style.c (sheet_styles_dump): implement. * src/workbook.c (deps_output): dump styles. * src/mstyle.c (mstyle_elements_init): create. (mstyle_elements_equal): Add quick type sum check. * src/sheet-style.c (sheet_selection_get_uniq_style): use it. 1999-10-14 Michael Meeks * src/workbook-format-toolbar.c (workbook_feedback_set): kill old conflict resoltion. * src/sheet-style.c (sheet_style_cache_add): fixup cache flush on huge caches. * src/print-cell.c (print_empty_cell): * src/mstyle.c (render_merge): kill. (mstyle_list_check_sorted): rename. * src/sheet-style.c (sheet_style_compute, sheet_uniq_cb): Add checks for sortedness kill redundant return. * src/item-grid.c (item_grid_paint_empty_cell): * src/cell.c (cell_get_style): zoom. * src/item-edit.c (item_edit_update): ditto. * src/style.c (style_mstyle_new): Update to take a zoom argument. * src/sheet.c (zoom_cell_style): kill: redundant (sheet_set_zoom_factor): use new render side zoom, allows different zoom per view. * src/mstyle.c (mstyle_do_merge): optimise by dropping out if we have all attributes set + kill redundant copy. (render_merge_blank): Kill. * src/ranges.c (range_contains): re-order for speed & inline. * src/sheet.c (sheet_update_controls): update. 1999-10-13 Michael Meeks * src/cell.c (cell_get_style): pass elements around. * src/item-edit.c (item_edit_update): ditto. * src/corba-sheet.c (Sheet_cell_get_format): ditto.. * src/item-grid.c (item_grid_paint_empty_cell): ditto. * src/print-cell.c (print_empty_cell): ditto. * src/sheet-style.c (sheet_style_compute_blank): axe. (sheet_style_compute): update to new API. * src/xml-io.c (xml_sheet_write): use sheet_get_style_list. * src/sheet-style.c (sheet_style_compute): Unroll render_merge in here to allow caching. * src/sheet.c (sheet_set_zoom_factor): calm font scaling down. * src/sheet-style.c: Re-write each style list lookup adding dereference. (sheet_create_styles): create, (sheet_destroy_styles): update. (sheet_style_cache_lookup, sheet_style_cache_add), (sheet_style_cache_flush): stub for now + add various flushes. (scache_remove): create. * src/sheet.h: Hide style_data in sheet-style.c + add cell lookup hash on advice of profiler. * src/sheet.c (sheet_new): use sheet_create_styles. * src/ranges.c (range_fragment): fix: was very broken. * src/dialogs/dialog-cell-format.c (apply_font_format): use String. * src/xml-io.c (xml_write_style, xml_read_style): use String * src/workbook-format-toolbar.c (change_font_in_selection_cmd), (workbook_feedback_set): ditto. * src/style.c (style_mstyle_new): ditto. * doc/Styles.txt: Update bit about strings. * src/mstyle.c (mstyle_element_equal, mstyle_element_dump), (mstyle_element_copy, mstyle_element_destroy): Use String not char * for font name. * src/mstyle.h: Change font.name to a ref counted String. * src/style.h (style_unref): Add. * src/cell.c (cell_render_value, cell_get_horizontal_align), (cell_get_text, cell_calc_dimensions): use style_unref. * src/item-edit.c (item_edit_update): use style_unref not destroy. * src/item-grid.c (item_grid_paint_empty_cell): ditto. * src/print-cell.c (print_empty_cell): ditto. * src/cell-draw.c (sheet_view_font, cell_draw): ditto. * src/corba-sheet.c (Sheet_cell_get_format): unref style. * src/mstyle.c (mstyle_do_merge): Remove redundant uniq thing. (render_merge, render_merge_blank): ditto. (mstyle_destroy): nail huge leak, destroy style elements. (mstyle_elements_compare, mstyle_elements_destroy): implement. * src/ranges.c (range_fragment): Don't operate on the original list. * src/sheet-style.c (sheet_uniq_cb): Implement fully. 1999-10-12 Michael Meeks * src/ranges.c (range_fragment): Only remove region if it is valid. * src/sheet.c (sheet_new): NULL style_list. * src/mstyle.c (mstyle_destroy): Add safe catch for NULL pointers. * src/sheet-style.c (sheet_destroy_styles): moved & made global, unref mstyles not destroy + precondition on ref_count. * src/sheet.c (sheet_destroy_styles): Moved. 1999-10-11 Michael Meeks * src/style.c (style_mstyle_new): Re-initialize background color so it doesn't crash !!! * src/item-grid.c (item_grid_draw_cell): add check on back_color. * src/sheet-style.c (sheet_uniq_cb): update. * src/ranges.c (range_fragment_free): implement. (range_clip, range_fragment): Implement - grief. * src/cell.c (cell_get_span): print the unknown type. (cell_get_horizontal_align): fixup. * src/sheet-style.c (sheet_selection_get_uniq_style): quiten. (sheet_uniq_cb): Add, (sheet_selection_get_uniq_style): check all selection ranges; fix leak. 1999-10-11 Michael Meeks * src/Gnumeric.idl: Add a variable name for datanotify so it compiles! kill redundant (void) on count. 1999-10-11 Michael Meeks * src/mstyle.c (mstyle_equal): add quick initial pointer equality test. (mstyle_element_equal): add precondition + debug. (mstyle_elements_equal): add debug. * src/sheet-style.c (sheet_style_optimize): Actualy remove culled regions from the sheet style list as well as the temporary one. 1999-10-10 Michael Meeks * src/sheet-style.c (sheet_style_optimize): fix big leak. (sheet_style_optimize): fix _stupid_ bug killing the optimizer. re-hash order things are done in + add failed merge case. (sheet_selection_apply_style_cb): add optimize. (sheet_style_optimize): fix mamouth drop-through bug. * src/mstyle.c (mstyle_elements_equal): update. * src/sheet-style.c (sheet_style_attach): make debug look nice. 1999-10-10 Michael Meeks * src/mstyle.c (mstyle_element_dump): dump the default name instead. (check_sorted): quieten. * src/sheet-style.c (sheet_style_attach): remove n*n equality check + move into sheet_style_optimize. (sheet_style_optimize): Add equal range merging. (sheet_style_compute_blank): kill debug. Add new debugging macro throught. * src/ranges.c (range_adjacent): add pre-conditions. (range_merge): implement. * src/mstyle.c (mstyle_element_equal): Implement. (mstyle_elements_equal, mstyle_equal): ditto. (mstyle_new_elems, dump_style_list): add casts. 1999-10-10 Jody Goldberg * src/style.c (style_mstyle_new) : Init background color to NULL for now. * src/dialogs/dialog-cell-format.c (set_color_picker_from_style) : Don't warn about unset colours. * src/item-grid.c (item_grid_draw_cell) : Draw borders. * src/border.[ch] : Since stipples won't work, we don't need is_vertical. (border_draw) : new function. * src/mstyle.c (mstyle_element_dump) : Add borders. * src/sheet-style.c : Kill some warnings and make it compile. * src/style.c (style_new) : Support borders. (style_mstyle_new) : Ditto. 1999-10-09 Michael Meeks * src/sheet-style.c (sheet_style_optimize): hack. * src/ranges.c (range_adjacent): implement. * src/sheet.c (sheet_cell_add): Kill complexity: sorted. * src/cell.c (cell_get_span): Fixup. * src/xml-io.c (xml_write_style_region): use mstyle_get_elements. (xml_write_style_border, xml_write_style): constify. * src/mstyle.c (mstyle_new): update + init array. (mstyle_new_array, mstyle_add_array): kill. (mstyle_merge): implement. (mstyle_add): add preconditions + implement. (mstyle_set): update. (mstyle_to_string): update. (mstyle_new_elems, mstyle_get_elements): implement. * src/sheet.h (MStyle): kill GArray + move all into mstyle:PrivateStyle. 1999-10-09 Jody Goldberg * src/border.[ch] : Add a reasonable approximation of the XL border styles. * src/mstyle.[ch] : Add more border line styles. Add placeholders for diagonal and reverse diagonal borders. Add placeholder for 'pattern' colour vs background colour. Moved COLOR_FORE into the section not visibile in a blank cell. * src/xml-io.c : Switch to new border scheme. 1999-10-09 Michael Meeks * src/mstyle.c (mstyle_element_copy): implement. (mstyle_element_destroy): ditto. * src/sheet-style.c (sheet_style_attach): Complicate :-) * src/mstyle.h (MSTYLE_ANY_COLOR, MSTYLE_ANY_BORDER): add to help. 1999-10-08 Michael Meeks * src/sheet-style.c (sheet_selection_apply_style_cb): add. (sheet_selection_apply_style): fix. * src/selection.c (selection_foreach_range): Implement. 1999-10-08 Michael Meeks * src/sheet.c (sheet_delete_col): hack up. * src/item-grid.c (item_grid_paint_empty_cell): cull stuff. * src/corba-sheet.c (Sheet_cell_get_format, Sheet_cell_get_font): fix. * configure.in: Fixup bonobo check. 1999-10-07 Michael Meeks * src/mstyle.c (check_sorted): update check & add comment. * src/ranges.c (range_overlap): implement. (range_fragment): stubbed. * src/sheet-style.c (sheet_selection_get_uniq_style): Use range_overlap. * src/style.h (DEFAULT_SIZE, DEFAULT_SIZE): move here from style.c * src/workbook-format-toolbar.c (workbook_feedback_set): Set non bold / italic as the default + kill warning + add default size. * src/xml-io.c (xml_read_style_border, xml_write_style_border): in-line border structure. * src/style.c (style_hash, style_compare): kill (style_new, style_mstyle_new, style_destroy, style_duplicate): remove old border (style_merge_to): cull. (border_hash, style_init, style_shutdown): kill border bits. (border_equal): ditto. * src/sheet-autofill.c (autofill_cell): comment out style bits. * src/item-grid.c (item_grid_draw_cell): Kill debug border rendering. * src/print-cell.c (print_border, print_cell_border): #ifdef out. (print_cell): comment out border call. * src/mstyle.h: Make borders in-line structures. * src/style.c (style_border_new_plain, style_border_new), (style_border_ref, style_border_unref): kill. * src/style.h: Kill StyleBorderOrient + StyleBorder in favor of MStyleBorder. * src/corba-sheet.c (cb_range_set_format): kill. (Sheet_range_set_format): fixup. * src/mstyle.c (mstyle_unref, mstyle_ref): Implemented. * src/sheet.h: Add ref-count to MStyle. * src/ranges.c (range_list_foreach_full): typo. (range_style_apply_cb, range_set_style): Add. * src/corba-sheet.c (Sheet_cell_set_font): cut. (Sheet_cell_set_comment): re-enable. (Sheet_cell_get_font): implement. (Sheet_cell_get_font, Sheet_cell_set_background), (Sheet_cell_get_background, Sheet_cell_get_pattern), (Sheet_cell_set_pattern, Sheet_cell_set_alignment), (Sheet_cell_get_alignment): deprecated. (Sheet_range_set_format): Implemented. * src/cell.h: Comment out the old cell_set_* API except for cell_set_format*. * src/cell.c (cell_get_horizontal_align): Fixup. (cell_set_formula): hack format setting. (cell_set_format_simple): fixup. 1999-10-07 Jon K Hellan * dialog-cell-format.c (create_number_format_page, create_font_page): Make in entry fields invoke default button * dialog-cell-format.c (format_find): Select line in categorylist. (format_number_select_row): Initial list selection happens before property box is created, so check before notifying it. * dialog-cell-format.c (dialog_cell_format): Initial focus. (dialog_cell_format, struct cell_format_pages): New signature for create_page. (create_number_format_page, create_align_page, create_font_page, create_coloring_page): New out parameter focus_widget: The widget to receive initial focus if page is current when notebook pops up. 1999-10-07 Jon K Hellan * src/dialogs/dialog-analysis-tools.c (hbox_pack_label_and_entry): moved. * src/dialogs/dialog-solver.c (add_strings_to_glist): moved. * src/dialogs/utils-dialog.[ch]: Added. * src/dialogs/Makefile.am: ditto. 1999-10-07 Michael Meeks * src/xml-io.c (xml_write_styles): create; untested. (font_component): kill. 1999-10-06 Michael Meeks * src/xml-io.c (parse_xml_context_t): Remove hash table of styles + style count: redundant now. (xml_write_style): majorly hacked. (xml_write_style_border): ditto. (xml_read_style_region): ditto. (xml_read_style): huge mangle. (xml_read_style_border): ditto. (xml_write_cell): kill style write per cell, (xml_read_cell): ditto, lots. (xml_cell_styles_init): remove; sluggish style hash (add_style): ditto. (xml_sheet_write): kill (xml_cell_styles_shutdown): die. (xml_sheet_write): kill call. (xml_read_cell_styles): kill (xml_sheet_read): + call. (xml_dispose_read_cell_styles): kill (xml_sheet_read): + call. (destroy_style): die. (style_font_new_from_x11): remove: unused. (xml_sheet_write): add xml_write_styles call. * src/mstyle.c: Add array of style names. 1999-10-05 Michael Meeks * src/sheet.c (sheet_update_controls): Use new workbook_feedback_set. * src/workbook-format-toolbar.c (workbook_feedback_set): Pass the style element array instead + hack to use this. 1999-10-04 Michael Meeks * src/sheet-style.c (sheet_selection_apply_style): renamed. * src/dialogs/dialog-cell-format.c (set_color_picker_from_style): created. (create_coloring_page): simplify & update. (apply_coloring_format): 1999-10-04 Michael Meeks * src/dialogs/dialog-cell-format.c (dialog_cell_format): Update style stuff. (cells_get_format): remove (create_number_format_page): update. (create_align_page): update. (apply_align_format): update. (apply_number_formats): ditto. (apply_font_format): re-implemented & commented out large chunks of stuff. (create_font_page): update: needs work. (create_coloring_page): update. 1999-09-29 Michael Meeks * src/mstyle.c (mstyle_do_merge): Updated API & stuff. (render_merge, render_merge_blank): change slightly. * src/workbook-format-toolbar.c: use sheet_apply_style_to_selection. * src/sheet-style.c: Create, (sheet_style_attach_old): Remove. (sheet_apply_style_to_selection): Add. * src/ranges.c (range_set_style): Remove. * src/corba-sheet.c (Sheet_range_set_format): comment out. * src/workbook.c (workbook_init): initialise clipboard. 1999-09-28 Michael Meeks * src/workbook-format-toolbar.c (set_selection_halign): fixup. * src/style.h: New expandable border setup. * src/mstyle.h: Expand to full set of types. 1999-09-28 Michael Meeks * src/workbook-format-toolbar.c (change_selection_font): re-implement. * src/mstyle.c (dump_style_list): Add. (check_sorted): use it. * src/xml-io.c (xml_write_names): remove unused 'm' (xml_write_cell, xml_read_style_region): hacked. (xml_read_cell, add_style): ditto. * src/ranges.c (range_set_style): use attach_old. * src/sheet.c (sheet_style_attach): Use a Range. (sheet_style_attach_old): Deprecated copy. * src/workbook-format-toolbar.c (change_selection_font, set_new_font), (set_font_size, modify_cell_format, set_cell_fore_color), (set_cell_back_color): use cell_get_style. (apply_style_to_selection): update to MStyle. (apply_style_to_range): Update. Seriously hack style apply code. * src/sheet-autofill.c (autofill_cell): cell_get_style. * src/print-cell.c (print_cell): cell_get_style. * src/corba-sheet.c: style API dummied out. * src/functions/fn-information.c (gnumeric_cell): cell_get_style. * src/sheet.c (zoom_cell_style): kill for now. (sheet_cell_add): hack more. * src/cell.h: kill public style element. * src/cell.c (cell_destroy): ditto. * src/dialogs/dialog-cell-format.c (cells_get_format), (create_align_page, create_coloring_page): use cell_get_style. * src/item-grid.c (item_grid_paint_empty_cell): Kill default style check. * src/sheet.c (sheet_cell_add): comment out style bits. (sheet_destroy_styles): mstyle_destroy. (sheet_set_zoom_factor): add warning. * src/print-cell.c (print_empty_cell): fix style_compute. (print_cell_text): use cell_get_style. * src/workbook.h: Remove old inline 'style' in Workbook. * src/xml-io.c (xml_workbook_write, xml_workbook_read): ditto. * src/sheet.h: move range dependant Style bits here + include glib.h * src/style.h: Split typedefs from enum's & structs 1999-09-27 Michael Meeks * src/style.c (mstyle_style_new): add. (style_new): deprecate. * src/mstyle.[ch]: Created. * src/item-edit.c (item_edit_update): fix style_compute. * src/item-grid.c (item_grid_paint_empty_cell): ditto. * src/clipboard.c (paste_cell_flags): Hack. * src/cell-draw.c (sheet_view_font, cell_draw): use cell_get_style * src/sheet.c (sheet_style_compute): remove non_default_style_flags argument. * src/cell.c (cell_render_value, cell_get_text): Use cell_get_style (cell_set_formula, cell_calc_dimensions): ditto. (cell_get_style): implement. 1999-10-07 Miguel de Icaza * src/gnumeric-sheet.c (gnumeric_sheet_compute_visible_ranges): Fix typo here. 1999-10-07 Jody Goldberg * src/item-grid.c (item_grid_find_row, item_grid_find_col) : Return a value in the overflow case. From : Jon K Hellan * src/dialogs/dialog-zoom.glade: Place sheet list inside frame. Use frame label, not list column label. Add padding. Use 0 height drawing area to set minimum width of spin button. 1999-10-06 Miguel de Icaza * src/workbook-format-toolbar.c (change_selection_font): Remove ants when we change the font. (set_selection_halign): And when we change the alignment. Many more left to be removed. Left as an excercise to Jody :-) * src/sheet.c (sheet_start_editing_at_cursor): remove ants when we start entering new text. * src/sheet-view.c (sheet_view_selection_unant): Destroys the anted cursors from the sheet view. (sheet_view_selection_ant): Adds cursors to the sheetview. (sheet_view_construct): New group that is used to hold the selection-ant items. * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet): Kill ants on escape. (gnumeric_sheet_key_mode_object): ditto. * src/selection.c (sheet_selection_unant): New function, kills the selection ants. (sheet_selection_ant): New function, adds an anted selection to all the selected regions. * src/clipboard.c (do_clipboard_paste_cell_region): Do not paste beyond sheet boundaries. * src/item-grid.c (item_grid_find_row): Do not go beyond sheet boundaries. (item_grid_find_col): ditto. * configure.in: Generate gnumeric.desktop * gnumeric.desktop.in: New file, used to choose the correct gnumeric/gnumeric-bonobo executable name. * src/sheet-object-item.c: Updated to fit with the new Bonobo changes. 1999-10-06 Jody Goldberg * src/dialogs/dialog-zoom.c (dialog_zoom_impl) : Have the custom zoom spinbox call 'Ok' when enter is pressed. * src/sheet.c (sheet_destroy_contents) : Fix typo causing memory corruption. * src/sheet.h : Decrease SHEET_MAX_ROWS to 16k until we can tune memory usage. From : Jon K Hellan * src/dialogs/dialog-printer.c (gnumeric_printer_dialog_run): Workbook: New parameter Set initial focus. Make in entry fields invoke default button. Specify the app as the parent. * src/dialogs/dialog-printer.h (gnumeric_printer_dialog_run): Change signature * src/print.c (sheet_print): gnumeric_printer_dialog_run has new signature * src/dialogs/dialog-sovler.c (add_strings_to_glist): Remove (add_radio_buttons): Remove unnecessary "_()" (dialog_solver_options, dialog_solver): Add missing "_()" * src/dialogs/utils-dialog.c: New file (ut_dia_entry_new_with_max_length, ut_dia_entry_new): Create entry fields where activates the default button (hbox_pack_label_and_entry): Move from dialog-analysis-tools.c (add_strings_to_glist): Move from dialog-solver.c * src/dialogs/utils-dialog.h: New file (hbox_pack_label_and_entry, add_strings_to_glist): Move from tools.h * src/dialogs/dialog-cell-comment.c (dialog_cell_comment): Make OK button the default. * src/dialogs/dialog-cell-sort.c (order_box_new): Make in entry field invoke default button. * src/dialogs/dialog-define-names.c (dialog_define_names): Make in entry field invoke default button. Specify the app as the parent. * src/dialogs/names.glade: ok button needs "can_default". * src/dialogs/dialog-summary.c (dialog_summary_update): Make in entry fields invoke default button. * src/dialogs/summary.glade: Make OK button the default. Change widget names used by program to avoid inadvertent translation. * src/dialogs/dialog-analysis-tools.c (new_dialog): Make OK button the default (dialog_data_analysis): Initial focus and selection, Make OK button the default. (add_check_buttons, add_output_frame, dialog_sampling_tool): Make in entry field invoke default button (hbox_pack_label_and_entry): Move to utils-dialog.c (dialog_random_tool): Replace pack_label_and_entry with hbox_pack_label_and_entry (pack_label_and_entry): Remove * src/dialogs/dialog-goal-seek.c (dialog_found_solution, dialog_goal_seek): Make OK button the default (dialog_goal_seek): Make in entry field invoke default button. * src/dialogs/dialog-paste-special.c (dialog_paste_special): Initial focus 1999-10-05 Jody Goldberg * src/sheet.c (sheet_destroy_contents) : Mark freed segments with NULL. * src/selection.c (selection_contains_colrow) : New function. * src/item-bar.c (item_bar_event) : Use it. From : Jon K Hellan * src/dialogs/{insert,delete}-cells.glade : New files. * src/dialogs/dialog-{insert,delete}-cells.c : Switch from using Cauldron to using libglade. * src/plugin-manager.c (plugin_manager_new): Go away on , set initial focus. * src/dialogs/sheet-rename.glade: Made OK button default. * dialog-simple-input.c (dialog_get_number): gnome_dialog_run instead of run_and_close - otherwise entry widget is destroyed before it is read. Make in entry field activate default button. (dialog_get_sheet_name) : Ditto. * src/workbook.c (workbook_rename_sheet): Update notebook label * src/workbook-cmd-format.c (workbook_cmd_format_column_width, workbook_cmd_format_row_height): Off by one error. 1999-10-04 Jody Goldberg From: Nick Lamb * src/cursors.c (cursors_init, create_bitmap_and_mask_from_xpm) : A small patch to invert the logic when handling black vs white in cursors. This works around a problem with some Xservers. Bug 808. 1999-09-30 Miguel de Icaza * src/Gnumeric-value.idl: New file, move the value structure definition here. * src/Gnumeric.idl: Add new interface for data access. * src/value-sheet.c: New file. Moved here the value code that uses a Sheet directly. (value_dump): moved here. (value_cellrange_get_as_string): ditto. (encode_cellref): ditto. (value_area_get_width): ditto. (value_area_get_height): ditto. (value_area_get_x_y): ditto. (constants_init): ditto. (value_area_foreach): ditto (wrapper_foreach_cell_in_area_callback): ditto. (value_area_fetch_x_y): ditto. 1999-10-04 Jody Goldberg * src/workbook.c (sheet_action_delete_sheet) : Use a workbook_expr_relocate to invalidate references to the contents of the deleted sheet. (cb_sheet_erase) : Renamed to cb_sheet_destroy_contents. * src/sheet.c (sheet_destroy_contents) : Renamed from sheet_destroy_columns_and_rows. Delete the cells directly from the hash. Don't use a range. * src/cellspan.c (row_destroy_span) : Set deleted span hash to NULL. * src/sheet.c (sheet_destroy_columns_and_rows) : Wipe all row spans in one stage to avoid looking them up one by one. 1999-10-03 Jody Goldberg * src/dialogs/dialog-delete-cells.c (dialog_delete_cells) : Specify the app as the parent. * src/dialogs/dialog-insert-cells.c (dialog_insert_cells) : Ditto. * src/expr.[ch] : (cell_ref_restore_absolute, cell_in_range, do_expr_tree_invalidate_references, expr_tree_invalidate_references, fixup_calc_new_cellref, do_expr_tree_fixup_references, expr_tree_fixup_references) : Delete. (cellref_relocate) : Rewrite to support intersheet, moves, invalidation, and references to and from moving cells. (expr_relocate) : Use new cellref_relocate. * src/workbook.[ch] (workbook_fixup_references, workbook_invalidate_references) : Delete. (workbook_expr_relocate) : Replace with. 1999-10-02 Jody Goldberg * src/{selection.c, collect.c, complex.c } : Add include config.h. So that we get the right #defines when including Workbook in a bonobo envirnoment. From : Jon K Hellan * src/dialogs/{col-width, dialog-zoom, names, row-height, sheet-rename, summary}.glade : Dialogs made with glade pop up for a moment in one position before being moved to the proper place. This is fixed by setting "Visible" to False in Glade. * src/print.c (print_page) : Make func pointer match new signature for sheet_col_get_info. 1999-10-01 Jody Goldberg * src/cell.h : Add ColRowCollection, a structure to store a segmented array of ColRowInfo *, and some of the other useful information, like max_element, and default_style. Rename data to 'spans' to facilitate removing dependancies on old name. Renumbered the CELL_ flags now that CELL_ERROR is gone. * plugins/* : Switch to ColRowCollection. * src/print.c : Ditto. * src/value.c : Ditto. * src/xml-io.c : Ditto. * src/dialogs/dialog-cell-format.c : Ditto, and use sheet_foreach_colrow. * src/sheet-view.c : Ditto. Use sheet_{row,col}_fetch and document why they are called. (sheet_view_scrollbar_display) : ifdef out untill some one wants it. src/dialogs/dialog-solver.c : Add include "tools.h" * src/sheet.[ch] : Massive reorg. Rows and Cols are no longer in lists they are in segmented arrays. Cols don't have lists of cells in them. All the insert/delete row/col code was redone and simplified. The Shift row/col is broken pending the merge with the new copy code. * src/cellspan.c : Switch from 'data' to 'spans' * src/clipboard.c : Use boolean, not integer '1' * src/corba-sheet.c : Switch to ColRowcollection. (Sheet_cell_get_background) : #ifdef until this is implemented. * src/embeddable-grid.c (grid_view_new) : Add a cast to silent warning. * src/item-grid.c (item_grid_draw_cell) : Paint the borders After contents. They still don't work, but this is slightly better. * src/expr.c (do_expr_tree_fixup_references) : Partial patch that fixes the common case and probably breaks the uncommon. Refs to cells/ranges on the current sheet have sheet == NULL. The destination specifies the sheet, so only references on a different sheet were fixed. When I rework this code for use by the 'move' operation I'll fix it. * src/gnumeric-sheet.c (move_cursor) : Move the cursor before making the area visible, Reset the selection after the motion. 1999-09-27 Jody Goldberg * src/item-grid.c (item_grid_draw) : Don't attempt to paint past SHEET_MAX_{ROWS,COLS}. * src/gnumeric-sheet.c (gnumeric_sheet_compute_visible_ranges) : Ditto. (move_cursor) : Set the cursor before making the area visible so that the scrollbars know the real position. 1999-09-26 Miguel de Icaza * src/print-preview.c (print_preview_new): Removed warning/ 1999-09-26 Morten Welinder * src/cell.c (cell_relocate): Plug leak. 1999-10-18 Morten Welinder * src/xml-io.c (xml_write_print_info): Actually add print order, paper name, and orientation to the output instead of just leaking them. (xml_set_value_double): Don't throw away precicion; save using more sane formats. 1999-10-18 Miguel de Icaza * src/formats.c: Added new formats for elapsed setup. * src/format.c (format_number): Add support for hour-elapsed, minute-elapsed, and second-elapsed. 1999-10-17 Morten Welinder * src/eval.c (cell_get_dependencies): Plug leak. 1999-10-16 Miguel de Icaza * src/xml-io.c (xml_read_colrow_info): Set the Column/Row dimensions here after loading them, as the new sheet_set_zoom_factor can no longer be used to reset lingering values (the value of the pixels was being computed here after we had read the units). * src/eval.c (cell_get_dependencies): Prototype change. We now take the Cell as an argument and we scan all the sheets that depend on us. 1999-10-14 Jukka-Pekka Iivonen * src/functions/fn-stat.c: Fixed the optional argument handling of TREND. Implemented one-dimensional GROWTH mostly (const argument not implemented yet). 1999-10-13 Morten Welinder * src/sheet-object.c (sheet_object_destroy): Don't try to walk the list we are deleting items from. 1999-10-12 Miguel de Icaza * src/style.c (font_init): Use a dialog box rather than a printf. 1999-10-08 Miguel de Icaza * src/item-cursor.c (item_cursor_do_drop): We do not want anting here either. 1999-10-11 Michael Meeks * gnumeric.desktop: remove, its auto-generated. 1999-10-11 Michael Meeks * src/Gnumeric.idl: Add a variable name for datanotify so it compiles! kill redundant (void) on count. 1999-10-10 Jody Goldberg * src/item-bar.c (item_bar_event) : Typo. 1999-10-09 Morten Welinder * src/print.c (sheet_print): Handle failures from gnome-print. 1999-10-09 Jody Goldberg * src/item-bar.c (item_bar_event) : Ensure that we ungrab whenever necessary. * src/item-grid.c (item_grid_realize) : Add a reasonable approximation of the XL border styles. 1999-10-08 Morten Welinder * src/clipboard.c (x_selection_handler): Plug leak. 1999-10-08 Jody Goldberg * src/item-bar.c (item_bar_event) : Use item_bar_end_resize. (item_bar_end_resize) : Cleare resizing flag even if when have not moved and created a resize marker. 1999-10-07 Miguel de Icaza * src/gnumeric-sheet.c (gnumeric_sheet_compute_visible_ranges): Fix typo here. 1999-10-07 Jody Goldberg * src/item-bar.c : Add tooltip to show width/height during resize. * src/gnumeric-util.[ch] (gnumeric_create_tooltip, gnumeric_position_tooltip) : New functions. * src/mathfunc.[ch], src/utils.[ch] : Move random_01, random_normal, and gpow10 from utils -> mathfunc. * src/goal-seek.c : Add an include for mathfunc.h * src/sheet-view.c (sheet_view_new) : Init tip to NULL. (set_tip_label) : Delete. (create_tip) : Poach the inards and use as a starting point for gnumeric_create_tooltip. (position_tooltip) : Rename and move to gnumeric-utils. * src/main.c : Add new command line parameter. --debug_ole * src/sheet.c (sheet_col_size_fit) : Handle empty col by using the default width. (sheet_row_size_fit) : Handle empty row by using the default height. * src/item-grid.c (item_grid_find_row, item_grid_find_col) : Return a value in the overflow case. From : Jon K Hellan * src/dialogs/dialog-zoom.glade: Place sheet list inside frame. Use frame label, not list column label. Add padding. Use 0 height drawing area to set minimum width of spin button. 1999-10-06 Miguel de Icaza * src/workbook-format-toolbar.c (change_selection_font): Remove ants when we change the font. (set_selection_halign): And when we change the alignment. Many more left to be removed. Left as an excercise to Jody :-) * src/sheet.c (sheet_start_editing_at_cursor): remove ants when we start entering new text. * src/sheet-view.c (sheet_view_selection_unant): Destroys the anted cursors from the sheet view. (sheet_view_selection_ant): Adds cursors to the sheetview. (sheet_view_construct): New group that is used to hold the selection-ant items. * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet): Kill ants on escape. (gnumeric_sheet_key_mode_object): ditto. * src/selection.c (sheet_selection_unant): New function, kills the selection ants. (sheet_selection_ant): New function, adds an anted selection to all the selected regions. * src/clipboard.c (do_clipboard_paste_cell_region): Do not paste beyond sheet boundaries. * src/item-grid.c (item_grid_find_row): Do not go beyond sheet boundaries. (item_grid_find_col): ditto. * configure.in: Generate gnumeric.desktop * gnumeric.desktop.in: New file, used to choose the correct gnumeric/gnumeric-bonobo executable name. * src/sheet-object-item.c: Updated to fit with the new Bonobo changes. 1999-10-06 Jody Goldberg * src/dialogs/dialog-zoom.c (dialog_zoom_impl) : Have the custom zoom spinbox call 'Ok' when enter is pressed. * src/sheet.c (sheet_destroy_contents) : Fix typo causing memory corruption. * src/sheet.h : Decrease SHEET_MAX_ROWS to 16k until we can tune memory usage. From : Jon K Hellan * src/dialogs/dialog-printer.c (gnumeric_printer_dialog_run): Workbook: New parameter Set initial focus. Make in entry fields invoke default button. Specify the app as the parent. * src/dialogs/dialog-printer.h (gnumeric_printer_dialog_run): Change signature * src/print.c (sheet_print): gnumeric_printer_dialog_run has new signature * src/dialogs/dialog-sovler.c (add_strings_to_glist): Remove (add_radio_buttons): Remove unnecessary "_()" (dialog_solver_options, dialog_solver): Add missing "_()" * src/dialogs/utils-dialog.c: New file (ut_dia_entry_new_with_max_length, ut_dia_entry_new): Create entry fields where activates the default button (hbox_pack_label_and_entry): Move from dialog-analysis-tools.c (add_strings_to_glist): Move from dialog-solver.c * src/dialogs/utils-dialog.h: New file (hbox_pack_label_and_entry, add_strings_to_glist): Move from tools.h * src/dialogs/dialog-cell-comment.c (dialog_cell_comment): Make OK button the default. * src/dialogs/dialog-cell-sort.c (order_box_new): Make in entry field invoke default button. * src/dialogs/dialog-define-names.c (dialog_define_names): Make in entry field invoke default button. Specify the app as the parent. * src/dialogs/names.glade: ok button needs "can_default". * src/dialogs/dialog-summary.c (dialog_summary_update): Make in entry fields invoke default button. * src/dialogs/summary.glade: Make OK button the default. Change widget names used by program to avoid inadvertent translation. * src/dialogs/dialog-analysis-tools.c (new_dialog): Make OK button the default (dialog_data_analysis): Initial focus and selection, Make OK button the default. (add_check_buttons, add_output_frame, dialog_sampling_tool): Make in entry field invoke default button (hbox_pack_label_and_entry): Move to utils-dialog.c (dialog_random_tool): Replace pack_label_and_entry with hbox_pack_label_and_entry (pack_label_and_entry): Remove * src/dialogs/dialog-goal-seek.c (dialog_found_solution, dialog_goal_seek): Make OK button the default (dialog_goal_seek): Make in entry field invoke default button. * src/dialogs/dialog-paste-special.c (dialog_paste_special): Initial focus 1999-10-05 Jody Goldberg * src/sheet.c (sheet_destroy_contents) : Mark freed segments with NULL. * src/selection.c (selection_contains_colrow) : New function. * src/item-bar.c (item_bar_event) : Use it. From : Jon K Hellan * src/dialogs/{insert,delete}-cells.glade : New files. * src/dialogs/dialog-{insert,delete}-cells.c : Switch from using Cauldron to using libglade. * src/plugin-manager.c (plugin_manager_new): Go away on , set initial focus. * src/dialogs/sheet-rename.glade: Made OK button default. * dialog-simple-input.c (dialog_get_number): gnome_dialog_run instead of run_and_close - otherwise entry widget is destroyed before it is read. Make in entry field activate default button. (dialog_get_sheet_name) : Ditto. * src/workbook.c (workbook_rename_sheet): Update notebook label * src/workbook-cmd-format.c (workbook_cmd_format_column_width, workbook_cmd_format_row_height): Off by one error. 1999-10-04 Jody Goldberg From: Nick Lamb * src/cursors.c (cursors_init, create_bitmap_and_mask_from_xpm) : A small patch to invert the logic when handling black vs white in cursors. This works around a problem with some Xservers. Bug 808. 1999-09-30 Miguel de Icaza * src/Gnumeric-value.idl: New file, move the value structure definition here. * src/Gnumeric.idl: Add new interface for data access. * src/value-sheet.c: New file. Moved here the value code that uses a Sheet directly. (value_dump): moved here. (value_cellrange_get_as_string): ditto. (encode_cellref): ditto. (value_area_get_width): ditto. (value_area_get_height): ditto. (value_area_get_x_y): ditto. (constants_init): ditto. (value_area_foreach): ditto (wrapper_foreach_cell_in_area_callback): ditto. (value_area_fetch_x_y): ditto. 1999-10-04 Jody Goldberg * src/workbook.c (sheet_action_delete_sheet) : Use a workbook_expr_relocate to invalidate references to the contents of the deleted sheet. (cb_sheet_erase) : Renamed to cb_sheet_destroy_contents. * src/sheet.c (sheet_destroy_contents) : Renamed from sheet_destroy_columns_and_rows. Delete the cells directly from the hash. Don't use a range. * src/cellspan.c (row_destroy_span) : Set deleted span hash to NULL. * src/sheet.c (sheet_destroy_columns_and_rows) : Wipe all row spans in one stage to avoid looking them up one by one. 1999-10-03 Jody Goldberg * src/dialogs/dialog-delete-cells.c (dialog_delete_cells) : Specify the app as the parent. * src/dialogs/dialog-insert-cells.c (dialog_insert_cells) : Ditto. * src/expr.[ch] : (cell_ref_restore_absolute, cell_in_range, do_expr_tree_invalidate_references, expr_tree_invalidate_references, fixup_calc_new_cellref, do_expr_tree_fixup_references, expr_tree_fixup_references) : Delete. (cellref_relocate) : Rewrite to support intersheet, moves, invalidation, and references to and from moving cells. (expr_relocate) : Use new cellref_relocate. * src/workbook.[ch] (workbook_fixup_references, workbook_invalidate_references) : Delete. (workbook_expr_relocate) : Replace with. 1999-10-02 Jody Goldberg * src/{selection.c, collect.c, complex.c } : Add include config.h. So that we get the right #defines when including Workbook in a bonobo envirnoment. From : Jon K Hellan * src/dialogs/{col-width, dialog-zoom, names, row-height, sheet-rename, summary}.glade : Dialogs made with glade pop up for a moment in one position before being moved to the proper place. This is fixed by setting "Visible" to False in Glade. * src/print.c (print_page) : Make func pointer match new signature for sheet_col_get_info. 1999-10-01 Jody Goldberg * src/cell.h : Add ColRowCollection, a structure to store a segmented array of ColRowInfo *, and some of the other useful information, like max_element, and default_style. Rename data to 'spans' to facilitate removing dependancies on old name. Renumbered the CELL_ flags now that CELL_ERROR is gone. * plugins/* : Switch to ColRowCollection. * src/print.c : Ditto. * src/value.c : Ditto. * src/xml-io.c : Ditto. * src/dialogs/dialog-cell-format.c : Ditto, and use sheet_foreach_colrow. * src/sheet-view.c : Ditto. Use sheet_{row,col}_fetch and document why they are called. (sheet_view_scrollbar_display) : ifdef out untill some one wants it. src/dialogs/dialog-solver.c : Add include "tools.h" * src/sheet.[ch] : Massive reorg. Rows and Cols are no longer in lists they are in segmented arrays. Cols don't have lists of cells in them. All the insert/delete row/col code was redone and simplified. The Shift row/col is broken pending the merge with the new copy code. * src/cellspan.c : Switch from 'data' to 'spans' * src/clipboard.c : Use boolean, not integer '1' * src/corba-sheet.c : Switch to ColRowcollection. (Sheet_cell_get_background) : #ifdef until this is implemented. * src/embeddable-grid.c (grid_view_new) : Add a cast to silent warning. * src/item-grid.c (item_grid_draw_cell) : Paint the borders After contents. They still don't work, but this is slightly better. * src/expr.c (do_expr_tree_fixup_references) : Partial patch that fixes the common case and probably breaks the uncommon. Refs to cells/ranges on the current sheet have sheet == NULL. The destination specifies the sheet, so only references on a different sheet were fixed. When I rework this code for use by the 'move' operation I'll fix it. * src/gnumeric-sheet.c (move_cursor) : Move the cursor before making the area visible, Reset the selection after the motion. 1999-09-27 Jody Goldberg * src/item-grid.c (item_grid_draw) : Don't attempt to paint past SHEET_MAX_{ROWS,COLS}. * src/gnumeric-sheet.c (gnumeric_sheet_compute_visible_ranges) : Ditto. (move_cursor) : Set the cursor before making the area visible so that the scrollbars know the real position. 1999-09-26 Miguel de Icaza * src/print-preview.c (print_preview_new): Removed warning/ 1999-09-26 Morten Welinder * src/cell.c (cell_relocate): Plug leak. 1999-09-26 Michael Meeks * src/workbook.c (workbook_do_destroy): rename name clean. * src/sheet.c (sheet_destroy): add name clean. * configure.in: Add vital conditional for libole2. * src/xml-io.c (xml_write_names): Write from a GList. (xml_workbook_write): pass a GList. (xml_read_names): add sheet arg. (xml_workbook_read): upd. name read. (xml_sheet_read): add sheet name read. (xml_sheet_write): write names. Clean several redundant forward references. * src/main.c: make startup_files const. * src/expr-name.c: Major API hack for scoped names. (expr_name_add, expr_name_create, expr_name_lookup): add docs + scoped names. (expr_name_value): setup correct 'wb' for parsing. * src/parser.y (try_symbol): Add comment + hard code to workbook scope. 1999-09-26 Miguel de Icaza * src/sheet-object.c (sheet_set_mode_type): Protect Bonobo code from being included if we dont have Bonobo. * src/Makefile.am: reverted changes from the libole2 code. 1999-09-26 Michael Meeks * src/Makefile.am (gnumeric_libs): Fix so gnumeric compiles. 1999-09-26 Jody Goldberg * src/clipboard.c (clipboard_copy_cell_range) : use boolean. 1999-09-26 Miguel de Icaza * src/sheet-object.c (sheet_button_release): Load content from bonobo objects here. (sheet_view_object_unrealize): Keep the bookkeeping of realized objects in the GnomeCanvasItem destroy handler. * src/sheet-object-bonobo.c (sheet_object_bonobo_load_from_file): New base class for SheetObjectContainer and SheetObjectBonobo * src/sheet-object-container.c: Redid for reusing the new hierarchy SheetObjectBonobo hierarchy. 1999-09-25 Miguel de Icaza * src/sheet-object.c (create_object): handle SHEET_MODE_CREATE_CANVAS_ITEM. * src/sheet.h (Sheet::mode_data): new field to keep per-mode data during the lifetime of the mode. * src/sheet-object-item.c: New sheet-object type. This one is used for embedding Bonobo-based CanvasItems. 1999-09-25 Lauris Kaplinski * configure.in: add et to ALL_LINGUAS * gnumeric.desktop: added Estonian strings 1999-09-25 Michael Meeks * src/dialogs/dialog-zoom.c (dialog_zoom): Correct glade name. (dialog_zoom_impl): use moveto after we know the final list size. (custom_selected): simplify. (radio_toggled): ditto. (select_sheet_cb): create. (dialog_zoom_impl): use update_zoom_but & complicate significantly :-) (update_zoom_buttons): create. 1999-09-25 Jody Goldberg * src/plugin.c (plugin_load) : Enable the error box when loading a plugin fails. * src/item-grid.c (item_grid_draw) : Paint an empty only if the cell does not exist. VALUE_EMPTY cells should be treated as std cells when drawing the background. (item_grid_draw_cell) : Draw the contents before the border. 1999-09-24 Morten Welinder * src/widgets/gtk-combo-box.c (gtk_combo_box_finalize): Plug leak. 1999-09-24 Jody Goldberg * src/expr.c (do_expr_decode_tree) : Handle missing arguments. 1999-09-23 Morten Welinder * src/widgets/widget-color-combo.c (color_combo_construct): Now non-static since Miguel decided to prototype it. * src/regression.c (linear_regression, exponential_regression): Change to multi-dimensional regression. (Too bad linear_solve does not handle it yet.) All callers changed. * src/widgets/widget-color-combo.c (color_clicked): Plug leak. (color_combo_select_color): Plug leak. (emit_change): Plug leak. 1999-09-23 Miguel de Icaza * src/widgets/widget-color-combo.c (color_combo_new): Install the Excel color table. 1999-09-23 Morten Welinder * configure.in (gnome-print): back to 0.8. 1999-09-23 Miguel de Icaza * src/style.c (style_font_new_simple): Be defensive at font-loading time. Basically, gnome-fonts might be allocated with a NULL gdk_font. Maybe we need to revise this strategy 1999-09-23 Morten Welinder * configure.in (gnome-print): only require 0.7 -- that's the latest cvs version. * gnumeric.spec.in (Requires): Ditto. * configure.in (gnome-print): fix test. 1999-09-23 Miguel de Icaza * gnumeric.gnorba (location_info): Dropped the IDL: prefix from the gnorba file, and use "GOADID:" now. * src/widgets/widget-color-combo.c (color_combo_class_init): Fixed memory leaks. * src/style.h: Keep the original colors handy here. * src/print-cell.c (print_cell_range, print_empty_cell): We now paint empty cells. Now we paint the background for the cell. * src/print-cell.c * src/item-grid.c (item_grid_paint_empty_cell): Style leak fix. * src/print-cell.c (print_cell): Changed the way borders are printed to improve code reusability. * src/print-info.c (save_formats): New format name to fix in an upgradable fashion. (load_formats): ditto. (print_info_new): The defaults to load should use [PAGE] not [NUM], which explains why it was never being shown. * src/print-preview.c (print_preview_print_done): Close the context here so we have information available in the ->size field. 1999-09-23 Morten Welinder * src/regression.c (exponential_regression): Fix thingo. * src/widgets/widget-color-combo.c (color_table_setup): Static. (color_combo_construct): Static. (color_table_setup): really break out. 1999-09-23 Rodrigo Stulzer Lopes * configure.in: add pt_BR to ALL_LINGUAS 1999-09-23 Miguel de Icaza * src/print.c (print_page): Setup the rotation for each page. 1999-09-23 Jody Goldberg * src/xml-io.c (xml_set_print_unit) : Suppress warning. * src/dialogs/dialog-zoom.c (dialog_zoom_impl) : Set the spinbox value when we start with a custom zoom factor, round correctly. Set the parent to be gnumeric. 1999-09-22 Jody Goldberg * src/xml-io.c (xml_write_sheet_object) : Avoid warning about unhandled object types. * src/sheet-object.c (control_point_handle_event) : unused variable. 1999-09-22 Miguel de Icaza * src/item-grid.c (item_grid_paint_empty_cell): I am now using a gc for the empty cells (as the default gc is used and abused by the cell-draw code, better to keep our own). TODO: queue an update on the regions with changed style. Wonder why this is not being done automatically. Need to check. * src/widgets/widget-color-combo.c (color_combo_construct): Fix visuals for working with Imlib properly. 1999-09-22 Jody Goldberg * src/dialog/dialog-zoom.c : rewrite. 1999-09-21 Morten Welinder * src/widgets/widget-font-selector.c (reload_preview): Spelling fix. 1999-09-21 Miguel de Icaza * src/sheet.c (cell_is_homogeneous): Set size here to get correct feedback results. * src/workbook-format-toolbar.c (change_font_in_selection_cmd): Simplified to use apply_style_to_selection (apply_style_to_selection): Big nice wrapper. (change_font_size_in_selection_cmd): Implement. * src/pixmaps.h: Removed GNUMERIC_TEST_ACTIVE_OBJECT for release. * src/workbook-format-toolbar.c: More toolbar work, now we have color selectors for foreground and background. * src/workbook.c: Split the format toolbar * src/workbook-format-toolbar.[ch]: Now they contain the format-toolbar code. * src/sheet-object-graphic.c (sheet_object_filled_realize): Width is now in points, not pixels. * src/widgets/gtk-combo-box.[ch]: New files, they implement an extensible ComboBox for Gtk. * src/widgets/color-combo.[ch]: New files, they implement the ColorCombo box. 1999-09-21 Michael Meeks * src/sheet-object-container.c (make_container_item): Add widget_handle. (sheet_object_container_destroy): clean. * src/sheet-object-widget.c (sheet_object_widget_realize): add widget handling hook. * src/sheet-object.c (sheet_object_event): renamed to canvas_event. (control_point_handle_event): use gdouble for x,y & remove duff w2w & dx*zoom code. * src/sheet-object.h: add various signals + a type. * src/sheet-object-widget.c (sheet_object_widget_construct): set press. * src/sheet-object.c (sheet_object_event, sheet_object_make_current): remove redundant 'Sheet' argument. (control_point_handle_event): Add make_current to button press. (sheet_object_start_editing): clean + setup cursor data. (control_point_handle_event): Use sizing cursors. (sheet_object_event): Add 'press' cursor. (sheet_object_widget_event, sheet_object_widget_handle): handlers to pass events around. * src/sheet-object-container.c (user_activation_request_cb): update make_current. * src/cursors.h: Add new cursors. * src/cursors.c: ditto. 1999-09-21 Morten Welinder * src/functions/fn-stat.c (gnumeric_logest): Add some meat. * src/regression.c (general_linear_regression): Renamed from general_regression. (exponential_regression): New function. 1999-09-21 Jukka-Pekka Iivonen * samples/statfuns.xls: Updated the second PERCENTRANK test. * src/functions/fn-stat.c: Added stubs for LOGEST and GROWTH. 1999-09-20 Morten Welinder * src/expr.c (do_expr_decode_tree): Plug leak. * src/functions/fn-stat.c (gnumeric_linest): Handle "const" parameter also. Introduce skeleton to handle "stat" parameter. (gnumeric_percentile): Fix PERCENTILE. * src/format.c (format_number): Plug leak. 1999-09-20 Jody Goldberg * plugins/{ff-csv, gda, guile, python, sample, text}/Makefile.am : Do not specify private warnings. Use the default set from compiler-flags.m4. * src/cell.h (cell_deep_thaw_dependencies, cell_deep_freeze_dependencies) : Remove non-existant prototypes. 1999-09-19 Jukka-Pekka Iivonen * src/functions/fn-stat.c: Implemented PERCENTILE() function. 1999-09-19 Jody Goldberg * src/value.c (value_release) : Releasing value_terminate should not generate an error. * src/sheet-object-container.h : Add include . 1999-09-18 Jody Goldberg * src/sheet-object.h : Make SheetObjectType names constistant with SheetModeType names, and add GRAPHIC, BUTTON, and CHECKBOX. * plugins/html/epsf.c (epsf_write_wb) : RECTANGLE -> BOX. ELLIPSE -> OVAL. * src/sheet-object.c (create_object) : Ditto. * src/xml-io.c (xml_read_sheet_object) : Ditto. 1999-09-18 Miguel de Icaza * src/dialogs/dialog-simple-input.c (dialog_get_sheet_name): use dialog_run_and_close here. (dialog_get_number): ditto. * src/format.c (format_add_thousand, format_remove_decimal, format_add_decimal): New routines. (format_number): Fixed bug in 'E', 'e' handler (format was incremented twice). * src/workbook-cmd-format.c: Hook up the add/remove decimal and add thousand actions. * src/sheet.c (range_is_homogeneous): Do not value_release a value terminate. * src/workbook-cmd-format.c (do_apply_style_to_selection): set sheet dirty. (workbook_cmd_format_column_auto_fit): ditto. (workbook_cmd_format_column_width): ditto. (workbook_cmd_format_row_auto_fit): ditto. (workbook_cmd_format_row_height): ditto. * src/workbook.c (workbook_rename_sheet): dirty sheet. 1999-09-19 Michael Meeks * src/workbook.c (about_cmd): make static. * src/sheet-object-container.c (sheet_object_container_load): fix return value. * src/workbook.c (create_format_toolbar): cast to widget not entry. 1999-09-19 Morten Welinder * src/functions/fn-stat.c (callback_function_make_list): Static. (init_make_list_closure): Static. * src/expr.c (eval_expr_real): Static. * src/functions/fn-math.c (gnumeric_sum): Static. (gnumeric_suma): Static. * src/analysis-tools.c (covariance_tool): Plug leak. (descriptive_stat_tool): Plug leak. (correlation_tool): Plug leak. (ranking_tool): Plug leak. (anova_single_factor_tool): Plug leak. (sampling_tool): Don't read past array. * src/sheet.c (sheet_destroy): Plug leak. * src/dialogs/dialog-cell-sort.c (dialog_cell_sort): Plug leak. 1999-09-18 Jody Goldberg * src/sheet.c (range_is_homogeneous) : Ignore results from sheet_cell_foreach_range it will always be NULL or value_terminate. Neither need to be freed. * src/value.c (value_release) : Re-enable test to avoid releasing value_terminate. 1999-09-17 Miguel de Icaza * src/sheet.c (sheet_row_size_fit): fetch row information, not column information. Fix the routine. * src/workbook-cmd-format.c (workbook_cmd_format_column_auto_fit): (workbook_cmd_format_column_width): (workbook_cmd_format_row_auto_fit): (workbook_cmd_format_row_height): Fix the range being scanned to be inclusive. 1999-09-17 Jody Goldberg * samples/operator.xls : Updated to be robust in the face of errors, and to use epsilon comparisons for the artihmetic comparisons. 1999-09-18 Morten Welinder * gnumeric.spec.in (Requires): Update libglade version. * src/dialogs/dialog-printer-setup.c (do_hf_config): Plug leaks. * src/sheet.c (zoom_cell_style): Plug leak. * src/functions/fn-date.c (get_serial_time): Be defensive. * src/expr.c (eval_expr_real): For integer 0^0, return #NUM!. (eval_expr_real): Adjust float power error check to match the integer one. * src/style.c (style_new): Silence. * src/sheet.c (sheet_update_controls): Initialize all closure members. 1999-09-17 Michael Meeks * src/dialogs/dialog-summary.c (dialog_summary_update): Change to workbook argument, and reparent to toplevel. * src/dialogs/dialogs.h: ditto. * src/workbook.c (summary_cmd): ditto. 1999-09-17 Miguel de Icaza * src/widgets/gnumeric-toolbar.c (gnumeric_toolbar_class_init): typo fix. 1999-09-17 Miguel de Icaza * src/widgets/gnumeric-toolbar.c (gnumeric_toolbar_class_init): Parent class is GtkToolbar, not itself. 1999-09-17 Miguel de Icaza * src/workbook.c (create_format_toolbar): Make the size of the entry line onloy fit four zeros. (workbook_feedback_set): set the font even if no cached value exists. 1999-09-17 Jukka-Pekka Iivonen * src/workbook.c: Added ``Delete...'' entry to ``Edit'' menu. 1999-09-17 Miguel de Icaza * src/workbook-cmd.c: New file. Moved a bunch of commands here, and move to be moved. Implemented the set money format; Implemented the percent formt. 1999-09-16 Miguel de Icaza * src/sheet.c (sheet_update_controls, cell_is_homogeneous): Include checks for font name and font size. * src/dialogs/dialog-printer-setup.c (dialog_printer_setup): Add call to gnome_dialog_set_parent here. * src/dialogs/tools.h: New file, moved here all the tools declarations. Please, try to keep indentation for public functions as the rest of the Gnumeric ones. * src/workbook.c: Enable comands Format/Column, Format/Row and Format/Sheet. (create_format_toolbar): Add font selector toolbar widget. (change_font_in_selection_cmd): New routine. Applies a font to a selection in the workbook. (workbook_feedback_set): Upgraded feedback interface * src/sheet-view.c (sheet_view_row_size_changed): There is no need to call gnumeric_compute_visible_ranges, the sheet_row_set_height code does this. * src/item-bar.c (item_bar_event): Support also row-autosizing. * src/sheet.c (sheet_col_size_fit): Add this routine. (sheet_col_set_internal_width): New function. Similar to its counterpart * src/dialogs/dialog-cell-format.c (dialog_cell_format): Change call to g_list_free for sheet_cell_list_free. * src/selection.c (sheet_cell_list_free): New routine. * src/workbook.c: Reworked toolbars again. We now only have 2 toolbars instead of 8 or so. * src/sheet.h (SHEET_MAX_ROWS): New excel supports 64k rows, mimic this. * src/widgets/gnumeric-toolbar.c: Added new file. Handles the Gnumeric toolbars. 1999-09-17 Jody Goldberg * src/sheet.c (sheet_col_get_unit_distance, sheet_row_get_distance sheet_row_get_unit_distance sheet_col_get_unit_distance) : Constification. (sheet_init_default_styles) : Make the default row/col size match excel more closely. 1999-09-16 Michael Meeks * src/func.c (functions_init): Remove misc_init. * src/functions/fn-misc.c: Removed, empty & redundant. * src/functions/Makefile.am: remove fn-misc.c * src/func.h: ditto. * src/sheet-object-container.c (sheet_object_container_load): Implement cleaner & simpler load method * NEWS (Michael): doh, move it into the correct version. 1999-09-16 Michael Meeks * src/print.c (sheet_print): Update to use gnumeric_porinter_dialog_run. (print_job_info_get): Add range parameter. * src/dialogs/Makefile.am (libdialogs_a_SOURCES): Added dialog-printer.[ch] * src/dialogs/dialog-printer.[ch]: New thin wrapper of GnomePrinterDialog to handle sheet selection. * src/sheet-object-container.c (sheet_object_container_land): Add comments about what needs doing. * src/sheet-object.c (sheet_object_event): renamed. Updated various SheetObject var names to 'so'. 1999-09-15 Michael Meeks * src/sheet-object-container.c (sheet_object_container_land): Cleaned debug, improved sizing logic. 1999-09-16 Jody Goldberg * src/ranges.c (range_dump) : Typo. * src/selection.c (selection_to_list) : rename from sheet_selection_to_list and add allow_intersection parameter. (selection_to_string) : rename from sheet_selection_to_string and use selection_apply. * src/dialogs/dialog-cell-format.c (dialog_cell_format) : Adjust to changes in selection_to_list. 1999-09-15 Morten Welinder * src/sheet.c (cell_is_homogeneous): Always return a value. * src/ranges.c (range_dump): Fix destination. * src/selection.c (selection_apply): Plug leak. 1999-09-15 Michael Meeks * src/sheet-object.c (window_to_world): Remove. (sheet_motion_notify, sheet_button_release, sheet_object_drop_file): clean to use gnome_canvas_window_to_world. * src/sheet-view.c (sheet_view_construct, (filenames_dropped): move * src/gnumeric-sheet.c (gnumeric_sheet_filenames_dropped), (gnumeric_sheet_new): to here + rename; makes more sense. * src/sheet-object.c (sheet_object_drop_file): Take a GnumericSheet. * src/parser.y (array_row:): Manged to support wierd MS style array semantics some people get {1\2\3;4\5\6} instead of {1,2,3;4,5,6}. * src/workbook.c (workbook_file_toolbar): Remove duplicate print icon. * src/pixmaps/preview.xpm: Stop gap icon; improved. * src/xml-io.c (xml_get_print_hf): Remove redundant precondition. 1999-09-14 Miguel de Icaza * src/workbook.c: Split toolbars into mulitple toolbars; Add a private field to Workbook structure. Change the toolbar setup to have multiple dock-items. * src/format.c: Initialize this to NULL. * src/print-info.c (load_formats): Memory leak fix. * src/xml-io.c (xml_read_summary): Fixed memory leak. 1999-09-14 Morten Welinder * src/dialogs/dialog-analysis-tools.c (tools): Make static. * src/print-info.c (load_formats): Plug leak. * src/functions/fn-eng.c (eng_functions_init): Arg fix. * src/functions/fn-string.c (string_functions_init): Ditto. * src/functions/fn-stat.c (stat_functions_init): Ditto. * src/functions/fn-sheet.c (sheet_functions_init): Ditto. * src/functions/fn-misc.c (misc_functions_init): Ditto. * src/functions/fn-math.c (math_functions_init): Ditto. * src/functions/fn-lookup.c (lookup_functions_init): Ditto. * src/functions/fn-logical.c (logical_functions_init): Ditto. * src/functions/fn-information.c (information_functions_init): Ditto. * src/functions/fn-financial.c (finance_functions_init): Ditto. * src/value.c (value_terminate): Ditto. * gnumeric.spec.in (Requires): Update gnome-print dependency. 1999-09-14 Karl Eichwalder * src/workbook.c: The "import" item needs dots; it opens a dialog. * DEPENDS: Add gnome-print. * README: Increase gnome-print version (0.6); not sure, whether other version numbers are to be increased, too. Fix typos; small prettifications. 1999-09-13 Jody Goldberg * src/ranges.c (range_dump) : Improve format. * src/workbook.c (deps_output) : The selection can be a region. * src/dialogs/dialog-cell-sort.c (dialog_cell_sor) : sheet_selection_first_range returns a range. * src/print.c (sheet_print_selection) : Ditto. * src/selection.c (sheet_selection_first_range) : Simplify and move closer to to sheet_verify_selection_simple. * src/workbook.c (insert_cols_cmd, insert_cols_cmd) : Handle sheet_verify_selection_simple rename to selection_is_simple. * src/sheet.c (sheet_update_controls) : Use selection_apply rather than sheet_selection_to_list which is expensive. (sheet_col_selection_type, sheet_row_selection_type) : Constification. 1999-09-13 Michael Meeks * src/parser.y (forget_array): Created. exp: added array_row, array_exp, array_cols: created. (build_array): Implemented. (v_forget): added. * src/value.c (value_release): Update Array to only free if != NULL. * src/functions/fn-lookup.c (lookup_functions_init): add index. (gnumeric_index): Ghastly placeholder; we need more core functionality. (gnumeric_lookup): remove redundant value_duplicate fixing leak. (gnumeric_match): Implement as far as it goes. * src/workbook.c (workbook_delete_event): Nail fatal bug in #define for bonobo. * src/dialogs/dialog-printer-setup.c (dialog_print_info_new): Moved things into constructor and out of (dialog_printer_setup). (unit_changed): actually update the margin UnitInfo's value... * src/xml-io.c (xml_read_print_info, xml_write_print_info, xml_get_print_hf), (xml_set_print_hf): Header / footer, paper size writing. 1999-09-13 Karl Eichwalder * src/dialogs/hf-config.glade: Add missing `:'. Is this the right place to fix this kind of a bug? * src/dialogs/hf-config.glade.h (N_): Ditto (I don't know how to autogenerate this file). 1999-09-13 Jukka-Pekka Iivonen * src/functions/fn-misc.c, src/functions/fn-information.c: Moved the error functions to information functions file. * src/functions/fn-math.c, src/function/fn-lookup.c: Moved TRANSPOSE to lookup functions file. * src/functions/fn-stat.c: Added more examples. * src/dialogs/dialog-analysis-tools.c: Bug fix. Pressing ESC key means CANCEL now in the subdialogs. 1999-09-13 Michael Meeks * src/dialogs/dialog-printer-setup.c (do_setup_page_info): Fix initial display of icon: lr/td first. * src/xml-io.c (xml_sheet_read, xml_sheet_write): Add print info R/W. 1999-09-12 Michael Meeks * src/print-info.h: UnitName typo corrected. * src/dialogs/dialog-printer-setup.c (convert_to_mm, unit_editor_new): ditto. * src/xml-io.c (xml_read_print_info, xml_write_print_info): Implemented. (xml_read_summary): Cleaned preconditions to make Miguel happy. * src/print-preview.c (preview_destroyed, print_preview_new): Attach signal to the workbook and warn. * src/print.c (sheet_print): Remove redundant print_context_close_file. * src/embeddable-grid.c (grid_view_new): NULL a pointer. 1999-09-12 Michael Meeks * src/embeddable-grid.c (grid_view_activate): Hack to cope with new private Bonobo plug, just emit a warning. (grid_view_new): similarly hacked. * src/eval.c: Include ranges.h * src/selection.c (sheet_selection_first_range): Remove unused and cryptic base_col / base_row. * src/dialogs/dialog-cell-sort.c (dialog_cell_sort): remove base stuff. * src/workbook.c (print_setup_cmd, file_print_cmd), (file_print_preview_cmd): New print stuff. (deps_output): update to new first_range. * src/print-preview.c (print_preview_new): More wb->sheet. (sheet_destroyed): Renamed, (create_preview_canvas, render_page), (preview_file_print_cmd, create_toplevel): wb->sheet. include print.h (preview_file_print_cmd): Add active_sheet. (create_toplevel): Update name calc + add preconditions. * src/print-preview.h: update prototype + add _context proto. * src/print.c (print_job_info_get): more wb->sheet. (printjob_init_sheet): split out. (sheet_print_selection): implement. * src/sheet.c (sheet_new, sheet_destroy): Add print info bits. * src/workbook.c (workbook_do_destroy, workbook_init): Clean print-info bits. * src/dialogs/dialog-printer-setup.c (dialog_print_info_t): convert workbook -> sheet (do_print_preview_cb, do_print_cb), (dialog_print_info_new, dialog_printer_setup): ditto. (do_setup_main_dialog): preconditions. * src/dialogs/dialogs.h: Change prototype. * src/print.c (workbook_print): Implemented PRINT_ACTIVE_SHEETS, added default_range paramter: use for now; renamed (sheet_print) (print_sheet): preconditions (sheet_print_selection): renamed. * src/print.h (workbook_print): Move PrintRange enum here & re-name. 1999-09-11 Miguel de Icaza * src/workbook.c (workbook_delete_event): Fix the delete_event setup. 1999-09-11 Jody Goldberg * src/sheet-object-widget.c (sheet_object_widget_update_bounds) : Don't zoom coords sheet_object_get_bounds takes care of that for us. * src/sheet-object-container.c (sheet_object_container_update_bounds) : Ditto. * src/sheet-object-graphic.c (sheet_object_filled_update_bounds) : Ditto, renamed from sheet_object_filled_update to be more consistant. 1999-09-10 Michael Meeks * src/corba-sheet.c: include selection.h * src/sheet.c: Include ranges.h (sheet_insert_object): remove unused. * src/file.c (workbook_try_read): Remove unused var. (fs_key_event): Sort out return type & cast. * src/selection.c: Add Jody as an author if he isn't going to :-) * src/sheet-object.c: Cheekily do the same for me. 1999-09-10 Miguel de Icaza * src/corba-sheet.c: Updated to the new sheet selection API changes. * src/gnumeric-sheet.c (destroy_item_editor): Removed FIXME comment. More fixing from Federico's talk (gnumeric_sheet_stop_cell_selection): ditto * src/cell.c: Replaced unrefs of windows with destroys. Federico explained a thing or two to me today. * src/file.c (dialog_query_load_file): Added a key handler to handle ESC on dialog boxes to mean cancel. (workbook_save_as): ditto. 1999-09-10 Michael Meeks * src/sheet-object.c (window_to_world): Added debug. * src/widgets/widget-editable-label.c (el_start_editing): * src/workbook.c (sheet_label_text_changed_signal): Return focus to the main sheet when finished. * src/widgets/widget-editable-label.c (el_stop_editing): Convert gtk_object_unrefs to gtk_object_destroy's kills wierd debug. (el_destroy): NULL freed pointer. (el_start_editing): Add vital widget_grab_focus. * src/cursors.h (cursor_set_widget): Use G_STMT_* in macros. * src/workbook.c (workbook_can_close): Add forward definition. (workbook_new): Update sizing algo. to fit to the screen better. * src/main.c (gnumeric_main): Process gtk draw events between loading files, can't slow us down and looks lots better ! 1999-09-10 Jukka-Pekka Iivonen * src/functions/fn-*: Added tons of examples to help strings. 1999-09-09 Michael Meeks * src/sheet-object.c (sheet_button_release), sheet_motion_notify), (sheet_object_set_bounds): Fix for arrows. 1999-09-09 Michael Meeks * src/workbook.c (workbook_delete_event): Fix object_unref for Bonobo case. (workbook_widget_delete_event): remove strange unref, this needs looking at. * src/sheet-object.c (sheet_view_object_unrealize, sheet_object_destroy), (sheet_object_destroy_control_points): Changed _unref to _destroy nailing scads of warnings. * src/sheet-object-container.c (sheet_object_container_destroy_views): ditto. * src/sheet-object-container.c (sheet_object_container_land): Get auto sizing working. * src/sheet-object*.[ch]: Large overhaul, extensively re-wrote signal handling, and state passing. Generic object 'bounds' is now stored in sheet-object, and accessed via access procedures. Homegenized naming, Drasticaly simplified re-sizing modes. * src/sheet-view.c: Include selection.h to kill warnings. * src/sheet-object.c (sheet_object_get_bounds): Created. (sheet_view_object_unrealize): Fix the same list manipulation bug ( it gets everywhere ). 1999-09-09 Jukka-Pekka Iivonen * src/functions/fn-*: Started adding examples to all functions. 1999-09-08 Jody Goldberg * src/*.c : Have Range use CellPos, and SheetSelection use Range. * src/functions/fn-sheet.c (gnumeric_selection) : Switch to selection_apply. * src/sheet.c (sheet_set_selection) : Keep GNUMERIC_SHEET_VIEW local to sheet.c * src/selection.c (sheet_selection_change, selection_append_range, sheet_selection_extend_to) : Use sheet_set_selection. * src/dialogs/dialog-cell-format.c (apply_font_format, cell_properties_apply) : adjust to changes in SheetSelection. * src/functions/fn-sheet.c (gnumeric_selection) : Switch to selection_apply. * src/gnumeric-util.c (range_contains) : Ditto. Const. * src/selection.c (sheet_selection_clear, sheet_selection_clear_comments, sheet_selection_clear_content, sheet_selection_clear_formats) : Use selection_apply. (selection_apply) : New function abstracting selections enabling correct support for overlapping selection regions. (sheet_selection_to_list) : Use selection_apply. * src/value.c (value_new_array_empty) : New function. 1999-09-08 Michael Meeks * src/sheet-object.c (control_point_handle_event): substantialy re-written, same bugs :-), fix tommorow.; added range clipping. * src/sheet-object-container.c (sheet_object_container_land): Add auto-size placeholder & argument. (sheet_object_container_destroy): gnome_object_destroy instead of gtk_object_destroy. * src/sheet-object.c (sheet_object_drop_file): remove duff realize and debug. Correct gnome_object_destroy to gtk_object_destroy. 1999-09-08 Morten Welinder * gnumeric.desktop: Add Danish translations. 1999-09-08 Jody Goldberg * src/cell.c (cell_get_span) : Support VALUE_EMPTY. 1999-09-08 Michael Meeks * src/sheet-view.c (filenames_dropped, sheet_view_construct): Move D&D activation to here, so we get sensible handling of positions. * src/sheet-object-container.c (user_activation_request_cb): typo. (sheet_object_drop_file): Emit the correct signal to realize, take a SheetView argument, clean 'msg's up. (sheet_object_container_new): Squashed warning. * src/workbook.c (filenames_dropped, workbook_new): Move D&D into sheet-view.c. * src/file.c (workbook_try_read): Split from workbook_read. (workbook_import, workbook_read): Correct casts & updated. * src/dialogs/dialog-function-select.c (function_definition_update), (function_categories_fill): Add casts to get round daft clist_append constification. 1999-09-08 Vincent Renardias * src/dialogs/dialog-analysis-tools.c: A number of displayed strings were not marked as such. * po/fr.po: Updated accordingly. 1999-09-08 Pablo Saratxaga * src/workbook.c: changed "_Comments" to "Co_mments" as there is already "_Content" in the same menu 1999-09-07 Jody Goldberg * src/dialogs/dialog-function-select.c (function_definition_update, function_categories_fill) : Const. 1999-09-07 Miguel de Icaza * src/workbook.c: Remove sample button from the toolbar. * src/item-bar.c (item_bar_event): Use the item_bar->resize_pos computed during button press. #2090 fixed 1999-09-07 Morten Welinder * src/print-info.c (save_margin): Terminate the set of strings to concatenate. * src/dialogs/dialog-printer-setup.c (do_setup_main_dialog): Plug leak. 1999-09-07 Michael Meeks * src/pixmaps.h: Added button.xpm * src/sheet-object.c (sheet_object_drop_file): Created. * src/workbook.c (filenames_dropped): Move component d&d guts into sheet-object. * src/file.c (workbook_import, workbook_read): Add bonobo_object _destroy if we have bonobo. 1999-09-03 Miguel de Icaza * src/item-grid.c: Code now can draw emtpy cells with the correct style. 1999-09-03 Miguel de Icaza * src/dialogs/dialog-printer-setup.c (draw_margins): Added margin display preview. * src/print-preview.c (preview_zoom_out_cmd): Zoom-in, zoom-out and move are now toggle buttons. * src/workbook.c (italic_cmd, bold_cmd): Simplified the code some. * src/dialogs/dialog-printer-setup.c (do_setup_page_info): Force the icon display here. (preview_page_create): Invert test. (PAGE_X, PAGE_Y): They are now the same values. (do_setup_page): Show the images here. 1999-09-02 Miguel de Icaza * src/print-preview.c (create_toplevel): Add a toolbar. * src/print.c (compute_groups): Include the margins in the size computation. * src/print-cell.c (print_cell_range): Start printing from the start_row, not from zero. * src/print-preview.c: Change of plans. We now use a metafile, we render all the code there. And then we use the new metafile operations for rendering a specific page. * src/item-cursor.c (item_cursor_autofill_event): Change this to destroy again. 1999-09-01 Miguel de Icaza * src/print-preview.c (print_preview_print_done): Show the first page here. 1999-09-03 Michael Meeks * src/sheet-object-container.c (sheet_object_container_land): Add return type to denote if we created and bound correctly. (sheet_object_container_creation_finished): Add warning on failure. (get_file_name): Kill warning. 1999-09-01 Michael Meeks * src/sheet-object-container.c (sheet_object_container_land): Add optional file argument and document. (sheet_object_container_creation_finished): update call's args. * src/sheet-object.h: Removed redundant sheet_object_register. * src/workbook.c (filenames_dropped): Hacked. 1999-09-07 Miguel de Icaza * src/item-bar.c (item_bar_event): Use the item_bar->resize_pos computed during button press. #2090 fixed 1999-09-07 Miguel de Icaza * src/format.c (format_number): "\" is an escape character for the next character on the format. 1999-09-07 Morten Welinder * src/mathfunc.h: Make up for deficient header files. * src/cursors.c (create_bitmap_and_mask_from_xpm): Fix bitmap loading. This code isn't exactly elegant. 1999-09-06 Jody Goldberg * src/sheet-view.[ch] (sheet_view_scrollbar_config) : Adjust scrollbar increment. Split out from sheet_view_size_allocate. * src/gnumeric-sheet.c (gnumeric_sheet_compute_visible_ranges) : call sheet_view_scrollbar_config, to adjust scrollbar when region changes. 1999-09-05 Miguel de Icaza * src/print-preview.c (preview_canvas_event): Add an event handler for the preview canvas. Make the drag action on MOVE mode move the canvas. (zoom_state): new routine, controls the toolbar widget display. * src/cursors.c: Add new zoom in and zoom out cursors. * src/dialogs/dialog-printer-setup.c (unit_editor_new): One line warning fix. * src/sheet.c (sheet_col_size_fit): Returns the size required to render every cell completely. * src/item-bar.c (item_bar_event): Delay column/row resizing action until the division is actually being dragged. We need this to catch double-clicks for auto-sizing cells. (GDK_2BUTTON_PRESS): * src/dialogs/dialog-cell-format.c (create_background_radio, create_foreground_radio): Set the toggle button to the colored when the color selector has been clicked. * src/item-grid.c (item_grid_draw): Experimental code for drawing empty cells with the correct attributes. Only enabled if you use set gnumeric debugging flag above 1. I do have some issues with selection drawing. 1999-09-05 Richard Hestilow * configure.in: Minor s/For/for library check message fix. 1999-09-03 Miguel de Icaza * src/dialogs/dialog-printer-setup.c (draw_margins): Added margin display preview. * src/print-preview.c (preview_zoom_out_cmd): Zoom-in, zoom-out and move are now toggle buttons. * src/workbook.c (italic_cmd, bold_cmd): Simplified the code some. * src/dialogs/dialog-printer-setup.c (do_setup_page_info): Force the icon display here. (preview_page_create): Invert test. (PAGE_X, PAGE_Y): They are now the same values. (do_setup_page): Show the images here. 1999-09-02 Miguel de Icaza * src/print-preview.c (create_toplevel): Add a toolbar. * src/print.c (compute_groups): Include the margins in the size computation. * src/print-cell.c (print_cell_range): Start printing from the start_row, not from zero. * src/print-preview.c: Change of plans. We now use a metafile, we render all the code there. And then we use the new metafile operations for rendering a specific page. * src/item-cursor.c (item_cursor_autofill_event): Change this to destroy again. 1999-09-01 Miguel de Icaza * src/print-preview.c (print_preview_print_done): Show the first page here. 1999-09-02 Jody Goldberg * src/clipboard.c (clipboard_paste_region) : Check that another workbook has not already freed the selection before releasing. (x_selection_received) : Ditto. (x_clipboard_bind_workbook) : Init clipboard_paste_callback_data. 1999-09-01 Jody Goldberg * src/sheet-object.c (sheet_object_update_coords) : Scale movements by zoom factor. * src/sheet-object-widget.c (sheet_object_widget_update_coords) : Ditto. 1999-09-01 Jody Goldberg * src/sheet.c (sheet_compute_col_row_new_size) : The margin appears to be used for the border used to mark the current cell. This border is not scaled when zoomed. 1999-09-01 Miguel de Icaza * src/file.c (workbook_read): If the file does not exist, create a 1-sheet worbook. * src/print-preview.c: Re-enable zoom in and zoom out after the gnome-print fixes 1999-09-01 Jody Goldberg * src/sheet.c (sheet_move_column, sheet_shift_row, sheet_insert_row, sheet_delete_row, sheet_shift_col) : Don't relocate the expressions. (Bug 2041) 1999-09-01 Pablo Saratxaga * configure.in,po/da.po: added Danish file 1999-08-31 Miguel de Icaza * src/dialogs/dialog-printer-setup.c (do_setup_main_dialog): Enable the print-preview buttons. * configure.in (have_bonobo): Test for gnome-print 0.5 * src/print.c (workbook_print): Adapt to the new gnome-print; Added support for print preview. * src/print-preview.c: New file. Implements the print preview control window. * src/functions/fn-financial.c: Add brace to remove ambiguity 1999-08-31 Jukka-Pekka Iivonen * src/functions/fn-financial.c: Implemented ACCRINT() and DISC(). 1999-08-30 Miguel de Icaza * src/dialogs/dialog-paste-special.c: Typo fix. 1999-08-29 Morten Welinder * src/about.c (dialog_about): Add Ross Ihaka. * src/dialogs/dialog-paste-special.c: Typo. 1999-08-29 Jukka-Pekka Iivonen * src/functions/fn-financial.c: Implemented ACCRINTM(), INTRATE(), RECEIVED(), PRICEDISC(), and PRICEMAT(). * src/func.h, src/functions/fn-date.c: Made get_date public. 1999-08-29 Morten Welinder * src/functions/fn-lookup.c (gnumeric_indirect): Plug leak. * src/format.c (pre_parse_format): Don't overrun string. (format_number): Plug leak. * src/workbook.c (workbook_do_destroy): Typo. 1999-08-28 Miguel de Icaza * src/dialogs/*.glade.h: Make sure every dialog box has updated .glade.h and add glade.h generation to the summary, names and import glade files. 1999-08-28 Karl Eichwalder * gnumeric.desktop: Sort entries. (Name): Add `de'. (Comment): Ditto. * src/dialogs/dialog-zoom.c (dialog_zoom): Help xgettext to recognize the strings as `no-c-format'. * src/formats.c: Ditto. * src/gnumeric-sheet.c: Ditto. 1999-08-27 Karl Eichwalder * src/workbook.c: Typo. * src/workbook.c (sheet_action_delete_sheet): Change messages string. * src/workbook.c (sheet_action_delete_sheet): Ditto. 1999-08-26 Jukka-Pekka Iivonen * src/functions/fn-financial.c: Implemented ISPMT(). 1999-08-25 Jukka-Pekka Iivonen * samples/finfuns.xls: Fixed the test of MIRR. * src/functions/fn-financial.c: Implemented FVSCHEDULE(). 1999-08-24 Jukka-Pekka Iivonen * src/functions/fn-financial.c: Implemented TBILLEQ() and started MIRR(). 1999-08-23 Jukka-Pekka Iivonen * src/functions/fn-financial.c: Implemented TBILLPRICE() and TBILLYIELD(). 1999-08-22 Jukka-Pekka Iivonen * src/dialogs/dialogs-solver.c: Fixed a lot of things, memory leaks and bugs. The backend is still not there (but wait, one of these days it may get there). * src/dialogs/dialogs.h, src/dialogs/dialogs-analysis-tools.c: hbox_pack_label_and_entry made public. * src/collect.[ch], src/functions/fn-financial.c: Removed collect_dates. Added a flag COLLECT_DATES to callback_function_collect instead. 1999-08-22 Miguel de Icaza * src/main.c (gnumeric_main): New Bonobos need to issue the bonobo_activate() call. 1999-08-21 Miguel de Icaza * src/workbook.c (workbook_new_with_sheets): Fixed hardcoded buffer. 1999-08-20 Jukka-Pekka Iivonen * samples/finfuns.xls: Made all the dates to use DATE() function instead of using strings in scandinavian style. 1999-08-20 Jukka-Pekka Iivonen * src/fn-financial.c: Made the last two arguments of PMT and PPMT optional. 1999-08-20 Jukka-Pekka Iivonen * src/fn-financial.c: DDB() implemented. * src/fn-stat.c: QUARTILE() implemented. 1999-08-20 Jukka-Pekka Iivonen * po/de.po: Removed the last bogus msgid to make it compile again. * src/sheet.c (sheet_insert_object): Added #if ENABLE_BONOBO to make it compile without BONOBO. * src/gnumeric-sheet.c (gnumeric_sheet_drag_data_get): Ditto. * src/collect.[ch]: Wrote collect_dates and collect_dates_value. * src/fn-financial.c: DB() and XNPV() implemented. DOLLARDE() and DOLLARFR() fixed. * src/fn-date.c, src/func.h: get_serial_date made public. * TODO: Killed the four functions above from the todo list. 1999-08-19 Miguel de Icaza * src/workbook.c (workbook_container_get_object): Finish implementing this routine for responding to monikers. (create_graphic_cmd): temporarily bind this to Generic Bonobo object insertion. (cb_sheet_check_dirty): Make the dialog parent be the workbook window. * src/workbook.h (Workbook): Include a GnomeUIHandler. * src/sheet.c (sheet_insert_object): Enable this function again and update it to match the latest Bonobo developments. * src/sheet.h (Sheet): Include a pointer to the active object frame. * src/sheet-object.c (sheet_set_mode_type): Do deactivation of Bonobo frames here. * src/gnumeric-sheet.c (gnumeric_drag_data_get): Beginning of drag and drop support for Bonobo monikers. * src/item-grid.c (drag_start): More DnD support for Gnumeric selections using Monikers. * src/sheet-object-container.c (user_activation_request_cb, view_activated_cb, get_file_name): New routines for dealing with the Bonobo object action in Gnumeric. (sheet_object_container_land): Do object selection here for now. Support both PersistStream and PersistFile * src/sheet-object.c: * src/workbook.c (cb_sheet_check_dirty): Bind the dialog to the main window. 1999-08-20 Michael Meeks * src/cell.c (cell_set_text_simple): Add checks for over/under flow on integer reading... fall back to double values. 1999-08-19 Miguel de Icaza * src/cell.c (cell_content_changed): Ok, Paolo corrected me. This is not what he wanted. 1999-08-16 Michael Meeks * src/fn-lookup.c (gnumeric_indirect): Fix leak Update to use new cellref_*_get functions. * src/parser.y (return_cellref): Use new function. * src/sheet.c (cellref_get): Implemented (cellref_a1_get): Snarf from parser.y :-) (cellref_r1c1_get): Implemented. 1999-08-17 Miguel de Icaza * src/workbook.c (workbook_class_init): Added cell_content_changed signal. (workbook_do_destroy): Do not enable widgets to be focused. * src/cell.c (cell_content_changed): Calls workbook_cell_changed. This is for Paolo and his speech system for GNOME. * configure.in: New bonobo detection code and support for not compiling Bonobo support even if it is present on the system 1999-08-17 Jukka-Pekka Iivonen * samples/statfuns.xls: Updated the tests of LINEST and TREND to cover more possible cases. 1999-08-15 Jody Goldberg * src/format.c (split_time) : Use a integer to avoid problems with rounding when compiling with optimization. Be extra careful to round the result of the initial scaling. * src/sheet-view.c (vertical_scroll_event, horizontal_scroll_event) : Only move and append to the selection if the cursor actually moves. * src/dialog-function-wizard.c (arg_data_list_new) : Constness. * src/expr.c (eval_expr_real) : Add OPER_PERCENT. (do_expr_decode_tree) : Ditto. (expr_dump_tree) : Ditto. * src/expr.h : Ditto. * src/parser.y : Add function build_unary_op, and support exp '%'. Precedence is a GUESS. 1999-08-16 Michael Meeks * src/widget-editable-label.c (el_start_editing): Remove GTK_WIDGET_SET/UNSET_FLAGS (GTK_CAN_FOCUS): broken for scrolling notebooks. (el_stop_editing): ditto. * src/workbook.c (workbook_setup_sheets): remove unset FOCUS on notebook. 1999-08-15 Jukka-Pekka Iivonen * src/fn-stat.c: Implemented TREND (mostly). Made the second argument of LINEST optional. 1999-08-15 Jody Goldberg * src/expr.c (eval_expr_real) : Don't free empty cells in OPER_CONCAT. 1999-08-14 Jody Goldberg * src/clipboard.c (clipboard_release) : Use the original row/col to calculate offsets when pasting cells that relocate references. (clipboard_copy_cell_range) : Handle relocation. * src/expr.c (do_expr_decode_tree) : Duplicate the error message because someone is going to free it. (expr_relocate) : New Function. * src/cell.c (cell_relocate) : Use expr_relocate. (cell_copy) : Don't NULL out the row/col/sheet in the copied cell. It gets reset on entry and is useful information. (paste_cell) : Handle relocate. (clipboard_copy_cell_range) : Ditto. * cell.h : Differentiate CELL_COPY_TYPE_CELL into CELL_COPY_TYPE_CELL_ABSOLUTE or CELL_COPY_TYPE_CELL_RELATIVE, to deal with cut vs paste. * src/sheet-autofill.c : Use cell_relocate to test for out of bounds. 1999-08-14 Jody Goldberg * src/workbook.c (wb_edit_key_pressed) : Support F4 toggling abs/relative. * src/expr.h : Constify FunctionDefinition. * src/fn-information.c : Use 'Red' instead of 'red' to match XL. * src/func.c (function_get_category, fn_def_init, function_add_nodes, function_add_args) : Constify. 1999-08-15 Morten Welinder * src/fn-stat.c (gnumeric_frequency): Fix leak (bin_array). Fix leak (data_cl.entries). Fix leak (bin_cl.entries). Fix leak (floats for data). Fix leak (floats for bins). Fix leak (count). (gnumeric_linest): Simplify. (gnumeric_intercept): Simplify. (gnumeric_slope): Simplify. (gnumeric_forecast): Simplify. * src/collect.c (collect_floats_value): Make non-static. (float_range_function2): Plug leak. * src/Makefile.am (GNUMERIC_BASE_SOURCES): Add regressions.[ch]. * src/style.c (style_font_unref): Fix obsolete warning. 1999-08-12 Kjartan Maraas * src/fn-math.c: Typo fixes. 1999-08-12 Jukka-Pekka Iivonen * src/fn-stat.c: Implemented the simplest case of LINEST() function. 1999-08-12 Jody Goldberg * src/fn-date.c (gnumeric_date) : Fix typo that was moving us 1900 years into the future. * src/formats.c (cell_format_numbers) : Use 'Red' rather than 'red' to match XL better. 1999-08-11 Jody Goldberg * src/gnumeric-sheet.c ( move_cursor_horizontal, move_cursor_vertical, move_horizontal_selection, move_vertical_selection, selection_cursor_move_horizontal, selection_cursor_move_vertical) : selection_expand_horizontal, selection_expand_vertical) : Support Ctrl-Arrow which jumps to the boundaries of non-blank ranges. * src/sheet.c (sheet_find_boundary_vertical, sheet_find_boundary_horizontal) : New functions, to find the start and end of ranges. They also ensure that the corner which was moved stays visible. (sheet_selection_extend_vertical) : Use sheet_find_boundary_vertical. (sheet_selection_extend_horizontal) : Use sheet_find_boundary_horizontal. 1999-08-11 Jukka-Pekka Iivonen * src/fn-string.c: Fixed the rounding of DOLLAR() function. * src/fn-financial.c: Some minor cleaning. * src/func.h: Added prototypes for callback_function_make_list. * src/fn-stat.c: Fixed PROB() function. 1999-08-11 Michael Meeks * plugins/text/text-io.c: Prototypes updated. 1999-08-11 Jukka-Pekka Iivonen * TODO: Updated the remaining work of build-in functions. * src/fn-stat.c: Implemented FREQUENCY(). 1999-08-09 Miguel de Icaza * src/xml-io.c (xml_workbook_write): Handle locale switching here. (xml_workbook_read): Handle locale switching here. * src/file.c: Removed all references to saving and re-setting the locale. This should be handled in the xml-io code. 1999-08-10 Miguel de Icaza * src/workbook.c (workbook_do_destroy): remove g_free from the workbook. We are now a GtkObject. 1999-08-09 Miguel de Icaza * src/xml-io.c (xml_workbook_write): Move the locale setting/resetting here, instead of putting it all over the place. 1999-08-09 * src/xml-io.c (xml_workbook_read): Adjusted to use the new file open convention. * src/file.h: File open methods now take a workbook as an argument instead of creating it themselves. Required for the GNOME::Persist bonobo interfaces. * src/file.c (workbook_read): Fix the workbook creation order to keep the locale correct if the file did not exist. 1999-08-10 Morten Welinder * src/workbook.c (workbook_do_destroy): Don't free the workbook ourselves. 1999-08-10 Jukka-Pekka Iivonen * samples/statfuns.xls: Updated the tests of functions returning array values. * samples/dbfuns.xls: Added a test for GETPIVOTDATA function. Also added a very simple pivot table. 1999-08-10 Michael Meeks * TODO, DEPENDS, doc/Future-Roadmap, doc/Design: Updated, and added short plugin design section. * doc/saving.txt: Added short section on Summary Information. 1999-08-10 Jukka-Pekka Iivonen * src/fn-math.c: Finished ROMAN(). Gnumeric now supports all the 60 mathematical functions of Excel 2000. 1999-08-10 Jukka-Pekka Iivonen * src/fn-math.c: Added MDETERM(). 1999-08-09 Michael Meeks * src/workbook.c (workbook_class_init): Moved hack to workbook.h, and removed comment. 1999-08-09 Jukka-Pekka Iivonen * src/fn-math.c: Added MINVERSE(). 1999-08-09 Michael Meeks * src/sheet.c (sheet_cell_add): Optimise by checking last element of the list for a simple append before calling g_list_insert_sorted. CRowSort took up way too much time in my profile :-). [ This fix is quite temporary ] * src/workbook.c (workbook_init): Conditionaly compile bonobo specific code. (workbook_class_init): Grotesque hack so it compiles. 1999-08-08 Jacob Berkman * src/workbook.c: use smaller menu stock icon instead of large one 1999-08-06 Miguel de Icaza * src/xml-io.c (xml_write_summary): I think this is the correct fix. We should not add childs if no summary info is available. * src/corba-sheet.c (Sheet_cell_set_font): Use the standard procedure to set the font. * src/cell.c: deleted finally cell_set_font. * src/workbook.c: Reorganization to make the code be a GtkObject. Redone the destruction bits of the Workbook. * src/workbook.h: Split sheet.h into workbook.h and sheet.h * src/workbook.h: Now the Workbook is a GtkObject or a GnomeObject, depending on the compilation flags. 1999-08-05 Morten Welinder * src/dialog-printer-setup.c (dialog_print_info_destroy): Plug leaks. * src/print-info.c (hf_format_render): Plug leak. (render_opcode): Constify. * src/item-cursor.c (item_cursor_autofill_event): Don't unref, but destroy. We no longer own the ref. 1999-08-05 Michael Meeks * src/file.c (workbook_import): Fix control flow to have 1 return. fix leak. 1999-08-05 Jody Goldberg * src/func.c (function_get_category) : Lookup/store in sorted list. 1999-08-05 Morten Welinder * src/cell.c (cell_set_font): Obsolete -- #if 0 for now. * src/cell.h: Remove now-static cell_formula_changed, calc_text_dimensions, and cell_set_font. * src/dialog-analysis-tools.c (add_output_frame): Plug leak. 1999-08-05 Michael Meeks * src/file.c (workbook_import): Major hacks to get round quirks in libglade. * src/import.glade: Add label to the container. 1999-08-04 Miguel de Icaza * src/cell.c (calc_text_dimensions): Made static. (queue_cell): Killed dependency_deep_frozen routines, this was archaic code. (cell_formula_changed): Made static. * src/sheet-autofill.c (autofill_register_list): Make static. 1999-08-03 Michael Meeks * src/workbook.c (workbook_setup_edit_area): Removed function wizard. 1999-08-03 Miguel de Icaza * src/corba-sheet.c (fill_corba_value): Corrected the argument here. 1999-08-03 Jody Goldberg * src/plugin.h (struct) : 'private' is a C++ keyword. * src/sheet.h : Add GHashTable *dependency_hash to sheet. * src/sheet.c (sheet_destroy) : Clear dependency_hash. * src/eval.c (dependency_hash_init) : dependency_hash sheet specific. (add_cell_range_dep) : Ditto. (cell_add_dependencies) : Ditto. (cell_drop_dependencies) : Ditto. (region_get_dependencies) : Ditto. (cell_get_dependencies) : Ditto. (add_cell_range_dep) : Increment ref_count AFTER looking for duplicates. * src/workbook.c (workbook_do_destroy) : Add some debugging code to catch dangling dependancies. 1999-07-27 Miguel de Icaza * src/corba-workbook-factory.c (WorkbookFactory_read): Duplicate CORBA Object server here. (WorkbookFactory_create_object): and here. 1999-08-03 Robert Brady * gnumeric.spec.in, README: require gnome-print 0.3 or greater. (BUGFIX #1829) 1999-08-02 Morten Welinder * src/expr.c (eval_expr_real): Handle integer operations more carefully with respect to overflow. * src/cell.c (cell_cleanout): Don't unlink unless there is a sheet to unlink from. * src/collect.c (float_range_function2): Actually call the right function. (collect_floats_value): Fix type of result. * src/mathfunc.c (range_rsq_pop, range_rsq_est): New functions. * src/fn-stat.c (gnumeric_pearson): Simplify. (gnumeric_rsq): Simplify. 1999-08-02 Jody Goldberg * src/fn-information.c (gnumeric_n) : Fix boolean support. * src/corba-sheet.c: Correct previous typo. 1999-08-02 Elliot Lee * gnumeric.spec.in: Fix the .spec file to include correct documentation pieces. * doc/C/Makefile.am: Work with builddir != srcdir * plugins/lotus-123/Makefile.am: boot.h not needed. lotus-types.h is. * plugins/xbase/Makefile.am: boot.h not needed. * po/Makefile.in.in: v3 * src/corba-sheet.c: Use a compilable thing for error string. 1999-08-02 Morten Welinder * src/expr.c (eval_expr_real): Plug leak... 1999-08-02 Jody Goldberg * src/expr.c (eval_expr_real): Fix bool <-> number comparisons to match excel approach. TRUE&FALSE > numbers. * src/item-bar.c (item_bar_event) : Button3 should select the current row/col before bringing up the edit menu. * src/sheet.c (sheet_cell_foreach_range) : return NULL not FALSE on precondition failure. * src/value.[ch] : Add value_area_foreach * src/fn-date.c (gnumeric_networkdays) : Correct the modulo for weekends and add support for holidays via value_area_foreach. * src/sheet.c : Correct some documentation 1999-08-01 Jody Goldberg * samples/operator.xls : Test workbook for operators. * src/Gnumeric.idl : Add VALUE_ERROR, VALUE_BOOLEAN, VALUE_EMPTY in a few more places * src/fn-lookup.c : Ditto. * src/fn-math.c : Ditto. * src/fn-stat.c : Ditto. * src/fn-string.c : Ditto. * src/dialog-cell-sort.c : Ditto. * src/corba-sheet.c : Ditto. * src/fn-eng.c : Support VALUE_BOOLEAN and simplify comparison logic in DELTA and GESTEP. * src/expr.c (compare_bool_bool) : New function. (compare_int_int, compare_float_float) : Take (Value *) and do cast internally. (is_null_string) : Rename to value_is_empty_cell, support VALUE_EMPTY. and move to src/value.c. (compare) : Rework to bring into closer compliance with XL. (expr_eval_real) : Ditto, replace 'Type [Mm]ismatch' with '#!VALUE'. use eval_expr rather than eval_expr_real for arithmetic binary operators. Use value_get_as_float rather than value_cast_to_float. (eval_expr) : Remap 'VALUE_EMPTY' to int(0) * src/value.h : Adjust enumeration so that BOOLEAN < INTEGER < FLOAT remove value_cast_to_float * src/value.c (value_get_as_*) : Support NULL values. (value_cast_to_float) : Remove. * src/sheet.c (sheet_cell_formula_unlink) : Add precondition to handle problems using deleted cells. 1999-08-01 Morten Welinder * src/fn-stat.c (gnumeric_covar, gnumeric_correl): Simplify using range functions. * src/workbook.c (file_open_cmd): Plug leak. * src/mathfunc.c (range_covar, range_correl_pop, range_correl_est): New functions. * src/collect.c (collect_floats_value, float_range_function2): New functions. 1999-08-01 Michael Meeks * src/workbook.c (workbook_setup_sheets): Added comment about making workbook sheets' notebooks scrollable. * src/fn-database.c (gnumeric_dmin, gnumeric_dmax, gnumeric_daverage): Only use the value if it is a number. (find_column_of_field): Use g_strcasecmp instead of strcmp. (criteria_test_equal, unequal): ditto; test this. * src/fn-information.c (gnumeric_cell): Changed broken cell_fetch's to cell_gets. 1999-08-01 Jody Goldberg * src/fn-date.c (get_serial_date): Constify. Improve handling of date_serial 0. (gnumeric_networkdays): Add partial implementation. (MW: turned off.) * src/eval.c (add_value_deps): Handle empty value. * src/collect.c (callback_function_collect): Ignore empty values. * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Support moving through the sheets. * src/Gnumeric.idl : Add VALUE_ERROR, VALUE_BOOLEAN, VALUE_EMPTY in a few more places. * src/corba-sheet.c : Ditto. * src/value.c (value_new_empty): New function. (value_dump, value_copy_to, value_get_as_bool, value_get_as_string, value_get_as_int, value_get_as_float): Handle empty value. 1999-08-01 Morten Welinder * src/expr-name.c (expr_name_add): Fix bogus check. (expr_name_remove): Abort until someone fixes this. * src/style.c (style_font_unref): Unref the font. * src/expr.c (eval_expr_real): Fix OPER_CONCAT case. From Jody. * src/value.c (value_cast_to_float): FMR fix from Jody. 1999-08-01 Manish Vachharajani * src/sheet-object-container.c: fix reference to gnome_client_site_bind_bonobo_object to read gnome_client_site_bind_embeddable 1999-08-01 * src/workbook.c: move the about-entry lower to make it more consistent with the rest of GNOME. 1999-08-01 Morten Welinder * src/format.c (format_number): YAL -- yet another leak. * src/fn-string.c (gnumeric_text): Plug leak. * src/expr.c (do_expr_tree_unref): Plug array value leak. * src/cell.c (cell_set_array_formula): Unref the wrappers so we don't leak a reference. * src/fn-math.c (gnumeric_countif): Initialise total_num member. 1999-07-31 Morten Welinder * src/fn-database.c (free_criterias): Plug massive leak. (parse_database_criteria): Plug leak. (parse_criteria): Constify. (find_column_of_field): Plug leak. (parse_database_criteria): Plug leak. (gnumeric_dproduct): Plug leak. (gnumeric_dvar): Plug leak. (gnumeric_dmin): Plug leak. (find_column_of_field): Plug leak. * src/fn-math.c (gnumeric_seriessum): Plug leak. (gnumeric_subtotal): Plug leak. * src/fn-lookup.c (gnumeric_address): Fix memory corruption. 1999-07-31 Robert Meeks * src/fn-information.c (translate_table): Populated. 1999-07-31 Michael Meeks * src/fn-information.c (gnumeric_cell): Implemented col, row, address, contents. Start of format. (translate_cell_format): Start of format translation. 1999-07-31 Morten Welinder * src/fn-logical.c (gnumeric_if): Fix case of first argument yielding an error. * src/expr.c (expr_dump_tree): Constify. * src/func.c (function_iterate_do_value): Fix behaviour of strict functions. * src/expr.c (do_expr_tree_invalidate_references): Handle VALUE_BOOLEAN and VALUE_ERROR. (eval_expr_real): Make comparisons strict. * src/summary.c (summary_info_free): Fix leak. (summary_item_free): Fix leak. * src/fn-misc.c (gnumeric_iserror): Fix leak. (gnumeric_error_type): Fix leaks. (gnumeric_isna): Fix leak. (gnumeric_iserr): Fix leak. * src/fn-information.c (get_value_class): Fix leak. 1999-07-31 Michael Meeks * src/fn-information.c (gnumeric_isref): Implemented. 1999-07-30 James Youngman * src/fn-eng.c (gnumeric_besseli): Implemented. (gnumeric_besselk): Implemented. (eng_functions_init): Add relevant inits. Include mathfunc.h 1999-07-30 Morten Welinder * src/cell.c (cell_cleanout): New function. (cell_set_formula): Don't bother with CELL_ERROR. Set value field in all cases. (cell_set_array_formula): Set cell values. (cell_set_value_simple): Simplify using cell_cleanout. (cell_set_text_simple): Ditto. (cell_set_formula_tree_simple): Ditto. (cell_destroy): Ditto. (cell_get_text): Simplify. (cell_get_content): Ditto. * src/eval.c (cell_eval): Reorganise slightly. * src/expr.c (eval_expr_real): value should no longer be null. * src/cell.h (CELL_ERROR): Obsolete. * src/print-info.h (hf_formats): Make extern. * src/summary.h (summary_item_name): Make extern. 1999-07-29 Michael Meeks * src/cell.c (cell_set_text_simple): Chomp whitespace off the end of integers ( other spreadsheets do this ). 1999-07-28 Michael Meeks * src/summary.c: Update, was out of step with the header. 1999-07-28 Michael Meeks * src/item-grid.h: Added border_gc[BORDER_MAX] to ItemGrid. * src/item-grid.c (item_grid_draw_cell): Border rendering code. Make rendering conditional on debug - this looks awful. (item_grid_realize): ditto + struct of types in style_border_data. (item_grid_unrealize): clean up after myself. 1999-07-27 Jody Goldberg * src/fn-date.c : Add EOMONTH, and partial WORKDAY. * src/formats.c : Add more date formats. * src/fn-math.c (gnumeric_transpose) : no need for an array if the input is a singleton. * src/expr.c : Add comment explaining the need for a re-org to correctly handle implicit intersetion vs arrays with operators. Move all value_* functions into. * src/value.c : Here. * src/func.c : Move const value initialization into value.c. * src/clipboard.c (clipboard_prepend_cell) : Return Value * as per change to VALUE_ERROR. * src/style.h : Add STYLE_ORIENT_MAX to remove ugly magic number that will change when we add support for diagonals. * src/print-cell.c (print_cell_border, print_border) : Use enum rather than hard coding the number of border types. * TODO : Add implicit intersection for operators. 1999-07-25 Jody Goldberg * plugins/guile/plugin.c, plugins/python/python.c src/{Makefile.am, cell.[ch], collect.[ch], eval.c, expr-name.c, expr.[ch], fn-database.c, fn-date.c, fn-eng.c, fn-financial.c, fn-information.c, fn-logical.c, fn-lookup.c, fn-math.c, fn-misc.c, fn-sheet.c, fn-stat.c, fn-string.c, format.c, func.[ch], sheet-object-container.c, sheet.[ch]} : Add VALUE_ERROR, VALUE_BOOLEAN, Change many signatures to return Value for errors. * icons/chart_*.png : Add Some images in preparation for re-enabling the graph wizard. * src/expr.c (eval_funcall) : When a single row or column is passed to a function expecting a single value, take the intersection of the evaluation position and the range. (cell_ref_get_abs_col, cell_ref_get_abs_row) : New functions. * src/value.[ch] : New files with Value support routines split out from expr.[ch] 1999-07-26 Michael Meeks * src/corba-sheet.c (fill_corba_value): Remove redundant Sheet * from cellref_name. 1999-07-26 Michael Meeks * src/xml-io.c (xml_read_cell): Commented out freeze/thaw deps. * src/cell.c (cell_deep_freeze_dependencies): Added warning not to use: strangely it doesn't work... investigate later. 1999-07-25 Michael Meeks * src/xml-io.c (xml_read_cell): Add freeze/thaw dependencies, and fix exit condition to restore state to correct coolness. * src/cell.h: Added prototypes. * src/cell.c (cell_content_changed, cell_formula_changed): (cell_deep_thaw_dependencies, cell_deep_freeze_dependencies): Added optimisation for load/save stuff. 1999-07-25 Michael Meeks * src/xml-io.c (xml_read_summary): Fix some massive cock-ups, how did this ever work. (xml_read_names): ditto. (xml_workbook_read): Shifted read_names down to where we actualy have the inter-sheet reference names in place. * src/expr.c (expr_tree_invalidate_references): Debugging that needs cleaning to new PP stuff #if-def'd out. (expr_tree_fixup_references): ditto. * src/xml-io.c (xml_write_names, xml_read_names): Implemented (xml_workbook_write, xml_workbook_read): Hooks added, but reading disabled: something dodgy somewhere. * src/sheet.c (sheet_lookup_by_name): Fixed to use simply a Workbook pointer. * src/workbook.c (workbook_set_auto_expr): Fix old hack using new PP stuff. * src/sheet.c (sheet_fill_selection_with): Updated to new PP code. * src/parser.y (gnumeric_expr_parser): Updated to new PP code, removed redundant and nasty _unsafe_expr_parser hack. Essentialy nothing new, but removes daft parser_sheet and replaces with parser_workbook, leaving sheet stuff to the evaluation stage. * src/dialog-define-names.c: Major fixups, killed obscure bug cause by freeing a copy of a list I passed to gtk_list_append_items. * src/expr.c (expr_parse_string, do_expr_decode_tree): (expr_decode_tree): Updated to new * src/expr-name.c (expr_name_create): Added for convenience. (expr_name_value): Updated to new PP scheme * src/cell.c (cell_set_formula, cell_get_text, cell_get_content): Update to new ParsePosition scheme. * src/expr.c (parse_pos_init, parse_pos_cell): Created. * src/expr.h: Add ParsePosition & prototpes 1999-07-25 Michael Meeks * src/dialog-define-names.c (update_edit): use expr_name_value. (grab_text_ok): Update to use new functions. * src/expr-name.c (expr_name_value): Added. (expr_name_create): Convenience function * src/xml-io.c (xml_workbook_write): Added names writing. 1999-07-24 Michael Meeks * src/expr-name.c (expr_name_add): Add check for circular references in (name_refer_circular): created. (add_real): More paranoia. 1999-07-23 Michael Meeks * src/expr-name.c (expr_name_list): Expand. (expr_name_remove): Serious bug freeing names. (expr_name_lookup): precondition. (expr_name_remove): more sanity checks. * src/dialog-define-names.c (fill_list): Append instead of inserting items. use "select" signal, hand the correct pointer on. Implemented guts, fixed lots of bugs. 1999-07-25 Karsten Weiss * src/print.glade.h: Fixed three typos. * src/hf-config.glade.h: Fixed a typo. Is this the right place to fix the typos or are they auto-generated from some other source? 1999-07-21 Miguel de Icaza * src/dialog-printer-setup.c (preview_page_destroy): Clear the pointers after unrefing. * src/print.c (setup_rotation): Add the rotation code for the vertical/horizontal printing. 1999-07-22 Michael Meeks * src/dialog-define-names.c (dialog_define_names): Removed all the dead code. Lots of new code ... not there yet though. * src/workbook.c: Enabled names menu item. * src/dialog-summary.c: add file header. * src/Makefile.am (glade_DATA): Added summary.glade and names.glade seems I didn't do this earlier: odd. * names.glade: Created. 1999-07-22 Michael Meeks * src/expr-name.c: Stylistic precondition fixes, simplification & workbook integration. * src/workbook.c (workbook_core_new): init names. (workbook_do_destroy): add name clean. * src/sheet.h: Add Workbook->names. * src/func.h: Added comments moved from expr.h 1999-07-21 Richard Hestilow * gnumeric.gnorba: Fix "Embeddable" typo (was IDL:/GNOME/Embeddable, should have been IDL:GNOME/Embeddable) 1999-07-21 Michael Meeks * src/widget-font-selector.c (fs_init): Convert g_error to g_warning on missing glade_xml_new. * src/Makefile.am (GNUMERIC_CORBA_GENERATED): Make this empty if BONOBO is not installed, should kill peoples Gnumeric.idl problems with luck. * configure.in: Add lotus-123 * plugins/Makefile.am: ditto. * src/main.c: Remove xbase include. 1999-07-20 Jody Goldberg * src/expr.c (value_area_fetch_x_y) : make value_zero local. (eval_expr) : renamed eval_expr_real, and allowed it to return NULL in all the places that make sense. (eval_expr) : New function. Calls eval_expr_real and returns 0 on NULL with no error set. Until VALUE_ERROR is in place things will look funny. 1999-07-20 Miguel de Icaza * src/item-bar.c (bar_draw_cell): Move the dimension computaiton of the font after we have figured which font to use. Before we did all the computaiton based on the default font, which is not always the font used (we use bold font for selected rows). This fixes the bug Morten reported. 1999-07-20 Jody Goldberg * src/fn-math.c : Moved gpow10 from here. * src/utils.[ch] : to here. * src/expr.c (value_area_get_x_y) : return NULL in all cases of invalid refernces dont fake a 0. Rename TYPE_ERROR -> TYPE_MISMATCH. (is_null_string) : New function. (compare) : Allow equality tests between empty/error things too. (eval_expr) : Allow comparisons of empty/error values. It can handle it now. (OPER_ARRAY) : Use value_area_get_x_y not fetch_x_y, handle empty/error. (value_get_as_string) : Fix typo in recent unlogged change. The change might break importing files from a different locale. * src/fn-string.c : Add TEXT, improve VALUE, REPLACE so that they passes more tests. * src/number-match.c (compute_value) : Partial support for thousands separator. Why doesn't this code use locale ? * src/format.c (format_value) : better support for ranges, attempt to work around problem of a thousands separator in a date format. * src/cell-draw.c (cell_draw) : Fix potential for infinite loop with HALIGN_FILL. * src/print-cell.c (print_cell_text) : Ditto. * src/parser.y (make_string_return) : A string of the form "..." is a string, don't try to parse it as a number. * src/pattern-selector.[ch] : pattern_selector_select made static. In preparation for different approach. 1999-07-19 Andreas Voegele * src/parser.y (gnumeric_unsafe_expr_parser): Use the locale to figure out the correct separator * src/file.c (workbook_read): According to the GNU libc documentaiton retrieving the current locale should be done by passing NULL to setlocale as the locale argument. 1999-07-17 Michael Meeks * src/workbook.c (workbook_setup_edit_area): Enabled function wizard. 1999-07-16 Michael Meeks * src/summary.c (summary_item_as_text): Implemented. (summary_item_dump): Simplified. * src/xml-io.c (xml_write_summary, xml_read_summary): Created. (xml_workbook_read, xml_write_summary): Added summary stuff. 1999-07-17 Jukka-Pekka Iivonen * doc/C/analysis-tools.sgml: Added documentation of anova, single factor tool. 1999-07-14 Miguel de Icaza * src/fn-misc.c (gnumeric_error): Fixed usage of errors with the non-broken setup. * src/expr.c (error_message_set): Rewrote the error message logic to be clean and clear. Simplified and followed the Gnumeric coding conventions. 1999-07-15 Michael Meeks * src/summary.c (summary_info_add): Add duplicate entry removal. Re-organised structures and enum for convenience. (summary_info_as_list, append_item): Created. (summary_item_dump): Made static. include stdio.h Add 'Category' and 'Manager' * src/workbook.c (summary_cmd): Create. Add 'Su_mmary' to file menu. * dialogs.h: Added summary_update. * src/Makefile.am (GNUMERIC_BASE_SOURCES): Add dialog-summary.c * dialog-summary.c: Created. * summary.glade: Created. 1999-07-13 Jody Goldberg * src/fn-lookup.c (gnumeric_lookup) : Support default args for width & height. Return cell_value directly for 1x1 results. (gnumeric_hyperlink) : Add stub. * src/expr-name.[ch] (expr_name_add, expr_name_lookup) : Const. * src/parser.y (make_string_return) : Handle special case of "" avoid turning it into a number. 1999-07-13 Michael Meeks * src/Makefile.am (GNUMERIC_BASE_SOURCES): add summary.[ch] * src/workbook.c (workbook_core_new): Hook in summary info. (workbook_do_destroy): ditto. (deps_output): debugging hook. * src/sheet.h: Added SummaryInfo to Workbook. * src/summary.[ch]: Added. 1999-07-11 Michael Meeks * src/cell-draw.c (cell_draw): Added handy debug for when cell->text is duff. 1999-07-13 Morten Welinder * src/fn-string.c (gnumeric_search): Actually start search where advertised. (gnumeric_value): Try harder. * src/style.c (font_init): Print informative message instead of just aborting. (style_shutdown): Remove old code. * src/mathfunc.h: Work around Irix incompatibility. 1999-07-13 Jukka-Pekka Iivonen * src/dialog-analysis-tools.c, src/analysis-tools.c: Implemented Anova, single factor tool. * src/dialog-analysis-tools.c, src/analysis-tools.c: Implemented Anova, two-factor without replication tool. 1999-07-12 Miguel de Icaza * src/print-info.c (save_hf, print_hf_register): Save the headers and footers. Implement registration of new formats. * src/dialog-printer-setup.c (do_hf_config): Added the editing facility to the formats. 1999-07-12 Jody Goldberg * src/Gnumeric.idl : Add SplitsArray array exception for array-formula support. * src/cell.[ch] (cell_set_border) : Const. * src/expr.[ch] (value_area_get_width, value_area_get_height) : Const. * src/fn-math.c : Added TRANSPOSE. * wizards/graphics/*.c : Minor text tweaks so that things come closer to compiling. 1999-07-12 Jukka-Pekka Iivonen * doc/C/analysis-tools.sgml: Small fixes and additions. * src/dialog-analysis-tools.c, src/analysis-tools.c: Added Bernoulli distribution to the Random Number Generation tool. * src/analysis-tools.c: Finished Rank and Percentile tool. * src/analysis-tools.c: Fixed ``F/z/t Critical'' values of the F-Test, t-Test, and z-Test Tools. 1999-07-12 Jukka-Pekka Iivonen * src/dialog-analysis-tools.c, src/analysis-tools.c: Made ``Labels in the first row'' option to actually work. Killed some warnings and bugs related to outputs too. 1999-07-12 Miguel de Icaza * src/cell.c (cell_set_font): Now takes a "points" argument. * src/Gnumeric.idl (Sheet): Take a double for the cell_set_font points parameter. 1999-07-11 Raja R Harinath * configure.in: Don't use `foo >& /dev/null' style redirection, use `foo > /dev/null 2>&1'. 1999-07-11 Miguel de Icaza * src/dialog-cell-format.c (apply_font_format): Use the FontSelector here. * src/widget-font-selector.c (reload_preview): New approach for font loading, by using the scale explicitly I got it to work ;-). (font_selector_choose): New routine to set the font style. * src/sheet.c (sheet_init_default_styles): Change of plans, we are going to use 80 units for the default width. * src/widget-font-selector.c: New file. A simplified and robust font selector for Gnumeric. (fs_fill_font_name_list): Free this. 1999-07-11 Jody Goldberg * src/item-grid.c (context_cut_cmd, context_copy_cmd context_paste_cmd, context_paste_special_cmd, context_insert_cmd, context_delete_cmd, context_clear_cmd, context_cell_format_cmd, create_popup_menu, item_grid_popup_menu) : Operate on Sheet* rather than ItemGrid*. * src/item-bar.c (item_bar_event) : Popup an item_grid_popup_menu when Button3 is pressed. Excel also adds an entry to change col widths/row heights, that will be next TODO. * src/dialog-insert-cells.c, src/dialog-delete-cells.c : Short circuit the menus when an entire row/column is selected. This fixes the problem of selecting a column and accidentaly inserting a row would clear the sheet inserting MAX_ROW rows and erasing everything ... * src/cell-draw.c (cell_draw) : Remove use of str_trim_spaces and correct the bounding rectangle size for multiline entries. (cell_split_text) : Rework logic to strip spaces when a forced split causes a linebreak @ those spaces. Plus more comments. * src/print-cell.c (cell_split_text, print_cell_text) : Ditto. Switch accumulators to doubles. * src/parser.y : Moved dump_value from here. * src/expr.c : to here. And changed the format of CellRanges to be more appealing. * src/cell.c (cell_relocate) : Add some cruft to handle relinking the corner cell of an array formula. * src/clipboard.c (clipboard_prepend_cell) : Renamed from clipboard_append_cell. So that there is truth in naming. (clipboard_copy_cell_range) : Reverse the result of clipboard_prepend_cell so that the upper left corner is 1st. (Sheet *sheet, int col, int row, Cell *cell, void *user_data) * src/expr.c (eval_range) : New function to ensure that range arguments are recalculated. (eval_expr) : Use it. * src/sheet.c (range_check_for_partial_array) : New function. To avoid subdividing arrays does some obvious optimizations. (sheet_fill_selection_with) : Split out from here. (sheet_delete_col, sheet_delete_row) : Used here too. 1999-07-11 Michael Meeks * Sort ChangeLog out, apologies. 1999-07-10 Michael Meeks * src/func.c (function_iterate_do_value): Clean to use new macro. * src/fn-stat.c (gnumeric_rank, gnumeric_prob, gnumeric_steyx), (gnumeric_ftest, gnumeric_slope, gnumeric_percentrank), (gnumeric_ttest, gnumeric_forecast, gnumeric_intercept): New sheet support. * src/fn-math.c (gnumeric_countif): Cleaned with nicer sheet select macro. (gnumeric_sumif, gnumeric_sumx2my2, gnumeric_sumxmy2), (validate_range_numeric_matrix): Added new sheet support. * src/fn-information.c (gnumeric_countblank): Added correct sheet support. * src/fn-database.c (find_column_of_field): Add EvalPosition to get valid Sheet * from & use it. (parse_database_criteria, find_cells_that_match): Ditto. Update all references. * src/expr.c (value_area_get_height): Use eval_sheet (eval_funcall): Remove redundant Sheet * setting. * src/expr.h: Add eval_sheet to help all over the place. * src/eval.c (add_cell_range_deps): Use eval_sheet, and make warning more correct.