Commit 61859acd authored by Jody Goldberg's avatar Jody Goldberg Committed by Jody Goldberg

new util. (xl_get_op_class) : wrapper to help calculate the result class.

2003-09-21  Jody Goldberg <jody@gnome.org>

	* ms-formula-write.c (xl_map_char_to_type) : new util.
	(xl_get_op_class) : wrapper to help calculate the result class.
	(write_cellref_v7) : handle operand classes.
	(write_cellref_v8) : handle operand classes.
	(excel_formula_write_CELLREF) : ditto and operator mapping.
	(excel_formula_write_AREA) : ditto.
	(write_funcall) : ditto.
	(excel_formula_write_NAME_v8) : ditto.
	(excel_formula_write_NAME_v7) : ditto.
	(write_node) : ditto.
	(excel_write_formula) : collect more information on the calling context

2003-09-18  Jody Goldberg <jody@gnome.org>

	* ms-escher.c (excel_write_MS_O_DRAWING_GROUP) : Add UserDefined to
	  silence some warnings.

2003-09-16  Jody Goldberg <jody@gnome.org>

	* ms-formula-write.c : push all the 'shared' arguments into the
	  PolishData that we're passing around anyway.

	* ms-formula-write.c (excel_write_prep_expr) : register functions that
	  exist only in arrays too.

	* ms-excel-util.c (init_xl_font_widths) : add Albany
2003-09-20  Jody Goldberg <jody@gnome.org>

	* graph/plugins/plot_barcol/gog-1.5d.c (gog_plot1_5d_axis_bounds) :
	  only valid series can contribute to an index dimension.
	* graph/plugins/plot_xy/gog-xy.c (gog_xy_plot_axis_bounds) : ditto.

	* graph/gog-renderer-gnome-print.c (get_font) : respect zoom.

	* graph/gog-style.c (font_init) : set the font _before_ connecting the
	  signal. doh!


2003-09-18  Jody Goldberg <jody@gnome.org>

	* src/gui-util.c (cb_free_keyed_dialog_context) : remove the
	  unnecessary precondition.  If we're being called during wbcg::finalize
	  then the data is already gone.
parent 247cd1b6
......@@ -99,8 +99,10 @@ Short Term Goals
1.7.6) Avoid leaking GODatas when faced with an unknown (DONE)
plot type.
1.7.7) double axis import on simple_bar2
1.7.8) Axis bounds
1.7.8) Axis bounds and ticks size
1.7.9) log scale
1.7.10) Titles
1.7.11) check marker none
1.8) data sources
1.8.1) vector and scalar data sources from gnumeric (DONE)
1.8.2) Add min/max elements to vector (DONE)
......@@ -240,9 +242,10 @@ Short Term Goals
1.25.6) gradient filled polygons (DONE)
1.25.7) measure text (DONE)
1.25.8) draw text (DONE)
1.25.9) why doesn't text appear in preview
1.25.10) why is font selection bogus
1.25.11) text anchors
1.25.9) why doesn't text appear in preview (DONE)
1.25.10) why is font selection bogus (DONE)
1.25.11) text anchors (DONE)
1.25.12) Check the zoom handling for fonts
1.26) Move 'use_one_style' from pie -> plot with 1 series (DONE)
1.27) Add a flag to gobject to go with its role indicating (DONE)
whether the instance was autocreated or assigned.
......@@ -254,6 +257,11 @@ Short Term Goals
1.30.3) Add or remove it depending on chart axis set (DONE)
1.30.4) Render background (DONE)
1.30.5) Draw grid lines when appropriate
1.31) SVG Render
1.31.1) Gradients
1.31.2) Text
1.32) Radar plots
1.31.1) Basic looks trivial
questions
- how to select a single point for formating ?
......@@ -298,7 +306,7 @@ Short Term Goals
3) hlinks
3.1) Finish the edit dialog to load and store results (DONE)
3.2) Figure out import semantics of the other 2 XL types
3.3) email support ? via system 'evoltion mailto:....'
3.3) email support ? via system 'evolution mailto:....'
6) XL
6.1) biff7 externsheet records in charts (DONE)
......@@ -322,6 +330,10 @@ Short Term Goals
6.9.4.2) Escher (DONE)
6.10) hlink export
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
14) Polish up Open and Save
14.1) merge open and import dialogs (DONE)
......
2003-09-18 Jody Goldberg <jody@gnome.org>
* src/gui-util.c (cb_free_keyed_dialog_context) : remove the
unnecessary precondition. If we're being called during wbcg::finalize
then the data is already gone.
2003-09-16 Jody Goldberg <jody@gnome.org>
* src/expr.c (do_expr_as_string) : fill in ParsePos::sheet too so that
......
......@@ -12,6 +12,11 @@ Jody:
* Don't pad zero sized children.
* Correctly show unqualified sheet local names in array exprs
* Add 'Albany' to excel plugin's font table
* Chart printing now respects scaling
* Fix crash with partial bar/col/line/area/xy series
* Patch warning when quiting with an keyed dialog
* Fix xls export of operand classes
* Minor pacakging bug in corba plugin
Morten:
* Invalid memory read in marker combo.
......
2003-09-18 Jody Goldberg <jody@gnome.org>
* src/gui-util.c (cb_free_keyed_dialog_context) : remove the
unnecessary precondition. If we're being called during wbcg::finalize
then the data is already gone.
2003-09-16 Jody Goldberg <jody@gnome.org>
* src/expr.c (do_expr_as_string) : fill in ParsePos::sheet too so that
......
2003-09-18 Jody Goldberg <jody@gnome.org>
* src/gui-util.c (cb_free_keyed_dialog_context) : remove the
unnecessary precondition. If we're being called during wbcg::finalize
then the data is already gone.
2003-09-16 Jody Goldberg <jody@gnome.org>
* src/expr.c (do_expr_as_string) : fill in ParsePos::sheet too so that
......
2003-09-18 Jody Goldberg <jody@gnome.org>
* Makefile.am : s/CLEANFILES/DISTCLEANFILES/ to ensure that the
generated source does not go into the tarball.
2003-09-15 Jody Goldberg <jody@gnome.org>
* Release 1.2.0
......
......@@ -39,5 +39,5 @@ DISTCLEANFILES = $(GNUMERIC_GENERATED) stamp_Gnumeric_idl $(xml_DATA)
EXTRA_DIST = $(idl_DATA) $(xml_in_files)
dist-hook :
cd $(distdir) && rm -f $(CLEANFILES)
cd $(distdir) && rm -f $(DISTCLEANFILES)
2003-09-21 Jody Goldberg <jody@gnome.org>
* ms-formula-write.c (xl_map_char_to_type) : new util.
(xl_get_op_class) : wrapper to help calculate the result class.
(write_cellref_v7) : handle operand classes.
(write_cellref_v8) : handle operand classes.
(excel_formula_write_CELLREF) : ditto and operator mapping.
(excel_formula_write_AREA) : ditto.
(write_funcall) : ditto.
(excel_formula_write_NAME_v8) : ditto.
(excel_formula_write_NAME_v7) : ditto.
(write_node) : ditto.
(excel_write_formula) : collect more information on the calling context
2003-09-18 Jody Goldberg <jody@gnome.org>
* ms-escher.c (excel_write_MS_O_DRAWING_GROUP) : Add UserDefined to
silence some warnings.
2003-09-16 Jody Goldberg <jody@gnome.org>
* ms-formula-write.c : push all the 'shared' arguments into the
PolishData that we're passing around anyway.
* ms-formula-write.c (excel_write_prep_expr) : register functions that
exist only in arrays too.
* ms-excel-util.c (init_xl_font_widths) : add Albany
2003-09-15 Jody Goldberg <jody@gnome.org>
......
......@@ -59,8 +59,6 @@ gint ms_excel_write_debug = 0;
/* Enables debugging mesgs while reading excel objects */
gint ms_excel_object_debug = 0;
MsExcelReadGbFn ms_excel_read_gb = NULL;
gboolean excel_file_probe (GnmFileOpener const *fo, GsfInput *input, FileProbeLevel pl);
void excel_file_open (GnmFileOpener const *fo, IOContext *context, WorkbookView *wbv, GsfInput *input);
void excel_biff7_file_save (GnmFileSaver const *fs, IOContext *context, WorkbookView const *wbv, GsfOutput *output);
......
......@@ -15,38 +15,39 @@
* MS use similar names with 'msofbt' prefix.
**/
#define DggContainer 0xf000 /* Drawing Group Container */
#define Dgg 0xf006
#define CLSID 0xf016
#define OPT 0xf00b
#define ColorMRU 0xf11a
#define SplitMenuColors 0xf11e
#define BStoreContainer 0xf001
#define BSE 0xf007
#define Blip_START 0xf018 /* Blip types are between */
#define Blip_END 0xf117 /* these two values */
#define DgContainer 0xf002 /* Drawing Container */
#define Dg 0xf008
#define RegroupItems 0xf118
#define ColorScheme 0xf120 /* bug in docs */
#define SpgrContainer 0xf003
#define SpContainer 0xf004
#define Spgr 0xf009
#define Sp 0xf00a
#define Textbox 0xf00c
#define ClientTextbox 0xf00d
#define Anchor 0xf00e
#define ChildAnchor 0xf00f
#define ClientAnchor 0xf010
#define ClientData 0xf011
#define OleObject 0xf11f
#define DeletedPspl 0xf11d /* bug in docs */
#define SolverContainer 0xf005
#define ConnectorRule 0xf012 /* bug in docs */
#define AlignRule 0xf013
#define ArcRule 0xf014
#define ClientRule 0xf015
#define CalloutRule 0xf017
#define Selection 0xf119
#define DggContainer 0xf000 /* Drawing Group Container */
#define Dgg 0xf006
#define CLSID 0xf016
#define OPT 0xf00b
#define BStoreContainer 0xf001
#define BSE 0xf007
#define Blip_START 0xf018 /* Blip types are between */
#define Blip_END 0xf117 /* these two values */
#define DgContainer 0xf002 /* Drawing Container */
#define Dg 0xf008
#define RegroupItems 0xf118
#define ColorScheme 0xf120 /* bug in docs */
#define SpgrContainer 0xf003
#define SpContainer 0xf004
#define Spgr 0xf009
#define Sp 0xf00a
#define Textbox 0xf00c
#define ClientTextbox 0xf00d
#define Anchor 0xf00e
#define ChildAnchor 0xf00f
#define ClientAnchor 0xf010
#define ClientData 0xf011
#define SolverContainer 0xf005
#define ConnectorRule 0xf012 /* bug in docs */
#define AlignRule 0xf013
#define ArcRule 0xf014
#define ClientRule 0xf015
#define CalloutRule 0xf017
#define Selection 0xf119
#define ColorMRU 0xf11a
#define DeletedPspl 0xf11d /* bug in docs */
#define SplitMenuColors 0xf11e
#define OleObject 0xf11f
#define UserDefined 0xf122
#endif
......@@ -33,18 +33,6 @@ extern ExcelPaletteEntry const excel_default_palette[];
extern char const *excel_builtin_formats[];
#define EXCEL_BUILTIN_FORMAT_LEN 0x32
typedef struct {
char const *name;
int num_args ; /* -1 for multi-arg */
/* -2 for unknown args */
} MsFormulaFuncData;
extern MsFormulaFuncData const formula_func_data[];
#define FORMULA_FUNC_DATA_LEN 368
#define ROW_BLOCK_MAX_LEN 32
typedef gboolean (*MsExcelReadGbFn) (IOContext *context, Workbook *wb, GsfInput *input);
extern MsExcelReadGbFn ms_excel_read_gb;
#endif /* GNUMERIC_EXCEL_H */
......@@ -12,9 +12,6 @@
/**
* See S59E2B.HTM for the spec.
**/
#define FORMULA_PTG_MAX 0x7f
#define FORMULA_PTG_EXPR 0x01
#define FORMULA_PTG_TBL 0x02
#define FORMULA_PTG_ADD 0x03
......@@ -46,40 +43,58 @@
#define FORMULA_PTG_BOOL 0x1D
#define FORMULA_PTG_INT 0x1E
#define FORMULA_PTG_NUM 0x1F /* 8 byte IEEE floating point number */
#define FORMULA_PTG_ARRAY 0x20
#define FORMULA_PTG_FUNC 0x21
#define FORMULA_PTG_FUNC_VAR 0x22
#define FORMULA_PTG_NAME 0x23
#define FORMULA_PTG_REF 0x24
#define FORMULA_PTG_AREA 0x25
#define FORMULA_PTG_MEM_AREA 0x26
#define FORMULA_PTG_MEM_ERR 0x27
#define FORMULA_PTG_MEM_NO_MEM 0x28
#define FORMULA_PTG_MEM_FUNC 0x29
#define FORMULA_PTG_REF_ERR 0x2A
#define FORMULA_PTG_AREA_ERR 0x2B
#define FORMULA_PTG_REFN 0x2C
#define FORMULA_PTG_AREAN 0x2D
#define FORMULA_PTG_MEM_AREAN 0x2E
#define FORMULA_PTG_NO_MEMN 0x2F
/* classed V alue, A rray, R reference */
#define FORMULA_PTG_ARRAY 0x20 /* A */
#define FORMULA_PTG_FUNC 0x21 /* depends on func */
#define FORMULA_PTG_FUNC_VAR 0x22 /* depends on func */
#define FORMULA_PTG_NAME 0x23 /* R */
#define FORMULA_PTG_REF 0x24 /* R + mapping */
#define FORMULA_PTG_AREA 0x25 /* R + mapping */
#define FORMULA_PTG_MEM_AREA 0x26 /* R + mapping */
#define FORMULA_PTG_MEM_ERR 0x27 /* R */
#define FORMULA_PTG_MEM_NO_MEM 0x28 /* R + mapping */
#define FORMULA_PTG_MEM_FUNC 0x29 /* R */
#define FORMULA_PTG_REF_ERR 0x2A /* R */
#define FORMULA_PTG_AREA_ERR 0x2B /* R */
#define FORMULA_PTG_REFN 0x2C /* R, shared, conditional, validation, and for biff2-4 names */
#define FORMULA_PTG_AREAN 0x2D /* R, shared, conditional, validation, and for biff2-4 names */
#define FORMULA_PTG_MEM_AREAN 0x2E /* R */
#define FORMULA_PTG_NO_MEMN 0x2F /* R */
/* nothing documented */
#define FORMULA_PTG_NAME_X 0x39
#define FORMULA_PTG_REF_3D 0x3A
#define FORMULA_PTG_AREA_3D 0x3B
#define FORMULA_PTG_REF_ERR_3D 0x3C
#define FORMULA_PTG_AREA_ERR_3D 0x3D
#define FORMULA_PTG_FUNC_CE 0x38 /* macro */
#define FORMULA_PTG_NAME_X 0x39 /* R */
#define FORMULA_PTG_REF_3D 0x3A /* R */
#define FORMULA_PTG_AREA_3D 0x3B /* R */
#define FORMULA_PTG_REF_ERR_3D 0x3C /* R */
#define FORMULA_PTG_AREA_ERR_3D 0x3D /* R */
#define FORMULA_PTG_MAX 0x7f
typedef enum {
/* To catch the magic extension entry */
XL_MAGIC = 1 << 0,
/* fixed and vararg are opposites, be verbose for clarity */
XL_FIXED = 1 << 1,
XL_VARARG = 1 << 2,
XL_VOLATILE = 1 << 3,
XL_XLM = 1 << 4,
XL_UNKNOWN = 1 << 5
} ExcelFuncFlag;
#define FORMULA_PTG_FUNC_CEV 0x58
typedef struct {
char const *name;
ExcelFuncFlag flags;
guint8 num_known_args;
/*
* Classes of Formulae Values
* These apply mainly to references and arrays
* Ignore for:
* operators
* simple values (integer, string ... ) [ string ? ]
*/
#define FORMULA_CLASS_REF 0x00
#define FORMULA_CLASS_VALUE 0x20
#define FORMULA_CLASS_ARRAY 0x40
/* Use chars instead of XLOpType because that is easier to read
* and I am too lazy to make the massive edit it would take to
* change it. */
char type;
char const *known_args;
} ExcelFuncDesc;
extern ExcelFuncDesc const excel_func_desc[];
extern int excel_func_desc_size;
#endif
#endif /* GNUMERIC_EXCEL_FORMULA_TYPES_H */
......@@ -768,6 +768,11 @@ ms_escher_read_Selection (MSEscherState *state, MSEscherHeader *h)
return FALSE;
}
static gboolean
ms_escher_read_UserDefined (MSEscherState *state, MSEscherHeader *h)
{
return FALSE;
}
static gboolean
ms_escher_read_Dg (MSEscherState *state, MSEscherHeader *h)
{
#if 0
......@@ -1891,6 +1896,7 @@ ms_escher_read_container (MSEscherState *state, MSEscherHeader *container,
case EshRecord(ClientRule);
case EshRecord(CalloutRule);
case EshRecord(Selection);
case EshRecord(UserDefined);
default : fbt_name = NULL;
};
#undef EshRecord
......
......@@ -741,7 +741,8 @@ excel_write_DV (ValInputPair const *vip, gpointer dummy, ExcelWriteSheet *esheet
if (vip->v != NULL && vip->v->expr[0] != NULL) {
unsigned pos = bp->curpos;
guint16 len = excel_write_formula (esheet->ewb,
vip->v->expr[0], esheet->gnum_sheet, col, row, TRUE);
vip->v->expr[0], esheet->gnum_sheet, col, row,
EXCEL_CALLED_FROM_VALIDATION);
unsigned end_pos = bp->curpos;
ms_biff_put_var_seekto (bp, pos-4);
GSF_LE_SET_GUINT16 (data, len);
......@@ -755,7 +756,8 @@ excel_write_DV (ValInputPair const *vip, gpointer dummy, ExcelWriteSheet *esheet
if (vip->v != NULL && vip->v->expr[1] != NULL) {
unsigned pos = bp->curpos;
guint16 len = excel_write_formula (esheet->ewb,
vip->v->expr[1], esheet->gnum_sheet, col, row, TRUE);
vip->v->expr[1], esheet->gnum_sheet, col, row,
EXCEL_CALLED_FROM_VALIDATION);
unsigned end_pos = bp->curpos;
ms_biff_put_var_seekto (bp, pos-4);
GSF_LE_SET_GUINT16 (data, len);
......@@ -931,7 +933,7 @@ excel_write_NAME (G_GNUC_UNUSED gpointer key,
if (!expr_name_is_placeholder (nexpr)) {
guint16 expr_len = excel_write_formula (ewb, nexpr->expr,
nexpr->pos.sheet, 0, 0, TRUE);
nexpr->pos.sheet, 0, 0, EXCEL_CALLED_FROM_NAME);
ms_biff_put_var_seekto (ewb->bp, 4);
GSF_LE_SET_GUINT16 (data, expr_len);
ms_biff_put_var_write (ewb->bp, data, 2);
......@@ -2559,7 +2561,7 @@ excel_write_FORMULA (ExcelWriteState *ewb, ExcelWriteSheet *esheet, Cell const *
GSF_LE_SET_GUINT16 (data + 20, 0x0); /* bogus len, fill in later */
ms_biff_put_var_write (ewb->bp, data, 22);
len = excel_write_formula (ewb, expr, esheet->gnum_sheet,
col, row, FALSE); /* unshared for now */
col, row, EXCEL_CALLED_FROM_CELL); /* unshared for now */
ms_biff_put_var_seekto (ewb->bp, 20);
GSF_LE_SET_GUINT16 (lendat, len);
......@@ -2579,7 +2581,7 @@ excel_write_FORMULA (ExcelWriteState *ewb, ExcelWriteSheet *esheet, Cell const *
GSF_LE_SET_GUINT16 (data+12, 0); /* bogus len, fill in later */
ms_biff_put_var_write (ewb->bp, data, 14);
len = excel_write_formula (ewb, expr->array.corner.expr,
esheet->gnum_sheet, col, row, TRUE);
esheet->gnum_sheet, col, row, EXCEL_CALLED_FROM_ARRAY);
ms_biff_put_var_seekto (ewb->bp, 12);
GSF_LE_SET_GUINT16 (lendat, len);
......
This diff is collapsed.
......@@ -16,10 +16,10 @@
GnmExpr const *
excel_parse_formula (MSContainer const *container,
ExcelReadSheet const *esheet,
int fn_col, int fn_row,
guint8 const *mem, guint16 length,
gboolean shared,
gboolean *array_element);
ExcelReadSheet const *esheet,
int fn_col, int fn_row,
guint8 const *mem, guint16 length,
gboolean shared,
gboolean *array_element);
#endif
This diff is collapsed.
......@@ -6,19 +6,26 @@
* Jody Goldberg (jody@gnome.org)
*
* (C) 1998-2001 Michael Meeks
* 2002 Jody Goldberg
* 2002-2003 Jody Goldberg
*/
#ifndef GNUMERIC_MS_FORMULA_W_H
#define GNUMERIC_MS_FORMULA_W_H
#ifndef GNUMERIC_MS_FORMULA_WRITE_H
#define GNUMERIC_MS_FORMULA_WRITE_H
#include <gnumeric.h>
#include "ms-excel-write.h"
#include "ms-biff.h"
#include "formula-types.h"
#include "excel.h"
typedef enum {
EXCEL_CALLED_FROM_CELL,
EXCEL_CALLED_FROM_ARRAY,
EXCEL_CALLED_FROM_SHARED,
EXCEL_CALLED_FROM_CONDITION,
EXCEL_CALLED_FROM_VALIDATION,
EXCEL_CALLED_FROM_NAME
} ExcelFuncContext;
guint32 excel_write_formula (ExcelWriteState *ewb, GnmExpr const *expr,
Sheet *sheet, int fn_col, int fn_row,
gboolean shared);
ExcelFuncContext context);
void excel_write_prep_expressions (ExcelWriteState *ewb);
void excel_write_prep_expr (ExcelWriteState *ewb, GnmExpr const *expr);
......
......@@ -893,6 +893,8 @@ oo_conventions (void)
res->unknown_function_handler = gnm_func_placeholder_factory;
res->ref_parser = oo_rangeref_parse;
#warning TODO : OO adds a 'mode' parm to floor/ceiling
#warning TODO : OO missing 'A1' parm for address
res->function_rewriter_hash =
g_hash_table_new (g_str_hash, g_str_equal);
g_hash_table_insert (res->function_rewriter_hash,
......
2003-09-20 Jody Goldberg <jody@gnome.org>
* graph/plugins/plot_barcol/gog-1.5d.c (gog_plot1_5d_axis_bounds) :
only valid series can contribute to an index dimension.
* graph/plugins/plot_xy/gog-xy.c (gog_xy_plot_axis_bounds) : ditto.
* graph/gog-renderer-gnome-print.c (get_font) : respect zoom.
* graph/gog-style.c (font_init) : set the font _before_ connecting the
signal. doh!
2003-09-16 Jody Goldberg <jody@gnome.org>
* graph/gog-theme.c (gog_themes_init) : change the default theme for
......
......@@ -101,7 +101,7 @@ get_font (GogRendererGnomePrint *prend, GOFont const *gf)
pango_font_description_get_family (desc),
pango_font_description_get_weight (desc) >= PANGO_WEIGHT_BOLD ? GNOME_FONT_BOLD : GNOME_FONT_REGULAR,
pango_font_description_get_style (desc) != PANGO_STYLE_NORMAL,
pango_font_description_get_size (desc) / PANGO_SCALE);
prend->base.zoom * pango_font_description_get_size (desc) / PANGO_SCALE);
g_ptr_array_index (prend->fonts, gf->font_index) = res;
}
......
......@@ -850,10 +850,10 @@ font_init (StylePrefState *state, GogStyle const *style, guint32 enable, GtkWidg
g_return_if_fail (GTK_NOTEBOOK (optional_notebook) != NULL);
w = font_selector_new ();
font_selector_set_from_pango (FONT_SELECTOR (w), style->font.font->desc);
g_signal_connect (G_OBJECT (w),
"font_changed",
G_CALLBACK (cb_font_changed), state);
font_selector_set_from_pango (FONT_SELECTOR (w), style->font.font->desc);
gtk_notebook_prepend_page (GTK_NOTEBOOK (optional_notebook), w,
gtk_label_new (_("Font")));
gtk_widget_show (w);
......
......@@ -204,14 +204,18 @@ gog_plot1_5d_axis_bounds (GogPlot *plot, GogAxisType axis,
}
return NULL;
} else if (axis == gog_axis_get_atype (gog_plot1_5d_get_index_axis (model))) {
GSList *ptr;
*min = 0;
*max = model->num_elements;
*logical_min = 0;
*logical_max = gnm_nan;
*is_discrete = TRUE;
if (plot->series == NULL)
return NULL;
return GOG_SERIES (plot->series->data)->values[0].data;
for (ptr = plot->series; ptr != NULL ; ptr = ptr->next)
if (gog_series_is_valid (GOG_SERIES (ptr->data)))
return GOG_SERIES (ptr->data)->values[0].data;
return NULL;
}
g_warning ("not reached");
......
......@@ -144,15 +144,18 @@ gog_xy_plot_axis_bounds (GogPlot *plot, GogAxisType axis,
GogXYPlot *model = GOG_XY_PLOT (plot);
if (axis == GOG_AXIS_X) {
GSList *ptr;
*minima = model->x.minimum;
*maxima = model->x.maximum;
*is_discrete = model->x.minimum > model->x.maximum ||
!finite (model->x.minimum) ||
!finite (model->x.maximum);
if (plot->series == NULL)
return NULL;
return GOG_SERIES (plot->series->data)->values[0].data;
for (ptr = plot->series; ptr != NULL ; ptr = ptr->next)
if (gog_series_is_valid (GOG_SERIES (ptr->data)))
return GOG_SERIES (ptr->data)->values[0].data;
return NULL;
}
if (axis == GOG_AXIS_Y) {
......
......@@ -428,7 +428,6 @@ cb_free_keyed_dialog_context (KeyedDialogContext *ctxt)
return;
ctxt->freed = TRUE;
g_return_if_fail (g_object_get_data (G_OBJECT (ctxt->wbcg), ctxt->key));
/*
* One of these causes a recursive call which will do nothing due to
* ->freed.
......
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