Commit 99073bd9 authored by Jody Goldberg's avatar Jody Goldberg Committed by Jody Goldberg

Initial support for frozen panes.

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.
parent 4e4175d3
......@@ -7,7 +7,6 @@ release, and longer term bugs.
Release Critical
----------------
- enable multibyte translations
Pending Patches
---------------
......
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.
2001-06-28 Jody Goldberg <jgoldberg@home.com>
* src/sheet-object-container.c : include sheet.h
2001-06-29 Jody Goldberg <jgoldberg@home.com>
* src/sheet-control-gui.c (cb_table_destroy) : unref the control so
......
......@@ -2,6 +2,9 @@ Gnumeric 0.68
Jody :
* Even more missing files.
* Crash after exiting 1 of many shared views.
* Bug when printing wrapped text in merged cells.
* Enable frozen panes.
--------------------------------------------------------------------------
Gnumeric 0.67
......
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.
2001-06-28 Jody Goldberg <jgoldberg@home.com>
* src/sheet-object-container.c : include sheet.h
2001-06-29 Jody Goldberg <jgoldberg@home.com>
* src/sheet-control-gui.c (cb_table_destroy) : unref the control so
......
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.
2001-06-28 Jody Goldberg <jgoldberg@home.com>
* src/sheet-object-container.c : include sheet.h
2001-06-29 Jody Goldberg <jgoldberg@home.com>
* src/sheet-control-gui.c (cb_table_destroy) : unref the control so
......
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.
2001-06-28 Jody Goldberg <jgoldberg@home.com>
* src/sheet-object-container.c : include sheet.h
2001-06-29 Jody Goldberg <jgoldberg@home.com>
* src/sheet-control-gui.c (cb_table_destroy) : unref the control so
......
......@@ -262,7 +262,8 @@ gnumeric_plugin_loader_python_class_init (GnumericPluginLoaderPythonClass *klass
gtk_object_class->destroy = gnumeric_plugin_loader_python_destroy;
}
E_MAKE_TYPE (gnumeric_plugin_loader_python, "GnumericPluginLoaderPython", GnumericPluginLoaderPython, &gnumeric_plugin_loader_python_class_init, gnumeric_plugin_loader_python_init, PARENT_TYPE)
E_MAKE_TYPE (gnumeric_plugin_loader_python, "GnumericPluginLoaderPython", GnumericPluginLoaderPython,
&gnumeric_plugin_loader_python_class_init, gnumeric_plugin_loader_python_init, PARENT_TYPE)
/*
* Service - file_opener
......
......@@ -82,6 +82,10 @@
_tip="Paste with optional filters and transformations"
pixtype="stock" pixname="Paste"/>
<cmd name="ViewFreezeThawPanes"
_label="_Freeze Panes"
_tip="Lock or unlock the top left cols/rows"/>
<cmd name="EditClearAll"
_label="_All"
_tip="Clear the selected cells' formats, comments, and contents"/>
......@@ -262,7 +266,7 @@
<menuitem name="ViewZoom" verb=""
_label="_Zoom..."
_tip="Zoom the spreadsheet in or out"/>
<menuitem name="ViewFreezeThawPanes" verb=""/>
<menuitem name="ViewNewShared" verb=""
_label="New _Shared"
_tip="Create a new shared view of the workbook"/>
......@@ -316,12 +320,12 @@
<menuitem name="Date" verb="InsertCurrentDate"
_label="Current _date"
_tip="Insert the current date into the selected cell(s)"
accel="*Control*;"/>
accel="*Control*semicolon"/>
<menuitem name="Time" verb="InsertCurrentTime"
_label="Current _time"
_tip="Insert the current time into the selected cell(s)"
accel="*Control*:"/>
accel="*Control*colon" />
</submenu>
......@@ -596,7 +600,7 @@
pixtype="stock" pixname="Gnumeric_GraphGuru"
_label="Graph Guru"
_tip="Invoke the graph guru to create a graph"
verb="GraphGuru" />
verb="GraphGuru" sensitive="0" />
<toolitem name="InsertComponent"
pixtype="stock" pixname="Gnumeric_InsertComponent"
......
......@@ -51,8 +51,6 @@ GNUMERIC_BASE_SOURCES = \
command-context.c \
command-context.h \
command-context-priv.h \
command-context-corba.c \
command-context-corba.h \
consolidate.c \
consolidate.h \
io-context.c \
......@@ -95,7 +93,6 @@ GNUMERIC_BASE_SOURCES = \
gnumeric-sheet.h \
gnumeric-util.c \
gnumeric-util.h \
gnumeric-type-util.h \
gnumeric.h \
gui-clipboard.c \
gui-clipboard.h \
......@@ -236,6 +233,11 @@ GNUMERIC_BASE_SOURCES = \
xml-io-autoft.c \
xml-io-autoft.h
# TODO : split the bonobo and corba tests one day
GNUMERIC_CORBA_SOURCES = \
workbook-control-corba.c \
workbook-control-corba.h
GNUMERIC_BONOBO_SOURCES = \
bonobo-io.c \
bonobo-io.h \
......@@ -248,7 +250,8 @@ GNUMERIC_BONOBO_SOURCES = \
sheet-object-container.c \
sheet-object-container.h \
sheet-object-item.c \
sheet-object-item.h
sheet-object-item.h \
$(GNUMERIC_CORBA_SOURCES)
if BONOBO
gnumeric_SOURCES = \
......
......@@ -306,7 +306,7 @@ application_clipboard_unant (void)
static gboolean
application_set_selected_sheet (WorkbookControl *wbc, Sheet *sheet)
{
g_return_val_if_fail (sheet != NULL, FALSE);
g_return_val_if_fail (IS_SHEET (sheet), FALSE);
application_clipboard_clear (FALSE);
......@@ -335,7 +335,7 @@ void
application_clipboard_copy (WorkbookControl *wbc,
Sheet *sheet, Range const *area)
{
g_return_if_fail (sheet != NULL);
g_return_if_fail (IS_SHEET (sheet));
g_return_if_fail (area != NULL);
if (application_set_selected_sheet (wbc, sheet) ) {
......@@ -374,7 +374,7 @@ void
application_clipboard_cut (WorkbookControl *wbc,
Sheet *sheet, Range const *area)
{
g_return_if_fail (sheet != NULL);
g_return_if_fail (IS_SHEET (sheet));
g_return_if_fail (area != NULL);
if (application_set_selected_sheet (wbc, sheet) ) {
......
......@@ -249,7 +249,7 @@ clipboard_paste_region (WorkbookControl *wbc,
int repeat_horizontal, repeat_vertical;
int dst_cols, dst_rows, src_cols, src_rows, min_col, max_col, tmp;
Range const *r;
gboolean has_content;
gboolean has_content, adjust_merges = TRUE;
g_return_val_if_fail (pt != NULL, TRUE);
g_return_val_if_fail (content != NULL, TRUE);
......@@ -260,13 +260,23 @@ clipboard_paste_region (WorkbookControl *wbc,
src_cols = content->cols;
src_rows = content->rows;
/* Treat a target of a single merge specially, don't split the merge */
{
Range const *merge = sheet_merge_is_corner (pt->sheet, &r->start);
if (merge != NULL && range_equal (r, merge)) {
dst_cols = dst_rows = 1;
adjust_merges = FALSE;
}
}
has_content = pt->paste_flags & (PASTE_CONTENT|PASTE_AS_VALUES|PASTE_LINK);
if (pt->paste_flags & PASTE_TRANSPOSE) {
int tmp = src_cols;
src_cols = src_rows;
src_rows = tmp;
}
}
if (content->not_as_content && (pt->paste_flags & PASTE_CONTENT)) {
gnumeric_error_invalid (COMMAND_CONTEXT (wbc),
......@@ -332,7 +342,7 @@ clipboard_paste_region (WorkbookControl *wbc,
}
/* remove and merged regions in the target range */
if (has_content) {
if (has_content && adjust_merges) {
GSList *merged, *ptr;
merged = sheet_merge_get_overlap (pt->sheet, &pt->range);
for (ptr = merged ; ptr != NULL ; ptr = ptr->next)
......@@ -425,9 +435,9 @@ clipboard_paste_region (WorkbookControl *wbc,
sheet_regen_adjacent_spans (pt->sheet,
r->start.col, r->start.row, r->end.col, r->end.row,
&min_col, &max_col);
sheet_range_calc_spans (pt->sheet, pt->range,
sheet_range_calc_spans (pt->sheet, &pt->range,