2000-09-24 Jody Goldberg * src/normal-args.c : Suppress warning. * src/functions/fn*.c : Add a prototype of the _init routine to suppress warning. * src/eval.c (cell_recalc_dependencies ) : Comment out until it is implemented. * src/sheet-object-widget.c (sheet_object_widget_new) : delete. 2000-09-23 Jody Goldberg * src/workbook.c (workbook_create_standard_toobar) : Attempt to inject the standard controls. This does not work. * src/gnumeric.xml : Continue work on bonobizing toolbars. 2000-09-23 Jody Goldberg For : realms@telerama.com * src/datetime.c (datetime_g_days_between) : new function. (datetime_g_months_between) : Ditto. (datetime_g_years_between) : Ditto. * src/functions/fn-date.c : Implement DateDif. 2000-09-23 Jody Goldberg * src/clipboard.c (x_selection_to_cell_region) : typo. * src/gnumeric-util.c (gnumeric_inject_widget_into_bonoboui) : New utility routine. 2000-09-23 JP Rosevear * configure.in: Create an IDL_FLAGS variable with various paths based on GNOME_PATH * idl/Makefile.am: Use IDL_FLAGS 2000-09-23 Almer S. Tigelaar * src/stf-parse.c, src/stf-parse.h: (stf_parse_is_valid_data): return invalid character or NULL if the data is valid. * src/clipboard.c: (stf_read_workbook): Adjust to cope with the new stf_parse_is_valid_data. * src/stf.c: (x_selection_to_cell_region): Idem. 2000-09-23 Jody Goldberg * src/workbook-format-toolbar.c : Use stock icons. * src/workbook-object-toolbar.c : Ditto. * src/workbook.c : Ditto. Add more verbs. * src/workbook-edit.c (workbook_edit_set_sensitive) : toolbar sensitization is broken for bonobo. * src/gnumeric.xml : The beginings of toolbar support. * src/application.c : Register all pixmaps as stock icons. 2000-09-22 Jody Goldberg * src/history.c (history_menu_insert_separator) : Use history_menu_locate_separator. This is crufty. 2000-09-22 Morten Welinder * src/format.c (append_hour): Increase buffer size, just in case. (append_hour_elapsed): Ditto. (append_minute): Ditto. (append_second): Ditto. (append_minute_elapsed): Sort-of ditto. (append_second_elapsed): Ditto. (append_hour): Fix hour display for am/pm mode for the midnight and noon hours. * src/print-cell.c (print_show_iso8859_1): Use bigger stack buffer so we will almost never have to allocate dynamically. 2000-09-22 Jody Goldberg * src/sheet-object-widget.c (sheet_widget_checkbox_toggled) : Change the cell state. (sheet_widget_checkbox_construct) : default to something intelligent. 2000-09-21 Jody Goldberg * src/sheet.c (sheet_hide_cursor) : redraw the selection. * src/sheet.c (sheet_show_cursor) : redraw the selection. * src/sheet-object.c : Improve framework for editing/creating objects. We are more consistent about hiding the selection, and when to make things visible again. * src/sheet-object-widget.c : Begin framework for configuring the sheet widgets. * src/selection.c (sheet_selection_redraw) : new function. * src/item-grid.c (item_grid_button_1) : Don't cancel object editing if there is a guru up. We could be configuring things. * src/selection.c (sheet_is_cell_selected) : Do no show selections while objects are being edited. * src/gnumeric-util.c (gnumeric_non_modal_dialog) : Change the signature. * src/sheet-object.c (sheet_object_destroy) : Improve safety. 2000-09-21 Lauris Kaplinski * print-cell.c (print_show_iso8859_1): Transcode to UTF-8 instead of UCS4, use gnome_print_show_sized. (g_unichar_to_utf8): Function copied from glib 1.3 (and will go away, if gnumeric will be ported to glib 2.0) 2000-09-21 Jody Goldberg * src/format.c (format_month_before_day) : implement. * src/workbook.c (workbook_expr_relocate) : Support dependents other than cells. (workbook_expr_unrelocate) : Ditto. 2000-09-21 Jody Goldberg * src/print-cell.c (print_show_iso8859_1) : Temp fix to get things compiling. What should we be using? * src/position.c (eval_pos_init_dep) : typo. 2000-09-21 Jody Goldberg * src/workbook-format-toolbar.c (workbook_cmd_format_as_money) : no need to translate the money format. We generate it elsewhere. (workbook_cmd_format_as_percent) : ditto. * src/formats.c : Most format strings are NOT required to be translated anymore. We store them internaly in the C locale. (currency_date_format_init) : customize the currency symbol, and the day/month order. * src/format.c (format_get_currency) : new function. (format_month_before_day) : New stub. How to do this portably. (lookup_color_by_name) : new routine. (lookup_color) : that was split from here. (format_remove_decimal) : Fix a bit. still broken for fmts with multiple cases. (format_value) : no need to translate the format. (translate_format_color) : new routine. (style_format_delocalize) : new routine. Add colour support. (style_format_new_XL) : split from here. (style_format_str_as_XL) : new routine. Add colour support. (style_format_as_XL) : split from here. 2000-09-20 Jody Goldberg * src/sheet-object.c (sheet_object_destroy) : If the current object is destroyed switch back to edit mode. * src/workbook-edit.c (workbook_start_editing_at_cursor) : We always create an in canvas edit item, but sometimes we jump the focus to the status line. * src/value.c (value_new_cellrange_r) : set the sheet for both cell_refs. * src/sheet-object-widget.c (checkbox_set_expr) : Fix. * src/graph-series.c (graph_series_seq_scalar) : No need to handle headers here. (graph_series_seq_date) : or here. (graph_series_seq_string) : or here. (graph_series_eval) : Handle idl rename. (series_get_name) : No need to do this here. (impl_vector_scalar_value) : No need to calculate label. (impl_vector_date_value) : Ditto. (impl_vector_string_value) : Ditto. (graph_series_set_expr) : Correctly register and un register deps. (graph_series_new) : series names are handled at a higher level. * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Restore the behaviour of F2. * src/expr.c (cellrange_relocate) : BE smarter about checking for potential 3d references. * idl/gnumeric-graphs.idl : Rename routines using lowercase underscore rather than StuddyCaps. * src/workbook.c (workbook_expr_relocate) : Handle dependents. * src/position.c (eval_pos_init_dep) : new function. * configure.in : Prepare for release. Update req for gnome-print to 0.23 Update req for libglade to 0.14 Comment out pspell. Leave perl disabled. * gnumeric.spec.in : Ditto. * README : Ditto. 2000-09-19 Jody Goldberg * src/xml-io.c (natural_order_cm) : Using col_info and row_info is deprecated. 2000-09-20 Kenneth Christiansen * gnumeric.spec.in: Updated for new release. * xml-po/: added new dir, which will be used for translation of XML files, in the near future. 2000-09-19 Morten Welinder * src/workbook.c (workbook_menu_tools): Spelling fixes. 2000-09-19 Morten Welinder * src/workbook.c (workbook_sheet_name_strip_number): isdigit takes unsigned chars, not chars. * src/functions/fn-lookup.c (find_index_linear): Quiet warnings. 2000-09-18 Michael Meeks * src/Makefile.am (INCLUDES): add GNOME_DATADIR * src/workbook.c (workbook_new): use it. 2000-09-18 Jody Goldberg * src/sheet.c (sheet_row_size_fit_pixels) : PUTRID KLUDGE. Avoid the ugly row size changes when fitting the size. * src/format.c (style_format_new_XL) : Implement translation. (style_format_as_XL) : Ditto. * src/number-match.c (format_match_init) : No need to compare to translated General. * src/sheet.c (sheet_flag_status_update_cell) : Adjust signature. 2000-09-17 Morten Welinder * src/main.c (gnumeric_main): Init colours earlier. 2000-09-17 Jody Goldberg * src/workbook.c (cb_cell_rerender) : We need to recalc the size after rendering the value. However, it is wasteful to redraw each cell individually. (cb_sheet_pref_display_formulas) : redraw entire sheet. It is simpler. 2000-09-17 Jody Goldberg * src/workbook-format-toolbar.c : Use the new Gnome App Libs (GAL) routines. * src/workbook-view.c : Ditto. * src/workbook.c : Ditto. * src/main.c (gnumeric_main) : call e_color_init and e_color_shutdown. * src/gnumeric-util.c (gnumeric_create_tooltip) : Rename from color -> e_color. * src/style.c (style_color_new) : Ditto. * src/gnumeric-sheet.c (gnumeric_sheet_realize) : Rename from cursor -> e_cursor. * src/item-cursor.c (item_cursor_set_cursor) : Ditto. * src/cell-comment.c (cell_comment_clicked) : Ditto. * src/item-grid.c (item_grid_event) : Ditto. * src/sheet-object.c : Ditto. * src/color.c : Split the utilities into the gal library. * src/Makefile.am : Remove cursors.[ch] * configure.in : Handle the new Gnome App Lib (GAL) 2000-09-17 Jody Goldberg * src/dialogs/dialog-graph-guru.c (cb_create_series_from_range) : GraphSeries is responsible for registering. * src/history.c : Attempt to convert to the new bonobo ui handler. * src/graph-series.c (graph_series_eval) : Support string and date series. (series_get_name) : New function. (impl_vector_scalar_value) : Use it here. (impl_vector_date_value) : here (impl_vector_string_value) : and here. (cb_check_range_for_pure_string) : new function. (graph_series_new) : Start guess whether a series is scalar or string. (graph_series_servant) : Delete. (graph_series_set_subscriber) : Take responsibility for registering with the remote Graph::Manager. * src/gnumeric.xml : Remove bogus '/menu/File/open' placeholder Name the '/menu/File/FileHistory' placeholder. * src/sheet-object-container.c (sheet_object_container_update_bounds) Fix off by 1 error here. (make_container_item) : And here. * src/sheet-object.c (sheet_object_add_view) : Renamed from sheet_view_object_realize. (sheet_object_remove_view) : Renamed from sheet_view_object_unrealize. (control_point_handle_event) : Enable edit popup from control points. 2000-09-16 Almer S. Tigelaar * src/dialogs/autoformat.glade: Remove ability to focus widgets on the Template Details tab. Remove the 'Apply Dimensions' checkbox. Add some accelerators. Add tooltip to category combo. * src/dialogs/dialog-autoformat.c: (cb_category_entry_changed): Replaced by cb_category_popwin_hide (cb_category_popwin_hide): Invoked when the popup window of the category window becomes hidden. (dialog_autoformat): Remove handling for dimensions checkbox and change signal binding for category combo. 2000-09-16 Michael Meeks * src/workbook.c (workbook_new): use datadir for get_ui_fname. 2000-09-16 Almer S. Tigelaar * src/dialogs/autoformat.glade: New autoformat dialog. * src/dialogs/dialog-autoformat.c: (fill_category_list): Replace with load_categories. (load_categories): Same role as fill_category_list, but loads them into a GtkList instead. (free_categories): New, frees a GtkList holding categories. (templates_load): Hide the scrollbar when it's not needed, remove obsolete label code. (previews_load): Set only the template name as tooltip. (cb_more_clicked): Removed entirely, the more button is no longer. (cb_new_clicked): Replaced by cb_new_activated. (cb_new_activated): Same as cb_new_clicked but now for a GtkMenuItem. (cb_edit_clicked): Replaced by cb_edit_activated. (cb_edit_activated): Same as cb_edit_clicked but now for a GtkMenuItem. (cb_remove_clicked): Replaced by cb_remove_current_activated. (cb_remove_current_activated): Same as cb_remove_clicked but now for a GtkMenuItem. (cb_categories_select_row): Replace with cb_category_entry_changed. (cb_category_entry_changed): New, same role as cb_categories_select_row, but now for the 'category' GtkEntry instead of the previous GtkCList. (cb_apply_button_toggled): Replaced by cb_apply_item_toggled. (cb_apply_item_toggled): Same as cb_apply_item_toggled, but now for GtkCheckMenuItem. (cb_gridlines_button_toggled): Replaced by cb_gridlines_item_toggled. (cb_gridlines_item_toggled): Same as cb_gridlines_item_toggled, but now for GtkCheckMenuItem. (setup_apply_item): New, load a glade control and bind it's event to cb_apply_item_toggled in one step. (dialog_autoformat): Adjusted to handle the new controls. 2000-09-15 Jody Goldberg * src/dialogs/dialog-graph-guru.c (dialog_graph_guru) : Profilacticly NULL the gui pointer. 2000-09-15 Jody Goldberg * src/gnumeric.xml : Use placeholder for file history. How to have multiple place holders ? * src/history.c (history_menu_insert_items) : Quick fix to reduce number of warnings. * src/sheet-object.c (sheet_object_stop_editing) : Use set_active. (sheet_mode_edit_object) : Ditto. 2000-09-14 Jody Goldberg * src/sheet-object-widget.c (sheet_object_widget_new_view) : Fix off by one error. (sheet_object_widget_update_bounds) : Ditto. (control_point_handle_event) : Handle events for the acetate. * src/sheet-object.c (sheet_object_destroy_control_points) : Avoid hard coding the number of control points. (sheet_object_begin_creation) : event coordinates are already mapped. (update_bbox) : The off by 1 error was in the widget wrapper not here. * idl/gnumeric-graphs.idl : Make the Vector::changed routines oneway. 2000-09-14 Jody Goldberg * src/sheet-view.c (sheet_view_row_size_changed) : Use sheet_selection_full_rows and workbook_cmd_format_row_height. (sheet_view_col_size_changed) : Use sheet_selection_full_cols and workbook_cmd_format_column_width. * src/item-grid.c (context_row_height) : Use sheet_dialog_set_row_height. (context_col_width) : Use sheet_dialog_set_column_width. * src/workbook-cmd-format.c (sheet_dialog_set_column_width) : Split the gui into here. (workbook_cmd_format_column_width) : And the action into here. Use the appropriate commands to get undo support. (workbook_cmd_format_column_auto_fit) : Use workbook_cmd_format_column_width. (sheet_dialog_set_row_height) : Split the gui into here. (workbook_cmd_format_row_height) : And the action into here. Use the appropriate commands to get undo support. (workbook_cmd_format_row_auto_fit) : Use workbook_cmd_format_row_height. * src/selection.c (sheet_row_selection_type) : moved from sheet.c (sheet_col_selection_type) : moved from sheet.c (sheet_selection_full_cols) : new routine. (sheet_selection_full_rows) : new routine. * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Don't jump directly to the edit line with F2. Start editing in sheet first. * src/selection.c (selection_foreach_range) : Add the option of iterating the list backwards. * src/workbook-cmd-format.c (cb_colrow_collect) : New function. * src/workbook-cmd-format.c (workbook_cmd_format_column_width) : Fix. (workbook_cmd_format_row_height) : Fix. * src/sheet-object-graphic.c (sheet_object_graphic_update_bounds) : new function. (sheet_object_filled_new_view) : Set the bounds when a new view is constructed. DO NOT rely on the realized list, new objects are not added until AFTER construction. * src/sheet-object.c (sheet_object_update_bounds) : delete. 2000-09-13 Jody Goldberg * src/expr.c (cellref_relocate) : Return more information so that we can differentiate relocating rows, cols, or both. (cellrange_relocate) : Use the new information to extend the heuristic for when to relocate a range. In the past we assumed that unless both ends of the range were moving we should not do the relocation. It seems that there are other cases which will also relocate. When inserting/deleting rows/cols or cutting a region that includes an entire side of the source region we should relocate. Sadly this patch is incomplete. It relocates too much now. If you cut B2 and paste it into B3 the source region A1:B2 will resize to A1:B3 even though it should not. At least ins/del row/col will now work. 2000-09-12 Jody Goldberg * src/workbook.c (create_bonobo_object) : Fixed. * src/sheet-object-bonobo.c (sheet_object_bonobo_new_from_oid) : Delete duplicate function. 2000-09-11 Jody Goldberg * src/commands.c (cmd_ins_del_row_col_{undo,redo}) : Insert/delete rows/cols clears the cut buffer. Copies are preserved. * src/sheet-object.c (cb_obj_create_button_release) : remove the bonobo specific file handling. That is to be done earlier or in a different place. This routine is strictly for placement, not content. (sheet_mode_clear) : Move the deactivation here for now. Hopefully move it to a virtual. * src/about.c (dialog_about) : suppress warning. 2000-09-12 Morten Welinder * src/sheet-object-widget.c (checkbox_eval): Plug leak. 2000-09-11 Jon K Hellan * src/main.c: Add print_debugging variable / debug_print startup option. (gnumeric_main): Make stdout line buffered - we only use it for debug info. * src/print-cell.[ch] (print_make_rectangle_path): New function: make a rectangular gnome-print path. * src/print-cell.c (print_cell): Use it. * src/print.c (print_empty_pages variable): Remove. This variable is never set. With the new repeated row/column handling, the logic will have to be rewritten anyway if needed. (print_page_repeated_rows): Remove unused parameters start_row and end_row. (print_page_repeated_cols): s/row/col/. Fix bug - was repeat_left, corrected to repeat_top. (print_page_object): Remove unused parameters page_width / page_height and end_col / end_row. (print_hf_element): Rename from print_hf (print_hf_line): New function. Logic shared by print_header and print_footer. Clip to header region. if print_debugging != 0, draw a box around header region. (print_headers): Use print_hf_line. Place at correct y position - ascenders flush with inside of top margin. (print_footers): Descenders flush with inside of bottom margin. Otherwise like headers. (print_page): Include logic for repeated rows and columns: They are only repeated after the start of the repeating range has been seen in the regular page flow. Fix grid size bug when centering horizontally or vertically. Use print_make_rectangle_path. Remove print_empty_pages logic. (compute_group): New function. Old compute groups changed to only compute one page. Rationale: Available space on page for normal cell flow changes once repeated rows/columns kick in, so there is no gain in precomputing a list. (render_sheet_objects): New function. Factored out of print_sheet_range. (print_range_down_then_right): New function. Used to be the row major loop of print_sheet_range. Include logic for repeated rows and columns (see print_page). (print_range_right_then_down): s/row major/column major/ (print_sheet_range): Restructure into a small function that calls render_sheet_objects, print_range_down_then_right, print_range_right_then_down. (compute_sheet_pages): Remove print_empty_pages logic. The variable is never set. With the new repeated row/column handling, the logic will have to be rewritten anyway if needed. (compute_sheet_pages, print_sheet): Remove "key" parameter because we are now called from g_list_foreach instead of g_hash_table_foreach. (compute_pages): Use list returned by workbook_sheets instead of wb->sheets so sheets are processed in order. (workbook_print_all): Print sheets in display order. To do so, use list returned by workbook_sheets instead of wb->sheets. (sheet_print): Use changed print_sheet signature. * src/workbook.h (struct _Workbook): Rename "sheets" to sheet_hash_private. * src/workbook.c (workbook_do_destroy, workbook_do_destroy, workbook_set_dirty, workbook_is_dirty, workbook_is_pristine, workbook_init, workbook_rename_sheet, workbook_sheet_count, workbook_attach_sheet, workbook_detach_sheet, workbook_sheet_lookup): s/wb->sheets/wb->sheet_hash_private/ (cb_assemble_selection, workbook_selection_to_string): Not in use. Remove. * src/workbook-view.c (workbook_view_pref_visibility): s/wb->sheets/wb->sheet_hash_private/ 2000-09-11 Morten Welinder * configure.in (pspell): Quiet the test. 2000-09-11 Jody Goldberg * src/gnumeric.xml : Add the missing menu elements. * src/workbook.c (verbs) : Add some of the missing elements. (insert_object_cmd) : Suppress some warnings. * src/sheet-object-container.c (sheet_object_container_new_file) : suppress warning. * src/sheet-object-bonobo.c (sheet_object_bonobo_new_from_oid) : suppress warning. 2000-09-11 Michael Meeks * src/workbook-format-toolbar.c: s/BonoboApp/BonoboWin/ * src/workbook-object-toolbar.c: ditto. * src/workbook.c: s/BonoboApp/BonoboWin/ (verbs): Add FileSaveAs which I seem to have forgotten. 2000-09-10 Jody Goldberg * src/graph-series.c (graph_series_destroy) : plug leak. * src/sheet-object-widget.c (sheet_widget_checkbox_destroy) : Ditto. 2000-09-10 Jody Goldberg * src/xml-io.c (xml_read_sheet_object) : objects have their positions set after creation, not before. NOTE : This routine is incomplete. It does not handle all of the objects. It is questionable whether or not it even belongs here. We may want to encapsulate the persistence on a per object basis. (xml_sheet_read) : localize and improve variable naming. * src/workbook.c : Add an ifdef around the GnomeUI handler in bonobo mode. Move the object creation cruft into its own file. (select_component_id) : new function. (create_embedded_component_cmd) : simplify. (create_embedded_item_cmd) : simplify. (create_button_cmd) : Delete. (create_checkbox_cmd) : Delete. (create_line_cmd) : Delete. (create_arrow_cmd) : Delete. (create_rectangle_cmd) : delete. (create_ellipse_cmd) : delete. (cut_cmd) : simplify object handling. (insert_object_cmd) : Use sheet_object_bonobo_new_from_oid. (do_focus_sheet) : Handle object toolbar too. (workbook_detach_sheet) : Before messing with the views go back to simple edit mode. * src/workbook-object-toolbar.c (create_object_command) : new function. (cmd_create_*) : Use here. * src/workbook-edit.c (workbook_edit_set_sensitive) : Add the object toolbar. * src/sheet-object.c (sheet_release_coords) : delete. (sheet_object_destroy) : simplify. (SheetObject::end_popup) : remove. (SheetObject::populate_menu) : rename from start_popup. (SheetObject::new_view) : rename from realize. (SheetObject::user_config) : New virtual. (sheet_object_construct) : initialize dragging to FALSE. s/Sheet::objects/Sheet::sheet_objects/ (sheet_object_drop_file) : Moved. (sheet_object_realize) : No need for SheetView::temp_item. (button_widget_create) : delete. (checkbox_widget_create) : delete. (sheet_object_create_button) : delete. (sheet_object_create_checkbox) : delete. (create_object) : delete. (cb_obj_create_motion) : rename from sheet_motion_notify. Simplify. Rubber band a rectangle rather than the actual object. Keep track of whether or not a we have resized larger than the minimum 5x5 size. (cb_obj_create_button_release) : rename from sheet_button_release. Change behavior to have the release do the realizing and bound setting. Set the bounds to the current coord ONLY if we have moved enough, otherwise just use the default size of the object tranformed to the location of the original button press. (shutdown_sheet_object_creation) : merge into button release. (sheet_leave_notify) : Delete. (sheet_button_press) : Delete. (sheet_object_begin_creation) : Delete. (sheet_finish_object_creation) : merge into button release and clear out all the cruft requiring removal of signals. (sheet_mode_clear) : new function. Does some object management. (sheet_set_mode_type) : delete. (sheet_set_mode_type_full) : delete content. Split logical action into. (sheet_mode_edit) : here. (sheet_mode_edit_object) : here. (sheet_mode_create_object) : and here. (sheet_object_destroy_control_points) : be more pedantic a about checking that we have a valid view. (sheet_object_stop_editing) : Adjust for new object editing semantics. (set_item_x) : Merge this (set_item_y) : and this. (set_item_x_y) : into here. And add the logic to call new_control_point. (new_control_point) : Set the cursor here. (update_bbox) : Recall that the bounding box excludes the far coords. (control_point_handle_event) : No need to make object the current, if we are being called we are current. (sheet_object_populate_menu) : rename from sheet_object_start_popup. (sheet_object_end_popup) : delete. (sheet_object_canvas_event) : adjust to function renaming. (sheet_object_widget_event) : delete. (sheet_object_widget_handle) : delete. (sheet_object_start_editing) : delete, no need. update_bbox does all of this. (sheet_object_make_current) : delete. (sheet_object_insert) : this was not what its name suggested. It was a rather specialized bonobo utility. Move it where it belongs. * src/sheet-object-widget.c : Rewrite. * src/sheet-object-item.c (sheet_object_item_new_view) : rename from sheet_object_item_realize. * src/sheet-object-graphic.c (sheet_object_graphic_new_view) : rename from sheet_object_graphic_realize. (sheet_object_filled_new_view) : renamed from sheet_object_filled_realize. (sheet_object_create_line) : No need to take position, do that later. (sheet_object_create_filled) : Ditto. * src/sheet-object-container.c (user_activation_request_cb) : Adjust to changes in sheet mode handling. (sheet_object_container_new_view) : rename from sheet_object_container_realize. (sheet_object_container_new_bonobo) : No need to take pos info, that is set later. (sheet_object_container_new_object) : Ditto. (sheet_object_container_new_file) : Moved and renamed from sheet_object_drop_file. * src/sheet-object-bonobo.c (sheet_object_bonobo_construct) : No need to take position info. Bounds are set later. (sheet_object_bonobo_new_from_oid) : Move from sheet_object_insert which was much to generic a name and location for this. * src/print.c (print_sheet_range) : Adjust to rename of the sheet_object list. * src/pixmaps.h : Remove the pixmaps that moved to the object toolbar. * src/item-grid.c (item_grid_button_1) : Handle object creation and finishing object editing directly, no more need for adding and removing handlers. Adjust arg to be a Button event. (item_grid_event) : Add a new cursor for object creation. (item_grid_event) : Do not change to edit mode until we know why the button was pressed. * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_object) : s/sheet_set_mode_type/sheet_mode_edit/ (gnumeric_sheet_key_press) : Adjust to new mode scheme. (gnumeric_sheet_key_release) : Ditto. (gnumeric_sheet_filenames_dropped) : Ditto. * src/gnumeric.h : Add fwd decl of SheetObject. * src/gnumeric-sheet.h : delete GnumericSheet::mode . * src/gnumeric-type-util.h : Rename GNUMERIC_MAKE_TYPE_WITH_PARENT to GNUMERIC_MAKE_TYPE_WITH_CLASS. That makes more sense. * src/eval.c (invalidate_refs) : Use dependent_set_expr. (cell_eval) : New need to check generation If we are called we are out of date. * src/dependent.c (dependent_eval) : moved from eval.c. (dependent_type_register) : New routine. (dependent_set_expr) ; Ditto. (dependent_debug_name) : Use the new registry. * src/dependent.h : Reorder flags, remove explicit types for graphs and checkboxes. Those are handled by the virtual table. * src/commands.c : s/PARENT/CLASS/ * src/cell.h : Reorder the CellFlags. * src/bonobo-io.c (gnumeric_bonobo_obj_read) : Do not pass the position to sheet_object_containter_new_object. * src/Makefile.am : Add workbook-object-toolbar.[ch] and graph-series.[ch] merge the libraries from the two idl files. 2000-09-09 Jody Goldberg * src/sheet-view.c (sheet_view_construct) : Init control points to NULL. (SheetView::temp_item) : remove this. * src/sheet.c (sheet_new) : Init the members associated with objects. (sheet_destroy) : Destroy objects. (Sheet::mode) : remove. * src/gnumeric.xml : Add a label for the selection menu. * src/sheet-object-container.c (sheet_object_container_realize) : Fix warning. 2000-09-07 Jody Goldberg * src/item-bar.c (colrow_tip_setlabel) : mark the size tooltips as containing pts. * src/dialogs/row-height.glade : * src/dialogs/col-width.glade : Ditto. 2000-09-10 Almer S. Tigelaar * src/dialogs/dialog-stf.h: Limit the number of lines displayed in the preview. This is a temporary solution for bug #23426. * src/dialogs/dialog-stf-csv-page.c: (stf_dialog_csv_page_prepare): Ditto. * src/dialogs/dialog-stf-fixed-page.c: (stf_dialog_fixed_page_prepare): Ditto. * src/dialogs/dialog-stf-format-page.c: (stf_dialog_format_page_prepare): Ditto. (format_page_format_changed): Kill memory leak. * src/stf-parse.c: (stf_parse_csv_line): Change to still return something if the maximum number of columns is exceeded. (stf_parse_fixed_line): Ditto. * src/dialogs/dialog-stf-preview.c: (stf_preview_render): Adjust to only render SHEET_MAX_COLS columns. (stf_preview_get_table_pixel_width): Ditto. 2000-09-09 Michael Meeks * src/gnumeric.xml: add magic placeholder to help section. * src/workbook.c (workbook_new): update for ui_util_new_ui changes. 2000-09-08 Michael Meeks * src/workbook.c (workbook_new): Parse the xml file and add the verbs. (workbook_do_destroy): remove warning. * src/Makefile.am: Add gnumeric.xml installation * src/gnumeric-util.c (gnumeric_dialog_show): remove conditional code. * src/sheet-object-container.c (sheet_object_container_realize): upd. * src/workbook.c (workbook_get_toplevel): update, BonoboApp is now a widget. 2000-09-06 Jody Goldberg * src/workbook-format-toolbar.c (workbook_create_format_toolbar) : Fix typo. * src/gnumeric-util.c (gnumeric_dialog_show) : improve readability 2000-09-06 Michael Meeks * configure.in: Check for bonobo 0.19 * src/workbook.c: Add/Modify -> Add\\Modify for now. * src/workbook-view.c (workbook_view_set_title): use get_toplevel (workbook_view_set_size): * src/workbook-private.h: add a main_vbox to put toolbars into. * src/workbook-format-toolbar.c (workbook_create_format_toolbar): hack for non-bonobized toolbars. * src/workbook.c (workbook_show, workbook_hide, workbook_get_toplevel): helper functions. * src/corba-workbook.c (Workbook_show): use workbook show/hide * src/analysis-tools.c (prepare_output): ditto. * src/main.c (gnumeric_main): ditto. * src/clipboard.c (clipboard_paste, x_selection_received), (x_clipboard_bind_workbook): ditto. * src/application.c (application_set_selected_sheet): use workbook_get_toplevel * src/history.c (file_history_cmd): ditto. * src/gnumeric-sheet.c (gnumeric_sheet_filenames_dropped): ditto. * src/xml-io.c (xml_workbook_write): get_toplevel upd. * src/workbook.c (new_cmd, file_open_cmd, file_import_cmd): show / hide. (workbook_setup_edit_area): get_toplevel 2000-09-06 Jody Goldberg * src/workbook.c (change_zoom_in_current_sheet_cb) : handle new calling convention for sheet_set_zoom_factor. * src/xml-io.c (xml_sheet_read) : Ditto. * src/dialogs/dialog-zoom.c (dialog_zoom_impl) : Ditto. * src/sheet.c (sheet_new) : Ditto. (sheet_duplicate) : Ditto. (sheet_set_zoom_factor) : Add an arg to optionally disable recalculating the spans and rerendering. This is useful when importing zoomed sheets where we know that we are going to respan and render after loading everything. 2000-09-05 Jody Goldberg * configure.in : Add test for pspell. * acconfig.h : Ditto. * s/cell.u.expression/cell.base.expression/ * s/cell.generation/cell.base.generation/ * s/cell.u.entered_text/cell.entered_text/ <- deprecated * s/workbook.formula_cell_list/workbook.dependents/ * s/sheet_cell_expr_link/dependent_expr_link/ * s/sheet_cell_expr_unlink/dependent_expr_unlink/ * s/eval_queue_cell/dependent_queue_recalc/ * s/eval_queue_list/dependent_queue_recalc_list/ * s/eval_unqueue_cell/dependent_unqueue_recalc/ * s/eval_unqueue_sheet/dependent_unqueue_recalc_sheet/ * * s/cell_add_dependencies/dependent_add_dependencies * s/cell_drop_dependencies/dependent_drop_dependencies * s/cell_formula_changed/dependent_changed/ * s/sheet_cell_expr_link/dependent_link/ * s/CELL_IN_EXPR_LIST/DEPENDENT_IN_EXPR_LIST/ * src/cell.c (cell_eval_content) : moved from eval.c * src/eval.c (sheet_region_get_deps) : Take a Range rather than 4 int. (drop_range_dep) : Use dependent_debug_name. (dependency_range_ctor) : Take a CellPos as an arg rather than a Cell. (handle_cell_single_dep) : Take an optional CellPos and a Dependent. (handle_cell_range_deps) : Ditto. Do not check for singletons here. (handle_tree_deps) : Ditto. Call handle_cell_single_dep directly. (cell_add_explicit_dependency) : Delete. (get_single_dependencies) : Some const. * src/cmd-edit.c (cmd_select_cur_depends) : Use dependent_list_filter to only show cell dependencies for now. * src/dependent.c (dependent_list_filter) : new function. (dependent_debug_name) : new function. * src/history.c : Add a comment about File/Print Preview for translators. * src/workbook.c (cb_cell_rerender) : Only cells need this. 2000-09-03 Almer. S. Tigelaar. * src/cell-draw.c: (cell_draw): Modify to accept a NULL sheet for cell->sheet. * src/item-grid.c, src/item-grid.h: (item_grid_draw_border): Export this routine for use by the preview-grid. * src/preview-grid.h, src/preview-grid.c: New, preview-grid canvasitem, based upon item-grid. * src/preview-grid-controller.h, src/preview-grid-controller.c: New, easy to use wrapper around canvas and preview-grid. * src/dialogs/dialogs.h: Add autoformat dialog and autoformat edit dialog invocation functions. * src/dialogs/autoformat.glade: New, glade file for autoformat dialog. * src/dialogs/autoformat.glade.h: New, translation header for autoformat dialog. * src/dialogs/dialog-autoformat.c: New, source for controlling autoformat dialog. * src/sheet-view.c: (sheet_view_get_style_font): Modify to accept a NULL sheet. (defaults to zoomlevel 1) * src/workbook.c: (workbook_menu_format[]): Add autoformat. (autoformat_cmd): New, invokes autoformat dialog. * src/mstyle.c, mstyle.h: (mstyle_replace_element): New, replaces an element in an mstyle with an element from another mstyle. * src/rendered-value.c, src/rendered-value.h: (rendered_value_calc_size_ext): Same as the previous rendered_value_calc_size, but accepts an mstyle as extra parameter. the purpose of this and some other minor changes from the rendered_value_calc_size is to be able to calc the size of a sheetless cell. (rendered_value_calc_size): Performs the same role as the previous rendered_value_calc_size and calls upon rendered_value_calc_size_ext to do its thing. (rendered_value_new_ext): Same as previous rendered_value_new but accept an mstyle as parameter for sheetless cells. (rendered_value_new): Exacly the same as the previous render_value_new, but calls upon rendered_value_calc_size_ext. * src/xml-io.c, src/xml-io.h: (xml_search_child): Export for use by xml-io-autoft.c. (xml_get_value_string): Idem. (xml_set_value_string): Idem. (xml_get_value_int): Idem. (xml_set_value_int): Idem. (xml_write_style): Idem. (xml_read_style): Idem. * src/xml-io-autoft.c, src/xml-io-autoft.h: New, these handle the reading/writing of autoformat templates. * src/format-template.h, src/format-template.c: New, wrapper around the loading and saving and managing of format templates. * templates/autoformat: Add default autoformat templates * configure.in: Modify to include the autoformat templates and define a new variable for the autoformat templates directory so we can find them at run-time 2000-08-31 Jody Goldberg * src/colrow.c (col_row_get_index_list) : Be more enthusiastic about merging and ordering. (col_row_equal) : new function. (col_row_copy) : new function. (col_row_size_list_destroy) : Typo. (col_row_restore_sizes_group) : Handle restoring default size. (col_row_set_sizes) : In special case of resizing all be smart. This needs improving. 2000-08-30 Jody Goldberg * src/number-match.c (compute_value) : AM/PM regexp matchs against the 'a' or 'p' not 'pm' * src/sheet.c (sheet_{col,row}_set_size_{pts,pixels}) : Set hard size even if the size does not change. * src/xml-io.c (xml_read_cols_info) : Restore the default col size, and rationalize the variable names. (xml_read_rows_info) : Restore the default col size, (xml_sheet_write) : Save the default row/col size in pts. Flush the run length encoding of the row/col sizes. (xml_write_colrow_info) : Use run length encoding to decrease the size of the generated xml. * src/colrow.c (col_row_equal) : new function. 2000-08-31 Morten Welinder * src/goal-seek.c (goal_seek_trawl_normally): Respect xmin and xmax. (goal_seek_bisection): Implement Ridder's method also. (This method turns out to be very useful for RATE-like functions.) 2000-08-31 Jon K Hellan * src/Makefile.am: Remove ref to non-existent graph-series.c to make the build work again. 2000-08-30 Jody Goldberg * dependent.[ch] : New base class for Cells. Convert everything to access the elements that are now in the cell's base. s/Cell::sheet/Cell::Dependent::sheet/ s/Cell::cell_flags/Cell::Dependent::flags/ * Makefile.am : Because of XL we need to build plugins before src. That will need changing. * src/func.c (function_marshal_arg) : Use expr_array_intersection. * src/expr.c (eval_expr_real) : Do implicit conversions from strings to numbers if possible. Access the first element of an array. NOTE : This is WRONG We need to implement array expression behavior some day. (expr_array_intersection) : New routine. 2000-08-30 Morten Welinder * src/print-cell.c (print_show_iso8859_1): Fix a few type errors. * src/functions/fn-financial.c (gnumeric_rate): Respect the sign of the guess. Work much harder at getting an answer. (gnumeric_irr): Mirror the RATE improvements. * src/goal-seek.c (goal_seek_point): New function. 2000-08-29 Jody Goldberg * src/Makefile.am : Fix file names. * src/number-match.c (format_match_simple) : New routine. * src/parser.y (parse_string_as_value) : Use it here. (build_array) : Do not use g_list_next it unnecessarily checks for NULL. 2000-08-30 Jon K Hellan * src/print-cell.[ch] (print_show_iso8859_1): Wrapper around gnome_print_show which accepts iso8859.1. We use this until we switch to UTF-8 internally. * src/print-cell.c (print_text): Use print_show_iso8859_1. * src/print.c (print_hf): Ditto. 2000-08-30 Jon K Hellan * src/print.c (print_page, print_job_info_get): Header/footer are measured from top/bottom of sheet, not from inside top/bottom margin. (print_page): Correct placement when centering horizontally or vertically. 2000-08-29 Morten Welinder * src/functions/fn-financial.c (gnumeric_sln): Value arg is float, not int. (gnumeric_syd): Ditto. (gnumeric_rate): Rate guess is float, not int. 2000-08-28 Morten Welinder * src/functions/fn-financial.c (gnumeric_rate): Fix special case. 2000-08-27 Jody Goldberg * src/number-match.c (format_create_regexp) : If we see seconds immediately after 'm' that was parsed as months replace it with minutes. XL is vile. (compute_value) : make seconds into a float. Add some debug assistance. Use a putrid hack to handle the various cases that can generate MATCH_NUMBER. When handling decimals make a another putrid hack to handle the case of second fragments. 2000-08-26 Jody Goldberg * src/sheet.c (colrow_move) : Reset the cell positions. 2000-08-25 Jody Goldberg * Makefile.am : Build gnumeric before its executables. 2000-08-22 Jody Goldberg * src/sheet.c (sheet_clone_styles) : Init the style tables. 2000-08-22 Jody Goldberg * src/sheet.c (sheet_clone_styles) : Patch leak. (sheet_clone_selection) : Patch leak. * src/print-info.c (print_info_copy) : Cut-n-Paste-o 2000-08-21 Jody Goldberg * src/corba-sheet.c : suppress warnings. * src/dialogs/dialog-stf.c : Ditto. * src/number-match.c (format_create_regexp) : Improve regexps. * src/formats.c (cell_format_is_number) : Format always uses standard decimal chars. * src/format.c (gnumeric_setlocale) : New routine that clears cached locale info. (format_get_decimal) : Improve use mon_decimal. (format_get_thousand) : Improve use mon_thousands_sep. (format_get_arg_sep) : New func. (format_get_col_sep) : New func. (format_destroy) : Use GPtrArray. (render_number) : Improve localization. (format_add_thousand) : rename format_toggle_thousands. De-localize. (find_decimal_char) : De-localize. (format_remove_decimal) : Ditto. (format_add_decimal) : Ditto. (format_number) : Ditto. * src/expr.c (do_expr_tree_to_string) : Use format_get_arg_sep. * src/cell.c (cell_get_format) : Update for the changes to StyleFormat. * src/auto-format.c (auto_style_format_suggest) : style_format_new -> style_format_new_XL * src/mstyle.c (mstyle_element_dump) : There is no direct access to the format string anymore. (mstyle_set_format_text) : Add a warning. * src/gutils.[ch] (float_get_from_range) : Delete. (int_get_from_range) : Ditto. * src/parser.y : Revamp lexer to use strtol, and strtod for number parsing. Begin hooks for supporting row & col selection. (3:4 or A:B) * src/print-info.c (render_value_with_format) : Changes to StyleFormat. * src/sheet.h : Move SpanCalcFlags. * src/gnumeric.h : here. * src/style.[ch] : Privatize StyleFormat, move it to format.[ch] * src/value.c (value_get_as_string) : Correctly localize things for output. * src/workbook-format-toolbar.c (modify_cell_format) : format modification callback modifies the StyleFormat. * src/workbook.c (workbook_set_auto_expr) : Use gnumeric_setlocale. * src/xml-io.c (xml_workbook_read) : Use gnumeric_setlocale. (xml_workbook_write) : Ditto. (xml_read_cell) : Use style_format_new_XL. (xml_write_cell_and_position) : Store the number formats in non localized XL form. (xml_write_style) : Ditto. * src/dialogs/dialog-cell-format.c (fmt_dialog_init_format_page) : Display localized number formats. (fillin_negative_samples) : Not need to localize generated number formats. * src/dialogs/dialog-function-wizard.c (formula_guru_set_expr) : Use format_get_arg_sep. * src/dialogs/dialog-stf-format-page.c (stf_dialog_format_page_prepare) : StyleFormats are now explicitly stored in a locale neutral format. * src/functions/fn-string.c (gnumeric_text) : changes to style_format_new. * src/functions/fn-financial.c (coupdayb) : Silence some warnings. * src/functions/fn-information.c (translate_cell_format) : This should now work for different locales. 2000-08-18 Jody Goldberg * src/number-match.c (compute_value) : Extend the match algorithms to handle the new regexps. * src/format.c (format_get_thousand) : provide a better default for countries using ',' as a decimal point. 2000-08-20 Owen Taylor * TODO.xml: Change "simple" to "small" as required by make-todo, so that it builds on developer.gnome.org. 2000-08-18 Jody Goldberg * src/xml-io.c (xml_write_cell_and_position) : Do not write Useless 'Style' attribute. - Make Rows/Cols attributes of the Cell not the Content - When storing Values store the value type, the parse format (if available) and the value as a plain string (eg $100.00 == 100) * src/value.c (value_new_from_string) : New function. * src/number-match.c (format_create_regexp) : Be more careful when handling decimals and thousands seperators. This sucks, but it sucks less than before. * src/formats.c (format_currency) : typo. 2000-08-17 Jody Goldberg * src/xml-io.c (xml_check_version) : New function. (xml_probe) : Use it here. (gnumeric_xml_read_workbook) : And here. * src/print-info.c (print_info_copy) : Leak less. * src/clipboard.c (paste_cell) : Set the pos rather than the row/col pointers. * src/solver-lp.c (solver_lp_copy) : Fix typo, and use Cell::pos. 2000-08-16 Chema Celorio * src/sheet.c (sheet_duplicate sheet_clone_cells, cb_sheet_cell_copy, sheet_clone_objects, sheet_clone_names, sheet_clone_selection, sheet_clone_styles, sheet_clone_style_region, sheet_clone_colrow_info, sheet_clone_colrow_info_item) : New. * src/solver-lp.c (solver_lp_copy) : New func. * src/print-info.c (print_info_copy) : New func. (print_info_margin_copy) : Ditto. * src/workbook.c (sheet_action_clone_sheet) : New. 2000-08-16 Jody Goldberg * src/sheet.c (sheet_cell_insert) : Add a flag to disable span recalculation. * src/sheet-style.c (sheet_get_style_list) : const. * src/position.c (parse_pos_init_cell) : Use Cell::pos. * src/clipboard.c (paste_cell_with_operation) : Changes to sheet_cell_insert. (paste_cell) : Ditto. * src/analysis-tools.c (prepare_output) : Changes to workbook_sheet_get_free_name. * src/workbook.c (insert_sheet_cmd) : ditto. (workbook_sheet_name_strip_number) : New. (workbook_sheet_get_free_name) : Handle names of the form 'bobo (2)'. 2000-08-16 Jody Goldberg * src/workbook-view.c (workbook_view_set_size) : Back out switch to set_usize it was disabling shrinking. Fix this eventually. * src/sheet.c (sheet_get_extent) : re-enable the use of sheet_style_get_extent. * src/sheet-style.c (sheet_style_get_extent) : rework to use 'visible in blank cell' rather than non-infinite. * src/mstyle.c (mstyle_visible_in_blank) : new function. * src/border.c (style_border_visible_in_blank) : new function. * src/xml-io.c (xml_write_style) : Save font info even if it only specifies underline or strikethrough. 2000-08-15 Morten Welinder * src/gutils.c (gnumeric_get_le_int16, gnumeric_get_le_uint16, gnumeric_get_le_int32, gnumeric_get_le_uint32, gnumeric_get_le_double, gnumeric_set_le_double): new functions, mostly for plugin support. 2000-08-15 Jody Goldberg * src/workbook.c (workbook_new) : Set the size after initializing everything else. * src/workbook-view.c (workbook_view_set_size) : size the notebook, not the toplevel window. * src/colrow.h (ROW_INTERNAL_HEIGHT) : Delete. * configure.in : CVS bonobo is 0.18. 2000-08-14 Jody Goldberg * src/print-cell.c (print_cell) : Sync with * src/cell-draw.c (cell_draw) : and clear out a few usages of Cell:{row,col})_info. * src/workbook.c (workbook_menu_edit) : Fix typo that made goto C-I instead of C-G. 2000-08-12 Jody Goldberg * configure.in : Bump bonobo version. * README : Ditto. 2000-08-12 Jody Goldberg * src/workbook.c (insert_object_cmd) : s/gnome_bonobo_select_oaf_id/bonobo_selector_select_id. * src/sheet-object.c (sheet_set_mode_type_full) : Ditto. * src/gnumeric-sheet.c (gnumeric_sheet_drag_data_get) : Disable until Michael has a chance to update to new api. * src/corba-workbook-factory.c (WorkbookFactory_create_object) : Update after the OAF factory renaming. 2000-08-11 Jody Goldberg * src/dialogs/Makefile.am : Add graph-guru for bonobo enabled builds. * src/dialogs/formula-guru.glade (rolled_label) : Don't fill. 2000-08-11 Jody Goldberg * src/functions/fn-math.c (gnumeric_g_product) : Ignore blanks. (gnumeric_product) : Ditto. (gnumeric_sumsq) : Ditto. (gnumeric_suma) : Ditto. (gnumeric_sum) : Ditto. (gnumeric_gcd) : Ditto. 2000-08-11 Jody Goldberg * src/corba-args.c : Remove support for Gnorba. Die Pig Die ! * src/corba-workbook-factory.c : Ditto. * src/embeddable-grid.c : Ditto. * src/sheet-object.c : Ditto. * src/workbook.c : Ditto. * src/cell-comment.c (cell_comment_realize) : Use Cell::pos rather than Cell::{row,col}_info->pos. (cell_comment_reposition) : Ditto. * src/cell-draw.c (cell_draw) : Ditto. * src/cellspan.c (cell_register_span) : Ditto. (cell_calc_span) : Ditto. * src/clipboard.c (paste_cell_with_operation) : Ditto. (paste_cell) : Ditto. * src/cmd-edit.c (cb_compare_deps) : Ditto. (cmd_select_cur_depends) : Ditto. * src/eval.c (dependency_range_ctor) : Ditto. (handle_cell_single_dep) : Ditto. (handle_cell_range_deps) : Ditto. (cell_get_range_dependencies) : Ditto. (cell_get_dependencies) : Ditto. * src/item-grid.c (item_grid_draw) : Ditto. * src/parse-util.c (cell_name) : Ditto. * src/position.c (eval_pos_init_cell) : Ditto. * src/print-cell.c (print_cell) : Ditto. (print_cell_range) : Ditto. * src/sheet-autofill.c (autofill_cell) : Ditto. * src/sheet-vector.c (sheet_vectors_cell_changed) : Ditto. * src/sheet.c (sheet_cell_calc_span) : Ditto. (sheet_reposition_comments) : Ditto. (sheet_get_extent_cb) : Ditto. (sheet_redraw_cell) : Ditto. (sheet_cell_add_to_hash) : Ditto. (sheet_cell_insert) : Ditto. (sheet_cell_new) : Ditto. (sheet_cell_remove_from_hash) : Ditto. (sheet_move_range) : Ditto. * src/solver-lp.c (solver_simplex) : Ditto. (make_solver_arrays) : Ditto. (solver_affine_scaling) : Ditto. (make_int_array) : Ditto. (solver_branch_and_bound) : Ditto. (solver_answer_report) : Ditto. (solver_sensitivity_report) : Ditto. * src/xml-io.c (xml_write_cell) : Ditto. (xml_cell_set_array_expr) : Ditto. (xml_write_solver) : Ditto. * src/dialogs/dialog-solver.c (check_int_constraints) : Ditto. * src/about.c : Move the ABOUT_KEY here from. * src/dialogs/dialogs.h : here. Also, add dialog_graph_guru. * src/Makefile.am : Remove wizard.h and the seperate wizard library. 2000-08-11 Jody Goldberg * src/expr.c (do_expr_tree_to_string) : Do not hard code the argument seperator, it needs to change depending on the locale. * src/dialogs/dialog-function-wizard.c (formula_guru_set_expr) : Ditto. 2000-08-10 Jody Goldberg * src/functions/fn-stat.c : All callers to float_range_function ignore blanks. * src/functions/fn-math.c : Ditto. * src/functions/fn-database.c (find_column_of_field) : Use cell_get_rendered_text rather than entered_text. (parse_criteria_rang) : Ditto. (find_rows_that_match) : Ditto. * src/formats.c (cell_format_currency) : Add some versions without trailing _), it was causing problems now that we handle spaces. We should not be using these lists to do this. 2000-08-09 Jody Goldberg * src/functions/fn-date.c (gnumeric_datevalue) : Handle error values. (gnumeric_timevalue) : Ditto. (gnumeric_year) : Ditto. (gnumeric_month) : Ditto. (gnumeric_day) : Ditto. (gnumeric_weekday) : Ditto. (gnumeric_days360) : Ditto. (gnumeric_eomonth) : Ditto. (gnumeric_workday) : Ditto. (networkdays_holiday_callback) : Ditto. (gnumeric_networkdays) : Ditto. * src/functions/fn-financial.c (gnumeric_coupdaybs) : Ditto. (gnumeric_coupdays) : Ditto. (gnumeric_coupncd) : Ditto. (gnumeric_coupnum) : Ditto. 2000-08-07 Arturo Tena * configure.in : Fix libole2 test. 2000-08-07 Jody Goldberg * src/workbook.c (workbook_menu_insert_special) : No need to specify the shift state anymore. * src/main.c (gnumeric_main) : Bug 15791. Disregard the state of the shift modifier for accelerators. 2000-08-07 Jody Goldberg * src/functions/fn-stat.c (callback_function_stat) : Handle blanks as 0. (callback_function_make_list) : Ditto. (callback_function_ttest) : Ditto. (gnumeric_mode) : Explicitly ignore blanks. (gnumeric_count) : Ditto. (gnumeric_ztest) : Ditto. (gnumeric_counta) : Ditto. (gnumeric_percentile) : Ditto. (gnumeric_quartile) : Ditto. (gnumeric_prob) : DO NOT IGNORE BLANKS. (gnumeric_ftest) : Ditto. (gnumeric_ttest) : Ditto. (gnumeric_frequency) : Ditto. * src/functions/fn-logical.c (gnumeric_and) : Handle changes to function_iterate_argument_values. (gnumeric_or) : Ditto. * src/functions/fn-math.c (gnumeric_lcm) : Ditto. (gnumeric_multinomial) : Ditto. (gnumeric_seriessum) : Ditto. * src/functions/fn-financial.c (gnumeric_mirr) : Use the old behavior of ignoring blanks. (gnumeric_irr) : Ditto. (gnumeric_npv) : Ditto. * src/functions/fn-eng.c (gnumeric_improduct) : Handle changes to function_iterate_argument_values. (gnumeric_imsum) : Ditto. * src/func.c (function_iterate_argument_values) : Add ignore_blank flag. * src/collect.c (callback_function_collect) : Support new collect flag COLLECT_IGNORE_BLANKS. (collect_floats) : change to function_iterate_argument_values. (float_range_function2) : Use COLLECT_IGNORE_BLANKS. 2000-08-01 Jody Goldberg * src/sheet-autofill.c (fill_item_new) : It is legal to have 'D' and 'M' for day or month fields. 2000-08-01 Jody Goldberg For : John N S Gill * src/item-cursor.c (item_cursor_autofill_event) : Implement support for double click on autofill button. 2000-08-02 Michael Meeks * configure.in: update for BonoboX 2000-07-22 Michael Meeks * src/sheet-object.c (sheet_finish_object_creation): unset dragging. * src/sheet-object-container.c (item_destroyed): conditional unref. 2000-07-31 Jody Goldberg * src/functions/fn-date.c (date_functions_ini) : Convert most of the routines to take 'Scalar' rather than '?' which did not handle ranges or arrays. * src/dialogs/dialog-function-wizard.c (formula_guru_arg_new) : Handle 'Scalar' * src/func.c (function_marshal_arg) : Add 'S' scalar. 2000-07-28 Jody Goldberg * src/global-gnome-font.c (global_gnome_font_init) : Adjust to signature change for gnome_font_family_list. 2000-07-26 Jody Goldberg * src/parser.y (parse_string_as_value_or_name) : Check for names before values. * configure.in : Update bonobo requirement to reflect release of 0.16 README : Ditto. 2000-07-26 Jody Goldberg * src/print-cell.c (print_cell) : resync with cell-draw. 2000-07-25 Jody Goldberg * src/workbook.c (change_displayed_zoom_cb) : Fix typo. * src/workbook-edit.c (workbook_start_editing_at_cursor) : Don't start editing if we are already editing. 2000-07-16 James R. Van Zandt * src/functions/fn-math.c: Misc. documentation cleanups. * src/functions/fn-stat.c: Misc. documentation cleanups. * src/functions/fn-eng.c: Fix nomenclature in erf and Bessel function documentation. erf() accepts negative arguments. 2000-07-24 Jody Goldberg * src/colrow.c (col_row_set_visibility_list) : Fix typo in name. * src/sheet.c (sheet_set_zoom_factor) : Set the default zoom to 1. (rather than the hackish -1) and add a 'force' flag to force an update even if the new zoom is close to the current zoom. * src/workbook.c (change_zoom_in_current_sheet_cb) : Adjust to changes in sheet_set_zoom_factor. * src/dialogs/dialog-zoom.c (dialog_zoom_impl) : Ditto. * src/xml-io.c (xml_sheet_read) : Ditto. 2000-07-21 JP Rosevear * src/sort.c (sort_contents): Add another level of indirection to ignore hiddens rows/cols 2000-07-14 Michael Meeks * src/sheet-object.c (shutdown_sheet_object_creation): implement (sheet_leave_notify): implement. (sheet_button_press): hook up leave notify. (sheet_finish_object_creation): disconnect the handler too. 2000-07-18 Jukka-Pekka Iivonen * src/functions/fn-financial.c (coupnum): Fixed frequency two and four. This functions should work now completely. 2000-07-16 Jody Goldberg * src/border.c (style_border_draw) : Improve the look of diagonal double borders. They still handle intersections poorly, but this improves things a bit. (style_border_print) : Ditto. 2000-07-16 Jody Goldberg For : Matt Bissiri * src/clipboard.c: Implemented 'paste link' and 'skip blanks' for paste special. (paste_link): New function. (paste_cell): Do not clear the target cells if PASTE_SKIP_BLANKS is specified. Call paste_link if PASTE_LINK is specified. * src/clipboard.h: Added PASTE_LINK and PASTE_SKIP_BLANKS flags. * src/dialogs/dialog-paste-special.c: (transpose_cb): Rename transpose_cb -> checkbutton_toggled. (dialog_destroy): New function. (paste_link_set_sensitive): New function. (dialog_paste_special): Add 'paste link' and 'skip blanks' to the dialog. 2000-07-13 Michael Meeks * src/main.c (gnumeric_main): remove bonobo_shutdown. 2000-07-12 Jody Goldberg For : Matt Bissiri * src/clipboard.c Implemented arithmetic operations for paste special. (cell_has_expr_or_number_or_blank) : New function. (cell_get_contents_as_expr_tree) : New function. (paste_oper_to_expr_oper) : New function. (apply_paste_oper_to_values) : New function. (paste_cell_with_operation) : New function. (paste_cell) : Call paste_cell_with_operation if paste_flags indicates an arithmetic operation. 2000-07-12 Michael Meeks * src/main.c (gnumeric_main): add bonobo_shutdown. * src/sheet-object-bonobo.c (sheet_object_bonobo_destroy): unref not destroy the bonobo object. * src/sheet-object-container.c (item_destroyed): ditto. * src/sheet-vector.c (sheet_vector_new): ditto. 2000-07-07 Michael Meeks * src/file.c (do_save_as, dialog_query_load_file): make check less stringent for fnames if using bonobo. * src/functions/fn-financial.c (coupdaybs): add brackets. * src/sheet-object.c (sheet_object_stop_editing): NULL the current_object. 2000-07-09 Jody Goldberg * src/history.c (history_menu_item_create) : Fix. * src/stf-parse.c (stf_parse_options_before_modification) : Simplify for irix compiler. * src/print-info.c (print_info_new) : cellrange is a ValueRange. (save_range) : Ditto. * src/dialogs/dialog-printer-setup.c (do_setup_page_info) : Ditto. (do_fetch_page_info) : Ditto. * src/application.c (application_dpi_to_pixels) : return a double. returning a float caused just enough loss of precision to break my putrid use of 9pt fonts. * src/workbook.c (workbook_set_auto_expr) : autoexpr are always parsed in the 'C' locale. * src/parser.y (gnumeric_parse_error) : New function. Makes code cleaner, and offers a handy dandy place for a break point. * src/workbook.c (workbook_setup_edit_area) : Pass '0' rather than 'FALSE' to avoid translation problems. * src/print.c (print_headers) : Adapt to changes in gnome-print. 2000-07-09 Jody Goldberg * src/sheet.c (sheet_col_row_default_init) : Take units in pixels or points. (sheet_{col,row}_set_default_size_pixels) : new functions. This interface sucks. Clean it up. * src/parser.y : Optionally insert a place holder when an unknown function is found. * src/func.c (function_add_placeholder) : New function, moved from the XL import code. * src/expr.c (expr_parse_string) : gnumeric_expr_parser signature change. * src/workbook.c (workbook_set_auto_expr) : Ditto. * src/application.c (application_dpi_to_pixels) : New function. * src/item-bar.c (item_bar_fonts_init) : Use it here. * src/sheet-view.c (sheet_view_get_style_font) : And here. * src/style.c (font_init) : and here. 2000-07-08 Jody Goldberg * src/parse-util.c (cellref_r1c1_get) : Make stricter. (r1c1_get_item) : Ditto. 2000-07-08 Jody Goldberg * plugins/Makefile.am (SUBDIRS) : Enable applix. 2000-07-08 Jody Goldberg * src/parse-util.c (col_from_name) : Add optional arg to indicate where parsing stoped. Similar to strtod. 2000-07-07 Jody Goldberg * src/xml-io.c (xml_write_style_border) : Trivial optimization. No need to save colour for STYLE_BORDER_NONE. (xml_read_style_border) : Ditto. 2000-07-08 Morten Welinder * src/sheet.c (sheet_cell_foreach_range): Change traversal order for ranges. * src/func.c (function_iterate_do_value): Fix traversal order for arrays. 2000-07-07 Morten Welinder * src/functions/fn-math.c (gnumeric_sumproduct): Rewrite with lots of care in error handling. * src/value-sheet.c (value_area_get_width): Make it official that scalars have width 1. (value_area_get_height): Likewise. (value_area_get_x_y): Likewise. 2000-07-06 Almer. S. Tigelaar. * src/stf-parse.c (stf_parse_options_fixed_autodiscover): When splitting columns in 2 the last character in the rightmost column would not be taken into account. 2000-07-06 Jody Goldberg * src/item-cursor.c (item_cursor_do_action) : Do not do anything if we have not moved. * src/sheet-style.c (sheet_style_compute_from_list) : Make public. and rename from sheet_mstyle_compute_from_list. Changed all callers. * src/rendered-value.c (rendered_value_new) : Optionaly take a style list. Use it if offered. * src/cell.c (cell_render_value) : New signature for rendered_value_new. * src/render-ascii.c (cell_region_render_ascii) : Temporarily reverse the style list so that it goes in the correct direction. Use rendered_value not entered_text. * src/clipboard.c (clipboard_prepend_cell) : Init the Cell::pos with the offsets. This is useful in when looking up formats. 2000-07-06 Jukka-Pekka Iivonen * src/functions/fn-financial.c: Implemented COUPNCD(). 2000-07-05 Jody Goldberg * src/Makefile.am (EXTRA_DIST) : Remove -lglade-bonobo for now. * src/main.c (gnumeric_main) : glade_bonobo_init -> glade_gnome_init 2000-07-05 Michael Meeks * src/bonobo-io.c (write_stream_to_storage): implement. (write_mem_to_storage): implement. (create_xml_bonobo_stream): create. (xml_input_read_cb): (xml_input_close_cb): (hack_xmlSAXParseFile): copy from libxml. * src/sheet-object.c (sheet_object_drop_file): update; this should be totaly re-written. * src/sheet-object-bonobo.c (sheet_object_bonobo_load): clean up. * src/sheet-object-item.c (sheet_object_item_new): remove, redundant; re-tool calls to sheet_object_container_new_object. * src/sheet-object.c (create_object): rename the one use. * src/sheet-object-container.c (sheet_object_container_new_from_object_id): remove activation logic. * src/sheet-object-bonobo.c (sheet_object_bonobo_destroy): free object_id. (sheet_object_bonobo_construct): do activation in here. (sheet_object_bonobo_get_object_iid): implement. * src/sheet-object-container.c (sheet_object_container_new_from_goadid): rename to (sheet_object_container_new_object): this. * src/xml-io.c (xml_write_sheet_object): add bonobo io. (xml_read_sheet_object): add bonobo and re-scope vars. (xml_parse_ctx_new_full): implement. * src/main.c (gnumeric_main): add bonobo_io_init. * src/xml-io.c (xml_parse_ctx_init): implement, (xml_parse_ctx_shutdown): ditto. (xml_workbook_write): moved (gnumeric_xml_write_workbook): s/parse_xml_context_t/XmlParseContext/ * src/xml-io.c (xml_workbook_read): publicise. (xml_workbook_write): ditto. 2000-07-04 Michael Meeks * src/about.c (dialog_about): sort alphabeticaly. 2000-07-05 Morten Welinder * src/clipboard.c (x_selection_to_cell_region): Copy data and zero terminate it. * src/stf-parse.c (stf_parse_fixed_line): Kill unneeded cast. (stf_parse_convert_to_unix): Unconstify. Don't bother keeping track of len. Handle form-feeds better. 2000-07-05 Almer. S. Tigelaar. * src/stf-parse.c: (stf_parse_options_fixed_autodiscover): When a column has right and left aligned text split and has 2 or more spaces in the middle split the column in two. (Suggested by Morten) 2000-07-04 Jody Goldberg * src/workbook-edit.c (workbook_edit_detach_guru) : Nat having a guru in place is not an error. * src/clipboard.c (x_selection_received) : No need to sheet_update or recalc. cmd_paste_copy handles that. * src/gnumeric-util.c (gnumeric_non_modal_dialog) : New function. 2000-07-04 Morten Welinder * src/clipboard.c (x_selection_received): Update current sheet, not a NULL sheet. 2000-07-04 Almer. S. Tigelaar. * autogen.sh: Downgrade libtool requirment from 1.3.4 to 1.3.3. because compiling Gnumeric works fine with 1.3.3. 2000-07-04 Jukka-Pekka Iivonen * src/functions/fn-financial.c: Implemented basis 0 for COUPDAYBS. * src/functions/fn-financial.c (coupdays): Implemented frequency 1 for basis 1 (frequences 2 and 4 are still not done). 2000-07-04 Almer. S. Tigelaar. * src/dialogs/dialog-stf.c, src/dialogs/dialog-stf-fixed-page.c: Fix column mangling in fixed width import. * src/dialogs/dialog-stf-format-page.c: (format_page_format_changed): Use new sublist_select member to avoid 'jumping' of the GtkClist when selecting from the sublist. (format_page_sublist_select_row): idem. (stf_dialog_format_page_init): Initialize sublist_select. * src/stf-parse.c, src/stf-parse.h: (stf_parse_options_fixed_autodiscover): New! Column autodiscovery for fixed width. * src/dialogs/dialog-stf.glade: Add clear and autodiscovery buttons * src/dialogs/dialog-stf-fixed-page.c: (fixed_page_autodiscover): Autodiscovery routine. (fixed_page_clear_clicked): Clear click handler (fixed_page_auto_clicked): Autodiscovery click handler 2000-07-04 Jukka-Pekka Iivonen * samples/excel/infofuns.xls: Changed the third test case of ERROR.TYPE. It seems that XL produces #VALUE! error for STDEV("foo") but #DIV/0! error for STDEV(A1) when A1 contains string `foo'. Cool. 2000-07-03 Morten Welinder * src/stf-parse.c (stf_parse_get_rowcount): Don't add one to the number of lines if the last line is empty. * src/sheet.c (sheet_cell_set_text): Plug leak. * src/workbook-format-toolbar.c (do_sheet_selection_apply_number_format): Avoid double translation of format. * src/mstyle.c (mstyle_set_format_text): Renamed from mstyle_set_format. (mstyle_set_format): New function taking a StyleFormat *. 2000-07-03 Jody Goldberg * src/workbook.c : Begin the Name menu. * src/workbook-edit.c (workbook_edit_set_sensitive) : New function. (workbook_finish_editing) : Use here. (workbook_start_editing_at_cursor) : And here. (workbook_edit_attach_guru) : And here. (workbook_edit_detach_guru) : And here. (workbook_edit_entry_redirect_p) : New function. * src/item-grid.c (item_grid_button_1) : If we have a guru up, but are not selecting a region ignore clicks. (item_grid_event) : Ditto. * src/gnumeric-sheet.c (gnumeric_sheet_can_select_expr_range) : It is possible to have a guru up without selecting regions. * src/expr-name.c (expr_name_list) : Doh! 2000-07-03 Jukka-Pekka Iivonen * src/analysis-tools.c: Implemented `Histogram' tool (mostly). * src/dialogs/tools.h: Related changes. * src/dialogs/analysis-tools.glade, src/dialogs/dialog-analysis-tools.c: Added dialogs for `Histogram' and `Fourier Analysis' tools. The later is not implemented yet. 2000-07-03 Jukka-Pekka Iivonen * src/functions/fn-financial.c: Implemented COUPNUM(). * src/analysis-tools.c: Started the implementation of the third anova tool (two-factor with replication). * src/dialogs/analysis-tools.glade: Added dialog for the new tool. Fixed the `Correlation' dialog. * src/dialogs/dialog-analysis-tools.c: Added dialog_anova_two_factor_without_r_tool(). * src/dialogs/tools.h: Related changes. * TODO: Added `Data analysis tools' section. 2000-07-02 Jody Goldberg * src/expr.c (expr_rewrite) : Names can contain relative references, we need to check them too. * src/parser.y (exp) : Add production for sheet specific names. eg Sheet2!name 2000-07-01 Jody Goldberg * src/functions/fn-string.c (parse_search_strin) : Use g_strdup. 2000-07-01 Morten Welinder * src/file.c (can_try_save_to): Constify. Handle empty name. (do_save_as): Ditto. (wants_to_overwrite): Ditto. 2000-06-30 Morten Welinder * src/file.c (dialog_query_load_file): Guard against empty entry. * src/parse-util.c (parse_cell_name_list): Plug leak. * src/solver-lp.c (write_constraint_str): Return an allocated string instead of taking an unsized buffer. Constify. All callers changed. * plugins/Makefile.am (SUBDIRS): Delete text, ff-csv, and sample plugins. Separate the remaining ones into file formats and functions. 2000-06-30 JP Rosevear * src/embeddable-grid.c (EmbeddableGridFactory_init): Use consistent names. * gnumeric.gnorba: Make server names consistent * gnumeric.oafinfo: Make server names consistent 2000-06-30 Jody Goldberg * src/gnumeric-sheet.c (gnumeric_sheet_can_select_expr_range) : It is possible to have a guru up without editing. (gnumeric_sheet_key_press) : rename from gnumeric_sheet_key. (gnumeric_sheet_size_allocate) : rename from gnumeric_size_allocate. (gnumeric_sheet_focus_in) : Enable the input context. (gnumeric_sheet_focus_out) : Disable the input context. (gnumeric_sheet_realize) : Create the input context. (gnumeric_sheet_unrealize) : Destroy the input context. (gnumeric_sheet_class_init) : Register the new methods. (gnumeric_sheet_init) : Init the input context. * src/clipboard.c (x_selection_handler) : Adjust to changes in application_clipboard_clear. (x_selection_clear) : Ditto. * src/cmd-edit.c (cmd_paste) : Ditto. * src/sheet.c (sheet_destroy) : Ditto. * src/application.c (application_clipboard_clear) : Make dropping the selection optional. This removes the kludges necessary to handle changing the clipboard when we already have the selection. * src/functions/fn-logical.c (gnumeric_true, gnumeric_false) : fix signatures. 2000-06-30 Jukka-Pekka Iivonen * src/functions/fn-logical.c: Added FALSE(). 2000-06-29 Jody Goldberg * src/application.c (application_set_selected_sheet) : short circuit clearing the selection if we are in the same workbook, not just the same sheet. * src/sheet.c (sheet_name_quote) : cast to unsigned char for safety when using isdigit. * src/workbook.c (wb_edit_key_pressed) : Ditto. 2000-06-28 Arturo Tena * configure.in: Improve libole2 detection. 2000-06-29 Jody Goldberg * src/parser.y : Add 'string_opt_quote' and use it in a few productions that do not care about the quote state of the token. * src/sheet.c (sheet_name_quote) : Sheet names that begin with digits need to be quoted. (#15720) 2000-06-28 Jody Goldberg * src/expr.c (expr_tree_new_funcall) : Ref the function here. * src/func.c (fn_def_new) : Init the new elements. 2000-06-28 Jody Goldberg * src/functions/fn-sheet.c (GNUMERIC_VERSION) : new function. * src/workbook.c (workbook_do_destroy) : No need to release the clipboard here. The Sheet does it for us. * src/workbook-format-toolbar.c : Add Fill to the default money format. * src/symbol.c : The only symbols are functions. The global table should not be world visible. * src/sheet.c (sheet_flag_status_update_cell) : Take a CellPos. (sheet_get_extent_cb) : Use Cell::pos rather than adding an indirection. (cb_set_cell_content) : Use StyleFormat. (sheet_cell_set_value) : Call sheet_flag_status_update_cell. (sheet_cell_set_value) : Ditto. (sheet_destroy) : Prepare to clear out named expressions. (colrow_move) : Handle changes in cell_relocate signature. (sheet_move_range) : Ditto. * src/sheet-autofill.c : Use StyleFormats. * src/position.c (parse_pos_init) : Global position are permitted. * src/parser.y : Large change. Do not automaticlly look for function names or named expressions in the lexer. The lexer returns STRING and QUOTED_STRING. The parser then does the appropriate lookups to potentially convert to something else. This allows us to have sheet names that are the same as functions. * src/parse-util.c (cellref_name) : Add flag to optionally disable the addition of the sheet name. This is useful when printing Sheet2!A1:A3 rather than Sheet2!A1:Sheet2!A3. * src/number-match.c (format_create_regexp) : Handle fill formats. * src/mstyle.c (mstyle_get_border) : Fix constness. * src/mathfunc.c (combin, fact) : Moved these here from functions/fn-math.c * src/main.c (gnumeric_main) : No more constants_init, or global_symbol_init. * src/func.c () : Reorg. Remove some dead code. Begin adding workbook local function support, Begin adding volatile, and semi-volatile functions. Move the use of SymbolTable internal in preparation for eliminating it. * src/format.c (format_number) : Improve support for pound, yen, and euro. Remember to produce a number when we hit spacing. * src/expr.c : Have ExprFunc refer directly to the FunctionDefinition We still use a SymbolTable internally, but that will be merged out later. * src/expr-name.c : Major reorg. Not complete. * src/corba-sheet.c (fill_corba_value) : Adjust to changes in cellref_name signature. * src/commands.c (cmd_set_date_time_undo) : No need to manually call update_cell_flag. cell_remove, and cell_set_text do that for us. (cmd_set_date_time_redo) : Ditto. Use StyleFormat. * src/clipboard.c (paste_cell) : Take the ExprRewriteInfo as an argument. (clipboard_paste_region) : Init the ExprRewriteInfo. We need to do this here rather than in cell_relocate because we may be moving a region, not just a single cell, and references within the region should not be changed. * src/cell.c (cell_relocate) : Take the relocation info as an argument. Non NULL indicates a request to check bounds. We can not do this at the cell level. becuase we may be moving a block rather than just a single cell, and references into the block should NOT be rewritten. (cell_set_text_and_value) : Take a StyleFormat. (cell_assign_value) : Ditto. (cell_set_value) : Ditto. (cell_set_expr_internal) : Ditto. (cell_set_expr_unsafe) : Ditto. (cell_set_expr) : Ditto. * src/auto-format.c (do_af_suggest) : Expression now refers directly to functionDef. 2000-06-22 Miguel de Icaza * src/sheet-object-item.c (sheet_object_item_new): Add OAF support here. 2000-06-27 JP Rosevear * src/functions/fn-lookup.c (find_index_bisection): Undo transposition of find_bound_walk parameters. * samples/excel/lookfuns2.xls: Add type mismatch tests. 2000-06-27 Jukka-Pekka Iivonen * src/functions/fn-stat.c (help_finv): Fixed copy-paste bug in documentation. * src/functions/fn-logical.c: Added TRUE() function since it is also a function in Excel. * TODO: Updated the status of the build-in functions. 2000-06-26 Jody Goldberg * src/value.c (value_get_as_checked_bool) : Use g_return_val_if_fail rather than assert. A log entry is better than a crash. 2000-06-26 JP Rosevear * src/value.c (value_get_as_checked_bool): New function that doesn't require an error variable - use only if confident that the value does actually exist. * src/value.h: Add new prototype. * src/functions/fn-lookup.c: Clean up cruft (find_type_valid): See if the value is a string or is gnumeric. (find_compare_type_valid): See if the types are comparable. (find_bound_walk): Walk an integer range first in one direction and then in the other direction. (find_index_linear): Do a linear search on a range or array. (find_index_bisection): Do a bisection search on a range or array that also follows excel rules for for handling type mismatches during the search and finding the first and last item matching the search. (gnumeric_vlookup): Use new functions and implement undocumented excel behaviour. (gnumeric_hlookup): ditto (gnumeric_lookup): ditto (gnumeric_match): ditto 2000-06-26 Morten Welinder * src/format.c (lookup_color): Don't double translate. Compare the right number of characters. 2000-06-26 Michael Meeks * src/sheet-object-bonobo.c (get_file_name): return non-filenames as NULL. 2000-06-26 Jukka-Pekka Iivonen * src/functions/fn-financial.c: Implemented COUPDAYS for basis 0, 2, 3, and 4 (basis 1 is still not implented). 2000-06-23 Morten Welinder * src/dialogs/dialog-analysis-tools.c (set_output_option_signals): Constify. (set_group_option_signals): Constify. (new_frame): Constify. (error_in_entry): Constify. (new_dialog): Constify. * src/analysis-tools.c: major cleanup. Eliminate fixed-size buffers that might overflow; constify; plug leaks; improve precision; produce numbers without going through strings. (set_cell_float, set_cell_int, set_cell_na, set_cell_printf): New functions. * src/xml-io.c (xml_write_range): Constify. (xml_get_gnome_canvas_points): Mark code as bogus. (xml_set_gnome_canvas_points): Constify. Improve space checks. (xml_set_value_int): Improve buffer sizing. (xml_set_value_string): Constify. (xml_set_color_value): Improve buffer sizing. * src/ranges.c (parse_range): Constify, simplify, optimise, and secure. (range_parse): Fix strict case. * src/parse-util.c (parse_cell_name_or_range): Remove bogus cast. 2000-06-23 Jon K Hellan (sheet_object_container_new_bonobo): As suggested by Michael: use the accessor function bonobo_client_site_get_embeddable to get the bound embeddable. 2000-06-23 Karl Eichwalder * src/style.c (font_init): Add missing dot. 2000-06-22 Jody Goldberg * src/item-edit.c (item_edit_draw_text) : Restore code that was deleted to handle a cursor on another line, or at the start of the line. 2000-06-22 Jon K Hellan * src/sheet-object-container.c (sheet_object_container_new_bonobo): Change BonoboClientSite->bound_object to bound_embeddable. This was just changed in Bonobo CVS. 2000-06-21 Michael Meeks * src/embeddable-grid.c (embeddable_grid_init_anon): fix. 2000-06-20 Morten Welinder * src/commands.c (cmd_ins_del_row_col_undo): Leak and assertion fix from Jody's tree. 2000-06-20 Jody Goldberg * src/commands.c (cmd_paste_cut_redo) : Plug leak. * src/number-match.c (format_match) : strings with only spaces are NOT numbers. 2000-06-18 Jody Goldberg * Release 0.56 2000-06-19 Jody Goldberg * src/eval.c (invalidate_refs) : const. (do_deps_destroy) : const. * src/cell.c (cell_set_expr_internal) : Be careful about unrefing. * src/item-edit.c (entry_event) : Rather than catching 'event' and checking for the type of event we want. Catch the events directly. That way the events can take place BEFORE we look for our position. * src/workbook-edit.c (entry_changed) : The characters starting expressions are not alphabetic. Don't bother testing them too. (workbook_start_editing_at_cursor) : Do not start autocompletetion if the content is not completable. 2000-06-19 Morten Welinder * src/sheet.c (sheet_get_extent_cb): Typo fix per Jody. Hopefully cures all the save-as-XL95 problems. 2000-06-18 Jody Goldberg * Release 0.55 2000-06-18 Jody Goldberg * src/parser.y (build_array) : This is almost certainly broken in locales that use ',' as a decimal point. * src/xml-io.c (xml_probe) : xmlCreateFileParserCtxt will return NULL if the file was not readable. 2000-06-17 Jody Goldberg * src/sheet.c (sheet_cell_set_text) : Does this change the selection or content of edit pos. (sheet_cell_remove) : Ditto. (sheet_destroy) : Remove irrelevant assignment. sheet_deps_destroy does it for us. 2000-06-15 Jody Goldberg * src/value-sheet.c (value_is_error) : No need for 'offset' parm. * src/number-match.c (format_match) : Parse TRUE/FALSE as this level. * src/value-sheet.c (constants_init) : TRUE/FALSE are not symbols. They are values. A symbol only has value in an expression. A value operates at a lower level. eg A1 : '=TRUE' will work as a value or a symbol A1 : 'TRUE' will only work as a value 2000-06-15 Jody Goldberg * src/format.c (lookup_color) : Handle translated colours. * src/number-match.c (format_create_regexp) : Build the regexp ourselves. The poor translators had no idea what the hell that was supposed to do. The regexp is still way way to general. (compute_value) : Use the locale. * src/expr.c (expr_tree_as_string) : Renamed from expr_decode_tree. (expr_tree_get_func_def) : new function. (expr_tree_first_func) : New function. * src/expr-name.c (expr_name_value) : Rename expr_decode_tree -> expr_tree_as_string. * src/style.c (font_init) : Improve error message to include the most probable location of the fontmap file. * src/sheet-view.c (sheet_view_size_allocate) : Disable jump to edit pos to avoid unintended jumping when a sheet is added. * src/func.c (function_def_count_args) : Correctly handle vararg functions that takes nodes. 2000-06-15 JP Rosevear * src/expr.c (eval_expr_real): Use new value_compare API 2000-06-14 JP Rosevear * src/value.h: Update value_compare prototype. * src/value.c (value_compare): Make it take a new case sensitive flag for string comparisons. * src/sort.c (sort_compare_cells): Use value_compare to do the comparisons. Handle the special cases of blanks (always at bottom, whether asc or desc) and errors (after booleans). 2000-06-14 Morten Welinder * src/history.c (history_item_label): Change "_" to "-", fixing around 14183. * src/print.c (sheet_print): Complain when printing fails. 2000-06-14 JP Rosevear * samples/excel/sort.xls: Add sort sample. Now we see that Excel sorts Errors after Booleans (for ascending order) and then by the name of the error. Blanks are always at the bottom (asc and desc). 2000-06-14 Jody Goldberg * src/workbook-format-toolbar.c (money_format) : Correct. (do_sheet_selection_apply_number_format) : Decrease hackishness and improve docs for the formats. 2000-06-13 Jody Goldberg * src/functions/fn-math.c (callback_function_sumproduct) : Handle empty. (gnumeric_sumproduct) : Handle blank cells correctly, correct error handling slightly. * src/func.c (iterate_cellrange_callback) : Handle empty cells. (function_iterate_do_value) : Add a new argument to control the handling of empty cells. (function_iterate_argument_values) : Hard code the ignore_blanks argument to TRUE the same as the previous behavior. 2000-06-13 Morten Welinder * src/stf-parse.c (trim_spaces_inplace): New function. (stf_parse_fixed_cell): Don't trim spaces here. (stf_parse_fixed_line): Trim here. (stf_parse_csv_cell): Don't trim spaces here. (stf_parse_csv_line): Trim here. 2000-06-13 Jody Goldberg * src/functions/fn-math.c (callback_function_sumif) : No need to malloc memory for an int. Fix the logic to handle empty cells properly. * src/stf-parse.c (stf_parse_options_set_trim_spaces) : patch typo. 2000-06-13 Jody Goldberg * src/workbook.c : Enable the formula guru, make WorkbookPrivate hold the BonoboObject in the ENABLED_BONOBO case. * src/workbook-edit.c (workbook_finish_editing) : Disconnect any gurus that may be up. (entry_changed) : Do not autocomplete expressions. Gurus play havoc with this. (workbook_edit_auto_complete_init) : Delete unused. (workbook_get_entry_logical) : New function. (workbook_set_entry) : New function. (workbook_edit_attach_guru) : New function. (workbook_edit_detach_guru) : New function. (workbook_editing_expr) : When a guru is up we are always editing an expression. TODO, tune this. (workbook_edit_load_value) : Moved from Sheet, and renamed from sheet_load_cell_val. (workbook_edit_init) : Handle gurus. * src/sheet.c (sheet_destroy_cell_select_cursor) : Make clearing optional. * src/sheet-vector.c (sheet_vector_new) : The vectors are BonoboObjects, destroy them correctly. (sheet_vectors_shutdown) : Ditto. * src/sheet-object.c (sheet_set_mode_type_full) : Silence warning. (sheet_object_insert) : Renamed from sheet_insert_object and moved from sheet.c * src/pixmaps.h : Enable the Formula guru. * src/parser.y (arg_list) : Improve handling of empty arguments. * src/gnumeric-sheet.c (selection_remove_selection_string) : Use workbook_get_entry_logical. (selection_insert_selection_string) : Ditto. (start_cell_selection_at) : Ditto. (gnumeric_sheet_key_mode_sheet) : Ditto. * src/workbook-private.[ch] : Make this into a Bonobo Object for now. * src/embeddable-grid.c (embeddable_grid_init_anon) : Use workbook_new_with_sheets. (embeddable_grid_new) : WorkbookPrivate is temporarily the bonobo object. * src/history.c (history_menu_item_create) : Ditto. (history_menu_locate_separator) : Ditto. (history_menu_insert_separator) : Ditto. (history_menu_remove_items) : Ditto. * src/sheet-object-bonobo.c (sheet_object_bonobo_construct) : Ditto. * src/sheet-object-container.c (sheet_object_container_realize) : Ditto. * src/workbook-view.c (workbook_view_set_paste_special_state) : Ditto. (change_menu_label) : Ditto. * src/file.c (workbook_try_read) : Workbook is now always just a GtkObject. (workbook_import) : Ditto. * src/formats.c (cell_format_date) : Add some new formats. * src/format.c (find_decimal_char) : Restore constness. (format_remove_decimal) : Fix the const correctly. * src/commands.c (cmd_ins_del_row_col_redo) : Fix to use the new semantics. 2000-06-12 Jody Goldberg * src/sheet-autofill.c (fill_item_destroy) : Free the format. (fill_item_new) : Handle filling by month and year. (autofill_compute_delta) : Ditto. (autofill_cell) : Ditto. * src/formats.c (cell_format_is_number) : currently handle the single character currencies. (cell_format_date) : year only formats. 2000-06-10 Jody Goldberg * src/gnumeric-sheet.c (gnumeric_sheet_make_cell_visible) : Minor optimization. 2000-06-13 Morten Welinder * src/functions/fn-math.c (gnumeric_round): Round properly. 2000-06-12 JP Rosevear * src/workbook.c (sort_cmd): Adjust if the range to be sorted has a header. * NEWS: Update. * src/ranges.h: New prototype. * src/ranges.c (range_has_header): New function to determine if a region has a header row. 2000-06-09 Jody Goldberg * src/item-cursor.c (item_cursor_update) : Change sheet -> sheet-view. (item_cursor_set_bounds) : Add a short circuit test and return TRUE if things changed. (item_cursor_selection_event) : Take a SheetView. (item_cursor_target_region_ok) : sheet -> sheet-view (item_cursor_do_action) : Ditto. (item_cursor_set_arg) : Ditto. (item_cursor_class_init) : Ditto. (item_cursor_set_bounds_visibly) : Make the cell visible before changing the bounds. (cb_move_cursor) : New function. (cb_autofill_scroll) : New function. (item_cursor_handle_motion) : New function. (item_cursor_drag_event) : Enable timer based scrolling. (item_cursor_autofill_event) : Ditto. * src/gnumeric-sheet.c (start_cell_selection_at) : item-cursor takes a sheet-view rather than a sheet. (gnumeric_sheet_new) : Ditto. Only update if the bounds changed. * src/item-edit.c : Take a SheetView rather than a Sheet. * src/sheet-view.c (sheet_view_start_sliding) : Return a flag indicating whether or not the timer has been triggered. * src/border.c (LineDotPattern) : Fixed const. 2000-06-08 Jody Goldberg * src/gnumeric-sheet.c (gnumeric_sheet_compute_visible_ranges) : ok now I understand what those calls to gnome_canvas_get_scroll_offsets where supposed to do. * src/colrow.c (col_row_restore_sizes) : Arrgghh. Stupid typo. (col_row_restore_sizes_group) : Patch leak. * src/workbook-edit.c (entry_changed) : Only autocomplete text that begins with an alphabetic 2000-06-08 Jody Goldberg * src/sheet-view.c (sheet_view_{col,row}_selection_changed) : Do not make the edge visible, the scroll time will take care of that. (sheet_view_{col,row}_size_changed) : Use the new undo wrappers. (cb_colrow_resize) : Use the new undo wrappers. (sheet_view_init) : Init the scroll timers. (sheet_view_stop_sliding) : Based on the version from item_grid. (sheet_view_start_sliding) : Ditto. (sheet_view_sliding_callback) : Ditto. Added callback support. tuned scroll parameters. * src/number.h : Clear out unused cruft. * src/item-grid.c : Move support for scroll timers into sheet-view. * src/item-bar.c (get_element_from_pixel) : Renamed from get_col_from_pos. (cb_extend_selection) : New function. (item_bar_event) : Use the sliding scroll mechanism in sheet_view. * src/item-cursor.c (item_cursor_selection_event) : Adapt to changes in item_grid_find_{col,row}. (item_cursor_drag_event) : Ditto. * src/sheet.c (sheet_foreach_colrow) : renamed and moved to. * src/colrow.c (col_row_foreach) here. * src/gnumeric-sheet.c (gnumeric_sheet_find_{col,row}) : Moved here and renamed from. * src/item-grid.c (item_grid_find_{col,row}) : here. * src/value.c (value_equal) : deleted. (value_compare) : Moved and renamed from * src/expr.c (compare) : here. (expr_dump_tree) : Delete replicated function. * src/colrow.c (col_row_size_list_destroy) : (col_row_index_list_destroy) : New function. (col_row_get_index_list) : New function. (col_row_set_sizes) : New function. (col_row_restore_sizes_group) : New function. (col_row_save_sizes) : Moved from sheet.c col_row_restore_sizes : Ditto. cb_set_row_height : Ditto. rows_height_update : Ditto. src/commands.c (cmd_resize_row_col*) : Implement. 2000-06-08 Morten Welinder * src/commands.c (cmd_sort_undo): Take advantage of sort_data_length and sort_permute_invert. (cmd_sort_destroy): leak fix. * src/sort.c (sort_data_length): Make public. (sort_permute_invert): New function. 2000-06-08 Jon K Hellan * src/workbook.c (change_displayed_zoom_cb): Set zoom using gtk_combo_text_set_text. (change_zoom_in_current_sheet_cb): Check that current sheet is non NULL. (workbook_zoom_feedback_set): Block callbacks while changing displayed zoom. * src/workbook-format-toolbar.c (workbook_create_format_toolbar): Drop the empty font name - that was needed in the option menu, but not now we're using a combo box. Ignore nameless fonts in gnumeric_font_family_list. (We were displaying *two* blank lines at the top - now we've got rid of both.) (workbook_feedback_set): Set font size and font name using gtk_combo_text_set_text, which also selects the item in the combo list if present. Get rid of hack to select font name in list - this is now done in the widget. (workbook_feedback_set): * src/sheet.c (sheet_set_zoom_factor): Check that sheet isn't NULL. 2000-06-07 Morten Welinder * src/sort.c (sort_contents): Use the C-library's qsort. Fix permutation. Speed up things. 2000-06-07 Jody Goldberg * src/format.c (format_number) : Escaped characters trigger a render too. This code really needs to be rationalized. 2000-06-07 Darin Adler * src/history.c: (history_menu_item_create): Update name of call so it will compile with the latest Bonobo. 2000-06-06 Miguel de Icaza * src/commands.c (cmd_set_text): Update code. * src/workbook-edit.c (workbook_auto_complete_destroy): Simplify test here. 2000-06-06 Jody Goldberg * src/workbook.c (workbook_delete_sheet) : Update the undo/redo toolbar and menus. * src/sort.c (sort_permute) : Avoid Leak. * src/commands.c (cmd_sort_destroy) : Avoid leak. (cmd_autofill) : Do not autofill if the target is the same as the source. * src/main.c (gnumeric_main) : Fix typo that was breaking minicons. * src/item-bar.c (item_bar_end_resize) : Always emit signal. (item_bar_event) : On double click emit a signal with newsize == -1 to indicate a need to autosize. 2000-06-06 JP Rosevear * src/sort.c (sort_position): Call sort_permute with the given permutation index (sort_contents): Call sort_qsort to get a permutation index and then use sort_permute to actually move the rows (sort_permute): Use copy and paste to move rows/cols around (sort_permute_next): Find next row/col the hasn't been set based on the permutation array (sort_permute_is_set): Find if a a bit in a bit array is set (sort_permute_set): Set a bit in a bit array (sort_permute_find): Find a given number in a permutation array (sort_qsort): Produce a permutation index for sorting rows or cols (sort_swap): Swap two entries in the permutation index (sort_compare_sets): Compare two sets of cells (sort_compare_cells): Compare two cells (sort_data_destroy): Destroy SortData struct * src/commands.c (cmd_sort): Store the new sort data structure (cmd_sort_redo): Call sort_contents only if a permutation index does not already exist, otherwise use the index with sort_postion (cmd_sort_undo): Create an inverse of the permutation index if it doesn't already exit to call sort_positon with * src/commands.h: New cmd_sort prototype. * src/workbook.c (sort_cmd): Reflecting sorting API changes 2000-06-05 Jody Goldberg * src/cell.c (cell_relocate) : when relocating the expression be careful to use the offsets when calculating the validity. * src/workbook-edit.c (workbook_auto_complete_destroy) : Only remove signal if it has been activated. Only delete the completer if it exists. 2000-06-05 Miguel de Icaza * src/gnumeric-util.c (gtk_radio_button_select): Add precondition. Chema found this, but we should add the proper check at an upper layer. 2000-06-04 Miguel de Icaza * src/gnumeric-util.c (gnumeric_entry_at_subexpr_boundary_p): Change prototype to use GtkEntry instead of GtkWidget. * src/workbook-edit.c (workbook_finish_editing): Changed direct access to workbook->private_entry to workbook_get_entry. (entry_changed): ditto. (workbook_start_editing_at_cursor): ditto. (workbook_editing_expr): ditto. (workbook_edit_get_display_text): ditto. * src/workbook.c (autosum_cmd): Changed direct access to workbook->private_entry to workbook_get_entry. (do_focus_sheet): ditto. (wb_edit_key_pressed): ditto. (workbook_setup_edit_area): ditto. * src/workbook.c (cb_autofunction): ditto. * src/workbook-private.h: Make edit_line a structure to keep track of the entry and its signal changed. Also take a chance to change this to the self descriptive GtkEntry instead of GtkWidget. * src/commands.c (cmd_set_text): Added const here. * src/workbook.c (workbook_do_destroy): Add destroy notification for the editing facilities * src/item-edit.c (item_edit_set_arg): removed auto complete code from here. 2000-06-03 Miguel de Icaza * src/workbook-edit.c, src/workbook-edit.h: New files. Moved workbook_start_editing_at_cursor, workbook_finish_editing, workbook_get_entry, workbook_editing_expr here. Killed workbook_set_entry prototype. * src/workbook.c (workbook_start_editing_at_cursor): Moved autocomplete here. * src/workbook.h: Removed warning. #include is a mandatory header file in every C file. A correct approach is to use something like Nautilus' perl script that verifies the presence of config.h as the first include. * src/workbook.c (close_cmd): Removed ulgy (void) (quit_cmd): More. (sheet_action_rename_sheet): more. (workbook_finish_editing): Fixed more ugly. * src/gutils.c (gnumeric_sys_glade_dir): Fixed ugly indentation. (gnumeric_usr_plugin_dir): More ugly stuff fixed. (gnumeric_usr_dir): Removed ugly const. 2000-05-02 Miguel de Icaza * src/item-edit.h: New ::entry member, auto_max_size, auto_complete_text * src/item-edit.c (item_edit_draw_text): Take an ItemEdit as a first argument, and reduce the cluttered arguments we were passing. (item_edit_draw): Cursor_pos is now only the position, it is not overloaded with show/hide cursor as well. (item_edit_draw_text): Update acoordingly. (item_edit_draw_cursor): This new routine paints the cursor only. (item_edit_set_arg): Add a new signal handler for "activated" on the entry (cb_item_edit_cursor_blink): Removed FIXME. (item_edit_set_arg): Init item_edit->entry. I am pretty sure this existed in the past. 2000-05-01 Miguel de Icaza * src/item-edit.c (item_edit_draw): Pass auto-completing flag. (item_edit_draw_text): Invert auto-complete region. (item_edit_set_arg): Init auto_completing here. (item_edit_complete_notify): Set the entry from the auto-completing data here. 2000-06-05 Jody Goldberg * src/sheet.c (sheet_cell_expr_{link,unlink}) : renamed from sheet_cell_formula_{link,unlink}. * src/cell.c (cell_relocate) : Doh! use the offset flags now that they are being passed. * src/clipboard.c (paste_cell) : Renamed from paste_cell_flags. * src/expr.c (compare) : value_is_empty_cell -> VALUE_IS_EMPTY. * src/value.c (VALUE_IS_EMPTY) : rename from value_is_empty_cell. * src/sheet-private.h : Add resize_scrollbar. * src/sheet.c (sheet_{col,row}_add) : Use resize_scrollbar flag rather than manually updating the scrolling bar. (sheet_update) : Handle resize_scrollbar. (sheet_cell_expr_link) : renamed from sheet_cell_formula_link. (sheet_cell_expr_unlink) : renamed from sheet_cell_formula_unlink. 2000-06-04 Jody Goldberg * src/value.c (value_is_empty_cell) : str == "" is not empty * src/expr.c (compare) : comparisons between "" and empty are special. 2000-06-04 Jody Goldberg * src/sheet.c (sheet_cell_add_to_hash) : Set the CELL_IN_SHEET_LIST flag. (sheet_cell_remove_from_hash) : Clear the CELL_IN_SHEET_LIST flag. (cb_remove_allcells) : Ditto. (sheet_cell_formula_link) : Set the CELL_IN_EXPR_LIST flag. (sheet_cell_formula_unlink) : Clear the CELL_IN_EXPR_LIST flag. (sheet_formulas_unlink) : Ditto. * src/clipboard.c (paste_cell_flags) : Take some additional arguments so that pasted cells can potentially have their references made invariant, this is for sorting. (clipboard_paste_region) : Pass the additional offsets when PASTE_EXPR_RELOCATE is specified. (append_cell_closure_t) : Delete this type. Move the origin cell info into CellRegion. * src/cell.c (cell_copy) : Clear the sheet and associated flags for the copied cell. This avoids accidentally realizing comments that become undeletable. (cell_relocate) : Remove the unlink flag now that we have the additional cell_flags. 2000-06-02 Michael Meeks * Makefile.am (SUBDIRS): remove libole2. duh. 2000-06-02 Jody Goldberg * src/selection.c (sheet_selection_reset) : Delete unused routine. (sheet_selection_to_list) : Ditto. * src/item-cursor.c (item_cursor_autofill_event) : Use new undoable version of autofill. * src/corba-sheet.c (Sheet_selection_reset) : Delete. * src/commands.c (cmd_area_set_text_undo) : We want to restore formulas, not values. (cmd_clear_selection) : Paste by value should be exclusive of paste by formula. (cmd_autofill_*) : New functions. * idl/Gnumeric.idl : Remove useless function selection_reset. * src/number-match.c (format_match) : Handle numbers larger than LONG_{MAX,MIN} by falling through to double. * src/sheet.c (sheet_recompute_spans_for_col) : Use closure. 2000-06-01 Jody Goldberg * src/xml-io.c (xml_sheet_write) : Adjust to changes in sheet_foreach_colrow. * src/sheet.c (sheet_foreach_colrow) : Adjust signature. (colrow_compute_pixels_from_pts) : Adjust to changes in sheet_foreach_colrow. (sheet_set_zoom_factor) : Ditto. (cb_recalc_spans_in_col) : Ditto. (sheet_recompute_spans_for_col) : Ditto. (cb_colrow_compute_pixels_from_pts) : New function wrapper. (sheet_find_boundary_{horizontal,vertical}) : Fix case of being on the last non-blank element of a col/row and jumping to the far edge. (sheet_move_range) : Redraw prior to moving incase the src region contains a span. (sheet_redraw_cell_region) : Be more intelligent about skipping over large empty regions. (sheet_cell_foreach_range) : Ditto. (cb_check_array_{horizontal,vertical}) : new functions. (sheet_range_splits_array) : Rewrite to be use sheet_foreach_colrow. * src/selection.c (sheet_selection_cut) : Adjust to changes in sheet_range_splits_array. * src/commands.c (cmd_paste_cut_undo) : Select the src range when undoing a cut. This seems like a nice effect. * src/colrow.c (cb_set_row_height) : Adjust to the changes in sheet_foreach_colrow. * src/auto-format.c (auto_format_suggest) : Make static. * src/gnumeric-util.c (gnumeric_wb_dialog_run) : Silence warning. 2000-06-02 Jon K Hellan * src/gnumeric-util.c (gnumeric_wb_dialog_run): Do not set parent if parent is already the right one. This avoids unwanted moving of already displayed dialogs. * src/about.c: Make sure it is only popped up once (cb_closed): New callback to remove dialog from workbook window's object data. (dialog_about): Check if dialog exists as object data on workbook window. If so, raise dialog window instead of creating a new one. Otherwise store dialog as object data, and connect signal handler for "close". Replace calls to gnome_dialog_set_parent, gnome_dialog_set_close and gtk_widget_show with a call to gnumeric_dialog_show which does it all. 2000-05-30 Michael Meeks * src/Makefile.am (gnumeric_libs): kill libole2 hack. * configure.in: kill CONFIG_SUBDIRS for libole2. 2000-05-31 Almer. S. Tigelaar. * src/dialogs/dialog-stf.c : (stf_dialog_druid_page_cancel) : Remove misplaced gtk_main_quit. * src/dialogs/dialog-stf-export.c : (stf_export_dialog_druid_page_cancel) : Idem. 2000-06-01 Kenneth Christiansen * po/desk.pl, po/update.pl: Two new scripts for helping translation/i18n maintainance of Gnumeric * po/README.tools: Added readme file, which explains the use of the newly checked in po tools. * NEWS: Added notice about this Please go read. 2000-05-31 Jody Goldberg * configure.in : Improve naming for libxml messages. * src/functions/fn-information.c (gnumeric_countblank) : Fix typo reported by Bug 12428. * src/sheet.c (sheet_move_range) : invalidate destination before adjsuting src to point to dst. (cmd_paste_cut_*) : keep a list of displaced content, not just the lost bits of the destination range, but also the portions of the src that are out of range. 2000-05-31 Jody Goldberg * src/commands.c (cmd_ins_del_row_col_destroy) : Fix leak. (cmd_paste_cut_*) : We do need to worry about invalidations. Any references to the portions of the destination region that do not overlap the src region get invalidated. * src/ranges.c (range_translate) : Adjust the semantics so that the result warns of a range that was translated completly out of bounds. * src/sheet.c (sheet_move_range) : Invalidate the references to the portions of the destination range that do NOT overlap with the src. (sheet_shift_{cols,rows}) : Rename and move to.. * src/cmd-edit.c (cmd_shift_{cols,rows}) : here. Use cmd_paste_cut instead of sheet_move_range directly. * src/dialogs/dialog-{insert,delete}.c : Switch to cmd_shift_{cols,rows}. * src/history.c (history_menu_insert_separator) : Add a more detailed explaination when the history lookup fails. 2000-05-30 Morten Welinder * src/format.c (find_decimal_char): Remove over-constification. (format_remove_decimal): Terminate the copy properly. 2000-05-30 Jon K Hellan * src/dialogs/dialog-printer-setup.c (enum MarginOrientation): Add MARGIN_NONE for use with set_horizontal/vertical_bounds. (spin_button_set_bound): New function. Allow the value in spin button to increase by at most space_to_grow. (get_printable_width): New function. Return page width minus margins in specified unit. (get_printable_height): New function. Return page height minus margins, header and footer in specified unit. (set_horizontal_bounds): New function. Set the upper bounds for left and right margins. (set_vertical_bounds): New function. Set the upper bounds for top/bottom margins, headers and footers. (draw_margin): Add default branch to silence warning - MARGIN_NONE now exists. (canvas_update): Update bounds for margins when paper size has changed. (spin_button_adapt_to_unit): New function. Select suitable increments and number of digits for the unit. (do_convert): Call function above. (unit_changed): Update bounds for margins when a margin has changed. (unit_editor_configure): Call spin_button_adapt_to_unit. 2000-05-29 Jody Goldberg * src/commands.c (cmd_ins_del_row_col_undo) : Bounds are inclusive. 2000-05-29 Jody Goldberg * src/item-grid.c (create_popup_menu) : translate the menu labels. 2000-05-27 Michael Meeks * src/sheet-object-bonobo.c (sheet_object_bonobo_load), (sheet_object_bonobo_load_from_file): update for new PersistStream API. * configure.in (gnumeric_executable): check for bonobo 0.14 2000-05-29 Jody Goldberg * src/expr.c (cellrange_relocate) : Only relocate a range if both elements need relocation. 2000-05-29 Jody Goldberg * src/xml-io.c (xml_workbook_write) : Arrrggh. textdomain seems to use a static buffer. We need to strdup the result. A more thorough reading of the docs suggests that changing the textdomain is completely wrong. It is not doing what I had originally thought at all. Any idea what the correct solution would be ? I'll patch this for now because 12461 is serious, and this does solve the problem, even if the solution is crap. 2000-05-29 ERDI Gergo * src/commands.c: Including dialogs/dialog-autocorrect.h (warning fix) * src/workbook.c (workbook_create_standard_toobar): Turn off the button reliefs on the toolbar 2000-05-28 ERDI Gergo * src/workbook.c: Create and insert GtkComboStacks into the toolbar for Undo/Redols * src/commands.c: Use the new undo/redo stack methods * src/workbook-view.[ch]: Several new methods to modify the user interface to the undo/redo stack 2000-05-28 Jody Goldberg * src/commands.c (cmd_paste_copy_undo) : The first time through we transpose. After that we are jsut replace the old content. no transpose needed. 2000-05-28 Jody Goldberg * src/commands.c (cmd_paste_copy_undo) : handle paste errors. (cmd_paste_copy_destroy) : do not release unless we are permitted to. (cmd_paste_copy) : When pasting a transpose we are more lenient about resizing things. I am not sure I agree with this behavior. * src/clipboard.c (clipboard_paste_region) : Return a boolean indicating success or failure. 2000-05-27 Jody Goldberg * src/clipboard.c (clipboard_paste_region) : Off by one error. 2000-05-27 Jody Goldberg * src/sheet.c (sheet_update) : When recalulating all spans, we may need to render some cells too. (sheet_move_range) : Do not call sheet_update here. (sheet_shift_rows) : Call it here. (sheet_shift_cols) : and here. * src/commands.c (cmd_paste_cut_undo) : Do a recalc. (cmd_paste_cut_redo) : No need to force a status range update, move already did that. * src/cmd-edit.c (cmd_paste) : typo. * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Chift/Ctrl space are not active while editing. * src/workbook.c (function_druid) : Disable until this works better. * src/commands.c (cmd_paste_copy_undo) : Mark the sheet as dirt, and do a recalc. * src/clipboard.c (clipboard_paste_region) : flag the need to potentially update the status range. 2000-05-27 Jody Goldberg * src/clipboard.c (x_selection_received) : Do not try to paste if the conversion was canceled. (clipboard_paste_region) : Respan/rerender as necessary after pasting. 2000-05-27 Jody Goldberg * src/commands.c (cmd_paste_copy) : Move the handling of singletons and the setting of the selection here. * src/clipboard.c (clipboard_paste_region) : From here. * src/cmd-edit.c (cmd_paste_to_selection) : Remove incorrect precondition. 2000-05-27 Valek Filippov * src/functions/fn-math.c, fn-stat.c, fn-lookup.c: typos in description fixed. 2000-05-27 Almer. S. Tigelaar. * src/dialogs/stf-parse.c: (stf_parse_options_set_trim_spaces): New function. (stf_parse_csv_cell): Modified so it can trim spaces in several ways (stf_parse_fixed_cell): Ditto. (stf_parse_get_longest_row_width) : Fixed small bug which caused incorrect width to be returned. * src/dialogs/dialog-stf.glade: Added trim spaces option and did some general polishing. * src/dialogs/dialog-stf.h: Added new member to DruidPageData_t which indicates weather the user wants to trim spaces and in which way. * src/dialogs/dialog-stf-main-page.c: (stf_dialog_main_page_init): Modified so it loads the trim optionmenu. (main_page_trim_menu_deactivate): New. * src/dialogs/dialog-stf-csv-page.c: (stf_dialog_csv_page_prepare): Now sets the trim member of the parse options struct. * src/dialogs/dialog-stf-fixed-page.c: (stf_dialog_fixed_page_prepare): Now sets the trim member of the parse options struct. (stf_dialog_fixed_page_prepare): Did not honor the from/to line settings. (fixed_page_remove_clicked): Added gnumeric_clist_moveto to make selection visible. (fixed_page_add_clicked): Ditto. * src/dialogs/dialog-stf-format-page.c: (format_page_canvas_button_press_event): Modified to use gnumeric_clist_moveto (format_page_collist_select_row): Ditto. (format_page_format_changed): Ditto. (stf_dialog_format_page_prepare): Ditto. * src/gnumeric-util.c, src/gnumeric-util.h: (gnumeric_option_menu_get_selected_index): New function, Returns the selected index of a GtkOptionMenu. (Originally from dialog-stf-export-format-page.c) * src/dialogs/dialog-stf-export-format-page.c: (stf_export_dialog_option_menu_index): Removed. (sheet_page_separator_menu_deactivate): Modified to use the new gnumeric_option_menu_get_selected_index. (stf_export_dialog_format_page_result): Ditto. * doc/stf-parser.txt: Update documentation. 2000-05-26 Jody Goldberg * src/clipboard.c (clipboard_paste_region) : Fix typo, and thinko. 2000-05-26 Jody Goldberg * src/selection.c (selection_is_simple) : Use a command context. (sheet_selection_paste) : Delete. * src/plugin.c : rename error_plugin_problem -> error_plugin. * src/item-grid.c (context_paste_cmd) : Use cmd_paste_to_selection. (context_paste_special_cmd) : Ditto. * src/gnumeric-sheet.c : remove cached 'controlling_entry' in preparation for the function druid. * src/corba-sheet.c : Delete Sheet_selection_paste. this will need to be replaced with a new signature. * src/item-cursor.c (item_cursor_do_action) : Use new cmd_paste. * src/commands.c (cmd_area_set_text_{undo,redo}) : Use new clipboard_paste_region. (cmd_ins_del_row_col_{undo,redo}) : Ditto. (cmd_clear_{undo,redo}) : Ditto. (cmd_set_date_time_{undo,redo}) : Ditto. (cmd_paste_cut_*) : new functions. * src/command-context*.c : Add progress, remove splits_array. * src/cmd-edit.c (cmd_paste) : New function. (cmd_paste_to_selection) : New function. * src/clipboard.c : Reorganize/rewrite. (clipboard_paste_region) : paste content. (clipboard_paste) : paste content from clipboard or X selection. (paste_target_init) : New function. (sheet_paste_selection) : merge into clipboard_paste_region. * src/application.c (application_clipboard_copy) : rename clipboard_copy_cell_range -> clipboard_copy_range. * idl/Gnumeric.idl : Merge InvalidValue, SplitsArray -> InvalidCmd. * src/workbook.c (workbook_setup_status_area) : Include a progress bar. * src/sheet.c (sheet_update) : SPANCALC_NO_DRAW exists now. 2000-05-26 Michael Meeks * src/sheet.c (sheet_update): corrent SPANCALC_NO_DRAW to SPANCALC_RESIZE since the former does not exist. 2000-05-26 ERDI Gergo * src/dialogs/dialog-printer-setup.c (unit_editor_configure): Hilight the currently edited margin 2000-05-25 Jody Goldberg * src/sheet.c (sheet_update) : Only redraw forech cell if we will not be redrawing everything later. (sheet_{insert,del}_{cols,row}) : Mark the need to recompute spans on next update. * src/print.c (print_{headers, footers}) : Headers and footers are offset from the edge of the page by their own margins. MS appears to assume the order is edge -> header -> top. 2000-05-26 ERDI Gergo * src/dialogs/dialog-printer-setup.c (draw_margin): Draw header/footer space correctly (computed in accordance to the top/bottom margins) 2000-05-25 ERDI Gergo * src/dialogs/dialog-printer-setup.c: The small page icon reflects the actual margin values 2000-05-25 Valek Filippov * src/dialog/print.glade.h: insert /* xgettext: no-c-format */ 2000-05-25 Jon K Hellan * src/dialogs/dialog-printer-setup.c: Add an option menu for selecting units to the margin page. Read entire dialog from guile file rather than just reading contents and reparenting into a new GnomeDialog. (dialog_print_info_t): Add conversion_listeners list. (convert_to_{pt|mm|cm|in): These are no longer called directly as callbacks, so the unused widget parameter has been removed. (listeners_convert): New callback function invoked when a new unit has been selected. Receives a conversion function as callback data and invokes it on all the registered conversion listeners. (add_unit): Add dpi parameter. Remove data parameter. Connect listeners_convert. (unit_editor_new): Rename to unit_editor_configure. Connect target to existing spinbutton in glade dialog. Add dialog_print_info and spin button name parameter. Replace PrintUnit parameter with points and units. Use unit parameter instead of hardcoded centimeters. Register unit editor as a conversion listener. Make in spin buttons invoke "OK". Remove deactivated code to display a unit selector for each margin. (tattach): Remove. (do_setup_margin): Use the top margin unit for display and ignore desired display for the others. Configure unit selector option menu. Call unit_editor_configure for each margin - previously unit_editor_new was called via tattach. Pack preview canvas in container instead of explicitly in table. Thus, the code no longer contains table coordinates, and the glade file can safely be changed. (do_setup_page): Make in spin buttons and combo invoke "OK". (do_setup_main_dialog): Remove dialog reparenting hack - GnomeDialogs are now fully supported in Glade. Remove explicit focusing - now done in Glade file. (dialog_print_info_destroy): Free conversion listeners. (do_setup_page_info): Make in entry fields and combo invoke "OK". * src/dialogs/print.glade(.h?): Turn into a complete GnomeDialog. Set consistent internal border in notebook pages. Rename rightmost page from "page" (used for two pages) to "sheet". (page page): Give meaningful name to first page number combo. Make it insensitive. (margin page): Add an option menu for units. Include spin buttons in glade file. Tweak layout. (sheet page): Give meaningful names to print area entry and comments combo. Make them insensitive. * src/dialogs/cell-format.glade: Add focus target to format_symbol_label to make Number/Currency/S_ymbol accelerator work. * src/dialogs/autocorrect-exceptions.glade: Add internal border to notebook pages. * src/dialogs/workbook-attr.glade: Add internal border to notebook pages and frames. * src/dialogs/dialog-workbook-attr.c (attr_dialog_impl): Set dialog title. 2000-05-24 Morten Welinder * src/main.c (gnumeric_main): Style now needs to be initialised before formats. * src/number-match.c (format_match): Take a StyleFormat ** instead of a char ** for the suggested format. All callers changed. (format_parse_t): rename member format to format_str and introduce new member format, a StyleFormat *. (format_match_define): Get a style at this point. * src/datetime.c (datetime_value_to_serial_raw): Don't supply a format return variable to format_match since we aren't interested in the result. * src/parse-util.c (parse_text_value_or_expr): Return a StyleFormat * instead of a char *. All callers changed. * src/expr.c (expr_parse_string): Take a StyleFormat ** instead of a char ** for the suggested format. All callers changed. * src/parser.y (make_string_return): Turn parser_desired_format into a StyleFormat **. (gnumeric_expr_parser): Take a StyleFormat ** instead of a char ** for the suggested format. All callers changed. * src/auto-format.c (auto_style_format_suggest): New function. * src/sheet-style.c (sheet_style_optimize): Include adjacent ranges in the list of styles to consider. Handle intervening styles better. Don't stop searching for matching pairs just because we merge -- only when the merge kills the slave. * src/ranges.c (range_dump): Don't print "\n". All callers changed as needed. * src/sheet-style.c (sheet_style_optimize, sheet_styles_dump): Send all debugging output to stderr. (As opposed to half stderr and half stdout.) 2000-05-24 Jody Goldberg * src/file.c (workbook_import) : set the import dialog's parent widget to be the PARENT workbook, not the new unrealized workbook. * src/cell.c (cell_set_expr_internal) : Actually assign the format after we ref it. (cell_get_format) : Cells with format 'General' may appear to have a format via autoformat or via the text that was entered. 2000-05-21 Jody Goldberg * src/cmd-edit.[ch] : New files. * src/workbook.c (cb_edit_select_*) : Use the cmd-edit utilities. Make a 'select' sub menu of edit. * src/sheet.c : Use the newly added CellPos in each Cell rather than mallocing a seperate struct. * src/selection.c (sheet_select_all) : Move. * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Make the selection commands accelerators. 2000-05-21 Jon K Hellan * src/gnumeric-util.[ch] (gnumeric_toolbar_insert_with_eventbox): (gnumeric_toolbar_append_with_eventbox): New functions. Pack widget in eventbox and add eventbox to toolbar. This lets a windowless widget (e.g. combo box) have tooltips. * src/workbook-format-toolbar.c (workbook_create_format_toolbar): Enable tooltips for combo boxes. We do this by using gnumeric_toolbar_{insert|append}_with_eventbox instead of gtk_toolbar_{insert|append}_widget. * src/workbook.c (workbook_create_standard_toobar): Ditto 2000-05-21 Jon K Hellan * src/dialogs/dialog-zoom.glade: Remove label from invisible column title. * src/dialogs/plugin-manager.glade(.h?): Add accelerators to notebook tabs. * src/dialogs/autocorrect-exceptions.glade(.h?): Add accelerators to buttons on notebook pages. * src/dialogs/workbook-attr.glade(.h?): Ditto. 2000-05-17 Jody Goldberg * src/clipboard.c (clipboard_copy_cell_range) : Adjust signature to take a range. (sheet_paste_selection) : Export in preparation for adding undo. * src/commands.c (cmd_paste_copy) : Some initial work. Not used or complete. * src/parse-util.c (parse_text_value_or_expr) : Start passing in the current format so that we can eventually attempt to match it before trying all the others. * src/sheet.c (sheet_formulas_unlink) : New function. (sheet_destroy_contents) : Optimize. * src/dialogs/dialog-plugin-manager.c : Make a bit prettier. * src/dialogs/plugin-manager.glade : Ditto. 2000-05-16 Jody Goldberg * plugins/*/*.c : Rationalize the naming scheme. 2000-05-15 Jody Goldberg * src/eval.[ch] : Rename cell_queue_recalc -> eval_queue_cell cell_queue_recalc_list -> eval_queue_list cell_unqueue_recalc -> eval_unqueue_cell (eval_unqueue_sheet) : New function. * src/sheet.c (sheet_cell_remove_simple) : Add precautionary removal of cells from recalc list. We should not need this in most instances, but the check is inexpensive so I'll play it safe. (sheet_destroy_contents) : Batch cleanups rather than doing it cell by cell. * src/cell.c (cell_make_value) : Fill in the implementation. * src/clipboard.c (paste_cell_flags) : Remove some dead code. Merged in paste_cell and fixed handling of paste by value. 2000-05-14 Jody Goldberg * src/clipboard.c (paste_cell) : No need to call cell_content_changed we can queue the recalc for the entire region later. It is sufficent to make the cell as changed with sheet_cell_changed. (paste_cell) : It is premature to redraw, we have no yet calculated spans. Redraw and respan at the range level, not the cell. 2000-05-20 Jody Goldberg * Release 0.54 2000-05-20 Jody Goldberg * src/print-cell.c (print_cell_range) : Don't draw background if we are just sizing things. * configure.in : Bump reqs. libglade >= .13, gnome-print .20 * src/workbook-format-toolbar.c (change_selection_font) : Add strikethrough. ({bold,italic,underline}_cmd) : Handle accelerators too. * src/cellspan.c (cell_calc_span) : Do not overlap spans when using center across selection. * src/application.c (application_set_selected_sheet) : We still need to partially clear the clipboard when short circuiting. * src/item-grid.c (item_grid_draw) : Do not draw the contents of hidden spanning rows/cols. * src/print-cell.c (print_cell_range) : Ditto. * src/colrow.c (cb_row_col_visibility) : Be careful not to compare TRUE for equality. * src/cell.c (cell_copy) : Ref the format if one exists. (cell_set_format) : Apply the format to a NEW style, not the current style which may be say .... the DEFAULT!!! * src/sheet.c (sheet_update) : Update cursor positions when visibility changes. (sheet_clear_region) : When clearing formats we need to update the spans and sizes of the contents. (sheet_update_cursor_pos) : New function. (sheet_row_col_visible) : changing the status of a row/col changes visibility. (sheet_update_cursor_pos) : warning suppression. (sheet_row_col_visible) : Be careful not to compare TRUE for equality. (sheet_clear_region) : respan both sides of a singleton row/col. Check for cells to either side even if there is no span, if we are directly adjacent to a cell it would have no span even if it wanted one. * src/sheet-view.c (sheet_view_update_cursor_pos) : New function split out from sheet_view_set_zoom_factor. (sheet_view_set_zoom_factor) : Use sheet_view_update_cursor_pos. * src/colrow.c (cb_set_row_height) : Only set the height if it changed. * src/application.c (application_set_selected_sheet) : No need to clear the X selection if we already own it. * src/commands.c (cmd_format_undo) : It is necessary to respan, resize things when some format elements change. * src/sheet-style.c (sheet_range_apply_style) : Changing the word wrapping changes the size, changing the underline or strikethrough does not. (required_updates_for_style) : Split out from sheet_range_apply_style. (sheet_style_attach_list) : Track the types of updates required. 2000-05-18 Jody Goldberg * src/xml-io.c (xml_workbook_read) : Set the textdomain as well as the LC_NUMERIC so that things like TRUE/FALSE do not get translated while persisting. (xml_workbook_write) : Ditto. * src/sheet-style.c (sheet_style_optimize) : We can not merge (in any dimension) if there is an intervening style that partially overlaps. * src/ranges.c (range_adjacent) : Tweak to increase readability, and delete dead code. * src/sheet-object.c (sheet_button_press) : Minor patch so that objects begin with a non zero size. This needs to be reworked into a more general technique so that a 0 sized object is not possible in instances when that should be disabled. * src/print-cell.c (print_cell) : Correct double negative that was breaking printing for cells with multiple lines that were bottom or center aligned. * src/normal-args.c : Adjust includes to remove warning. 2000-05-18 Michael Meeks * configure.in: Bump required GB version. 2000-05-16 Michael Meeks * configure.in: Kill libole2 path check, add CONFIG_SUBDIRS (EXTRA_GNOME_*): remove libole2. 2000-05-17 Jody Goldberg * src/summary.c (summary_item_as_text) : Be careful to strdup all strings. (g_str_case_equal) : Delete duplicate. (g_str_case_hash) : Delete duplicate. (summary_info_new) : Use gnumeric_strcase_hash & gnumeric_strcase_equal. * src/workbook-cmd-format.c (workbook_cmd_format_{column,row}_auto_fit) : Only mark the sheet as dirty if something was changed. * src/stf.c (stf_read_workbook) : Bring up to date. * src/xml-io.c (xml_write_attributes) : Do not use freed memory. (xml_workbook_write) : Free the args. * src/item-bar.c (item_bar_event) : Autosizing an empty row/col returns 0. * configure.in : Update required version of bonobo to 0.13. * README : Ditto. * src/cell-draw.c (cell_draw) : Cache the vertical alignment, and ensure that verticaly justified lines do not overlap. * src/print-cell.c (print_cell) : Ditto. * src/sheet-object.c (sheet_set_mode_type_full) : Add a prototype to avoid warnings. * src/sheet-object.c (create_object) : Ugly workaround for bug 9984. Ensure that objects do not start with size 0,0. * src/workbook.c (workbook_expr_relocate) : Add missing initialization. * src/file.c (file_finish_load) : New function to finish loading after a read or import. (workbook_read) : Use here. (workbook_import) : And here. * src/sheet.c (sheet_get_extent) : Disable the use of sheet_style_get_extent until it is more intelligent. (sheet_{insert,delete}_{cols,rows}) : Flag that the range content has changed so that the status areas will be updated. (sheet_{col,row}_size_fit_pixels) : Return 0 if there are no cells. * configure.in : Produce a Using OAF message in the non-bonobo case too. Limit xml to version 1.x for now. * src/cell.c (cell_set_text_and_value) : Set the entered_text BEFORE the value so that cells with format = text render correctly. 2000-05-16 Jody Goldberg * src/sheet-autofill.c (autofill_cell) : Init the RewriteInfo::type. * src/clipboard.c (paste_cell) : Cells need acurate locations before relocation. This is not pretty, but it is functional. 2000-05-16 Karl Eichwalder * NEWS (Translations): Add gl. 2000-05-16 Karl Eichwalder * gnumeric.spec.in: Use %{version}, %{name} and %{sysconfdir} more consistently. Avoid long lines. 2000-05-15 Jesus Bravo Alvarez * configure.in: Added gl (Galician) to ALL_LINGUAS * gnumeric.desktop.in: Added Galician translation 2000-05-15 Jody Goldberg * src/functions/fn-math.c (gnumeric_floor) : Add some examples for negatives. 2000-05-15 Karl Eichwalder * NEWS (Translations): Add de, no, and sv. 2000-05-14 Jody Goldberg * src/commands.h : Reformat. * src/commands.c (cmd_ins_del_row_col_{undo,redo}) : unant the selection when the topology changes. * src/workbook.c (workbook_expr_relocate) : Fix typo. * src/sheet-view.c (sheet_view_{col,row}_selection_changed) : Call sheet_update after a change. 2000-05-11 Michael Meeks * src/embeddable-grid.c (grid_view_activate): grab widget focus. * src/workbook-format-toolbar.c (workbook_feedback_set): make it cope with no format toolbar. * src/workbook.c (workbook_init): g_new0 for safety and to blank edit_line. * src/embeddable-grid.c (grid_view_new): set a sensible default size so we actually see something. (grid_view_activate): Fix with state boolean. (set_header_visibility): implement. (embeddable_grid_set_header_visibility): update. (grid_view_destroy): kill. (grid_view_new): kill evil private list of views. * gnumeric.oafinfo: another fix, evil bug from oaf conversion script. 2000-05-11 Jon K Hellan * src/workbook.c (workbook_rename_sheet): Don't make "Duplicate sheet name" message if sheet name did not change. 2000-05-11 Michael Meeks * src/Makefile.am (gnumeric_libs): kill libole2 libs kludge. 2000-05-10 Michael Meeks * configure.in: Add check for libole2 and add to gnome-config. 2000-05-10 Karl Eichwalder * Makefile.am: Typo. 2000-05-10 Jody Goldberg * src/workbook-format-toolbar.c (workbook_format_toolbar) : Add accelerators for Bold, Underline, and Italic. (workbook_create_format_toolbar) : Pass accel_group. * src/workbook.c (workbook_create_standard_toobar) : Pass the acceleration group to the toolbar. 2000-05-10 Jon K Hellan * src/dialogs/dialog-analysis-tools.c (dialog_data_analysis): Use gnumeric_clist_moveto to ensure that selected tool is visible. * src/dialogs/dialog-function-select.c (category_list_fill): s/current sheet/selected category/ (function_list_fill): s/category/function/ * src/dialogs/dialog-zoom.c (dialog_zoom_impl): s/selected function/current sheet/ * src/dialogs/dialog-cell-format.c (fmt_dialog_init_format_page): Use gnumeric_clist_make_selection_visible to ensure that list rows are visible. * src/dialogs/dialog-sheet-order.c (dialog_sheet_order_impl): s/list rows/current sheet/ * src/gnumeric-util.c (clist_moveto): New helper function scroll list so that row becomes visible. (cb_clist_moveto): New callback function: Disconnect callback and use clist_moveto to make row visible. * src/gnumeric-util.[ch] (gnumeric_clist_moveto): New public function: Make given row visible in list - immediately if mapped, otherwise by attaching a signal handler. (gnumeric_clist_make_selection_visible): New public function: Make first selected row visible in list. 2000-05-10 Jon K Hellan * src/func.c (tokenized_help_find): This segfaulted if no help was available. The test for no help failed because of signedness. Fixed it. 2000-05-10 Michael Meeks * gnumeric.oafinfo: fix borked magic sodding UUID's which suck. * src/corba-workbook-factory.c (_WorkbookFactory_init): update for oaf, but only the IID. * src/embeddable-grid.c (EmbeddableGridFactory_init): update for oaf. (embeddable_grid_factory): add failure warning. * Makefile.am: Install oafinfo. 2000-05-10 Jacob Berkman * configure.in (use_wm_icons): check for using window icons * src/main.c (gnumeric_main): use an icon if available in gnome-libs * src/Makefile.am (INCLUDES): add a -D for the icon dir 2000-05-10 Karl Eichwalder * src/dialogs/cell-format.glade: Typo. 2000-05-09 Jody Goldberg * Release 0.53 2000-05-09 Morten Welinder * src/auto-format.c (do_af_suggest): Test right pointer for NULL. 2000-05-09 Jody Goldberg * configure.in : Tweak to produce a semi reasonable gnumericConf.sh remove gnumeric-config. * Makefile.am : ditto. * gnumericConf.sh : ditto. * src/sort.c (sort_range) : Use sheet_cell_remove_simple. * src/cell.c (cell_set_expr_internal) : Restore static. * src/commands.c (cmd_set_date_time_{undo,redo}) : Mark the changed cell for status update. (cmd_sort_destroy) : Leaks. * src/Makefile.am (INCLUDES) : Remove extra '/' at end. * src/workbook.c (insert_current_time_cmd) : fix cut-n-paste-o. 2000-05-09 Valek Filippov * src/functions/fn-financial.c: changed "NUM!" to "#NUM!". * src/functions/fn-logical.c: changed "'#VALUE!'" to "#VALUE!". 2000-05-09 Jody Goldberg * src/xml-io.c (xml_probe) : Check versioning in descending order. (gnumeric_xml_read_workbook) : Add check for v3. 2000-05-09 Valek Filippov * src/dialogs/cell-format.glade.h: inserted /* xgettext:no-c-format */ before "%" strings. 2000-05-08 Jody Goldberg * src/cell.c (cell_set_value) : When guessing what the entered text was for a supplied string value prepend a \' to ensure that the value stays a string, and so that blank cells work better. * src/sheet.c (sheet_cell_calc_span) : redraw the bounding range when interupting spans. (sheet_clear_region) : Respan ranges that were interupted by the cleared region. (sheet_cell_remove_simple) : rename from sheet_cell_remove_internal and export. 2000-05-08 Jon K Hellan * src/file.c (cb_select): New callback: Make double click on list in import filter chooser works like "OK". (workbook_import): Back when we first started using glade, we used a hack to avoid flicker when popping up the filter chooser. We now know how to do it right, and remove the hack. (workbook_import): Connect callback to handle double click. (workbook_import): Fix bug: return value from import would clobber return value from dialog_run. We now close dialog after retrieving selection, but before importing. We really should keep the dialog up until user either succeeds with import or explicitly cancels. But we let that wait. This behaviour should be implemented in a lot of places in a coordinated way. (workbook_import): Do not destroy workbook after WM close - it is already destroyed. 2000-05-08 Morten Welinder * configure.in (gnome-print): Survive version "0.19cvs". * *: include 2000-05-08 Jody Goldberg * configure.in : Disable the perl plugin Disable the plan perfect plugin Disable the gdb plugin. These are not ready for prime time. * src/selection.c (sheet_selection_extend_to) : Call sheet_update so that selection changes via mouse movement will update the status areas. (sheet_selection_set) : Call sheet_flag_selection_change. * src/sheet.c (sheet_flag_selection_change) : New function to flag that sheet_update should recalc the autoexpressions. 2000-05-07 Jody Goldberg * README : Update to require new gnome-print. * gnumeric.spec.in : Ditto. 2000-05-08 Jon K Hellan This change was committed a week ago, but I forgot the changelog: * src/dialogs/dialog-goto-cell.c (cb_row_selected): Make double click on list work like "OK". * src/dialogs/dialog-goto-cell.c (dialog_goto_cell): Remove buttons which do not do anything yet. 2000-05-07 Jon K Hellan * src/workbook.c (yield_focus): New callback: Give up focus when widget is destroyed. This gets rid of a warning when import is canceled. (workbook_attach_sheet): Connect callback. (workbook_set_focus): Do nothing if focus target argument is NULL. 2000-05-07 Jody Goldberg * src/xml-io.c (xml_workbook_write) : Bump the xml version to v3. (xml_probe) : Handle v[123]. 2000-05-07 Jon K Hellan * src/dialogs/Makefile.am: dialog-printer.[ch] have been superseded by gnome-print dialogs. Remove. * src/print.c (sheet_print): Make print button default. Add accelerators. * configure.in: Depend on gnome-print >= 0.19 2000-05-07 Jody Goldberg * src/sheet-style.c (sheet_style_attach) : disable cache trash avoidance code. None of the sample xls were loading. * src/workbook.c (workbook_do_destroy) : Empty the formula list before the cell contents so that we can avoid searching the lists for each cell. This is a big time savings on exit. * src/sheet.c (sheet_cell_calc_span) : Size the content if it has not yet been sized. * src/commands.c (cmd_area_set_text_redo) : Do not queue the resize, rerender, and respan until after the recalc. 2000-05-06 Jody Goldberg * src/main.c (gnumeric_main) : Re-disable the style tests. * src/cell.c (cell_set_expr_unsafe) : Split from cell_set_expr. * src/eval.c (invalidate_refs) : Use cell_set_expr_unsafe. 2000-05-06 Almer. S. Tigelaar. * src/stf-parse.c (stf_parse_is_valid_data) : Add the form feed character (\f) as valid text character. (stf_parse_convert_to_unix) : In addition to CRLF and CR, remove form feeds (\f) from data. * src/stf.c (stf_read_workbook) : Add a workbook_recalc just to be sure. 2000-05-06 Michael Meeks * src/eval.c (handle_cell_range_deps): Add 3D dependency support. (cb_single_hash_to_list, cb_range_hash_to_list): Re-arrange handling of where the list is collated. (do_deps_destroy): update. (cell_drop_dependencies): remove cretinism here. (drop_cell_range_dep, handle_cell_single_dep): return on NULL deps structure. * src/sheet-style.c (sheet_style_attach): enable cache trash avoidance code. * src/sheet.c (sheet_cell_remove_internal): short circuit for NULL deps. * src/expr.c (expr_rewrite): update to handle workbook case. * src/eval.c (workbook_deps_destroy): update for speed. (sheet_deps_destroy): split body into (do_deps_destroy): here. * src/workbook.c (workbook_delete_sheet): destroy the sheet's dependencies here as well; very silly. (workbook_do_destroy): destroy deps of all sheets up front. 2000-05-06 Jody Goldberg * src/sheet.c (sheet_set_zoom_factor) : Depending on the order of initialization we may also need to render some unrendered values. * src/parse-util.c (parse_text_value_or_expr) : Be sure the clear the expr if we are returning a value. 2000-05-05 Jody Goldberg * src/sheet.c (sheet_set_zoom_factor) : Need to recalc cell sizes when zooming changes. * src/functions/fn-math.c (gnumeric_countif) : Make code match comment. We can safely ignore blanks. (gnumeric_sumif) : Code was correct. Add a larger comment explaining rationale. (gnumeric_sumx2my2) : Code was wrong. We can not skip blank cells if there are multiple ranges that need to be kept in sync. (gnumeric_sumx2py2) : Ditto. (gnumeric_sumxmy2) : Ditto. 2000-05-05 Tuomas Kuosmanen * src/pixmaps/function_selector.xpm: Made the ()'s a bit higher to make the f(x) more clear. 2000-05-05 Michael Meeks * src/eval.c (cell_drop_dependencies): silence checks for sheet->deps. * src/workbook.c (workbook_expr_relocate): update for expr_rewrite. * src/sheet-autofill.c (autofill_cell): update for expr_rewrite. * src/sheet.c (sheet_destroy): use sheet_deps_destroy and hoist above destroy_contents. * src/cell.c (cell_relocate): update for expr_rewrite. * src/eval.c (dependancy_data_destroy): rename to (sheet_deps_destroy), (invalidate_refs): re-write. (dependency_single_destroy, dependency_range_destroy): implement for non-intersheet deps. (workbook_deps_destroy): implement. * src/expr.c (expr_relocate): renamed to (expr_rewrite): update, add sheet re-writing. Fix serious bug with OPER_CONSTANT drop through to OPER_ARRAY. (cellrange_relocate): split out. (cellref_relocate): update for structure pos. * src/expr.h: create ExprRewriteInfo. * src/gnumeric.h: add ExprRewriteInfo. * src/sheet-object-container.c (sheet_object_container_realize): fix no brainer bug stopping menu's merging. 2000-05-04 Michael Meeks * src/sheet-style.c (sheet_style_delete_colrow): don't shrink. sheet sized ranges. (sheet_style_compute): add precondition for Norberts. * src/workbook.c (workbook_new_with_sheets): kill ' ' in sheet names. * corba-test/test-gnumeric-corba.c (do_test): ditto. 2000-05-04 Jody Goldberg * src/workbook.c : Fix typo that was calling undo for redo toolbar. ({redo,undo}_cmd) : Use workbook_finish_editing directly. (cb_auto{function,sum}) : If we are already editing do not start. When the wizard is in place bring it up. (workbook_start_editing_at_cursor) : Make the '=' insensitive while editing. (workbook_finish_editing) : Make the '=' sensitive. (sheet_action_delete_sheet) : Fix typo and rename parm 'current_sheet' -> 'sheet' to avoid confision with workbook->current_sheet. (workbook_close_if_user_permits) : Documented, and use gboolean. (workbook_delete_event) : No need to invert the return value. (workbook_new) : connect to the 'delete_event' using gtk_signal_connect_after so that we can influence the result. (workbook_delete_sheet) : NULL the undo, redo lists after they are cleared. (workbook_do_destroy) : Ditto. 2000-05-04 Almer. S. Tigelaar. * src/rendered-value.c : (rendered_value_calc_size) : Check if cell->rendered_value is NULL. To avoid segfaulting. 2000-05-04 Almer. S. Tigelaar. * doc/stf-export.txt : Added stf-exporter documentation 2000-05-04 Almer. S. Tigelaar. * src/gnumeric-util.[ch] : (gnumeric_combo_enters) : New, makes dialogs close when enter is pressed inside a gtkcombo. * src/dialogs/dialog-stf.c : (stf_dialog_editables_enter) : Modified to use the above function for combo boxes. * src/dialogs/dialog-stf-export.c : (stf_export_dialog_editables_enter) : Modified to use the above function for combo boxes. 2000-05-03 Jody Goldberg * src/command-context.c (gnumeric_error_invalid) : new function. * src/command-context-gui.c (ccg_error_invalid) : Handle. * src/command-context-corba.c (ccc_error_invalid) : Handle. * src/commands.c (cmd_rename_sheet_{undo,redo}) : Pass a context to workbook_rename_sheet. * src/workbook.c (workbook_rename_sheet) : Sheet names can not be empty. Take a CommandContext and report the error. Invert the return value. * src/format.c (pre_parse_format) : Fix old typo that was causing bug 10001 by breaking AM/PM. * src/cell.c (cell_set_array_formula) : Add some invariants to catch inverted arrays. The function should use the supplier's reference. It should not re-reference the supplied expression. Document this. 2000-05-03 Morten Welinder * autogen.sh (libtool): Add version check. 2000-05-03 Jody Goldberg * EvalPosition -> EvalPos ParsePosition -> ParsePos new struct RangeRef used in ValueRange eval_pos_init* -> position.[ch] parse_pos_init* cell_ref_{get,make}* * src/workbook.c : Reorder the toolbar a bit. (workbook_foreach_cell_in_range) : New function. (cb_autofunction) : New routine. (workbook_set_auto_expr) : DO NOT put real code into pre/post conditions. It will be removed when debugging is eventually disabled. * src/position.c (range_ref_normalize) : New function. * src/ranges.c (range_normalize) : New function. * src/expr.c (expr_implicit_intersection) : Use range_ref_normalize. * src/eval.c (cell_eval_content) : No need to release the value. cell_assign_value already does that. (dependency_range_ctor) : Use range_normalize. * src/auto-format.c (do_af_suggest) : Use workbook_foreach_cell_in_range. * src/cell.c (cell_set_expr_and_value) : link the new expression but do not queue it for recalc. (cell_assign_value) : Release the old value. (cell_copy) : Init the value to empty. * src/func.c (function_iterate_do_value) : Use workbook_foreach_cell_in_range. * src/dialogs/dialog-function-wizard.c (create_description) : Use a label rather than a text entry widget. It looks better. * src/functions/fn-string.c (gnumeric_expression) : range is already absolute. * src/functions/fn-stat.c (gnumeric_linest) : Handle inverted ranges. (gnumeric_logest) : Ditto. * src/functions/fn-information.c (gnumeric_countblank) : Use workbook_foreach_cell_in_range. (gnumeric_{row,column}) : Handle inversions. * src/functions/fn-lookup.c (gnumeric_offset) : No need to make absolute. The marshaller already did that. 2000-05-02 Jody Goldberg * src/eval.c (dependency_range_ctor) : normalize the range. * src/xml-io.c (xml_write_cell_and_position) : Suppress warning. * src/pixmaps.h : Add function wizard and equal sign. 2000-05-03 Michael Meeks * doc/Dependencies.txt: update to reflect changes. * src/eval.c: comment and const mending. (handle_cell_range_deps): prune no inter-sheet singletons code, it is a sluggish anachronism. (handle_cell_single_dep): setup the correct sheet to enter data into. * src/eval.h: expunge redundant commenting, re-order, const kill. 2000-05-03 Almer. S. Tigelaar. * *.c: s/strcasecmp/g_strcasecmp/ 2000-05-02 Almer. S. Tigelaar. * src/file.c (workbook_import) : We called gtk_widget_destroy _after_ gnome_dialog_close. This causes a weird "invalid cast" message each time something was successfully imported. 2000-05-01 Michael Meeks * src/corba-args.c (gnumeric_arg_parse): fixup popt for oaf. 2000-05-01 Jody Goldberg * src/expr.c (expr_tree_shared) : New function. * src/xml-io.c (gnumeric_xml_write_selection_clipboard) : Init and destroy the expression hash. (gnumeric_xml_read_selection_clipboard) : Ditto. (gnumeric_xml_read_workbook) : Ditto. (gnumeric_xml_write_workbook) : Ditto. (xml_write_cell_and_position) : When saving cells that have expression assign and store an ID for shared expressions. (xml_read_cell) : Use the ID to restore shared expressions. 2000-05-01 Jody Goldberg * ExprName -> NamedExpression ArrayRef -> ExprArray change ExprTree to be a union of similar types and split the elements into discrete types. ExprConstant ExprFunction ExprUnary ExprBinary ExprName ExprVar ExprArray expr->oper -> expr->any.oper 2000-04-29 Jody Goldberg * src/value.c (value_new_empty) : Don't allocate any memory. (value_release) : Don't free any either. * src/sheet-style.c (border_check) : Init outer_style to remove a warning. 2000-05-01 Jon K Hellan * src/dialogs/dialog-analysis-tools.c (selection_made): Popup tool and dismiss chooser on double click. * src/dialogs/col-width.glade: Add title * src/dialogs/import.glade: Ditto * src/dialogs/row-height.glade: Ditto * src/dialogs/sheet-rename.glade: Ditto * src/dialogs/summary.glade: Ditto * src/dialogs/analysis-tools.glade (All dialogs): Add padding between input and output frames. (TTest1 dialog, TTest2 dialog, TTest3 dialog, Anova2 dialog, MovingAverage dialog): Remove spaces from label string. (Anova1 dialog, Correlation dialog, Covariance dialog, RankAndPercentile dialog): Use table in input frame. Get rid of frame around "Grouped by". Use alignment and fill instead of spaces to place label strings. Minor output options tweaks. (MovingAverage dialog): Place all user widgets inside the same vbox to make padding uniform. 2000-05-01 Michael Meeks * configure.in: Handle oafinfo.in * src/sheet-object.c (sheet_set_mode_type_full): oafize. * src/sheet-object-container.c (sheet_object_container_new_from_goadid): ditto. * src/sheet.c (sheet_insert_object): always launch via. bonobo_object_activate regardless of monikers. * idl/Gnumeric.idl: add a comment telling people to look elsewhere if they want to write bonobo components. * src/workbook.c (insert_object_cmd): update for oaf. * src/main.c (gnumeric_main): Check for NULL ctx, on corba failure. * src/corba-args.c (gnumeric_arg_parse): NULL ctx. * src/corba-workbook-factory.c (_WorkbookFactory_init): update to use od_server_register. (WorkbookFactory_create_object): use Bonobo_stringlist not GNOME_stringlist, when was this last compiled ... * src/corba-args.c (gnumeric_arg_parse): update for OAF. * acconfig.h: USING_OAF * configure.in: ditto. 2000-05-01 Michael Meeks * HACKING: make it more explicit. 2000-05-01 Morten Welinder * src/main.c (has_gnumeric_been_compiled_with_guile_support): Fix prototype. * src/gutils.c (gnumeric_usr_plugin_dir, gnumeric_sys_plugin_dir, gnumeric_sys_glade_dir): fix prototype. (C isn't C++.) * src/complete.c (complete_destroy): Static. * src/regression.c: Inlcude for memset. 2000-05-01 Almer. S. Tigelaar. * configure.in: Export GNUMERIC_VERSION * acconfig.h: Undefine GNUMERIC_VERSION * */Makefile.am: Removed -DGNUMERIC_VERSION, now located in config.h * src/functions/Makefile.am, src/dialogs/Makefile.am : VERSION changed to gnumeric_version. * plugins/excel/libole2/Makefile.am, plugins/guile/Makefile.am : ditto * plugins/perl/Makefile.am : ditto 2000-04-30 Miguel de Icaza * src/workbook.c (workbook_new_with_sheets): Put a space there, to avoid having "Sheet 1" and then "Sheet1" in the same workbook. 2000-04-29 Miguel de Icaza * src/application.c (application_init): Oops. 2000-04-29 Jody Goldberg * * : Convert 'Value' into a union of real types and allocate each seperately. * src/dialogs/dialog-printer-setup.c (do_print_preview_cb) : Suppress warning. 2000-04-29 Almer. S. Tigelaar. * src/dialogs/dialog-stf-preview.c : (stf_preview_merge_with-hash) : Remove warning message, because empty lines also render to NULL 2000-04-29 Michael Meeks * src/sheet-style.c (sheet_mstyle_compute_from_list): kill inline. (border_check): make outer style calcs mostly conditional on do_outer. 2000-04-29 Almer. S. Tigelaar. * src/stf-export.[ch] : New, low-level stf-export code. * src/dialogs/dialog-stf-export.glade : New, stf export dialog. * src/dialogs/dialog-stf-export.glade.h : New, stf export dialog strings. * src/dialogs/dialog-stf-export.[ch] : New, top-level controlling code for the stf export dialog. * src/dialogs/dialog-stf-export-private.h : New, private declarations for the stf exporter. * src/dialogs/dialog-stf-export-format-page.c : New, controlling code for the format page of the stf export dialog * src/dialogs/dialog-stf-export-sheet-page.c : New, controlling code for the sheet page of the stf export dialog * src/Makefile.am : Updated to include new files * src/stf.c : Now also provides export for csv files using the new stf export dialog * src/dialogs/Makefile.am : Updated to include new files 2000-04-29 Jody Goldberg * src/parser.y : Make the sheet_sep, and range_sep conditional so that I can use the parser for applix too. * src/workbook.c (workbook_unref) : encapsulate workbook_unref. * src/application.c (application_init) : Do not save the value if it is not there. Fix typo. * src/mstyle.c (mstyle_unref) : If the default style is released clear the cached pointer. This can happen if the first workbook loaded fails. 2000-04-28 Miguel de Icaza * src/complete.c (complete_idle): Removed debugging messages * src/item-edit.c (entry_changed): Update here. * src/application.c (application_init): Load auto-complete state here. (application_use_auto_complete_set): accesor function. (application_use_auto_complete_get): ditto. 2000-04-28 Jody Goldberg * src/complete.c (complete_start) : Do not install an idle handler if one has already been installed for this object. 2000-04-27 Miguel de Icaza * src/dialogs/dialog-printer-setup.c (do_print_preview_cb): Close the dialog if the user selects preview. Not optimal but better than the two possible choices. 2000-04-27 Jody Goldberg * *Makefile.am : Use new extended configure variables. * configure.in: Add a few variables 2000-04-27 JP Rosevear * Makefile.am: Delete old gnumeric-config generation. * gnumeric-config.in: Use new variables exported from autoconf. * configure.in: gnumeric-config magic 2000-04-27 Jody Goldberg * src/workbook.c (workbook_sheet_get_free_name) : No need to translate "%s%d". * src/gutils.c (PLUGIN_SUFFIX) : typo. 2000-04-27 Karl EICHWALDER * NEWS (Translations): Add `da', `es', `no', and `uk'. 2000-04-27 Morten Welinder * src/plugin.c (plugin_load_plugins_in_dir): Don't access memory that isn't ours to access. Constify. (plugin_data_last_modified): Constify. (plugin_data_get_title): Constify. (plugin_data_get_descr): Constify. (plugin_data_get_size): Constify. (plugin_data_get_user_data): Constify. 2000-04-27 Karl EICHWALDER * doc/translating.sgml: Typo. 2000-04-27 Jody Goldberg * src/functions/fn-lookup.c (gnumeric_offset) : Bug 9372. Both corners get offset. * src/workbook-format-toolbar.c (modify_cell_region) : Do redraws respans, and redimensions here. * src/cell.c (cell_set_format) : Do not attempt to render or redraw the value. 2000-04-27 Jon K Hellan * src/rendered-value.c (cell_rendered_height): (cell_rendered_height): Check for null pointers. Zoomed sheets with dangling references would segfault. 2000-04-27 Jody Goldberg * src/sheet.c (sheet_update) : Do not update the status or autoexpression when in edit mode. This solves a sneaky problem selecting a range for an expression on a newly created sheet. 2000-04-26 Jody Goldberg * src/gnumeric-sheet.c (start_cell_selection_at) : Only hide the primary cursor when selecting cells on a different sheet. * src/expr.c (eval_expr_real) : Pass EVAL_PERMIT_NON_SCALAR to eval_expr_real when evaluating an array. * src/cell.c (cell_set_array_formula) : typo. * src/sheet.c (sheet_find_boundary_{horizontal,vertical}) : Another thinko. * src/dialogs/cell-format.glade : Improve layout of font attributes slightly. * src/gnumeric-util.c (gnumeric_glade_xml_new) : thinko. 2000-04-26 Jody Goldberg * src/command-context.c (gnumeric_error_sys_err) : New function. * src/command-context-gui.c (ccg_error_sys_err) : Support it. * src/gnumeric-util.c (gnumeric_glade_xml_new) : Use gnumeric_error_sys_err. * src/gutils.c (gnumeric_sys_{data,lib,glade,plugin)_dir) : New functions. (gnumeric_usr_dir, gnumeric_usr_plugin_dir) : New functions. * src/plugin.c (load_all_plugins) : Use gnumeric_usr_plugin_dir, and gnumeric_sys_plugin_dir. * src/item-edit.c (point_is_inside_range) : Handle non-singleton expr start characters. 2000-04-25 Jody Goldberg * *.c : glade_new_xml -> gnumeric_glade_new_xml Localize GNUMERIC_GLADEDIR so that plugins can use it too. * src/gnumeric-util.c (gnumeric_glade_xml_new) : New function. * */Makefile.am : Set 'DATADIR' rather than GLADEDIR. And version the glade file the same way the plugins are set. This should probably expand to include architecture akin to gcc. * src/widgets/widget-editable-label.c (el_button_press_event) : Clicking in another window accepts the changes. Once we have reliquished our grab push the button event back on the queue so that it can be forwarded on to the appropriate recipient (9007). * src/parse-util.c (parse_text_value_or_expr) : Watch for 1 character strings which could start an expression. 2000-04-25 Miguel de Icaza * src/item-edit.c (entry_changed): Call complete_start here; Pass the text to scan_for_range now. (item_edit_set_arg): Create the complete_sheet object here. (item_edit_destroy): kill it here. * src/complete.c: New file. Implements the abstract auto-completion class; * src/complete-sheet.c: New file. Implements the sheet-based completion code. * src/item-edit.c (item_edit_draw_text): Take a GtkStyle instead of a GdkGC. * src/item-grid.c (create_popup_menu): Remove unrequired code. 2000-04-25 Morten Welinder * src/value.c (value_duplicate): Plug leak. * plugins/Makefile.am (SUBDIRS): Add numtheory. * plugins/numtheory/*: new files, mostly from Marko R. Riedel (mriedel@neuearbeit.de). 2000-04-26 Tuomas Kuosmanen * src/pixmaps/auto-sum.xpm: Better fitting Sigma icon for Jody. 2000-04-25 Jody Goldberg * src/pattern.c (gnumeric_sheet_patterns) : Add the rest of the patterns for applix. * src/dialogs/cell-format.glade : Add all of the new patterns. * src/dialogs/dialog-cell-format.c : Ditto. 2000-04-24 Jody Goldberg * src/workbook-private.h : Rename ea_status -> selection_descriptor Moved ea_entry here and called it edit_line. * src/workbook.c (workbook_get_entry) : new routine. * src/dialogs/function-select.glade : Made this a dialog, not a popup. * src/summary.c (summary_item_free) : format police. * src/value-sheet.c (value_area_foreach) : Ditto. * src/sheet.c (sheet_new) : Init the update flags to FALSE, rather than TRUE now that the system seems to be getting their initial state correct when importing, paging and the like. (sheet_load_cell_val) : Use workbook_get_entry. (sheet_find_boundary_horizontal) : format police. (sheet_find_boundary_vertical) : Ditto. (sheet_range_splits_array) : Ditto. (sheet_delete_{cols,rows}) : Ditto. (sheet_restore_row_col_sizes) : Ditto. (sheet_col_get_distance_{pixels,pts}) : Ditto. (sheet_row_get_distance_pixels) : Ditto. (sheet_row_get_distance_pts) : Ditto, Init accumulator. * src/selection.c (sheet_selection_set) : format police. (selection_check_for_array) : Ditto. (sheet_selection_walk_step) : Ditto. * src/sheet-view.c (horizontal_scroll_event) : Ditto. (vertical_scroll_event) : Ditto. * src/dialogs/dialog-cell-format.c : Ditto. * src/dialogs/dialog-printer.c : Ditto. * src/dialogs/dialog-workbook-attr.c : Ditto. * src/functions/fn-eng.c : Ditto. * src/functions/fn-lookup.c : Ditto. * src/functions/fn-string.c : Ditto. * src/pattern.c (gnumeric_sheet_patterns) : Add a few patterns for applix. More are needed, and these are not available in the format dialog yet. * src/number-match.c (compute_value) : Use g_strtod. (format_match) : Ditto. * src/item-edit.c : Use workbook_get_entry. * src/item-bar.c (item_bar_event) : format police. * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Do not set the focus directly. Leave that to workbook_start_editing. (gnumeric_sheet_new) : Use workbook_get_entry. * src/format.c (render_number) : format police. * src/complex.c (complex_from_string) : Use g_strtod. * src/functions/fn-database.c : Ditto. * src/colrow.c (cb_row_col_visibility) : format police. * src/main.c (gnumeric_main) : Move the workbook_style_test to the empty case. * src/mstyle.c (mstyle_set_pattern) : Add some safety. * src/number-match.c (format_match) : Handle empties. 2000-04-22 Michael Meeks * src/test.c (zero_stats, dump_stats): implement. (thrash_scroll): implement. (thrash_insert): implement. (workbook_style_test): use them. 2000-04-22 Tuomas Kuosmanen * src/pixmaps/auto-sum.xpm: New icon for Jody. 2000-04-22 Michael Meeks * src/sheet-style.c (sheet_style_attach): comment out optimization for now. * src/workbook.h (workbook_mark_clean): remove redundant prototype. * src/corba-workbook.c (Workbook_save_to): use workbook_set_dirty instead. 2000-04-21 Michael Meeks * src/sheet-style.c (sheet_style_cache_flush): update, kill inline update all cache_flushes to be more explicit. 2000-04-22 Almer. S. Tigelaar. Fixed Bug #9007 Note : Does not fix the mouse click problem, just the focus problem * src/workbook.c (workbook_attach_sheet) : Attaches a signal handler for the "editing_stopped" signal of the editable label. (sheet_label_editing_stopped_signal) : The signal handler of the "editing_stopped" signal. 2000-04-21 Chema Celorio * src/sheet.c (sheet_redraw_cell_region): small typo that was causing a MCSSRB. ( multiple cell span string redraw bug) 2000-04-21 Jody Goldberg * src/workbook.c (autosum_cmd) : Add a quick and simple auto-sum routine. * src/functions/fn-math.c (gnumeric_lcm) : Use value_new_int. (gnumeric_minverse) : Use value_new_array_non_init. (gnumeric_mmult) : Ditto. * src/functions/fn-stat.c (gnumeric_frequency) : Ditto. * src/value.c : Make Value::type a constant in preparation for changing the structure of the union to save space. * src/workbook.c (do_focus_sheet) : Use sheet_update. (workbook_calc_spans) : New routine. (workbook_mark_clean) : Delete, use workbook_set_dirty instead. * src/file.c (workbook_import) : Set the dialog parent. (workbook_read) : Use workbook_calc_spans. * src/sheet.c (sheet_row_get_distance_{pixels,pts}) : Optimize this to directly access the segmented arrays so that we can skip empty blocks. (sheet_find_boundary_{horizontal,vertical}) : Rename some variables for clarity and add some trivial optimizations to recognize when we are jumping to/from the far edge. (sheet_cell_calc_span) : Differentiate between a forced rerender and one that fills in the blanks. 2000-04-20 Jody Goldberg * src/dialogs/dialog-cell-format.c (draw_format_preview) : Don't display preview text if there is none. (dialog_cell_format) : Don't init the preview text if the cell is empty. * src/plugin.c (plugin_load) : Fix leak. * src/formats.c (currency_symbols) : Add Yen. Attempt to add a version of the Euro. It uses an iso_8859_15 encoding which is not commonly available. * src/corba-sheet.c (Sheet_cell_set_value): cell_set_value -> sheet_cell_set_value 2000-04-20 Matt Wilson * src/corba-sheet.c (Sheet_cell_set_value): sheet_cell_set_value -> cell_set_value * src/corba-sheet.c: include cell-comment.h, rendered-value.h 2000-04-20 Jody Goldberg * src/dialogs/dialog-cell-format.c : Use the edit_pos as the example not the top left corner. * src/functions/fn-stat.c (gnumeric_ftest) : Use eval_pos_cellref to help localize the strangeness. (gnumeric_ttest) : Ditto. * src/xml-io.c (xml_write_cell_and_position) : If this is an array expression and we are the top left then add attributes to indicate size of array. Ignore the rest of the array. (xml_not_used_old_array_spec) : New routinr to handle the old array format. (xml_cell_set_array_expr) : store an array. (xml_read_cell) : Handle the old and the new array formats. * src/workbook.c (workbook_close_if_user_permits) : Accept input first. (wb_edit_key_pressed) : Handle array formulas here. (workbook_detach_sheet) : Do not recalc all if we are exiting. (workbook_start_editing_at_cursor) : When we start editing an array formula display just the formula not all the extra {}()[][] crap. * src/sheet.c (SheetPrivate) : Add a recompute_spans flag. (sheet_calc_spans) : New routine. (sheet_cell_calc_span) : New routine. (sheet_range_calc_spans) : Renamed and extended from sheet_cells_update. (sheet_update) : Use sheet_calc_spans when necessary. Update the location region when the edit_pos changes. (cb_recalc_spans_in_col) : Renamed from cb_collect_cells_in_col. Recalcs spans directly, no need to collect first. (cb_set_cell_content) : New routine to set expr, or expr_and_value. (sheet_range_set_text) : Use cb_set_cell_content, and remember chosen format with the cell rather than overriding the assigned format. (sheet_cell_set_text) : Renamed from sheet_set_text. Be more specific about how spans, rendering and the rest are handled. (sheet_cell_set_expr) : New routine. (sheet_cell_set_value) : Ditto. (sheet_load_cell_val) : When displaying an array formula add {%s}()[][]. (sheet_redraw_cell_region) : Honour spans when redrawing. (sheet_redraw_partial_row) : New routine. (sheet_redraw_cell) : Ditto. (sheet_is_cell_array) : Use cell_is_array. (sheet_range_splits_array) : Renamed from sheet_check_for_partial_array. (sheet_cell_add_to_hash) : Do not touch spans at this point. (sheet_cell_insert) : Rename from sheet_cell_add made recalc span optional. (sheet_cell_new) : New routine that does not touch spans. (sheet_cell_remove) : Made redraw optional. (cb_clear_cell_comments) : Remove the cell if there is no comment. (sheet_clear_region) : Remove the cell if there are no comments or contents. Flag an update of the status region. * src/sheet-view.c (cb_colrow_resize) : New function. (sheet_view_col_size_changed) : Resize all rows, irrespective of (sheet_view_row_size_changed) : existing cells. (sheet_view_redraw_cell_region) : This no longer honours spans. * src/sheet-style.c (sheet_style_attach) : Removed call to redraw. sheet_cells_update : rename to sheet_range_calc_spans and move to sheet.c. * src/sheet-autofill.c (autofill_cell) : Use sheet_cell_set_value rather than set_text. * src/selection.c (sheet_selection_changed_hook) : Delete. (sheet_selection_extend_to) : Update the status region to display the new size. (sheet_selection_cut) : Use sheet_range_splits_array. (selection_check_for_array) : New routine. * src/parser.y : Remove icky array formula parsing that conflicted with array entries. * src/number-match.c (format_match) : Return a Value * rather than a double. * src/mstyle.c (mstyle_set_font_size) : Do not allow font sizes < 1. * src/main.c (gnumeric_main) : Do NOT create an empty workbook then delete it if things are successfully loaded. This causes a global recalc. Instead add a flag to disable exit when the number of workbooks go to zero. Then only enable the flag AFTER we have attempted to load the initial workbooks. * src/item-grid.c (item_grid_event) : Update the status_region when button-1 is release. It should display the edit_pos. * src/gutils.c : Move cell_name, col_name, col_from_name, parse_cell_name, parse_cell_name_or_range and parse_cell_name_list, to parse-util.c. * src/gnumeric.h : Add RenderedValue. * src/gnumeric-util.c (gnumeric_char_start_expr_p) : Move to parse-util.c * src/file.c (workbook_read) : Remove freese thaw usage. Move call to update AFTER mark clean. * src/expr.c (eval_pos_init) : Take a cellpos. (parse_pos_evalpos) : New routine. (eval_pos_cellref) : There is some questionable code scattered in the functions. This routing localizes the odd bits for correction. * src/eval.c (cell_eval_content) : Use sheet_redraw_cell, and rendered_value_calc_size. (cell_get_dependencies) : Improve constness. * src/corba-sheet.c : Remove the freeze thaw operations. (Sheet_cell_set_formula) : Deleted. (Sheet_range_set_formula) : Delete. * src/commands.c : Adjust so that registration of command auto calls redo. Add misc checks for splitting arrays. * src/clipboard.h : Move the CellCopy types here from cell.h * src/clipboard.c (paste_cell) : Use cell_has_expr. Don't insert the new cell till after its contents are assigned. * src/cellspan.c (cell_register_span) : Improve constness. (cell_unregister_span) : Ditto. (row_cell_get_displayed_at) : Delete. (cell_calc_span) : Moved here from cell.c * src/dialogs/dialog-stf.glade : Adjust the header background colour to match the purdy new icon. Add the icon. * src/cell-draw.c : Use the rendered_value routines. Improve constness. * src/analysis-tools.c (set_cell) : Use sheet_cell_fetch. *.* cell_set_* -> sheet_cell_set_ cell_set_*_simple -> cell_set_ Cell::{row,col} -> Cell::{row,col}_info cell_get_text -> cell_get_entered_text cell_get_content -> cell_get_entered_text cell_name -> cell_coord_name cell_get_formatted_val -> cell_get_rendered_text cell_get_content -> cell_get_entered_text * src/cell.c : (cell_dirty) : Renamed from cell_modified. Use sheet_set_dirty. (cell_formula_changed) : Make the queuing of the recalc optional. (cell_cleanout) : Handle union of expression and entered_text, and remove the rendered value. (cell_copy) : Ditto. (cell_destroy) : handle cell_modified -> cell_dirty. (cell_set_text) : Use parse_text_value_or_expr and store the prefered format. (cell_set_text_and_value) : New routine. (cell_assign_value) : New routine. (cell_set_value) : Support formats. (cell_set_expr_and_value) : New routine. (cell_set_expr_internal) : Split from cell_set_expr. (cell_set_expr) : Divide to allow for not queuing a recalc. (cell_set_array_formula) : Use cell_set_expr_internal. (cell_is_array) : New utility. (cell_is_partial_array) : New utility. (cell_has_expr) : New utility. (cell_render_value) : Use rendered_value_*. Move all comment routines into cell-comment.[ch]. * idl/Gnumeric.idl : Remove cell_set_formula, and range_set_formula. These were identical to set_text. Made Workbook embeddable. 2000-04-18 Almer. S. Tigelaar. * src/dialogs/dialog-stf-format-page.c (stf_dialog_format_page_init) : Created an stf options struct which was never freed or used * src/dialogs/dialog-stf-preview.c (stf_preview_merge_with_hash) : Somehow there was a *gigantic* leak in this routine. I simply rewrote it from scratsch because I didn't see the error. This seemed to help, because the leak is gone. :-) * src/dialogs/dialog-stf-preview.[ch] Added some 'how it works' comments on top. Should make it clear who is responsible of freeing memory and when. (stf_preview_share_hash) : Removed. I removed the hash sharing, it is obsolete and just wasted space as hashes are no longer shared between druid pages anyway. 2000-04-18 Cody Russell * src/workbook-format-toolbar.c, src/workbook.c: Make the toolbars honor the user's control-center settings regarding GnomeDock handles. 2000-04-17 Karl EICHWALDER * src/dialogs/dialog-analysis-tools.c (dialog_correlation_tool): Correct C&P errors (ACK by Jukka-Pekka Iivonen). 2000-04-17 Karl EICHWALDER * NEWS (Translations): New top. * gnumeric.desktop.in (Comment): Shorten comment. Reported by Jon K Hellan. 2000-04-16 Morten Welinder * src/eval.c (cell_add_explicit_dependency): Quiet a bit. * src/functions/fn-lookup.c (gnumeric_match): Fix. * src/functions/fn-financial.c (finance_functions_init): Define a ton of stubs. (We appear to have everything now.) 2000-04-16 Valek Filippov * src/functions/fn-math.c: Typos fixed ("@" and "\n"). 2000-04-15 Morten Welinder * src/functions/fn-stat.c (gnumeric_quartile): Fix for empty case. * src/xml-io.c (xml_free_arg_list): Plug leak. 2000-04-15 Karl EICHWALDER * src/dialogs/dialog-cell-sort.c (order_box_new): Mark as translatable. 2000-04-15 Morten Welinder * src/Makefile.am (GNUMERIC_BASE_SOURCES): Delete print-preview.[ch] * src/print.c: Kill many #includes. 2000-04-15 Karl EICHWALDER * src/dialogs/dialog-zoom.glade, src/dialogs/dialog-zoom.glade.h (N_): Make labels conforming. 2000-04-15 Karl EICHWALDER * configure.in (ALL_LINGUAS): Sort alphabetically. 2000-04-15 Jon K Hellan * configure.in: Require gnome-print >= 0.18 2000-04-15 Miguel de Icaza * src/print.c (print_headers): Use black for printing the headers and footers. 2000-04-14 Karl EICHWALDER * gnumeric.desktop.in: Exchange Name/Comment. Adjust the values for de. 2000-04-14 Miguel de Icaza * src/selection.c (selection_is_simple): Use an internationalizable version of the message here. 2000-04-10 Miguel de Icaza * Lots of files: replaces utils.h for gutils.h * renamed utils.h to gutils.h to avoid the compilation problem on some Unices (yes, fixing the Makefile would have done it, but utils.h was still a lame name; Of course gutils.h is not any better, but it is now don). 2000-04-14 Michael Meeks * src/*: s/ENABLE_BONOBO_PRINT/ENABLE_BONOBO/ 2000-04-14 Karl EICHWALDER * src/file.c (wants_to_overwrite): Add missing dot. 2000-04-14 Jody Goldberg * src/print.c : make ENABLE_BONOBO_PRINT conditional on ENABLE_BONOBO. 2000-04-14 Michael Meeks * src/print.c (print_job_info_get): setup sheet object list. (print_job_info_destroy): check it. (print_sheet_range): build a list of pre-printed sheet objects. (print_page_object): updated. * src/sheet-object-bonobo.c (sheet_object_bonobo_print): simplify muchly to new API. 2000-04-11 Michael Meeks * configure.in: Bump required gb version. 2000-04-13 Karl EICHWALDER * src/about.c (dialog_about): Add missing dot :) 2000-04-12 Miguel de Icaza * configure.in: New version of Gnumeric coming out. New version of gnumeric coming out. 2000-04-12 Jon K Hellan * src/history.c (history_menu_item_create): Really add accelerators to history menu item * src/dialogs/dialog-analysis-tools.c (dialog_random_tool): Bug: Dialog would quit when combo list was popped via keyboard. Fix: Remove gnome_dialog_editable_enters from distribution combo. 2000-04-11 Jon K Hellan * src/dialogs/dialog-zoom.c (focus_to_custom): New callback: Set focus to custom spinbutton when custom radiobutton is checked. (dialog_zoom_impl): Connect the callback. * src/dialogs/dialog-analysis-tools.c (focus_on_entry): New callback: Set focus to output range entry when output range radiobutton is checked. (set_output_option_signals): Connect the callback. (distribution_parbox_config): Only add accelerator if we've got one. 2000-04-11 Morten Welinder * src/print.c (sheet_print): Supply new landscape argument to preview. 2000-04-11 Jody Goldberg * src/solver-lp.c (make_solver_arrays) : Make more robust in the face of missing variables or constraints. * src/eval.c (cell_eval_content) : Handle the case of a cell without a formula more gracefully. 2000-04-10 Jody Goldberg * src/file.c (workbook_read) : Force clean after post load recalc. * src/sheet-view.c (sheet_view_col_selection_changed) : keep the moving col visible. (sheet_view_row_selection_changed) : Keep the moving row visible. * src/item-grid.c (item_grid_find_col) : Tune iteration bounds to improve speed and allow for scrolling back to the first col/row. * src/item-cursor.c (item_cursor_autofill_event) : Pass the coords of the cell we want to keep visible rather than the top left corner. (item_cursor_set_bounds_visibly) : Rename the parameters to reflect their real purpose. 2000-04-09 Morten Welinder * configure.in (gnome-print): Need 0.17. * src/print.c (print_page): Put page numbers into (post script) file. (print_page): Move setup_rotation into page loop. 2000-04-11 Michael Meeks * src/parser.y: correct include. * src/cell.c (cell_set_rendered_text): move up to before its first use. 2000-04-09 Dom Lachowicz * src/sheet.h: Rename member "private" -> "priv" in case anyone in the future writes a plugin / module written in C++ * src/sheet.c (sheet_new, sheet_flag_status_update_cell, sheet_flag_status_update_page, sheet_update, sheet_destroy, sheet_set_edit_pos, sheet_insert_cols, sheet_delete_cols, sheet_insert_rows, sheet_delete_rows, sheet_restore_row_col_sizes, sheet_col_set_size_pts, sheet_col_set_size_pixels, sheet_row_set_size_pts, sheet_row_set_size_pixels): Same * src/corba-sheet.c (sheet_corba_setup, sheet_corba_shutdown): Same * src/corba-workbook.c (corba_sheet): Same * src/embeddable-grid.c (Grid_get_sheet): Same * src/sheet-vector.c (sheet_vector_attach, sheet_vector_detach, sheet_vectors_cell_changed, sheet_vectors_shutdown): Same 2000-04-07 Miguel de Icaza * src/cellspan.c (span_remove): Pretify code. 2000-04-10 Jody Goldberg * src/file.c (workbook_read) : Do NOT recalc on load for now even though there are are queued cells that desire it. This will prematurely mark the sheet as dirty. This will need to be revisited. * src/cell.c (cell_set_rendered_text) : Make static. * src/cell.c (cell_calc_dimensions) : Be careful to recalculate spans that centered on other cells when calculating the span for a new cell. 2000-04-09 Michael Meeks * src/sheet-object-bonobo.c (sheet_object_bonobo_class_init): add print hooks. * src/sheet-object-graphic.c (sheet_object_graphic_print): implement. (sheet_object_graphic_class_init): setup print method 2000-04-09 Jody Goldberg * src/dialogs/dialog-cell-format.c : Do not change the target style if editing has not yet been enabled. * src/workbook.c (workbook_set_saveinfo) : If the save function is NULL default to xml. * src/format.c (format_value) : Add some error checking. * src/cell.c (calc_text_dimensions) : Make static * src/main.c : Add main.h 2000-04-03 Dom Lachowicz * src/workbook.c (sheet_action_reorder_sheet): Right click on a sheet tab, and if there's more than one sheet, you'll get an option to bring up the re-order sheets dialog * src/dialogs/dialog-plugin-manager.c (refresh_right_frame) : Do not override default fonts and colours. * src/dialogs/sheet-order.glade, * src/dialogs/sheet-order.glade.h, * src/dialogs/dialog-sheet-order.c (row_cb, delete_clicked_cb, up_clicked_cb, down_clicked_cb, close_clicked_cb, dialog_sheet_order_impl) : Improve look by moving buttons to the right edge rather than using stock buttons on the bottom and side. 2000-04-07 Jody Goldberg * src/workbook.c (workbook_finish_editing) : resensitize the toolbars after editing. (workbook_start_editing_at_cursor) : Desensitize the toolbars when we start to edit. 2000-04-09 Morten Welinder * src/sheet-style.c (sheet_unique_cb): Plug leak. * src/sheet-view.c (sheet_view_comment_relocate): Leak plug (for Jody). 2000-04-09 Michael Meeks * src/print.c (print_page_object): implement. (print_page): add hook. * src/sheet-object.c (sheet_object_print): implement. (sheet_object_class_init): setup default print behavior. * src/sheet-object.h: Add virtual method 'print' * src/dialogs/dialog-cell-format.c (fmt_dialog_init_format_page): free list after creation. (fmt_dialog_impl, cb_notebook_destroy): pass the signal id without using the FormatState that is free'd by the time we destroy the notebook. 2000-04-09 Jon K Hellan * src/workbook.[ch] (workbook_class_init): Put "cell_changed" signal back in. * src/sheet.c (sheet_load_cell_val): Ditto. 2000-04-06 Michael Meeks * src/sheet-style.c (sheet_style_relocate): use range_translate to shrink code size + set a blank style under the moved styles to get correct behavior: this routine needs optimizing sometime. 2000-04-09 Morten Welinder * src/sheet.h (ParsePositions): Add sheet. * src/expr.c (parse_pos_init): New arg sheet. All callers changed. * src/parser.y (gnumeric_expr_parser): Use pp->sheet. 2000-04-08 Jon K Hellan (sheet_name_quote): Quote embedded quotes. 2000-04-08 Morten Welinder * src/xml-io.c (xml_read_solver): Plug leak. * src/functions/fn-financial.c (gnumeric_xnpv): Plug leak. 2000-04-08 Almer. S. Tigelaar. * src/dialogs/dialog-stf-csv-page.c (csv_page_global_change) : Result of gtk_editable_get_chars was not freed. (2x) * src/stf-parse.c (stf_parse_region) : Only the last item of the GSList's would be freed (stf_parse_sheet) : ditto 2000-04-08 Jon K Hellan * src/sheet.c (cellref_name): Remove unused variable. 2000-04-08 Jon K Hellan * src/sheet.h (struct _Sheet): Replace member name with name_quoted and name_unquoted. In name_quoted, names with spaces or quote characters are protected with quotes. * src/analysis-tools.c (prepare_output): Use workbook_sheet_get_free_name to ensure that we don't create more than one sheet with the same name. * src/eval.c (dump_cell_list, sheet_dump_dependencies): Dump sheet->name_unquoted instead of sheet->name. * src/expr-name.c (name_sheet_title): Make value from sheet->name_quoted instead of sheet->name. FIXME: Is this correct? * src/gnumeric-sheet.c (selection_insert_selection_string): Make selection string from sheet->name_quoted instead of quoting sheet->name here. * src/print-info.c (render_tab): Render sheet->name_unquoted instead of sheet->name. * src/print-preview.c (create_toplevel): Use sheet->name_unquoted instead of sheet->name in window title. * src/selection.c (sheet_selection_to_string, range_to_string): Make reference string from sheet->name_quoted instead of quoting sheet->name here. * src/sheet.[ch] (sheet_quote_name): Rename to sheet_name_quote. Take name_unquoted parameter, not a sheet. * src/sheet.c (sheet_rename, sheet_new): Set both sheet->name_quoted and sheet->name_unquoted. (sheet_destroy): Free both sheet->name_quoted and name_unquoted. (cellref_name): Make reference from sheet->name_quoted instead of quoting sheet->name here. * src/test.c (thrash_sheet): Use sheet->name_unquoted instead of sheet->name in debug output. * src/value-sheet.c (value_dump): Dump sheet->name_quoted instead of quoting sheet->name here. (encode_cellref): Use sheet->name_quoted instead of quoting sheet->name here. * src/workbook.[ch] (workbook_sheet_get_free_name): Make it more generally useful: Add "base" and "always_suffix" parameters. The caller should now select the base to make the name from (e.g. "Sheet"), and specify whether or not a suffix should be added when the name "base" is not in use. * src/workbook.c (insert_sheet_cmd): Use new signature of workbook_sheet_get_free_name. (workbook_rename_sheet): Insert unquoted name in hash table. (sheet_label_text_changed_signal): Remove test for quote characters in sheet name. (sheet_action_delete_sheet): Prompt with name_unquoted instead of name. (sheet_action_rename_sheet, workbook_attach_sheet): Use name_unquoted instead on name. (workbook_detach_sheet): Use sheet->name_unquoted as hash key instead of sheet->name. * src/workbook-cmd-format.c (workbook_cmd_format_sheet_change_name): Use name_unquoted instead on name. * src/xml-io.c (xml_sheet_write): Output sheet->name_unquoted instead of sheet->name. * src/dialogs/dialog-sheet-order.c (dialog_sheet_order_impl): Make list header passive. (add_to_sheet_clist, delete_cb): Substitute sheet->name_unquoted for sheet->name. * src/dialogs/dialog-zoom.c (dialog_zoom_impl): Ditto. 2000-04-08 Jon K Hellan * src/dialogs/dialog-analysis-tools.c (struct random_tool_callback_t): Use gladified random dialog: changed most members. (struct DistributionStrs): New struct to hold name to show in list and parameter labels for a random distribution. (distribution_strs): Change to a DistributionStrs struct. (output_range_selected): New callback function. This is part of a change which selects the corresponding toggle button when the output range field is entered. This works for all gladified dialogs in this file. (set_output_option_signals): Set up output_range_selected callback on output range field. The widget is retrieved by name, so widget names in analysis-tools.glade had to be changed. (dialog_correlation_tool, dialog_covariance_tool, dialog_ttest_paired_tool, dialog_ttest_eq_tool, dialog_ttest_neq_tool, dialog_ftest_tool, dialog_average_tool, dialog_ranking_tool, dialog_anova_single_factor_tool, dialog_anova_two_factor_without_r_tool): New widget name for output range field. (dialog_correlation_tool, dialog_covariance_tool, dialog_ttest_paired_tool, dialog_ttest_eq_tool, dialog_ttest_neq_tool, dialog_ftest_tool, dialog_average_tool, dialog_ranking_tool, dialog_anova_single_factor_tool, dialog_anova_two_factor_without_r_tool): Make in entry fields activate default button. (distribution_strs_find, distribution_parbox_config, combo_get_distribution, dialog_random_realized): These new functions are helpers for gladified random generation dialog. (distribution_strs_find): Find strings record, given distribution enum. (distribution_parbox_config): Configure parameter widgets given random distribution. (combo_get_distribution): Find from combo the distribution the user selected. (distribution_callback): Configure parameter widgets for the distribution which was selected. (dialog_random_realized): Make initial geometry of distribution table permanent. (dialog_random_tool): Libgladify. This is a complete rewrite. Other changes: Make the "distribution" variable function static instead of file static. Rebuild the dialog each time it is displayed. This is like the other libglade dialogs in this file. Make in entry fields activate default button. Get random distribution name and parameter label strings from distribution_strs struct. Use a "realized" callback to make initial geometry permanent. Unref accel group for distribution parameter widgets when dialog is destroyed. * src/dialogs/analysis-tools.glade (All dialogs): Remove ':' from frame labels. Add accelerators. Rename output range entry widgets to xxx_output_range_entry. Minor output options tweaks. (FTest dialog, TTest1 dialog, TTest2 dialog, TTest3 dialog): Use alignment and fill instead of spaces to place label strings. (Anova2 dialog, MovingAverage dialog): Use table in input frame so that entry fields are aligned. (Random dialog:) New dialog. 2000-04-07 Morten Welinder * src/selection.c (sheet_selection_reset_only): Free the right list. (sheet_is_range_selected): Avoid double assignment. (sheet_is_cell_selected): Ditto. * src/history.c (history_menu_remove_items): Plug leak. 2000-04-07 Jody Goldberg * src/embeddable-grid.h (GridViewClass) : Fix typo, did this ever work ? * src/workbook.c (workbook_move_sheet) : Mark the book as dirty when a sheet moved. (insert_sheet_cmd) : Mark book as dirty when sheet is added. (workbook_attach_sheet) : Add a precondition to avoid failing in the bonobo case. 2000-04-07 Morten Welinder * src/collect.h (CollectFlags): Get rid of COLLECT_IGNORE_POSITIVE and COLLECT_IGNORE_NEGATIVE. * src/collect.c (callback_function_collect): Don't have the above flags. * src/functions/fn-financial.c (irr_npv_df): New function. (gnumeric_irr): Use irr_npv_df for better results. (gnumeric_ipmt, gnumeric_ppmt): Fix order of arguments! (It works so much better that way.) (gnumeric_mirr): Fix formula. * src/goal-seek.c (update_data): Spelling fix. * src/functions/fn-financial.c (gnumeric_rate, gnumeirc_irr, gnumeric_xirr): Use the supplied guess. 2000-04-06 Jody Goldberg * src/xml-io.c (gnumeric_xml_read_workbook) : No need to recalc, the loader handles it. * src/file.c (workbook_read) : Do a recalc and sheet_update after loading. Wrap entire process in deep_{freeze,thaw}. * src/expr.c (eval_expr) : Fix thinko. * src/functions/fn-string.c : Add func 'expression' to return text of formula. * src/parser.y : It is illegal to write A1:Sheet2!A3. * src/value.c (value_new_cellrange) : Take the eval pos so that we can correctly invert mixed mode references when necessary. * src/expr.c (cell_ref_make_abs) : New routine. (expr_relocate) : Handle changes in value_new_cellrange. * src/func.c (function_marshal_arg) : Ditto. * src/ranges.c (range_parse) : Ditto. * src/corba-sheet.c (Sheet_cell_set_value) : No need to check these references. They seem to be hard coded to be relative. * src/functions/fn-lookup.c (gnumeric_offset) : Begin to handle relative references. * src/sheet.c (cellref_get) : Simplify the logic a smidge. * src/workbook.c (workbook_finish_editing) : Restore the edit area manually for now. We may need to make the update flags finer grain. 2000-04-05 Jody Goldberg * src/stf-parse.c (stf_parse_options_new) : Init oldsplitpositions. * src/dialogs/dialog-stf-format-page.c (stf_dialog_format_page_init) : Init format_run_parseoptions. 2000-04-05 Morten Welinder * src/workbook.c (workbook_do_destroy): Unref, not destroy, the wb->priv->gui_context member. (Plugs leak.) 2000-04-05 Jody Goldberg * (*.[ch]) : merge eval_expr, eval_expr_nonempty, eval_expr_empty. * src/xml-io.c (xml_write_attributes) : remove unused variable. (xml_read_attribute) : Fix warning. * src/clipboard.c (x_selection_received) : Cache the Sheet* before freeing the closure. * src/workbook-format-toolbar.c (workbook_feedback_set) : Disable callbacks when setting the font status. This avoids applying a spurious format. 2000-04-05 Miguel de Icaza Fix #8326 * src/print-info.c (print_info_new): Test was reversed here, so we were actually flipping the orientation for printing. * src/print.c (print_sheet_range): Now the routine returns the number of pages printed, and can be directed not to generate actual output. (print_sheet_range): Do column/row fitting for the other printing order as well. (compute_sheet_pages): Support both empty-page printing, and non empty-page printing. (print_page): Can now print and detect if there is anything to print. 2000-04-05 Jody Goldberg * src/commands.c (cmd_paste_cut_undo) : Use sheet_update and force a status update. (cmd_paste_cut_redo) : Ditto. Change the selection here. * src/sheet.c (sheet_flag_status_update_range) : Handle NULL ranges. * src/selection.c (sheet_selection_add_range) : Use sheet_flag_status_update_range rather than an immediate call to selection_changed_hook (that is deprecated). (sheet_selection_move) : Delete. (sheet_selection_paste) : Use sheet_update. * src/clipboard.c (clipboard_paste_region) : Remove unnecessary and incorrect code to do status updates. The selection mechanism handles it already. (x_selection_received) : Use sheet_update. * src/about.c (dialog_about) : Add Almer. 2000-04-05 Michael Meeks * src/sheet-style.c (sheet_style_compute): kill leak. (sheet_destroy_styles): destroy hash. 2000-03-25 Michael Meeks * src/sheet-object-bonobo.c (sheet_object_bonobo_load): Add warnings and fixup. 2000-04-05 Morten Welinder * src/about.c (dialog_about): Re-establish sorting (except Sir Miguel). 2000-04-05 Jody Goldberg * src/functions/fn-logical.c (gnumeric_if) : Use eval_expr_nonempty and permit non-scalars. * src/functions/fn-lookup.c (gnumeric_choose) : Ditto. * src/functions/fn-math.c (gnumeric_sumproduct) : Ditto. * src/functions/fn-information.c (get_value_class) : Use eval_expr_empty, and permit non-scalars. * src/func.c (function_iterate_argument_values) : Permit non-scalar values. (function_marshal_arg) : Be more specific about what types of argument must be scalar. 2000-04-04 Jody Goldberg * src/functions/fn-math.c (gnumeric_sumproduct) : eval_expr_nonempty and permit non-scalars. * src/functions/fn-lookup.c (gnumeric_choose) : Ditto. * src/expr-name.c (eval_expr_name) : Accept 'as_scalar' as an argument use eval_expr_empty. * src/expr.c (eval_expr_real) : Push the common cases for implicit intersection further down for a big speed improvement. (eval_expr_nonempty) : New routine. (eval_expr_empty) : Accept as_scalar. 2000-04-04 Jody Goldberg * src/item-grid.c (item_grid_button_1) : sheet_update after button press that changes selection. 2000-04-04 Jody Goldberg * src/print.c (print_hf) : Add precautions in an attempt to address http://bugs.gnome.org/db/82/8200.html I can not replicate it, but it can't hurt to be more careful just in case. 2000-04-04 Miguel de Icaza * src/item-cursor.c (item_cursor_autofill_event): Flush the canvas updates 2000-04-04 Jody Goldberg * src/workbook.c (workbook_class_init) : Remove CELL_CHANGED. (workbook_finish_editing) : At LAST! cmd_set_text is responsible for setting the text directly :-) * src/workbook-format-toolbar.c (change_font_size_in_selection_cmd) : cmd_format takes care of the height adjustments. * src/dialogs/dialog-cell-format.c (cb_fmt_dialog_dialog_apply) : Ditto. * src/sheet.c (Sheet): Add flags edit_pos_changed, selection_content_changed. (sheet_new) : init them. (sheet_flag_status_update_cell) : New function that sets the flags. (sheet_flag_status_update_range) : Ditto. (sheet_update) : Fix typo. Add support for new flags. (sheet_update_auto_expr) : Const correctness. (sheet_update_controls) : Ditto. (sheet_load_cell_val) : Ditto. Delete unused signal. (sheet_set_text) : Use sheet_flag_status_update_range. (sheet_set_edit_pos) : New routine. (sheet_cursor_move) : Delete. (sheet_fill_selection_with) : Remove. * src/selection.c (sheet_selection_changed_hook) : const correctness. (sheet_selection_change) : merge into sheet_selection_set. (sheet_selection_extend_to) : Use sheet_selection_set. (sheet_selection_set) : Merge with sheet_selection_change and use the sheet_cursor accessors rather than changing things directly. (sheet_selection_walk_step) : Use sheet_selection_set, and sheet_set_edit_pos. (sheet_is_all_selected) : const correctness. (sheet_is_cell_selected) : New routine. (sheet_is_range_selected) : New routine. * src/item-grid.c (item_grid_draw_background) : Adjust to rename of * sheet_selection_is_cell_selected -> sheet_is_cell_selected. * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Cleanup the logic for creating fills and arrays so that it can have undo support. - Change the heuristic for selecting what type of characters can start an edit session. Rather than using fixed Latin1 centric codes, guess that the 'length' field of the event is >0 if the character is printable. Be more careful NOT to forward characters to the entry if we are not editing. - Use sheet_update. * src/commands.c (command_pop_list_top) : Delete. (cmd_format_redo) : Apply the height adjustment here. (cmd_set_area_*) : Implement. (*) : Use sheet_update. * src/colrow.c (rows_height_update) : Moved here and generalized from sheet_selection_height_update. * src/clipboard.c (sheet_paste_selection) : No need to call sheet_cursor_set. sheet_selection_add_range already does that. (clipboard_paste_region) : Flag updates to the status display if something changes. 2000-04-04 Jon K Hellan * src/sheet-view.c (sheet_view_set_zoom_factor): Call gnumeric_sheet_make_visible only if sheet widget is realized. (sheet_view_make_edit_pos_visible): New function: Make the cell at the edit position visible. (sheet_view_size_allocate): Add call to sheet_view_make_edit_pos_visible. * src/gnumeric-sheet.c (gnumeric_sheet_make_cell_visible): Add comment. * src/xml-io.c (xml_sheet_read): Read zoom into a local variable before calling sheet_set_zoom_factor. Otherwise, sheet_set_zoom_factor would assume that it had already initialized this factor. * src/workbook.c (change_zoom_in_current_sheet_cb): No longer call change_displayed_zoom_cb, sheet_set_zoom_factor will call it indirectly. * src/workbook.[ch] (workbook_class_init, workbook_focus_current_sheet, workbook_create_standard_toobar): Rename "sheet_changed" signal to "sheet_entered". Remove "cell_changed" signal. (workbook_focus_current_sheet): Rename "sheet_changed" signal to "sheet_entered". (workbook_zoom_feedback_set): New function: Update zoom combo in toolbar when zoom changes. * src/sheet.c (sheet_update_zoom_controls): New function: Update zoom controls when zoom changes. (sheet_set_zoom_factor): Use it. (sheet_load_cell_val): Do not emit "cell_changed". * src/dialogs/dialog-cell-format.c (cb_fmt_dialog_dialog_apply): Call sheet_update_controls to update toolbar controls. * src/history.c (file_history_cmd): Remove pristine workbook when a new one is read in. For consistency with File/Open, File/Import and Bonobo File/History. * src/dialogs/dialog-workbook-attr.c (cb_attr_dialog_dialog_apply): Include workbook-view.h to get prototype for workbook_view_pref_visibility. * src/border.h (style_border_print): Remove bogus const in prototype. Reported by Aron Griffis. 2000-04-02 Jody Goldberg * src/item-edit.c (entry_changed) : Call scan_for_range here. (item_edit_set_arg) : And here. (recalc_spans) : But NOT here. Calling request_update while updating any other canvas item is bad. * src/item-cursor.c (item_cursor_set_bounds) : remove ugly hack. 2000-04-02 Jody Goldberg * doc/stf-parser.txt : Add description of double quote handling. * src/stf-parse.c (stf_parse_options_new) : Init indicator_2x_is_single and duplicates. (stf_parse_options_csv_set_indicator_2x_is_single) : New function. (stf_parse_csv_cell) : Add logic to optionaly treat double quotes as a single escaped quote. * src/dialogs/dialog-stf-csv-page.c : Add the double quote checkbox. * src/dialogs/dialog-stf.glade : Ditto. 2000-04-02 Jody Goldberg * src/gnumeric-sheet.[ch] (gnumeric_sheet_get_cell_bounds) : Delete. * src/item-edit.c (item_edit_init) : Init the feedback_cursor to NULL. * src/item-cursor.c (item_cursor_set_bounds) : HACK to force the canvas to honour update requests. 2000-04-01 Jody Goldberg * docs/C/func.defs, docs/C/functions.sgml : Regenerate. * src/functions/*.c : Adjust some 'See Also' tags to point to existing functions. * src/workbook.c (workbook_menu_format_sheet) : Do not use GNOMEUIINFO_TOGGLEITEM as it requires an xpm, and bonobo crashes when fed a NULL xpm. 2000-03-31 Jody Goldberg * src/workbook.c : Switch over to using GNOMEUIINFO_ITEM_ where possible. (cb_editline_focus_in) : Do not start editing if we are already editing. * src/utils.c (parse_cell_name) : constness. * src/style.c (style_font_gdk_font) : constness. (style_font_gdk_font) : ditto. (style_font_gnome_font) : ditto. (style_font_get_height) : ditto. * src/sheet.c (sheet_set_zoom_factor) : redimension all cells, rather than the sparse sheet region. Do not auto-resize. (sheet_cell_add) : Adjust to new calling convention for cell_calc_dimensions. (sheet_stop_editing) : Rename from sheet_destroy_edit_cursor. * src/sheet-view.c (sheet_view_get_style_font) : constness. * src/gnumeric-sheet.c (gnumeric_sheet_create_editing_cursor) : No need to set all those arguments. (destroy_item_editor) : Merge into gnumeric_sheet_stop_editing. (gnumeric_sheet_stop_editing) : Renamed from gnumeric_sheet_destroy_editing_cursor. * src/cell.[ch] (cell_set_rendered_text) : Adjust to new calling convention for cell_calc_dimensions. (cell_calc_dimensions) : Adjust calling convetion to make auto resizing optional. (calc_text_dimensions) : Adjust calling convention to directly set size. * src/sheet-style.c (re_dimension_cells_cb) : Adjust to new calling convention for cell_calc_dimensions. * src/item-edit.c : Major rework to behave better at margins, correctly handle cells whose display contents span differently than their displayed values, multi-line display mechanics, and a blinking cursor :-) 2000-03-31 JP Rosevear * src/xml-io.c (xml_read_attribute): Allow per type reading of the "Attribute" xml node so that complex types can sort themselves out. (xml_write_attribute): Allow per type writing of the "Attribute" xml node so that complex types can write themselves appropriately. (xml_write_attributes): Tidy and use xml_write_attribute. (xml_read_attribute): Tiday and use xml_read_attribute. 2000-03-29 Jody Goldberg * src/dialogs/dialog-cell-format.c (cb_font_changed) : Use the size from the selector rather than the display size with is zoom and resolution dependant. * src/main.c (has_gnumeric_been_compiled_with_guile_support) : A little test to circumvent the problems associated with the guile pluging requiring changes to gnumeric's main(). 2000-03-30 Kjartan Maraas * gnumeric.spec.in: Make it build a RPM. 2000-03-29 Jon K Hellan * src/workbook-format-toolbar.c (workbook_create_format_toolbar): Add titles for torn off combos. * src/workbook.c (workbook_create_standard_toobar): Ditto 2000-03-28 Jon K Hellan * src/xml-io.c (xml_arg_get): Really silence warnings. * src/print.c (print_footers): Dont't change footer points. * src/xml-io.c (xml_arg_get): Silence format conversion warnings. * src/dialogs/names.glade: Put the list inside a scrolled window. 2000-03-28 Miguel de Icaza * configure.in (GB_LIBS): Require Gtk 1.2.7 here too. * gnumeric.spec.in (Requires): Updated the requirements for Gnumeric here. 2000-03-26 Miguel de Icaza * src/dialogs/Makefile.am (glade_msgs): Added a new missing file. Guys. If you add a .glade file, PLEASE make sure you add the .glade.h file. This is just embarassing to see all of these releases done just because nobody ever cares to add the files properly. 2000-03-27 Nick Lamb * configure.in: Consistency, consistency, consistency When checking for gnome-print 0.14, say 0.14 not 0.13 2000-03-26 Jon K Hellan * src/file.c (can_try_save_to): Brown paper bag error. 2000-03-26 Jon K Hellan * src/file.c (wants_to_overwrite): New function. True if user wants to overwrite. (can_try_save_to): New function. True if it makes sense to try saving. (do_save_as): New function. Moved out of workbook_save_as. Handle the selection made in the save as dialog. * src/workbook.c (sheet_action_delete_sheet): Set initial focus. 2000-03-26 Karl EICHWALDER * src/workbook.c: A little bit more text. 2000-03-26 Jon K Hellan * configure.in: Make Bonobo version require Bonobo >= 0.9. We have in fact been requiring CVS Bonobo for a while, now there is a released version we can depend on. 2000-03-26 Miguel de Icaza * src/ranges.c (range_parse): Better parser, now it correctly parses "A1+sum(A3:a4)" as a1, not as a1:a4. (range_parse): Eliminates also a memory leak. 2000-03-26 Jody Goldberg * src/workbook-format-toolbar.c (change_font_size_in_selection_cmd) : default size is 10 points. (workbook_create_format_toolbar) : Switch the size selector over to gtk-combo-text too. 2000-03-26 Almer. S. Tigelaar. * src/plugin-util.c, src/plugin-util.h: New, ment for reducing some duplicate code in the plugins and provide better error reporting. modified the ff-csv plugin to use the new functions. 2000-03-25 Jody Goldberg * src/sheet.c (sheet_{col,row}_set_size_pts) : Set the update flags. * src/workbook.c : Add undo/redo elements. 2000-03-25 Jody Goldberg For Dom Lachowicz * src/plugin.[ch] (plugin_data_get_size, plugin_data_last_modified) : New functions. (plugin_load): updated * src/dialogs/dialog-plugin-manager.c (dialog-plugin-manager-impl, refresh-right-frame): updated. * src/dialogs/plugin-manager.glade, src/dialogs/plugin-manager.glade.h New layout, enabled word-wrap in description, Other aesthetic changes 2000-03-25 Jody Goldberg * src/workbook.c : Add undo/redo elements to the toolbar. * src/workbook-format-toolbar.c (change_font_in_selection_cmd) : Switch to the gnumeric gtk-combo-text. (workbook_create_format_toolbar) : Pass in a default colour. (fore_color_changed) : Handle the NULL indicator as auto colour. Hard code to black for now. (back_color_changed) : Handle the NULL indicator as no background. 2000-03-25 Jon K Hellan * src/dialogs/workbook-attr.glade: Deflickerize + set initial focus. 2000-03-25 Jody Goldberg * src/print.c (print_page) : Call setup_rotation unconditionally it will decide when to rotate. Honour the repeat_{top,left}.use flags. (print_page) : Add a clip path around the entire page to ensure that spans get clipped at the margin. (print_job_info_init_sheet) : Use the repeat_{top,left}.use flags. * src/commands.c (cmd_ins_del_row_col_{redo,undo}) : Use sheet_update. * src/sheet.c (sheet_insert_{cols,rows}, sheet_delete_{cols,rows}) : Set the visibility notification flags. (sheet_restore_row_col_sizes) : Ditto. 2000-03-25 Almer. S. Tigelaar. * src/dialogs/dialog-stf.h, src/dialogs/dialog-stf.c : Added a stf_dialog prefix to all functions and changed dialog_stf into stf_dialog, this makes more sense as the same naming convention was used in src/stf-parse.[ch] and src/dialogs/dialog-stf-preview.[ch] * src/dialogs/dialog-stf-main-page.c : idem * src/dialogs/dialog-stf-csv-page.c : idem * src/dialogs/dialog-stf-fixed-page.c : idem * src/dialogs/dialog-stf-format-page.c : idem * src/dialogs/dialog-stf-preview.c : idem * src/stf.c : Uses the renamed functions * src/clipboard.c : idem 2000-03-24 Miguel de Icaza * src/file.c (workbook_import): Destroy the toplevel not the hack_dialog. * src/dialogs/dialog-stf.c (dialog_stf_druid_page_cancel): Quit the event loop. Should fix #cd 7782 * src/workbook.c (workbook_set_arg): Add missing breaks to the argument code. 2000-03-25 Michael Meeks * src/ranges.c (range_fragment_list_clip): totaly re-write. (ranges_dump): implemented. * src/sheet-style.c (sheet_unique_cb): use frags not middle_list to calculate the style ( doh! ). 2000-03-24 Michael Meeks * src/ranges.c (range_overlap): kill (range_split_ranges): kill inline, it ruins debugging. * src/ranges.h (range_overlap): Macroify + add misc. documentation. * src/ranges.c (range_fragment_list_clip): fix frightening logic bug. 2000-03-22 Michael Meeks * src/ranges.c (range_fragment_list_clip): kill supid bug removing list items whilst iterating the list + add the clip region to the list temporarily. 2000-03-24 JP Rosevear * src/dialogs/workbook-attr.glade.h: Dialog translation header. * src/dialogs/workbook-attr.glade: New dialog file for workbook attributes. * src/dialogs/dialog-workbook-attr.c : New file to display a workbook attribute dialog. (dialog_workbook_attr): Basic preparation. (attr_dialog_impl): Setup the dialog and display it. (attr_dialog_init_view_page): Initialize the view tab of the workbook. (cb_show_hsb_toggled): Widget callback (cb_show_vsb_toggled): ditto (cb_show_tabs_toggled): ditto (cb_attr_dialog_dialog_destroy): Destroy callback. (cb_attr_dialog_dialog_apply): Apply callback - this needs to be more sophisticated and use a command for undo/redo purposes. * src/dialogs/Makefile.am: Setup for new files. * src/dialogs/dialogs.h: Define new dialog function. * src/workbook.c : Update menus for new workbook dialog under the format menu and remove now unused callbacks. (workbook_get_arg): Put breaks in so we don't get stupid errors. (workbook_set_arg): ditto (workbook_attr_cmd): New call back for menu option * src/xml-io.c (xml_arg_set): Add more types for conversion. (xml_arg_get): Add more types for conversion. 2000-03-24 Jody Goldberg * src/expr.c (cellref_relocate): Simply code to implement correct logic. * src/main.c : Add debug_excel_objects. 2000-03-24 Jody Goldberg From: Sebastian Wilhelmi * src/functions/fn-lookup.c (gnumeric_lookup): Use the bound and the index for the destination rather than the source. 2000-03-24 Jody Goldberg * src/gnumeric-sheet.c (gnumeric_sheet_set_left_col): Fix cut-n-paste-o. 2000-03-24 Tuomas Kuosmanen * src/pixmaps/function_selector.xpm: New pixmap for Function Selection Wizard * src/pixmaps/sort-ascending.xpm * src/pixmaps/sort-descending.xpm: New versions of the sort icons, we dont sort by numeric value so we dont want to use 123 in the icon either. Instead we use A..Z and Z..A. 2000-03-23 Jody Goldberg * src/cell.c (cell_set_text_simple): Do NOT set the entered text when importing non string values. There are still gotchas elsewhere. eg enter 90 format to current and edit box shows something that we can not parse. 2000-04-23 Morten Welinder * src/history.c (history_menu_remove_items): Don't crash. * src/regression.c (general_linear_regression): Don't do extra_stat in case of error. (general_linear_regression): Zero extra_stat. * src/history.c (history_menu_remove_items): Warning killer. * src/item-edit.c (scan_at): Fix usual signed/unsigned problem. * src/stf-parse.c (stf_parse_csv_is_separator): Ditto. (stf_parse_is_valid_data): Ditto. 2000-03-23 Jody Goldberg * src/main.h : include popt-gnome.h rather than popt.h. We may eventually need gnome-popt.h, but lets keep this simple for now. Does anyone know the right way to do this ? * src/cell.c (cell_calculate_span) : Add CENTER_ACROSS_SELECTION. (cell_set_text_simple) : Begin transition to checking format of current cell for match. No real change yet. * idl/Gnumeric.idl : Add CENTER_ACROSS_SELECTION. * src/cell-draw.c (cell_draw) : Ditto. * src/print-cell.c (print_cell) : Ditto. * src/corba-sheet.c (Sheet_cell_set_alignment) : Ditto. (Sheet_cell_get_alignment) : Ditto. * src/dialogs/dialog-cell-format.c (fmt_dialog_init_align_page) : Ditto. * src/dialogs/cell-format.glade : Ditto, reorganize alignment page. * src/format.c : Move definition of _StyleFormatEntry from mstyle.h. * src/number-match.c (format_create_regexp) : Extend to support currency names. * src/item-grid.c (item_grid_draw_border) : minor optimization for non-border case. 2000-03-23 Miguel de Icaza * src/gnumeric-sheet.c (start_cell_selection_at): Disable feedback when the anting cursor is created (gnumeric_sheet_stop_cell_selection): Enable feedback when the anting cursor is destroyed. * src/item-edit.c (scan_for_range): Enable feedback only if we are allowed to. (item_edit_enable_highlight, item_edit_disable_highlight): New functions to control the feedback display. 2000-03-21 Miguel de Icaza * src/sheet-vector.c (impl_vector_set_notify): Duplicate the object here. 2000-03-23 Jody Goldberg * src/gnumeric-sheet.c (gnumeric_sheet_set_{left_col, top_row}): Replace scrolling. * src/item-grid.c (item_grid_find_row): Add some old fixes that went into find_col but not find_row ?? 2000-03-22 Michael Meeks * src/sheet-style.c (sheet_style_cache_flush): add 'all' flag to signify a hard vs. soft flush, freeze hash when it is a nice size. Do not bother destroying the hash table. (sheet_mstyle_compute_from_list): kill debug in inner loop + add another short circuit. (calc_grown_range): Spread the range better near the edges. * src/mstyle.c (mstyle_do_merge): simplify + add vital short circuit for factor of 2 speedup on blank regions. (mstyle_get_*): kill redundant NULL preconditions. * src/main.c (gnumeric_main): add the tests again. 2000-03-18 Michael Meeks * src/mstyle.c (mstyle_do_merge): Use pointer increment to kill mul in inner loop. (mstyle_element_ref): take a pointer. * src/sheet-style.c: Clean internals a lot, kill the nasty dereference macros, hash on CellPos to decrease memory usage. * src/dialogs/dialog-cell-format.c (draw_format_preview): Clip the sample down if it is a massive string to stop the dialog from becoming stupidly wide. 2000-03-23 Jon K Hellan * src/stf.c (stf_read_workbook): Set save info, preferred format XML, level manual. * src/file.[ch] (file_format_register_save): Add "level" parameter. * src/file.h: (FileFormatLevel): Add the enum. At the best level, the save command saves to the given name without asking. At the worst level, no name has been assigned. * src/file.c (_FileSaver): Add "level" member. (file_format_unregister_save): Set level to manual for workbooks which had this saver set. (cb_unregister_save): New function. Helper for file_format_unregister_save. (workbook_read): Set save info. Tag as new. (workbook_import): No longer set needs_name - importer will have set file_format_level. (fs_set_filename): New function: Set default filename in the file selection dialog. (workbook_save_as): Use fs_set_filename. Set save info. (workbook_save): Punt to workbook_save_as if file_format_level < AUTO. Save using wb->file_save_fn. * src/workbook.[ch] (workbook_set_saveinfo): New function. Set filename, level and save function, but do nothing if we already have info at a higher level. * src/workbook.h (struct _Workbook): Replace needs_name with file_format_level. Add file_save_fn member. Include file.h (workbook_set_saveinfo): Add "level" parameter. * src/workbook.c (workbook_do_destroy): Insert in history list when file format level > "new". We used to test needs_name. (workbook_is_pristine): Test file_format_level > "new" instead of needs_name true. (workbook_new): Tag workbook as new. Set save function. (workbook_set_filename): needs_name has no longer exists. Don't set it. * src/xml-io.c (gnumeric_xml_read_workbook): Set save info. Tag as AUTO. (xml_init): Tag saver as AUTO. * src/corba-workbook.c (Workbook_set_filename): Add FIXME comment. * src/history.c (history_item_label): Strip extension only when it is ".gnumeric". 2000-03-22 Jody Goldberg * src/functions/fn-lookup.c (gnumeric_index) : The current implementation supports arrays and references. It does not support the special case of index 0,0 returning the entire range, nor does it support the second syntax (ref, row, col, area_num). (gnumeric_match) : Document that only match_type == 0 works. 2000-03-22 JP Rosevear * src/xml-io.c (xml_arg_set): Set an arg value based on type and contents in the xml tree. (xml_arg_get): Get a string representing an arg's value. (xml_write_attributes): Create the list of attributes. (xml_free_arg_list): Function to free the args in a GList. (xml_read_attributes): Read the attributes back in from the xml tree. (xml_workbook_read): Read the workbook attributes in and set them. (xml_workbook_write): Write out the workbook attributes. * src/workbook.c (workbook_class_init): Add three args, the h & v scrollbars and the notebook tab. Override parent set_arg and get_arg functions. (workbook_set_arg): New function to handle arg setting. (workbook_get_arg): New function to handle getting args. (workbook_set_attributev): Set a whole list of args for the object. (workbook_get_attributev): Return an array of args for the workbook. * src/workbook.c (sort_cmd): Sort all the columns in order so that ties are broken nicely (pointed out by meeks) 2000-03-22 Jody Goldberg * src/plugin.c (plugin_load) : Typo. * src/workbook.c (recalc_cmd) : Bug7739. 2000-03-22 Chema Celorio * idl/.cvsignore: Created .cvsignore added Makefiles 2000-03-22 Jody Goldberg * src/sheet.c (sheet_reposition_comments) : Merged from sheet_reposition_comments_from_row and sheet_reposition_comments_from_col. (sheet_update) : New function. Use the new update flags from SheetPrivate that are set in the col/row resize functions to do delayed resizing and updates. This allows the resizing to be batched for an entire logical operation. (sheet_{col,row}_set_size_pixels) : Set the update flags. * src/workbook-cmd-format.c (workbook_cmd_format_{row,column}_auto_fit) : No need to worry about redraws. Use sheet_update. (workbook_cmd_format_{row_height,column_width}) : Ditto. * src/sheet-view.c (sheet_view_redraw_cell_region) : No need to recalculate the spans, Use the pre-calculated versions. (sheet_view_col_size_changed) : Use sheet_update. (sheet_view_row_size_changed) : Ditto. * src/sheet-style.c (re_dimension_cells_cb) : Use cell_calc_dimensions. (sheet_cells_update) : No need to redraw per cell and guess the bound. It is simpler and more correct to calc dimension per cell, and redraw the region BEFORE and AFTER to handle spans. * src/cell.[ch] (cell_style_changed) : Delete. * src/cell-draw.c (cell_draw) : continue syncing with print code. Be even more careful in the possible presence of style bugs. * src/item-grid.c (item_grid_draw) : Ditto. * src/print-cell.c (print_cell) : Ditto. * src/analysis-tools.c (correlation_tool) : Use sheet_update. (covariance_tool) : Ditto. (ttest_paired_tool) : Ditto. (ttest_eq_var_tool) : Ditto. (ttest_neq_var_tool) : Ditto. (ftest_tool) : Ditto. 2000-03-21 Jody Goldberg * src/sheet-private.h : Add status flags to accumulate state changes for later redraw. * src/commands.c (cmd_format_redo) : Use sheet_update in case the row/col sizes changed due to font size changes. (cmd_format_undo) : Ditto. * src/widgets/gtk-combo-box.c (cb_state_change) : Only pseudo-prelight the display when over the arrow, not vice versa. (gtk_combo_box_init) : Ditto. (gtk_combo_box_set_display) : Ditto. * src/sheet.c (sheet_row_get_distance_pts) : Enable reversed indicies. (sheet_col_get_distance_pts) : Ditto. * src/plugin.c (plugin_load) : Add more version checking to ensure that very old plugins that do not check their versions can not be loaded. 2000-03-20 Jody Goldberg * src/gnumeric-sheet.c (gnumeric_sheet_make_cell_visible) : When forcing a scroll do a hard reset of the visible ranges. (gnumeric_sheet_compute_visible_ranges) : Ditto. (gnumeric_sheet_set_top_row) : Remove extraneous scroll. (gnumeric_sheet_set_left_col) : Remove extraneous scroll. 2000-03-21 Miguel de Icaza * src/utils.c (parse_cell_name_or_range): Allow for parsing to be non-strict. * src/ranges.c (range_parse): Allow for parsing to be non-strict. * src/utils.c (parse_cell_name): Allow for parsing to be non-strict. * Makefile.am (SUBDIRS): Fix list of directories. * src/item-cursor.c (item_cursor_set_arg): Added optional color handling to item-cursor. 2000-03-20 Miguel de Icaza * src/main.c (gnumeric_main): Removed broken style test. * src/ranges.c (range_parse): Update the range_parse API * src/print-info.c (load_range): Update API. * src/utils.c (parse_cell_name): Handle references that contain an absolute reference. 2000-03-19 Jody Goldberg * src/sheet.c (sheet_move_range) : Move the styles before the contents so that spans are calculated correctly. * src/workbook.c (workbook_start_editing_at_cursor) : Redraw the edit cell so that we handle spans correctly. (workbook_finish_editing) : Ditto. * src/item-grid.c (item_grid_draw) : Ignore spans while editing a cell. 2000-03-16 Nick Lamb * configure.in: Fix typo (we need 0.13, not 0.11 of gnome-print) 2000-03-16 Michael Meeks * src/test.[ch]: Create to help profiling. * src/main.c: Add style testing. 2000-03-14 Michael Meeks * src/xml-io.c (xml_write_style): comment out the default checks on style colors, We may want these back when we have sheet default colors. 2000-03-13 Michael Meeks * src/sheet-object-bonobo.c (sheet_object_bonobo_destroy): fix. 2000-03-18 JP Rosevear * src/pixmaps: Added sort-ascend.xpm, sort-descend.xpm, insert-bonobo-component.xpm * src/pixmaps.h: Include new xpms. * src/workbook.c (sort_cmd): Moved from workbook-format-toolbar.c (sort_ascend_cmd): ditto (sort_descend_cmd): ditto * src/dialogs/dialog-cell-sort.c (dialog_cell_sort): Duh, pass the parameters in the correct order. * src/workbook-format-toolbar.c: Move sort commands to workbook.c and put icons into command toolbar. 2000-03-17 Jon K Hellan * src/sheet-object.c (create_object, sheet_set_mode_type_full): Make it compile and link without Bonobo. 2000-03-13 Miguel de Icaza * src/sheet-vector.c (sheet_vectors_cell_changed): Change NULL to CORBA_OBJECT_NIL * src/sheet-object-bonobo.c (sheet_object_bonobo_load_from_file): Use the new IDL:Bonobo interface name, not the IDL:GNOME one (sheet_object_bonobo_load_from_file): ditto. (sheet_object_bonobo_load): ditto. * src/sheet-object.c (sheet_set_mode_type): Temporary hack to get the graphics working under 1:20 hours when my battery runs out of power. * src/sheet-object-container.c (sheet_object_container_new_from_goadid): Renamed from sheet_object_container_new (sheet_object_container_new): Now takes a BonoboObjectClient as an argument. 2000-03-12 Miguel de Icaza * src/sheet-vector.c (impl_vector_get_numbers): Increment idx here; (impl_vector_get_vec_values): ditto. (impl_vector_get_numbers): Use the proper values for the columns row. (impl_vector_get_vec_values): ditto. * src/clipboard.c (x_clipboard_bind_workbook): Fix memory leak. The problem is worse, because the warning comment there was completely bogus. 2000-03-14 Jon K Hellan * src/workbook-view.c (workbook_view_history_update, workbook_view_history_shrink): ): We introduce numbers in front of the the history file names for the following reasons: 1. Bonobo won't let you make 2 entries with the same label in the same menu. But that's what happens if you e.g. access worksheets with the same name from 2 different directories. 2. The numbers are useful accelerators. This means that when a new item is added, all existing entries get a new number. We access them via the label, so we have to remove all the old list entries and make a new list. history_menu_flush is called to remove the old list, history_menu_update to build the new. * src/history.c (history_item_label): Add accel_number parameter, make label from accel_number and basename. Rename basename variable to label. (history_menu_item_create): Add accel_number parameter. Use it when calling history_item_label. (history_menu_locate_separator): New static function. Locate the menu and position of history separator. They may not yet exist. (history_menu_insert_separator): New static function. Insert the history separator. Return its position and the menu shell. (history_menu_insert_items): New static function. Add the history items to the file menu. (history_menu_remove_items): New static function. Remove the history items from the file menu. (history_menu_setup): Split into lots of twisty little functions, all different. (history_menu_fill): New exported function. Make the menus for the workbooks show the new history list. (history_menu_flush): New exported function. Remove the history list from the file menus of all workbooks. (history_insert_menu_item): Remove. (history_remove_menu_item): Remove. * src/history.h (history_menu_fill, history_menu_flush): Declare. (history_insert_menu_item, history_remove_menu_item): Remove. 2000-03-13 Jody Goldberg * wizards/graphics/Makefile.am : Include the idl build dir rather than src dir. We are interested in the resulting code not the original idl. 2000-03-13 Jon K Hellan * src/main.c (main): Silence warning. 2000-03-13 Jody Goldberg * Makefile.am : Make wizards and graph subdirs contingent on bonobo. distribute all the ChangeLogs. 2000-03-12 JP Rosevear * src/dialogs/dialog-cell-sort.c : Remove clip_range_to_finite. (dialog_cell_sort): Use range_clip_to_finite. * src/ranges.c (range_clip_to_finite): Make the range finite using sheet_get_extent if its infinite. * src/ranges.h: Prototype range_clip_to_finite. * src/workbook-format-toolbar.c (sort_cmd): Sort the current selection if simple. (sort_ascend_cmd): Call sort_cmd with asc=0. (sort_descend_cmd): Call sort_cmd with asc=1. * src/workbook-format-toolbar.c : Add sort ascend/descend buttons. (sort_ascend_cmd): New toolbar callback function to sort selection in ascending order. (sort_descend_cmd): New toolbar callback function to sort selection in descending order. 2000-03-12 JP Rosevear * src/Makefile.am: Reflect new location of idl. 2000-03-12 Jody Goldberg * src/item-cursor.c (item_cursor_selection_event) : Be more careful handling selecting the cursor from the external or internal edge this will avoid what seems like an off by one error. Thanks Jacob. 2000-03-11 Miguel de Icaza * src/Makefile.am: Cleaned Makefile. * graph/Makefile.am: ditto. * graph/sample.c: fix * idl/Makefile.am, idl/Graph.idl, idl/Gnumeric.idl: Moved IDL files here, and create the libGnumeric.a and libGraph.a libraries here. 2000-03-11 Jody Goldberg * src/workbook.c (workbook_setup_edit_area) : Use sensitize rather than show/hide for the ok/cancel buttons. Return wizard back to end of list. (workbook_new) : Revert last change, no longer necessary. (workbook_start_editing_at_cursor) : Sensitize the ok/cancel edit buttons. (workbook_finish_editing) : desensitize them. 2000-03-11 Jody Goldberg * src/workbook.c (cb_editline_focus_in) : When the edit lined receives focus start editing. (accept_input) : No need to force edit mode we should already be in edit mode. (workbook_setup_edit_area) : Move the wizard button to the begining of the list and store the ok and cancel buttons in the Private section. Hook cb_editline_focus_in to focus-in. (workbook_new) : After show_all, we need to hide the ok/cancel edit buttons. We start out not editing. (workbook_start_editing_at_cursor) : Show the ok/cancel edit buttons. (workbook_finish_editing) : Hide them. 2000-03-11 Jon K Hellan * src/main.c (main): #ifdef out the fix for now. 2000-03-11 Jon K Hellan * src/main.c (main): Work around guile / gnorba problem: gnorba closes stdin, and scm_boot_guile segfaults if any of the stdio streams are missing. We map the missing streams to /dev/null. 2000-03-10 Alastair McKinstry * configure.in (ALL_LINGUAS): Added ga (Irish) translation. * gnumeric.desktop: Added Irish (ga) translation. 2000-03-10 Jody Goldberg * src/func.c (tokenized_help_new) : Constness. * src/widgets/gtk-combo-box.c (cb_state_change) : New function to keep the state of the combo display button and the combo arrow in sync. (gtk_combo_box_init) : Connect cb_state_change to the arrow. (gtk_combo_box_set_display) : Ditto for the display widget. * src/sheet.c (sheet_set_zoom_factor) : Bound the factor at 10% and 500% * src/workbook.c (change_zoom_in_current_sheet_cb) : call change_displayed_zoom_cb to adjust the combo to contain the (workbook_focus_current_sheet) : Only emit signal if the sheet changed. 2000-03-08 Jody Goldberg * src/collect.c (callback_function_collect) : Treat arrays and ranges as errors. * src/format.c (format_value) : formating a range returns a #VALUE! message. * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Use the workbook flags, and delete the icky globals. (start_cell_selection_at) : Hide the std cursor when a cell selection cursor is created. (gnumeric_sheet_stop_cell_selection) : Restore the std cursor. 2000-03-07 Jody Goldberg * src/workbook.c (accept_input) : Use workbook_finish_editing. (cancel_input) : Ditto. (do_focus_sheet) : Support range selection across spreadsheets. (workbook_get_sheet_position) : Fix and document. (workbook_move_sheet) : Fix. (workbook_focus_sheet) : Handle errors cleanly. (wb_edit_key_pressed) : Improve F4 handling. (wizard_input) : Begin non-modal function wizard. NOT FINSIHED. (workbook_start_editing_at_cursor) : transfered from sheet_start_editing_at_cursor. (workbook_finish_editing) : Distilled from sheet_{accept,cancel}_pending_input. (Workbook) : Add editing_cell, editing_sheet, editing. * src/sheet.c (sheet_stop_editing) : Delete. (sheet_accept_pending_input) : Merge into workbook_finish_editing. (sheet_cancel_pending_input) : Ditto. (sheet_start_editing_at_cursor) : (sheet_create_edit_cursor) : New function. (sheet_destroy_edit_cursor) : New function. (sheet_destroy_cell_select_cursor) : New function. (Sheet) : Delete editing and editing_cell. * src/selection.c (sheet_selection_changed_hook) : Make public. This should eventually move but I'm not sure where. It is used for more than just changes in the selection in the current sheet. It must also be called when the sheet changes. What it REALLY does it to sync the shared workbook state with the current sheet's selection. * src/item-cursor.c (item_cursor_init) : Handle change from sheet_accept_pending_input -> workbook_finish_editing. * src/item-grid.c (item_grid_button_1) : Ditto. * src/gnumeric-sheet.c (gnumeric_sheet_can_move_cursor) : Edit moved from sheet -> workbook. (selection_insert_selection_string) : Extend to support abs/rel refs and intersheet-refs. (gnumeric_sheet_stop_cell_selection) : Add clear_string argument to optionally remove the selection range. (gnumeric_sheet_key_mode_sheet) : Adjust to movement of editing flag from sheet -> workbook. Be careful to use the original sheet when moving rather than the current sheet. Support F4 while editing. * src/cell-draw.c (cell_draw) : editing_cell has moved from sheet to workbook. Fix font ref leak when drawing the edit cell. * src/dialogs/dialog-function-wizard.c : Begin transition to being non-modal. NOT FINISHED. 2000-03-10 Michael Meeks * src/Makefile.am (sheet-vector.h): make it depend on Gnumeric.h not Vector.h 2000-03-09 Michael Meeks * src/sheet-object.c (sheet_set_mode_type): look for the IDL:Bonobo/ interfaces not stale IDL:GNOME ones. 2000-03-09 Jon K Hellan * src/corba-workbook.c (command_context_corba): Really handle wb == NULL. 2000-03-08 Jon K Hellan * src/corba-workbook-factory.c (WorkbookFactory_supports): (GNOME_Gnumeric_WorkbookFactory__create): Bonobo::GenericFactory::supports has been renamed to Bonobo::GenericFactory::manufactures. Replace supports with manufactures. 2000-03-08 Jon K Hellan * src/corba-workbook.c (command_context_corba): Handle wb = NULL. It would segfault. * src/Gnumeric.idl: Fixed places where a name at an inner scope differs only in case from a name at an outer scope. This breaks the rule that identifiers cannot differ only in case, because an identifier from a surrounding scope is introduced into a scope if it is used in that scope. The solution is to scope the outer identifiers explicitly: (GNOME::Gnumeric::Sheet::cell_set_value): Change Value to Gnumeric::Value. (GNOME::Gnumeric::Workbook::parse): Change Sheet to Gnumeric::Sheet. * src/dialogs/dialog-cell-comment.c (dialog_cell_comment): Set word wrap. * src/dialogs/dialog-summary.c (dialog_summary_update): Ditto. 2000-03-08 Jukka-Pekka Iivonen * src/sheet.c (sheet_destroy): Fixed a leak (in sheet->solver_parameters.input_entry_str). 2000-03-07 Miguel de Icaza * src/Vector.idl: Move the vector interfaces here. * src/Makefile.am: Arrange for compilation linking of Vector code. 2000-03-07 Almer. S. Tigelaar. Gnumeric instances can now eXchange data in a gnumeric XML clipboard format. This way style information and such can be preserved when copying/cutting from one instance to another. * src/xml-io.c, src/xml-io.h : Added some functions for the gnumeric clipboard xml format. (gnumeric_xml_read_selection_clipboard) : For reading xml data from the clipboard (gnumeric_xml_write_selection_clipboard) : For writing xml data to the clipboard (xml_read_selection_clipboard) : For reading xml data from the clipboard, does the dirty work (xml_write_selection_clipboard) : For writing xml data to the clipboard, does the dirty work (xml_read_cell_copy) : Similar to xml_read_cell, but returns a CellCopy* instead of a Cell* (xml_write_cell_and_position) : Similar to old xml_write_cell but allows you to set the col and row manually (xml_write_cell) : Calls upon xml_write_cell_and_position, but takes the col and row from the ColRowInfo members of type Cell. (xml_read_style_region_ex) : Read the xml data and returns an mstyle and a range. Does _NOT_ attach this to a sheet. (xml_read_style_region) : calls upon xml_read_style_region_ex and attaches the mstyle to a sheet * src/cell.h New cellcopy type added CELL_COPY_TYPE_AND_COMMENT, if a cellcopy is of this type the comments will be put in cellcopy.comment * src/clipboard.c (paste_cell_flags) : added support for the new CELL_COPY_TYPE_TEXT_AND_COMMENT copy type (x_selection_received) : Modified so it support the TARGETS and GNUMERIC XML atoms and renders the gnumeric clipboard xml format (x_selection_handler) : Now it can render theselection to ASCII text and gnumeric clipboard xml format. (x_clipboard_bind_workbook) : Registers the new GNUMERIC XML atom that enables other instances of gnumeric to see that we are also gnumeric and can render the clipboard data in a the special gnumeric xml clipboard format (clipboard_release) : Handles new CELL_COPY_TYPE_TEXT_AND_COMMENT type 2000-03-01 Dom Lachowicz * src/dialogs/sheet-order.glade, src/dialogs/sheet-order.glade.h, src/dialogs/dialog-sheet-order.c: Created. * src/dialogs/Makefile.am: Added three above files to project * src/dialogs/dialogs.h (dialog_sheet_order): added new function * src/workbook.c (sheet_order_cmd): added (workbook_get_sheet_position, workbook_delete_sheet), (workbook_move_sheet, workbook_focus_sheet, wb_edit_key_pressed): updated. * src/workbook.h (workbook_delete_sheet, workbook_move_sheet): added 2000-03-06 Michael Meeks * src/Gnumeric.idl: add nasty mess copied from Bonobo. * src/Makefile.am ($(GNUMERIC_CORBA_GENERATED)): Add -D__GNUMERIC_COMPILE 2000-03-05 Jukka-Pekka Iivonen * doc/C/solver.sgml, doc/C/images/solver-0[1,2,3,4,5].jpg: Added documentation of the Solver tool. 2000-03-05 Jody Goldberg * src/dialogs/dialog-cell-format.c : Enable the underline and strikethrough elements. TODO : redo the preview for the font tab to support underlining and friends. * src/dialogs/cell-format.glade : Rename the underline combo and strikethrough button. * src/xml-io.c (xml_write_style) : Add strikethrough. (xml_read_style) : Ditto. * src/workbook-format-toolbar.c (workbook_feedback_set) : Only show the underline button for single underlines. * src/sheet-view.[ch] : rename select_all -> select_all_btn. remove unused element. * src/sheet-object.h : Remove silly self inclusion. * src/print-cell.c : Support underlining and strikethrough. Move even closer into sync with drawing code. * src/mstyle.c : Add strikethrough and cleanup includes. * src/main.h : Add include for popt.h. * src/item-grid.c (item_grid_draw_border) : No more need for BOTTOM or RIGHT. (item_grid_draw_cell) : Delete, and merge with draw_cell. * src/commands.c (cmd_set_text_undo) : Use cursor_set rather than cursor_move. * src/corba-sheet.c (Sheet_cursor_move) : Ditto. (gnumeric_sheet_key_mode_sheet) : Ditto. * src/workbook.c (workbook_parse_and_jump) : Ditto. * src/cell-draw.c : Clean includes, add support for strikethrough. 2000-03-04 Morten Welinder * src/sheet.c (r1c1_get_item): Fix signed/unsigned char confusion. * src/dialogs/dialog-autocorrect.c (autocorrect_tool): Massive signed/unsigned char confusion. * src/solver-lp.c (find_name): Kill a warning. * src/func.c (function_get_category): Kill a warning. * src/dialogs/dialog-plugin-manager.c (refresh_right_frame): Kill a warning. 2000-03-03 Jody Goldberg * src/cell-draw.c (cell_draw) : Correct off by one error for right alignment. * src/print-cell.c (print_cell_text) : Ditto. (print_cell_range) : Don't forget to increment when dealing with hidden cols/rows. * src/item-grid.c (item_grid_draw) : Ditto. 2000-03-01 Dom Lachowicz * src/dialogs/dialog-plugin-manager.c (add_to_clist, populate_clist), (add_cb, remove_cb, row_cb, remove_cb, dialog_plugin_manager), (dialog_plugin_manager_impl): Re-implemented dialog. (refresh_right_frame): New function * src/dialogs/plugin-manager.glade: updated. * src/dialogs/plugin-manager.glade.h: updated 2000-03-03 Morten Welinder * src/workbook.c: Fix 6760. 2000-03-03 Jon K Hellan * doc/python-gnumeric.txt: Updated documentation 2000-03-02 Jon K Hellan * src/symbol.c (symbol_is_unused): Test went wrong way. (symbol_remove): Ditto. 2000-03-01 Dom Lachowicz * src/functions/fn-eng.c (val_to_base): Catch Div0 && invalid log() domain. * src/functions/fn-financial (gnumeric_accrint, gnumeric_recieved), (gnumeric_pricemat): Same * src/functions/fn-stat.c (gnumeric_ttest): Ditto 2000-03-02 Michael Meeks * src/sheet-vector.c (sheet_vector_corba_object_create): made static. (sheet_vector_new): setup sheet_vector->sheet. (sheet_vector_detach): re-arrange to compile. 2000-03-02 Jon K Hellan * doc/python-gnumeric.txt: Updated documentation * src/func.h: Make FunctionCategory.name a String * instead of gchar *. This was necessary to allow user defined categories. src/func.c (function_category_compare, function_get_category): Use new FunctionCategory. Fix wrong use of g_list_find_custom. (function_def_count_args, function_def_get_arg_type): Null pointer check. * src/dialogs/dialog-function-select.c (function_categories_fill): ditto. 2000-03-02 Almer. S. Tigelaar. * src/dialogs/dialog-stf-format-page.c * src/dialogs/dialog-stf-preview.c * src/dialogs/dialog-stf-preview.h * src/dialogs/dialog-stf.c Modified, the format page now really display formatted cells in the preview. NOTE : A downside of this is that the cache is no longer shared between fixed/csv pages and format pages. * src/dialogs/dialog-stf.c (dialog_stf_editables_enter) : Disabled "enter activates default button" for the TextIndicator field on the csv page. This would case the page to cycle, which is ok, but it also caused the dropdown option to pop-up on the next page, which is not ok. 2000-03-02 Jon K Hellan * src/dialogs/dialog-stf.c (dialog_stf_druid_page_cancel): In Yes/No dialog - set initial keyboard focus to "No". It went nowhere. (dialog_stf_set_initial_keyboard_focus): New function: Set keyboard focus to the an appropriate widget on the page. (dialog_stf_druid_page_next, dialog_stf_druid_page_previous): Set initial keyboard focus. (dialog_stf_druid_page_next): Make "Finish" button default on the the final page. This doesn't change behaviour, but cues the user visually. (dialog_stf_druid_page_previous): Restore "Next" button as default when coming from final page. (dialog_stf_check_escape): New function: Watch keypresses, and simulate "Cancel" when you see . (dialog_stf_attach_page_signals): Connect dialog_stf_check_escape to handle . (dialog_stf_editables_enter): New function: Make in text fields activate default. (dialog_stf): Use dialog_stf_editables_enter, dialog_stf_set_initial_keyboard_focus. Make "next" button the default button. Make window a child of the workbook window. * src/dialogs/dialog-stf-format-page.c (format_page_init): Make format list titles passive. * src/dialogs/dialog-stf-fixed-page.c (fixed_page_init): Make column list titles passive. * src/clipboard.c (x_selection_to_cell_region): Add command context to interface. Use it when calling dialog_stf. (x_selection_to_cell_region): (x_selection_received): Call x_selection_to_cell_region with workbook_command_context_gui. 2000-03-02 Miguel de Icaza * src/about.c (dialog_about): Changed to www.helixcode.com 2000-03-01 Miguel de Icaza * src/parser.c (gnumeric_expr_parser): Make preconditions clear. * src/ranges.c: Removed gnome.h from the include list. * src/sheet.h: Fix comment. The list contains SheetSelection structures not Ranges. 2000-03-01 Jon K Hellan * src/dialogs/cell-format.glade: Font pane: Make accelerator for underline combo work. Enable strikethrough. 2000-03-01 Jody Goldberg * src/cell-draw.c (draw_text) : adjust placement of single vs double underlining. 2000-03-01 Michael Meeks * configure.in: Bump required ver. of gnome-print. * src/style.c (style_font_get_height): hack for new gnome-print to kill annoying warning. 2000-03-01 Jon K Hellan * src/dialogs/cell-format.glade: Enable underline in fonts pane. 2000-03-01 Jon K Hellan * src/dialogs/advanced-filter.glade: Added accelerators and some padding. 2000-02-29 Jody Goldberg * src/print-cell.c (print_cell_text) : Correct the docs, and add clipping code. The resulting postscript looks reasonable now. Unfortunately preview sucks. * src/sheet.c (sheet_get_extent_cb) : Teach about spans. (sheet_get_extent) : max_used is NOT a viable bound. It limits the cells with contents, but does not reflect spanning cells. 2000-02-29 Miguel de Icaza * src/cell.c (cell_content_changed): Notify the sheet that the cell changed using sheet_cell_changed. * src/sheet-vector.c: New file. Implements the Gnumeric:Vector interface (and supports non-contiguous ranges) * src/sheet.c (sheet_destroy): free private structure. (sheet_new): init private structure. (sheet_cell_changed): New function. * src/sheet-private.h: New file. * src/sheet.h: Sheet structure includes SheetPrivate field now. 2000-02-29 Jody Goldberg * src/workbook-format-toolbar.c (change_selection_font) : Add underline. (underline_cmd) : New function. (workbook_format_toolbar) : Add underline. (workbook_feedback_set) : Ditto. * src/xml-io.c (xml_read_style) : Restore underline style. (xml_write_style) : Save the underline style. * src/pattern.c (gnumeric_background_set_pc) : suppress warning. * src/mstyle.[ch] : Add MSTYLE_FONT_UNDERLINE. (mstyle_get_font_uline) : New function. (mstyle_set_font_uline) : New function. * src/cell-draw.c (draw_text) : new function to add underlines. (draw_overflow) : Use draw_text. (cell_draw) : Ditto. * src/gnumeric.h : Add StyleUnderlineType. * gnumeric.spec.in : Update the requirements. 2000-03-01 Jon K Hellan * doc/python-gnumeric.txt: Clarified mapping of arrays. 2000-02-29 Jody Goldberg * src/cell-print.c : Sync with logic in item-bar::draw to add borders and more correctly handle spanning. * src/pattern.c (gnumeric_background_set_pc) : New routine cloned from gnumeric_background_set_gc. * src/border.c (style_border_set_pc_dash) : New routine cloned from style_border_set_gc_dash. (style_border_set_pc) : New routine cloned from style_border_set_gc. (style_border_print) : New routine cloned from style_border_draw. * src/cell-draw.c (cell_draw) : No need to return number of spans. 2000-02-29 Jukka-Pekka Iivonen * src/sheet.c (sheet_new): Added initialization of all the Solver parameters. * src/xml-io.c: Enabled the solver parameter saving again. 2000-02-29 Jon K Hellan * src/gnumeric-util.[ch] (gnumeric_set_transient): New function. Make the window a child of the workbook in the command context, if there is one. (gnumeric_editable_enters): New function. Like gnome_dialog_editable_enters, but not just for GnomeDialogs. * src/gnumeric-util.c (gnumeric_dialog_run): Remove incorrect comment. (gnumeric_dialog_show): Fix typo. 2000-02-29 Jon K Hellan * src/dialogs/dialog-cell-format.c: The dialog moved when "Apply" was pressed. This was an unavoidable consequence of using gnome_dialog_run. We switch to a purely callback based design - this module was almost there, anyway. And we can make the dialog modeless if we wish. (cb_fmt_dialog_dialog_destroy): New function. Free resources upon "destroy". This gets called whenever "OK" or "WM close" are pressed. (fmt_dialog_impl): Connect "destroy" handler. Replace gnome_dialog_run (recursive main loop) with gnumeric_dialog_show (no such thing). Set modal explicitly. (dialog_cell_format): Remove initial comment which these changes made incorrect. Allocate state record on heap instead of stack. Move resource deallocation to cb_fmt_dialog_destroy. 2000-02-28 Jody Goldberg * src/value.c (value_new_cellrange) : Normalize ranges to ensure that start <= end. 2000-02-28 Morten Welinder * src/datetime.c (datetime_serial_raw_to_serial): Use floor. (datetime_serial_raw_to_seconds): Ditto. * src/format.c (format_number): Keep the sign when considering dates. * src/parser.y (unregister_allocation): Handle special error situation without issueing a bogus message. 2000-02-28 Jody Goldberg * src/selection.c (sheet_selection_walk_step) : Fix typo. 2000-02-28 Miguel de Icaza * src/widgets/widget-color-combo.c (color_combo_finalize): Memory leak fix. Found by Morten. 2000-02-28 Jody Goldberg * src/sheet-view.c (button_select_all) : Redraw after selection. * src/selection.c (sheet_selection_walk_step) : Don't wrap when moving the singleton cursor. * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : - Shift tab should be horizontal. - Shift/None Tab/Enter should accept pending input. 2000-02-28 Jody Goldberg * src/expr.h : Move FunctionDefinition to * src/gnumeric.h : here. * src/cellspan.c (col_hash) : Use GPOINTER_TO_INT. (col_compare) : Ditto. (row_init_span) : Delete. (free_hash_value) : Renamed from free_hash_key. (cell_register_span) : Register all cells in a span, malloc a CellSpanInfo to store a descriptor about the first and last cols. (assemble_unregister_span_list) : Delete. (span_remove) : New function for use by g_hash_table_foreach_remove. (cell_unregister_span) : Use g_hash_table_foreach_remove. (row_cell_get_displayed_at) : Adjust to new descriptor. (row_span_get) : New function. * src/cell.c (cell_calculate_span) : Renamed from cell_get_span. * src/cell-draw.c (cell_draw) : Do not draw backgrounds here. Use new CellSpanInfo to avoid recomputing spans every time. (cell_is_blank) : Remove hack about treating empty strings as empty. * src/cellspan.h : New file. Move span decls here. * src/item-grid.c (item_grid_draw) : Rework to correctly handle backgrounds and borders for spanning columns. 2000-02-27 Jody Goldberg * src/cell.c (cell_is_blank) : Update. * src/border.c (style_border_draw) : Make somewhat more correct. Still broken for non-top-left corners. * src/item-grid.c (item_grid_draw_border) : Ditto. (item_grid_draw_background) : Rename from item_grid_paint_empty_cell handle spans more cleanly. (item_grid_draw_cell) : handle conditionals for displaying contents here. Remove all handling of backgrounds. 2000-02-28 Michael Meeks * src/xml-io.c (xml_sheet_read, xml_sheet_write): kill for now. 2000-02-28 Jukka-Pekka Iivonen * src/utils.c (parse_cell_name_or_range): Bug fix. Single cell constraints can be added again. * src/solver-lp.c (count_dimensions, make_solver_arrays, solver_affine_scaling, solver_branch_and_bound): The Solver can now solve the negative variables too. * src/dialogs/dialog-solver.c (dialog_solver_options): Made the `Assume non-negative' to be sensitive. 2000-02-28 Morten Welinder * src/format.c (render_number): Move calculation of thousand's sep outside the loop. Avoid calculations way beyond double's precision. 2000-02-24 Dom Lachowicz * src/functions/fn-eng.c (convert): catch DIV0 * src/functions/fn-financial.c (gnumeric_accrint), (gnumeric_accrintm), (gnumeric_intrate), (gnumeric_disc), (gnumeric_db), (gnumeric_ddb), (gnumeric_mirr), (gnumeric_pv): More errors. * src/function/fn-math.c (gnumeric_quotient): ditto. * src/function/fn-stat.c (callback_function_stat), (callback_function_chitest_theoretical, gnumeric_betadist), (gnumeric_confidence, gnumeric_ftest): ditto. 2000-02-27 Jukka-Pekka Iivonen * src/solver-lp.c, src/dialogs/dialog-solver.c: Constraints can now also be cell ranges. (write_constraint_str): Wrote. * src/utils.[ch] (parse_cell_name_or_range): Wrote. * src/xml-io.c: Related changes. 2000-02-26 Jon K Hellan * doc/python-gnumeric.txt: New file. Documents the Python plugin. 2000-02-26 Jody Goldberg * src/formats.c (CurrencySymbol) : Add symbols and names to translation list. * src/workbook.c (insert_object_cmd) : Bug 6499. Move Define name to the insert menu to avoid conflict. 2000-02-26 Jukka-Pekka Iivonen * src/xml-io.c (xml_read_solver): New. (xml_write_solver): New. Added saving and loading of the Solver parameters. The parameters are per sheet. * src/dialogs/dialog-solver.c: A few bug fixes and improvements. 2000-02-22 Jody Goldberg * src/workbook-format-toolbar.c (workbook_format_toolbutton_update) : new. (workbook_format_halign_feedback_set) : new (workbook_feedback_set) : Use the new functions. (set_selection_halign) : ditto. 2000-02-25 Jukka-Pekka Iivonen * src/mathfunc.[ch]: Implemented Branch-And-Bound algorithm for integer programming. * src/solver-lp.c (count_dimensions): Wrote. (make_solver_arrays): Wrote. (make_int_array): Wrote. (solver_branch_and_bound): Wrote. Solver can now handle the `Int' constraints too. (solver_lp): Wrote. * src/solver.h: Added prototype. * src/dialogs/dialog-solver.c: Related changes. 2000-02-25 Miguel de Icaza * src/Makefile.am (-DGNUMERIC_GLADEDIR): Removed iconsdir if it is not going to get used. 2000-02-24 Miguel de Icaza * src/widgets/widget-color-combo.c (color_combo_construct): Fix indentation. * src/sheet-object-container.c (sheet_object_container_realize): OOPS. Add uih back. * Fresh ChangeLog.