Commit 558cefd3 authored by Jody Goldberg's avatar Jody Goldberg Committed by Jody Goldberg

enable excel97


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

	* plugin.xml.in : enable excel97

	* ms-excel-write.c (excel_write_value) : use BIFF8 SST records.
	(excel_write_state_free) : clean up SST here.
	(excel_write_state_new) : shared routine for biff7 and biff8.
	(excel_utf8_has_multibyte) : quicky utility.
	(excel_write_SST) : initial basic implementation still needs unicode
	  support.
	(excel_write_BOF) : renamed from biff_bof_write and sync versions with
	  XL 2k.

2002-11-04  Jody Goldberg <jody@gnome.org>

	* boot.c (excel_save) : prep for biff8 save, and double stream files.

	* ms-excel-read.c (excel_read_XF) : fix rotation.
	(excel_read_SST) : improve debug info.

	* ms-excel-write.c (write_xf_record) : write the BIFF8 support.
	(rotation_to_excel) : new.


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

	* src/item-*, src/*canvas* : convert to foocanvas

	* src/application.c (gnumeric_application_setup_icons) : Use new
	  scaled pngs for formula guru.
	* src/pixmaps/Makefile.am : ditto.

	* src/plugin.c (plugin_info_read) : add 'require_explicit_enabling' flag
	  so that we don't auto enable specialized plugins.

	* src/plugin-service.c (input_file_save_info_read) : delete.
	(plugin_service_file_opener_read_xml) : don't call it here.
	(gnum_plugin_file_opener_open) : And don't try to use it here.
	  It is not useful to hard code the saver if the importer can handle
	  multiple versions of the format.  Only the import process will know
	  enough to be able to select the appropriate exporter.

	* src/item-cursor.c (item_cursor_tip_setlabel) : simplify.
	* src/auto-format.c : tidy up includes.
parent d019aaf6
......@@ -13,7 +13,6 @@ Release Critical
Pending Patches
---------------
- ?? more work on D&D based sheet reorg ?
- logest function
1.2 Targets
-----------
......@@ -38,11 +37,12 @@ Pending Patches
opencalc flags.
6) XL
6.1) biff7 externsheet records in charts (DONE)
6.2) 97 export
6.3) Form import
6.4) Intersection, union and set export
6.5) fix name export now that we sorta understand it
6.6) non-ole import (Nick Lamb is working on this) (Partial)
6.2) 97 export (DONE)
6.3) Check xl import of unicode names (DONE)
6.4) Form import
6.5) Intersection, union and set export
6.6) fix name export now that we sorta understand it
6.7) non-ole import (Nick Lamb is working on this) (DONE)
9) Manual recalc (DONE)
9.1) finish calculation ui in workbook attr dialog (DONE)
10) fix highlighting of completion code (DONE)
......@@ -109,7 +109,6 @@ Misc stuff that should be fixed
(probably ok) and have gamma(x)=exp(lgamma(x)) (questionable).
- We need to somehow add --export-dynamic to the gnumeric link line, or else
plugins won't load on Solaris/gcc. (This might just be my bastard libtool.)
- Fix workbook_sheet_by_name with respect to letter case and UTF-8.
- Remove duplication of code between analysis-tools.c and collect.c
......@@ -131,7 +130,6 @@ Misc stuff that should be fixed
* We should start with the expr entry set to either the current cell,
or by selecting the first named expression in scope that contains the
current cell.
: Check xl import of unicode names
: Check scoping changes.
: Is there such a thing as an array formula in a name ?
: Handle pasting an expression with an un-qualified sheet local name into
......
2002-11-06 Jody Goldberg <jody@gnome.org>
* src/item-*, src/*canvas* : convert to foocanvas
* src/application.c (gnumeric_application_setup_icons) : Use new
scaled pngs for formula guru.
* src/pixmaps/Makefile.am : ditto.
* src/plugin.c (plugin_info_read) : add 'require_explicit_enabling' flag
so that we don't auto enable specialized plugins.
* src/plugin-service.c (input_file_save_info_read) : delete.
(plugin_service_file_opener_read_xml) : don't call it here.
(gnum_plugin_file_opener_open) : And don't try to use it here.
It is not useful to hard code the saver if the importer can handle
multiple versions of the format. Only the import process will know
enough to be able to select the appropriate exporter.
* src/item-cursor.c (item_cursor_tip_setlabel) : simplify.
* src/auto-format.c : tidy up includes.
2002-11-06 Andreas J. Guelzow <aguelzow@taliesin.ca>
http://bugzilla.gnome.org/show_bug.cgi?id=78356
......@@ -55,6 +76,8 @@
2002-11-03 Jody Goldberg <jody@gnome.org>
* src/mstyle.c : Add hooks for rotation.
* src/workbook-control-gui.c (workbook_setup_edit_area) : simplify.
(edit_area_button) : Use stock images, not stock items.
......
......@@ -4,9 +4,19 @@ Andreas:
* Hide hidden cells in groff/troff export.
* Fix 78356.
Jody:
* POISSON is defined for x == 0.
* Start work on rotated text.
Evert Verhellen
* Buff up the function guru icon a touch
J.H.M. Dassen (Ray):
* Updates to the build system.
* Some code janitor work.
Jody
* POISSON is defined for x == 0
* Start work on rotated text
* Enable Excel97 basic export
* Have the importer designate the exporter directly
* Switch to foocanvas for performance
Morten:
* Spelling fixes all over.
......@@ -16,9 +26,8 @@ Morten:
* Plug leaks in function selector dialog.
* Improve memory usage in search centre slighly.
J.H.M. Dassen (Ray):
* Updates to the build system.
* Some code janitor work.
Nick Lamb:
* Initial support for pre-ole xls files.
Olaf Till:
* Two new logarithmic regression functions, one of them
......
2002-11-06 Jody Goldberg <jody@gnome.org>
* src/item-*, src/*canvas* : convert to foocanvas
* src/application.c (gnumeric_application_setup_icons) : Use new
scaled pngs for formula guru.
* src/pixmaps/Makefile.am : ditto.
* src/plugin.c (plugin_info_read) : add 'require_explicit_enabling' flag
so that we don't auto enable specialized plugins.
* src/plugin-service.c (input_file_save_info_read) : delete.
(plugin_service_file_opener_read_xml) : don't call it here.
(gnum_plugin_file_opener_open) : And don't try to use it here.
It is not useful to hard code the saver if the importer can handle
multiple versions of the format. Only the import process will know
enough to be able to select the appropriate exporter.
* src/item-cursor.c (item_cursor_tip_setlabel) : simplify.
* src/auto-format.c : tidy up includes.
2002-11-06 Andreas J. Guelzow <aguelzow@taliesin.ca>
http://bugzilla.gnome.org/show_bug.cgi?id=78356
......@@ -55,6 +76,8 @@
2002-11-03 Jody Goldberg <jody@gnome.org>
* src/mstyle.c : Add hooks for rotation.
* src/workbook-control-gui.c (workbook_setup_edit_area) : simplify.
(edit_area_button) : Use stock images, not stock items.
......
2002-11-06 Jody Goldberg <jody@gnome.org>
* src/item-*, src/*canvas* : convert to foocanvas
* src/application.c (gnumeric_application_setup_icons) : Use new
scaled pngs for formula guru.
* src/pixmaps/Makefile.am : ditto.
* src/plugin.c (plugin_info_read) : add 'require_explicit_enabling' flag
so that we don't auto enable specialized plugins.
* src/plugin-service.c (input_file_save_info_read) : delete.
(plugin_service_file_opener_read_xml) : don't call it here.
(gnum_plugin_file_opener_open) : And don't try to use it here.
It is not useful to hard code the saver if the importer can handle
multiple versions of the format. Only the import process will know
enough to be able to select the appropriate exporter.
* src/item-cursor.c (item_cursor_tip_setlabel) : simplify.
* src/auto-format.c : tidy up includes.
2002-11-06 Andreas J. Guelzow <aguelzow@taliesin.ca>
http://bugzilla.gnome.org/show_bug.cgi?id=78356
......@@ -55,6 +76,8 @@
2002-11-03 Jody Goldberg <jody@gnome.org>
* src/mstyle.c : Add hooks for rotation.
* src/workbook-control-gui.c (workbook_setup_edit_area) : simplify.
(edit_area_button) : Use stock images, not stock items.
......
......@@ -50,6 +50,12 @@
dialog window.
</para>
</listitem>
<listitem>
<para>
<keycap>Ctl-F3</keycap> opens the <interface>Define Name</interface>
dialog window.
</para>
</listitem>
<listitem>
<para>
<keycap>F5</keycap> opens the <interface>Go to</interface>
......@@ -72,5 +78,52 @@
strings.
</para>
</listitem>
<listitem>
<para>
<keycap>Ctl-~</keycap> Formats the current selection as a number.
</para>
</listitem>
<listitem>
<para>
<keycap>Ctl-$</keycap> Formats the current selection with the default currency
</para>
</listitem>
<listitem>
<para>
<keycap>Ctl-#</keycap> Formats the current selection with default date style
</para>
</listitem>
<listitem>
<para>
<keycap>Ctl-^</keycap> Formats the current selection as using scientific notation
</para>
</listitem>
<listitem>
<para>
<keycap>Ctl-@</keycap> Formats the current selection with the default time format
</para>
</listitem>
<listitem>
<para>
<keycap>Ctl-!</keycap> Formats the current selection with the default accounting format
</para>
</listitem>
<listitem>
<para>
<keycap>Ctl-&</keycap> Adds a thin border around the current selection
</para>
</listitem>
<listitem>
<para>
<keycap>Ctl-_</keycap> Removes any borders around or in the current selection
</para>
</listitem>
<listitem>
<para>
<keycap>Ctl-$</keycap> Formats the current selection as the default currency
</para>
</listitem>
</itemizedlist>
</sect1>
2002-11-05 Jody Goldberg <jody@gnome.org>
* plugin.xml.in : enable excel97
* ms-excel-write.c (excel_write_value) : use BIFF8 SST records.
(excel_write_state_free) : clean up SST here.
(excel_write_state_new) : shared routine for biff7 and biff8.
(excel_utf8_has_multibyte) : quicky utility.
(excel_write_SST) : initial basic implementation still needs unicode
support.
(excel_write_BOF) : renamed from biff_bof_write and sync versions with
XL 2k.
2002-11-04 Jody Goldberg <jody@gnome.org>
* boot.c (excel_save) : prep for biff8 save, and double stream files.
* ms-excel-read.c (excel_read_XF) : fix rotation.
(excel_read_SST) : improve debug info.
* ms-excel-write.c (write_xf_record) : write the BIFF8 support.
(rotation_to_excel) : new.
2002-11-04 J.H.M. Dassen (Ray) <jdassen@debian.org>
* ms-biff.c, ms-escher.c, ms-excel-read.c, ms-excel-write.c,
......
......@@ -62,8 +62,8 @@ MsExcelReadGbFn ms_excel_read_gb = NULL;
gboolean excel_file_probe (GnumFileOpener const *fo, GsfInput *input, FileProbeLevel pl);
void excel_file_open (GnumFileOpener const *fo, IOContext *context, WorkbookView *wbv, GsfInput *input);
void excel97_file_save (GnumFileSaver const *fs, IOContext *context, WorkbookView *wbv, const char *filename);
void excel95_file_save (GnumFileSaver const *fs, IOContext *context, WorkbookView *wbv, const char *filename);
void excel_biff7_file_save (GnumFileSaver const *fs, IOContext *context, WorkbookView *wbv, char const *filename);
void excel_biff8_file_save (GnumFileSaver const *fs, IOContext *context, WorkbookView *wbv, char const *filename);
void plugin_cleanup (void);
gboolean
......@@ -189,13 +189,14 @@ excel_file_open (GnumFileOpener const *fo, IOContext *context,
* ExcelWorkbook in ms-excel-read.h.
*/
static void
excel_save (IOContext *context, WorkbookView *wbv, const char *filename,
excel_save (IOContext *context, WorkbookView *wbv, char const *filename,
MsBiffVersion ver)
{
Workbook *wb;
GsfOutput *output, *content;
GsfOutfile *outfile;
ExcelWriteState *state;
ExcelWriteState *state_v7 = NULL;
ExcelWriteState *state_v8 = NULL;
GError *err;
GsfStructuredBlob *macros;
......@@ -211,16 +212,24 @@ excel_save (IOContext *context, WorkbookView *wbv, const char *filename,
io_progress_message (context, _("Preparing for save..."));
io_progress_range_push (context, 0.0, 0.1);
state = excel_write_init_v7 (context, wbv);
if (ver != MS_BIFF_V8)
state_v7 = excel_write_init_v7 (context, wbv);
if (ver != MS_BIFF_V7)
state_v8 = excel_write_init_v8 (context, wbv);
io_progress_range_pop (context);
if (state == NULL)
if (state_v7 == NULL && state_v8 == NULL)
return;
io_progress_message (context, _("Saving file..."));
io_progress_range_push (context, 0.1, 1.0);
outfile = gsf_outfile_msole_new (output);
g_object_unref (G_OBJECT (output));
excel_write_v7 (state, outfile);
io_progress_message (context, _("Saving file..."));
io_progress_range_push (context, 0.1, 1.0);
if (state_v7 != NULL)
excel_write_v7 (state_v7, outfile);
if (state_v8 != NULL)
excel_write_v8 (state_v8, outfile);
io_progress_range_pop (context);
wb = wb_view_workbook (wbv);
......@@ -246,15 +255,15 @@ excel_save (IOContext *context, WorkbookView *wbv, const char *filename,
}
void
excel97_file_save (GnumFileSaver const *fs, IOContext *context,
WorkbookView *wbv, const char *filename)
excel_biff8_file_save (GnumFileSaver const *fs, IOContext *context,
WorkbookView *wbv, char const *filename)
{
excel_save (context, wbv, filename, MS_BIFF_V8);
}
void
excel95_file_save (GnumFileSaver const *fs, IOContext *context,
WorkbookView *wbv, const char *filename)
excel_biff7_file_save (GnumFileSaver const *fs, IOContext *context,
WorkbookView *wbv, char const *filename)
{
excel_save (context, wbv, filename, MS_BIFF_V7);
}
......
......@@ -18,6 +18,8 @@ void excel_read_workbook (IOContext *context, WorkbookView *new_wb,
typedef struct _ExcelWriteState ExcelWriteState;
ExcelWriteState *excel_write_init_v7 (IOContext *context, WorkbookView *wbv);
void excel_write_v7 (ExcelWriteState *ewb, GsfOutfile *output);
ExcelWriteState *excel_write_init_v8 (IOContext *context, WorkbookView *wbv);
void excel_write_v8 (ExcelWriteState *ewb, GsfOutfile *output);
/* We need to use these for both read and write */
typedef struct {
......
......@@ -66,13 +66,6 @@ typedef enum { /* Vertical alignment */
MS_BIFF_V_A_JUSTIFY = 3
} MsBiffVAlign;
typedef enum { /* Text orientation */
MS_BIFF_O_HORIZ = 0,
MS_BIFF_O_VERT_HORIZ = 1,
MS_BIFF_O_VERT_VERT = 2,
MS_BIFF_O_VERT_VERT2 = 3
} MsBiffOrient;
typedef enum { /* Differences to parent styles */
MS_BIFF_D_FORMAT_BIT = 10,
MS_BIFF_D_FONT_BIT = 11,
......
......@@ -901,7 +901,9 @@ excel_read_SST (BiffQuery *q, ExcelWorkbook *ewb)
unsigned k;
d (4, {
fprintf (stderr,"SST\n");
fprintf (stderr, "SST total = %u, sst = %u\n",
GSF_LE_GET_GUINT32 (q->data + 0),
GSF_LE_GET_GUINT32 (q->data + 4));
gsf_mem_dump (q->data, q->length);
});
......@@ -1095,9 +1097,9 @@ excel_read_BOUNDSHEET (BiffQuery *q, ExcelWorkbook *ewb, MsBiffVersion ver)
/* if (ans->type == MS_BIFF_TYPE_Worksheet) { } */
/* FIXME : Use this kruft instead */
if (ans->hidden == MS_BIFF_H_VISIBLE) {
if (ans->hidden == MS_BIFF_H_VISIBLE)
ans->sheet = excel_sheet_new (ewb, ans->name);
} else
else
ans->sheet = NULL;
ans->index = ewb->boundsheet_sheet_by_index->len;
......@@ -1106,7 +1108,6 @@ excel_read_BOUNDSHEET (BiffQuery *q, ExcelWorkbook *ewb, MsBiffVersion ver)
d (1, fprintf (stderr,"Boundsheet: %d) '%s' %p, %d:%d\n", ans->index,
ans->name, ans->sheet, ans->type, ans->hidden););
}
static void
......@@ -1459,7 +1460,7 @@ excel_get_style_from_xf (ExcelSheet *esheet, guint16 xfidx)
mstyle_set_wrap_text (mstyle, xf->wrap_text);
mstyle_set_shrink_to_fit (mstyle, xf->shrink_to_fit);
mstyle_set_indent (mstyle, xf->indent);
/* mstyle_set_orientation (mstyle, ); */
mstyle_set_rotation (mstyle, xf->rotation);
/* Font */
fd = excel_get_font (esheet, xf->font_idx);
......@@ -1823,34 +1824,20 @@ excel_read_XF (BiffQuery *q, ExcelWorkbook *ewb, MsBiffVersion ver)
fprintf (stderr,"Unknown valign %d\n", subdata);
break;
}
/*
* FIXME: ignored bit 0x0080
*/
if (ver >= MS_BIFF_V8)
if (ver >= MS_BIFF_V8) {
xf->rotation = (data >> 8);
else {
if (xf->rotation == 0xff)
xf->rotation = -1;
else if (xf->rotation > 90)
xf->rotation = 360 + 90 - xf->rotation;
} else {
subdata = (data & 0x0300) >> 8;
switch (subdata) {
case 0:
xf->rotation = 0;
break;
case 1: /* vertical letters no rotation */
xf->rotation = 255;
break;
case 2: /* 90deg anti-clock */
xf->rotation = 90;
break;
case 3: /* 90deg clock */
xf->rotation = 180;
break;
}
}
if (xf->rotation != 0) {
static gboolean needs_warning = TRUE;
if (needs_warning) {
needs_warning = FALSE;
g_warning ("EXCEL: rotated text is not supported yet.");
case 0: xf->rotation = 0; break;
case 1: xf->rotation = -1; break;
case 2: xf->rotation = 90; break;
case 3: xf->rotation = 270; break;
}
}
......@@ -4799,7 +4786,7 @@ excel_read_SUPBOOK (BiffQuery *q, ExcelWorkbook *ewb)
});
gsf_mem_dump (q->data + 4 + 1, len);
for (data = q->data + 4 + 1 + len, i = 0; i < numTabs > 0; i++) {
for (data = q->data + 4 + 1 + len, i = 0; i < numTabs ; i++) {
len = GSF_LE_GET_GUINT16 (data);
name = biff_get_text (data + 2, len, &byte_length);
fprintf (stderr,"\t-> %s\n", name);
......@@ -4857,10 +4844,10 @@ excel_read_WINDOW1 (BiffQuery *q, WorkbookView *wb_view)
static ExcelWorkbook *
excel_read_BOF (BiffQuery *q,
ExcelWorkbook *ewb,
ExcelWorkbook *ewb,
WorkbookView *wb_view,
IOContext *context,
MsBiffBofData **version, int *current_sheet)
MsBiffBofData **version, int *current_sheet)
{
/* The first BOF seems to be OK, the rest lie ? */
MsBiffVersion vv = MS_BIFF_V_UNKNOWN;
......@@ -4924,12 +4911,12 @@ excel_read_BOF (BiffQuery *q,
} else
fprintf (stderr,"Sheet offset in stream of %x not found in list\n", q->streamPos);
} else if (ver->type == MS_BIFF_TYPE_Chart) {
GObject *graph =
GObject *graph =
#if 0
/* enable when we support workbooklevel objects */
gnm_graph_new (ewb->gnum_wb);
/* enable when we support workbooklevel objects */
gnm_graph_new (ewb->gnum_wb);
#else
NULL;
NULL;
#endif
ms_excel_chart (q, &ewb->container, ver->version,
graph);
......
This diff is collapsed.
......@@ -60,6 +60,13 @@ struct _ExcelWriteState {
GPtrArray *externnames;
GPtrArray *names;
unsigned streamPos;
/* no need to use a full fledged two table, we already know that the
* Strings are unique. */
struct {
GHashTable *strings;
GPtrArray *indicies;
} sst;
};
typedef enum {
......@@ -78,7 +85,7 @@ typedef enum {
#define PALETTE_WHITE 9
#define PALETTE_AUTO_PATTERN 64
#define PALETTE_AUTO_BACK 65
#define PALETTE_AUTO_FONT 127
#define PALETTE_AUTO_FONT 0x7fff
#define FILL_NONE 0
#define FILL_SOLID 1
#define FILL_MAGIC FILL_NONE
......
......@@ -36,15 +36,14 @@ typedef struct _BiffXFData {
StyleVAlignFlags valign;
gboolean wrap_text;
gboolean shrink_to_fit;
guint8 rotation;
int rotation;
int indent;
StyleOrientation orientation;
MsBiffEastern eastern;
guint8 border_color[STYLE_ORIENT_MAX];
guint16 border_color[STYLE_ORIENT_MAX];
StyleBorderType border_type[STYLE_ORIENT_MAX];
guint8 fill_pattern_idx;
guint8 pat_foregnd_col;
guint8 pat_backgnd_col;
guint16 fill_pattern_idx;
guint16 pat_foregnd_col;
guint16 pat_backgnd_col;
guint16 differences;
MStyle *mstyle;
......
......@@ -247,8 +247,7 @@ write_area (PolishData *pd, CellRef const *a, CellRef const *b)
gint16 ixals;
/* FIXME no external references for now */
g_return_if_fail (pd->sheet == NULL ||
pd->sheet->workbook == a->sheet->workbook);
g_return_if_fail (pd->ewb->gnum_wb == a->sheet->workbook);
idx_a = a->sheet->index_in_wb + 1;
idx_b = (b->sheet != NULL)
......@@ -304,8 +303,7 @@ write_ref (PolishData *pd, CellRef const *ref)
gint16 ixals;
/* FIXME no external references for now */
g_return_if_fail (pd->sheet == NULL ||
pd->sheet->workbook == ref->sheet->workbook);
g_return_if_fail (pd->ewb->gnum_wb == ref->sheet->workbook);
idx_a = ref->sheet->index_in_wb + 1;
ixals = -(idx_a-1);
......
......@@ -18,21 +18,19 @@
<file_pattern type="shell_pattern" value="*.xlw"/>
<file_pattern type="shell_pattern" value="*.xlt"/>
</file_patterns>
<save_info saver_id="excel95" format_level="manual_remember"/>
<save_info saver_id="excel_biff7" format_level="manual_remember"/>
</service>
<service type="file_saver" id="excel95" file_extension="xls"
<service type="file_saver" id="excel_biff7" file_extension="xls"
format_level="manual_remember" overwrite_files="TRUE">
<information>
<_description>MS Excel (tm) 95 file format</_description>
</information>
</service>
<!--
<service type="file_saver" id="excel97" file_extension="xls"
<service type="file_saver" id="excel_biff8" file_extension="xls"
format_level="manual_remember" overwrite_files="TRUE">
<information>
<_description>MS Excel (tm) 97/2000/XP file format</_description>
</information>
</service>
-->
</services>
</plugin>
......@@ -801,8 +801,8 @@ xml_sax_styleregion_start (GsfXmlSAXState *gsf_state, xmlChar const **attrs)
mstyle_set_wrap_text (state->style, val);
else if (xml_sax_attr_int (attrs, "ShrinkToFit", &val))
mstyle_set_shrink_to_fit (state->style, val);
else if (xml_sax_attr_int (attrs, "Orient", &val))
mstyle_set_orientation (state->style, val);
else if (xml_sax_attr_int (attrs, "Rotation", &val))
mstyle_set_rotation (state->style, val);
else if (xml_sax_attr_int (attrs, "Shade", &val))
mstyle_set_pattern (state->style, val);
else if (xml_sax_attr_int (attrs, "Indent", &val))
......
......@@ -21,6 +21,7 @@ INCLUDES = \
-I$(srcdir)/widgets \
-I$(srcdir)/dialogs \
-I$(srcdir)/tools \
-I$(top_srcdir)/src/cut-n-paste-code/foocanvas \
$(GNUMERIC_CFLAGS)
BUILT_SOURCES = \
......@@ -316,8 +317,7 @@ gnumeric_app_libs = \
tools/solver/libsolver.a \
tools/solver/glpk/source/libglpk.a \
tools/solver/lp_solve/liblp_solve.a \
cut-n-paste-code/egg/menu/libegg-menu.a
cut-n-paste-code/foocanvas/libfoocanvas/libfoocanvas.a
if WITH_BONOBO
gnumeric_component_SOURCES = \
......
......@@ -574,7 +574,7 @@ gnumeric_application_setup_icons (void)
{ gnm_auto, NULL, "Gnumeric_AutoSum" },
{ gnm_equal, NULL, "Gnumeric_Equal" },
{ gnm_function_selector, NULL, "Gnumeric_FormulaGuru" },
{ gnm_formula_guru_24, gnm_formula_guru_16, "Gnumeric_FormulaGuru" },
{ gnm_insert_image_24, gnm_insert_image_16, "Gnumeric_InsertImage" },
{ gnm_bucket, NULL, "Gnumeric_Bucket" },
{ gnm_font, NULL, "Gnumeric_Font" },
......
......@@ -13,15 +13,14 @@
#include "gnumeric.h"
#include "auto-format.h"
#include "gutils.h"
#include "formats.h"
#include "func.h"
#include "cell.h"
#include "value.h"
#include "expr.h"
#include "expr-impl.h"
#include "cell.h"
#include "sheet.h"
#include "workbook.h"
#include "format.h"
#include "value.h"
/* ------------------------------------------------------------------------- */
/*
......
......@@ -2,8 +2,7 @@
#define GNUMERIC_AUTO_FORMAT_H
#include "gnumeric.h"
#include "func.h"
StyleFormat *auto_style_format_suggest (const GnmExpr *expr, const EvalPos *epos);
StyleFormat *auto_style_format_suggest (GnmExpr const *expr, EvalPos const *epos);
#endif
......@@ -456,7 +456,7 @@ clipboard_paste_region (CellRegion const *content,
sheet_regen_adjacent_spans (pt->sheet,
r->start.col, r->start.row, r->end.col, r->end.row,
&min_col, &max_col);
sheet_range_calc_spans (pt->sheet, &pt->range,
sheet_range_calc_spans (pt->sheet, r,
(pt->paste_flags & PASTE_FORMATS) ? SPANCALC_RE_RENDER : SPANCALC_RENDER);
sheet_redraw_region (pt->sheet,
min_col, r->start.row, max_col, r->end.row);
......
......@@ -17,6 +17,7 @@ INCLUDES = \
-I$(top_srcdir) \
-I$(top_srcdir)/src \
-I$(top_srcdir)/src/tools \
-I$(top_srcdir)/src/cut-n-paste-code/foocanvas \
$(GNUMERIC_CFLAGS)
noinst_LIBRARIES = libdialogs.a
......
......@@ -34,7 +34,7 @@
#include <gsf/gsf-impl-utils.h>
#include <gdk/gdkkeysyms.h>
static GnomeCanvasClass *gcanvas_parent_class;
static FooCanvasClass *gcanvas_parent_class;
static gboolean
gnm_canvas_guru_key (WorkbookControlGUI const *wbcg, GdkEventKey *event)
......@@ -92,7 +92,7 @@ gnm_check_ctrl_mask (GnmCanvas *gcanvas,guint keyval)
workbook_cmd_mutate_borders (WORKBOOK_CONTROL (wbcg), sheet, TRUE);
return TRUE;
case GDK_underscore :
workbook_cmd_mutate_borders (WORKBOOK_CONTROL (wbcg), sheet, TRUE);
workbook_cmd_mutate_borders (WORKBOOK_CONTROL (wbcg), sheet, FALSE);
return TRUE;
}
......@@ -521,7 +521,7 @@ gnm_canvas_size_allocate (GtkWidget *widget, GtkAllocation *allocation)
}
typedef struct {
GnomeCanvasClass parent_class;
FooCanvasClass parent_class;
} GnmCanvasClass;
#define GNM_CANVAS_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GNM_CANVAS_TYPE))
......@@ -538,11 +538,11 @@ gnm_canvas_class_init (GnmCanvasClass *klass)
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
GtkObjectClass *object_class;
GtkWidgetClass *widget_class;
GnomeCanvasClass *canvas_class;
FooCanvasClass *canvas_class;
object_class = (GtkObjectClass *) klass;
widget_class = (GtkWidgetClass *) klass;
canvas_class = (GnomeCanvasClass *) klass;
canvas_class = (FooCanvasClass *) klass;
gcanvas_parent_class = g_type_class_peek (GNM_SIMPLE_CANVAS_TYPE);
......@@ -627,7 +627,7 @@ gnm_canvas_preedit_changed_cb (GtkIMContext *context, GnmCanvas *gcanvas)
static void
gnm_canvas_init (GnmCanvas *gcanvas)
{
GnomeCanvas *canvas = GNOME_CANVAS (gcanvas);
FooCanvas *canvas = FOO_CANVAS (gcanvas);
gcanvas->first.col = gcanvas->last_full.col = gcanvas->last_visible.col = 0;
gcanvas->first.row = gcanvas->last_full.row = gcanvas->last_visible.row = 0;
......@@ -662,7 +662,7 @@ GnmCanvas *
gnm_canvas_new (SheetControlGUI *scg, GnumericPane *pane)