Commit b762bb9d authored by Jody Goldberg's avatar Jody Goldberg Committed by Jody Goldberg

Release 1.2.1


2003-10-08  Jody Goldberg <jody@gnome.org>

	* Release 1.2.1
parent 5a142283
......@@ -9,9 +9,9 @@ Release Critical
----------------
http://bugzilla.gnome.org/show_bug.cgi?id=123342 [gda borkage]
- xls import for chart text
- xls import for user supplied axis bounds
- Verify histogram tool. Feels fubar.
: text in boxes for text-xls/pivot.xls is white ??
: guia.xls complains of problems importing autofilter
Important
http://bugzilla.gnome.org/show_bug.cgi?id=123567 [1.0 file]
......@@ -22,18 +22,10 @@ Important
: loading in XL corrupts. xbat is being lost when xl modifies it ??
Likely some libgsf issue
When entering "ppp/qqq" into a cell with non-fractional format, do not
make it a fraction.
Consider adding "%" to entry text when typing a text with a percentage
format. (I.e., user has "44%" in cell and presses "5" -- that causes
"5%" to be shown the the cursor between "5" and "%".)
-------------------------------------------------------------------------------
Pending Patches
---------------
- SVG Markers : Jean Brefort : e-mail
- ReFreeze : John Gill : on list : 1.3 (UI change)
http://bugzilla.gnome.org/show_bug.cgi?id=84062
......@@ -196,7 +188,7 @@ Short Term Goals
1.11.2) Stacked (DONE)
1.11.3) Percentage (DONE)
1.11.4) sub type with no-marker by default
1.11.5) Check the X axis scaling
1.11.5) center points on X index values for Line
1.12) X/Y (Scatter) Plot
1.12.1) Add simple implementation (DONE)
1.12.2) Take marker sizes into account at bounds
......@@ -403,12 +395,16 @@ Short Term Goals
6.9.4) combos (DONE)
6.9.4.1) XL95 (DONE)
6.9.4.2) Escher (DONE)
6.10) hlink export
6.10) hlink export (97 only)
6.11) Comment import for XL97 (DONE)
6.12) Set operand classes
6.12.1) calc and set the classes (DONE)
6.12.2) check target_type of external func
6.12.3) check target type of range/intersect
6.13) images
6.13.1) Excel95
6.13.1) Excel97
6.14) chart export
14) Polish up Open and Save
14.1) merge open and import dialogs (DONE)
......@@ -587,6 +583,11 @@ Misc stuff that should be fixed
: We do not format fractional seconds correctly.
: Parsing should handle embedded strings
: It incorrectly accepts mmm:ss as some sort of minute spec.
: When entering "ppp/qqq" into a cell with non-fractional format, do not
make it a fraction.
: Consider adding "%" to entry text when typing a text with a percentage
format. (I.e., user has "44%" in cell and presses "5" -- that causes
"5%" to be shown the the cursor between "5" and "%".)
- let's add simple commands like inc/dec font size and things like that.
......
2003-10-08 Jody Goldberg <jody@gnome.org>
* Release 1.2.1
2003-10-07 Jody Goldberg <jody@gnome.org>
* src/graph.c (gnm_go_data_get_dep) : Its ok to have other GOData's.
......
2003-10-08 Jody Goldberg <jody@gnome.org>
* Release 1.2.1
2003-10-07 Jody Goldberg <jody@gnome.org>
* src/graph.c (gnm_go_data_get_dep) : Its ok to have other GOData's.
......
2003-10-08 Jody Goldberg <jody@gnome.org>
* Release 1.2.1
2003-10-07 Jody Goldberg <jody@gnome.org>
* src/graph.c (gnm_go_data_get_dep) : Its ok to have other GOData's.
......
2003-10-08 Jody Goldberg <jody@gnome.org>
* Release 1.2.1
2003-10-05 Adrian Custer <acuster@gnome.org>
* quick-start.xml: edit the graphing section.
......
2003-10-08 Jody Goldberg <jody@gnome.org>
* Release 1.2.1
2003-10-05 Jody Goldberg <jody@gnome.org>
* developer/writing-functions.sgml : document 'B' a scalar argument
that includes even blanks and errors.
2003-09-17 Jody Goldberg <jody@gnome.org>
* xmldocs.make : Make the magic sym link relative to keep rpm happy.
......
2003-10-08 Jody Goldberg <jody@gnome.org>
* Release 1.2.1
2003-09-15 Jody Goldberg <jody@gnome.org>
* Release 1.2.0
......
......@@ -11,7 +11,7 @@ Content
location : Cells contain pointers to their sheet, the row, and the column
that contains them. This may change.
value : A Value *. All displayable cells should have a value.
value : A GnmValue *. All displayable cells should have a value.
renderedvalue : A placeholder for future use.
......
......@@ -20,7 +20,7 @@ these describe single cells (ie. = A1) vs. regions (ie. = SUM (A1:Z500))
The range_hash and single_hash tables use DependencyRange and DependencySingle
to store lists of Dependents (not necessarily in this container) that depend
on things in the container. The range_hash table is hashed on the normalized
range, and the other hashes on the CellPos of the singleton. Sheet does not
range, and the other hashes on the GnmCellPos of the singleton. Sheet does not
come into play because it is implicit in the container.
DependencySingle stores stores the dependents that rely on individual
......
......@@ -34,7 +34,7 @@ to build upon the experience of and pitfalls of the Michael's work.
c) Specify the range:
Range range
GnmRange range
range.start.col = 0;
range.start.row = 0;
......
......@@ -14,9 +14,9 @@ a complete reference.
f : A floating point (double) value.
s : A string (char*)
b : A boolean
r : A Range eg. A1:A5 - See 'A'
r : A GnmRange eg. A1:A5 - See 'A'
a : An Array eg. {1,2,3;4,5,6} ( a 3x2 array ) - See 'A'
A : Either an Array or a Range: Use the
A : Either an Array or a GnmRange: Use the
value_area set of functions to simplify the code.
see expr.h.
? : Any type, the type must be checked from value->type.
......@@ -111,11 +111,11 @@ fibo)
You are now able to use you newly designed formula with:
=FIBO(number)
5. Using gnumeric Value implementation.
5. Using gnumeric GnmValue implementation.
The Guile plugin has support for gnumeric value implementation;
this is used by creating a new smob that adds
Value as new Guile data type.
GnmValue as new Guile data type.
-To create a new value the following set of functions:
......
......@@ -132,9 +132,9 @@ Here are the parameter tokens used in Gnumeric:
f : A floating point value.
s : A string.
b : A boolean.
r : A Range, e. g. A1:A5 - See 'A'
r : A GnmRange, e. g. A1:A5 - See 'A'
a : An Array e. g. {1,2,3;4,5,6} ( a 3x2 array ) - See 'A'
A : Either an Array or a Range.
A : Either an Array or a GnmRange.
? : Any type.
| : This designates that the arguments in the token string
following this character are optional.
......@@ -146,7 +146,7 @@ Python mapping of Gnumeric values.
----------------------------------
Function parameters and function results are passed across the C
interface to Gnumeric using the data structure Value, which is a
interface to Gnumeric using the data structure GnmValue, which is a
discriminated union. This table shows the mappings between the various
types of Gnumeric values and Python data types.
......
......@@ -73,7 +73,7 @@ ColRowInfo
int pixels
Cell
CellPos pos
GnmCellPos pos
StyleFormat *parse_format // The format used to parse the input text
------------ Summary : long list of items and their values -----------
......
......@@ -250,8 +250,9 @@ With intersection and iteration support
b : boolean identical to f, Do we need this ?
f : float no errors, string conversion attempted
s : string no errors
S : scalar any scalar non-error value
E : scalar including errors
S : scalar any scalar non-error, non blank value
E : scalar any scalar non blank value
B : scalar any scalar even a blank
Without intersection or iteration support
r : cell range content is _NOT_ guaranteed to have been evaluated yet
......
2003-10-08 Jody Goldberg <jody@gnome.org>
* Release 1.2.1
2003-09-15 Jody Goldberg <jody@gnome.org>
* Release 1.2.0
......
......@@ -171,7 +171,7 @@ applix_sheetref_parse (char const *start, Sheet **sheet, Workbook const *wb)
}
static char const *
applix_rangeref_parse (RangeRef *res, char const *start, ParsePos const *pp)
applix_rangeref_parse (GnmRangeRef *res, char const *start, ParsePos const *pp)
{
char const *ptr = start, *tmp1, *tmp2;
Workbook *wb = pp->wb;
......@@ -842,7 +842,7 @@ applix_parse_sheet (ApplixReadState *state, unsigned char **buffer,
static char *
applix_parse_cellref (ApplixReadState *state, unsigned char *buffer,
Sheet **sheet, CellPos *pos,
Sheet **sheet, GnmCellPos *pos,
char const separator)
{
*sheet = applix_parse_sheet (state, &buffer, separator);
......@@ -906,12 +906,12 @@ applix_read_view (ApplixReadState *state, unsigned char *buffer)
continue;
if (!a_strncmp (buffer, "View Top Left: ")) {
CellPos pos;
GnmCellPos pos;
if (applix_parse_cellref (state, buffer+15, &sheet, &pos, ':'))
sv_set_initial_top_left (sheet_get_view (sheet, state->wb_view),
pos.col, pos.row);
} else if (!a_strncmp (buffer, "View Open Cell: ")) {
CellPos pos;
GnmCellPos pos;
if (applix_parse_cellref (state, buffer+16, &sheet, &pos, ':'))
sv_selection_set (sheet_get_view (sheet, state->wb_view),
&pos, pos.col, pos.row, pos.col, pos.row);
......@@ -990,7 +990,7 @@ applix_read_cells (ApplixReadState *state)
Sheet *sheet;
MStyle *style;
Cell *cell;
CellPos pos;
GnmCellPos pos;
ParseError perr;
unsigned char content_type, *tmp, *ptr;
......@@ -1025,8 +1025,8 @@ applix_read_cells (ApplixReadState *state)
case '.' : { /* instance of a shared formula */
ParsePos pos;
GnmExpr const *expr;
Value *val = NULL;
Range r;
GnmValue *val = NULL;
GnmRange r;
char *expr_string;
ptr = applix_parse_value (ptr+2, &expr_string);
......@@ -1131,7 +1131,7 @@ applix_read_cells (ApplixReadState *state)
}
case ':' : { /* simple value */
Value *val = NULL;
GnmValue *val = NULL;
ptr += 2;
#if 0
......@@ -1162,7 +1162,7 @@ static int
applix_read_row_list (ApplixReadState *state, unsigned char *ptr)
{
unsigned char *tmp;
Range r;
GnmRange r;
Sheet *sheet = applix_parse_sheet (state, &ptr, ' ');
if (ptr == NULL)
......@@ -1242,7 +1242,7 @@ static gboolean
applix_read_absolute_name (ApplixReadState *state, char *buffer)
{
char *end;
RangeRef ref;
GnmRangeRef ref;
ParsePos pp;
GnmExpr const *expr;
......@@ -1274,7 +1274,7 @@ applix_read_relative_name (ApplixReadState *state, char *buffer)
{
int dummy;
char *end;
RangeRef ref, flag;
GnmRangeRef ref, flag;
ParsePos pp;
GnmExpr const *expr;
......@@ -1314,7 +1314,7 @@ static int
applix_read_impl (ApplixReadState *state)
{
Sheet *sheet;
CellPos pos;
GnmCellPos pos;
int ext_links = -1;
unsigned char *real_name = NULL;
char top_cell_addr[30] = "";
......
2003-10-08 Jody Goldberg <jody@gnome.org>
* Release 1.2.1
2003-09-18 Jody Goldberg <jody@gnome.org>
* Makefile.am : s/CLEANFILES/DISTCLEANFILES/ to ensure that the
......
2003-10-08 Jody Goldberg <jody@gnome.org>
* Release 1.2.1
2003-09-15 Jody Goldberg <jody@gnome.org>
* Release 1.2.0
......
......@@ -123,8 +123,8 @@ y[j] - b1) + 2 * rho * (y[i] - a1) * (y[j] - b1));
}
static Value *
cum_biv_norm_dist(FunctionEvalInfo *ei, Value *argv[])
static GnmValue *
cum_biv_norm_dist(FunctionEvalInfo *ei, GnmValue *argv[])
{
gnm_float a = value_get_as_float (argv[0]);
gnm_float b = value_get_as_float (argv[1]);
......@@ -182,8 +182,8 @@ opt_bs1 (OptionSide side,
}
static Value *
opt_bs (FunctionEvalInfo *ei, Value *argv[])
static GnmValue *
opt_bs (FunctionEvalInfo *ei, GnmValue *argv[])
{
OptionSide call_put = option_side (value_peek_string (argv[0]));
gnm_float s = value_get_as_float (argv[1]);
......@@ -247,8 +247,8 @@ opt_bs_delta1 (OptionSide side,
}
static Value *
opt_bs_delta (FunctionEvalInfo *ei, Value *argv[])
static GnmValue *
opt_bs_delta (FunctionEvalInfo *ei, GnmValue *argv[])
{
OptionSide call_put = option_side (value_peek_string (argv[0]));
gnm_float s = value_get_as_float (argv[1]);
......@@ -304,8 +304,8 @@ opt_bs_gamma1 (gnm_float s,gnm_float x,gnm_float t,gnm_float r,gnm_float v,gnm_f
}
static Value *
opt_bs_gamma (FunctionEvalInfo *ei, Value *argv[])
static GnmValue *
opt_bs_gamma (FunctionEvalInfo *ei, GnmValue *argv[])
{
gnm_float s = value_get_as_float (argv[0]);
gnm_float x = value_get_as_float (argv[1]);
......@@ -367,8 +367,8 @@ opt_bs_theta1 (OptionSide side,
}
}
static Value *
opt_bs_theta (FunctionEvalInfo *ei, Value *argv[])
static GnmValue *
opt_bs_theta (FunctionEvalInfo *ei, GnmValue *argv[])
{
OptionSide call_put = option_side (value_peek_string (argv[0]));
gnm_float s = value_get_as_float (argv[1]);
......@@ -424,8 +424,8 @@ opt_bs_vega1 (gnm_float s,gnm_float x,gnm_float t,gnm_float r,gnm_float v,gnm_fl
return (s * expgnum ((b - r) * t) * n_d (d1) * sqrtgnum (t));
}
static Value *
opt_bs_vega (FunctionEvalInfo *ei, Value *argv[])
static GnmValue *
opt_bs_vega (FunctionEvalInfo *ei, GnmValue *argv[])
{
gnm_float s = value_get_as_float (argv[0]);
gnm_float x = value_get_as_float (argv[1]);
......@@ -491,8 +491,8 @@ opt_bs_rho1 (OptionSide side, gnm_float s, gnm_float x, gnm_float t, gnm_float r
}
static Value *
opt_bs_rho (FunctionEvalInfo *ei, Value *argv[])
static GnmValue *
opt_bs_rho (FunctionEvalInfo *ei, GnmValue *argv[])
{
OptionSide call_put = option_side (value_peek_string (argv[0]));
gnm_float s = value_get_as_float (argv[1]);
......@@ -554,8 +554,8 @@ opt_bs_carrycost1 (OptionSide side, gnm_float s, gnm_float x, gnm_float t, gnm_f
}
}
static Value *
opt_bs_carrycost (FunctionEvalInfo *ei, Value *argv[])
static GnmValue *
opt_bs_carrycost (FunctionEvalInfo *ei, GnmValue *argv[])
{
OptionSide call_put = option_side (value_peek_string (argv[0]));
gnm_float s = value_get_as_float (argv[1]);
......@@ -622,8 +622,8 @@ opt_garman_kohlhagen1 (OptionSide side,
}
}
static Value *
opt_garman_kohlhagen (FunctionEvalInfo *ei, Value *argv[])
static GnmValue *
opt_garman_kohlhagen (FunctionEvalInfo *ei, GnmValue *argv[])
{
OptionSide call_put = option_side (value_peek_string (argv[0]));
gnm_float s = value_get_as_float (argv[1]);
......@@ -690,8 +690,8 @@ opt_french1 (OptionSide side, gnm_float s, gnm_float x, gnm_float t, gnm_float
}
static Value *
opt_french (FunctionEvalInfo *ei, Value *argv[])
static GnmValue *
opt_french (FunctionEvalInfo *ei, GnmValue *argv[])
{
OptionSide call_put = option_side (value_peek_string (argv[0]));
gnm_float s = value_get_as_float (argv[1]);
......@@ -758,8 +758,8 @@ opt_jump_diff1 (OptionSide side, gnm_float s, gnm_float x, gnm_float t, gnm_floa
return sum;
}
static Value *
opt_jump_diff (FunctionEvalInfo *ei, Value *argv[])
static GnmValue *
opt_jump_diff (FunctionEvalInfo *ei, GnmValue *argv[])
{
OptionSide call_put = option_side (value_peek_string (argv[0]));
gnm_float s = value_get_as_float (argv[1]);
......@@ -841,8 +841,8 @@ opt_miltersen_schwartz1 (OptionSide side, gnm_float p_t, gnm_float f_t, gnm_floa
}
}
static Value *
opt_miltersen_schwartz (FunctionEvalInfo *ei, Value *argv[])
static GnmValue *
opt_miltersen_schwartz (FunctionEvalInfo *ei, GnmValue *argv[])
{
OptionSide call_put = option_side (value_peek_string (argv[0]));
gnm_float p_t = value_get_as_float (argv[1]);
......@@ -961,8 +961,8 @@ static gnm_float opt_rgw1 (gnm_float s, gnm_float x, gnm_float t1, gnm_float t2,
}
static Value *
opt_rgw(FunctionEvalInfo *ei, Value *argv[])
static GnmValue *
opt_rgw(FunctionEvalInfo *ei, GnmValue *argv[])
{
gnm_float s = value_get_as_float (argv[0]);
gnm_float x = value_get_as_float (argv[1]);
......@@ -1003,8 +1003,8 @@ static char const *help_opt_rgw = {
};
/* the Barone-Adesi and Whaley (1987) American approximation */
static Value *
opt_BAW_amer (FunctionEvalInfo *ei, Value *argv[])
static GnmValue *
opt_BAW_amer (FunctionEvalInfo *ei, GnmValue *argv[])
{
OptionSide call_put = option_side (value_peek_string (argv[0]));
gnm_float s = value_get_as_float (argv[1]);
......@@ -1199,8 +1199,8 @@ opt_bjerStens1 (OptionSide side, gnm_float s, gnm_float x, gnm_float t, gnm_floa
}
}
static Value *
opt_bjerStens (FunctionEvalInfo *ei, Value *argv[])
static GnmValue *
opt_bjerStens (FunctionEvalInfo *ei, GnmValue *argv[])
{
OptionSide call_put = option_side (value_peek_string (argv[0]));
gnm_float s = value_get_as_float (argv[1]);
......@@ -1282,8 +1282,8 @@ phi (gnm_float s, gnm_float t, gnm_float gamma, gnm_float H, gnm_float I, gnm_fl
/* Executive stock options */
static Value *
opt_exec (FunctionEvalInfo *ei, Value *argv[])
static GnmValue *
opt_exec (FunctionEvalInfo *ei, GnmValue *argv[])
{
OptionSide call_put = option_side (value_peek_string (argv[0]));
gnm_float s = value_get_as_float (argv[1]);
......@@ -1329,8 +1329,8 @@ static char const *help_opt_exec = {
/* Forward start options */
static Value *
opt_forward_start(FunctionEvalInfo *ei, Value *argv[])
static GnmValue *
opt_forward_start(FunctionEvalInfo *ei, GnmValue *argv[])
{
OptionSide call_put = option_side (value_peek_string (argv[0]));
gnm_float s = value_get_as_float (argv[1]);
......@@ -1374,8 +1374,8 @@ static char const *help_opt_forward_start = {
/* time switch options (discrete) */
static Value *
opt_time_switch (FunctionEvalInfo *ei, Value *argv[])
static GnmValue *
opt_time_switch (FunctionEvalInfo *ei, GnmValue *argv[])
{
OptionSide call_put = option_side (value_peek_string (argv[0]));
gnm_float s = value_get_as_float (argv[1]);
......@@ -1441,8 +1441,8 @@ static char const *help_opt_time_switch = {
/* simple chooser options */
static Value *
opt_simple_chooser(FunctionEvalInfo *ei, Value *argv[])
static GnmValue *
opt_simple_chooser(FunctionEvalInfo *ei, GnmValue *argv[])
{
gnm_float s = value_get_as_float (argv[0]);
......@@ -1493,8 +1493,8 @@ static char const *help_opt_simple_chooser = {
/* Complex chooser options */
static Value *
opt_complex_chooser(FunctionEvalInfo *ei, Value *argv[])
static GnmValue *
opt_complex_chooser(FunctionEvalInfo *ei, GnmValue *argv[])
{
gnm_float s = value_get_as_float (argv[0]);
......@@ -1592,8 +1592,8 @@ opt_crit_val_chooser (gnm_float s,gnm_float xc,gnm_float xp,gnm_float t,
/* Options on options */
static Value *
opt_on_options (FunctionEvalInfo *ei, Value *argv[])
static GnmValue *
opt_on_options (FunctionEvalInfo *ei, GnmValue *argv[])
{
char *type_flag = value_get_as_string (argv[0]);
gnm_float s = value_get_as_float (argv[1]);
......@@ -1691,8 +1691,8 @@ CriticalValueOptionsOnOptions (OptionSide side, gnm_float x1, gnm_float x2, gnm_
}
/* Writer extendible options */
static Value *
opt_extendible_writer (FunctionEvalInfo *ei, Value *argv[])
static GnmValue *
opt_extendible_writer (FunctionEvalInfo *ei, GnmValue *argv[])
{
OptionSide call_put = option_side (value_peek_string (argv[0]));
gnm_float s = value_get_as_float (argv[1]);
......
2003-10-08 Jody Goldberg <jody@gnome.org>
* Release 1.2.1
2003-09-15 Jody Goldberg <jody@gnome.org>
* Release 1.2.0
......
......@@ -277,7 +277,7 @@ dif_file_save (GnmFileSaver const *fs, IOContext *io_context,
WorkbookView const *wbv, GsfOutput *output)
{
Sheet *sheet;
Range r;
GnmRange r;