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

http://bugzilla.gnome.org/show_bug.cgi?id=126389 dirty the sheet.

2003-11-06  Jody Goldberg <jody@gnome.org>

	http://bugzilla.gnome.org/show_bug.cgi?id=126389
	* src/commands.c (cmd_format_redo) : dirty the sheet.

2003-11-05  Jody Goldberg <jody@gnome.org>

	* src/workbook-control-gui.c : ditto.
	* src/GNOME_Gnumeric.xml : Enable select inputs

2003-11-11  Jody Goldberg <jody@gnome.org>

	* utils/go-pattern.c (go_pattern_selector) : add auto support.

	* utils/go-marker.c : move the default handling where it belongs.

	* utils/go-color.c (go_color_to_gdk) : new.

	* graph/plugins/plot_barcol/plot-types.xml.in : include non-marker
	  variants.
	* graph/plugins/plot_xy/plot-types.xml.in : include non-marker, and
	 barcol non-line variants.

	* graph/gog-theme.c : respect the auto flags here.

	* graph/gog-styled-object.c (gog_styled_object_apply_theme) : new.
	(gog_styled_object_set_property) : Use it here.
	(gog_styled_object_parent_changed) : and here.
	(gog_styled_object_editor) : provide a default impl.
	(gog_styled_object_get_auto_style) : new.

	* graph/gog-style.c :
	    - Add support for auto* flags for the marker here, not GoMarker.
	    - Support restoring auto for shapes and colours

	* graph/gog-series.c (gog_series_init_style) : new.  Gives us finer
	  control of what is themable.

	* graph/gog-guru.c : Simplify our lives and only have 1 prop sheet at
	  any given time.  No need to worry about updating when something
	  changes externally (styles or dimensions)

	* graph/gog-chart.c : Use the default editor and init_style
	* graph/gog-graph.c : ditto

	* graph/gog-axis.c : convert from ::interesting_fields -> ::init_style
	* graph/gog-grid.c : ditto.
	* graph/gog-label.c : ditto.
	* graph/gog-legend.c : ditto.
parent 5af28eae
To report Gnumeric bugs, please visit bugzilla.gnome.org.
To report Gnumeric bugs, please visit bugzilla.gnome.org.
This file is used as a scratch pad by developers. It is a list of known
This file is used as a scratch pad by developers. It is a list of known
issues that need to be addressed. Divided into, things that will prevent
release, and longer term bugs.
......@@ -8,14 +8,9 @@ release, and longer term bugs.
Release Critical
----------------
http://bugzilla.gnome.org/show_bug.cgi?id=125986 [line width lost]
http://bugzilla.gnome.org/show_bug.cgi?id=125886 [x axis label vertical alignment]
: Update style editors when the object changes
: Update shared dim editors when one of the siblings changes
: X axis label seperation
: text in boxes for text-xls/pivot.xls is white ??
: guia.xls complains of problems importing autofilter
: update mime types in gnumeric and gnome-mime-data
Worries
http://bugzilla.gnome.org/show_bug.cgi?id=123781
......@@ -114,6 +109,8 @@ Short Term Goals
0.14) Convert dialog-consolidate to TreeView (DONE)
0.15) Enter ''123 in a cell and expr entry will show only (DONE)
one quote.
0.16) Add a tooltip to the edit line showing all of the
content (for cases where it needs to scroll)
1) graphs
1.1) Split plot xml file engine, type, and family plugins (DONE)
......@@ -185,18 +182,18 @@ Short Term Goals
1.10.7) Check for short vectors (DONE)
1.10.8) Clip when values are out of range (DONE)
1.10.9) Support vary style by element for type=normal
1.11) Line/Area Plot
1.11) Line/Area Plot (DONE)
1.11.1) Normal (DONE)
1.11.2) Stacked (DONE)
1.11.3) Percentage (DONE)
1.11.4) sub type with no-marker by default
1.11.5) center points on X index values for Line
1.11.4) sub type with no-marker by default (DONE)
1.11.5) center points on X index values for Line (DONE)
1.12) X/Y (Scatter) Plot
1.12.1) Add simple implementation (DONE)
1.12.2) Take marker sizes into account at bounds
1.12.3) Bounds on 1 axis explicitly clip the other
1.12.4) Splined interpolation
1.12.5) Bubbles
1.12.5) Bubbles {Jean has patch}
1.13) Decide on recalc strategy (DONE)
1.13.1) Getting data from sheet -> graphs (DONE)
1.13.2) linking unlinking (DONE)
......@@ -297,7 +294,7 @@ Short Term Goals
1.24) Sizing units (DONE)
1.24.1) Have the legend use pts to size swatches (DONE)
1.24.2) Test renderers mapping between pts & pixels (DONE)
1.25) Printing
1.25) Printing (DONE)
1.25.1) gog-renderer-gnomeprint (DONE)
1.25.2) sheet object wrapper for printing (DONE)
1.25.3) paths (DONE)
......@@ -309,7 +306,7 @@ Short Term Goals
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.25.12) Check the zoom handling for fonts (DONE)
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.
......@@ -326,11 +323,11 @@ Short Term Goals
1.31.2) Solid Fills (DONE)
1.31.3) Gradient Fills (DONE)
1.31.4) Pattern Fills
1.31.5) Image Fills
1.31.6) Markers
1.31.7) Text
1.31.8) Text alignment
1.31.9) Text clipping
1.31.5) Image Fills (DONE)
1.31.6) Markers (DONE)
1.31.7) Text (DONE)
1.31.8) Text alignment (DONE)
1.31.9) Text clipping (DONE)
1.32) Radar plots
1.31.1) Basic (looks trivial) {SamuriaMike}
......@@ -378,6 +375,7 @@ Short Term Goals
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 'evolution mailto:....'
3.4) Make file -> send email execution into a service
6) XL
6.1) biff7 externsheet records in charts (DONE)
......@@ -400,12 +398,16 @@ Short Term Goals
6.9.4.1) XL95 (DONE)
6.9.4.2) Escher (DONE)
6.10) hlink export (97 only)
6.11) Comment import for XL97 (DONE)
6.11) Comments
6.11.1) import for XL95 (DONE)
6.11.2) export for XL95 (DONE)
6.11.3) import for XL97 (DONE)
6.11.4) export for XL97 (needs placement kludge)
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) image export
6.13.1) Excel95
6.13.1) Excel97
6.14) chart export
......
2003-11-06 Jody Goldberg <jody@gnome.org>
http://bugzilla.gnome.org/show_bug.cgi?id=126389
* src/commands.c (cmd_format_redo) : dirty the sheet.
2003-11-05 Jody Goldberg <jody@gnome.org>
* src/workbook-control-gui.c : ditto.
* src/GNOME_Gnumeric.xml : Enable select inputs
2003-11-03 Morten Welinder <terra@gnome.org>
* src/print.c (sheet_print): Plug leak.
......
......@@ -63,6 +63,17 @@ Jody:
http://bugzilla.gnome.org/show_bug.cgi?id=125886
* Have an inverse pull to 0 in case the eps pulls to far
* Actually install the man pages
http://bugzilla.gnome.org/show_bug.cgi?id=126389
* Formatting marks a sheet as dity
* Support auto-shape/outline/fill for chart markers
* Add UI to restore auto colors for charts
* Update UI when a chart style element changes externally
* Support line plots with no markers by default
* Support xy plots with no markers, no lines, by default
http://bugzilla.gnome.org/show_bug.cgi?id=125886
* x axis label vertical alignment
http://bugzilla.gnome.org/show_bug.cgi?id=125986
* Extend 'is_auto' support.
Morten:
* Fix crash with STF import and gazillions of columns.
......
2003-11-06 Jody Goldberg <jody@gnome.org>
http://bugzilla.gnome.org/show_bug.cgi?id=126389
* src/commands.c (cmd_format_redo) : dirty the sheet.
2003-11-05 Jody Goldberg <jody@gnome.org>
* src/workbook-control-gui.c : ditto.
* src/GNOME_Gnumeric.xml : Enable select inputs
2003-11-03 Morten Welinder <terra@gnome.org>
* src/print.c (sheet_print): Plug leak.
......
2003-11-06 Jody Goldberg <jody@gnome.org>
http://bugzilla.gnome.org/show_bug.cgi?id=126389
* src/commands.c (cmd_format_redo) : dirty the sheet.
2003-11-05 Jody Goldberg <jody@gnome.org>
* src/workbook-control-gui.c : ditto.
* src/GNOME_Gnumeric.xml : Enable select inputs
2003-11-03 Morten Welinder <terra@gnome.org>
* src/print.c (sheet_print): Plug leak.
......
......@@ -182,12 +182,12 @@ dnl ****************************
#try_gda=true
#gb_msg=yes
try_gb=no
gb_msg="Temporarily disabled during gnome2 porting"
gb_msg="disabled due to lack of gb maintenance"
AC_ARG_WITH(gb,
[--{with,without}-gb Compile the Gnome Basic plugin],
if test "x$withval" = xyes; then
#try_gb=true
gb_msg="We are not joking, it is temporarily disabled during gnome2 porting"
gb_msg="We are not joking. There is no upstream maintainer for GB"
#gb_msg="Disabled by request"
fi
)
......@@ -241,7 +241,7 @@ AC_SUBST(GUILE_INCS)
#check for guile 1.5
try_guile=false
guile_msg="temporarily disabled in gnome2 branch"
guile_msg="disabled pending some guile developer interest"
enable_guile=false
AC_ARG_WITH(guile,
[--{with,without}-guile Compile with Guile support or without it],
......
2003-11-08 Jody Goldberg <jody@gnome.org>
* corba-workbook.c (cworkbook_sheet_add) : fix warning that has been
sitting here for a long time.
2003-10-08 Jody Goldberg <jody@gnome.org>
* Release 1.2.1
......
......@@ -103,7 +103,7 @@ capp_class_init (CorbaApplicationClass *capp)
capp->epv.workbook_open = capp_workbook_open;
}
BONOBO_TYPE_FUNC_FULL (CorbaApplication,
static BONOBO_TYPE_FUNC_FULL (CorbaApplication,
GNOME_Gnumeric_Application,
BONOBO_OBJECT_TYPE,
capp);
......
......@@ -53,10 +53,7 @@ struct _SheetControlCORBA {
CorbaSheet *servant;
};
typedef struct {
SheetControlClass base;
} SheetControlCORBAClass;
typedef SheetControlClass SheetControlCORBAClass;
static GType csheet_get_type (void);
......@@ -79,7 +76,9 @@ static void
csheet_set_name (PortableServer_Servant servant, CORBA_char const * value,
CORBA_Environment *ev)
{
/*
Sheet *sheet = servant_to_sheet (servant);
*/
/* DO NOT CALL sheet_rename that is too low level */
}
......@@ -97,7 +96,9 @@ csheet_set_index (PortableServer_Servant servant,
CORBA_short indx,
CORBA_Environment *ev)
{
/*
Sheet *sheet = servant_to_sheet (servant);
*/
/* FIXME: do something */
}
......@@ -182,3 +183,11 @@ sheet_control_corba_new (SheetView *sv)
sv_attach_control (sv, SHEET_CONTROL (scc));
return SHEET_CONTROL (scc);
}
GNOME_Gnumeric_Sheet
sheet_control_corba_obj (SheetControl *sc)
{
SheetControlCORBA *scc = SHEET_CONTROL_CORBA (sc);
g_return_val_if_fail (scc != NULL, NULL);
return bonobo_object_corba_objref (BONOBO_OBJECT (scc->servant));
}
......@@ -30,6 +30,7 @@
#include <sheet-view.h>
#include <sheet-control-priv.h>
#include <ranges.h>
#include <sheet.h>
#include <gsf/gsf-impl-utils.h>
#include <bonobo.h>
......@@ -115,9 +116,15 @@ static GNOME_Gnumeric_Sheet
cworkbook_sheet_add (PortableServer_Servant servant, CORBA_char const *name, CORBA_short pos,
CORBA_Environment *ev)
{
WorkbookControlCORBA *wbcc = wbcc_from_servant (servant);
Workbook *wb = wb_control_workbook (WORKBOOK_CONTROL (wbcc));
WorkbookControl *wbcc = (WorkbookControl *)wbcc_from_servant (servant);
Workbook *wb = wb_control_workbook (wbcc);
Sheet *sheet = workbook_sheet_add (wb, NULL, TRUE);
SHEET_FOREACH_CONTROL(sheet, sv, sc, {
if (wbcc == sc_wbc (sc))
return sheet_control_corba_obj (sc);
});
return NULL;
}
static GNOME_Gnumeric_Sheets *
......
......@@ -1003,7 +1003,7 @@ BC_R(markerformat)(XLChartHandler const *handle,
GOMarker *marker;
guint16 shape = GSF_LE_GET_GUINT16 (q->data+8);
guint16 const flags = GSF_LE_GET_GUINT16 (q->data+10);
/* gboolean const auto_color = (flags & 0x01) ? TRUE : FALSE; */
gboolean const auto_color = (flags & 0x01) ? TRUE : FALSE;
if (s->style == NULL)
s->style = gog_style_new ();
......@@ -1019,6 +1019,9 @@ BC_R(markerformat)(XLChartHandler const *handle,
go_marker_set_fill_color (marker,
(flags & 0x10) ? 0 : BC_R(color) (q->data + 4, "MarkerBack"));
s->style->marker.auto_outline_color =
s->style->marker.auto_fill_color = auto_color;
if (s->container.ver >= MS_BIFF_V8) {
guint32 const marker_size = GSF_LE_GET_GUINT32 (q->data+16);
go_marker_set_size (marker, marker_size / 20.);
......
......@@ -204,7 +204,7 @@ gnumeric_imreal (FunctionEvalInfo *ei, GnmValue **argv)
char imunit;
if (VALUE_IS_NUMBER (argv[0]))
return value_duplicate (argv[0]);
return value_dup (argv[0]);
if (value_get_as_complex (argv[0], &c, &imunit))
return value_new_error_VALUE (ei->pos);
......
......@@ -544,7 +544,7 @@ range_first (GnmValue **xs, int n, GnmValue **res)
if (n <= 0)
return 1;
*res = value_duplicate (xs[0]);
*res = value_dup (xs[0]);
return 0;
}
......
......@@ -988,7 +988,7 @@ networkdays_holiday_callback (GnmValue const *v, EvalPos const *ep,
GnmDateConventions const *conv = DATE_CONV (ep);
if (v->type == VALUE_ERROR)
return value_duplicate (v);
return value_dup (v);
serial = datetime_value_to_serial (v, conv);
if (serial <= 0)
return value_new_error_NUM (ep);
......
......@@ -67,7 +67,7 @@ val_to_base (FunctionEvalInfo *ei, GnmValue **argv, int num_argv,
if (VALUE_IS_EMPTY (value))
return value_new_error_NUM (ei->pos);
else if (VALUE_IS_EMPTY_OR_ERROR (value))
return value_duplicate (value);
return value_dup (value);
places = (num_argv >= 2 && argv[1]) ? value_get_as_int (argv[1]) : 0;
str = value_peek_string (value);
......
......@@ -225,7 +225,7 @@ gnumeric_cell (FunctionEvalInfo *ei, GnmValue **argv)
GnmCell const *cell =
sheet_cell_get (ei->pos->sheet, ref->col, ref->row);
if (cell && cell->value)
return value_duplicate (cell->value);
return value_dup (cell->value);
return value_new_empty ();
/* from CELL - limited usefulness!
......@@ -1728,7 +1728,7 @@ gnumeric_n (FunctionEvalInfo *ei, GnmValue **argv)
return value_new_int (value_get_as_int(argv[0]));
if (VALUE_IS_NUMBER (argv[0]))
return value_duplicate (argv[0]);
return value_dup (argv[0]);
if (argv[0]->type != VALUE_STRING)
return value_new_error_NUM (ei->pos);
......
......@@ -271,7 +271,7 @@ gnumeric_if (FunctionEvalInfo *ei, GnmValue **args)
gboolean err;
int res = value_get_as_bool (args[0], &err) ? 1 : 2;
return args[res] ?
value_duplicate (args[res]) : value_new_bool (res == 1);
value_dup (args[res]) : value_new_bool (res == 1);
}
/***************************************************************************/
......
......@@ -139,7 +139,7 @@ find_index_linear (FunctionEvalInfo *ei, GnmValue *find, GnmValue *data,
gint type, gboolean height)
{
GnmValue const *index_val = NULL;
ValueCompare comp;
GnmValDiff comp;
int length, lp, index = -1;
if (height)
......@@ -163,7 +163,7 @@ find_index_linear (FunctionEvalInfo *ei, GnmValue *find, GnmValue *data,
comp = value_compare (find, v, FALSE);
if (type >= 1 && comp == IS_GREATER) {
ValueCompare comp = TYPE_MISMATCH;
GnmValDiff comp = TYPE_MISMATCH;
if (index >= 0) {
comp = value_compare (v, index_val, FALSE);
......@@ -175,7 +175,7 @@ find_index_linear (FunctionEvalInfo *ei, GnmValue *find, GnmValue *data,
index_val = v;
}
} else if (type <= -1 && comp == IS_LESS) {
ValueCompare comp = TYPE_MISMATCH;
GnmValDiff comp = TYPE_MISMATCH;
if (index >= 0) {
comp = value_compare (v, index_val, FALSE);
......@@ -198,7 +198,7 @@ static int
find_index_bisection (FunctionEvalInfo *ei, GnmValue *find, GnmValue *data,
gint type, gboolean height)
{
ValueCompare comp = TYPE_MISMATCH;
GnmValDiff comp = TYPE_MISMATCH;
int high, low = 0, prev = -1, mid = -1;
if (height)
......@@ -600,7 +600,7 @@ gnumeric_vlookup (FunctionEvalInfo *ei, GnmValue **args)
v = value_area_fetch_x_y (args [1], col_idx-1, index, ei->pos);
g_return_val_if_fail (v != NULL, NULL);
return value_duplicate (v);
return value_dup (v);
}
return value_new_error_NA (ei->pos);
......@@ -659,7 +659,7 @@ gnumeric_hlookup (FunctionEvalInfo *ei, GnmValue **args)
v = value_area_fetch_x_y (args[1], index, row_idx-1, ei->pos);
g_return_val_if_fail (v != NULL, NULL);
return value_duplicate (v);
return value_dup (v);
}
return value_new_error_NA (ei->pos);
......@@ -722,7 +722,7 @@ gnumeric_lookup (FunctionEvalInfo *ei, GnmValue **args)
v = value_area_fetch_x_y (result, index, height - 1, ei->pos);
else
v = value_area_fetch_x_y (result, width - 1, index, ei->pos);
return value_duplicate (v);
return value_dup (v);
}
return value_new_error_NA (ei->pos);
......@@ -891,7 +891,7 @@ gnumeric_index (FunctionEvalInfo *ei, GnmExprList *l)
return value_new_error_REF (ei->pos);
}
res = value_duplicate (value_area_fetch_x_y (v, elem[1], elem[0], ei->pos));
res = value_dup (value_area_fetch_x_y (v, elem[1], elem[0], ei->pos));
value_release (v);
return res;
}
......@@ -1166,7 +1166,7 @@ gnumeric_hyperlink (FunctionEvalInfo *ei, GnmValue **args)
GnmValue const * v = args[1];
if (v == NULL)
v = args[0];
return value_duplicate (v);
return value_dup (v);
}
/***************************************************************************/
......@@ -1198,7 +1198,7 @@ gnumeric_transpose (FunctionEvalInfo *ei, GnmValue **argv)
/* Return the value directly for a singleton */
if (rows == 1 && cols == 1)
return value_duplicate (value_area_get_x_y (matrix, 0, 0, ep));
return value_dup (value_area_get_x_y (matrix, 0, 0, ep));
/* REMEMBER this is a transpose */
res = value_new_array_non_init (rows, cols);
......@@ -1206,7 +1206,7 @@ gnumeric_transpose (FunctionEvalInfo *ei, GnmValue **argv)
for (r = 0; r < rows; ++r){
res->v_array.vals [r] = g_new (GnmValue *, cols);
for (c = 0; c < cols; ++c)
res->v_array.vals[r][c] = value_duplicate(
res->v_array.vals[r][c] = value_dup(
value_area_get_x_y (matrix, c, r, ep));
}
......
......@@ -113,7 +113,7 @@ callback_function_criteria (Sheet *sheet, int col, int row,
case VALUE_INTEGER:
case VALUE_FLOAT:
case VALUE_STRING:
v = value_duplicate (cell->value);
v = value_dup (cell->value);
break;
case VALUE_EMPTY:
default:
......@@ -3024,7 +3024,7 @@ gnumeric_sumproduct (FunctionEvalInfo *ei, GnmExprList *args)
* significance -- it will be checked
* outside the arg loop.
*/
result = value_duplicate (v);
result = value_dup (v);
value_release (val);
goto done;
}
......
......@@ -144,7 +144,7 @@ cb_randdiscrete (Sheet *sheet, int col, int row, GnmCell *cell, void *user_data)
if (p->x <= p->prob [p->ind] + p->cum) {
if (cell != NULL) {
cell_eval (cell);
p->res = value_duplicate (cell->value);
p->res = value_dup (cell->value);
} else
p->res = value_new_empty ();
} else
......@@ -152,7 +152,7 @@ cb_randdiscrete (Sheet *sheet, int col, int row, GnmCell *cell, void *user_data)
} else if (p->ind == p->x_ind) {
if (cell != NULL) {
cell_eval (cell);
p->res = value_duplicate (cell->value);
p->res = value_dup (cell->value);
} else
p->res = value_new_empty ();
}
......@@ -1066,7 +1066,7 @@ callback_function_simtable (const EvalPos *ep, GnmValue *value, void *closure)
simtable_t *p = closure;
if (p->index == ep->sheet->simulation_round)
p->value = value_duplicate (value);
p->value = value_dup (value);
++(p->index);
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