Commit 3bea628c authored by JodyGoldberg's avatar JodyGoldberg Committed by Jody Goldberg
Browse files

revamp extensheet handling and name import. Still does not work for XL95,


2002-03-07  Jody Goldberg <jody@gnome.org>

	* ms-excel-read.c : revamp extensheet handling and name import.
	  Still does not work for XL95, but things should be ok for >= 97.
	  Getting closer to supporting external references.

2002-03-02  Jody Goldberg <jody@gnome.org>

	* ms-excel-write.c (write_externsheets) : Use unquoted.  This code
	  needs some love.

2002-03-02  Jody Goldberg <jody@gnome.org>

	* ms-excel-read.c (ms_excel_read_formula) : avoid leaking when faced
	  with bad input.
	(ms_excel_read_formula) : ditto.

2002-03-06  Jody Goldberg <jody@gnome.org>

	* dialog-advanced-filter.c (advanced_filter) : Use eval_pos_init_sheet.

	* dialog-solver.c (cb_dialog_solve_clicked) : fix leak.

2002-03-07  Jody Goldberg <jody@gnome.org>

	* src/position.c (eval_pos_init*) : handle the optional dependent.

	* src/eval.c (link_expr_dep) : support the adjustment to EvalPos.
	(unlink_expr_dep) : support the adjustment to EvalPos.

	* *.c : directly include gnome-i18n.h, value.h and expr.h
	  where necessary now that they are no longer included.
	* src/func.h : here.

	* src/position.h (EvalPos) : Pass in an optional Dependent.

	* src/expr.h (FunctionEvalInfo) : remove the func_def.  Send in the
	  ExprFunc wrapper instead.  That contains the func-def if desired.

	* src/func.c (function_set_link_handlers) : differentiate signatures
	  for link & unlink.
parent 3452c25e
......@@ -14,10 +14,12 @@
#include <str.h>
#include <cell.h>
#include <sheet.h>
#include <value.h>
#include <number-match.h>
#include <math.h>
#include <string.h>
#include <libgnome/gnome-i18n.h>
/* Type definitions */
......
......@@ -13,11 +13,13 @@
#include <str.h>
#include <cell.h>
#include <datetime.h>
#include <value.h>
#include <auto-format.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include <libgnome/gnome-i18n.h>
#define DAY_SECONDS (3600*24)
......
......@@ -12,6 +12,7 @@
#include <parse-util.h>
#include <complex.h>
#include <str.h>
#include <value.h>
#include <mathfunc.h>
#include <ctype.h>
......@@ -20,7 +21,7 @@
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <libgnome/gnome-i18n.h>
/**
* FIXME: In the long term this needs optimising.
......
......@@ -18,11 +18,13 @@
#include <collect.h>
#include <auto-format.h>
#include <datetime.h>
#include <value.h>
#include <str.h>
#include <math.h>
#include <limits.h>
#include <string.h>
#include <libgnome/gnome-i18n.h>
#define is_valid_basis(B) (B >= 0 && B <= 5)
#define is_valid_freq(F) (F == 1 || F == 2 || F == 4)
......
......@@ -20,6 +20,8 @@
#include <format.h>
#include <formats.h>
#include <style.h>
#include <value.h>
#include <expr.h>
#include <sheet-style.h>
#include <number-match.h>
......@@ -27,6 +29,7 @@
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <libgnome/gnome-i18n.h>
enum Value_Class {
VALUE_CLASS_NUMBER = 1,
......
......@@ -12,7 +12,10 @@
#include <parse-util.h>
#include <cell.h>
#include <expr.h>
#include <value.h>
#include <auto-format.h>
#include <libgnome/gnome-i18n.h>
/***************************************************************************/
......
......@@ -17,10 +17,12 @@
#include <cell.h>
#include <str.h>
#include <sheet.h>
#include <value.h>
#include <expr-name.h>
#include <string.h>
#include <stdlib.h>
#include <libgnome/gnome-i18n.h>
/* Useful routines for multiple functions */
static gboolean
......
......@@ -17,10 +17,13 @@
#include <mathfunc.h>
#include <rangefunc.h>
#include <collect.h>
#include <value.h>
#include <expr.h>
#include <auto-format.h>
#include <math.h>
#include <string.h>
#include <libgnome/gnome-i18n.h>
typedef struct {
GSList *list;
......
......@@ -18,11 +18,14 @@
#include <sheet.h>
#include <cell.h>
#include <collect.h>
#include <value.h>
#include <expr.h>
#include <auto-format.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <libgnome/gnome-i18n.h>
static gint
float_compare (const gnum_float *a, const gnum_float *b)
......
......@@ -16,6 +16,8 @@
#include <format.h>
#include <str.h>
#include <sheet.h>
#include <value.h>
#include <expr.h>
#include <number-match.h>
#include <mathfunc.h>
......@@ -23,6 +25,7 @@
#include <math.h>
#include <limits.h>
#include <string.h>
#include <libgnome/gnome-i18n.h>
/***************************************************************************/
......
2002-03-06 Jody Goldberg <jody@gnome.org>
* excel-gb-worksheet-function.c
(excel_gb_worksheet_function_deref) : tweak.
2002-02-18 Jody Goldberg <jody@gnome.org>
* Release 1.1.0
......
......@@ -31,7 +31,7 @@ excel_gb_worksheet_function_deref (GBEvalContext *ec,
if ((fd = func_lookup_by_name (ref->name, funcs->sheet->workbook))) {
GPtrArray *args = g_ptr_array_new ();
EvalPos pos;
EvalPos ep;
Value *ret;
GBValue *gb_ret;
GSList *l;
......@@ -47,12 +47,11 @@ excel_gb_worksheet_function_deref (GBEvalContext *ec,
gb_value_destroy (val);
}
pos.sheet = funcs->sheet;
pos.eval.col = 0; /* FIXME: where should we be located ? */
pos.eval.row = 0;
/* FIXME: where should we be located ? */
eval_pos_init_sheet (&ep, funcs->sheet);
ret = function_def_call_with_values (
&pos, fd, args->len, (Value **)args->pdata);
&ep, fd, args->len, (Value **)args->pdata);
if (ret) {
gb_ret = value_to_gb (ret);
......
......@@ -34,9 +34,12 @@
#include "module-plugin-defs.h"
#include "ranges.h"
#include "style.h"
#include "value.h"
#include "solver.h"
#include "sheet-style.h"
#include "parse-util.h"
#include <libgnome/gnome-i18n.h>
GNUMERIC_MODULE_PLUGIN_INFO_DECL;
......
......@@ -12,6 +12,7 @@
#include <workbook-view.h>
#include <workbook.h>
#include <cell.h>
#include <value.h>
#include <plugin.h>
#include <plugin-util.h>
#include <module-plugin-defs.h>
......
......@@ -10,3 +10,4 @@ stamp-cat-id
gnumeric.pot
messages
missing
.intltool-cache*
2002-03-06 Jody Goldberg <jody@gnome.org>
* dialog-advanced-filter.c (advanced_filter) : Use eval_pos_init_sheet.
* dialog-solver.c (cb_dialog_solve_clicked) : fix leak.
2002-03-07 Jukka-Pekka Iivonen <jiivonen@hutcs.cs.hut.fi>
* solver.glade: added `Program' checkbutton for program report and
......
......@@ -107,9 +107,11 @@ advanced_filter (WorkbookControl *wbc,
gboolean unique_only_flag)
{
GSList *crit, *rows;
EvalPos ep = {{0, 0}, wb_control_cur_sheet (wbc)};
EvalPos ep;
crit = parse_database_criteria (&ep, database, criteria);
crit = parse_database_criteria (
eval_pos_init_sheet (&ep, wb_control_cur_sheet (wbc)),
database, criteria);
if (crit == NULL)
return ERR_INVALID_FIELD;
......
......@@ -657,8 +657,7 @@ cb_dialog_solve_clicked (GtkWidget *button, SolverState *state)
Value *input_range;
CellList *input_cells = NULL;
Value *result;
EvalPos *pos;
CellPos cellpos = {0, 0};
EvalPos pos;
gint i;
gboolean answer, sensitivity, limits, program;
gchar *errmsg;
......@@ -666,9 +665,6 @@ cb_dialog_solve_clicked (GtkWidget *button, SolverState *state)
if (state->warning_dialog != NULL)
gtk_widget_destroy (state->warning_dialog);
pos = g_new (EvalPos, 1);
pos = eval_pos_init(pos, state->sheet, &cellpos);
target_range = gnm_expr_entry_parse_as_value (state->target_entry,
state->sheet);
input_range = gnm_expr_entry_parse_as_value (state->change_cell_entry,
......@@ -676,15 +672,16 @@ cb_dialog_solve_clicked (GtkWidget *button, SolverState *state)
if (state->sheet->solver_parameters->input_entry_str != NULL)
g_free (state->sheet->solver_parameters->input_entry_str);
state->sheet->solver_parameters->input_entry_str = value_get_as_string
(input_range);
state->sheet->solver_parameters->input_entry_str =
value_get_as_string (input_range);
state->sheet->solver_parameters->target_cell =
sheet_cell_fetch (state->sheet,
target_range->v_range.cell.a.col,
target_range->v_range.cell.a.row );
result = workbook_foreach_cell_in_range (pos, input_range,
FALSE, grab_cells, &input_cells);
result = workbook_foreach_cell_in_range (
eval_pos_init_sheet (&pos, state->sheet),
input_range, FALSE, grab_cells, &input_cells);
state->sheet->solver_parameters->input_cells = input_cells;
......
......@@ -14,6 +14,12 @@
* fn-eng.c (gnumeric_imlog2, gnumeric_imlog10): Use
complex_scale_real.
2002-03-04 Jody Goldberg <jody@gnome.org>
* fn-lookup.c (gnumeric_indirect_unlink) : initial implementation hook
to truely support depends for INDIRECT.
(lookup_functions_init) : register it.
2002-02-28 Morten Welinder <terra@diku.dk>
* fn-eng.c (gnumeric_convert): Improve precision here and there.
......
......@@ -14,10 +14,12 @@
#include <str.h>
#include <cell.h>
#include <sheet.h>
#include <value.h>
#include <number-match.h>
#include <math.h>
#include <string.h>
#include <libgnome/gnome-i18n.h>
/* Type definitions */
......
Supports Markdown
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