Commit c1005d28 authored by Jody Goldberg's avatar Jody Goldberg Committed by Jody Goldberg
Browse files

begin parsing the sheet name. Still need to support starting in the

2001-11-09  Jody Goldberg <jgoldberg@home.com>

	* gnumeric-expr-entry.c (gnumeric_expr_entry_rangesel_start) : begin
	parsing the sheet name.  Still need to support starting in the
	sheetname, and to actually use the name.
	(gnumeric_expr_entry_parse) : new utility.

2001-11-09  Jody Goldberg <jgoldberg@home.com>

	* dialog-graph-guru.c (vector_state_apply_changes) : Use
	  gnumeric_expr_entry_parse.

2001-11-09  Jody Goldberg <jgoldberg@home.com>

	* src/sheet-object-widget.c (sheet_widget_checkbox_toggled) : Use
	  expr_tree_get_range.
	(cb_checkbox_set_focus) : rework to use dialog::set-focus.
	(cb_checkbox_config_clicked) : use gnumeric_expr_entry_parse.
	(sheet_widget_checkbox_user_config) : set up the new focus handler.

	* src/sheet-control-gui.c (scg_object_nudge) : new.
	(scg_object_update_bbox) : no need to pass the view.
	(scg_object_move) : ditto.
	(cb_slide_handler) : ditto.

	* src/parser.y (force_explicit_sheet_references) : new.
	(parse_ref_or_string) : Support forcing an absolute ref.
	(gnumeric_expr_parser) : remove the individual flags and send in a bit
	mask.

	* src/item-grid.c (item_grid_draw_merged_range) : filted invisble
	  ranges.
	(item_grid_draw) : handle merges hidden by row, and support sliced
	  merges in the future.

	* src/sheet.c (sheet_col_row_fit_gutter) : New max_outline semantics
	  remove need for special case.
	(sheet_colrow_get) : new utility.

	* src/item-bar.c (ib_compute_pixels_from_indent) : Adjust to new
	  outline_level semantics.  We now implicitly add 1 when needed.
	  rather than tweaking it at startup.
	(item_bar_draw) : ditto.
	(outline_button_press) : ditto.

	* src/gnumeric-pane.c (gnm_pane_release) : Clean out cursors and
	  such.

	* src/gnumeric-graph.h : do not include idl header publicly.
	  Damn automake.

	* src/gnumeric-canvas.c (gnm_canvas_key_mode_object) : support moving
	  objects with the keyboard.

	http://bugzilla.gnome.org/show_bug.cgi?id=64023
	* src/colrow.c (colrow_visibility) : visible collapse marks at lower
	  levels should also be collapsed.

	* src/analysis-tools.c (get_data) : handle blanks better.
parent e9ca0965
......@@ -8,15 +8,15 @@ release, and longer term bugs.
Release Critical
----------------
- Should cb_merge_cells free the ranges and not just the list? (It leaks.)
- Check strcpy()s in font_change_component_1: purify says one is overlapping
and thus undefined.
- 1. C5=22
2. Select C5:E7
3. Click Center-across-selection, then Merge.
4. Format->Row->Hide
==> ** CRITICAL **: file item-grid.c: line 580 (item_grid_draw): assertion `merged_unused == NULL' failed.
(One per screen redraw)
- 1. Select A1.
2. Format->Autoformat.
3. Click "ok". [This correctly gives an error about the range being too small]
Undo information should not be saved for the error case, but it is.
Pending Patches
---------------
......@@ -27,19 +27,14 @@ Pending Patches
Long term breakage
------------------
- Should cb_merge_cells free the ranges and not just the list? (It leaks.)
- Outline mode
: Ins/Del col/row breaks
- Missing undo/redo for
- Add/duplicate sheet.
- Remove sheet.
- Reorder sheets.
- 1. Select A1.
2. Format->Autoformat.
3. Click "ok". [This correctly gives an error about the range being too small]
Undo information should not be saved for the error case, but it is.
- Misc.
- Add an idle handler at start up to check for availablity of
evo and guppi. They should only be enabled if they are available.
......
2001-11-09 Jody Goldberg <jgoldberg@home.com>
* src/sheet-object-widget.c (sheet_widget_checkbox_toggled) : Use
expr_tree_get_range.
(cb_checkbox_set_focus) : rework to use dialog::set-focus.
(cb_checkbox_config_clicked) : use gnumeric_expr_entry_parse.
(sheet_widget_checkbox_user_config) : set up the new focus handler.
* src/sheet-control-gui.c (scg_object_nudge) : new.
(scg_object_update_bbox) : no need to pass the view.
(scg_object_move) : ditto.
(cb_slide_handler) : ditto.
* src/parser.y (force_explicit_sheet_references) : new.
(parse_ref_or_string) : Support forcing an absolute ref.
(gnumeric_expr_parser) : remove the individual flags and send in a bit
mask.
* src/item-grid.c (item_grid_draw_merged_range) : filted invisble
ranges.
(item_grid_draw) : handle merges hidden by row, and support sliced
merges in the future.
* src/sheet.c (sheet_col_row_fit_gutter) : New max_outline semantics
remove need for special case.
(sheet_colrow_get) : new utility.
* src/item-bar.c (ib_compute_pixels_from_indent) : Adjust to new
outline_level semantics. We now implicitly add 1 when needed.
rather than tweaking it at startup.
(item_bar_draw) : ditto.
(outline_button_press) : ditto.
* src/gnumeric-pane.c (gnm_pane_release) : Clean out cursors and
such.
* src/gnumeric-graph.h : do not include idl header publicly.
Damn automake.
* src/gnumeric-canvas.c (gnm_canvas_key_mode_object) : support moving
objects with the keyboard.
http://bugzilla.gnome.org/show_bug.cgi?id=64023
* src/colrow.c (colrow_visibility) : visible collapse marks at lower
levels should also be collapsed.
* src/analysis-tools.c (get_data) : handle blanks better.
2001-11-08 Morten Welinder <welinder@rentec.com>
* src/number-match.c (format_match_init): Track failed regexp
......@@ -26,6 +74,11 @@
2001-11-07 Jukka-Pekka Iivonen <jiivonen@hutcs.cs.hut.fi>
* src/workbook-view.c (wb_view_auto_expr) : changes to
gnumeric_expr_parser signature.
2001-11-09 Jukka-Pekka Iivonen <jiivonen@hutcs.cs.hut.fi>
* src/analysis-tools.c (exp_smoothing_tool): Implemented.
2001-11-06 Morten Welinder <terra@diku.dk>
......
......@@ -10,6 +10,8 @@ Andreas:
Jody:
* More work on the expr entry.
* Fix nested grouping and xml import of grouping.
* Add keyboard support to sheet objects.
Jukka:
* Improved function documentation.
......
2001-11-09 Jody Goldberg <jgoldberg@home.com>
* src/sheet-object-widget.c (sheet_widget_checkbox_toggled) : Use
expr_tree_get_range.
(cb_checkbox_set_focus) : rework to use dialog::set-focus.
(cb_checkbox_config_clicked) : use gnumeric_expr_entry_parse.
(sheet_widget_checkbox_user_config) : set up the new focus handler.
* src/sheet-control-gui.c (scg_object_nudge) : new.
(scg_object_update_bbox) : no need to pass the view.
(scg_object_move) : ditto.
(cb_slide_handler) : ditto.
* src/parser.y (force_explicit_sheet_references) : new.
(parse_ref_or_string) : Support forcing an absolute ref.
(gnumeric_expr_parser) : remove the individual flags and send in a bit
mask.
* src/item-grid.c (item_grid_draw_merged_range) : filted invisble
ranges.
(item_grid_draw) : handle merges hidden by row, and support sliced
merges in the future.
* src/sheet.c (sheet_col_row_fit_gutter) : New max_outline semantics
remove need for special case.
(sheet_colrow_get) : new utility.
* src/item-bar.c (ib_compute_pixels_from_indent) : Adjust to new
outline_level semantics. We now implicitly add 1 when needed.
rather than tweaking it at startup.
(item_bar_draw) : ditto.
(outline_button_press) : ditto.
* src/gnumeric-pane.c (gnm_pane_release) : Clean out cursors and
such.
* src/gnumeric-graph.h : do not include idl header publicly.
Damn automake.
* src/gnumeric-canvas.c (gnm_canvas_key_mode_object) : support moving
objects with the keyboard.
http://bugzilla.gnome.org/show_bug.cgi?id=64023
* src/colrow.c (colrow_visibility) : visible collapse marks at lower
levels should also be collapsed.
* src/analysis-tools.c (get_data) : handle blanks better.
2001-11-08 Morten Welinder <welinder@rentec.com>
* src/number-match.c (format_match_init): Track failed regexp
......@@ -26,6 +74,11 @@
2001-11-07 Jukka-Pekka Iivonen <jiivonen@hutcs.cs.hut.fi>
* src/workbook-view.c (wb_view_auto_expr) : changes to
gnumeric_expr_parser signature.
2001-11-09 Jukka-Pekka Iivonen <jiivonen@hutcs.cs.hut.fi>
* src/analysis-tools.c (exp_smoothing_tool): Implemented.
2001-11-06 Morten Welinder <terra@diku.dk>
......
2001-11-09 Jody Goldberg <jgoldberg@home.com>
* src/sheet-object-widget.c (sheet_widget_checkbox_toggled) : Use
expr_tree_get_range.
(cb_checkbox_set_focus) : rework to use dialog::set-focus.
(cb_checkbox_config_clicked) : use gnumeric_expr_entry_parse.
(sheet_widget_checkbox_user_config) : set up the new focus handler.
* src/sheet-control-gui.c (scg_object_nudge) : new.
(scg_object_update_bbox) : no need to pass the view.
(scg_object_move) : ditto.
(cb_slide_handler) : ditto.
* src/parser.y (force_explicit_sheet_references) : new.
(parse_ref_or_string) : Support forcing an absolute ref.
(gnumeric_expr_parser) : remove the individual flags and send in a bit
mask.
* src/item-grid.c (item_grid_draw_merged_range) : filted invisble
ranges.
(item_grid_draw) : handle merges hidden by row, and support sliced
merges in the future.
* src/sheet.c (sheet_col_row_fit_gutter) : New max_outline semantics
remove need for special case.
(sheet_colrow_get) : new utility.
* src/item-bar.c (ib_compute_pixels_from_indent) : Adjust to new
outline_level semantics. We now implicitly add 1 when needed.
rather than tweaking it at startup.
(item_bar_draw) : ditto.
(outline_button_press) : ditto.
* src/gnumeric-pane.c (gnm_pane_release) : Clean out cursors and
such.
* src/gnumeric-graph.h : do not include idl header publicly.
Damn automake.
* src/gnumeric-canvas.c (gnm_canvas_key_mode_object) : support moving
objects with the keyboard.
http://bugzilla.gnome.org/show_bug.cgi?id=64023
* src/colrow.c (colrow_visibility) : visible collapse marks at lower
levels should also be collapsed.
* src/analysis-tools.c (get_data) : handle blanks better.
2001-11-08 Morten Welinder <welinder@rentec.com>
* src/number-match.c (format_match_init): Track failed regexp
......@@ -26,6 +74,11 @@
2001-11-07 Jukka-Pekka Iivonen <jiivonen@hutcs.cs.hut.fi>
* src/workbook-view.c (wb_view_auto_expr) : changes to
gnumeric_expr_parser signature.
2001-11-09 Jukka-Pekka Iivonen <jiivonen@hutcs.cs.hut.fi>
* src/analysis-tools.c (exp_smoothing_tool): Implemented.
2001-11-06 Morten Welinder <terra@diku.dk>
......
2001-11-09 Jody Goldberg <jgoldberg@home.com>
* src/sheet-object-widget.c (sheet_widget_checkbox_toggled) : Use
expr_tree_get_range.
(cb_checkbox_set_focus) : rework to use dialog::set-focus.
(cb_checkbox_config_clicked) : use gnumeric_expr_entry_parse.
(sheet_widget_checkbox_user_config) : set up the new focus handler.
* src/sheet-control-gui.c (scg_object_nudge) : new.
(scg_object_update_bbox) : no need to pass the view.
(scg_object_move) : ditto.
(cb_slide_handler) : ditto.
* src/parser.y (force_explicit_sheet_references) : new.
(parse_ref_or_string) : Support forcing an absolute ref.
(gnumeric_expr_parser) : remove the individual flags and send in a bit
mask.
* src/item-grid.c (item_grid_draw_merged_range) : filted invisble
ranges.
(item_grid_draw) : handle merges hidden by row, and support sliced
merges in the future.
* src/sheet.c (sheet_col_row_fit_gutter) : New max_outline semantics
remove need for special case.
(sheet_colrow_get) : new utility.
* src/item-bar.c (ib_compute_pixels_from_indent) : Adjust to new
outline_level semantics. We now implicitly add 1 when needed.
rather than tweaking it at startup.
(item_bar_draw) : ditto.
(outline_button_press) : ditto.
* src/gnumeric-pane.c (gnm_pane_release) : Clean out cursors and
such.
* src/gnumeric-graph.h : do not include idl header publicly.
Damn automake.
* src/gnumeric-canvas.c (gnm_canvas_key_mode_object) : support moving
objects with the keyboard.
http://bugzilla.gnome.org/show_bug.cgi?id=64023
* src/colrow.c (colrow_visibility) : visible collapse marks at lower
levels should also be collapsed.
* src/analysis-tools.c (get_data) : handle blanks better.
2001-11-08 Morten Welinder <welinder@rentec.com>
* src/number-match.c (format_match_init): Track failed regexp
......@@ -26,6 +74,11 @@
2001-11-07 Jukka-Pekka Iivonen <jiivonen@hutcs.cs.hut.fi>
* src/workbook-view.c (wb_view_auto_expr) : changes to
gnumeric_expr_parser signature.
2001-11-09 Jukka-Pekka Iivonen <jiivonen@hutcs.cs.hut.fi>
* src/analysis-tools.c (exp_smoothing_tool): Implemented.
2001-11-06 Morten Welinder <terra@diku.dk>
......
2001-11-07 Jody Goldberg <jgoldberg@home.com>
* applix-read.c (applix_read_cells) : changes to gnumeric_expr_parser
signature.
2001-11-05 Jody Goldberg <jgoldberg@home,com>
* Release 0.75
......
......@@ -1007,9 +1007,10 @@ applix_read_cells (ApplixReadState *state)
}
expr = gnumeric_expr_parser (expr_string+1,
parse_pos_init_cell (&pos, cell),
FALSE, TRUE, NULL,
parse_error_init (&perr));
parse_pos_init_cell (&pos, cell),
GNM_PARSER_USE_APPLIX_REFERENCE_CONVENTIONS |
GNM_PARSER_CREATE_PLACEHOLDER_FOR_UNKNOWN_FUNC,
NULL, parse_error_init (&perr));
if (expr == NULL) {
(void) applix_parse_error (state, "Invalid expression");
parse_error_free (&perr);
......
2001-11-09 Jody Goldberg <jgoldberg@home.com>
* ms-excel-read.c (ms_excel_read_guts) : adjust to different outline
scoping semantics. We count from 0. XL counts from 1.
* boot.c (excel_file_open) : better error message when opening a
non-ole file.
2001-11-05 Jody Goldberg <jgoldberg@home.com>
* plugin.xml.in : enable overwriting files by default.
2001-11-05 Jody Goldberg <jgoldberg@home,com>
* Release 0.75
......
......@@ -99,10 +99,12 @@ excel_file_open (GnumFileOpener const *fo, IOContext *context,
ole_error = ms_ole_open (&f, filename);
if (ole_error != MS_OLE_ERR_OK) {
char const *msg = (ole_error == MS_OLE_ERR_INVALID ||
ole_error == MS_OLE_ERR_FORMAT)
? _("This file is not an 'OLE' file. It may be too old for Gnumeric to read.\nSorry, the management.")
: _("Unexpected error reading the file");
ms_ole_destroy (&f);
/* FIXME : We need a more detailed message from
* ole_open */
gnumeric_io_error_read (context, "");
gnumeric_io_error_read (context, msg);
return;
}
......
......@@ -3112,12 +3112,19 @@ ms_excel_read_default_col_width (BiffQuery *q, ExcelSheet *esheet)
static void
ms_excel_read_guts (BiffQuery *q, ExcelSheet *esheet)
{
int col_gut, row_gut;
g_return_if_fail (q->length == 8);
/* ignore the specification of how wide/tall the gutters are */
sheet_col_row_gutter (esheet->gnum_sheet,
MS_OLE_GET_GUINT16 (q->data + 6),
MS_OLE_GET_GUINT16 (q->data + 4));
row_gut = MS_OLE_GET_GUINT16 (q->data + 4);
if (row_gut >= 1)
row_gut--;
col_gut = MS_OLE_GET_GUINT16 (q->data + 6);
if (col_gut >= 1)
col_gut--;
sheet_col_row_gutter (esheet->gnum_sheet, col_gut, row_gut);
}
/* See: S59DE3.HTM */
......@@ -3910,6 +3917,9 @@ ms_excel_read_sheet (BiffQuery *q, ExcelWorkbook *wb,
break;
case BIFF_GUTS:
/* we could get this implicitly from the cols/rows
* but this is faster
*/
ms_excel_read_guts (q, esheet);
break;
......
......@@ -18,7 +18,7 @@
<save_info saver_id="excel95" format_level="manual_remember"/>
</service>
<service type="file_saver" id="excel95" file_extension="xls"
format_level="manual_remember" overwrite_files="FALSE">
format_level="manual_remember" overwrite_files="TRUE">
<information>
<_description>Excel(R) 95 file format</_description>
</information>
......
......@@ -84,7 +84,7 @@ static char *help_exact = {
"EXACT(\"key\",\"key\") equals TRUE.\n"
"EXACT(\"key\",\"Key\") equals FALSE.\n"
"\n"
"@SEEALSO=LEN, SEARCH") /* FIXME: DELTA */
"@SEEALSO=LEN, SEARCH, DELTA")
};
static Value *
......
......@@ -663,7 +663,7 @@ get_data (Sheet *sheet, Range *range, old_data_set_t *data, gboolean ignore_blan
for (col = range->start.col; col <= range->end.col; col++)
for (row = range->start.row; row <= range->end.row; row++) {
v = sheet_cell_get_value (sheet, col, row);
if (v != NULL) {
if (v != NULL && v->type != VALUE_EMPTY) {
if (VALUE_IS_NUMBER (v))
x = value_get_as_float (v);
else {
......
......@@ -574,8 +574,10 @@ colrow_visibility (Sheet const *sheet, colrow_visiblity * const dat,
break;
} else if ((visible != 0) == (cri->visible != 0))
break;
else if (cri->is_collapsed)
else if (cri->is_collapsed) {
--j;
break;
}
}
res = g_new (ColRowIndex, 1);
res->first = (j >= first) ? j+1 : first;
......
......@@ -18,7 +18,7 @@ struct _ColRowInfo {
unsigned is_collapsed : 1; /* Does this terminate an outline ? */
unsigned hard_size : 1; /* are dimensions explicitly set ? */
unsigned visible : 1; /* visible */
unsigned filtered : 1; /* hidden as a result of a filter (requies !visible) */
unsigned filtered : 1; /* hidden as a result of a filter (requires !visible) */
unsigned in_filter : 1; /* filtered */
/* TODO : Add per row/col min/max */
......
......@@ -2097,8 +2097,8 @@ cmd_colrow_outline_change (WorkbookControl *wbc, Sheet *sheet,
if (depth == d) {
if ((is_cols ? sheet->outline_symbols_right : sheet->outline_symbols_below)) {
if (index > 0) {
ColRowInfo const *prev = is_cols ? sheet_col_get (sheet, index-1)
: sheet_row_get (sheet, index-1);
ColRowInfo const *prev =
sheet_colrow_get (sheet, index-1, is_cols);
if (prev != NULL && prev->outline_level > d) {
visible = ((d+1) == prev->outline_level &&
......@@ -2109,8 +2109,8 @@ cmd_colrow_outline_change (WorkbookControl *wbc, Sheet *sheet,
}
}
} else if (index+1 < colrow_max (is_cols)) {
ColRowInfo const *next = is_cols ? sheet_col_get (sheet, index+1)
: sheet_row_get (sheet, index-1);
ColRowInfo const *next =
sheet_colrow_get (sheet, index+1, is_cols);
if (next != NULL && next->outline_level > d) {
visible = ((d+1) == next->outline_level &&
......
2001-11-09 Jody Goldberg <jgoldberg@home.com>
* dialog-graph-guru.c (vector_state_apply_changes) : Use
gnumeric_expr_entry_parse.
2001-11-08 Morten Welinder <terra@diku.dk>
* dialog-summary.c (summary_get): Fix it right.
......
......@@ -32,6 +32,7 @@
#include "sheet-object.h"
#include "dialogs.h"
#include "widgets/gnumeric-combo-text.h"
#include <idl/GNOME_Gnumeric_Graph.h>
#include <bonobo.h>
#include <libgnome/gnome-defs.h>
......@@ -329,9 +330,8 @@ vector_state_apply_changes (VectorState *vs)
/* If we are setting something */
if (*str != '\0') {
ParsePos pos;
expr = expr_parse_string (str,
parse_pos_init (&pos, NULL, vs->state->sheet, 0, 0),
NULL, NULL);
expr = gnumeric_expr_entry_parse (GNUMERIC_EXPR_ENTRY (vs->entry),
parse_pos_init (&pos, NULL, vs->state->sheet, 0, 0));
/* TODO : add some error dialogs split out
* the code in workbok_edit.
*/
......
......@@ -186,8 +186,8 @@ expr_parse_string (char const *expr_text, ParsePos const *pp,
g_return_val_if_fail (expr_text != NULL, NULL);
expr = gnumeric_expr_parser (expr_text, pp, TRUE, FALSE, desired_format,
parse_error_init (perr));
expr = gnumeric_expr_parser (expr_text, pp,
GNM_PARSER_DEFAULT, desired_format, parse_error_init (perr));
if (error == NULL)
parse_error_free (perr);
......@@ -1828,4 +1828,3 @@ expr_tree_get_range (ExprTree const *expr)
return NULL;
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment