1. 27 May, 2001 1 commit
    • Jody Goldberg's avatar
      If successful queue everything for recalc. (xml_cell_set_array_expr) : no · b740bf75
      Jody Goldberg authored
      
      2001-05-26  Jody Goldberg <jgoldberg@home.com>
      
      	* xml-sax-read.c (xml_sax_file_open) : If successful queue everything
      	  for recalc.
      	(xml_cell_set_array_expr) : no need to queue a recalc for arrays.
      
      2001-05-26  Jody Goldberg <jgoldberg@home.com>
      
      	* src/sheet.c (colrow_move) : no need to queue recalc here.
      	(cb_sheet_cell_copy) : Actually copy the array values.
      
      	* src/cell.c (cell_relocate) : Just relink, no need to queue a recalc.
      	(cell_set_array_formula) : Remove the ability to queue the recalc at
      	  this level.  Just link the formulas in.  Reorder the the arguments
      	  to match the standard approach.
      
      	* src/eval.c (workbook_recalc_all) : Used here.
      	(workbook_queue_all_recalc) : new function.
      
      	* src/xml-io.c (xml_workbook_read) : Queue everything for recalc.
      	(xml_cell_set_array_expr) : no need to queue a recalc here.
      
      	* src/commands.c (cmd_autofill_redo) : queue the recalc here.
      	(cmd_area_set_text_redo) : we need to manually queue a recalc for
      	  arrays now.
      
      	* src/sheet.c (sheet_cell_set_text) : we need to queue a recalc for
      	  both expressions and values now.
      	(sheet_range_set_text) : queue recalcs for the region as a block.
      
      	* src/graph-vector.c (graph_vector_new) : Just use dependent_link if
      	  we don't want a recalc.
      b740bf75
  2. 24 May, 2001 1 commit
    • Jody Goldberg's avatar
      Revamp the recalc queue · af206304
      Jody Goldberg authored
      2001-05-22  Jody Goldberg <jgoldberg@home.com>
      
      	* gnumeric.spec.in : bump version of libole2
      	* README : ditto.
      	* configure.in : ditto.
      
      2001-05-19  Jody Goldberg <jgoldberg@home.com>
      
      	* src/workbook.c (workbook_is_pristine) : no need to check the recalc
      	  queue.  If there are no dependents there is nothing to put on the
      	  eval queue.
      
      	* src/func.c (cb_iterate_cellrange) : rename from
      	  iterate_cellrange_callback remove 'generation' mechanism.
      
      	* src/cell.c (cell_cleanout) : Clear both recalc flags,
      	  in_queue and needs
      	(cell_copy) : ditto.
      	(cell_eval_content) : No need to render the value.  assign_value
      	  already does it.
      	(cell_content_changed) : deleted.
      
      	* src/Makefile.am : merge dependent.[ch] into eval.[ch]
      
      2001-05-18  Jody Goldberg <jgoldberg@home.com>
      
      	* src/eval.c : reorg and merged with dependent.[ch]
      
      	* src/sheet.c (sheet_cell_set_text) :
      	  s/cell_content_changed/cell_queue_recalc/
      	(sheet_cell_set_expr) : ditto.
      	(sheet_cell_set_value) : ditto.
      	(colrow_move) : ditto.
      	(sheet_destroy_contents) :
      	  s/dependent_unqueue_recalc_sheet/dependent_unqueue_sheet/
      
      	* src/cmd-edit.c (cmd_select_cur_row) : Make behavior match XL.
      	(cmd_select_cur_col) : Make behavior match XL.
      
      	* src/format.c (render_number) : avoid temporaries.
      	(do_render_number) : ditto.
      
      2001-05-17  Jody Goldberg <jgoldberg@home.com>
      
      	* src/expr.c (eval_range) : delete.
      	(eval_expr_real) : Use workbook_foreach_cell_in_range rather than
      	  range_eval.  Remove 'generation' mechanism.
      	(cb_range_eval) : a simple pass through
      
      	* src/eval.c (sheet_region_recalc_deps) : rename from
      	  sheet_recalc_dependencies and merge in sheet_region_get_deps.
      	  Use the new foreach style interfaces.
      	(cb_single_recalc_all_depends) : rename from cb_single_get_all_depends
      	  and simplify.
      	(cb_range_recalc_all_depends) : rename from cb_sheet_get_all_depends and simplify.
      	(cb_dependent_queue_recalc) : new wrapper.
      	(cb_region_contained_depend) : renamed from search_range_deps and simplify.
      	(cell_foreach_dep) : rename from cell_get_dependencies and switch to
      	  an in place api rather than creating a list.
      	(cell_foreach_single_dep) : switch to in place api
      	(cell_foreach_range_dep) : ditto.
      	(search_cell_deps) : ditto.
      	(cell_recalc_deps) : ditto.
      	(cell_eval) : ditto.
      	(cb_generation_queue) : new utility.
      
      	* src/dependent.c (dependent_list_filter) : delete.
      
      	* src/cmd-edit.c (cb_collect_deps) : new function split from.
      	(cmd_select_cur_depends) : here. So that we can use the new depend
      	  api.
      
      	* src/sheet.c (sheet_move_range) : use sheet_region_recalc_deps.
      	(sheet_{insert,delete}_{cols,rows}) : ditto.
      	(sheet_cell_remove_simple) : Use in place depend interface.
      
      	* src/cell.c (cell_content_changed) : Use in place depend interface.
      	* src/clipboard.c (clipboard_paste_region) : ditto.
      	* src/commands.c (cmd_area_set_text_redo) : ditto.
      	(cmd_autofill_redo) : ditto.
      
      2001-05-21  Jody Goldberg <jgoldberg@home.com>
      
      	* Makefile.am : remove gnorba and modernize a bit.
      af206304
  3. 14 May, 2001 1 commit
  4. 04 May, 2001 1 commit
    • Morten Welinder's avatar
      Make public. · 87eb4c0b
      Morten Welinder authored
      2001-05-04  Morten Welinder  <terra@diku.dk>
      
      	* src/analysis-tools.c (set_cell_value): Make public.
      
      	* src/solver-lp.c (solver_sensitivity_report,
       	solver_answer_report): Use set_cell_value.
      
      	* src/value.c (value_peek_string): New function.
      
      	* src/expr.c (eval_expr_real): Simplify CONCAT case using
       	value_peek_string.
      
      	* src/datetime.c (datetime_value_to_serial_raw): Simplify using
       	value_peek_string.
      
      	* src/workbook-view.c (wb_view_auto_expr_recalc): Ditto.
      
      	* src/graph-vector.c (graph_vector_seq_string): Ditto.
      
      	* src/solver-lp.c (find_name): Ditto.
      
      2001-05-04  Morten Welinder  <terra@diku.dk>
      
      	* fn-string.c (gnumeric_exact, gnumeric_len, gnumeric_rept,
       	gnumeric_find): Ditto.
      
      	* fn-eng.c (value_get_as_complex): Simplify using
       	value_peek_string.
      87eb4c0b
  5. 15 Apr, 2001 1 commit
    • Jody Goldberg's avatar
      new virtual (workbook_control_gui_ctor_class) : connect it here. · b4e680c8
      Jody Goldberg authored
      
      2001-04-15  Jody Goldberg <jgoldberg@home.com>
      
      	* src/workbook-control-gui.c (wbcg_finish_editing) : new virtual
      	(workbook_control_gui_ctor_class) : connect it here.
      	(wbcg_sheet_remove_all) : be sure we are no longer editing.
      
      	* src/workbook-control-priv.h : new virtual.
      	* src/workbook-control.c : ditto.
      	* src/workbook-control.h : ditto.
      
      	* src/colrow.c (colrow_visibility) : One last potential NULL.
      
      	* src/graph-vector.c : some portability fixes.
      b4e680c8
  6. 07 Feb, 2001 1 commit
  7. 12 Jan, 2001 1 commit
    • Jody Goldberg's avatar
      Rework the style engine. Mostly functional. see BUGS for remaining details. · 9e615b65
      Jody Goldberg authored
      NOTE : I have not tested persistance.
      
      2001-01-11  Jody Goldberg <jgoldberg@home.com>
      
      	* src/mstyle.c (mstyle_ref_multiple) : new function.
      	(mstyle_copy_merge) : new function.
      	(mstyle_new_default) : Do not cache the result.  That is done at the
      	  sheet level.
      	(mstyle_do_merge) : delete.
      	(mstyle_get_format) : constness.
      
      	* src/format-template.c (cb_format_sheet_border) : delete.
      	(format_template_apply_to_sheet_regions) : borders are no longer special.
      
      	* src/expr.c (expr_tree_array_formula_corner) : do not store the
      	  corner anymore.
      	(expr_tree_new_array) : ditto.
      	(do_expr_tree_unref) : ditto.
      
      	* src/cell.c (cell_relocate) : Arrays are simplified.  No need to keep
      	  a pointer to the corner.  It made the system too brittle.
      	(cell_set_mstyle) : delete.
      
      	* src/Makefile.am : remove test.[ch]
      
      	* src/gnumeric-sheet.c (gnumeric_sheet_find_{col,row}) : There is no
      	  1 pixel border.
      
      2001-01-09  Jody Goldberg <jgoldberg@home.com>
      
      	* src/mstyle.h : Change order of borders to match BorderLocation
      
      2001-01-08  Jody Goldberg <jgoldberg@home.com>
      
      	* src/ranges.c (range_has_header) : avoid leaking styles.
      
      	* src/cell.c (cell_get_mstyle) : Use sheet_style_get, and do not bump
      	  the ref count.
      	(cell_render_value) : Adjust.
      	(cell_get_format : Adjust.
      	(cell_set_text) : Adjust.
      
      	* src/functions/fn-information.c (gnumeric_cell) : sheet_style_get
      	  does not make a reference. Use it.
      	* src/workbook-format-toolbar.c (modify_cell_format) :  Ditto.
      	(change_selection_font) : Ditto.
      	* src/sheet-autofill.c (fill_item_new) : ditto.
      	* src/print-cell.c (print_cell_range) : ditto.
      	* src/cellspan.c (cell_calc_span) : ditto.
      	* src/sheet.c (sheet_cell_set_text) : ditto.
      	* src/rendered-value.c (rendered_value_calc_size) : ditto.
      	* src/workbook-view.c (wb_view_format_feedback) : ditto.
      
      2001-01-07  Jody Goldberg <jgoldberg@home.com>
      
      	* src/dialogs/dialog-cell-format.c (dialog_cell_format) :
      	  init initial style to NULL.
      	(fmt_dialog_selection_type) : call sheet_style_get_uniform here.
      
      	* src/commands.c (cmd_format_redo) : Now that apply_border is not
      	  doing a redraw we need to if there is no style applied.
      
      	* src/selection.c (sheet_selection_extend_to) : Add support akin to
      	  gnumeric_sheet_rangesel_cursor_extend to extend to full col/row.
      
      	* src/sheet-control-gui.c (scg_colrow_select) : extend to full col/row
      	  if necessary.
      
      	* src/item-bar.c (item_bar_event) : Set the selection, not extend it.
      9e615b65
  8. 06 Nov, 2000 1 commit
  9. 31 Oct, 2000 1 commit
    • Jody Goldberg's avatar
      Set LC_MONETARY and LC_NUMERIC. Ditto. (xml_workbook_read) : Ditto. · ffac72f5
      Jody Goldberg authored
      
      2000-10-31  Jody Goldberg <jgoldberg@home.com>
      
      	* src/workbook-view.c (wb_view_auto_expr) : Set LC_MONETARY and
      	  LC_NUMERIC.
      	* src/xml-io.c (xml_workbook_write) : Ditto.
      	(xml_workbook_read) : Ditto.
      
      2000-10-31  Jody Goldberg <jgoldberg@home.com>
      
      	* src/dialogs/*.[ch] : WorkbookControlGUI is now required for gui
      	  operations.  A WorkbookView is required to know which sheet is the
      	  current.
      
      	* src/xml-io.c : We now load/save WorkbookViews.
      
      	* src/xml-io-autoft.c : Adjust to signature changes.
      
      	* src/workbook.c : Split the View into WorkbookView.
      	  Abstract the Controler interface, and move the GUI specific
      	  implementation of the Controler into WorkbookControlGUI.
      
      	* src/workbook-view.c : Complete rewrite with correct semantics.
      
      	* src/workbook-private.h : Move all the GUI specific stuff into
      	  WorkbookControlGUI were it belongs.
      
      	* src/workbook-private.c (workbook_private_class_init) : Fix typo.
      
      	* src/workbook-edit.c : These are now WorkbookControlGUI specific.
      	  We should rename the functions eventually.
      	* src/workbook-format-toolbar.c : Ditto.
      	* src/workbook-object-toolbar.c : Ditto.
      
      	* src/workbook-cmd-format.c : Adjust to signature changes.
      	  and use WorkbookControlGUI were necessary.
      
      	* src/style.c (style_font_new_from) : Delete dead code.
      
      	* src/solver-lp.c : Adjust to signature changes.
      	* src/sort.c : Ditto.
      	* src/stf.c : Ditto. Make dialog conditional on gui-ness.
      
      	* src/sheet.c (sheet_new_sheet_view) : IS_SHEET checks for NULL.
      	(sheet_detach_sheet_view) : renamed from sheet_destroy_sheet_view
      	  and only take a SheetView as argument.
      	(sheet_new) : Do not create a view by default.
      	(sheet_update_zoom_controls) : foreach control.
      	(sheet_update_editpos) : ditto.
      	(sheet_update) : handle multiple views and controls.
      
      	* src/sheet-view.c : Commands take WorkbookControls rather than
      	  CommandContexts.
      
      	* src/sheet-object-widget.c : Most things take WorkbookControlGUI
      	  rather than Workbooks.
      
      	* src/sheet-object-container.c (sheet_object_container_new_view) :
      	  Use the uic from the WorkbookControlGUI.
      
      	* src/sheet-control.c : New file. Unused so far.
      	  cp sheet-view.c sheet-control.c
      	  s/SheetView/SheetControl/
      
      	* src/print.c : Make the GUI dependency explicit.
      	  At some point the setup dialog should be split out of here.
      
      	* src/main.c (gnumeric_main) : Explicitly create a WorkbookControlGUI
      	  only adding sheets if nothing was loaded.  Improve handing of exit
      	  request while loading.
      
      	* src/item-grid.c (item_grid_draw) : Filter the edit cell from here
      	  because we know which control to use.
      	(context_menu_hander) : Switch to WorkbookControlGUI.
      	(item_grid_popup_menu) : Ditto.
      
      	* src/item-edit.c : Everything takes a WorkbookControlGUI inplace of a
      	  Workbook now.
      
      	* src/item-cursor.c (item_cursor_target_region_ok) : dialog_run takes
      	  a WorkbookControlGUI.
      	(item_cursor_do_action) : All the commands take WorkbookControls.
      
      	* src/item-bar.c (item_bar_event) : item_grid_popup_menu takes a
      	  SheetView now.
      
      	* src/history.c : Take WorkbookControlGUI.
      	  Update all controls for each workbook.
      
      	* src/gui-clipboard.c : Use 'unsigned char'
      
      	* src/gnumeric.xml : More work to split commands from layout.
      
      	* src/gnumeric-util.c (gnumeric_no_modify_array_notice) : Delete.
      	(gnumeric_notice) : Take a WorkbookControlGUI.
      	(gnumeric_wb_dialog_run) : Ditto.
      	(gnumeric_dialog_run) : Ditto.
      	(gnumeric_dialog_show) : Ditto.
      	(gnumeric_set_transient) : Ditto.
      	(gnumeric_glade_xml_new) : Ditto.
      	(gnumeric_non_modal_dialog) : Ditto.
      	(gnumeric_inject_widget_into_bonoboui) : Ditto.
      
      	* src/gnumeric-sheet.c : SheetView now has a WorkbookControlGUI member
      	  to keep track of which control it is associated with. Use it.
      
      	* src/file.c : Adjust to lots of signature changes.
      	  We now load/save WorkbookView rather than Workbook.
      	  Add a placeholder struct IOContext so that we can consider doing
      	  smarter import/export and dealing with warnings and missing things
      	  smoothly.
      
      	* src/eval.c (workbook_recalc_all) : After a recalc update all views.
      
      	* src/commands.c (undo_redo_menu_labels) : foreach control.
      	(command_undo) : ditto.
      	(command_redo) : ditto.
      	(command_push_undo) : change signature.  The workbookcontrol
      	  now acts as the command context.
      
      	* src/cmd-edit.c : Adjust to signature changes.
      
      	* src/clipboard.c : split the gui specific X handlers out into a new
      	  file.
      	* src/gui-clipboard.c :  here.
      
      	* src/cell-draw.c (cell_draw) : Do not test the sheet for whether or
      	  not to we are editing.  That is at the control level.  Test it in
      	  the rendering loop.
      
      	* src/bonobo-io.c : FIXME. adjusted to signature changes.  Totatly
      	  broken for now.  This needs a View rather than a Model and should be
      	  associated with something.
      
      	* src/application.c (application_workbook_list_add) : New function.
      	(application_workbook_list_remove) : New function.
      	(application_workbook_list) : New function.
      	(application_clipboard_copy) : foreach control.
      	(application_clipboard_cut) : foreach control.
      	(application_clipboard_clear) : foreach control.
      	(application_workbook_foreach) : renamed from workbook_foreach.
      	(application_set_selected_sheet) : FIXME. Disabled for now.
      
      	* src/about.c (cb_closed) : Associated the flag with the control
      	  directly.
      	(dialog_about) : dialogs are associated with gui-controls.
      
      	* src/analysis-tools.c : change all dialog signatures to handle MVC
      	  split of workbook.
      
      2000-10-30  Jody Goldberg <jgoldberg@home.com>
      
      	* src/Makefile.am : Add new command-context,  io-context,
      	  workbook-view, workbook-control, workbook-control-gui files.
      	  Remove old command-context-gui, command-context-corba, and disable
      	  corba-* for now.
      
      2000-10-29  Jody Goldberg <jgoldberg@home.com>
      
      	* idl/gnumeric-graphs.idl : Remove studdly caps.  I wish people would
      	  make up their minds.
      
      	* idl/Gnumeric.idl : Remove Workbook::show.
      
      2000-10-29  Jody Goldberg <jgoldberg@home.com>
      
      	* BUGS : Update.
      	* NEWS : Update.
      	* TODO : Update.
      ffac72f5
  10. 29 Sep, 2000 2 commits
    • Jody Goldberg's avatar
      Plug leak. · 1a829410
      Jody Goldberg authored
      2000-09-29  Jody Goldberg <jgoldberg@home.com>
      
      	* src/graph-series.c
      	(graph_series_seq_scalar) : Mark the sequence for release.
      	(graph_series_seq_date) : Ditto.
      	(graph_series_seq_string) : Ditto.
      1a829410
    • Jody Goldberg's avatar
      Simplify and beautify. · 7566f7b1
      Jody Goldberg authored
      
      2000-09-29  Jody Goldberg <jgoldberg@home.com>
      
      	* src/workbook.c (workbook_close_if_user_permits) : Simplify and
      	  beautify.
      7566f7b1
  11. 28 Sep, 2000 1 commit
    • Jody Goldberg's avatar
      Resume using studlyCaps. Ditto. Ditto. · ff07a22f
      Jody Goldberg authored
      
      2000-09-28  Jody Goldberg <jgoldberg@home.com>
      
      	* idl/gnumeric-graphs.idl : Resume using studlyCaps.
      	* src/graph-series.c : Ditto.
      	* src/dialogs/dialog-graph-guru.c : Ditto.
      ff07a22f
  12. 20 Sep, 2000 1 commit
    • Jody Goldberg's avatar
      We always create an in canvas edit item, but sometimes we jump the focus · 9fc2db80
      Jody Goldberg authored
      
      2000-09-20  Jody Goldberg <jgoldberg@home.com>
      
      	* 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 <jgoldberg@home.com>
      
      	* src/xml-io.c (natural_order_cm) : Using col_info and row_info is
      	  deprecated.
      9fc2db80
  13. 19 Sep, 2000 1 commit
    • Jody Goldberg's avatar
      Bug 24122 · 62fd10ba
      Jody Goldberg authored
      2000-09-18  Jody Goldberg <jgoldberg@home.com>
      
      	* src/sheet.c (sheet_flag_status_update_cell) : Adjust signature.
      
      2000-09-18  Jody Goldberg <jgoldberg@home.com>
      
      	* dialog-solver.c (dialog_solver) : No need to create a cell manually
      	  and fill with empty.  sheet_cell_fetch will handle that.
      
      	* dialog-goal-seek.c (dialog_goal_seek) : No need to create cell
      	  locally.
      	(gnumeric_goal_seek) : Update size, span, and status region for the
      	  cell that was being tweaked.  While solving we did not update it.
      62fd10ba
  14. 17 Sep, 2000 1 commit
    • Jody Goldberg's avatar
      GraphSeries is responsible for registering. · 8259d107
      Jody Goldberg authored
      2000-09-17  Jody Goldberg <jgoldberg@home.com>
      
      	* 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.
      8259d107
  15. 14 Sep, 2000 1 commit
    • Jody Goldberg's avatar
      Use sheet_selection_full_rows and workbook_cmd_format_row_height. · 01af4e73
      Jody Goldberg authored
      
      2000-09-14  Jody Goldberg <jgoldberg@home.com>
      
      	* 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 <jgoldberg@home.com>
      
      	* 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 <jgoldberg@home.com>
      
      	* 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 <jgoldberg@home.com>
      
      	* 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.
      01af4e73
  16. 11 Sep, 2000 2 commits
    • Jody Goldberg's avatar
      Plug some leaks. · 94beb3ab
      Jody Goldberg authored
      94beb3ab
    • Jody Goldberg's avatar
      The initial version of active objects. · ccdc4a78
      Jody Goldberg authored
      2000-09-10  Jody Goldberg <jgoldberg@home.com>
      
      	* 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 <jgoldberg@home.com>
      
      	* 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 <jgoldberg@home.com>
      
      	* 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.
      ccdc4a78