1. 08 Jun, 2009 1 commit
  2. 16 Nov, 2007 1 commit
    • Jody Goldberg's avatar
      add G_BEGIN_DECL/G_END_DECL around the header content. · f85b4715
      Jody Goldberg authored
              reformat the guard decls
              Add a vim/emacs fmt line
              fix namespacing of preproc flags from configure.in that go into public headers
      
              2007-10-12  Jody Goldberg <jody@gnome.org>
      
              	* libspreadsheet-1.7.pc.in : Set the cflags to include the target, and
              	  subdir until we fix the header includes and rename /src.
              	  Add LIBDIR/include to cflags
              	  Add PluginDir.
      
      svn path=/trunk/; revision=16149
      f85b4715
  3. 17 Jul, 2007 1 commit
  4. 15 Jun, 2007 1 commit
    • Morten Welinder's avatar
      Restrict to drawing to what is visible. Fixes #445617. · 6f12ea43
      Morten Welinder authored
      2007-06-15  Morten Welinder  <terra@gnome.org>
      
      	* src/sheet-view.c (sv_redraw_range): Restrict to drawing to what
      	is visible.  Fixes #445617.
      
      	* src/sheet-control-gui.c (scg_recompute_visible_region): Renamed
      	from scg_compute_visible_region.  All users changed.
      	(scg_get_visible_region): New virtual.
      
      
      svn path=/trunk/; revision=15604
      6f12ea43
  5. 03 May, 2005 1 commit
    • Morten Welinder's avatar
      Remove. · c4f8f07d
      Morten Welinder authored
      2005-05-03  Morten Welinder  <terra@gnome.org>
      
      	* src/workbook-view.c (wb_view_prefs_update): Remove.
      
      	* src/workbook-control-priv.h: Remove prefs_update member.
      
      	* src/sheet-control-priv.h: Remove adjust_preferences and
      	direction_changed members.
      
      	* src/sheet-control-gui.c (sheet_control_gui_new): Also hook up to
      	sheet:text-is-rtl.
      
      	* src/workbook-control-gui-priv.h: Remove rtl property.  All users
      	changed to use sheet's text_is_rtl (and some already were).
      
      	* src/sheet-control-gui-priv.h: Remove text_is_rtl property.  All
      	users changed to use sheet's text_is_rtl (and some already were).
      c4f8f07d
  6. 21 Jan, 2005 1 commit
    • Jody Goldberg's avatar
      Dump in the RTL code that has been simmering waiting for a branch · 8a4efb4d
      Jody Goldberg authored
      
      Dump in the RTL code that has been simmering waiting for a branch
      
      2005-01-20  Jody Goldberg <jody@gnome.org>
      
      	* src/xml-io.c (xml_sheet_write) : store the rtl flag
      	(xml_sheet_read) : read the rtl flag
      
      	* src/workbook-control-gui.c (cb_notebook_switch_page) : set the
      	  direction on page change
      	(show_gui) : setting it here too.
      	(set_dir) : new.
      	(wbcg_set_direction) : new
      
      	* src/wbcg-actions.c (cb_direction) : A quick and simple direction
      	  setting action.  We need a better icon, and improved state.
      
      	* src/style-border.c (style_border_hmargins) : lots of finicky
      	  -1*offset style changes for rtl.
      
      	* src/sheet.c (gnm_sheet_class_init) : Add some as yet unused get/set
      	  property routines.
      	(gnm_sheet_init) : new to init the direction based on the locale.  Use
      	  a gtk routine for now.  There's a bug open to have that moved to
      	  glib.
      	(sheet_set_direction) : new.
      
      	* src/sheet-view.c (sv_init_sc) : init the direction.
      	(sv_direction_changed) : new.
      
      	* src/sheet-object-cell-comment.c (comment_view_set_bounds) : fold the
      	  old comment_get_points into here and invert things in RTL mode.
      
      	* src/sheet-control-gui.c (scg_redraw_headers) : col coordinates are
      	  negative for rtl mode.
      	(scg_resize) : rework for rtl
      	(scg_set_zoom_factor) : ditto.
      	(bar_set_left_col) : ditto.
      	(bar_set_top_row) : ditto.
      	(gnm_canvas_set_top_left) : ditto.
      	(calc_obj_place) : ditto.  Clarify which coordinate system we're in.
      	(scg_direction_changed) : new virtual.
      	(scg_scale_changed) :  renamed from scg_set_zoom_factor.
      
      	* src/print.c (print_sheet_objects) : handle rtl. (needs testing)
      	(print_page_cells) : simple rtl handling
      
      	* src/mstyle.c : Add a text_dir element that defaults to CONTEXT right
      	  now.  This is unused until it is better understood, but it is read
      	  and written from xls.  We need to add xml support.
      
      	* src/item-grid.c (item_grid_draw_merged_range) : handle rtl
      	(item_grid_draw) : ditto.
      	* src/print-cell.c (print_merged_range) : ditto
      	(print_cell_range) : ditto.
      
      	* src/item-edit.c (ie_layout) : swap directions in RTL mode.  We still
      	  need more work here to honour the alignment better while editing.
      
      	* src/item-cursor.c
      	(item_cursor_request_redraw) : delete, we can use foo_canvas_item_request_redraw
      	(item_cursor_update) : handle rtl
      	(item_cursor_draw) : ditto
      	(item_cursor_bound_set) : add some safety to avoid drawing before the
      	  position is set, or if it is set to something invalid
      
      	* src/item-bar.c (item_bar_draw) : major rework to handle RTL mode.
      	  - swap the the direction for the cells and the outlines
      	(is_pointer_on_division) : handle rtl and clarify which coordinate
      	  system the various inputs and results use.
      	(ib_set_cursor) : simplify
      	(outline_button_press) : RTL flips some coordinates.
      	(item_bar_event) : ditto
      
      	* src/gnumeric-simple-canvas.c (gnm_simple_canvas_x_w2c) : doh! handle
      	  zoom
      
      	* src/gnumeric-pane.c (gnumeric_pane_header_init) : handle rtl
      	(gnm_pane_init) : ditto.
      	(gnm_pane_colrow_resize_start) : ditto.
      	(gnm_pane_colrow_resize_move) : ditto.
      	(cb_slide_handler) : ditto.
      
      	* src/gnumeric-canvas.c (gnm_canvas_key_mode_sheet) : Swap the
      	  direction of arrow keys in rtl mode.
      	(gnm_canvas_key_mode_object) : ditto
      	(gnm_canvas_size_allocate) : always recompute visible range.  In RTL
      	  mode we want to have things aligned on the left edge whose coord
      	  moves.
      	(gnm_canvas_find_col) : handle the rtl negation of world coords
      	(gnm_canvas_redraw_range) : ditto
      	(gcanvas_sliding_callback) : ditto.
      	(gnm_canvas_handle_motion) : ditto.
      	  NOTE : work around a bug in gtk's use of X.  When dragging past the
      	  right edge of the sheet in rtl mode we are operating at the edge of
      	  a 32k wide window and the event coords get larger than can be held
      	  in a signed short.  As a result we get world coords of -65535 or so.
      	  KLUDGE KLUDGE KLUDGE
      	    with our current limit of 256 columns it is unlikely that we'll
      	    hit -65535 (at appropriate zoom) as a valid coord (it would
      	    require all cols to be 256 pixels wide.  it is not impossible, but
      	    at least unlikely.  So we put in a kludge here to catch the screw
      	    up and remap it.   This is not pretty,  at large zooms this is not
      	    far fetched.
      	(gnm_canvas_compute_visible_region) : things are more complicated for
      	  rtl mode.
      
      	* src/commands.c : Add undo for the rtl vs ltr mode
      
      	* src/cellspan.c (cell_calc_span) : in rtl mode swap the meaning of
      	  horizontal alignment.
      
      	* src/GNOME_Gnumeric-gtk.xml.in : Add the rtl toggle action
      
      2004-12-07  Jody Goldberg <jody@gnome.org>
      
      	* ms-excel-write.c (excel_write_WINDOW2) : export sheet level rtl
      	  setting (we could move it to SheetView)
      	(build_xf_data) : store the text dir.
      	(excel_write_XF) : write it.
      
      	* ms-excel-read.c (excel_read_WINDOW2) : read sheet level rtl flag
      	(excel_read_XF) : read the text dir.
      	(excel_get_style_from_xf) : store the text dir.
      
      2005-01-20  Jody Goldberg <jody@gnome.org>
      
      	* dialog-sheet-order.c : Support a toggle for rtl
      8a4efb4d
  7. 09 Oct, 2004 1 commit
    • Jody Goldberg's avatar
      Dump in some pending changes so that I can sync things to the laptop · c3eb2bbc
      Jody Goldberg authored
      2004-10-08  Jody Goldberg <jody@gnome.org>
      
      	* ms-obj.c (ms_obj_read_biff8_obj) : some simple mapping from Forms
      	  objects to things we understand.  No properties imported yet.
      
      	http://bugzilla.gnome.org/show_bug.cgi?id=154734
      	* ms-chart.c (BC_R(end)) : cheesy swapping of the formatting
      	  associated with X and Y axes for bar plots.
      
      2004-10-08  Jody Goldberg <jody@gnome.org>
      
      	* graph/gog-object.c (gog_object_dup) : copy the position.
      
      2004-10-06  Jody Goldberg <jody@gnome.org>
      
      	* graph/gog-control-foocanvas.c (gog_control_foocanvas_update) : Fix
      	  redraw.  There were two bugs.
      	  1) foocanvas_group_update was wiping tbe bounds (things always look
      	     like they move)
      	  2) We were not requesting a redraw for the old position before
      	     moving.
      
      2004-10-08  Jody Goldberg <jody@gnome.org>
      
      	* src/gnumeric-canvas.c (gnm_canvas_key_mode_object) : throw in
      	  support for tabbing fwd/back through the list of objects.
      
      	* src/sheet-object-widget.c (sheet_widget_checkbox_create_widget) :
      	  Tweak to support toggle buttons too
      
      2004-10-08  Jody Goldberg <jody@gnome.org>
      
      	* src/sheet-object.c : Add a SheetObjectView interface and use it to
      	  give us more control over things.
      
      	* src/workbook-control-gui.c (wbcg_zoom_feedback) : no need to
      	  reposition objects manually here.
      
      	* src/print.c (print_sheet_objects) : Use sheet_object_can_print.
      
      	* src/gutils.c : Clean up the name spacing
      
      	* src/sheet-filter.c : Support the new SheetObjectView interface
      	* src/sheet-object-cell-comment.c : ditto
      	* src/sheet-object-graph.c : ditto
      	* src/sheet-object-image.c : ditto
      	* src/sheet-object-widget.c : ditto
      
      	* src/gnumeric-canvas.c (gnm_canvas_key_mode_object) :
      	  - arrow moves the objects
      	  - ctrl arrow expands an edge
      	  - shift ctrl arrow shrinks an edge
      
      	* src/commands.c (CmdObjectInsert) : delete
      	(CmdObjectDelete) : Rename to CmdObjectsDelete and handle multiples
      	(CmdObjectMove) : Rename to CmdObjectsMove and handle multiples
      
      	* src/application.c (gnm_app_clipboard_cut_copy_obj) : handle multiple
      	  objects.
      	* src/gnumeric-pane.c : ditto.
      	* src/sheet-control-gui.c : ditto.
      	* src/item-grid.c : ditto.  Also there is no need to handle object
      	  creation here as a special case just use the object editing
      	  directly.
      
      	* src/sheet-object.c (sheet_object_anchor_init) : pick a default that
      	  we've actually implemented.
      c3eb2bbc
  8. 09 Oct, 2003 1 commit
    • Jody Goldberg's avatar
      Release 1.2.1 · b762bb9d
      Jody Goldberg authored
      
      2003-10-08  Jody Goldberg <jody@gnome.org>
      
      	* Release 1.2.1
      b762bb9d
  9. 05 Mar, 2003 1 commit
  10. 21 Jun, 2002 1 commit
    • Jody Goldberg's avatar
      take a cellpos * · 89274950
      Jody Goldberg authored
      
      2002-06-21  Jody Goldberg <jody@gnome.org>
      
      	* src/parse-util.c (parse_cell_name) : take a cellpos *
      
      	* src/func-builtin.c (gnumeric_selection) : dummy out for now until a
      	  different approach is available.
      
      	* src/commands.c : convert to sheetview.
      	  s/parent/cmd/ to make things more readable
      	(cmd_selection_clear) : rename from cmd_clear_selection so that we can
      	  start to group the operations that currently operate on selections.
      	(cmd_selection_format) : rename from cmd_format.
      	(cmd_selection_colrow_hide) : rename from cmd_colrow_hide_selection.
      	(cmd_selection_outline_change) : rename from cmd_colrow_outline_change.
      	(cmd_selection_group) : rename from cmd_group.
      	(cmd_selection_autoformat) : rename from cmd_autoformat.
      	(cmd_colrow_hide_correct_selection) : take a control.
      
      	* src/colrow.c (cb_colrow_visibility) : selections are now part of
      	  sheetview.
      	(colrow_get_visiblity_toggle) : ditto.
      
      	* src/cmd-edit.c (cmd_select_cur_row) : convert to sheetview.
      	(cmd_select_cur_col) : ditto.
      	(cmd_select_cur_array) : ditto.
      	(cmd_select_cur_depends) : ditto.
      	(cmd_select_cur_inputs) : ditto.
      	(cmd_paste_to_selection) : ditto.
      
      	* src/bonobo-io.c (deserialize_wb_from_xml_stream) : pass the wbv into
      	  the context directly.
      	(gnumeric_bonobo_write_workbook) : ditto.
      	(gnumeric_bonobo_read_workbook) : ditto.
      
      	* src/consolidate.c (redraw_respan_and_select) : set selection only
      	  for the calling view.
      	(row_consolidate) : pass in the view.
      	(col_consolidate) : ditto.
      	(colrow_consolidate) : ditto.
      	(consolidate_apply) : Take a control so that we can extract the view.
      
      	* src/commands.c (cmd_consolidate_redo) : Pass the control.
      
      2002-06-20  Jody Goldberg <jody@gnome.org>
      
      	* src/sheet-view.c (sheet_view_init) : init the selection.
      
      	* src/workbook-view.c (workbook_view_new) : init current_sheet_view.
      	(wb_view_format_feedback) : operate on the sheetview.
      	(wb_view_selection_desc) : ditto.
      	(wb_view_edit_line_set) : ditto.
      
      2002-06-20  Jody Goldberg <jody@gnome.org>
      
      	* src/workbook-view.c (wb_view_sheet_add) : Use sheet_get_view.
      	(wb_view_sheet_focus) : ditto.
      	* src/xml-io.c (xml_write_selection_info) : ditto.
      	(xml_read_selection_info): ditto.
      	(xml_workbook_write) : now that the view is in the context don't
      	  bother passing it.
      	(xml_write_wbv_attributes) : ditto.
      	(xml_read_wbv_attributes) : ditto.
      89274950
  11. 19 Jun, 2002 1 commit
    • Jody Goldberg's avatar
      renamed from sheet_attach_control. (sheet_detach_view) : renamed from · a4555c21
      Jody Goldberg authored
      
      2002-06-19  Jody Goldberg <jody@gnome.org>
      
      	* src/sheet.c (sheet_attach_view) : renamed from sheet_attach_control.
      	(sheet_detach_view) : renamed from sheet_detach_control.
      
      	* src/sheet-view.c : new.
      
      	* src/sheet-control.c (sc_sheet_set) : delete bogus.
      	(sc_view) : new.
      
      	* src/sheet-control-gui.c (sheet_control_gui_new) : A control now takes a
      	  view in place of a model.
      
      	* src/selection.c (sheet_selection_redraw) : adjustment to
      	  SHEET_FOREACH_CONTROL.
      
      	* src/gnumeric.h : Add SheetView
      	* src/Makefile.am : Add sheet-view.[ch]
      
      2002-06-18  Jody Goldberg <jody@gnome.org>
      
      	* src/workbook-control-gui.c (cb_insert_current_date) : check for
      	  failure to start editing.
      	(cb_insert_current_time) : ditto.
      a4555c21
  12. 27 Apr, 2002 1 commit
    • Jody Goldberg's avatar
      Objects now start to work with panes. · f2eb7260
      Jody Goldberg authored
      There are still some teething troubles in here, beware.
      
      2002-04-26  Jody Goldberg <jody@gnome.org>
      
      	* src/workbook-control-gui.c (wbcg_sheet_add) : Use
      	  sc_object_create_view.
      
      	* src/sheet-control-gui-priv.h (SCG_FOREACH_PANE) : new.
      	* src/sheet-control-gui.c (scg_redraw_all) : use SCG_FOREACH_PANE.
      	(scg_redraw_region) : ditto.
      	(scg_resize) : ditto.
      	(scg_set_zoom_factor) : ditto.
      	(cb_table_destroy) : ditto.
      	(sheet_control_gui_new) : ditto.
      	(scg_unant) : ditto.
      	(scg_ant) : ditto.
      	(scg_adjust_preferences) : ditto.
      	(scg_cursor_visible) : ditto.
      	(scg_compute_visible_region) : ditto.
      	(scg_edit_start) : ditto.
      	(scg_edit_stop) : ditto.
      	(scg_rangesel_changed) : ditto.
      	(scg_rangesel_start) : ditto.
      	(scg_rangesel_stop) : ditto.
      	(scg_set_display_cursor) : ditto.
      	(scg_colrow_resize_stop) : ditto.
      	(scg_colrow_resize_start) : ditto.
      	(scg_colrow_resize_move) : ditto.
      	(scg_special_cursor_start) : ditto.
      	(scg_special_cursor_stop) : ditto.
      	(scg_special_cursor_bound_set) : ditto.
      	(scg_object_stop_editing) : clear the control points in the panes.
      	(scg_mode_edit_object) : ditto.
      	(scg_object_update_bbox) : ditto.
      
      	* src/gnumeric-pane.c (gnm_pane_init) : init anted_cursors and the
      	  control points.  Optionally create views of all the objects if we
      	  already have a sheet.
      	(gnm_pane_object_stop_editing) : transfered from scg.
      	(gnm_pane_object_move) : ditto.
      	(cb_slide_handler) : ditto.
      	(display_object_menu) : ditto.
      	(cb_control_point_event) : ditto.
      	(new_control_point) : ditto.
      	(set_item_x_y) : ditto.
      	(set_acetate_coords) : ditto.
      	(gnm_pane_object_set_bounds) : ditto.
      	(cb_sheet_object_canvas_event) : ditto.
      	(cb_sheet_object_view_destroy) : ditto.
      	(cb_sheet_object_widget_canvas_event) : ditto.
      	(gnm_pane_object_register) : ditto.
      	(gnm_pane_widget_register) : ditto.
      
      	* src/sheet-control-gui.c (scg_object_destroy_view) : new.
      	(scg_object_create_view) : new.
      	(scg_class_init) : register the new functions.
      
      	* src/sheet-object*.c
      	(*update_bounds) : update signature.
      	(*new_view) : update signature.
      f2eb7260
  13. 23 Jan, 2002 1 commit
  14. 09 Dec, 2001 1 commit
    • Jody Goldberg's avatar
      only display scrollbars if necessary · 46c38043
      Jody Goldberg authored
      2001-12-09  Jody Goldberg <jody@gnome.org>
      
      	* dialog-stf.glade  : only display scrollbars if necessary
      
      2001-12-07  Jody Goldberg <jody@gnome.org>
      
      	* src/sheet.c (sheet_make_cell_visible) : add a couple_pane argument.
      	* src/sheet-control-gui.c (scg_cursor_move_to) : merge into.
      	(scg_cursor_move) : here.
      	* src/sheet-control.c (sc_make_cell_visible) : remove the force
      	  argument.
      46c38043
  15. 18 Sep, 2001 1 commit
    • Jody Goldberg's avatar
      make headers optional. make headers optional. make headers optional. · a907b34b
      Jody Goldberg authored
      2001-09-18  Jody Goldberg <jgoldberg@home.com>
      
      	* src/sheet-control-gui.c (scg_redraw_all) : make headers optional.
      	* src/sheet-control.c (sc_redraw_all) : make headers optional.
      	* src/sheet.c (sheet_redraw_all) : make headers optional.
      
      	* src/colrow.c (colrow_set_visibility_list) : redraw_all does headers.
      
      	* src/cell.c (cell_eval_content) : don't redraw here, and only render
      	  if we were already rendered.  This will avoid rendering sheets no
      	  one is looking at.
      
      	* src/eval.c (workbook_recalc) : after a recalc redraw all, but not
      	  headers.
      
      2001-09-17  Jody Goldberg <jgoldberg@home.com>
      
      	* src/workbook-control.c (wb_control_menu_state_sensitivity) : new
      	  virtual.
      
      	* src/workbook-control-gui.c (wbcg_menu_state_sensitivity) : renamed
      	  and moved from.
      	* src/workbook-edit.c (workbook_edit_toolbars_set_sensitive). here.
      
      	* src/workbook-view.c (wb_view_open_custom) : Use
      	  wb_control_menu_state_sensitivity to enable/disable
      	  the menus and toolbars of the manging contol.
      a907b34b
  16. 20 Aug, 2001 1 commit
    • Jody Goldberg's avatar
      All we need is a wbc. (sheet_object_anchor_set) : new routine to replace · b459aaa7
      Jody Goldberg authored
      
      2001-08-20  Jody Goldberg <jgoldberg@home.com>
      
      	* src/sheet-object.c (sheet_object_remove_cb) : All we need is a wbc.
      	(sheet_object_anchor_set) : new routine to replace range_set.
      	(sheet_object_anchor_get) : new.
      	(sheet_object_anchor_cpy) : new.
      	(sheet_object_anchor_init) : new routine to bundle up object
      	  positioning more neatly.
      
      	* src/sheet-object-cell-comment.c (cell_set_comment) : Only use anchor
      	  types that are implemented.  Use the new SheetObjectAnchor scheme.
      
      	* src/sheet-control-gui.c (scg_object_move) : track whether the ctrl
      	  point causes a move or a resize.
      	(cb_control_point_event) : store the initial anchor rather than the
      	  control specific position,  and assume that the changes are simple
      	  movements until a resize occurs.
      	(scg_object_calc_position) : adjust to using SheetObjectAnchor.
      	(scg_colrow_distance_get_virtual) : new routine.
      	(scg_class_init) : register it here.
      
      	* src/sheet-control.c (sc_colrow_distance_get) : a new new virtual.
      
      	* src/gnumeric-canvas.c (gnm_canvas_key_mode_object) : delete newly
      	  created objects too.
      	(gnm_canvas_filenames_dropped) : signature change
      	  for sheet_object_container_new_file.
      
      	* src/gnumeric.h : add GnmGraph.
      
      	* src/Makefile.am : rename graph-vector -> gnumeric-graph
      
      	* idl/gnumeric-graphs.idl : Add some versioning.
      	  Move the header arg out of the value callback.
      	  Replace VectorNotify::remove with Manger::clearVectors.
      	  Merge freeze & thaw.
      	  Renamed 'nameChange' to 'headerChanged'
      	  Add an 'id' arg when registering vectors.
      
      2001-08-19  Jody Goldberg <jgoldberg@home.com>
      
      	* src/commands.c
      	    s/insert_object/object_insert/
      	    s/move_object/object_move/
      	    s/delete_object/object/delete/
      	(cmd_object_insert_redo) : The object knows its position based on its
      	  anchor. No need to set the control specific coordinates for an
      	  arbitrary control.  No need to tweak the reference count either.
      	(cmd_object_insert) :  ditto.
      	(cmd_object_insert_undo) : no need to tweak the ref count.
      	(cmd_object_delete_redo) : keep it simple, just set the sheet.
      	(cmd_object_delete_undo) : just clear the sheet.
      	(cmd_object_delete_destroy) : very simple.
      	(cmd_object_move_redo) : store the anchor, not the position for a
      	  specific control.  Be careful not to move the object the firs time
      	  through.  We've already done that.
      	(cmd_move_object_undo) : just call redo.
      	(cmd_object_move) : store the old anchor and take a flag indicating
      	  move vs resize.
      
      	* src/workbook-control-gui.c (wb_control_gui_toplevel) : Add some
      	  protection.
      
      	* src/sheet-object.c (sheet_object_update_bounds) : rename from
      	  sheet_object_position to have a clearer name.
      
      	* src/embeddable-grid.c (embeddable_grid_init_anon) : init the sheet.
      	(grid_view_new) : use scg_toplevel.
      
      	* src/sheet-control-gui.c (scg_toplevel) : new function.
      
      2001-08-18  Jody Goldberg <jgoldberg@home.com>
      
      	* src/gnumeric-graph.c : Major reorg to fix life cycle issues.
      	(gnm_graph_new) : don't dangle the reference returned by oaf.
      	(gnm_graph_destroy) : deactivate & _fini the corba obj.
      	(gnm_graph_vector_destroy) : ditto.
      
      	* src/expr.c (expr_to_graph_vector) : delete this function.
      	  we have no need to disassemble the expression in graphs.
      
      	* src/item-grid.c : revert switch from destroy -> finalize.
      	* src/item-bar.c : ditto.
      
      	* src/sheet-object-container.c : no need to include gnorba.
      	  no need to include sheet-control-gui-priv anymore.
      	(sheet_object_container_destroy) : delete unused.
      	(sheet_object_container_new) : weaken requirements to take a workbook,
      	  rather than a sheet as the container.
      	(sheet_object_container_new_object) : ditto.
      	(sheet_object_container_new_file) : ditto.
      
      	* src/workbook-private.c : delete some unnecessary code.
      
      	* src/workbook.c : include sheet-control vs sheet-control-gui.
      	(workbook_expr_unrelocate) : it is ok to attempt to relocate to a
      	  non-existent cell.
      
      	* src/commands.c (cmd_paste_cut_undo) : restore the original content
      	  AFTER unrelocating the expressions.
      
      	* src/workbook-control-gui.c (workbook_control_gui_init) : Add the
      	  magic to enable the bonobo toolbar config utility.
      	(workbook_menu_edit) : Fix the accelerators and sync the text with the
      	  bonobo version.
      	(wbcg_menu_state_update) : Fix the capitalization for freeze/unfreeze.
      	(change_menu_label) : Fix accelerator display, we still don't set
      	  them, but at least we display them correctly.
      	(insert_bonobo_object) : signature change to
      	  sheet_object_container_new_object.
      
      2001-08-17  Jody Goldberg <jgoldberg@home.com>
      
      	* src/sheet.c (sheet_freeze_panes) : set the initial top_left position
      	  based on the frozen pane when unfreezing.
      
      	* src/sheet-control-gui.c (scg_set_panes) : prepare for h/v only splits.
      	  Reformat.  Remove code to set the topleft after the panes are
      	  created or removed.  That is handled by sheet.
      
      	* src/GNOME_Gnumeric.xml : enable the font accelerators in the bonobo
      	  build by making them standalone rather than associating them with
      	  toolbuttons.  It appears as if bonobo does not support accelerators
      	  for toolbuttons as yet.
      b459aaa7
  17. 30 Jul, 2001 1 commit
    • Jody Goldberg's avatar
      new. (sc_sheet) : const. (sc_update_cursor_pos) : delete. · 43215bb3
      Jody Goldberg authored
      2001-07-30  Jody Goldberg <jgoldberg@home.com>
      
      	* src/sheet-control.c (sc_wbc) : new.
      	(sc_sheet) : const.
      	(sc_update_cursor_pos) : delete.
      
      	* src/gnumeric-pane.c (gnm_pane_special_cursor_bound_set) : new.
      	(gnm_pane_special_cursor_start) : ditto.
      	(gnm_pane_special_cursor_start) : ditto.
      
      	* src/sheet-control-gui.c (scg_update_cursor_pos)  : fold into
      	  scg_resize.
      	(scg_resize) : reposition all of the cursors.
      	(scg_edit_start) renamed from scg_create_editor.
      	(scg_edit_stop) : renamed from scg_stop_editing.
      	(scg_special_cursor_start) : new.
      	(scg_special_cursor_stop) : new.
      	(scg_special_cursor_bound_set) : new.
      
      	* src/item-cursor.c (item_cursor_selection_event) : Use
      	  scg_special_cursor_start, and scg_special_cursor_bound_set.
      	(item_cursor_do_action) : use scg_special_cursor_stop.
      	(item_cursor_do_drop) : ditto.
      	(item_cursor_autofill_event) : ditto.
      	(item_cursor_set_bounds_visibly) : Doh! fix my stupidity.
      	  We need to change the visibility here because we explicitly disable
      	  doing it in the scroll handlers.  We are constraining the scroll
      	  so we need to do it manually.
      
      2001-07-30  Jody Goldberg <jgoldberg@home.com>
      
      	s/GnumericSheet/GnumericCanvas/
      	s/gsheet/gcanvas/
      	s/gnumeric_sheet_*/gnm_canvas_/
      	s/gnumeric_pane_*/gnm_pane_/
      	Move the std and rangesel cursors from GnumericSheet -> GnumericPane
      	Move the grid and editor from GnumericSheet -> GnumericPane
      
      2001-07-28  Jody Goldberg <jgoldberg@home.com>
      
      	* src/gnumeric-sheet.c (gnumeric_sheet_handle_motion) : fix autoscroll
      	  from bottom/right panes into adjcant regions that do not scroll as
      	  reported by almer.
      
      2001-07-28  Jody Goldberg <jgoldberg@home.com>
      
      	* src/gnumeric-sheet.c (gnumeric_sheet_handle_motion) : work towards
      	  support h only or v only freezes by using the geometry of pane 1 or 3
      	  in place of pane 2 which only exists in the h&v case.
      	(gsheet_sliding_callback) : ditto.
      	(gnumeric_sheet_slide_init: ditto.
      43215bb3
  18. 17 Jul, 2001 1 commit
    • Jody Goldberg's avatar
      implement. (ms_excel_read_window2) : store initial top left. · 9a5de7db
      Jody Goldberg authored
      2001-07-16  Jody Goldberg <jgoldberg@home.com>
      
      	* ms-excel-read.c (ms_excel_read_pane) : implement.
      	(ms_excel_read_window2) : store initial top left.
      
      2001-07-16  Jody Goldberg <jgoldberg@home.com>
      
      	* applix-read.c (applix_read_view) : Use sheet_set_initial_top_left.
      
      2001-07-16  Jody Goldberg <jgoldberg@home.com>
      
      	* src/sheet-object-graphic.c (sheet_object_graphic_write_xml) : use cstr.
      	(sheet_object_filled_write_xml) : ditto.
      
      	* src/xml-io-autoft.c (xml_write_format_template_members) : remove
      	  extra copying to and fro.
      
      	* src/xml-io.c (xml_set_value_string) : delete this bogosity.
      	(xml_write_solver) : Use xmlSetProp in its place.
      	(xml_set_value_double) : remove the searchiing silliness.
      	(xml_read_sheet_layout) : new function.
      	(xml_sheet_read) : called from here.
      	(xml_write_sheet_layout) : new function.
      	(xml_sheet_write) : called from here.
      
      2001-07-16  Jody Goldberg <jgoldberg@home.com>
      
      	* src/gnumeric-sheet.c (gsheet_compute_visible_region) : add a
      	  comment.
      	(gnumeric_sheet_button_release) : Fix scroll wheel handling.
      	  And make the scroll by 1/4 of a page rather than a full page.
      
      	* src/workbook-control-gui.c (cb_sheet_label_button_press) : while
      	  selecting a range all buttons switch pages.
      	(cb_view_freeze_panes) : Improve handling of border cases.
      
      	* src/sheet-control-gui.c (scg_set_top_left) : new function.
      	(scg_class_init) : tied in here.
      	(scg_scrollbar_config) : Some usability tuning.
      
      	* src/sheet.c (sheet_new) : init 'initial_top_left'
      	(sheet_set_initial_top_left) : new function.
      	(sheet_init_sc) : Set the initial top left.
      	(sheet_update_cursor_pos) : delete unnecessary.
      	(sheet_update_only_grid) : It is only called from here.  And even this
      	  seems questionable.
      	(sheet_find_boundary_{vertical,horizontal}) : adds more comments.
      
      	* src/sheet-control.c (sc_set_top_left) : new function.
      9a5de7db
  19. 14 Jul, 2001 2 commits
    • Jody Goldberg's avatar
      set the panes. · 2c2ba34c
      Jody Goldberg authored
      2001-07-14  Jody Goldberg <jgoldberg@home.com>
      
      	* src/sheet.c (sheet_init_sc) : set the panes.
      
      	* src/sheet-control.c (sc_init_state) : delete unused.
      
      	* src/sheet-control-gui.c (scg_make_cell_visible) : when landing in a
      	  partially frozen pane (1 or 3) if the panes are coupled move the
      	  other pane too.
      	(scg_set_panes) : Only use herioc measures if panes are changing, not
      	  when initializing.
      	(sheet_control_gui_new) : construct before attaching.
      	(horizontal_scroll_offset_changed) : don't clear wbcg msg text if we
      	  are't connected yet.
      	(vertical_scroll_offset_changed) : ditto.
      	(scg_scrollbar_config) :  no need to clear here.  We are already doing
      	  it in the adjustment handlers.
      
      	* src/gnumeric-sheet.c (gsheet_sliding_callback) : simplify and
      	  improve feel at bounds when scrolling in reverse.  Also remove debug
      	  spewage.
      2c2ba34c
    • Jody Goldberg's avatar
      no need to make anything visible here. We already did that in the · f1c48e46
      Jody Goldberg authored
      2001-07-13  Jody Goldberg <jgoldberg@home.com>
      
      	* src/item-cursor.c (item_cursor_set_bounds_visibly) : no need to make
      	  anything visible here.  We already did that in the autoscroller.
      
      	* src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : no need to
      	  force a scroll.
      f1c48e46
  20. 05 Jul, 2001 2 commits
    • Jody Goldberg's avatar
      add a force_scroll argument. · 07f7fab8
      Jody Goldberg authored
      2001-07-05  Jody Goldberg <jgoldberg@home.com>
      
      	* src/sheet-control.c (sc_resize) : add a force_scroll argument.
      
      	* src/sheet-control-gui.c (scg_scrollbar_config) : handle panes.
      	(scg_resize) : Add a force_scroll argument.
      	  reset all of the offsets.
      	  Keep the col/row heades for pane[0] and toss those on pane[1,3]
      	(scg_set_zoom_factor) : support panes without headers.
      	(scg_scrollbar_config) : pane support.
      	(scg_set_left_col) : quicky stub.
      	(scg_set_top_row) : quicky stub.
      	(gnumeric_pane_init) : rename from gnumeric_pane_new for consistency.
      	  either add both or neither header.
      	(gnumeric_pane_free) : rename from gnumeric_pane_delete.
      	(scg_set_panes) : only panes 0 and 2 need headers no need to attach
      	 the headers for panes 1 & 3.
      	 force a full scroll when setting up the panes.
      	(scg_adjust_preferences) : no need to worry about panes.
      07f7fab8
    • Jody Goldberg's avatar
      Initial support for frozen panes. · 99073bd9
      Jody Goldberg authored
      2001-07-04  Jody Goldberg <jgoldberg@home.com>
      
      	* src/sheet-merge.c (sheet_merge_add) : Use sheet_redraw_range.
      
      	* src/sheet-control.c (sc_set_panes) : new virtual.
      	(sc_set_sheet) : renamed from sc_invalidate_sheet.
      
      	* src/sheet-control-gui.c (scg_primary_pane) : new function. Be very
      	  careful when using this.  It should not be necessary in most cases.
      	(scg_get_wbcg) : convenience routine.
      	(scg_redraw_all) : frozen panes.
      	(scg_redraw_region) : renamed from scg_redraw_cell_region, and frozen
      	  pane support.
      	(scg_redraw_headers) : merge in the code from gnumeric-sheet.
      	(scg_update_cursor_pos) : pane support.
      	(scg_resize) : ditto.
      	(scg_set_zoom_factor) : ditto.  Broken. needs to resize the panes.
      	(scg_scrollbar_config) : adjust to panes.
      	(scg_make_edit_pos_visible) : use scg_make_cell_visible.
      	(scg_colrow_select) : reorg a bit.
      	(vertical_scroll_offset_changed) : adjust to panes.
      	(horizontal_scroll_offset_changed) : ditto.
      	(cb_table_destroy) : ditto.
      	(scg_init) : init the top here.
      	(bar_set_left_col) : from gnumeric-sheet. Still needs work for panes.
      	(bar_set_top_row) : ditto.
      	(gnumeric_sheet_set_left_col) : ditto.
      	(gnumeric_sheet_set_top_row) : ditto.
      	(scg_set_left_col) : TODO.
      	(scg_set_top_row) : ditto.
      	(gnumeric_sheet_set_top_left) : new function split from.
      	(gnumeric_sheet_make_cell_visible) : here.
      	(scg_make_cell_visible) : adjsut to panes and do the real work here.
      	(scg_make_cell_visible_virt : wrapper for use as virtual.
      	(gnumeric_pane_new) : new function.
      	(gnumeric_pane_delete) : ditto.
      	(scg_set_panes) : ditto.
      	(scg_construct) : move the table attachments around and move the
      	  canvas groups into the panes.
      	(sheet_control_gui_new) : beef this up.
      	(scg_unant) : adjust to panes.
      	(scg_ant) : ditto.
      	(scg_cursor_visible) : ditto.
      	(scg_cursor_bound) : ditto.
      	(scg_adjust_preferences) : ditto.
      	(scg_compute_visible_region) : ditto.
      	(scg_create_editor) : ditto.
      	(scg_stop_editing) : ditto.
      	(scg_take_focus) : ditto.
      	(scg_sliding_callback) : adjust top panes, but is still much too
      	  stupid.
      	(scg_start_sliding) : ditto.
      	(cb_slide_handler) : ditto.
      	(cb_control_point_event) : ditto.
      	(new_control_point) : ditto.
      	(set_item_x_y) : ditto.
      	(set_acetate_coords) : ditto.
      	(scg_object_calc_position) : ditto.
      	(scg_object_view_position) : ditto.
      	(scg_rangesel_changed) : ditto.
      	(scg_rangesel_start) : ditto.
      	(scg_rangesel_stop) : ditto.
      	(scg_rangesel_move) : ditto.
      	(scg_rangesel_extend) : ditto.
      
      	* src/item-grid.c (sheet_object_begin_creation) : Use the group
      	  associated with the gsheet, not the scg, and use GNUMERIC_IS_SHEET
      	  in preference to != NULL.
      
      	* src/item-bar.c : Store the gnumeric-sheet rather than the scg so
      	  that we can get to the Pane.
      
      	* src/embeddable-grid.c (grid_view_activate) : Use scg_take_focus.
      	(grid_view_new) : Use sheet_control_gui_new in place of sheet_new_scg.
      
      	* convert to E_MAKE_TYPE
      	* Use IS_SHEET in preference to sheet != NULL
      	* sheet_range_calc_spans signature change
      
      	* src/clipboard.c (clipboard_paste_region) : special handling when
      	  pasting into a selection that consists of a single merged cell.
      
      	* src/application.c (application_set_selected_sheet) : Use IS_SHEET.
      	(application_clipboard_copy) : ditto.
      	(application_clipboard_cut) : ditto.
      
      	* src/Makefile.am :
      	    command-context-corba -> workbook-control-corba
      
      	* src/sheet.c : convert to using IS_SHEET in place of sheet != NULL in
      	  several places.
      	(sheet_is_frozen) : new function.
      	(sheet_freeze_panes) : implement.
      	(sheet_new) : init frozen pane data.
      	(sheet_range_calc_spans) : pass a pointer rather than copy of the range.
      	  and use sheet_redraw_range.
      	(sheet_apply_style) : use sheet_redraw_range.
      	(cb_sheet_get_extent) : premature optimization is evil.
      	(sheet_redraw_region) : rename from sheet_redraw_cell_region.
      	(sheet_set_edit_pos) : use sheet_redraw_range.
      	(sheet_move_range) : ditto.
      	(sheet_init_sc) : new routine.
      	(sheet_attach_control) : rename and task from sheet_new_scg.
      	(sheet_redraw_region) : renamed from sheet_redraw_cell_region.
      
      	* src/item-cursor.c (item_cursor_update) : increase the spacing for
      	  the autohandle.
      
      	* src/GNOME_Gnumeric.xml :
      	  - Use Control*colon and Control*semicolon
      	  - desensitize the graph guru for now.
      	  - Add freeze/thaw
      
      	* src/item-bar.c (item_bar_unrealize) : no need to double unref the
      	  fonts.
      
      	* src/print-cell.c (print_merged_range) : This is not being drawn on
      	  the screen, no need for all the fancy calcs to only draw the visible
      	  bits.  We will just clip it.
      	* src/print-cell.c (print_cell) : Use the calulated width, not the col
      	  width for splitting.
      
      	* src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Use the scg_
      	  versions of things in preference to the gnumeric_sheet_ versions.
      	(gnumeric_sheet_new) : Store the Pane that this is associated with.
      	(gnumeric_sheet_bar_set_top_row) : moved to sheet-control-gui.c
      	(gnumeric_sheet_set_top_row) : ditto.
      	(gnumeric_sheet_bar_set_left_col) : ditto.
      	(gnumeric_sheet_set_left_col) : ditto.
      	(gnumeric_sheet_make_cell_visible) : ditto.
      	(gsheet_compute_visible_region) : handle panes.
      99073bd9
  21. 30 May, 2001 1 commit
    • Jon K Hellan's avatar
      Previous attempt to commit failed. Trying again. · 37876eb7
      Jon K Hellan authored
      2001-05-30  Jon K Hellan  <hellan@acm.org>
      
      	Previous attempt to commit failed. Trying again.
      
      	* src/sheet-control-gui-priv.h: New file. Implementation details
      	for SheetControlGUI and methods directly accessible from the GUI
      	layer.
      
      	* src/Makefile.am: Add sheet-control-gui-priv.h
      
      	* src/sheet-control-gui.h: Move struct _SheetControlGUI to
      	sheet-control-gui-priv.h. Remove declarations of methods which
      	have been made virtual.
      
      	* src/sheet-control-gui.c: Include sheet-control-gui-priv.h instead
      	of sheet-control-gui.h.
      	Casts and temp variables because:
      	- virtual scg methods now take a SheetControl parameter.
              - sheet member now lives in SheetControl.
      	Make following methods static - externally available only as
      	virtual SheetControl method: scg_redraw_all,
      	scg_redraw_cell_region, scg_redraw_headers, scg_update_cursor_pos,
      	scg_resize, scg_unant, scg_ant, scg_cursor_bound,
      	scg_compute_visible_region, scg_make_cell_visible. Initialize
      	class object with these as virtual methods together with
      	scg_set_zoom_factor, scg_adjust_preferences, scg_scrollbar_config
      	and scg_mode_edit.  Rename context_menu_hander (sic!) to
      	context_menu_handler.
      
      	*src/sheet-control.c (SC_VIRTUAL_FULL): Fix typo.
      	(sc_destroy): Comment out unused variable.
      	(sheet_control_init_state): Rename to sc_init_state.
      	(sc_sheet): New accessor - returns sheet attribute.
      	(sc_invalidate_sheet): New function - sets sheet attribute to
      	NULL.
      	(resize, set_zoom_factor, redraw_all, redraw_cell_region,
      	redraw_headers, ant, unant, adjust_preferences, update_cursor_pos,
      	scrollbar_config, mode_edit, compute_visible_region,
      	make_cell_visible, cursor_bound): New virtual methods.
      
      	* src/sheet-control.h: Declare new methods in sheet-control.c
      
      	* src/selection.c: Use sc_redraw_cell_region, sc_redraw_headers
      	instead of scg methods.
      
      	* src/sheet.c (sheet_unant): Use sc_unant instead o scg_unant.
      	(sheet_ant): Use sc_ant instead of scg_ant.
      	(sheet_redraw_all): Use sc_redraw_all instead of scg_redraw_all.
      	(sheet_redraw_all): Use sc_redraw_headers instead of
      	scg_redraw_headers.
      	(sheet_new_scg): Use sc_cursor_bound instead of scg_cursor_bound.
      	(sheet_detach_scg): Rename to sheet_detach_control. Change
      	parameter from SheetControlGUI to SheetControl. Use sc_sheet and
      	sc_invalidate_sheet instead of direct attribute access.
      	(sheet_set_zoom_factor): Use sc_set_zoom_factor instead of
      	scg_set_zoom_factor.
      	(sheet_update_only_grid): Use sc_compute_visible_region instead of
      	scg_compute_visible_region.
      	(sheet_col_row_gutter): Use sc_resize instead of scg_resize.
      	(sheet_redraw_cell_region, sheet_redraw_partial_row,
      	sheet_redraw_cell): Use sc_redraw_cell_region instead of
      	scg_redraw_cell_region.
      	(sheet_make_cell_visible): Use sc_make_cell_visible instead of
      	scg_make_cell_visible.
      	(sheet_cursor_set): Use sc_cursor_bound instead of
      	scg_cursor_bound.
      	(sheet_update_cursor_pos): Use sc_update_cursor_pos instead of
      	scg_update_cursor_pos.
      	(sheet_scrollbar_config): Use sc_scrollbar_config instead of
      	scg_scrollbar_config.
      	(sheet_adjust_preferences): Use sc_adjust_preferences, sc_resize
      	and sc_redraw_all instead of scg_adjust_preferences, scg_resize
      	and scg_redraw_all.
      
      	* src/sheet.h (SHEET_FOREACH_CONTROL): Take list of SheetControls
      	instead of SheetControlGUIs.
      
      	* src/workbook.c (workbook_sheet_detach): Use sc_mode_edit instead
      	of scg_mode_edit.
      
      	* src/embeddable-grid.h: Include sheet-control-gui-priv.h instead
      	of sheet-control-gui.h.
      
      	* src/sheet-object-graphic.c: Ditto.
      
      	* src/gnumeric-sheet.c: Include sheet-control-gui-priv.h instead
      	of sheet-control-gui.h.
      	Casts and temp variables because:
      	- virtual scg methods now take a SheetControl parameter.
              - sheet now lives in SheetControl.
      
      	* src/item-bar.c: Ditto.
      
      	* src/item-cursor.c: Ditto.
      
      	* src/item-edit.c: Ditto.
      
      	* src/item-grid.c: Ditto.
      
      	* src/sheet-object-cell-comment.c: Ditto.
      
      	* src/sheet-object-cell-container.c: Ditto.
      
      	* src/sheet-object-item.c: Ditto.
      
      	* src/sheet-object-widget.c: Ditto.
      
      	* src/workbook-control-gui.c: Ditto.
      
      	* src/workbook-object-toolbar.c: Ditto, but don't include
      	sheet-control-gui-priv.h
      
      	* src/sheet-object.c (sheet_object_realize): Cast control to
      	SheetControlGUI.
      37876eb7
  22. 26 May, 2001 1 commit
    • Jon K Hellan's avatar
      Derive from SheetControl rather than GtkObject. · be489c8e
      Jon K Hellan authored
      2001-05-26  Jon K Hellan  <hellan@acm.org>
      
      	* src/sheet-control-gui.[ch]: Derive from SheetControl rather than
      	GtkObject.
      
      	* src/gnumeric.h: Add incomplete def of SheetControl.
      
      	* src/Makefile.am: Add sheet-control.c, sheet-control.h,
      	sheet-control-priv.h
      
      	* src/sheet-control.c: New file. Stub base class for
      	SheetControlGUI.
      
      	* src/sheet-control.h: Strip down even more from existing stub in
      	CVS.
      
      	* src/sheet-control-priv.h: New file. Private header for
      	SheetControl.
      be489c8e
  23. 15 Nov, 2000 1 commit
    • Jody Goldberg's avatar
      Follow convention that the manager is set when attached, and not before. · ad531019
      Jody Goldberg authored
      
      2000-11-15  Jody Goldberg <jgoldberg@home.com>
      
      	* src/workbook-control.c (workbook_control_set_view) : Follow
      	  convention that the manager is set when attached, and not before.
      	* src/workbook-view.c (wb_view_attach_control) : Ditto.  Set the
      	  tile on the new control.
      	* src/workbook.c (workbook_attach_view) : Ditto.
      
      2000-11-15  Jody Goldberg <jgoldberg@home.com>
      
      	* src/command-context-corba.[ch] : This is incorrectly named and used
      	  the wrong way :-( But at least it is compilable.  I'll fix this
      	  later.
      
      2000-11-15  Jody Goldberg <jgoldberg@home.com>
      
      	* src/colrow.c (col_row_foreach) : Use ColRowSegments
      	(col_row_restore_sizes) : Ditto.
      	* src/sheet.c (sheet_{col,row}_add) : Ditto.
      	(sheet_{col,row}_get_info) : Ditto.
      	(sheet_{col,row}_get) : Ditto.
      	(sheet_cell_foreach_range) : Ditto.
      	(sheet_{col,row}_destroy) : Ditto.
      	(sheet_regen_adjacent_spans) : Ditto.
      	(colrow_move) : Ditto.
      	(sheet_{col,row}_get_distance_pixels) : Ditto.
      	(sheet_{col,row}_get_distance_pts) : Ditto.
      	(sheet_{col,row}_set_size_pts) : Ditto.
      
      2000-11-15  Jody Goldberg <jgoldberg@home.com>
      
      	s/sheet-view/sheet-control-gui/
      
      	* src/Makefile.am : Add command-context-corba.[ch] temporarily
      
      	* configure.in : Default to non-bonobo build
      ad531019