2004-11-07 Jody Goldberg * Release 1.3.93 2004-10-31 Jody Goldberg * Release 1.3.92 2004-11-01 Morten Welinder * ms-excel-read.c (ms_biff_get_chars): Give g_iconv the right kind of pointer. * ms-excel-write.c (excel_write_string): Ditto. (excel_write_string_len): Change second argument to be size_t*. * ms-excel-read.h (ms_biff_get_chars): Give g_iconv the right kind of pointer. * ms-excel-write.h (excel_write_string_len): Change second argument to be size_t*. * ms-escher.c (ms_escher_get_data): Fix confusion between ptrdiff_t and int. 2004-10-18 Jon K Hellan * ms-obj.c (ms_obj_read_pre_biff8_obj): Unref pixbuf returned by excel_read_IMDATA. * ms-excel-read.c (excel_read_os2bmp): New. Handle headerless OS/2 bitmap. (excel_read_IMDATA): Call excel_read_os2bmp to handle OS/2 BMP. Other format may be dumped to file. (excel_read_sheet): Unref pixbuf returned by excel_read_IMDATA. 2004-10-15 Morten Welinder * ms-excel-write.c (excel_sheet_new): Don't free the same thing twice. 2004-10-11 Morten Welinder * ms-excel-read.c (ms_sheet_realize_obj): Plug leak. 2004-10-10 Jody Goldberg * ms-obj.c (ms_obj_map_forms_obj) : move here and pull in the linked cell data when available. 2004-10-08 Jody Goldberg * ms-obj.c (ms_obj_read_biff8_obj) : some simple mapping from Forms objects to things we understand. No properties imported yet. http://bugzilla.gnome.org/show_bug.cgi?id=154734 * ms-chart.c (BC_R(end)) : cheesy swapping of the formatting associated with X and Y axes for bar plots. 2004-10-05 Jody Goldberg * Release 1.3.91 2004-09-16 Stepan Kasal * Makefile.am (excel_la_LIBADD): New variable, set to $(Z_LIBS). (INCLUDES): add $(Z_CPPFLAGS) 2004-09-24 Jody Goldberg * ms-obj.c (ms_obj_attr_new_flag) : add some safety checking (ms_obj_read_pre_biff8_obj) : merge up the handling of similar structures to get more consistent import. * ms-excel-write.c (excel_write_objs) : now that text boxes and rectangles are the same we need to do more work to figure out which are which. Make a list and use that in place of repeated lookups. (excel_sheet_new) : make the list here. (excel_write_state_new) : use the list. (excel_sheet_free) : new. (excel_write_state_free) : use excel_sheet_free. * ms-excel-read.c (ms_sheet_map_color) : rework to use GOColor (ms_sheet_realize_obj) : simplify greatly by using GObject properties with common names in the sheet objects and merging the handling of related types (text==rectangle ...) (ms_sheet_create_obj) : Use the new object types in a step towards removing this function. * ms-escher.c (ms_escher_read_OPT_bools) : new. (ms_escher_read_OPT) : read the boolean blocks as a group to avoid kludging around the infrastructure for 1:1 properties. While in here make the debug spew for complex options more useful Store PTR properties 2004-09-17 Jody Goldberg * ms-excel-read.c (ms_sheet_realize_obj) : default to outline with == 1 2004-09-22 Jody Goldberg http://bugzilla.gnome.org/show_bug.cgi?id=153260 * ms-excel-write.c (excel_write_BOF) : use the versioned ids directly (excel_write_FORMULA) : ARRAY is v2 for the versions we can export * ms-excel-read.c (excel_unexpected_biff) : tweak the typing for printf (ms_biff_bof_data_new) : straight to opcodes. (excel_read_PALETTE) : ditto. (excel_formula_shared) : ditto. (excel_read_DEF_ROW_HEIGHT) : ditto. (excel_read_FORMULA) : ditto, but be careful. Use the BOF version, not the record. Our export was dropping the version. (excel_read_ROW) : better handling for old versions. * ms-chart.c (ms_excel_chart_read) : use raw opcodes for non-chart records * ms-biff.c : Drop all the ms_op ls_op nonsense and just store opcode a straight 16 bit id. * biff-types.h : Rework to include explicit versioning for all records We were hitting too many odd ball records with invalid versioning Not just 0x1, but also 0x8 even though that is a valid version. 2004-09-16 Jody Goldberg * ms-excel-read.c (xl_find_fontspec) : Scale the right direction 2004-09-18 J.H.M. Dassen (Ray) * ms-excel-read.c: Added comments on how the paper size information can be used once gnome-print's API has been extended. 2004-09-17 Jody Goldberg * ms-escher.c (ms_escher_read_OPT) : make debug spew slightly easier to read. 2004-09-16 Jon K Hellan * ms-excel-write.c (xf_init): Register default XF, its font and format here. (pre_pass): Not here. 2004-09-15 Jon K Hellan * ms-excel-write.c (txomarkup_new): New. Factored out of cb_cell_pre_pass. (cb_cell_pre_pass): See above. (excel_write_ClientTextbox): Change first parameter to ExcelWriteState. Save markup. (excel_write_textbox): See above. (extract_txomarkup): New. Extract markup for text object and store in hash table. 2004-09-14 Jody Goldberg * ms-excel-util.c (init_xl_font_widths) : rework the font table completely to use more closely calibrated size info. * ms-excel-read.c (base_char_width_for_read) : delete (xl_find_fontspec) : new. (excel_read_COLINFO) : rework to simplify by using the new font table, and sync it with the exporter. (excel_read_DEF_COL_WIDTH) : ditto. (excel_read_sheet) : Store the default style on import. We have no way of modifying it at run time, so we might as well use it for export. 2004-09-09 Jody Goldberg * ms-chart.c (BC_R(pieformat)) : Store the separation for singletons (cb_store_singletons) : Check for pie separation and use it 2004-09-09 Jody Goldberg * ms-chart.c (excel_chart_series_new) : init singletons (excel_chart_series_delete) : free singletons if necessary (BC_R(end)) : Create any singletons for the newly created series 2004-09-09 Morten Welinder * ms-excel-read.c (excel_read_PALETTE): Plug leak. 2004-09-08 Jody Goldberg * Release 1.3.90 2004-09-07 Jody Goldberg * ms-excel-write.c (palette_init) : Just use biff8 palette. We're going to dump a custom palette anyway so it does not really matter 2004-09-04 Jon K Hellan * ms-excel-write.c (excel_write_ClientTextbox, excel_write_textbox): Implement simple text box export. (excel_write_objs, excel_sheet_new): Export text boxes. 2004-09-03 Jody Goldberg * ms-excel-write.c (palette_init) : Export the xlp5 colours too * ms-obj.c (ms_obj_read_pre_biff8_obj) : remove some unnecssary pre-conditions that got confused when there was no name even when we were not expecting one. (excel_get_default_palette) : get a corrected palette for biff7. * ms-excel-read.c (ms_sheet_realize_obj) : merge the realization of text/label/rectangle/oval they all inherit from sheet-object-filled. * ms-escher.c (ms_escher_read_OPT) : Make some headway understanding booleans and use that to fix outline and fill handling. 2004-09-02 Jody Goldberg http://bugzilla.gnome.org/show_bug.cgi?id=151618 * plugins/excel/ms-chart.c (BC_R(end)) : Add the plot to the chart before setting it up so that the initial setup does not override the formating 2004-08-31 Jody Goldberg * ms-biff.c (ms_biff_crypt_seq) : Add some bounds checking We need more docs in here. 2004-08-30 Jody Goldberg * ms-excel-write.c (excel_write_BOUNDSHEET) : Export the sheet types we can import (worksheet, chart, xlm). Export sheet visibility too 2004-08-31 Morten Welinder * md5.c (wvMD5Init, wvMD5Update): Use ANSI prototypes. 2004-08-29 Jody Goldberg * plugin.xml.in : disable the non-functional spreadsheetml importer 2004-08-29 Jody Goldberg * Release 1.3.2 2004-08-29 Jody Goldberg http://bugzilla.gnome.org/show_bug.cgi?id=151150 * ms-chart.c (ms_excel_chart_write) : bar/col plots center axis ticks 2004-08-27 Jody Goldberg * ms-chart.c (ms_excel_chart_write) : MS Xl can not handle plots with no data. Drop them with a warning. * ms-excel-write.c (excel_write_workbook) : We only need a header if we're going to export an image. 2004-08-26 Jon K Hellan * ms-excel-write.c: Remove ENABLE_METAFILE ifdef 2004-08-22 Jody Goldberg * ms-chart.c (BC_R(area,bar,line)) : Use the in_3d placeholders in plot_1_5d, we already export it. 2004-08-21 Jon K Hellan * ms-excel-read.c (excel_read_IMDATA): Add comment about OS/2 BMP format. 2004-08-20 Jody Goldberg * ms-excel-read.c (excel_read_BOUNDSHEET) : Fix differentiation between sheet and chart, then handle both. (excel_read_BOF) : Handle full page charts. * ms-chart.c (BC_R(pieformat)) : no need to limit separation here. The plot can handle it. 2004-08-17 Jon K Hellan * ms-excel-write.c: Enable WMF/EMF export. (blipinf_free): Don't crash if blip is NULL. That's supposed to happen. (excel_write_vector_blip): Fix off by 8 bytes error. 2004-08-12 Jody Goldberg * ms-excel-util.c (init_xl_font_widths) : adjust the sizes for 'Sans' to conform to XL's notion of an unknown font 2004-08-15 Jody Goldberg * ms-formula-write.c (write_node) : get closer to matching the classes for the more obscure variants, OOo is wrong, but I don't have a clear map on what is right yet. * ms-excel-write.c (excel_write_BOF) : update the version in the BOF a bit. * ms-formula-read.c : tweak the expected return types for SUM, TRANSPOSE, MINVERSE, and MMULT 2004-08-11 Jon K Hellan * ms-excel-read.c (excel_formula_shared): Simplify using g_memdup. (excel_read_IMDATA): Initialize variables. * ms-escher.c (ms_escher_blip_new, ms_escher_read_ClientAnchor): Ditto. * crypt-md4.c: Include crypt-md4.h and make signatures consistent with it. * crypt-md4.h: Add include guards. 2004-08-11 Jon K Hellan Export images. * Makefile.am (excel_la_SOURCES): Add crypt-md4.[ch] * crypt-md4.[ch]. New files. MD4 checksum to use as BLIP id. Grabbed from Ethereal, originally from Samba. * ms-excel-write.c: (blipinf_new): New function. Initialize a record for image data. (blipinf_free): New function. Free an image data record. (excel_write_image): New function. Write an image Sp record referencing a BLIP. (excel_write_objs): Include images in record length. Write images. (excel_sheet_new): Save image info. (excel_write_image_bytes): New function. Save image in chunks, letting the biff layer insert CONTINUE records. (excel_write_vector_blip): New function. Save a vector format BLIP. (excel_write_raster_blip): New function. Save a raster format BLIP. (get_bliptype): New function. Get bliptype record. (excel_write_blip): New function. Save an image BLIP. (excel_write_blips): New function. Save the images as BLIPs. (excel_write_workbook): Get length of BLIP records. Call excel_write_blips. (excel_write_state_new): Initialize cur_blip. (excel_write_state_free): Free BLIP lists from sheets. * ms-excel-write.h (struct ExcelWriteSheet): Add blips, num_blips. (struct _ExcelWriteState): Add cur_blip. 2004-07-10 Jody Goldberg * ms-excel-write.c (excel_write_workbook) : write WINDOW1 for all the views (excel_write_sheet) : Drop the WINDOW1 here but expand to write a WINDOW2, PANE, SCL, SELECTION tuple for all views, not just the current 2004-07-19 Jody Goldberg * Release 1.3.1 2004-07-05 Jody Goldberg * ms-excel-read.c (excel_read_IMDATA) : Add an optional mechanism for doing something with the data. Still not entirely sure what format it is. I'd hoped BMP but that does not appear to work. * biff-types.h : Add a few more records 2004-06-29 Jody Goldberg * ms-excel-read.c (excel_read_REFMODE) : new. * ms-excel-write.c (write_sheet_head) : export REFMODE 2004-06-26 Jody Goldberg * boot.c (excel_read_metadata) : Failure is a warning, not catastrophic * ms-chart.c (ms_excel_chart_write) : do not write FBI (chart_write_axis_sets) : Handle transposed X-Y (bars) 2004-06-22 Jody Goldberg * ms-excel-write.c (extract_gog_object_style) : handle no fmt for axis. (excel_write_objs) : the count is +1, not the spid 2004-06-20 Jody Goldberg * ms-excel-write.c (palette_get_index) : make public (excel_write_start_drawing) : new to handle spids across sheets. (excel_write_autofilter_objs) : use it. (excel_write_chart) : use it. (excel_write_objs) : do more detailed obj setup here. (put_color) : minor simplification. (extract_gog_object_style) : new (excel_write_state_new) : use it to collect the colors for the palette. (excel_sheet_new) : decide on sheet obejcts to export here. * ms-escher.c (-excel_write_MS_O_DRAWING_GROUP) : delete * ms-chart.c (}) : First pass at a basicly working chart exporter 2004-06-13 Jody Goldberg * ms-escher.c (excel_write_MS_O_DRAWING_GROUP) : merge the xp and 2k versions and tidy up. This will likely need some work for blips * ms-chart.c (chart_write_plot) : implement the plot types we can import. (chart_write_axis) : provide a default for inverted and log-scale so that we only set them if lookup succeeds. (ms_excel_write_chart) : more work. gnumeric and OOo can now import the basic column charts. XL does not like the colours and gets the formating wrong, but it can at least read a single chart happilly. * ms-excel-write.c (excel_write_chart) : put the spid in the write spot I was off by two bytes. (excel_write_autofilter_objs) : Move the container wrapper from here (excel_write_objs) : to this new routine so that it can be shared by filters and charts. We are now close to bit perfect matches to XP. 2004-06-07 Jody Goldberg * ms-excel-write.c (excel_write_chart) : add and End after the common * ms-chart.c (chart_write_color) : write. 2004-06-08 Morten Welinder * ms-excel-read.c (excel_read_FILEPASS): Use gnm_destroy_password. 2004-06-05 Jody Goldberg * ms-excel-write.c (excel_write_chart) : sync the sizes when exporting the anchor and object id. 2004-06-01 Jody Goldberg * ms-chart.c (BC_R(end)) : patch style leak 2004-05-31 Jody Goldberg * ms-chart.c : more fill in the blanks work towards export. (BC_R(seriestext)) : Use the simpler GODataScalarStr 2004-05-26 Jody Goldberg * ms-excel-write.c (excel_write_AUTOFILTERINFO) : Use the right buffer 2004-05-24 Jody Goldberg * ms-chart.c : more work towards chart export * ms-biff.c (ms_biff_put_2byte) : fix. 2004-05-21 Jody Goldberg * ms-excel-read.c (excel_read_WSBOOL) : add more comments. * ms-chart.c (ms_excel_write_chart) : start filling in some of the blanks. No where near functional, but at least we can operate in 'paint by numbers' mode for a while. * ms-biff.c (ms_biff_put_empty) : new util (ms_biff_put_2byte) : ditto. * ms-excel-write.c : Use the new utilities to clarify the code. (excel_write_SETUP) : make public for use in chart export (excel_write_SCL) : make public for use in chart export 2004-05-20 Morten Welinder * ms-escher.c (ms_escher_read_Blip): We were reading 8 bytes too few. 2004-05-15 Jody Goldberg * ms-excel-write.c (excel_write_BOF) : init the len for bifftypes before biff8. http://bugzilla.gnome.org/show_bug.cgi?id=103054 (write_sheet_head) : put externsheet tables in every sheet for biff7 (excel_write_externsheets_v8) : The self reference is for the addin, not the others. Fixes 103054 for XL97 (excel_write_workbook) : NAME records start at 0, not at the end of the externname table * boot.c (excel_file_open) : 95 in should export as 95 (find_content_stream) : keep track of what type of stream this is. * ms-chart.c (BC_R(axislineformat)) : deleted axis still exist, and they hide their labels here rather than in tick. Don't apply grid line styles to the axis. 2004-05-10 Jody Goldberg * ms-chart.c (BC_R(end)) : doh! Use the ExcelSeries::has_legend to set the GogSeries not the GogSeries on itself. 2004-05-09 Jody Goldberg * ms-excel-read.c (excel_read_WINDOW2) : It seems like there can be multiple WINDOW2, SCL, PANE, SELECTION blocks when there are multiple windows. For now we don't support importing multiple views so we need to at leat not break if a previous view was frozen. 2004-05-07 Jody Goldberg * ms-biff.c (ms_biff_put_var_write) : Quick and simple support for continue. It will not split a block of content, but it will split between blocks (attempted writes). 2004-05-06 Jody Goldberg * ms-obj.c (ms_obj_attr_get_*) : Take an attrbag rather than an obj to be more useful. * ms-escher.c (ms_escher_read_container) : add a 'return_attrs_in_container' kludge parameter. (ms_escher_parse) : make the return of the attributes optional and actually make it work. (ms_escher_read_OPT) : load properties for gradients. * ms-chart.c (BC_R(gelframe)) : support gradients (BC_R(legend)) : store the legend object. (BC_R(legendxn)) : notice deleted legend elements. (BC_R(text)) : import the text colour. (BC_R(end)) : support legend styles and clarify the grid vs plotarea distinction. 2004-05-03 Jody Goldberg * excel-xml-read.c : some tweaks to get a layout that will support richtext. 2004-05-04 Morten Welinder * ms-excel-write.c (excel_write_DV): Map VALIDATION_OP_NONE to VALIDATION_OP_BETWEEN on save. * ms-excel-read.c (excel_read_DV): Make sure VALIDATION_TYPE_CUSTOM is paired with VALIDATION_OP_NONE. 2004-04-29 Jody Goldberg * ms-excel-write.c (excel_font_overlay_pango) : new. (excel_write_RSTRING) : new. (cb_cell_pre_pass) : merge cb_collect_value_fmts, sst_collect_str add support for richtext (excel_write_cell) : export RSTRINGS for richtext 2004-04-22 Jody Goldberg http://bugzilla.gnome.org/show_bug.cgi?id=136086 * ms-excel-write.c (excel_sheet_write_DBCELL) : optimization was a bit optimistic. Even if there are no values, we still need to export rows with visible formating (borders, backgrounds, ...) 2004-04-21 Morten Welinder * ms-excel-read.c (excel_read_LABEL): Plug leak. 2004-04-20 Jody Goldberg * ms-excel-read.c (sst_read_string) : Use the right string when calculating offsets. 2004-04-19 Jody Goldberg * ms-chart.c (BC_R(end)) : graph style wants outline not line (ms_excel_read_chart) : there is not 'Graph' concept in xls, remove it's style. Charts default to blank too. 2004-04-19 Jody Goldberg * ms-excel-read.c (excel_sheet_insert_val) : fix the fix. We do need to apply the style, even if we're not going to assigned the format to the value. 2004-04-19 Jody Goldberg * ms-excel-read.c (sst_read_string) : don't forget the last markup element. Leave some debug in here to figure out what's going on with quick test. 2004-04-19 Jody Goldberg * ms-excel-read.c (excel_sheet_insert_val) : only assign a format if there is no existing markup. (sst_bound_check) : do some extra checking to ensure the existence of unbroken region of desired length. (sst_read_string) : handle rich text. 2004-04-18 Jody Goldberg * ms-obj.c (ms_obj_read_pre_biff8_obj) : fix the name offset for polygons * ms-excel-read.c : convert global_string char * array into an ExcelStringEntry sst array with strings and markup in preparation for reading richtext from an SST. 2004-04-17 Jody Goldberg * ms-excel-read.c (excel_read_HEADER_FOOTER) : new to handle biff8 vs biff7 (excel_read_LABEL_markup) : new. Handle biff[57] and biff8 RSTRING markup 2004-04-17 Jody Goldberg * ms-excel-read.c (excel_read_str_name) : new. (excel_read_str_name) : split from here. (excel_read_EXTERNNAME) : used here too. * ms-excel-read.c (excel_read_XF_OLD) : differentiate biff2 vs biff3 and biff4. 2004-04-15 Jody Goldberg * ms-chart.c (ms_excel_read_chart_BOF) : ignore the version in the BOF it lies. Use the container's version. * ms-excel-read.c (excel_read_NAME) : rework to handle unicode suffixes and to some general cleanup. 2004-04-14 Jody Goldberg * ms-excel-read.c (excel_read_DEF_ROW_HEIGHT) : handle biff2 (excel_read_WINDOW2) : ditto. (excel_read_EXTERNSHEET_v7) : be smarter about handling the buggy files from 1.0.7 that exported quoted sheet names. 2004-04-12 Jody Goldberg * ms-excel-read.c : Use GO_UNIT in place of inches_to_points. 2004-03-28 Jody Goldberg * Release 1.3.0 2004-03-18 Jody Goldberg * ms-excel-write.c (excel_write_WINDOW2) : We only support frozen panes. Set the flag indicating that this was only a freeze, not a split too. (excel_write_PANE) : docs are wrong. The field indicates what type of freezing. (excel_write_selections) : rework to match XL. (excel_write_SCL) : Only write the record if zoom != 100% (excel_write_BOF) : update BOF to XP sp2 * ms-excel-read.c (excel_read_SELECTION) : Allow the active pane from the PANE record to override the default of 3. (excel_read_PANE) : store the active pane. 2004-03-16 Jody Goldberg http://bugzilla.gnome.org/show_bug.cgi?id=137377 * ms-obj.c (ms_read_TXO) : init markup even if there is no string. 2004-03-11 Jody Goldberg http://bugzilla.gnome.org/show_bug.cgi?id=136730 * ms-excel-read.c (excel_get_xf) : be more flexible and handle xls generated with no XF records. (excel_get_style_from_xf) : ditto. (excel_sheet_insert_val) : ditto. * ms-obj.c (ms_obj_read_pre_biff8_obj) : despite the name PangoAttributes::end_index is exclusive, not inclusive. 2004-03-08 Jody Goldberg * ms-excel-read.c (excel_read_XF) : throw in a simple heuristic for when to set a valueformat. At issue is that we want to display dates/times formatted, but do not want to display accounting formats. This kludge disables the application for any format that has more than one condition. It's not strictly a solution, but it will solve the common problems. 2004-03-06 Jody Goldberg * ms-obj.c (ms_obj_read_pre_biff8_obj) : handle outline width for text boxes. * ms-excel-read.c (ms_sheet_create_obj) : ditto. 2004-03-06 Jody Goldberg * ms-obj.c (ms_obj_attr_new_markup) : new. (ms_obj_attr_get_markup) : new. (ms_obj_attr_destroy) : teach about PangoAttrList (append_txorun) : new. (ms_obj_read_pre_biff8_obj) : font colours come with the FONT info in txoruns. The docs are wrong the colour in the record is useless. Remove some extra debug spew. * ms-excel-read.c (excel_wb_get_fmt) : no point using pointers to ints. Just use G_INT_TO_POINTER. (ms_sheet_get_fmt) : ditto. (excel_read_BOUNDSHEET) : ditto. (excel_workbook_new) : ditto. (excel_workbook_reset_style) : ditto. (base_char_width_for_read) : ditto. (excel_read_FORMAT) : ditto. (excel_read_FONT) : ditto. (excel_get_font) : ditto. Also no need for this to take a sheet, take a workbook. (biff_font_data_destroy) : free the new optional attr lists. (ms_sheet_create_obj) : Use markup rather than a single colour. (biff_guint16_hash (guint16 const *d) (biff_guint32_hash (guint32 const *d) (biff_guint16_equal) : delete. (biff_guint32_equal) : delete. (excel_get_style_from_xf) : remove some useless code now that font substitution is handled at the app level. (add_attr) : new. (ms_wb_get_font_markup) : new. build a PangoAttrList from a FONT record. * ms-container.c (ms_container_get_fmt) : automatically chain up (ms_container_get_markup) : new. * ms-chart.c (chart_get_fmt) : delete. 2004-03-03 Jody Goldberg * ms-formula-read.c (excel_formula_parses_ref_sheets) : extend to handle local 3d references properly. 2004-02-22 Jody Goldberg * ms-chart.c (BC_R(end)) : We're using GogRadar rather than GogRadial. Set the no-marker state using the right name. (BC_R(radararea)) : set the area flag to indicate filled. 2004-02-21 Jody Goldberg * ms-excel-util.c (two_way_table_new) : store the destroy func. (two_way_table_put) : patch leak and use the destroy func on things that are already in the table. * ms-chart.c (BC_R(radar)) : connect the new engine (BC_R(radararea)) : ditto. 2004-02-09 Morten Welinder * ms-biff.c (ms_biff_query_next): Change to return gboolean and fix the g_return_val_if_fail results. 2004-02-04 Jody Goldberg * ms-excel-read.c (excel_read_CODENAME) : new routine to store the codename for later use while round tripping. (excel_read_sheet) : use it here. (excel_read_workbook) : use it here. * ms-excel-write.c (excel_write_CODENAME) : new routine to use the stored codename rather than generating one on the fly. (excel_write_sheet) : use it here. (excel_write_workbook) : and here. 2004-01-29 Jody Goldberg From Nick Lamb * ms-excel-read.c (excel_read_FILEPASS) : new. (excel_read_sheet) : use it here. (excel_read_workbook) : and here. 2004-01-28 Jean Brefort * plugins/excel/ms-chart.c: (scatter):add import of bubble plots 2004-01-28 Andreas J. Guelzow * ms-excel-read.c (excel_read_SETUP): use print_info_set_orientation * ms-excel-write.c (excel_write_SETUP): ditto 2004-01-16 Jody Goldberg * ms-escher.c (ms_escher_get_data) : as pointed out by Nick Lamb some gelframe records can get rather big. 2004-01-14 Jody Goldberg From Nick Lamb * ms-biff.c : Merge in patch to support xor based 'encryption' 2004-01-12 Jody Goldberg http://bugzilla.gnome.org/show_bug.cgi?id=130791 * ms-formula-write.c (excel_write_prep_expr) : fix cut-n-paste-o in change for 1.2.2 that added macros and broke plugin functions. 2004-01-07 Jody Goldberg * ms-excel-read.c (excel_read_SELECTION) : disable some debug spew. 2004-01-07 Jon K Hellan * ms-chart.c (BC_R(legend)): Initialize pos for XL_pos = 7. 2004-01-05 Jody Goldberg http://bugzilla.gnome.org/show_bug.cgi?id=130577 * ms-excel-write.c (excel_write_SELECTION) : generalize a bit. (excel_write_selections) : new wrapper to handle selectins for each pane http://bugzilla.gnome.org/show_bug.cgi?id=130579 * ms-excel-read.c (excel_read_SELECTION) : we only care about selections in the primary pane. 2003-12-24 Jody Goldberg * ms-excel-write.c (excel_write_WRITEACCESS) : don't free memory we do no own. (excel_write_COUNTRY) : init both fields. (write_sheet_head) : pre biff8 it was part of the sheet record. Its hard to tell if this should be part of every sheet or just the first. I've seen both. (write_workbook) : biff8 puts the COUNTRY record in the workbook area. 2003-12-23 Jody Goldberg * Release 1.2.3 2003-12-22 Jody Goldberg * ms-chart.c (BC_R(ifmt)) : pull in axis value format. 2003-12-19 Jon K Hellan * ms-excel-write.c (excel_write_WRITEACCESS): Use gnm_get_real_name to get user name. 2003-12-18 Jody Goldberg * ms-chart.c (XL_gog_series_set_dim) : Don't leak data we're not expecting. (BC_R(get_style)) : new. creates the style as necessary, and flags it to ignore the object's default settings. 2003-12-13 Jody Goldberg http://bugzilla.gnome.org/show_bug.cgi?id=127625 * ms-excel-read.c (excel_sheet_destroy) : kludge around autofilters in XL97 that have no related drop downs (eg guia.xls) 2003-11-26 Jody Goldberg * Release 1.2.2 2003-11-25 Jody Goldberg * ms-formula-write.c (excel_write_prep_expr) : handle macros. (write_funcall) : ditto. * ms-formula-read.c : add specs for the text_B_ functions (excel_parse_formula) : improve debug info. Fix unicode strings. * ms-excel-write.c (write_workbook) : unsigned does not go < 0 (cb_enumerate_macros) : new. (cb_write_macro_NAME) : new. (excel_write_names) : new. * ms-excel-read.c (get_xtn_lens) : add a limiter on the rich text warning. (excel_formula_shared) : add some debug. (excel_read_NAME) : register macro functions. (excel_read_ROW) : disable debug spew. (excel_read_CF) : ditto. (excel_read_DIMENSIONS) : ditto. (excel_read_GUTS) : ditto. (excel_read_HLINK) : target frame is first (according to xls-export-crash.xls) and the docs. (excel_read_SUPBOOK) : handle external workbooks with unicode names. * ms-escher.c (ms_escher_parse) : return the property bag. 2003-11-20 Jody Goldberg * ms-chart.c (BC_R(radar)) : Add a note. 2003-11-20 Jody Goldberg * ms-formula-read.c (make_function) : Take a Workbook to allow for for book local function lookup. 2003-11-20 Jody Goldberg * ms-excel-write.c (excel_sheet_new) : Include row/col info in the extent calculation. * ms-excel-write.c (excel_write_GUTS) : max col/row outline levels are one based. 2003-11-19 Andreas J. Guelzow * ms-excel-read.c (excel_read_SETUP): use print_info_set_n_copies 2003-11-18 Jody Goldberg * ms-chart.c (BC_R(lineformat)) : Handle 'invisible' (BC_R(markerformat)) : none is never auto. (BC_R(end)) : Set the plot defaults for line and XY. 2003-11-17 Jody Goldberg http://bugzilla.gnome.org/show_bug.cgi?id=127204 * ms-chart.c (ms_excel_read_chart) : remove any grids that were automaticly created if there were none in the input stream. * plugins/excel/ms-chart.c (BC_R(areaformat)) : we need to consider pattern = 0 as NONE only if it is not autoformat. Our theme engine does not change fill types, so it would ignore styles with fill=NONE 2003-11-15 Jody Goldberg * ms-excel-write.c (write_sheet_head) : save the manual recalc flag. 2003-11-14 Jody Goldberg http://bugzilla.gnome.org/show_bug.cgi?id=126908 * ms-excel-read.c (ms_sheet_create_obj) : gnumeric defaults to different outline and background colours. Set them if the file does not so that things look xl-ish. 2003-11-13 Jody Goldberg * ms-excel-write.c (excel_write_sheet) : store a CODENAME (write_workbook) : ditto. * boot.c (excel_save) : store the saved properties if we have them (excel_file_open) : store CompObj and properties. (excel_read_metadata) : its easier to blob the stream. 2003-10-27 Jody Goldberg * boot.c (find_content_stream) : Move this logic here. (excel_file_open) : from here. (excel_file_probe) : so that this can share it. 2003-10-25 Jody Goldberg * ms-excel-write.c (excel_write_SELECTION) : doh! 2003-10-18 Jody Goldberg http://bugzilla.gnome.org/show_bug.cgi?id=124244 [unable to open group] * ms-excel-read.c (excel_read_COLINFO) : set collapsed even if level == 0 (excel_read_ROW) : ditto. 2003-10-13 Jody Goldberg * ms-biff.c (ms_biff_query_next) : fail if we run out of data part way through a record. * ms-excel-read.c (excel_read_XF_OLD) : init all flags to FALSE. 2003-10-08 Jody Goldberg * Release 1.2.1 2003-10-08 Jody Goldberg * ms-chart.c (conditional_set_double) : Use the new const val GOData to support manual axis bounds and invert the logic to be correct. (BC_R(seriestext)) : store the text associated with axis and chart labels. (BC_R(end)) : free strings associated with text records if they haven't been used yet. 2003-09-30 Jody Goldberg * ms-excel-read.c (excel_read_HLINK) : typo 0x80 rather than 0x8 was breaking import of local workbook links (Thanks to Tim for noticing) 2003-09-29 Jody Goldberg From Nick Lamb * boot.c (excel_file_probe) : bug in libgsf < 1.8.3 that would not seek back to 0 on failed gsf_infile_msole_new. 2003-09-27 Jody Goldberg * ms-formula-write.c (write_funcall) : Use the last specified type for the remainder of the args in a vararg function. * ms-formula-read.c : AND,OR, and IF args appear to be V not R 2003-09-27 Jody Goldberg * ms-excel-write.c (excel_write_SST) : be extra careful about unicode characters > 0xfeff 2003-09-25 Jody Goldberg * ms-escher.c (ms_escher_read_OPT) : dump the complex data too so that we don't forget it exists. * ms-chart.c (excel_chart_series_new) : init style. (excel_chart_series_delete) : unref style if necessary. (BC_R(color)) : DOH! they use bgr no rgb. (BC_R(areaformat)) : handle none, and start work on pattern map. (BC_R(begin)) : make prettier with newline. (BC_R(dataformat)) : don't create the style here. Do it on demand in {area,line,marker}format. (BC_R(frame)) : notice the difference between a chart and a grid. (BC_R(markerformat)) : create the styles on demand. (conditional_set_double) : prep for importing manual axis bounds. (BC_R(valuerange)) : ditto. Still need a static GOData. (BC_R(end)) : hook the series and plot default styles in. Enable styles for charts and grids. 2003-09-23 Jody Goldberg * ms-chart.c (BC_R(lineformat)) : fix import of axis line styles. 2003-09-13 Nick Lamb * ms-excel-read.c (excel_sheet_new) : typo fix (excel_read_FORMAT) : Early BIFF uses smaller datatypes (excel_read_FONT) : Implement for early BIFF (excel_get_xf) : More early BIFF hacks (excel_read_XF_OLD) : New function, read OLD XF structures (excel_workbook_add_XF) : Obsoleted, removed (excel_formula_shared) : Early BIFF uses smaller datatypes (excel_workbook_reset_style) : New function, needed for XLW files (excel_read_EXTERNNAME) : typo fix, Early BIFF fixes (excel_read_NAME) : Early BIFF uses smaller datatypes (excel_read_sheet) : Style is per-sheet in XLW files, what default? Use excel_read_XF_OLD instead of excel_workbook_add_XF (excel_read_BOF) : Stop using excel_workbook_add_XF, report XL4 workbooks to stderr just like all other file types * ms-formula-read.c (excel_parse_formula) : Handle PTG_SHEET and PTG_SHEET_END, at least for known examples Also early BIFF as usual has smaller datatypes 2003-09-21 Jody Goldberg * ms-formula-read.c (excel_parse_formula) : disable debug spew. 2003-09-21 Jody Goldberg * 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 * ms-escher.c (excel_write_MS_O_DRAWING_GROUP) : Add UserDefined to silence some warnings. 2003-09-16 Jody Goldberg * 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 * ms-chart.c (ms_excel_read_chart) : patch leak. 2003-09-15 Jody Goldberg * Release 1.2.0 2003-09-15 Jody Goldberg * ms-chart.c (BC_R(legend)) : handle the legend's position. * ms-excel-util.c : "Arial Cyr" in addition to "Arial CYR" 2003-09-14 Jody Goldberg * ms-chart.c (BC_R(pie)) : don't confuse center diameter with separation, use it to distinguish between pie and ring. (BC_R(pieformat)) : handle separation here. 2003-09-13 Jody Goldberg * ms-chart.c (BC_R(tick)) : enable. Looks like axis label enabling should be here. Wonder what that flag in lineformat is for ?? 2003-09-13 Jody Goldberg * ms-chart.c (BC_R(lineformat)) : disable axis label setting for now it seems over zealous. 2003-09-13 Jody Goldberg * ms-chart.c (BC_R(color)) : disable debug spew. (BC_R(lineformat)) : impl. (BC_R(markerformat)) : impl. 2003-09-10 Jody Goldberg * Release 1.1.90 2003-09-03 Jody Goldberg * ms-excel-util.c (init_xl_font_widths) : 128pt does not seem like a good yard stick for Courier, Use 64, and scale it. Arial Narrow is even worse, size it based on 32pt 2003-08-22 Jody Goldberg * ms-excel-read.c (excel_read_BOF) : fix the warning. We need the stream pos at the _start_ of the sheet. 2003-08-21 Jody Goldberg * Release 1.1.20 2003-08-20 Jody Goldberg * ms-excel-read.c (excel_read_BOF) : finding a sheet not listed in the right place is a warning not a failure. * ms-excel-write.c (excel_write_DV) : handle missing titles and msgs 2003-08-09 Jody Goldberg * ms-chart.c (BC_R(areaformat)) : use the new GogStyle extensions. 2003-07-31 Andreas J. Guelzow * ms-excel-read.c (excel_workbook_destroy): remove last argument in workbook_sheet_reorder 2003-08-01 Jody Goldberg * ms-excel-util.c (init_xl_font_widths) : add a bunch of arial encodings. 2003-07-31 Jody Goldberg * ms-chart.c (BC_R(line)) : connect to the new line plot. (BC_R(area)) : connect to the new area plot. 2003-07-28 Jody Goldberg * ms-formula-read.c (make_function) : dup the name because plugins get removed before symbols do and we would crash referencing a static string from the plugin. (PHONETIC) : appears to have 1 arg (optional ?) 2003-07-24 Jody Goldberg * ms-biff.c (ms_biff_pre_biff8_query_set_decrypt) : new placeholder. (ms_biff_query_set_decrypt) : take a version so that we can correctly recognize encrypted files for versions before biff8. 2003-07-19 Jody Goldberg * ms-obj.c (ms_obj_read_pre_biff8_obj) : Parse scollbars and spinners * ms-excel-read.c (ms_sheet_realize_obj) : apparently spinners use scrollbar records. Pass the current value too. * ms-excel-write.c (excel_write_SST) : simplify a bit to avoid a potential corner case that would generate an empty CONTINUE. 2003-07-18 Jody Goldberg * ms-excel-write.c (excel_write_SST) : handle strings > 8224 bytes. (excel_sheet_write_block) : improve warning message and fallback to the default style when there is a problem. 2003-07-17 Jody Goldberg * ms-excel-util.c (init_xl_font_widths) : add Bitstream Vera, and its alias 'Sans' * ms-formula-read.c (parse_list_push) : be more resilient in the face of missing args. 2003-07-16 Jody Goldberg * ms-excel-read.c (ms_biff_get_chars) : make public. * ms-obj.c (ms_read_TXO) : use ms_biff_get_chars. 2003-07-16 Jody Goldberg * ms-obj.c (ms_read_OBJ) : always register the object. * ms-container.c : Make the obj_queue a GSList. (ms_container_get_obj) : new. (ms_container_realize_objs) : only realize MSObjs that have gnumeric objects. * ms-escher.c (ms_escher_header_init) : init new 'release_attrs' flag to allow us to pass management of an attr bag to an object, but still retain access to it. (ms_escher_header_release) : honour the flag. (ms_escher_read_ClientData) : set the flag. * ms-excel-read.c (excel_read_NOTE) : Discover an undocumented flag. 0x100 == no indicator visible While we're here store the author, and the inidcator position. (excel_read_HLINK) : frames are 0x80 not 0x8 (ms_sheet_realize_obj) : cheat to handle cell comments. In xl97 and up the comment objects store the possition of the display box, not the position of the indicator. We need a better comment object. (ms_sheet_realize_obj) : Store the text for text boxes too. (ms_sheet_create_obj) : no need to set a blank text, we assign it later. (ms_sheet_create_obj) : create comments. 2003-07-07 Jody Goldberg * ms-excel-read.c (excel_palette_get) : fix error message. 2003-07-02 Andreas J. Guelzow * ems-excel-write.c (xcel_sheet_new): add some spaces in strings 2003-06-21 Jody Goldberg * ms-chart.c (BC_R(chartformat)) : vary_style_by_element is now in plot * ms-excel-write.c : Start work on escher wrapper for exporting charts in XL97. NOT ENABLED OR FINISHED. 2003-06-11 Jody Goldberg * ms-excel-write.c (excel_sheet_new) : Capitalize and mark Excel as a trademark. 2003-06-11 Jody Goldberg * ms-chart.c (ms_excel_read_chart) : handle NULL sogs. That currently indicates an attempt to read a chart in its own notebook tab. 2003-06-07 Jody Goldberg * Release 1.1.19 2003-06-07 Jody Goldberg * Release 1.1.18 2003-05-30 Jody Goldberg * ms-chart.c (excel_chart_series_delete) : unref the data if nothing has used it. (BC_R(end)) : if we use the series clear the pointer. 2003-05-25 Jody Goldberg * ms-chart.c : remove xml, jump to goffice and disable anything that does not obviously connect to GOG for now. All we get are plot types and series for now, no formating. 2003-05-21 Jody Goldberg * ms-chart.c (BC_R(gelframe)) : enable debugging when dumping gelframes. * ms-escher.c (ms_escher_parse) : accept gelframes. (ms_escher_read_OPT) : the length _includes_ the header, don't try to read that too. (ms_escher_read_Blip) : ditto. weaken size restriction for uncompression. test-xls/billeterie2000-6.xls has a blip that is larger than its compressed content, dunno why. 2003-05-20 Morten Welinder * ms-excel-read.c: Adapt to StyleColor changes. * ms-excel-write.c: Adapt to StyleColor changes. 2003-05-19 Jody Goldberg * ms-excel-read.c (excel_read_CF) : tone down the amoutn of debug spew. * ms-excel-read.c (excel_read_XCT) : work around more undocumented xls crack. What the #$!@#&%!@ do negative counts mean. 2003-05-12 Jody Goldberg * ms-excel-write.c (excel_write_FORMULA) : set the alwaysCalc flag for cells with dynamic depends. 2003-05-11 Jody Goldberg * Release 1.1.17 2003-04-28 Morten Welinder * ms-excel-read.c (biff_string_get_flags): Fix 0/FALSE confusion. (biff_xf_data_destroy): Ditto. 2003-04-21 Jody Goldberg * ms-excel-write.c (excel_write_MERGECELLS) : handle too many merges for a single biff record. * ms-biff.c (ms_biff_max_record_len) : new. 2003-04-09 Morten Welinder * boot.c (excel_file_probe): Guard against gsf read error. (excel_file_open): Ditto. (excel_file_open): 2003-03-26 Jody Goldberg * ms-excel-read.c (excel_read_tab_color) : no need to operate on the pixel directly. Use the rgb in the StyleColor. (excel_read_WINDOW2) : ditto. 2003-03-18 Jody Goldberg * boot.c : suppress warning 2003-03-18 Jody Goldberg * ms-excel-read.c (excel_read_EXTERNSHEET_v7) : work around a bug in 1.0.x export that quoted names in EXTERNSHEET. (excel_read_workbook) : recognize 1.0.x files. (excel_workbook_new) : init the new flag. 2003-03-07 Morten Welinder * ms-chart.c (register_handlers): Use G_N_ELEMENTS. * ms-obj.c (ms_read_OBJ): Ditto. * ms-excel-write.c (excel_write_builtin_name): Ditto. (excel_write_FORMATs): Ditto. (map_pattern_index_to_excel): Ditto. * ms-excel-read.c (excel_map_pattern_index_from_excel): Ditto. 2003-03-05 Jody Goldberg * ms-biff.c (ms_biff_query_next) : more Morten warnings. (ms_biff_query_peek_next) : ditto. * ms-obj.c (ms_obj_read_biff8_obj) : TRUE on error in precondition 2003-02-05 Jody Goldberg * ms-excel-write.c (excel_write_FORMAT) : biff8 formats have 2 byte lengths, biff7 has 1 byte. * ms-excel-read.c (excel_read_FORMULA) : Add a quick size check. 2003-02-04 Jody Goldberg * boot.c (excel_file_probe) : actually return the flag, and support non-ole formats. 2003-01-28 Jody Goldberg * Release 1.1.16 2003-01-25 Jody Goldberg * excel-xml-read.c (xl_xml_wb) : quick framework to parse xml from Office XP. Just a descriptor for now no real work. 2003-01-21 Jody Goldberg * ms-excel-write.c (excel_foreach_name) : doh! 2003-01-08 Jody Goldberg * ms-excel-write.c (excel_sheet_new) : fix the text of the warning messages. (excel_foreach_name) : loop over the gnumeric data structures rather than the ExcelState wrappers so that we can do things before the ExcelSheets are created. * ms-biff.c (MAX_BIFF7_RECORD_SIZE) : increase this a smidge to match the actual limit and allow export to handle all 16k rows in xl95. 2003-01-06 Jody Goldberg * ms-excel-write.c (excel_write_state_new) : bp is not valid yet take biff7 and biff8 flags directly. 2003-01-02 Jody Goldberg * ms-excel-read.c (excel_read_1904) : Enable 1904 support. * ms-excel-write.c (write_workbook) : Set 1904 flag as necessary. 2002-12-31 Jody Goldberg * Release 1.1.15 2002-12-30 Jody Goldberg * ms-excel-write.c (excel_write_WRITEACCESS) : patch small leak, and add a sanity failsafe. 2002-12-29 Jody Goldberg * ms-biff.c (ms_biff_put_new) : Use the canonical name that is available in glibc, and libiconv. 2002-12-30 Jon K Hellan * ms-excel-read.c (excel_read_workbook): Pass filename to cmd_context_get_password. 2002-12-30 Morten Welinder * ms-excel-read.c (excel_formula_shared): Return NULL on failure, not FALSE. 2002-12-25 Jody Goldberg * ms-excel-write.c (excel_write_state_new) : register sheets with filters. check validation exppressions for sheets. (excel_write_prep_validations) : new. (excel_sheet_new) : init validation lists here if necessary. (excel_write_DVAL) : not here. 2002-12-24 Jody Goldberg * ms-excel-read.c (excel_read_NAME) : arrrggghh MS kills me. * ms-formula-read.c (excel_parse_formula) : disabled a bit too much debug info and broke the code. 2002-12-24 Jody Goldberg * ms-excel-read.c (ms_sheet_create_obj) : cut-n-paste-o in line creation support font color for text boxes. (excel_palette_get) : just call colour 64 black if it gets this far. It only happens for shet objects and we need to do more research on how to handle these. (excel_read_DV) : fix double free * ms-obj.c (ms_obj_read_pre_biff8_obj) : be more picky about what we call an arrow head. Fix the directions for lines. Find the undocumented flag to fix named objects. 2002-12-22 Jody Goldberg * Release 1.1.14 2002-12-22 Jody Goldberg * Release 1.1.13 2002-12-21 Jody Goldberg * ms-escher.c (excel_write_MS_O_DRAWING_GROUP) : new. * ms-excel-write.c (excel_write_AUTOFILTERINFO) : write the biff8 combos. Thats it we're done. 2002-12-20 Jody Goldberg * ms-excel-write.c (excel_write_AUTOFILTERINFO) : write the fields to handle the last 1/4 of the puzzle. The only thing missing now is exporting the combos for biff8. (excel_write_DOPER) : new. 2002-12-18 Jody Goldberg * ms-excel-write.c (excel_write_AUTOFILTERINFO) : new. (write_sheet_head) : use it here to export the 1st 1/4 of autofilters. (excel_write_NAME) : support hidden names. (excel_write_autofilter_names) : create pretend names for the 1st filter in each sheet. (write_workbook) : use excel_write_autofilter_names to generate the next 1/4 of autofilters. (excel_write_autofilter_objs) : generate simple biff7 style objects for the filter combos. (excel_write_sheet) : Use excel_write_autofilter_objs for the next 1/4. 2002-12-17 Jody Goldberg * ms-formula-write.c (excel_write_prep_expr) : make it public. (excel_write_prep_expressions) : just do the initialization not the dep walking. (excel_formula_write_NAME_v8) : new. (write_node) : handle names for biff8. * ms-excel-write.c (excel_write_BOF) : no need to clone XL2k bug that erroneously calls XL95 XL97. (excel_write_externsheets_v7) : we also export the selfref magic. (excel_write_NAME) : renamed from excel_write_NAME_v7 and extended to support biff8. (write_workbook) : export names for BIFF8 too. (cb_check_names) : new. (excel_write_state_new) : prep the expressions in names too. 2002-12-16 Morten Welinder * ms-excel-write.c (excel_write_map_errcode): Base on value_error_classify. 2002-12-16 Morten Welinder * ms-excel-read.c (biff_get_error): Rename from biff_get_error_text and return a full error instead. Add evalpos argument. All callers changed. 2002-12-15 Jody Goldberg * ms-container.c (ms_container_finalize) : cull out unused placeholders. 2002-12-13 Jody Goldberg * ms-formula-read.c : Tack on a 'shared' flag in alot of places to control the use of _REF/_AREA vs _REFN/_AREAN * ms-excel-write.c (excel_write_BOF) : bump generated BOF to look like MS excel 2k. (vip_hash) : new. (vip_equal) : new. (excel_write_DV) : new. (excel_write_DVAL) : new. (excel_write_NAME_v7) : export names using shared formula conventions. (excel_write_sheet) : export validation. (write_workbook) : add a XL9FILE flag. * ms-excel-read.c (excel_read_DV) : several small tweaks 1) string lengths are 2 bytes 2) Use the option flags to enable/disable input msg and validation 3) Parse expressions relative to the top left of the first range 4) Parse as shared expressions 2002-12-13 Jon K Hellan * ms-excel-read.c (excel_read_HLINK): Fix typo. 2002-12-08 Jody Goldberg * ms-excel-read.c (excel_prepare_autofilter) : don't fully register the magic filter name. 2002-12-06 Jody Goldberg * ms-excel-read.c (excel_read_AUTOFILTER) : don't forget the unicode header for biff8. 2002-12-03 Morten Welinder * ms-excel-read.c (excel_print_unit_init_inch): Convert to GnomePrintUnit. (excel_init_margins): Ditto. (excel_read_SETUP): Ditto. * ms-excel-write.c (excel_write_margin): Ditto. (excel_write_SETUP): Ditto. 2002-11-30 Jody Goldberg * ms-excel-read.c (excel_read_AUTOFILTER) : finish. (read_DOPER) : finish. 2002-11-29 Jody Goldberg * ms-excel-write.c (excel_write_WINDOW1) : make view const (excel_write_state_new) : ditto. * ms-excel-read.c (excel_prepare_autofilter) : new. (excel_read_NAME) : handle autofilters. * ms-escher.c (ms_escher_read_ClientTextbox) : store the text. * plugins/excel/boot.c (excel_save) : make the view const not the output. (excel_dsf_file_save) : ditto. (excel_biff8_file_save) : ditto. (excel_biff7_file_save) : ditto. 2002-11-26 Jody Goldberg * ms-excel-read.c (ms_sheet_create_obj) : use the new label setting utilities. 2002-11-28 Jon K Hellan * boot.c (excel_save, excel_dsf_file_save, excel_biff8_file_save) (excel_biff7_file_save): Receive gsf output stream from higher layer rather than creating and closing it here. 2002-11-25 Jody Goldberg * ms-excel-read.c (excel_set_xf) : remove bogus optimization. (excel_set_xf_segment) : ditto. We can not assume that the default is the current format. See 'Tax2001-23.xls' 2002-11-24 Jody Goldberg * ms-formula-read.c (excel_formula_parses_ref_sheets) : fix typo. check the source not the destination. 2002-11-24 Jody Goldberg * ms-obj.c (ms_obj_read_pre_biff8_obj) : add some fun. 2002-11-20 Jody Goldberg * ms-formula-write.c (excel_formula_write_NAME_v7) : support qualified names. * ms-excel-read.c (excel_read_EXTERNSHEET_v7) : fix handling of the sheet local names. * boot.c (excel_file_open) : Try the output even more and assign the savers as level AUTO. * plugin.xml.in : ditto. 2002-11-17 Jody Goldberg * biff-types.h : s/SXVX/SXVS/ ancient typo 2002-11-15 Jody Goldberg * Release 1.1.12 2002-11-15 Jody Goldberg * ms-formula-write.c : tidy up sheet hanlding in references. * ms-excel-write.c (excel_write_NAME_v7) : new. (excel_foreach_name) : ditto. (write_workbook) : produce names for biff7 including sheet local and placeholders. 2002-11-14 Jon K Hellan * plugin.xml.in: Remove "open" and "import" attributes. 2002-11-13 Jody Goldberg * ms-excel-write.c (excel_write_comments_biff7) : fix. #$^! libxml had poluted the global name space with function 'comment' which I accidentally used as a variable name without defining it. 2002-11-13 Jody Goldberg * ms-excel-write.c (excel_sheet_write_block) : speedup empty rows. And use the undocumented optimized form for the DBCELL (#rows == 0) when dealing with sparse regions. (excel_write_ROWINFO) : ignore empty rows. 2002-11-13 Jody Goldberg * ms-formula-read.c (excel_parse_formula) : fix typo that broke 3d references. * ms-formula-write.c (sheet_pair_add_if_unknown) : new. (excel_write_prep_expr) : use it for refs and regions. * ms-excel-write.c (excel_write_state_free) : release the function and sheet pair tables. (excel_write_SCL) : new. Clean up and support zoom > 100 (cb_write_sheet_pairs) : new. (excel_write_externsheets_v8) : generate sheet pairs for the externsheet. Still no support for external links. (excel_write_get_externsheet_idx) : implement. 2002-11-12 Jody Goldberg * ms-excel-write.c : Don't use StyleFont. In the case where a font does not exist on the display system it does the wrong thing. MStyle can contain an invalid font. StyleFont gets remapped to the default. 2002-11-12 Jody Goldberg * ms-excel-write.c (palette_get_index) : add a warning if we are going to lose a colour. (gather_palette) : improve debug. * ms-excel-util.c (two_way_table_move) : rename from two_way_table_replace and fix. 2002-11-11 Jody Goldberg * ms-formula-write.c (write_cellref_v7) : fix signature. (write_cellref_v8) : ditto. (write_ref) : fix biff8 case. * ms-excel-write.c (gather_styles) : we already gathered the most common styles earlier. (excel_sheet_new) : most common style in a column does not extend the column. * ms-biff.c (ms_biff_put_len_next) : handle correct max biff record sizes for biff7 vs biff8. Looks like they teaked things so that the dbcell records will always fit in 1 biff record. (ms_biff_put_len_commit) : ditto. 2002-11-10 Jody Goldberg * ms-biff.c (ms_biff_put_new) : take a codepage as an argument. * ms-excel-write.c (excel_write_v7) : pass in the code page we stored on import. (excel_write_v8) : ignore the codepage. biff8 uses unicode. * ms-excel-read.c (excel_read_workbook) : store the codepage we imported with. 2002-11-10 Jody Goldberg * ms-formula-write.c (write_arrays) : rewrite. 2002-11-10 Jody Goldberg * ms-formula-write.c (write_string) : Use excel_write_string. (write_arrays) : Use it here, but this code is suspect. * ms-excel-write.c (excel_write_string_len) : new routine to find char and byte lengths of strings. (current_workbook_iconv) : delete. (biff_convert_text) : delete. (biff_put_text) : delete. (excel_write_string) : new replacement for biff_put_text that does the conversion and writting inline rather than from a buffer, has smarter unicode handling and a more useful set of flags. (excel_write_externsheets_v7) : Use it here. (excel_write_externsheets_v8) : Use it here. (excel_write_NAME_v7) : Use it here. (excel_write_BOUNDSHEET) : Use it here. (excel_write_FONT) : Use it here. (excel_write_FORMAT) : Use it here. (excel_write_value) : Use it here. (excel_write_FORMULA) : Use it here. (excel_write_comments_biff7) : Use it here. (excel_write_SST) : Handle the unicode caes. (excel_write_WRITEACCESS) : new to handle biff7 vs biff8 (excel_utf8_has_multibyte) : delete. (write_workbook) : Use excel_write_WRITEACCESS and clean up the codepage handling to conform to biff7 == single byte vs biff8 == unicode. * ms-excel-biff.h (EX_SETSTRLEN) : delete. * ms-biff.c (ms_biff_put_new) : Add a buffer and iconv handler to simplify string handling. excel95 gets locale specific handler. excel97 and up goes to utf16-le. (ms_biff_put_destroy) : cleanup. 2002-11-07 Jody Goldberg * ms-excel-write.c (excel_write_state_new) : merge biff7 and biff8 versions. (excel_write_externsheets_v8) : basic initial implementation handles externnames. * ms-excel-read.c (excel_read_workbook) : add a flag to indicate dual stream file. * boot.c (excel_file_open) : set the saver reasonably intellifently. (excel_save) : support dual stream files. (excel_dsf_file_save) : new. * plugin.xml.in : enable dual stream files 2002-11-05 Jody Goldberg * 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 * 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) * ms-biff.c, ms-escher.c, ms-excel-read.c, ms-excel-write.c, ms-formula-write.c, ms-obj.c: Included headers for some standard library functions. 2002-11-04 Nick Lamb * biff-types.h: Add BIFF_INTEGER * ms-excel-read.c: More non-OLE Excel file support. 2002-11-02 J.H.M. Dassen (Ray) * ms-obj.h: Added declaration of ms_obj_new . 2002-11-01 Jody Goldberg * Release 1.1.11 2002-10-31 Jody Goldberg * ms-formula-read.c (excel_parse_formula) : adjust the name and externname handling. * ms-excel-read.c (excel_workbook_new) : make supbook an array rather than a ptr array. (excel_workbook_destroy) : cleanup the new data structures. (excel_read_EXTERNNAME) : revamp handling for biff8 to store in a distinct structure from the NAMEs, and associate that with the SUPBOOK even though the docs claim otherwise. I suspect the docs were written for Biff7 and not updated. This is the only thing that makes sense based on the record ordering. (excel_read_NAME) : merge in the ms_container_add_name code. (excel_externsheet_v8) : simplify the interface and return the structure (supbook_get_sheet) : adjust to the new data structures. (excel_read_SUPBOOK) : be more expressive. We're ready to handle externals now. Just need to write a parser for the links. * ms-container.c (ms_container_get_name) : No sense having it here. The code is specific to the PTG handler. move it there. (ms_container_add_name) : also more specific to the NAME and EXTERNNAME handlers. Move it there. 2002-10-30 Jody Goldberg * ms-excel-read.c (excel_read_NAME) : handle unicode names. 2002-10-28 Morten Welinder * ms-escher.c (ms_escher_read_ClientTextbox): Don't leak text even though we haven't implemented the feature. (I'm tired of hunting this leak down.) 2002-10-28 Jody Goldberg * ms-excel-write.c (excel_write_WINDOW2) : go back to selecting the current sheet. (excel_write_WINDOW1) : store the currently selected sheet here too. * ms-excel-read.c (excel_read_EXTERNSHEET_v7) : kludge around screw up in opencalc exporter. 2002-10-27 Nick Lamb * ms-excel-read.c: Factor out some code into new functions, more support for non-OLE Excel files, especially formulae. 2002-10-27 Jody Goldberg * Release 1.1.10 2002-10-26 Jody Goldberg * ms-excel-write.c : Start rationalizing things. * ms-formula-write.c : ditto. Lots of adjustments. - start handling biff7 externsheets correctly - fix handling of non builtin functions * ms-excel-read.c (excel_add_name) : delete. (excel_workbook_get_name) : ditto. * ms-formula-read.c : Hopefully the last major tweak to names and externsheets for biff7. This now loads all test cases smoothly. It seems that biff7 stores per bof sets of externsheets. * ms-container.c (ms_container_init) : Add a version and a workbook pointer. Init the new biff7 extern handling data structures. (ms_container_finalize) : and release them here. (ms_container_get_name) : new to handle biff7 or biff8 magic. (ms_container_add_name) : ditto. * ms-chart.c (BC_R(ai)) : parse the expression as ourselves, not the container. (chart_parse_expr) : implement. (ms_excel_chart) : handle EXTERNSHEET and EXTERNCOUNT for biff7 style storage with per BOF EXTERN*. * ms-biff.c (ms_biff_put_destroy) : take responsibility for the output stream. * boot.c (excel_save) : check that we can open the output file before we bother collecting things for export. 2002-10-25 Jody Goldberg * ms-excel-read.c (excel_read_XF) : init shrink to fit in the non biff8 case. 2002-10-24 Jody Goldberg * ms-excel-read.c (excel_parse_name) : patch leak. 2002-10-25 Morten Welinder * ms-biff.c (skip_bytes): Make scratch buffer static to ensure it's initialised. Add assert, just in case. 2002-10-24 Morten Welinder * ms-excel-read.c (excel_read_XCT): Fix typo, I think. 2002-10-21 Jody Goldberg * ms-formula-read.c (excel_parse_formula) : Ok. take a 2nd crack at the externsheet handling in area3d and ref3d for biff7. It seems like XL2k generates different indicies when exporting as XL95 than XL95 did. So have a fall back. If the theory that a+1 == -ixals, a, b are 0 based fails. Go back to a == ixals, and a, b are 1 based 2002-10-21 Jody Goldberg * ms-formula-read.c (ms_excel_parse_formula) : improve readability of debug spew and send thing to stderr. Fix handling of extern names and refrences. This time I think we've finally got it. 2002-10-21 Jody Goldberg * ms-excel-read.c : tidy up naming conventions excel_read_ - Use fprintf to keep g_warning and printfs in sync - Use esheet for ExcelSheets and ewb for ExcelWorkbooks - Use Sheet and wb for the gnumeric variants (ms_excel_sheet_new) : check to see if the sheet already exists in case it was implicitly created in a SUPBOOK or EXTERNSHEET. This will be useful when we start restoring external links shortly. (ms_excel_workbook_attach) : delete. (ms_excel_workbook_detach) : delete. (ms_excel_sheet_destroy) : clear out the sheet local extensheet records for biff5. (excel_read_BOUNDSHEET) : use ms_excel_sheet_new. (excel_externsheet_v8) : rewrite to handle self ref. Only partially done. (supbook_get_sheet) : ditto. (excel_read_EXTERNSHEET_v8) : ditto. (excel_externsheet_v7) : fix to use local externsheets. (excel_read_EXTERNSHEET_v7) : rewrite and prep for external references. (excel_workbook_get_name) : work around 'self ref' records for biff8. (excel_parse_name) : work on scoping. works for biff7 not biff8. (ms_excel_handle_delayed_NAMEs) : delete. the externsheet records are enough. (excel_read_EXTERNNAME) : builtin names are just short forms for names, they have special meanings to XL but no special behavior. (excel_read_NAME) : ditto. Use the new externsheet setup and drop all of the delayed parsing goo. (excel_read_XCT) : new. prep for external references. (excel_read_CALCMODE) : new. now that we support manual recalc. 2002-10-17 Jody Goldberg * ms-excel-read.c (ms_excel_parse_NAME) : It looks like some builtinnames are just names, no definitions. eg 'Database' It also looks like these sheet_indexes apply to externsheet records for <= biff7 (see pivot.xls) rather than boundsheets. 2002-10-13 Jody Goldberg * ms-excel-read.c (ms_excel_read_pane) : the sizes are only valid if there is a freeze in that direction. * ms-excel-read.c (ms_excel_read_dv) : Fix handling of empty strings and improve validation. NOTE : This is likely to come up again. We need to know when there is always a 1 byte header, and when there isn't in biff_get_text. 2002-10-09 Morten Welinder * ms-obj.h (struct _MSObj): Avoid "gboolean ... : 1". * ms-excel-read.h (struct _ExcelSheet): Avoid "gboolean ... : 1". 2002-10-10 Nick Lamb * plugin.xml.in: Excel 4.x had .XLW workbooks as well as .XLS * boot.c: Try to load non-OLE files too 2002-10-09 Morten Welinder * ms-excel-read.c (ms_excel_workbook_destroy): Don't leak ->supbooks. 2002-10-08 Jody Goldberg * ms-excel-write.c (write_names) : Fix leak by not inserting copies of of the name string. 1) no need to copy 2) no need to do a string compare 2002-10-07 Jody Goldberg * ms-excel-read.c (ms_excel_read_workbook) : handle workbook protected files (thanks jpablo). 2002-10-04 Jody Goldberg * ms-excel-read.c (ms_excel_parse_NAME) : ahhh, I understand now. names with expr_len == 0 represent the placeholders used for unknown names. 2002-10-02 Jody Goldberg * ms-chart.c (BC_R) : handle empty text. * boot.c : simplify now that IOContext inherits from CommandContext Move the metadata export here for symetry with the import. 2002-09-30 Jody Goldberg * plugin.xml.in : disable 97 until it is ready for widespread use 2002-09-30 Jody Goldberg * Release 1.1.9 2002-09-30 Jody Goldberg * boot.c (excel_file_open) : typo 2002-09-27 Jody Goldberg * boot.c (excel_save) : restore macros. * boot.c (excel_file_open) : handle confused files that misname the streams. Store macros if they exist. 2002-09-26 Jody Goldberg * ms-formula-read.c (ms_excel_parse_formula) : fix handling of 26 & 27. The docs are confusing. The cached data is appended not to the the subexpression but to the entire string. While we're here add a stub for tables. 2002-09-26 Jody Goldberg * ms-formula-read.c (ms_excel_parse_formula) : supply handling of pgts 26 & 27. We can ignore them but they frequently wrap the intersection operator, the export will be a pain in the butt. 2002-09-25 Jody Goldberg * ms-formula-read.c (binary_ops) : enable intersection still needs work. * ms-formula-write.c (ms_formula_build_pre_data) : ditt. (write_node) : ditto. 2002-09-15 Jody Goldberg * ms-formula-read.c (const) : DateDif takes 3 arguments. 2002-09-10 Morten Welinder * ms-escher.c: Make shade_ParamMask be within int's range by casting it. * ms-escher.c: Avoid trailing commas in enums. 2002-09-05 Jody Goldberg * ms-formula-write.c (ms_formula_write_pre_data) : remove some obvious silliness 2002-09-04 Jody Goldberg * *.c : remove ifdef WITH_BONOBOization of graphs 2002-08-30 Jody Goldberg * boot.c (excel_read_metadata) : new. (excel_file_open) : read the doc and summary meta info streams. Don't do anything with the data yet, but start the ball rolling. 2002-08-30 Morten Welinder * ms-excel-read.c (ms_excel_read_formula): Avoid copying of string. (ms_excel_parse_formula): Ditto. 2002-08-29 Morten Welinder * ms-excel-util.c (two_way_table_new): Take an extra arg for getting rid of keys. All callers changed. * ms-excel-write.c (formats_init): Supply an unreffer to two_way_table_new. 2002-08-29 Morten Welinder * ms-excel-write.c (free_workbook): Plug leaks. 2002-08-28 Jody Goldberg * ms-excel-read.c (ms_excel_read_workbook) : excel_iconv_open_for_import moved to libgsf. 2002-08-28 Jody Goldberg * ms-excel-read.c (ms_excel_read_workbook) : gnm_iconv_close moved to libgsf. * ms-excel-write.c (write_workbook) : ditto. * ms-summary.c (ms_summary_read) : ditto. (ms_summary_write) : ditto. 2002-08-25 Jody Goldberg * Release 1.1.8 2002-08-25 Jody Goldberg * ms-excel-write.c (excel_write_externsheets) : store the unquoted name. (excel_write_SELECTION) : swap args to be consistent. Store current pane == 3 rather than 0 to silence the warning when loading our sheets in MS Excel. (ms_excel_write_workbook) : add some dummy metadata streams. 2002-08-21 Jody Goldberg * ms-obj.c (ms_obj_new) : add a convenience routine to be safe. (ms_read_OBJ) : Use it here. 2002-08-19 Jon K Hellan * ms-biff.c (ms_biff_query_peek_next, ms_biff_put_var_seekto, ms_biff_put_var_commit, ms_biff_put_len_commit): Use glib's seek enum instead of the enum which used to be in libgsf. * ms-excel-write.c (biff_boundsheet_write_last, write_index): Ditto. 2002-08-18 Jody Goldberg * ms-excel-util.c (excel_iconv_open_for_import) : fix unicode codepage to be actual unicode with the high bit lopped off, which I hope is synonymous with 8859-1. This still needs to be translated into UTF-8. 2002-08-17 Jon K Hellan * ms-chart.c (BC_R): Fix typos. 2002-08-17 Jody Goldberg * ms-excel-util.c (get_locale_charset_name) : delete. (excel_iconv_open_for_import) : realize that 1200 and 1201 are both unicode and that we only want to convert to UTF-8. (excel_wcstombs) : die die die. We may need this again one day when exporting UTF-8 back to xl 95. But we'll cross that bridge when we come to it. * ms-excel-read.c (get_chars) : internally text should always be UTF-8. (ms_excel_read_workbook) : fix the warning. I've found some references for the code pages. 2002-08-16 Jon K Hellan * ms-excel-read.c (ms_excel_read_SUPBOOK): Shut up warning. 2002-08-15 Jon K Hellan * ms-excel-write.c (biff_boundsheet_write_last, write_index): Change type of oldpos variable to gsf_off_t. 2002-08-13 Jody Goldberg * ms-obj.c (ms_obj_read_pre_biff8_obj) : support colours for polygons. * ms-excel-read.c (ms_sheet_create_obj) : Add support for polygon colours. (ms_sheet_obj_anchor_to_pos) : hmm, our supposition that >= 97 == 1/256 and < 97 == 1024 seems wrong in the face of chap03-1. 2002-08-12 Jody Goldberg * Release 1.1.7 2002-08-12 Jody Goldberg * ms-obj.c (ms_object_attr_new_array) : new. (ms_object_attr_get_expr) : ditto. (ms_object_attr_destroy) : support arrays. (ms_obj_read_pre_biff8_obj) : Parse the coord list for polygons. * ms-excel-read.c (ms_excel_read_SUPBOOK) : do a touch more. Still need to write the encoded path parser. * ms-excel-read.c (ms_excel_read_cf) : don't leak. 2002-08-11 Jody Goldberg * ms-formula-read.c (ms_excel_parse_formula) : add bounds testing to reading const strings. It will save us from corrupt data, and rescue us from the misexported xls in 1.0.6,1.0.7 * ms-excel-read.c (biff_xf_data_new) : read shrink to fit. (ms_excel_parse_NAME) : Ignore 0 length expressions. * ms-formula-read.c (expr_tree_error) : new. (parse_list_pop) : use it more loudly here. (ms_excel_parse_formula) : and here. 2002-08-09 Jody Goldberg * ms-excel-read.c (ms_excel_read_workbook) : silence the warnings caused by reading the padding at the end of files. 2002-08-08 Jody Goldberg * ms-formula-read.c (ms_excel_parse_formula) : improve handling of arrays. * ms-excel-read.c (biff_boundsheet_data_new) : improve debug spew. (sst_read_string) : no need to pass version an sst is biff8 specific. (ms_excel_read_SST) : ditto. (ms_excel_read_EXSST) : new convience routine. (biff_boundsheet_data_new) : move boundsheet_data_by_index into a ptr array, and store the gnumeric sheets directly. (ms_excel_workbook_new) : use g_hash_table_new_full to make cleanup easier. (ms_excel_workbook_destroy) : simplify. (ms_excel_read_SETUP) : support the 'print comments' flag (ms_excel_read_MULRK) : split into its own function. (ms_excel_read_MULBLANK) : ditto. (ms_excel_read_SCL) : ditto (ms_excel_read_sheet) : spew the sheet password in case we need to generate it. (ms_excel_SUPBOOK) : I finally understand the self reference magic. More work to do to support external links. (ms_excel_workbook_get_externsheet_v8) : improve the warnings on error. (ms_excel_externsheet_v8) : those sheet indicies are BOUNDSHEET references if the supbook is a self reference. We cannot directly access the Gnumeric sheets because XL has hidden elements that skew the index. (ms_excel_workbook_get_externsheet_v7) : ditto. (ms_excel_externsheet_v7) : store the sheet directly. * ms-excel-write.c (write_magic_interface) : biff8 stores the code page in the interface header for some reason. (ms_excel_write_EOF) : rename from biff_write_eof. (excel_write_SETUP) : new. (write_wsbool) : remove duplicate code. (excel_write_COUNTRY) : new. (write_sheet_head) : tidy. (excel_write_sheet_tail) : SCL is not version specific. (sst_collect_str) : new. (ms_excel_write_SST) : prepare to write an SST (not finished) 2002-08-07 Jody Goldberg * ms-excel-write.c (init_base_char_width_for_write) : delete. (style_get_char_width) : renamed from get_base_char_width as it is now just a wrapper around the (ms_excel_write_DEFCOLWIDTH) : renamed from write_default_col_width and use the right font in the width calculations. (ms_excel_write_COLINFO) : renamed from write_colinfo and use the right font in the width calculations. 2002-08-06 Morten Welinder * *.c: use gsf_le_get_double and gsf_le_set_double. 2002-08-05 Jody Goldberg * ms-biff.c (ms_biff_put_var_write) : const. * ms-excel-write.c (write_magic_interface) : Use the symbolic names. (biff_put_text) : no need to write 8byte text 1 byte at a time. 2002-08-06 Morten Welinder * md5.h (UINT4): Portability fix. * rc4.h: Guard. * md5.h: Guard. * biff-types.h: Guard. * escher-types.h: Guard. * formula-types.h: Guard. 2002-08-04 Jody Goldberg * ms-formula-read.c (ms_excel_parse_formula) : remove bogisity about 'Magic Addin Name' 2002-07-22 Zbigniew Chyla * plugin.xml.in: Set loader type to "Gnumeric_Builtin:module". 2002-08-01 Jody Goldberg * ms-excel-write.c (biff_put_text) : set the unicode flag on the string header for unicode strings. This routine needs to be cleaned up to handle UTF-8 -> UTF-16 if necessary. (biff_boundsheet_write_first) : tidy and make the name len 1 byte. (gather_palette) : convert to new two way table convention. (gather_fonts) : ditto. (gather_formats) : ditto. (xf_free) : ditto. (after_put_mstyle) : ditto. (put_mstyle) : simplify. (xf_init) : delete. (cell_used_map_new) : delete. (cell_mark_used ) : delete. (cell_is_used) : delete. (excel_cell_get) : delete. (pre_cell) : delete. (pre_blank) : delete. (pre_blanks) : delete. (pre_colstyle) : delete. (gather_styles) : greatly simplify by using the knowledge that there is a per sheet hash of the styles in use. (cb_accum_styles) : new. (write_cell) : Use the gnumeric data structures directly. (write_block) : ditto. (ms_excel_write_wsbool) : new. (write_sheet_head) : use ms_excel_write_wsbool. (excel_sheet_new) : no more need for large cell map. (excel_sheet_free) : ditto. * ms-excel-util.c (two_way_table_new) : Allow for ptr tp ptr comparisons as an optimization. (two_way_table_free) : ditto. (two_way_table_put) : ditto. (two_way_table_replace) : ditto. (two_way_table_key_to_idx) : ditto. * boot.c (excel_save) : bah! I forgot to commit this. export is broken without it. 2002-07-21 Jody Goldberg * Release 1.1.6 2002-07-19 Jody Goldberg * ms-excel-read.c (ms_excel_read_hlink) : improve bounds checking. 2002-07-19 Jody Goldberg * plugins/excel/ms-excel-read.c (ms_excel_read_hlink) : tidy up and support custom tool tips. 2002-07-18 Jody Goldberg * ms-excel-read.c (ms_excel_read_imdata) : only read the amount of data in the imrecord. not all continues add infinitum. Fixes guia.xls. * ms-obj.c (ms_read_TXO) : don't expect continue records if there is no text. Fixes guia2.xls. 2002-07-16 Jody Goldberg * ms-excel-read.c (ms_excel_read_sheet) : reorder 0x1xx entries to be in increasing order and support hlinks. (ms_excel_read_hlink) : new. 2002-07-14 Jody Goldberg * ms-obj.c (ms_obj_read_pre_biff8_obj) : move the initialization of the prop bag from here. (ms_read_OBJ) : to here. Fixes the guia2 hash warnings. 2002-07-09 Morten Welinder * boot.c (excel_file_open): Don't leak the stream. 2002-06-27 Jody Goldberg * ms-excel-read.c (ms_excel_read_selection) : put the edit_pos in the right place. * ms-excel-write.c (write_sheet_tail) : Use stern_brocot to get a reasonable fraction. (write_sheet_selection) : split the writing of the selection out into here and implement it. 2002-06-22 Jody Goldberg * ms-formula-write.c (operations) : export intersection. * ms-formula-read.c (ms_excel_parse_formula) : enable mem_func support. (binary_ops) : use range_ctor for RANGE. 2002-06-20 Jody Goldberg * ms-excel-read.c (ms_excel_workbook_new) : store the workbookview. (ms_excel_read_selection) : selection is now in the view. 2002-06-06 Jody Goldberg * ms-excel-read.c (ms_excel_read_workbook) : convert to gsf. No need to handle the ole here. Just take a GsfInput. That way we can try to parse non ole files too :-) * ms-biff.c (ms_biff_query_set_decrypt) : convert to Gsf. (ms_biff_query_new) : ditto. (ms_biff_query_peek_next) : ditto. (ms_biff_query_next) : ditto. * boot.c (excel_file_probe) : convert to GsfInput. (excel_file_open) : ditto. * biff-types.h : add a few under-documented opcodes. 2002-05-28 Jody Goldberg * ms-biff.c (ms_biff_query_peek_next) : we only need the opcode, not the length. 2002-05-14 Jody Goldberg http://bugzilla.gnome.org/show_bug.cgi?id=81766 * ms-excel-read.c (ms_excel_read_formula) : work around undocumented 'feature' that will store a 0 length RECORD for empty strings. 2002-05-29 Jody Goldberg * Release 1.1.4 2002-05-15 Jody Goldberg * ms-biff.c (verify_password) : support unicode passwords. 2002-05-15 Andreas J. Guelzow * ms-excel-read.c (ms_excel_init_margins) : margins are now in print_config (ms_excel_read_setup) : ditto (ms_excel_read_sheet) : ditto * ms-excel-write.c (margin_write) : ditto (write_sheet_head) : use modified margin_write 2002-05-05 Jody Goldberg * ms-obj.c (ms_obj_read_biff8_obj) : tack on a flag to handle the magic associated with combos for filters. * ms-excel-read.c (ms_sheet_create_obj) : respect the new flag. 2002-04-29 Jody Goldberg * Release 1.1.3 2002-04-21 Jody Goldberg * ms-excel-read.c (ms_excel_externsheet_v8) : handle references to deleted sheets. * ms-escher.c (ms_escher_read_Blip) : remove some debug cruft. 2002-04-15 Jon K Hellan * boot.c: s/main.h/libgnumeric.h/ * ms-excel-write.c: Ditto. 2002-04-13 Jody Goldberg * ms-excel-read.c (ms_excel_read_AUTOFILTER) : start work on filters. (ms_excel_read_sheet) : support the filter records. 2002-04-13 Jon K Hellan * ms-chart.c: s/ENABLE_BONOBO/WITH_BONOBO/ * ms-excel-read.c: Ditto 2002-03-27 Jody Goldberg * ms-biff.c (ms_biff_query_set_decrypt) : protect against NULL passwords. 2002-03-25 Jody Goldberg * Release 1.1.2 2002-03-26 Jody Goldberg * ms-biff.c (wvMD5StoreDigest) : new from libwv-7.1 (makekey) : ditto. (verify_password) : tweaked from libwv. (skip_bytes) : new. (ms_biff_query_set_decrypt) : new. (ms_biff_query_new) : support encryption. (ms_biff_query_next) : ditto. (ms_biff_query_destroy) : ditto. * ms-excel-read.c (ms_biff_bof_data_new) : Use the un-decoded data. (ms_excel_read_sheet) : comment that it seems like bytes 12 & 16 are not encrypted. (biff_boundsheet_data_new) : stream start pos seems un encrypted. 2002-03-22 Jon K Hellan * ms-excel-read.c (ms_excel_get_style_from_xf): Be prepared for color 65 as pattern color. 2002-03-20 Jody Goldberg * ms-excel-read.c (ms_excel_read_sheet) : 15 is the default fmt for cells. 0 is the default style fmt that is its parent. (ms_excel_set_xf) : not strictly correct. We should apply if the col, row is different. (ms_excel_set_xf_segment) : no need to apply if it is the default. 2002-03-18 Morten Welinder * ms-excel-read.h (_ExcelWorkbook): Add sharer. * ms-excel-read.c (ms_excel_workbook_new): Initialize sharer. (ms_excel_workbook_destroy): Destroy sharer. * ms-formula-read.c (ms_excel_parse_formula): Share resulting formulae. 2002-03-16 Jody Goldberg * ms-excel-read.c (ms_excel_workbook_destroy) : we can have NULL names as place holders. 2002-03-15 Jody Goldberg * ms-excel-read.c (ms_excel_sheet_destroy) : make deleting the gnum_sheet optional. * ms-excel-read.c (ms_excel_parse_NAME) : add a ref. (ms_excel_workbook_destroy) : don't leak the sheets, or the names. 2002-03-15 Andreas J. Guelzow * ms-excel-read.c : calculate desired tab_text_color upon reading of tab_color 2002-03-14 Jody Goldberg * ms-obj.c (ms_obj_read_pre_biff8_obj) : doh! Fix sense of result so that reading works. 2002-03-11 Jody Goldberg * ms-excel-read.c (ms_excel_externname) : Store the name for use as a function. 2002-03-10 Jody Goldberg * Release 1.1.1 2002-03-08 Jody Goldberg * ms-excel-read.c (ms_excel_workbook_new) : store an iocontext. init the delayed name list for xl95. (ms_excel_parse_NAME) : split out of. (ms_excel_read_NAME) : here. (ms_excel_handle_delayed_NAMEs) : new. (ms_excel_externsheet_v8) : be quiet. (ms_excel_read_workbook) : check for delayed names on EOF. 2002-03-07 Jody Goldberg * ms-excel-read.c (ms_excel_externsheet_v8) : don't warn for local name records. (ms_excel_read_NAME) : typo. 2002-03-07 Jody Goldberg * 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 * ms-excel-write.c (write_externsheets) : Use unquoted. This code needs some love. 2002-03-02 Jody Goldberg * ms-excel-read.c (ms_excel_read_formula) : avoid leaking when faced with bad input. (ms_excel_read_formula) : ditto. 2002-02-28 Jody Goldberg * ms-formula-write.c (write_area) : write explicitly scoped addreses as area3d not area. Use tx = 0xffff and warn that we only support locale sheets. * ms-excel-write.c (write_bits) : better attribution and dump names. (write_workbook) : let write_bits handle the names. 2002-02-26 Jody Goldberg * ms-escher.c (ms_escher_get_data) : clarify the interface. (ms_escher_read_BSE) : fix call to ms_escher_get_data. (ms_escher_read_Sp) : ditto. (ms_escher_read_ClientAnchor) : ditto. (ms_escher_read_OPT) : ditto. (ms_escher_read_container) : ditto. (ms_escher_read_Blip) : support decompress and validate emf & wmf. * ms-excel-util.c (excel_iconv_open_for_import) : recognize that cp1200 makes no sense in that context and fall back to 8859-1. 2002-02-24 Jody Goldberg http://bugzilla.gnome.org/show_bug.cgi?id=72459 * ms-formula-write.c (write_node) : fix typo. 2002-02-26 Morten Welinder * ms-excel-read.c (biff_get_rk): Improve precision ever so slightly on numbers that are scaled by 0.01. 2002-02-25 Jon K Hellan * ms-excel-read.c (ms_sheet_create_image): New function. Factor image creation out of ms_sheet_create_obj and also handle cropping. (ms_sheet_create_obj): Call ms_sheet_create_image. 2002-02-23 Jon K Hellan * plugin.xml.in: Recognize *.xlt extension. 2002-02-21 Morten Welinder * ms-excel-write.c (init_base_char_width_for_write): Constify. (ms_excel_write_workbook): Constify. * ms-excel-read.c (get_substitute_font): Constify. (ms_excel_get_style_from_xf): Constify. (biff_boundsheet_data_new): Constify. * ms-summary.c (read_summary_items): Constify. * ms-excel-util.c (get_locale_charset_name): Constify. Remove code conditioned on HAVE_ICONV && !HAVE_ICONV. * ms-escher.c (ms_escher_read_BSE): Constify. 2002-02-20 Morten Welinder * ms-excel-write.c (write_value): Fix format. * ms-excel-read.c (ms_excel_read_name): Constify. * ms-formula-read.c (formula_func_data): Constify. * ms-excel-util.c (two_way_table_put): Constify. 2002-02-19 Jon K Hellan * ms-excel-read.c (ms_excel_palette_get): Update documentation. (ms_excel_get_style_from_xf): Remove case 0. (biff_xf_data_new): Save difference bits. We don't use them yet, though. Documentation is wrong, background color is one bit more than documented * ms-excel-write.h (struct _ExcelFont): Add is_auto member. (PALETTE_BLACK): Change from 0 to 8. (PALETTE_WHITE): Change from 1 to 9. (PALETTE_AUTO_PATTERN, PALETTE_AUTO_BACK, PALETTE_AUTO_FONT, FILL_NONE, FILL_SOLID): Define * ms-excel-write.c (write_window2): Write grid / auto pattern color. (style_color_to_int): Rename to style_color_to_rgb888. (palette_put_defaults): Call index 8 'PALETTE_BLACK'. Mark both black and white as in use. (palette_get_index): Return 8 (PALETTE_BLACK) for black, and 9 (PALETTE_WHITE) for white. (put_color): Call style_color_to_rgb888 with new name. (excel_font_new): Call style_color_to_rgb888 with new name. Save is_auto flag. (excel_font_hash): Include is_auto in hash func, and shift flags so they don't just cancel each other. (excel_font_equal): Include is_auto in comparison. (write_font): Store as auto color when appropriate. (fixup_fill_colors): Simplify and merge into build_xf_data. (style_color_to_pal_index): New function. Return Excel color index, possibly auto, for a style color. (get_xf_differences): We have discovered that background color is stored with 1 bit more than documented. Use this to improve test for pattern difference between XF and parent style. Locking: XL default is on, so we're different if locking is off. (build_xf_data): Store as auto color where appropriate. Use style_color_to_pal_index. (write_xf_record): Documentation is wrong - there is no fSxButton bit. The bg color uses the bit, making bg field 7 bits wide. Don't store data for borders which aren't there. 2002-02-18 Jody Goldberg * Release 1.1.0 2002-02-15 Jody Goldberg * ms-escher.c (write_file) : delete. (ms_escher_read_BSE) : remove the bonobo-ness from here it is none of excel's business. Just use the new SheetObjectImage. While we're at it avoid a few memory copies of the image. * ms-excel-read.c (ms_sheet_create_obj) : ditto. * ms-container.c (ms_container_get_blip) : return non-const. 2002-02-08 Jon K Hellan * ms-excel-read.c (ms_excel_read_window2): No need to unref pattern_color, sheet_style_set_auto_pattern_color now does that. 2002-02-05 Jon K Hellan * ms-excel-read.c (black_or_white_contrast): Burn. (ms_excel_palette_get): Simplify to get autocolors right. We used to be too clever. (ms_sheet_map_color): Use style_color_new_i8 to convert from rgb888. (ms_excel_read_window2): Update pattern color according to icvHdr/rgbHdr grid color if fDefaultHdr flag says so. 2002-02-03 Jody Goldberg * ms-excel-write.c (pre_cell) : adjust to Cell::format moving into the value. 2002-01-31 Jody Goldberg * ms-excel-util.c (init_xl_font_widths) : add Helv. * ms-excel-read.c (ms_sheet_create_obj) : GObject vs GtkObject * ms-obj.c (ms_obj_delete) : ditto. * ms-chart.c (ms_excel_read_chart) : ditto. 2002-01-30 Jody Goldberg * ms-formula-read.c (ms_excel_parse_formula) : give a warning when dealing with references to external workbooks. 2002-01-29 Jody Goldberg * ms-excel-read.c (ms_sheet_create_obj) : move to new sheet widget layout. 2002-01-23 Jody Goldberg * ms-summary.c (EXCEL_TO_GNUM_MAPPING_COUNT) : use G_N_ELEMENTS. (excel_to_gnumeric) : delete unused. (read_summary_items) : suppress warnings. (read_summary_items) : fix leak. * ms-excel-write.c : s/StyleFont::size/StyleFont::size_pts/ * ms-excel-util.c (g_unichar_to_utf8) : delete. 2002-01-21 Jody Goldberg * Release 1.0.3 2002-01-21 Jody Goldberg * ms-obj.c (ms_object_attr_get_*) : new. (ms_obj_read_biff8_obj) : read scrollbar attributes. * ms-excel-read.c (ms_sheet_realize_obj) : Add scrollbars. (ms_sheet_create_obj) : ditto. 2002-01-20 jody goldberg * ms-chart.c (BC_R(vector_details)) : use gnm_vector_date. 2002-01-17 Jody Goldberg * ms-obj.c (ms_object_attr_new_expr) : new. (ms_object_attr_destroy) : handle expressions. (ms_obj_read_biff8_obj) : use the expression parser for GR_CHECKBOX_FORMULA. * ms-formula-read.c (getRefV7) : remove the pointless malloc/free. (getRefV8) : ditto. (make_inter_sheet_ref) : delete. (make_inter_sheet_ref_v7) : ditto. * ms-excel-read.c (ms_sheet_realize_obj) : add support for a checkbox's link. Needs to be done here, AFTER being assigned to a sheet. (ms_excel_workboot_get_externsheets) : renamed from biff_get_externsheet_name, and simplified. 2002-01-14 Jody Goldberg * ms-formula-read.c (ms_excel_parse_formula) : fix support for importing local 3d references, external 3d is still not supported. 2002-01-15 Jody Goldberg * Release 1.0.2 2002-01-13 Jody Goldberg * ms-excel-read.c (ms_excel_read_tab_color) : turn down the debug level. 2002-01-12 Jody Goldberg * ms-excel-read.c (ms_excel_read_dv) : reorg slightly and enable. * ms-excel-read.c (ms_excel_read_tab_color) : new function. (ms_excel_read_sheet) : called from here. 2002-01-11 Jody Goldberg * ms-formula-read.c (ms_excel_parse_formula) : fix area 3d and its missing break. 2002-01-06 Jody Goldberg * Release 1.0.1 2002-01-04 Jody Goldberg * ms-chart.c (excel_chart_series_write_xml) : more protection for missing series. 2002-01-03 J.H.M. Dassen (Ray) * ms-escher.c (ms_escher_blip_new) : cast to fix signedness warning. * ms-excel-read.c (biff_get_text) : likewise * ms-excel-read.c (get_string) : likewise * ms-excel-write.c (write_bits) : char -> guint8. * ms-excel-write.c (write_value) : ditto * ms-chart.c (excel_chart_series_write_xml) : cast / type change * ms-chart.c (BC_R) : ditto * ms-chart.c (BC_R(*)) : ditto * ms-chart.c (ms_excel_chart) : ditto 2001-12-31 Jody Goldberg * Release 1.0.0 2001-12-30 Zbigniew Chyla * plugin.xml.in: Fixed typo. Please, DO NOT change strings few hours before the release! 2001-12-29 Andreas J. Guelzow * plugin.xml.in : Standardize: MS Excel (tm) 2001-12-27 Jody Goldberg * ms-formula-read.c (ms_excel_parse_formula) : enable support for deleted 3d references. 2001-12-24 Jody Goldberg * Release 0.99.1 2001-12-20 Jody Goldberg * ms-formula-read.c (ms_excel_parse_formula) : add support for FORMULA_PTG_REF_ERR. FORMULA_PTG_AREA_ERR. * ms-obj.c (ms_read_OBJ) : add protection against missing virtuals. If the object is a graph read it even if we do not support them in this context (embedded in another object) or if we do not support graphs at all. This enables us to read embedded graphs without throwing off the rest of the parsing. 2001-12-15 Jody Goldberg * Release 0.99.0 2001-12-10 Jody Goldberg * ms-summary.c (read_summary_items) : use iconv. (ms_summary_read) : ditto. (set_summary_item) : ditto. (ms_summary_write) : ditto. 2001-12-05 Jody Goldberg * ms-excel-write.c (write_formula) : handle array formulas. * ms-formula-write.c (write_node) : ditto. (ms_excel_write_formula) : remove pointless malloc & free. 2001-11-25 Jody Goldberg * ms-formula-read.c : s/ParseList/ExprList/ * ms-formula-write.c : ditto. 2001-11-20 Jody Goldberg * ms-excel-read.c (biff_boundsheet_data_new) : Doh! 2001-11-19 Jody Goldberg * Release 0.76 2001-11-16 Jody Goldberg * ms-excel-read.c (ms_excel_read_dv) : read things in. Not stored yet. (ms_excel_read_range) : new convenience routine. (ms_excel_read_mergecells) : used here. (ms_excel_biff_dimensions) : used here. (ms_excel_read_dv) : used here. (ms_excel_read_condfmt) : used here, fix import of multiple areas. 2001-11-09 Jody Goldberg * ms-excel-read.c (ms_excel_read_guts) : adjust to different outline scoping semantics. We count from 0. XL counts from 1. * boot.c (excel_file_open) : better error message when opening a non-ole file. 2001-11-05 Jody Goldberg * plugin.xml.in : enable overwriting files by default. 2001-11-05 Jody Goldberg * Release 0.75 2001-11-04 Jody Goldberg * ms-excel-read.c (ms_excel_read_cf) : Handle 'Formula' constraints in addition to 'Value'. (ms_excel_read_condfmt) : new routine. (ms_excel_read_dval) : fix sense of size check. (ms_excel_read_sheet) : cf records should only be associated with condfmt. 2001-10-30 Jody Goldberg * ms-excel-write.c : Use d() debug macors to make things more readable. And use esheet in place of sheet to avoid confusion with gnumeric core. (write_colinfo) : make xf_index an argument. (pre_colstyle) : new routine to gather the most common style in each col (gather_styles) : called from here. (write_mulblank) : take an array rather than a GList. (write_block) : only write a blank cell if it is different from the column default. 2001-10-30 Morten Welinder * ms-chart.c (BC_R-ai): Plug leak. (BC_R-ifmt): Ditto. 2001-10-27 Jody Goldberg * ms-excel-read.c (ms_excel_read_dval) : new function. (ms_excel_read_dv) : new function. (ms_excel_read_sheet) : call them here and remove warning. 2001-10-29 Jody Goldberg * Release 0.74 2001-10-29 Jody Goldberg * ms-excel-read.c (ms_excel_get_xf) : Use a better default in the face of errors. * ms-chart.c (chart_get_fmt) : new function to chain to parent. (ms_excel_chart) : use it here. 2001-10-29 Jody Goldberg * Release 0.73 2001-10-29 Jody Goldberg * ms-excel-read.c (biff_name_data_get_name) : adjust to signature change in expr_tree_new_name. FIXME : how does XL mark names from explicit scopes. 2001-10-23 Jody Goldberg * ms-excel-write.c (write_rowinfo) : remove duplicate code. * ms-excel-read.c (biff_name_data_get_name) : adjust to new named expression api. 2001-10-22 Almer S. Tigelaar * ms-excel-read.c (ms_excel_read_cf): Adjust for changes to style-condition.[ch] 2001-10-18 Jody Goldberg * Release 0.72 2001-10-18 Jody Goldberg * ms-chart.c (BC_R(bar)) : typo. 2001-10-18 Jody Goldberg * ms-chart.c (BC_R(dropbar)) : The docs lie. it is ok to have values > 100 * ms-chart.c (BC_R(store_chartgroup_type)) : store the type as a property rather than a child. (BC_R(bar)) : store the attributes as children rather than props. (BC_R(line)) : ditto. (BC_R(pie)) : ditto. (BC_R(pieformat)) : ditto. (BC_R(scatter)) : ditto. 2001-10-15 Jody Goldberg * ms-excel-write.c (excel_sheet_new) : merge check_sheet into here. rename according to our standards. Only complain about being too large if the content is too large, silently clip the formats. 2001-10-12 Jody Goldberg * ms-chart.c (BC_R(legend)) : Use more guppi-ish terms for legend location. 2001-10-07 Jody Goldberg * Release 0.71 2001-10-03 Jody Goldberg * ms-chart.c (excel_chart_series_write_xml) : fix this for non bonobo builds. 2001-09-30 Jody Goldberg * ms-chart.c (excel_chart_series_write_xml) : Use gnm_graph_series_add_dimension. (BC_R(seriestext)) : store constant labels as expresions. 2001-09-28 Jody Goldberg * ms-chart.c (excel_chart_series_write_xml) : adjust to new xml structure. 2001-09-27 Jody Goldberg * ms-obj.c (ms_object_attr_bag_lookup) : accept NULL attrBags. * ms-escher.c (ms_escher_read_OPT) : oops lost the blip id. 2001-09-27 Jody Goldberg * ms-excel-read.c (ms_excel_wb_get_fmt) : renamed something better than biff_format_data_lookup. * ms-chart.c (BC_R(ai)) : Use ms_container_get_fmt. (BC_R(ifmt)) : ditto. * ms-container.c (ms_container_get_fmt) : new function. 2001-09-27 Jody Goldberg * ms-excel-read.c (ms_sheet_map_color) : new utility. (ms_sheet_create_obj) : set the fill colour. * ms-escher.c (ms_escher_read_OPT) : generalize to make things more efficient. * ms-obj.c (ms_object_attr_new_uint) : store a uint to facilitate colors. 2001-09-26 Jody Goldberg * ms-escher.c (ms_escher_parse) : call ms_escher_header_release. (ms_escher_read_container) : ditto. (ms_escher_header_release) : new to handle attrs. (ms_escher_header_add_attr) : ditto. (ms_escher_read_ClientData) : pass the attributes to the object and move the blip handing to the container. * ms-obj.c (ms_object_attr_new_flag) : new. (ms_object_attr_new_int) : new. (ms_object_attr_new_ptr) : new. (ms_object_attr_destroy) : new. (ms_object_attr_bag_new) : ditto. (ms_object_attr_bag_destroy) : ditto. (ms_object_attr_bag_insert) : ditto. (ms_object_attr_bag_lookup) : ditto. * ms-excel-read.c (ms_excel_read_workbook) : interface change to ms_read_OBJ. (ms_excel_read_sheet) : ditto. (ms_sheet_create_obj) : move the blip handing from escher to here. 2001-09-26 Jody Goldberg * ms-obj.c (ms_read_OBJ) : Init the inversion flags. * ms-escher.c (ms_escher_read_Sp) : store the inversion flags. (ms_escher_read_ClientData) : copy the inversion flags. (ms_escher_init_heade) : init the inversion flags. 2001-09-26 Jody Goldberg * ms-excel-xf.h (_BiffXFData) : locked and hidden are booleans. * ms-excel-read.c (biff_xf_data_new) : read them that way. (ms_excel_get_style_from_xf) : store the protection flags. * ms-excel-write.c (build_xf_data) : ditto. Add indent. * ms-chart.c (BC_R(seriestext)) : handle manually entered series names. 2001-09-25 Jon K Hellan * .cvsignore: Add plugin.xml 2001-09-17 Jody Goldberg * ms-obj.c (ms_read_OBJ) : init the new object more completely. 2001-09-16 Jody Goldberg * ms-chart.c : clean up debug routines. (BC_R(dataformat)) : Use an extra node to handle pt vs series level formating. (BC_R(end)) : cleanup dataformats. (excel_chart_series_write_xml) : just link in the new child rather than creating it here. (BC_R(dataformat)) : handle formating pts vs entire series. (BC_R(markerformat)) : implement (BC_R(areaformat)) : implement (BC_R(lineformat)) : implement (BC_R(pieformat)) : implement (BC_R(color)) : tweak interface. (ms_excel_chart) : ignore a few more records. 2001-09-14 Jody Goldberg * ms-chart.c (excel_chart_series_write_xml) : Use the gal routines for symetry with the guppi implementation. 2001-09-09 Jody Goldberg * ms-chart.c (BC_R(pieformat)) : store pie separation. (BC_R(get_chartgroup_type)) : new function. 2001-09-08 Jody Goldberg * ms-chart.c (legend) : xml-ize and fix transposition of right & left. (pie) : Guppi uses radians and has 0 in a different place. 2001-09-04 Jody Goldberg * ms-obj.c (ms_read_OBJ) : Use ms_destroy_OBJ. * ms-chart.c (ms_excel_chart) : don't import the spec if we did not create the graph. 2001-09-03 Jody Goldberg * ms-excel-read.c (ms_excel_read_cf) : Do some guessing about how they store the format information. (ms_excel_read_sheet) : merge in ms_excel_read_cell, and reorder the records to match their biff order. call ms_excel_read_cf. 2001-09-02 Jody Goldberg * biff-types.h : Add CONDFMT 2001-08-29 Jody Goldberg * ms-chart.c (excel_chart_series_new) : init the xml node. (excel_chart_series_write_xml) : new. (BC_R(store_chartgroup_type)) : new utility. (BC_R(bar)) : convert to xml. (BC_R(line)): convert to xml. (BC_R(pie)) : convert to xml. (BC_R(scatter)) : convert to xml. (BC_R(chartformat)) : store the general chart group details. (BC_R(end)) : store the series specs associated with this chartgroup. (ms_excel_chart) : tweaks for xml. 2001-08-28 Jody Goldberg * ms-obj.c (ms_read_OBJ) : pass graphs into their parser. * ms-excel-read.c (ms_sheet_realize_obj) : renamed from ms_sheet_obj_realize. (ms_sheet_create_obj) : renamed from ms_sheet_obj_create. Improve the warnings for unhandled objects. Pass graphs into the parser. * ms-container.c (ms_container_workbook) : delete. * ms-chart.c (ms_excel_chart) : enable some of the xml spec generation. and take the GnmGraph as an argument. (ms_excel_read_chart) : take the graph as an argument. 2001-08-27 Jody Goldberg * ms-excel-read.c (ms_sheet_parse_expr_internal) : disable some of the debugging spew. 2001-08-26 Zbigniew Chyla * boot.c (excel_save): Remove GNUMERIC_ENABLE_XL_OVERWRITE hack. This is now supported via flag in plugin.xml file. * plugin.xml.in: s/file_overwrite/overwrite_files/ 2001-08-24 Jody Goldberg * ms-excel-read.c : fix and prune includes. * ms-excel-write.c : ditto. * boot.c : ditto. 2001-08-23 Jody Goldberg * ms-chart.c (ms_excel_chart) : only delete the series after processing. condtionalize some of the debug spew. condtionalize parsing based on the existence of a graph condtionalize making the graph on the debug flag (for now) (BC_R(sertocrt)) : store the chart group. (BC_R(series_impl)) : merge back into BC_R(series). (BC_R(vector_details)) : use the gnumeric type directly. (excel_chart_series_new) : new. (excel_chart_series_destroy) : new. * ms-container.c (ms_container_workbook) : new function. (ms_container_sheet) : ditto. * ms-excel-read.c (ms_wb_workbook) : new function. (ms_excel_workbook_new) : used here. (ms_sheet_workbook) : new function. (ms_sheet_sheet) : new function. (ms_excel_sheet_new) : used here. 2001-08-21 Jody Goldberg * ms-chart.c (gnm_graph_vector_type_name) : use the version in gnumeric-graph.c (BC_R(vector_details)) : Use the correct index for the debug info. * ms-excel-read.c (ms_excel_biff_dimensions) : Use range_name. 2001-08-21 Zbigniew Chyla * plugin.xml: Removed * plugin.xml.in: Copied from plugin.xml, prepared for localization. * Makefile.am: Use xml-i18n-tools to create plugin.xml (with translations merged from .po file). 2001-08-20 Jody Goldberg * Release 0.70 2001-08-20 Jody Goldberg * Makefile.am : Remove unused stubs for gnumeric-chart. * ms-chart.c : s/ExcelChart/ExcelChartReadState/g (BC_R(top_state)) : new function. (map_excel_vec_type_to_gnm) : new function. (BC_R(vector_details)) : new function. (BC_R(series_impl)) : Use vector_details. (BC_R(ai)) : actually handle the vector. (BC_R(begin)) : keep a stack of the states. (BC_R(series)) : keep track of the series. * ms-excel-read.c (ms_sheet_obj_realize) : use the correct anchor specs. and use the new SheetObjectAnchor mechanism. (ms_sheet_obj_create) : signatue change for sheet_object_container_new. 2001-08-20 Jody Goldberg * ms-excel-read.c (ms_excel_read_formula) : improve the debug info. (ms_excel_read_bof) : Doh! We modify the sheet counter. (ms_excel_read_workbook) : signature changes for ms_excel_read_bof. 2001-08-11 Jody Goldberg * Release 0.69 2001-08-07 Jody Goldberg * ms-excel-read.c (ms_excel_read_setup) : print scaling is stored as a percentage in XL and in Gnumeric. Improve the warning as long as we're in here. 2001-08-03 Jody Goldberg Consistently refer to /ExcelSheet/ instances as esheet. Ensure that the BiffQuery is the first arg. * ms-excel-read.c (ms_excel_sheet_new) : Explicitly request a full respan for the update after we load. I had been relying on there being a col/row or default col/row sizing to force it. 2001-08-02 Jody Goldberg * ms-escher.c (ms_escher_blip_new) : be consistent and use #ifdef 2001-07-25 Jody Goldberg * ms-excel-read.c (ms_excel_read_window2) : Tidy up a bit. * ms-excel-write.c (write_window2) : support frozen panes. (write_pane) : Implement. 2001-07-17 Jody Goldberg * Release 0.68 2001-07-16 Jody Goldberg * ms-excel-read.c (ms_excel_read_pane) : implement. (ms_excel_read_window2) : store initial top left. 2001-07-12 Jody Goldberg * ms-excel-read.c (ms_excel_read_pane) : new function. (ms_excel_read_sheet) : called from here. (ms_excel_read_window2) : top left spec is _zero_ based. Add support for setting the frozen flag. (ms_excel_sheet_new) : init the freeze flag here. 2001-07-13 Lutz Müller * ms-escher.c (ms_escher_read_ClientData): Syntax and name of sheet_object_bonobo_load(_persist)_stream changed. 2001-06-28 Jody Goldberg * Release 0.67 2001-06-28 Jody Goldberg * ms-excel-util.c (lookup_font_base_char_width_new) : add more safety. * ms-excel-write.c (formats_put_magic) : const. (new_sheet) : ignore spans and merges for extent calcs. * ms-excel-read.c (ms_excel_read_init) : new function to init the locale specific date format. * boot.c (plugin_init) : new function. 2001-06-27 Jody Goldberg * Release 0.66 2001-06-21 Morten Welinder * ms-excel-read.c (ms_excel_read_supporting_wb): Fix trigraph stuff and cut down on repeated question marks in general. 2001-06-15 Jody Goldberg * ms-excel-read.c (ms_excel_sheet_new) : Use CellPos directly. * ms-formula-read.c (ms_excel_parse_formula) : some cleanup. 2001-06-11 Jody Goldberg * ms-excel-write.c (write_setup) : new routine. (write_sheet_bools) : split out from here. * ms-excel-read.c (ms_excel_read_sheet) : split the setup parser out of here into. (ms_excel_read_setup) : here. and modernize it. Read the number of copies and the scaling if specified. 2001-06-12 Zbigniew Chyla * boot.c (excel_save): Set up io_progress before calling ms_excel_check_write and ms_excel_write_workbook. * ms-excel-read.c (ms_excel_read_sheet): Added IOContext argument, call value_io_progress_update on every loop iteration. (ms_excel_read_workbook): Set up io progress message and helper. * ms-excel-write.c (pre_cell): Update io progress. (pre_blanks): Update io progress at every row. (gather_styles): Set up io progress helper. (write_block): Update io progress after every write_cell call. (ms_excel_write_workbook): Set up io progress helper. (ms_excel_check_write): Copy IOContext ptr into ExcelWorkbook struct. * ms-excel-write.h (struct _ExcelWorkbook): Added io_context. 2001-06-03 Jody Goldberg For Vlad Harchev * ms-excel-util.h ms-excel-util.c (excel_wcstombs) : Some utilites to handle encoding changes that fail. * ms-excel-read.c : Use the utilities. 2001-06-02 Almer S. Tigelaar * (ms_excel_read_row): Set outline using new functions. (ms_excel_read_colinfo): Idem. 2001-05-31 Karl Eichwalder * boot.c (excel_save): Add dot. 2001-05-29 Zbigniew Chyla * boot.c (excel_file_probe): Added FileProbeLevel argument. 2001-05-27 Jody Goldberg * ms-excel-write.c (write_window2) : Switch the BIFF_WINDOW2 0x23e -> 0x3e (write_names) : fix biff type. * ms-excel-read.c (ms_excel_read_formula) : cleanup some old inconsistentcies. keep as many of the BIFF_* using their major types. Switch the BIFF_STRING 0x207 -> 0x07 Switch the BIFF_BOOLERR 0x205 -> 0x05 (ms_excel_read_window2) : split this out into a neater bundle. 2001-05-26 Jody Goldberg * ms-excel-write.c (write_sheet_bools) : Save the iteration preferences too. These are workbook level flags. I am unclear why XL saves them at the sheet level. * ms-excel-read.c (ms_excel_read_calccount) : new function. (ms_excel_read_delta) : ditto. (ms_excel_read_iteration) : ditto. (ms_excel_read_sheet) : use them here. 2001-05-18 Jody Goldberg * ms-excel-read.c (ms_excel_read_formula) : Use cell_queue_recalc to get appropriate recursion. 2001-05-17 Jody Goldberg * ms-excel-read.c (ms_excel_formula_shared) : Use a g_warning not a printf. 2001-05-21 Zbigniew Chyla * boot.c (excel_file_probe, excel_file_open, excel97_file_save, excel95_file_save): s/FileOpener/GnumFileOpener/ s/FileSaver/GnumFileSaver/ 2001-05-20 Jody Goldberg * Release 0.65 2001-05-13 Michael Meeks * ms-excel-write.c (write_value): commit the VALUE_EMPTY. * ms-biff.c (ms_biff_put_len_next), (ms_biff_put_var_next): add conditional debug to help catch similar problems - none obvious just now. 2001-05-11 Jody Goldberg * ms-excel-read.c (ms_excel_read_workbook) : clear the global handle after it is closed. 2001-05-11 Almer S. Tigelaar * ms-excel-write.c (write_sheet_bools): Write dimensions as unsigned integers. (biff_put_text): Signedness. (write_externsheets): Signedness. (excel_font_to_string): Signedness. (fonts_free): Signedness. (write_formats): Signedness. (xf_free): Signedness. (pre_cell): Signedness + Unused variabele. (gather_styles): Signedness. (map_pattern_index_to_excel): Signedness. (write_index): Signedness. (write_block): Signedness. (write_sheet): Signedness. (free_workbook): Signedness. (write_workbook): Signedness. (check_sheet): Signedness. * ms-excel-formula-write (write_node): Cast untyped pointer. 2001-05-07 Jody Goldberg * ms-escher.c (ms_escher_get_data) : suppress warnings. (ms_escher_read_ClientTextbox) : no side effects in precondition. * ms-excel-read.c (ms_excel_formula_shared) : ditto. 2001-05-06 Jody Goldberg * ms-excel-read.c (biff_boundsheet_data_new) : merge in the last of the i18n patches. 2001-05-05 Jody Goldberg * ms-excel-read.c (ms_excel_set_xf_segment) : support multiple rows. (ms_excel_read_row) : use here. (ms_excel_read_cell) : and here. (ms_excel_read_colinfo) : start using it here too. (ms_sheet_obj_create) : Add a place holder for a spinner. * ms-excel-write.c (pre_cell) : XL does not differentiate between parse and display formats. When exporting a cell with General that has a parse format create a new XF with the parse format as the display format. 2001-04-30 Morten Welinder * ms-summary.c (sum_name_to_excel): Fix index count. Constify. Make static. (excel_to_gnum_mapping): Make static. 2001-04-29 Jody Goldberg * ms-excel-write.c (write_window2) : Headers are in default style. And grid colour is auto, not black. 2001-04-27 Chema Celorio * boot.c (excel_save): add a message explaining that you could set an env variable to enable XL overwrite. This is not the optimal solution tho. 2001-04-26 Jody Goldberg * ms-excel-write.c (write_colinfos) : Rework to simplify and use colrow_equal. (write_colinfo) : extract the info from the ColRowInfo directly and fill in the visibility, outline, and collapse states. (write_rowinfo) : export visibility, collapse and outline. (write_guts) : new function. (new_sheet) : Include blank cols/rows with outline properties in extent calculation. * ms-excel-write.h (Excel{Col,Row}) : Delete unnecessary structures. 2001-04-26 Jody Goldberg * ms-excel-write.c (write_mergecells) : new routine to save merged regions. (write_sheet_tail) : called from here. 2001-04-23 Jon K Hellan * ms-biff.c (ms_biff_query_next, ms_biff_query_next, ms_biff_query_destroy, ms_biff_put_new, ms_biff_put_commit, ms_biff_put_len_next): Make sure that bp->data = 0 when bp->data_malloced = 0 & v.v. This helps heap debugging. (ms_biff_put_len_next): Assert that data pointer is null. If it weren't the old code would have been leaking. 2001-04-23 Morten Welinder * ms-excel-write.c (ms_excel_check_write): Avoid double free of the list. 2001-04-20 Jody Goldberg * ms-excel-read.c (ms_excel_read_wsbool) : new function. (ms_excel_read_sheet) : called from here. * ms-excel-write.c (write_wsbool) : new function. (write_sheet_bools) : called from here. 2001-04-19 Jody Goldberg * ms-excel-write.c (write_window2) : sigh, when fixing the sizes I did not change the offsets. I miss C++ in situations like this. (ms_excel_check_write) : Free the sheet list. 2001-04-18 Jody Goldberg * ms-excel-util.c (excel_iconv_win_codepage) : cleanup and remove warnings in the C locale case. * ms-excel-write.c (write_sheet_tail) : split WINDOW2 code out of here (write_window2) : and move it here. Then comment it up and extend the logic. 2001-04-17 Jody Goldberg * plugin.xml : Disable the excel97 save method until it potentially does more than screw up. 2001-04-15 Vlad Harchev * ms-excel-util.h ms-excel-util.c : added framework for doing portable recoding between charsets, and also functions for finding appropriate Windows codepage for current locale. * ms-excel-read.c ms-excel-write.c : Properly perform charset conversion for all textual data when doing export or import of .xls files. 2001-04-12 Chema Celorio * boot.c (excel_save): add an env variable so that we can enable XL overwrite. the variable is named GNUMERIC_ENABLE_XL_OVERWRITE 2001-04-12 Jody Goldberg * ms-excel-write.c (pre_pass) : Don't unref here. 2001-04-12 Morten Welinder * ms-summary.c (ms_summary_write): Plug leaks. 2001-04-11 Jody Goldberg * ms-formula-write.c (write_string) : a null string is not a missing arg. 2001-04-04 Jody Goldberg * ms-excel-read.c (ms_excel_externsheet) : new function split from (ms_excel_read_workbook) : here. * ms-excel-read.c (biff_name_data_new) : begin cleanup. The sheet_index is stored in different places for different biff types. There also appears to be enough data about the sheet names that we may not need to do this magic delayed instantiation. 2001-04-03 Jody Goldberg * ms-chart.c (ms_excel_chart) : provide stub handlers for container virtuals. 2001-04-02 Jody Goldberg * ms-excel-read.c (ms_excel_read_imdata) : new routine pulled from. (ms_excel_read_cell) : here. * ms-obj.c (ms_obj_read_biff8_obj) : used here. 2001-04-04 Morten Welinder * ms-escher.c (ms_escher_blip_destroy): Plug leak. * ms-excel-util.c (lookup_font_base_char_width_new): Implement negative caching. 2001-04-01 Jody Goldberg * ms-escher.c (ms_escher_get_data) : improve diagnostic info. * ms-obj.c (ms_obj_read_biff8_obj) : when reading the mystery trailing IMDATA we need to handle CONTINUE. We really need to figure out what this is. 2001-04-01 Morten Welinder * ms-chart.c (register_handlers) : Fix prototype. * gnumeric-chart.c (gnumeric_chart_new): Fix prototype. * ms-excel-write.c (get_default_mstyle): Fix prototype. 2001-04-01 Morten Welinder * ms-excel-read.c (ms_excel_default_palette): Fix prototype. (ms_excel_read_cleanup): New function. * ms-excel-util.c (destroy_xl_font_widths): New function. * boot.c (plugin_cleanup): New function. 2001-03-31 Zbigniew Chyla * .cvsignore: Added *.lo and *.la. 2001-03-30 Jody Goldberg * ms-container.c (ms_container_init) : Take a parent container. (ms_container_finalize) : handle NULL blips smoothly. (ms_container_get_blip) : check the container if we are empty. * ms-escher.c (ms_escher_read_Blip) : always register a blip, even if it is NULL, otherwise the index gets confused. Move the registration here. (ms_escher_blip_new) : from here. (ms_escher_read_ClientData) : replace blips we can't understand with rectangles. * ms-chart.c (ms_excel_chart) : Pass in the charts container. * ms-excel-read.c (ms_excel_workbook_new) : workbook have no parents. (ms_excel_sheet_new) : Sheets are contained by workbooks. 2001-03-30 Jody Goldberg * ms-excel-read.c (ms_excel_get_style_from_xf) : Only newer versions have indents. 2001-03-30 Morten Welinder * ms-escher.c (ms_escher_read_container): Plug leak. 2001-03-30 Jody Goldberg * boot.c (excel_save) : clarify message. 2001-03-29 Jody Goldberg * ms-escher.c (ms_escher_read_Blip) : Fix leak plug. 2001-03-29 Jody Goldberg * ms-obj.c (ms_obj_read_biff8_obj) : It seems certain that the MS docs are wrong about list boxes. I hope they don't do the same thing for other records too. * ms-escher.c : s/ms_excel_read_debug/ms_excel_escher_debug/ (ms_escher_read_OPT) : Add missing OPT records and cleanup docs. (ms_escher_read_BSE) : Document the record size and don't attempt to treat this as a container if its content is of size 0. 2001-03-28 Jody Goldberg * ms-obj.c (ms_read_TXO) : Fix the minor memory overrun Morten found. 2001-03-18 Jody Goldberg * ms-excel-util.c (init_xl_font_widths) : recalculate the size of Geneva for the default case of Geneva not being available. 2001-03-27 Morten Welinder * ms-escher.c (ms_escher_read_Blip): Plug leak. 2001-03-20 Zbigniew Chyla * Makefile.am: Building excel plugin as shared library, added plugin.xml. * boot.[ch]: xxx_debug variables from src/main.c moved here. Converted to real plugin with file_opener and file_saver services. * plugin.xml: New file. * gnumeric/plugins/excel/excel.h, plugins/excel/ms-chart.c, plugins/excel/ms-escher.c, plugins/excel/ms-excel-read.c, plugins/excel/ms-excel-read.h, plugins/excel/ms-excel-util.c, plugins/excel/ms-excel-write.c, plugins/excel/ms-excel-write.h, plugins/excel/ms-formula-read.c, plugins/excel/ms-formula-write.c, plugins/excel/ms-obj.c: Adjusted function signatures, don't return TRUE/FALSE if using IOContext (we don't need boolean value as IOContext now sets "error_occurred" flag). 2001-03-15 Jody Goldberg * ms-excel-read.c (ms_excel_read_row) : Handle outline mode. (ms_excel_read_colinfo) : ditto. (ms_excel_read_guts) : ditto. 2001-03-17 Jody Goldberg * Release 0.64 2001-03-02 Jody Goldberg * ms-formula-read.c (getRefV8) : rewrite to handled sign extension correctly (I Hope) for the various shared/unshared states. (getRefV7) : ditto. 2001-02-24 Jody Goldberg * ms-excel-read.c (ms_excel_read_colinfo) : work around some strange widths from a test sheet. 2001-02-23 Jody Goldberg * Release 0.63 2001-02-19 Jon K Hellan * boot.c (excel_load, excel_init): Change file format level to FILE_FL_MANUAL_REMEMBER. 2001-02-16 Jody Goldberg * ms-formula-write.c (write_node) : Use some code from expr.c to simplify binary/unary output and to add parens when necessary. * ms-excel-write.c (write_formula) : Start at paren level 0. (write_names) : ditto. 2001-02-16 Jody Goldberg * Release 0.62 2001-02-15 Jody Goldberg * ms-excel-read.c (ms_sheet_obj_realize) : Add a missing call to sheet_object_set_sheet. Without this the objects are lost in limbo. 2001-02-11 Jody Goldberg * ms-excel-read.c (ms_sheet_obj_create) : add option button. 2001-02-10 Jon K Hellan * ms-excel-read.c (ms_excel_init_margins): New function. Initialize margins to Excel defaults. (ms_excel_sheet_new): Call ms_excel_init_margins. * ms-excel-write.c (write_sheet_bools): Write margins also for biff 7 (which is what we actually use). 2001-02-09 Jody Goldberg * ms-excel-read.c (ms_sheet_obj_create) : don't free the object on failure. * ms-obj.c (ms_read_OBJ) : free it here on failure. * ms-container.c (ms_container_finalize) : fix leak. 2001-02-06 Jody Goldberg * ms-excel-read.c (ms_excel_read_default_col_width) : typo. 2001-02-06 Jody Goldberg * ms-excel-read.c (ms_excel_read_default_col_width) : Init and cache the default column width here directly. (ms_excel_read_colinfo) : Use the font associated with the specified xf record to calculate the width. (get_base_char_width) : delete. (init_base_char_width_for_read) : rename base_char_width_for_read. (base_char_width_for_read) : take the xf index as an argument and return rather than caching the results. 2001-01-30 Jody Goldberg * ms-excel-write.c (new_sheet) : adjust semantics of get extent. 2001-01-30 Almer S. Tigelaar * ms-excel-read.c (ms_excel_read_selection): Rename sheet_selection_reset_only to sheet_selection_reset. 2001-01-17 Michael Meeks * ms-escher.c (ms_escher_read_Blip): fix eog oafiid. 2001-01-08 Jody Goldberg * ms-excel-read.c (ms_sheet_obj_create) : remove stale debugging. 2001-01-08 Jody Goldberg * ms-excel-write.c (put_mstyle) : add a ref when the style is put in the table. (xf_free) : release the default style. 2000-12-31 Jody Goldberg * ms-excel-read.c (ms_excel_set_xf) : remove cruft with triple styles. (biff_xf_data_new) : Ditto. (ms_excel_set_xf_segment) : Ditto. (biff_xf_data_destroy) : Ditto. * ms-excel-write.c (build_xf_data) : remove cruft with triple styles. 2001-01-01 Jon K Hellan * ms-excel-write.c (write_window1): Take WorkbookView parameter. Save width, height and flags for show_horizontal_scrollbar, show_vertical_scrollbar and show_notebook_tabs (write_bits, write_sheet_tail): Call write_window1 with WorkbookView parameter. * ms-excel-read.c (ms_excel_read_window1): New function - separated out of ms_excel_read_workbook. Read BIFF WINDOW1 record. Fix some typos: Some fields were 32bit, should be 16 bit. (ms_excel_read_workbook): Separated out ms_excel_read_window1. 2000-12-20 Jody Goldberg * ms-chart.c (BC_R(ai)) : Use ms_container_parse_expr. * ms-container.c (ms_container_parse_expr) : new function. * ms-excel-read.c (ms_sheet_parse_expr_internal) : implement parse_expr. 2000-12-17 Jody Goldberg * Release 0.61 2000-12-09 Jody Goldberg * ms-excel-read.c (ms_sheet_obj_create) : changes to sheet object constructor arguments. 2000-12-07 Jody Goldberg * ms-excel-read.c (ms_excel_get_style_from_xf) : enable indent. 2000-12-7 Jody Goldberg * Release 0.60 2000-12-05 Jody Goldberg * ms-excel-read.c (ms_excel_read_mergecells) : enable merged cells. 2000-12-05 Jody Goldberg * ms-escher.c (ms_escher_read_Blip) : revert to using the old non-installed image viewer. The one in eog/viewer does not work. the one in eog/bonobo does. 2000-12-04 Jody Goldberg * ms-excel-read.c (ms_sheet_obj_create) : fix warnings. 2000-12-02 Jody Goldberg * ms-escher.c (ms_escher_read_Blip) : Change image viewers. The eog/bonobo viewer is no longer built or installed. * ms-excel-read.c (ms_excel_read_sheet) : XL docs do not mention that the PROTECT record can sometimes be of size 0. (ms_excel_read_workbook) : Ditto. (ms_excel_read_PROTECT) : new function. (ms_excel_read_mergecells) : Correct. (biff_xf_data_new) : remove the warnings about merged cells. 2000-12-01 Jody Goldberg * ms-obj.c (ms_read_OBJ) : simplify. * ms-excel-write.c (write_biff7_comments) : slight reorg to handle to style cell comments. * ms-excel-read.c (ms_excel_read_comment) : revamp for new cell comment technique. * ms-excel-read.c (ms_sheet_obj_anchor_to_pos) : Update to the new sheetObject anchor scheme. The sheet does NOT yet support this form of anchor. We'll need to add it in the next couple of days. (ms_sheet_obj_create) : create the sheet objects directly. * ms-escher.c (ms_escher_read_ClientData) : set the picture here directly. 2000-12-01 Jody Goldberg * ms-container.c (ms_container_get_blip) : new function. (ms_container_init) : Add ability to share blip lists between containers. We need to figure out the semantics of this. (ms_container_finalize) : Ditto. (ms_container_set_blips) : Ditto. 2000-11-19 Jon K Hellan * ms-excel-write.c (write_externsheets): Make EXTERNCOUNT be the number of EXTERNSHEETS we actually store. This stops Excel from crashing. See bug #32096. We still have to figure out what to store as EXTERNSHEETS and when. What we're doing isn't right. 2000-11-18 Jody Goldberg * Release 0.59 2000-11-13 Jody Goldberg * Release 0.58 2000-11-13 Morten Welinder * ms-excel-read.c (ms_excel_get_style_from_xf): Fix some style_color reference count problems. (ms_excel_set_xf_segment): Plug leak. 2000-11-10 Jody Goldberg * excel_builtin_formats : Correct long standing typos. 2000-11-10 Jody Goldberg Patch from Juan Pablo Mendoza * ms-excel-write.c (write_biff7_comments): New function. (write_sheet): Use it. 2000-11-07 Jody Goldberg * ms-excel-read.c (biff_name_data_get_name) : Cleanup a bit. 2000-11-02 Jody Goldberg * ms-chart.c (ms_excel_chart) : remove check for BOF type == chart. in BIFF5 it is possible to. * ms-excel-read.c (ms_excel_read_sheet) : If we find a CHART_unit record parse the following records as if they were a chart. 2000-11-01 Jody Goldberg * ms-excel-read.c (ms_excel_sheet_set_comment) : we do not need to set the cell's value to empty. It is created that way. (ms_excel_read_comment) : Ditto. (ms_excel_sheet_insert_val) : We have direct access to the display format. Use it rather than doing an expensive lookup. 2000-10-29 Jody Goldberg * ms-excel-read.c : Adjust to the signature changes for reading views rather than workbooks. * ms-excel-write.c : ditto. * boot.c : ditto. 2000-10-28 Jody Goldberg * ms-excel-util.c (init_xl_font_widths) : Add CG Times. 2000-10-30 Morten Welinder * ms-biff.c (biff_getdouble, biff_setdouble): Delete. Replace all callers with gnumeric_get_le_double and gnumeric_set_le_double. 2000-10-21 Jody Goldberg * ms-excel-read.c (ms_excel_read_row) : Fix bounds. (ms_excel_set_xf_segment) : Be more careful about bounds. 2000-10-10 Jody Goldberg * Release 0.57 2000-10-04 Jody Goldberg * ms-excel-read.c (biff_get_rk) : Fix ancient thinko. Thanks to heiko@hexco.de for noticing this. 2000-09-20 Jody Goldberg * ms-formula-read.c (ms_excel_parse_formula) : Make the warning quieter. 2000-09-10 Jody Goldberg * ms-excel-read.c (ms_sheet_obj_realize) : Adjust to new object creation semantics. First you create the object. Then set its size. 2000-09-06 Jody Goldberg * ms-excel-read.c (ms_excel_sheet_new) : No need to call set_zoom. sheet_new does that. 2000-08-24 Jody Goldberg * ms-excel-write.c (put_format) : Ref formats as we add them. 2000-08-23 Jody Goldberg * ms-excel-write.c (formats_put_magic) : Fixups after changes to format tables. We need to store a StyleFormat, not a string. (after_put_format) : unref rather than free. 2000-08-21 Jody Goldberg * ms-excel-write.c (formats_init) : The format table nows stores pointers to StyleFormats rather than their strings. (formats_get_format) : Ditto. (formats_free) : Ditto. (formats_get_index) : Ditto. (put_format) : Ditto. (write_format) : Ditto. * ms-excel-read.c (biff_format_data_lookup) : Number formats are stored in XLS using the 'C' locale. eg a french user who sees '# ##0,00' will actually save '#,##0.00'. (ms_excel_get_style_from_xf) : Kludge. We need to actually set non-borders so that things get over ridden. The core model needs improving before this can happen correctly. (ms_excel_get_style_from_xf) : Ditto. * ms-escher.c (ms_escher_read_Blip) : Remove gnorba. * ms-chart.c (ai) : Changes to the interface for StyleFormats. (ifmt) : Ditto. (ms_excel_chart) : Init the sheet. Ignore BIFF_DIMENSION records for now. I have no idea what they represenent. 2000-08-20 Jody Goldberg * ms-excel-read.c (ms_excel_get_style_from_xf) : No need to use set_text. Set the StyleFormat directly. 2000-08-16 Jody Goldberg * ms-excel-util.c (init_xl_font_widths) : Tweak Times New Roman to match observations. It seems as if the size is non-linear :-( We'll need another round of measurements to account for this. 2000-08-15 Jody Goldberg * ms-chart.c (ms_excel_chart) : conditionalize debug info. 2000-08-14 Jody Goldberg * ms-excel-read.c (ms_excel_set_xf) : Improve debug info. (ms_excel_set_xf_segment) : Ditto. (biff_xf_data_new) : Ditto. (ms_excel_get_style_from_xf) : Always apply the borders. We need to apply even in the case of no border in order to over ride previously applied defaults. (ms_excel_read_row) : Apply default style to the entire row. 2000-08-09 Jody Goldberg * ms-excel-read.c (ms_excel_biff_dimensions) : Move back from ms-chart.c. It is specific to sheets. 2000-07-26 Michael Meeks * README: Add some explanation of why I hate being mailed by people forking my code. 2000-07-24 Jody Goldberg * ms-excel-read.c (ms_excel_read_sheet) : Adjust to changes in sheet_set_zoom_factor. (ms_excel_sheet_new) : Ditto. 2000-07-13 Jody Goldberg * ms-container.c : Beginings of a some support for workbooks, and charts holding objects. Blips should become objects. * *.c : adjust to using the container abstraction. 2000-07-08 Jody Goldberg * ms-formula-read.c (make_function) : Move the place holder handling into the core. 2000-07-12 Michael Meeks * ms-escher.c (ms_escher_blip_destroy): unref not destroy bonobo object. 2000-07-06 Jody Goldberg * ms-obj.c (ms_read_OBJ) : Take an ExcelSheet. * ms-escher.c (ms_escher_read_ClientData) : ms_read_OBJ takes a sheet. * ms-excel-read.c (ms_excel_read_sheet) : Ditto. (ms_excel_read_workbook) : Ditto. * ms-chart.c (3dbarshape) : A bit of research into probable values of the enum. (ai) : After some thought this makes more sense. We should only see an expression if we are linked to the workbook. Similarly we should only see a format if one is specified. We really need to avoid this kludge of needing a dummy sheet. (areaformat) : Ignore colour index, use the stored colour. Add some more debug info. (lineformat) : Ditto. (markerformat) : Ditto. (ms_excel_chart) : Take an optional ExcelSheet. Parse BIFF_NUMBER records when they appear. (ms_excel_read_chart) : Take an optional ExcelSheet. 2000-07-05 Michael Meeks * ms-obj.c (ms_obj_realize): rename sheet_object_container constructor. * s/reproid/repo_id/ 2000-06-27 Jody Goldberg * ms-formula-write.c (write_node) : Handle new ExprFunction. * ms-formula-read.c (excel_formula_build_dummy_handle) : Use function_lookup_by_name. * ms-excel-read.c (ms_excel_set_xf) : Right borders dominate left borders. 2000-06-23 Jody Goldberg * ms-excel-read.c (ms_excel_sheet_append_comment) : Add a lag variable to support proper merging of comments. (BIFF_NOTE) : Init the lag variable. 2000-06-21 Jon K Hellan * ms-excel-write.c (palette_put_defaults): Ensure that black with index 8 can't be swapped out. (fixup_fill_colors): Use index 8 instead of 0 for black in foreground. Excel is unable to open the cell format dialog for cells where foreground pattern color or border color is index 0. (build_xf_data): Borders: Use index 8 instead of 0 for black. * ms-excel-read.c (ms_excel_read_cell): Add more references to BIFF documentation. (ms_excel_read_workbook): Ditto 2000-06-20 Jody Goldberg * ms-excel-read.c (ms_excel_externname) : Catch external names that are OLE or DDE links. 2000-06-18 Jody Goldberg * Release 0.56 2000-06-19 Jody Goldberg * ms-excel-write.c (excel_cell_get) : Add some invariants as protection. (pre_cell) : Be more careful about handling cells that are potentially out of bounds. 2000-06-18 Jody Goldberg * Release 0.55 2000-06-18 Jody Goldberg * ms-excel-read.c (biff_boundsheet_data_new) : Guess at some undocumented behavior. It appears that when a sheet has a NULL name it is actually 'Sheet#'. 2000-06-15 Jon K Hellan * ms-excel-write.c (write_db_cell): No longer use uninitialized rc_start [i]. Purify complained, although we immediately threw away the result. 2000-06-15 Jody Goldberg * ms-excel-write.c (write_formula) : Incorrect offsets for formula values with booleans and errors. 2000-06-14 Morten Welinder * ms-formula-write.c (ms_excel_write_formula): Plug leak. * ms-excel-write.c (ms_excel_check_write): In case of error, clear out the state. (ms_excel_write_free_state): "New" function. (write_workbook): Don't free workbook here. (ms_excel_write_workbook): Do it here and plug a leak. * boot.c (excel_save): Free the state. 2000-06-07 Jody Goldberg * ms-excel-read.c (biff_format_data_lookup) : FORMAT records supercede the internal table. 2000-06-05 Michael Meeks s/eBiff_version/MsBiffVersion/g; s/eBiffV([0-9]*)/MS_BIFF_V\1/g; s/eBiffVUnknown/MS_BIFF_V_UNKNOWN/g; s/eBiff_filetype/MsBiffFileType/g; s/eBiffT/MS_BIFF_TYPE_/g; s/eBiff_hidden/MsBiffHidden/g; s/eBiffHVisible/MS_BIFF_H_VISIBLE/g; s/eBiffHHidden/MS_BIFF_H_HIDDEN/g; s/eBiffHVeryHidden/MS_BIFF_H_VERY_HIDDEN/g; s/eBiff_locked/MsBiffLocked/g; s/eBiffLLocked/MS_BIFF_L_LOCKED/g; s/eBiffLUnlocked/MS_BIFF_L_UNLOCKED/g; s/eBiff_xftype/MsBiffXfType/g; s/eBiffXStyle/MS_BIFF_X_STYLE/g; s/eBiffXCell/MS_BIFF_X_CELL/g; s/eBiff_format/MsBiffFormat/g; s/eBiffFMS/MS_BIFF_F_MS/g; s/eBiffFLotus/MS_BIFF_F_LOTUS/g; s/eBiff_eastern/MsBiffEastern/g; s/eBiffEContext/MS_BIFF_E_CONTEXT/g; s/eBiffEleftToRight/MS_BIFF_E_LEFT_TO_RIGHT/g; s/eBiffErightToLeft/MS_BIFF_E_RIGHT_TO_LEFT/g; s/eBiffFontUnderline/MsBiffFontUnderline/g; s/eBiffFUNone/MS_BIFF_F_U_NONE/g; s/eBiffFUSingleAcc/MS_BIFF_F_U_SINGLE_ACC/g; s/eBiffFUDoubleAcc/MS_BIFF_F_U_DOUBLE_ACC/g; s/eBiffFUSingle/MS_BIFF_F_U_SINGLE/g; s/eBiffFUDouble/MS_BIFF_F_U_DOUBLE/g; s/eBiffFontScript/MsBiffFontScript/g; s/eBiffFSNone/MS_BIFF_F_S_NONE/g; s/eBiffFSSub/MS_BIFF_F_S_SUB/g; s/eBiffFSSuper/MS_BIFF_F_S_SUPER/g; s/eBiffHAlign/MsBiffHAlign/g; s/eBiffHAGeneral/MS_BIFF_H_A_GENERAL/g; s/eBiffHALeft/MS_BIFF_H_A_LEFT/g; s/eBiffHACenter/MS_BIFF_H_A_CENTER/g; s/eBiffHARight/MS_BIFF_H_A_RIGHT/g; s/eBiffHAFill/MS_BIFF_H_A_FILL/g; s/eBiffHAJustify/MS_BIFF_H_A_JUSTIFTY/g; s/eBuffHACenterAcrossSelection/MS_BIFF_H_A_CENTER_ACROSS_SELECTION/g; s/eBiffVAlign/MsBiffVAlign/g; s/eBiffVATop/MS_BIFF_V_A_TOP/g; s/eBiffVACenter/MS_BIFF_V_A_CENTER/g; s/eBiffVABottom/MS_BIFF_V_A_BOTTOM/g; s/eBiffVAJustify/MS_BIFF_V_A_JUSTIFY/g; s/eBiffOrient/MsBiffOrient/g; s/eBiffOHoriz/MS_BIFF_O_HORIZ/g; s/eBiffOVertHorizText/MS_BIFF_O_VERT_HORIZ/g; s/eBiffOVertVertText/MS_BIFF_O_VERT_VERT/g; s/eBiffOVertVertText2/MS_BIFF_O_VERT_VERT2/g; s/eBiffDifferences/MsBiffDifferences/g; s/eBiffDFormatbit/MS_BIFF_D_FORMAT_BIT/g; s/eBiffDFontbit/MS_BIFF_D_FONT_BIT/g; s/eBiffDAlignbit/MS_BIFF_D_ALIGN_BIT/g; s/eBiffDBorderbit/MS_BIFF_D_BORDER_BIT/g; s/eBiffDFillbit/MS_BIFF_D_FILL_BIT/g; s/eBiffDLockbit/MS_BIFF_D_LOCK_BIT/g; s/BIFF_BOF_DATA/MsBiffBofData/g; s/eBiffMaxRows/MsBiffMaxRows/g; s/eBiffMaxRowsV7/MS_BIFF_MAX_ROWS_V7/g; s/eBiffMaxRowsV8/MS_BIFF_MAX_ROWS_V8/g; 2000-06-05 Michael Meeks * ms-excel-read.c (sst_bound_check): Update so we can't miss adjacent records and we check for continues. 2000-06-03 Michael Meeks * ms-obj.c (ms_read_TXO): fix memory corruption bug with continue. * ms-escher.c (ms_escher_read_Blip): update for Oaf. * ms-biff.c (ms_biff_query_new): kill merging. (ms_biff_merge_continues): kill forever. (ms_biff_query_next_merge): rename to (ms_biff_query_next): and clean. (ms_biff_query_unmerge): kill. 2000-06-02 Michael Meeks * ms-excel-read.c (biff_get_text): hack nasty auto-header detection. (read_sst): split from (ms_excel_read_workbook). (get_xtn_lens): split from (biff_get_text). (get_utf8_chars, get_string, sst_boundcheck): implement. 2000-01-31 Michael Meeks * ms-obj.c (ms_read_TXO): re-implement to swallow CONTINUEs & make safer. * ms-biff.c (ms_biff_query_next_merge): hack do_merge = FALSE for now; big clean possible later. * ms-escher.c (ms_escher_read_Blip): always use image-generic; it works, disable writing image files unless debugging. (write_file): conditional compile out. (ms_escher_get_data): add BIFF_CONTINUE. 2000-01-30 Michael Meeks * ms-excel-read.c (ms_excel_read_sheet): kill blank_sheet_pos. 2000-05-30 Michael Meeks * Makefile.am (INCLUDES): kill explicit libole2 include. 2000-05-20 Jody Goldberg * Release 0.54 2000-05-18 Jody Goldberg * ms-excel-read.c (ms_excel_read_mergecells) : Produce a warning. 2000-05-11 Michael Meeks * boot.c (excel_load): add basic hooks. * excel.h: ditto. 2000-05-16 Michael Meeks * Makefile.am (INCLUDES): add libole2 include. 2000-05-11 Michael Meeks * *.[ch]: update libole2 includes. * Makefile.am (INCLUDES): kill libole2 kludge. 2000-05-09 Jody Goldberg * Release 0.53 2000-05-05 Jody Goldberg * ms-formula-read.c (ms_excel_parse_formula) : Improve warning when we encounter unknown ptgAttr flags. 2000-05-03 Jody Goldberg * ms-excel-read.c : Include eval.h to suppress warning. 2000-05-03 Jody Goldberg * ms-excel-write.c (write_cell) : Use parse_pos_init_cell. * ms-excel-read.c (ms_excel_read_formula) : No need to manually cleanout the old value. The various assignment routines take care of that. Honour the recalc flags for expressions. Array expressions are still unconditionally recalced, but the common case is handled correctly. 2000-04-24 Jody Goldberg * ms-excel-read.c : format police. 2000-04-21 Jody Goldberg * ms-excel-read.c (ms_excel_sheet_insert) : Use cell_set_value rather than cell_set_text to avoid attempting to parse the string. 2000-04-20 Jody Goldberg * ms-excel-read.c (ms_excel_sheet_insert) : formats are no longer associated with individual cells. Only create a cell if it has content. (ms_excel_formula_shared) : Rework to return the expression. Only set it if it is an array. (ms_excel_read_formula) : Use error values for problems not strings. Use cell_set_expr_and_value when possible. (ms_excel_read_workbook) : Disable optimization that was culling blank sheets. It was causing a complete recalc of all loaded books for eavy deleted sheet. 2000-04-20 Dan Winship * ms-escher.c (ms_escher_blip_new): update for changes to bonobo 2000-04-09 Morten Welinder * ms-excel-read.c (ms_excel_sheet_append_comment): Constify. (ms_excel_sheet_set_comment): Ditto. (ms_excel_read_sheet): Plug leak. 2000-04-08 Jon K Hellan * ms-excel-read.c (ms_excel_set_xf, ms_excel_read_formula, ms_excel_read_sheet): Use gnum_sheet->name_unquoted instead of gnum_sheet->name in debug output. (ms_excel_read_workbook): Remove unused variable to silence warning. * ms-excel-write.c (write_externsheets): Output gnum_sheet->name_quoted instead of gnum_sheet->name. FIXME: Is this correct? (write_sheet): Use gnum_sheet->name_unquoted instead of gnum_sheet->name in debug output. (write_workbook): Output gnum_sheet->name_unquoted instead of gnum_sheet->name. * ms-formula-read.c (ms_excel_parse_formula): Use gnum_sheet->name_unquoted instead of gnum_sheet->name in debug output. * ms-obj.c (object_anchor_to_position): Ditto. 2000-04-06 Jody Goldberg * ms-excel-read.c (ms_excel_read_workbook) : Move deep freeze/thaw to a higher level. 2000-04-06 Jody Goldberg * ms-formula-read.c (ms_excel_parse_formula) : Adjust to change in value_new_range. 2000-04-04 Jody Goldberg * ms-obj.c (ms_obj_read_biff8_obj) : Be more careful about when to dump debug info when the stated record size disagrees with the actual. 2000-03-24 Jody Goldberg * *.[ch] : Update copywrite years. * ms-obj.c (ms_read_OBJ) : improve debug output. (ms_obj_read_biff8_obj) : Try a new heuristic for dealing with trailing IMDATA. 2000-03-23 Jody Goldberg * ms-excel-read.c (biff_xf_data_new) : Support horizontal alignment center_across_selection. * ms-excel-write.c (halign_to_excel) : Ditto. * ms-obj.c (object_anchor_to_position) : remove some debug code. 2000-03-23 Jon K Hellan * boot.c (excel_load): No longer add ".gnumeric" to filename. Set save info. Tag filename as MANUAL. We could make it AUTO soon. (excel_init): Tag saver as MANUAL. 2000-03-22 Jody Goldberg * ms-excel-read.c (biff_xf_data_new) : Add some warnings for unsupported rotated text. 2000-03-21 Jody Goldberg * ms-excel-util.c (init_xl_font_widths) : Add Geneva. * ms-excel-read.c (biff_xf_data_new) : Have the horizontal alignment type center_across_selection default to 'center' instead. (ms_excel_read_workbook) : Be more explicit about NOT supporting 1904 dates as yet. 2000-03-14 Jody Goldberg * ms-excel-read.c (biff_xf_data_new) : Remove warning about parent styles not == 0. I finally understand what the semantics of this are. Style 0 is 'Normal' this test was doing nothing accept discriminating agains 'Comma' and its friends. We need to extend the gnumeric notion of styles to include the limited form of inheritance embodied by XL. * ms-obj.c (object_anchor_to_position) : Be VERY careful. 2000-03-13 Jody Goldberg * ms-obj.c (object_anchor_to_position) : Be more careful handling out of bounds conditions. Part of bug 7312. 2000-03-09 Jody Goldberg * ms-excel-read.c (ms_excel_get_style_from_xf) : Tweak colour selection for contrasting colours. FIXME : We really need to find something more definative than this guess work. * ms-excel-read.c (ms_excel_read_selection) : Do not reset the edit cursor. It needs more work to be correct. 2000-03-09 Jody Goldberg * ms-excel-util.[ch] (lookup_font_base_char_width) : Delete. * ms-excel-read.c (ms_excel_get_style_from_xf) : Adjust bottom and right borders to be top & left of neighbouring cells. (ms_excel_set_xf) : Ditto. (ms_excel_set_xf_segment) : Ditto. 2000-03-05 Jon K Hellan * ms-excel-write.c (lookup_base_char_width_for_write): Rename to init_base_char_width_for_write. Init width and default width. (get_base_char_width): Add is_default parameter. (write_colinfo, write_default_col_width): Use it. * ms-excel-write.h (struct _ExcelSheet): Add base_char_width_default. * ms-excel-write.c (excel_font_to_string, excel_font_new, excel_font_hash, excel_font_equal, write_font): Handle underline, strikethrough. * ms-excel-write.h (struct _ExcelFont): Ditto 2000-03-05 Jody Goldberg * ms-excel-read.c (ms_excel_get_style_from_xf) : enable strikethrough. 2000-03-01 Jody Goldberg * ms-excel-read.c (biff_font_data_new) : Fix old typo. 2000-02-29 Jody Goldberg * ms-excel-read.c (ms_excel_get_style_from_xf) : Add support for importing underlines. 2000-02-18 Jody Goldberg * ms-excel-read.c (ms_excel_get_style_from_xf) : Hard code 'auto' border colours to black for now. We are not guessing well. 2000-02-15 Jody Goldberg * ms-obj.c (object_anchor_to_position) : Improve debug output. * ms-excel-read.c (ms_excel_sheet_new) : Add new member base_char_width_default. (print_font_mapping_debug_info) : Delete. (lookup_base_char_width_for_read) : Rename init_base_char_width_for_read, and use lookup_font_base_char_width_new to init the width and the default_width. (get_base_char_width) : Adjust. (ms_excel_read_colinfo) : Width is different from default_width... Idiots! (ms_excel_read_default_col_width) : Ditto. * ms-excel-util.c : Add lookup tables for various standard widths of MS fonts. Use a quick and dirty linear scaling to calculate the widths of arbitrary font sizes. 2000-02-14 Jody Goldberg * ms-excel-read.c (ms_excel_read_row) : heights are specified including margins and 1 grid line. Do not use get_units_net_of_margins. (get_units_net_of_margins) : Delete. 2000-02-13 Jody Goldberg * ms-excel-read.c (ms_excel_read_workbook) : Adjust WINDOW size measurements from points to pixels. 2000-02-12 Jody Goldberg * ms-excel-read.c (ms_excel_read_default_col_width) : Margins are internal now. (ms_excel_read_default_row_height) : Ditto. (ms_excel_read_colinfo) : Ditto. (ms_excel_read_row) : Adjust to changes in margins and step closer to handling think margins. * ms-excel-write.c (write_rowinfo) : Use the size_pts member directly. (write_colinfos) : ditto. * ms-obj.c (object_anchor_to_position) : Adjust to name and semantic changes of size_pixels. Denominate things in pixels. 2000-02-06 Michael Meeks * ms-excel-read.c (ms_excel_read_workbook): Move failed sheet removal here + add pristine culling instead of 0 byte in sheet header, may introduce bugs but will help fix sheet_is_pristine. Fix potential sheet object leak. (ms_excel_read_sheet): do not detach in error case. 2000-01-30 Jon K Hellan * ms-excel-write.c (write_sheet): Correct the max no. of rows check. 2000-01-29 Jody Goldberg * ms-excel-read.c (ms_excel_read_workbook) : Correct the error handling. 2000-01-29 Jon K Hellan Megacommit. The purpose of the changeset is twofold: 1. Use CommandContexts for error reporting for file read/save. 2. This allows us to let FileFormatOpen return 0 on success, -1 on failure, same as FileFormatSave. The convention to return NULL on success was highly ideosyncratic. * excel.h (ms_excel_read_workbook, ms_excel_write_workbook) Add CommandContext. Return int. * ms-excel-read.c (ms_excel_read_workbook): Add CommandContext. Return 0 on success, -1 on failure. Use gnumeric_error_read to display messages. * ms-excel-write.c (write_sheet): Check max no. of rows for the format. (new_sheet): Return the ExcelSheet. Let caller add it to wb->sheets. (pre_pass): Add CommandContext. (free_workbook): New function, previously in write_workbook. (write_workbook): Change parameter from Workbook to ExcelWorkbook. Move deallocation to free_workbook. (check_sheet): New function. Check if we are able to save the sheet. (ms_excel_check_write): New function. Check if we are able to save to the file. Do initialization previously in ms_excel_write_workbook. (ms_excel_write_workbook): Add CommandContext. Add state. Change wb from Workbook to ExcelWorkbook. Use gnumeric_error_save to report problems. Return 0 on success, -1 on failure. * ms-excel-biff.h: Define enum for max no. of rows. Fix typo. * boot.c (excel_load, excel_save, excel_save_98, excel_save_95): Add CommandContext. (excel_load): Return 0 on success, -1 on failure. Use gnumeric_error_read to display messages. Remove "Opening .. " message on stdout. (excel_probe_write): New function. Check if we are able to save to the file. (excel_save): Use gnumeric_error_save to display messages. Return 0 on success, -1 on failure. 2000-01-18 Jody Goldberg * ms-formula-read.c (ms_excel_parse_formula) : Add OPER_UNARY_PLUS. * ms-formula-write.c (write_node) : Ditto. * ms-excel-read.c (get_units_net_of_margins) : Return 1 when faced with < 0 sized things. (ms_excel_read_row) : Support hidden rows. (ms_excel_read_colinfo) : Support hidden columns. 2000-01-17 Frank Chiulli * ms-summary.c (ms_summary_write): Turn on writing out the DocumentSummaryInformation stream. 2000-01-17 Jody Goldberg * ms-excel-write.c : Remove unused xml includes. 2000-01-17 Jody Goldberg * ms-chart.c (ms_excel_chart) : Apparently BIFF_NUMBER records show up in charts. * ms-excel-read.c (ms_excel_read_workbook) : Improve sizing of window, Use the support for some of the new preferences hiding scrollbars, and notebooktabs. * ms-excel-read.c (ms_excel_read_sheet) : Use support for hidden grid lines, hidden formulas, hidden zeros, hidden row/col headers. Use the information on where the upper left corner is. 2000-01-14 Jon K Hellan * ms-excel-write.h: (ExcelWorkbook): Make sheet->cells an array of arrays. * ms-excel-write.c (excel_cell_get): Make inline. (excel_cell_get, new_sheet, new_sheet, free_sheet): Make sheet->cells an array of arrays. 2000-01-13 Jody Goldberg * ms-excel-read.c (ms_excel_read_workbook) : Move magic scale hack into a single #define. Use workbook_view_set_size. 2000-01-10 Jody Goldberg * ms-obj.c (ms_read_TXO) : Return the string generated rather than leaking it. (ms_read_OBJ) : Don't warn about comments, they are not sheet objects which breaks the whole function of this routine but they are not unexpected. If we can figur eout how to store the string associated with the TXO nearby with this object and get that cleaned up on time and referencable by obj-ID then we can fix comment import. * ms-excel-read.c (ms_excel_read_sheet) : Improve handling for WINDOW1 and warn about more unsupported cases. Tweak zoom factor by 1.4 to be less ugly. (ICK ! HACK!) (ms_excel_read_workbook) : WINDOW2 is a sheet level descriptor. Add handle for WINDOW1. (ms_excel_sheet_new) : ICK! hard code a scale factor of 1.4 to get things to be less ugly. 2000-01-05 Jon K Hellan * ms-excel-write.c (write_colinfos): Fix off by one error. (write_sheet_bools): Ditto. 2000-01-03 Jody Goldberg * ms-excel-read.c (ms_excel_read_sheet) : extend support for WINDOW2. (ms_excel_read_selection) : Remove hack to set visible location. 1999-12-30 Jody Goldberg * ms-excel-read.c (ms_excel_workbook_new) : Return error messages. (ms_excel_read_workbook) : If a file is password protected do NOT attempt to read it. * boot.c (excel_load) : return error messages. 1999-12-23 Jon K Hellan * ms-excel-write.c (write_bits): Use "The Free Software Foundation" as name. * excel.h (WRITEACCESS_LEN): Define it. 1999-12-21 Jon K Hellan * ms-excel-write.c (write_index, write_db_cell, write_block, write_sheet): Write row info records in blocks of 32. Excel was unable to read files we made if they were over 517 rows. Limit is now pushed to 16544. (write_index): Assertion no longer true - removed it. Refer to Excel doc page. (write_db_cell): Write offsets for all rows in block in single record. Add number of rows parameter. (write_block): New function. Write a block of rows. Previously part of write_sheet, but changed for blocked row info. (write_sheet): Move inner loop to write_block. (new_sheet): Initialize sheet->cells to 0. * excel.h (ROW_BLOCK_MAX_LEN): Define. 1999-12-21 Jon K Hellan * ms-excel-write.c (fixup_fill_colors): Fix minor bug. 1999-12-17 Jon K Hellan * ms-excel-write.h (struct _ExcelCol ): define it (struct _ExcelSheet): Add base_char_width * ms-excel-write.c (log_put_color, palette_get_index, gather_palette, write_palette, excel_font_new, excel_font_hash, excel_font_equal, after_put_format, map_pattern_index_to_excel, halign_to_excel, valign_to_excel, fixup_fill_colors, get_xf_differences, log_xf_data, build_xf_data, write_xf_magic_record, write_value, write_formula, write_cell, write_mulblank, pre_pass): Cosmetics (write_font, write_fonts, write_format, write_formats, write_xf_record, write_xf, write_workbook): Conform to conventional parameter order (orientation_to_excel, border_type_to_excel): Make inline (write_default_row_height): New function. Write default row height. (lookup_base_char_width_for_write): New function. Locate font for measuring base char width, and call measuring function. (get_base_char_width): New function: Return base char width for column sizing. (write_default_col_width): New function. Write default col width. (write_colinfo): New function. Write column info for a run of identical columns (write_colinfos): New function. Write column info for all columns. (write_sheet_bools): Use write_default_row_height, write_default_col_width, write_colinfos. (write_sheet_bools): (write_rowinfo): Write true row height. Add sheet to signature. (write_sheet): Add sheet to write_rowinfo call. (new_sheet): Initialize base_char_width. * ms-excel-util.h: #include (EXCEL_DEFAULT_CHAR_WIDTH): Move here from ms-excel-read.h (lookup_font_base_char_width): Declare it. * ms-excel-util.c (lookup_font_base_char_width): New function. Measure "base character width" of font. Previously in lookup_base_char_width in ms-excel-read.c * ms-excel-read.c: #include ms-excel-util.h (lookup_base_char_width_for_read): Renamed from lookup_base_char_width because of similar, but different function in ms-excel-write.c. Split in two. Font locating stays here. Font measuring moved to new function lookup_font_base_char_width in ms-excel-util.c (get_base_char_width): Use lookup_base_char_width_for_read. (ms_excel_read_default_row_height): Refer to Excel doc page. (ms_excel_read_default_col_width): Ditto 1999-12-14 Jon K Hellan * ms-excel-write.h (XF_MAGIC, PALETTE_ALSO_BLACK, FILL_MAGIC, BORDER_MAGIC): define (PALETTE_WHITE, PALETTE_BLACK): Fix typo, they were switched around. * ms-excel-write.c (put_colors): Include border colors. (excel_font_new): Newline to conform to coding style. (fonts_get_font): New function. Get font, given index. (fonts_free, write_fonts): Use it. (write_font): Fix boldstyle typo. (formats_get_format): New function. Get format, given index. (formats_free, write_format): Use it. (xf_get_mstyle): New function. Get mstyle, given index. (xf_free): Use it. (halign_to_excel): New function. Map horizontal alignment to Excel bitfield (valign_to_excel): New function. Map vertical alignment to Excel bitfield. (orientation_to_excel): New function. Map text orientation to Excel bitfield. (border_type_to_excel): New function. Map border type to Excel bitfield. (fixup_fill_colors): New function. Kluge fill foreground and background colors. (get_xf_differences): Fill out map of differences to parent style. (log_xf_data): New function. Log XF data for a record about to be written. Pulled out of write_xf_record. (build_xf_data): New function. Build XF data for a style. Pulled out of write_xf_record, but uses BiffXFData struct. Add support for borders, alignments, wrap, rotation. Change some local variable names for consistency with import code. (write_xf_magic_record): Comment magic color value. (write_xf_record): Change signature, take BiffXFData instead of mstyle. Simplify by moving out logging and marshaling. Make more complex by writing borders, alignment, wrap, rotation. (write_xf): Use xf_get_mstyle, build_xf_data, log_xf_data. * ms-excel-util.h: Fix typo. * ms-excel-xf.h: New file for BiffXFData struct def. * ms-excel-read.c: Move BiffXFData struct def to ms-excel-xf.h. Include ms-excel-xf.h. Remove include "border.h" - ms-excel-xf.h includes it. (ms_excel_get_style_from_xf): Express some bewilderment. * ms-excel-biff.h: Define enums for horizontal alignment, vertical alignment, text orientation, difference bits 1999-12-11 Frank Chiulli * ms-summary.c (ms_summary_write): comment out DocumentSummary. * boot.c (excel_save): re-enable summary write. 1999-12-14 Valerie A Henson * ms-obj.c: s/dump/ms_ole_dump/ * ms-biff.c: s/dump/ms_ole_dump/ * ms-formula-read.c: s/dump/ms_ole_dump/ * ms-excel-read.c: s/dump/ms_ole_dump/ 1999-12-09 Jon K Hellan * ms-excel-write.c (excel_font_hash, excel_font_equal, excel_font_free): fixup pointer bits. 1999-12-08 Jon K Hellan * ms-excel-write.c: (palette_color_to_int): New function. Convert EXCEL_PALETTE_ENTRY to guint. (style_color_to_int): New function. Convert StyleColor to guint. (log_put_color): New function. Debug log when color added to palette (palette_put_defaults): New function. Put Excel default colors to palette. (palette_init): New function. Initialize palette table. (palette_free): New function. Free palette table. (palette_get_index): New function. Get color index. (put_color): New function. Add color to palette. (put_colors): New function. Add colors in MStyle to palette (gather_palette): New function. Add all colors in workbook to palette. (write_palette): Use color info from styles. Make void. (excel_font_to_string): New function. Return string desc. of font (excel_font_new): New function. Make an ExcelFont (font + color). (excel_font_free): New function. Free an ExcelFont. (excel_font_hash): New function. Hash function for ExcelFonts. (excel_font_equal): New function. Compare ExcelFonts. (fonts_init): New function. Initialize font table (fonts_free): New function. Free font table. (fonts_get_index): New function. Get index of ExcelFont (after_put_font): New function. Debug log when font is added to table. (put_font): New function. Add font to table. (gather_fonts): New function. Add all fonts in workbook to table. (write_font): New function. Write a font to file. Essentially, inner loop of the old version of write_fonts. (write_fonts): Rewritten. Make void (after_put_format): New function. Debug log when format is added to table. (formats_put_magic): New function. Add builit-in formats to table. (formats_init): New function. Initialize format table (formats_free): New function. Free format table (formats_get_index): New function. Get index of format (put_format): New function. Add a format to table (gather_formats): New function. Add all formats in workbook to table. (write_format): New function. Write a format to file. Essentially, inner loop of the old version of write_formats. (write_formats): Rewritten. Make void. (cell_used_map_new): New function. Make bitmap for cells in use. (cell_mark_used): New function. Mark cell in use in bitmap. (cell_is_used): New function. Return true if cell marked in use in bitmap. (get_default_mstyle): New function. Get default mstyle of sheet. Placeholder function until this info is exported from sheet. (xf_init): New function. Initialize xf/mstyle table. (xf_free): Rewritten. New signature. Release allocated style data. (after_put_mstyle): New function. Debug log when MStyle added to table. (put_mstyle): New function. Add MStyle to table. (excel_cell_get): New function. Get ExcelCell record for cell position. (pre_cell): Constify key. Add cell MStyle to table. Cache some info (pre_blank): New function. Add MStyle of blank cell to table. (pre_blanks): New function. Add MStyles of all blank cells in workbook to table. (gather_styles): New function. Add all MStyles in workbook to table. (map_pattern_index_to_excel): New function. Map Gnumeric pattern index to Excel ditto. (write_xf_magic_record): New function. Essentially, the old version of write_xf_record. (write_xf_record): Rewritten. Use style info from worksheet. (write_xf): Use style info from worksheet. Changed signature. (write_value): Let ms_excel_write_debug govern debug logging. (write_formula): Add xf parameter. Write true xf index (write_cell): ExcelCell parameter instead of Cell, bringing in xf. Write true xf index. Let ms_excel_write_debug govern debug logging. (write_mulblank): Add xf_list parameter. Write true xf index. Remove #define XF_MAGIC. Add debug logging. Add ms_biff_put_commit. (write_index): Let ms_excel_write_debug govern debug logging. (write_sheet): Let ms_excel_write_debug govern debug logging. (write_sheet): Use ExcelCell instead of Cell. Pass xf or xf_list to called functions. (new_sheet): Initialize sheet->cells, sheet->cell_used_map (free_sheet): Free sheet->cells, sheet->cell_used_map (pre_pass): Rewrite. Change signature (write_workbook): Initialize font, format, palette and xf tables. Free xf list. (ms_excel_write_workbook): Flush debug log at end. * ms-excel-write.h: Define TwoWayIndex, ExcelFont, ExcelCell, ExcelRow. Redefined Palette, Fonts, Formats, XF. Add cells and cell_used_map to ExcelSheet. Add xf to ExcelWorkbook. Define AfterPutFunc. Declare ms_excel_write_debug. Move #defines from ms-excel-write.c. Move function declarations last. * ms-excel-util.c New file. (two_way_index_new): New function. Make TwoWayTable. (two_way_index_free): New function. Destroy TwoWayTable (two_way_index_put): New function. Put a key to TwoWayTable (two_way_index_replace): New function. Replace key for index in TwoWayTable (two_way_index_key_to_idx): New function. Find index given key (two_way_index_idx_to_key): New function. Find key given index * ms-excel-util.h New file. * ms-excel-read.c (ms_excel_read_cell): Add \n to debug print. 1999-12-06 Michael Meeks * ms-excel-write.c (new_sheet): Update to sheet_get_extent. 1999-12-01 Morten Welinder * ms-excel-read.c (lookup_base_char_width): Plug leaks. (biff_xf_data_destroy): Ditto. 1999-11-30 Michael Meeks * boot.c (excel_save): Disable summary info export. 1999-11-30 Michael Meeks * ms-excel-read.c: Add ms_excel_write_debug. 1999-11-30 Jon K Hellan * ms-excel-read.c (biff_format_data_lookup): Add debug. (lookup_base_char_width): add commenting. (ms_excel_read_workbook): Add fflush. 1999-11-28 Michael Meeks * gnumeric-chart.c (gnumeric_chart_destroy): check the series is valid before freeing. 1999-11-28 Michael Meeks * ms-excel-read.c (biff_name_data_destroy): add comment. * ms-chart.c (ms_excel_chart): destroy state.chart. 1999-11-26 Jody Goldberg * ms-formula-read.c (ms_excel_parse_formula) : DOH! why wait to implement the implicit intersetion in the core. We know that this will require such an intersection. So do the work here. This results in the same sheet that XL produces if you turn off the 'use labels as names' feature. 1999-11-26 Jody Goldberg * ms-formula-read.c (ms_excel_parse_formula) : Add support for extended-ptg ElfColV and ElfRowV. They seem to refer to the use of an implicit vector defined by a column header. ie A1 = 'bob' A2 = 2 B2 = '=bob^2' The eptg would indicate that 'bob' in B2 refered to the column below A1. Presumably implicit intersection (not implemented yet) would handle the rest. 1999-11-25 Jody Goldberg * ms-obj.c (object_anchor_to_position) : Use 1/1024 for pre-XL97 objects. Do not scale the margins. 1999-11-23 Jody Goldberg * ms-excel-read.c (biff_font_data_new) : Improve debug info. (ms_excel_get_style_from_xf) : Ditto. (ms_excel_set_xf) : Ditto. 1999-11-22 Jody Goldberg * ms-excel-read.c (get_units_net_of_margins) : Don't crash when the col/row info is NULL. * ms-excel-read.c (ms_excel_get_xf) : Improve error message when faced with invalid xf index. 1999-11-21 Jody Goldberg * ms-excel-read.c (ms_excel_read_selection) : Bug 3609. Make sure the current cell is visible. 1999-11-19 Jon K Hellan * ms-excel-read.c (ms_excel_read_row): New funtion: Process a BIFF row info record. Previously in ms_excel_read_cell. (ms_excel_read_colinfo): New function: Process a BIFF column info record. Previously in ms_excel_read_cell. (ms_excel_read_cell): Move some code to ms_excel_read_row and ms_excel_read_colinfo (ms_excel_read_default_row_height): New function: Process a BIFF default row height record. Previously in ms_excel_read_sheet. (ms_excel_read_default_col_width): New function: Process a BIFF default column width record. Previously in ms_excel_read_sheet. (ms_excel_read_sheet): Move some code to ms_excel_read_default_row_height and ms_excel_read_default_col_width. 1999-11-19 Michael Meeks * boot.c (excel_probe): Check for the right streams, not just an ole file. 1999-11-18 Michael Meeks * ms-excel-read.c (lookup_base_char_width): kill double init of sample & add check. 1999-11-18 Jon K Hellan * ms-obj.c (ms_parse_object_anchor): Just extract anchor data, don't try to convert to pixels. Extracted anchor data has type anchor_point[4], i.e. 4 pairs of col/row number and fractions of col/row. (ms_obj_realize): Now receives uninterpreted anchor data. Thus, conversion to position is delayed until the entire sheet has been read. Use object_anchor_to_position to interpret. 'anchor' variable renamed to 'position'. (object_anchor_to_position): New function: Convert an anchor to position in points. Based on data interpretation in previous version of ms_parse_object_anchor. Interpret as 256th's rather than 1024th's vertically. Base computation on actual cell width/height. * ms-obj.h (type anchor_point): define it. (type MSObj): Change type of anchor from int[4] to anchor_point[4]. Update signature of ms_parse_object_anchor. * ms-excel-read.h (_ExcelSheet): Add base_char_width member. (EXCEL_DEFAULT_CHAR_WIDTH): Define it. * ms-excel-read.c (get_substitute_font): New function: Try to find a gnome font which matches the Excel font. (ms_excel_get_style_from_xf): Use get_substitute_font. (ms_excel_sheet_new): Initialize base_char_width to 0, i.e. unknown. (print_font_mapping_debug_info): Debug print in separate routine. (get_base_char_width): New function: Return base char width for column sizing. If not yet known, call lookup_base_char_width to find it. (lookup_base_char_width): New function. See get_base_char_width. (get_row_height_units): New function. We could adjust excel heights here, but there seems to be no need. (get_units_net_of_margins): New function. Subtract margins from a point size. (ms_excel_read_cell): case BIFF_ROW: Specify height in points, not pixels. Use get_row_height_units and get_units_net_of_margins. Call sheet_row_set_height_units rather than sheet_row_set_height. case BIFF_COLINFO: Specify width in points, not pixels. Scale column based on actual font. Use get_base_char_width and get_units_net_of_margins. Call sheet_col_set_width_units rather than sheet_col_set_width. (ms_excel_read_sheet): case BIFF_DEFAULTROWHEIGHT: Handle it. Like BIFF_ROW, but use sheet_row_set_internal_height on default style. case BIFF_DEFCOLWIDTH: Handle it. Like BIFF_COLINFO, but use sheet_col_set_internal_height on default style. * ms-escher.c (_MSEscherHeader): Change type of anchor to anchor_point[4] 1999-11-18 Michael Meeks * ms-excel-read.c (ms_excel_read_guts): rename. 1999-11-17 Jody Goldberg * ms-excel-read.c (ms_excel_read_mergecells) : New function. Test parser for merged cells. (ms_excel_read_sheet) : Use it. (biff_xf_data_new) : Fix typo. * ms-excel-read.c (black_or_white_contrast) : Use new style_color{black,white} functions. (ms_excel_palette_get) : Ditto. (ms_excel_get_style_from_xf) : Ditto. 1999-11-17 Michael Meeks * ms-excel-read.c (biff_xf_data_new): Quieten. (ms_excel_palette_get): Return black on failure. (biff_get_text): quieten various warnings. 1999-11-16 Jody Goldberg * ms-excel-read.c (ms_excel_read_GUTS) : New function. (ms_excel_read_sheet) : used here. 1999-11-15 Jody Goldberg * ms-excel-read.c (biff_xf_data_new) : Add warnings about unsupported alignment and format features. This explains why travel.xls looks odd. 1999-11-14 Frank Chiulli * ms-summary.c (set_summary_item) : Process all the sections in a stream. Pass the section's PropertySetID to sum_name_to_excel rather than the stream's. 1999-11-13 Jody Goldberg * ms-excel-write.c (write_sheet) : Make static. * gnumeric-chart.h (typedef) : Fix prototype. 1999-11-09 Michael Meeks * ms-excel-read.c (ms_excel_get_style_from_xf, biff_xf_map_border): Update to new STYLE_BORDER enums. 1999-11-08 Jody Goldberg * ms-excel-read.c (biff_xf_data_new) : Reverse sense on diagonals. 1999-11-08 Michael Meeks * ms-summary.c (ms_summary_read): quieten. 1999-11-08 Frank Chiulli * ms-summary.c : Added support for DocumentSummaryInformation stream. Added new field, ps_id (Property Set ID), to mapping_t structure and initialized excel_to_gnum_mapping[] appropriately. * ms-summary.c (sum_name_to_excel) : New function to convert a summary name to a MsOleSummaryPID. * ms-summary.c (read_summary_items) : Added new argument - psid (Property Set ID). It also checks to see that the summary item is in current Summary stream as identified by psid. Added support for additional summary types (boolean, short, time). * ms-summary.c (ms_summary_read) : Reads DocumentSummaryInformation stream and summary items therein. * ms-summary.c (set_summary_item) : Processes additional summary types (boolean, int, short, time). * ms-summary.c (ms_summary_write) : Now also writes out the DocumentSummaryInformation stream. 1999-11-07 Michael Meeks * boot.c (excel_save): Invert sense of return value to reflect success. * ms-excel-read.c (biff_name_data_get_name): Move name parsing back here; we have read all the sheets this time so inter-sheet references in names work. Add 'inserted' flag (biff_name_data_new): Kill returning the name + add comment. Add stuff to TODO. 1999-11-07 Jody Goldberg * ms-excel-read.c (ms_excel_set_xf) : Remove debug statement accidentally left in. 1999-11-06 Jody Goldberg * ms-excel-read.c (black_or_white_contrast) : Revert to 50% as a contrast boundary (3*0x10000/2) ~= 0x1800 * ms-excel-read.c (ms_excel_get_style_from_xf) : Add more debug output, and support 0 as a contrast colour. 1999-11-05 Jody Goldberg * ms-excel-read.c (ms_excel_palette_get) : Split the contrast logic into a new function (black_or_white_contrast) : The new function. (ms_excel_get_style_from_xf) : Add a hand coded table to decide what colours to contrast with which while importing. (biff_xf_data_new) : Fix diagonal border import. (ms_excel_workbook_detach) : Do not multiply delete a sheet. * ms-chart.c : Adjust to changes in ms_excel_palette_get. 1999-11-05 Michael Meeks * ms-excel-read.c (ms_excel_get_style_from_xf): update. * ms-excel-write.c (write_xf_record): pass MStyle *. (xf_lookup): ditto. 1999-11-03 Jody Goldberg * ms-excel-read.c (excel_map_pattern_index_from_excel) : Adjust map from XL pattern index to gnumeric pattern index to swap diag and rev-diag. * ms-excel-read.c (ms_excel_get_style_from_xf) : Set the pattern on import. 1999-10-31 Michael Meeks * ms-excel-write.c (new_sheet): Fix silly bug, rows not cols for maxy. (write_names): add version precondition. 1999-10-30 Daniel Risacher * ms-excel-read.c (biff_get_text): tiny fix to debugging code (biff_name_data_new): actually return the new data (biff_name_data_get_name): Moved code that adds names to the workbook to ms_excel_read_name() (ms_excel_read_name): Add name definitions to workbook when definition is read, rather than when used. Formatting. * ms-formula-write.c (write_ref): minor change to comply with spec for references. (write_node): Handle OPER_NAME. Formatting. * ms-excel-write.c (write_names): New function. Writes name definitions. Called from write_workbook(). Formatting. * ms-excel-write.h: Added names to struct _ExcelWorkbook 1999-10-30 Michael Meeks * ms-excel-read.c (ms_excel_get_xf): kill const. (ms_excel_read_cell): initialize range_end. 1999-10-26 Jody Goldberg * ms-formula-read.c (FormulaFuncData) : Fix typo for SERIESNUM -> SERIESSUM. 1999-10-26 Jukka-Pekka Iivonen * ms-formula-read.c (formula_func_data): Fixed the number of arguments in GETPIVOTDATA to two. 1999-10-24 Michael Meeks * ms-excel-read.c (ms_excel_get_style_from_xf): add another ref. 1999-10-24 Jody Goldberg * ms-excel-read.c (ms_excel_read_cell:MULBLANK) : pre-merge the XF records in a mulblank sequence. Improves load time. * ms-excel-read.c (ms_excel_get_style_from_xf) : New function split from ms_excel_set_xf. It calculates and caches the MStyle associated with an XF record. 1999-10-22 Michael Meeks * ms-excel-read.c (ms_excel_palette_get): fix leak. 1999-10-18 Morten Welinder * ms-formula-read.c (ms_excel_parse_formula): Fix for non-shared references to cells below row 256. * ms-excel-read.c (ms_excel_sheet_insert): Set XF before sheet_cell_fetch for big speedup. (ms_excel_read_formula): ditto. 1999-10-19 Michael Meeks * ms-excel-read.c (ms_excel_get_stylefont ms_excel_set_xf): use new 'helper' functions. 1999-10-08 Jody Goldberg * ms-excel-read.c : More minor tweaking of adjustment ratios. We need some real documentation on this stuff. * ms-escher.c (ms_escher_get_data) : Use printf instead of g_return_if_fail. It makes it easier to debug when the messages ar in line. * ms-obj.c (ms_read_OBJ) : Print the object type name whenever possible. (ms_obj_read_biff8_obj) : Looks like a PictOpt record in an object signifies that the next BIFF record after the OBJ must be an IMDATA. (ms_obj_parse_anchor) : Move the zoom application back here until we split the anchors into distance and cell pairs. The old code was zooming the col/row distances twice. 1999-10-08 Morten Welinder * ms-formula-read.c (ms_excel_parse_formula): Plug leaks. 1999-10-03 Jody Goldberg * boot.c (excel_probe) : Only free the MsOle object if it was created successfully. 1999-10-02 Jody Goldberg * *.c : Ensure that we include config.h first. * *.[ch] : Update and add Copyright notices. 1999-09-29 Jody Goldberg * ms-excel-read.c (ms_excel_read_cell:MULBLANK) : Insert blanks in reverse order, to decrease the load on the insert routines. 1999-09-26 Jody Goldberg * ms-excel-read.c (ms_excel_read_cell:COLINFO) : Seems like XL periodically sends column widths for phantom columns. 1999-10-19 Morten Welinder * ms-formula-read.c (ms_excel_parse_formula): Get row as 16 bit value, for both AREA_3D and AREA[N]. 1999-10-18 Michael Meeks * ms-excel-read.c (ms_excel_set_xf): Ref count colors correctly. 1999-10-16 Michael Meeks * ms-excel-read.c (ms_excel_set_cell_font): renamed + kill Cell. (style_optimize): kill Cell argument. (ms_excel_set_cell_xf): use style_attach + kill Cell arg. + renamed. (ms_excel_sheet_insert, ms_excel_read_formula), (ms_excel_sheet_insert_val): update removing Cell argument. (ms_excel_sheet_insert_blank): Create. (ms_excel_read_cell): use insert_blank. 1999-10-15 Michael Meeks * ms-excel-read.c (ms_excel_set_cell_xf): Update style creation + only setup border if it non NULL, fixup optimization regions. (ms_excel_set_cell_font): update + add array argument. (style_optimize): split out. (ms_excel_read_sheet): Add post-optimize. 1999-10-13 Michael Meeks * ms-excel-read.c (ms_excel_set_cell_font): New String in style. 1999-10-11 Michael Meeks * ms-excel-read.c (ms_excel_set_cell_xf): better optimize region generation. 1999-10-10 Michael Meeks * ms-excel-read.c (ms_excel_sheet_new): Initialize range. (ms_excel_set_cell_xf): Add range optimization. (ms_bug_get_padding): Kill. * ms-excel-read.h (ExcelSheet): Add style_optimize field. 1999-10-09 Jody Goldberg * ms-excel-read.c (ms_excel_set_cell_xf): Adapt to new Border support. 1999-10-07 Michael Meeks * ms-excel-read.c (ms_excel_set_cell_xf): Large hack to new style code. (biff_font_data_get_style_font): kill it. (biff_font_data_new): remove setting up fd->style_font. (biff_font_data_destroy): kill style_font bits. 1999-10-03 Jody Goldberg * boot.c (excel_probe) : Only free the MsOle object if it was created successfully. 1999-09-29 Jody Goldberg * ms-excel-read.c (ms_excel_read_cell:MULBLANK) : Insert blanks in reverse order, to decrease the load on the insert routines. 1999-09-26 Jody Goldberg * ms-excel-read.c (ms_excel_read_cell:COLINFO) : Seems like XL periodically sends column widths for phantom columns. 1999-10-19 Morten Welinder * ms-formula-read.c (ms_excel_parse_formula): Get row as 16 bit value, for both AREA_3D and AREA[N]. 1999-10-18 Michael Meeks * ms-excel-read.c (ms_excel_set_xf): Ref count colors correctly. 1999-10-16 Michael Meeks * ms-excel-read.c (ms_excel_set_cell_font): renamed + kill Cell. (style_optimize): kill Cell argument. (ms_excel_set_cell_xf): use style_attach + kill Cell arg. + renamed. (ms_excel_sheet_insert, ms_excel_read_formula), (ms_excel_sheet_insert_val): update removing Cell argument. (ms_excel_sheet_insert_blank): Create. (ms_excel_read_cell): use insert_blank. 1999-10-15 Michael Meeks * ms-excel-read.c (ms_excel_set_cell_xf): Update style creation + only setup border if it non NULL, fixup optimization regions. (ms_excel_set_cell_font): update + add array argument. (style_optimize): split out. (ms_excel_read_sheet): Add post-optimize. 1999-10-13 Michael Meeks * ms-excel-read.c (ms_excel_set_cell_font): New String in style. 1999-10-11 Michael Meeks * ms-excel-read.c (ms_excel_set_cell_xf): better optimize region generation. 1999-10-10 Michael Meeks * ms-excel-read.c (ms_excel_sheet_new): Initialize range. (ms_excel_set_cell_xf): Add range optimization. (ms_bug_get_padding): Kill. * ms-excel-read.h (ExcelSheet): Add style_optimize field. 1999-10-09 Jody Goldberg * ms-excel-read.c (ms_excel_set_cell_xf): Adapt to new Border support. 1999-10-07 Michael Meeks * ms-excel-read.c (ms_excel_set_cell_xf): Large hack to new style code. (biff_font_data_get_style_font): kill it. (biff_font_data_new): remove setting up fd->style_font. (biff_font_data_destroy): kill style_font bits. 1999-10-02 Jody Goldberg * *.c : Ensure that we include config.h first. * *.[ch] : Update and add Copyright notices. 1999-09-29 Jody Goldberg * ms-excel-read.c (ms_excel_read_cell:MULBLANK) : Insert blanks in reverse order, to decrease the load on the insert routines. 1999-09-26 Jody Goldberg * ms-excel-read.c (ms_excel_read_cell:COLINFO) : Seems like XL periodically sends column widths for phantom columns. 1999-09-26 Michael Meeks * ms-excel-read.c (biff_name_data_new): add sheet scope. (ms_excel_read_name): Use the 2nd 'copy' of idx since its the only valid one. (biff_name_data_get_name): Create using scope. 1999-09-26 Michael Meeks * Makefile.am: remove the 'ole' test program * ole.c: Removed, see module libole2 in test/test-ole. * ms-escher.c (ms_escher_read_ClientData): Remove realize & queue objects instead. Add precondition on state->sheet. 1999-09-26 Michael Meeks * ole.c (ms_biff_query_next_merge, ms_biff_query_new): inline. 1999-09-26 Michael Meeks * ms-excel-read.c (ms_excel_read_sheet): return FALSE for blank sheets: duh. (ms_excel_sheet_destroy): add destroy_objs. (ms_excel_read_cell): remove const on lastcol. 1999-09-25 Michael Meeks * Makefile.am (ole_LDADD): use libole2.la * ms-obj.c (ms_obj_realize): remove object destruction. (ms_obj_destroy): add. (ms_excel_sheet_destroy_objs): Create. (ms_excel_sheet_realize_objs): remove list free. * ms-excel-read.c (ms_excel_read_sheet): add return type to save possible cock-up. (ms_excel_read_workbook): only realize objects if loaded OK. 1999-09-25 Michael Meeks * ole.c (decompress_vba): an idea. (dump_vba_module): + hooks. 1999-09-25 Michael Meeks * ole.c (decompress_vba): remove unused + clean headers. 1999-09-25 Jody Goldberg * ms-excel-read.c (ms_excel_read_formula) : Improve debug printouts, to facilitate match problems cells to inputs behaviors. (ms_excel_read_cell:MULBLANK) : Rework to include last_col and simplify logic on iteration. Plus more debug. (ms_excel_read_cell:RSTING) : More debug. (ms_excel_read_cell:BIFF_ROW) : Add explicit comment on unit -> pixel scaling factor. (ms_excel_read_cell:BIFF_COLINFO) : Ditto. * ms-escher.c : Continue work on OPT records. 1999-09-24 Jody Goldberg * ms-excel-read.c (ms_excel_read_cell) : Add and document point -> pixel scaling for rows and columns. * ms-excel-read.c (ms_excel_palette_get) : Change my guess at what the therhold pseudo-luminosity is. 1999-09-23 Michael Meeks * ole.c (enter_dir): Change logic. 1999-09-22 Michael Meeks * ms-excel-write.c (write_bits): Fix TABID. (write_sheet_tail): Add current selected sheet save & V8 WINDOW2 (write_bits): only save PANEs if we need to. (write_fonts): always write 5 fonts instead of 4. (write_xf): Add USESELFS. (write_sheet): 0x200|INDEX. (write_sheet_bools): remove -1 from sheet->maxy for V8. * ole.c (do_biff_raw): Remove stream position to help 'diff'. * ms-obj.c (ms_obj_realize): Turn off auto-sizing of images to tango with improved sizing capable image components. 1999-09-23 Jody Goldberg * ole.c (dump_vba) : Remove the escher code. The new version needs to much context to be useable at this level. (enter_dir) : Improve error message, and fix thinko. * ms-excel-read.c (ms_excel_read_cell) : Fix importing of column widths. * ms-obj.c (ms_obj_realize) : Create a visual placeholder for charts. Check for NULL sheet. * ms-escher.c : Lots more OPT record types. (ms_escher_read_ClientData) : Only set the blip type if we are a picture. 1999-09-21 Michael Meeks * ms-obj.c (ms_parse_object_anchor): remove zoom. (ms_obj_realize): Add zoom here. * ms-excel-read.c (ms_excel_read_sheet): queue objects for later. (ms_excel_read_workbook): Realise sheet objects after read. (ms_excel_sheet_new): NULL obj queue ptr. * ms-obj.c: Add lots of missing cross references. (ms_excel_sheet_realize_objs): Implement. 1999-09-21 Jody Goldberg * ms-excel-read.c (ms_excel_read_workbook) : Prefer 'workbook' to 'book' so that we use Biff8 for dual stream files. * ms-obj.c : Add some #ifndef NO_DEBUG_EXCEL 1999-09-20 Michael Meeks * ms-formula-write.c (formula_cache_new_std): Split. (get_formula_index): cleaned. (write_funcall): Split from (write_node): in preparation for more lovely complexity. (formula_cache_new_ename): create. (write_string): constify (write_node): Improve integer writing efficiency. * ms-excel-write.c (write_sheet_bools): Added write. (biff_put_text): constify. (new_sheet): clean debug. * ms-formula-write.c (ms_formula_build_pre_data, ms_formula_write_pre_data): stub. * ms-excel-write.c (write_workbook): Fix _loads_ of leaks. (free_sheet): create. (pre_pass): pre-pass of the workbook's sheets. (pre_cell): Scan cells for interesting things. * excel.h: remove cache stuff. * ms-formula-write.h: move it here. * ms-formula-write.c (get_formula_index, cache_init/shutdown): work on a per sheet basis. * boot.c (excel_shutdown, excel_init): remove formula cache. * ms-excel-write.h: Add formula cache. * ms-escher.c (ms_escher_read_Blip): Add support for image-generic for jpeg, move DIB to a safe place. 1999-09-20 Michael Meeks * ole.c: massive, huge, big clean to new API; ahh that feels good, add 'help' command. Break escher debug for now. * Makefile.am: re-enabled 'ole' * ms-biff.h: removed all mention of quirks. * ms-biff.c (ms_biff_query_copy): dangerous: removed, clean quirk stuff. 1999-09-20 Jody Goldberg * ms-obj.[ch]: Remove a few #if ENABLE_BONOBO checks and add an include for sheet-object.h. Improve debug info. 1999-09-20 Jukka-Pekka Iivonen * ms-obj.[ch]: Added a few #if ENABLE_BONOBO checks to make it compile again. 1999-09-20 Jody Goldberg * ms-escher.c (ms_escher_read_ClientData) : Handle unknown object types. * ms-summary.c (set_summary_item) : Made static. * ms-obj.c (ms_obj_realize) : New function. (ms_parse_object_anchor) : Ditto. * ms-excel-read.c (ms_excel_read_workbook) : Use ms_obj_realize. (ms_excel_read_sheet) : Ditto. (ms_excel_read_formula) : Make reading a string more robust, and support length = 0 as a valid string. 1999-09-19 Michael Meeks * Makefile.am: comment out ole. * ms-summary.c (sum_name_to_excel): made static. * ms-excel-write.c (ms_excel_write_workbook): updated. * ms-excel-read.c (ms_excel_read_workbook): use better API. (find_workbook): removed. * ms-biff.c (ms_biff_query_copy): Updated duplicate. * boot.c (excel_probe, excel_save, excel_load): new ole api. * ms-excel-write.c (ms_excel_write_workbook): fix leak. 1999-09-18 Morten Welinder * ole.c (cur_dir, delim): static. 1999-09-18 Jody Goldberg * gnumeric-chart.c (gnumeric_chart_destroy) : implement. (gnumeric_chart_new) : Create. * ms-chart.c (ms_excel_chart) : Init the chart. (BC_R(ifmt), BC_R(ai)) : Handle invalid/missing formats. * ms-escher.c : More radical changes to support just in time merging. This seems to solve the last of the problems of which records to merge and which not. Everything seems to add up. (ms_escher_parse) : Enable by default. * ms-excel-read.c (ms_excel_workbook_destroy) : Release blips on exit. 1999-09-17 Jody Goldberg * ms-excel-read.c (ms_excel_workbook_get_sheet) : Make extern. 1999-09-15 Frank Chiulli * plugins/excel/boot.c (excel_save): Add a call to ms_summary_write (ms-summary.c) to write out the SummaryInformation stream. * plugins/excel/ms-summary.h: Make ms_summary_write public. * plugins/excel/ms-summary.c (ms_summary_write, sum_name_to_excel, set_summary_item): New routines to support writing the SummaryInformation stream. 1999-09-17 Michael Meeks * ole.c (main, do_draw, dump_escher): dump raw data. 1999-09-17 Jody Goldberg * ms-escher.c : Adjust const. (ms_escher_read_ClientAnchor) : Yahoo! figured out object placement !! (ms_escher_read_OPT) : Some cleanup of the property names. 1999-09-16 Michael Meeks * ms-excel-read.c (ms_excel_read_sheet): add sheet param to _get_drawing (ms_excel_read_workbook): ditto & init 'eschers' to NULL. * ms-obj.c (ms_obj_read_text): add sheet param to _get_drawing * ms-chart.c (BC_W): ditto. * ms-escher.c (ms_escher_hack_get_drawing): Add Sheet param. (escher_record_new_blip, escher_record_destroy, ms_escher_read_Blip), (ms_escher_read_ClientAnchor): Hack up image loading. include config.h * ms-excel-read.h (_ExcelWorkbook): Add eschers list. 1999-09-16 Jody Goldberg * ms-escher.c (ms_escher_read_CLSID, ms_escher_read_ColorMRU, ms_escher_read_SplitMenuColors) : Initial implementation. (ms_escher_read_Spgr) : Add names of Shapes. (ms_escher_read_ClientAnchor) : Wild guess at what the format is. (ms_escher_read_OPT) : Start naming some of the properties. (ms_escher_read_SpgrContainer) : be very careful. 1999-09-15 Jody Goldberg * ms-escher.c : Massive re-org. * ms-obj.c (ms_obj_read_text_impl) : Export, and improve warning message for TXO. (ms_obj_read_text_impl) : The drawing will read the TXO. 1999-09-12 Michael Meeks * ms-excel-write.c (write_sheet_bools): write grid-lines & margins & scads of other bits. * ms-excel-read.c (ms_excel_read_sheet): Add preconditions & load print info for grid-lines, & scads of other stuff. (margin_read): Create. 1999-09-11 Michael Meeks * ms-excel-write.c (write_value): Clean unused 'head' (write_sheet_tail): Add zoom factor write. * ms-excel-read.c (ms_excel_read_sheet): Add BIFF_SETUP decode. Add Zoom factor reading, add lots of printing records & debug dumps. 1999-09-08 Jody Goldberg * ms-excel-read.c : Add selection.h 1999-09-08 Michael Meeks * README: More random thoughts to pass the time of day. 1999-09-05 Jody Goldberg * ms-excel-write.c (write_value) : Always use mode 2 for ints. Add a comment to the write float code suggesting an extension to use mode 3 for doubles with only 2 digits after the decimal. 1999-08-26 Michael Meeks * ms-escher.c (biff_to_flat_data): Added back the full conditions on merging drawing groups. * ole.c (dump_escher): Realised it is a vanillaish container. * ms-escher.c (BSE_new): Fix silly buglets. (esh_header_new, esh_header_next): prettyify; (ms_escher_read): Update length type. 1999-08-25 Michael Meeks * ms-escher.c (esh_header_next): re-order for clarity. (BSE_new): Fiddling with bits: thanks to Caolan. 1999-08-25 Jukka-Pekka Iivonen * ms-formula-read.c (formula_func_data): Fixed the number of arguments in ISPMT to four. 1999-08-20 Michael Meeks * ms-formula-write.c (get_formula_index): Added a comment about Excel's add-in formula names. 1999-08-17 Michael Meeks * ms-excel-read.[ch]: Remove sheet blank bit. * ms-chart.c (BC_R): Remove sheet->blank reference. 1999-08-16 Jody Goldberg * ms-formula-write.c (write_node) : Add OPER_PERCENT * ms-formula-read.c (ms_excel_parse_formula) : Ditto. * ms-obj.c : Make less verbose. * ms-excel-read.c : Add several new biff-types and do more checking for 'odd-balls' with most significant byte == 1. Disable the 'blank sheet' optimization for now to avoid memory errors when a 'blank' sheet gets put into the externsheet hash. 1999-08-16 Jody Goldberg * ms-formula-write.c (write_node) : correct typo. We can now write & read samples/logfuns.xls without loosing formulas or values. 1999-08-15 Jody Goldberg * ms-excel-write.c (write_value) : Add support for VALUE_BOOLEAN, VALUE_ERROR, VALUE_EMPTY. (write_formula) : Ditto. * ms-formula-write.c (write_node) : Ditto. 1999-08-15 Morten Welinder * ms-excel-read.c (ms_excel_read_workbook): First use, then destroy. 1999-08-13 Michael Meeks * ole.c (enter_dir): Major re-work, to use paths. 1999-08-12 Jody Goldberg * ms-formula-read.c (ms_excel_parse_formula) : FORMULA_PTG_PERCENT is expr/100 not expr*100. (excel_builtin_formats) : Correct typo. 1999-08-09 Miguel de Icaza * boot.c (excel_load): Changed calling conventions. * ms-excel-read.c (ms_excel_read_workbook): Adjusted to use the new file-open convention 1999-08-08 Michael Meeks * ole.c (dump_vba_module): Kill leak & fix logic. (dump_vba): destroy correct directory. 1999-08-06 Michael Meeks * ole.c (list_files): Fix so it shows directories... (get_file_handle, list_files, really_put, main): Use current_directory. (enter_dir): Implemented 'cd' command (do_copyout: Implemented splitting (really_get): from (do_get). (dump_vba): Started. 1999-08-05 Michael Meeks * ms-summary.c (ms_summary_read): Trivial fix to kill warning. 1999-08-02 Jody Goldberg * ms-obj.c (ms_obj_read_pre_biff8_obj) : New function to catch charts. (ms_obj_read_obj) : Use ms_obj_read_pre_biff8_obj. * ms-excel-read.c (ms_excel_read_cell) : Catch use of chart records when we expect a cell. (ms_excel_read_formula) : Clarify error message. (biff_name_data_new) : Partial support for local vs global names. (biff_name_data_get_name) : Reformat to improve readability. (ms_excel_read_formula) : Ditto. * ms-chart.c (ms_excel_biff_dimensions) : Don't print unless we're debugging. * ms-obj.c (ms_obj_read_biff8_obj) : Don't print checkbox link unless we're debugging. 1999-07-30 Jody Goldberg * ms-excel-read.c (ms_excel_read_error) : Delete (ms_excel_read_cell) : Use VALUE_ERROR, and VALUE_EMPTY. (ms_excel_read_selection) : Split out into separate function. * ms-formula-read.c (ms_excel_parse_formula, make_function) : VALUE_ERROR. 1999-07-31 Morten Welinder * ms-excel-read.c (ms_excel_read_formula): Kill warning that is no longer valid. (ms_excel_read_error): Fix leak that I introduced. 1999-07-31 Michael Meeks * ms-excel-read.c (biff_get_text): Hacked to deal with continues nicely. (ms_excel_read_workbook): Fixed up nasty version stuff. Commented out ms_bug_padd stuff. * ms-biff.[ch]: Commented out all padding and quirks stuff. 1999-07-30 Michael Meeks * ms-excel-read.c (ms_excel_read_formula): quiet wierd warning... why is this suddenly prevalent. 1999-07-28 Michael Meeks * ms-excel-write.c (biff_put_text): kill warnings. * ms-escher.c (read_DgContainer, SpgrContainer_new): ditto. * ms-biff.c (ms_biff_put_var_next): Remove padding, daft, (ms_biff_put_set_quirk): ditto. (ms_biff_query_peek_next): Implemented. 1999-07-28 Michael Meeks * ms-biff.c (no_quirks, ms_biff_query_new): New quirk support :-) (ms_bug_get_padding): Moved into ms-excel-read.c (ms_biff_put_var_next, ms_biff_merge_continues): Cleaner quirk stuff. (ms_biff_put_set_quirk): I pray this is never used =) (ms_biff_put_new, ms_biff_put_var_next): Quirky. 1999-07-28 Jody Goldberg * ms-excel-read.c (ms_excel_read_cell) : Correct the error message for SST overflow. 1999-07-27 Jody Goldberg * ms-excel-read.c (ms_excel_read_supporting_wb) : Make this quieter, and add some comments explaining that we have no idea what this does or how it works. 1999-07-26 Jody Goldberg * ms-chart.c (BC_R(chartline)) : More state checking. (BC_R(legend)) : Implement. (BC_R(series)) : Store series in chart objects. (ms_excel_biff_dimensions) : * ms-obj.c : Closer ties with ms-escher.c. * ms-formula-read.c : Changes for VALUE_ERROR. COUNTBLANK takes 1 argument. 1999-07-26 Michael Meeks * ms-summary.c (ms_summary_read): Update to ms_ole_summary_close. * ole.c (do_summary): ditto. * ms-excel-read.c (ms_excel_read_workbook): Comment out dependencies freeze/thaw. * ms-excel-write.c (write_cell): Update to new PP code. * ms-excel-read.c (find_workbook): Remove ms_ole_directory_new. (biff_name_data_get_name): Update to new PP code. * ole.c (get_file_handle, list_files): ditto. 1999-07-25 Michael Meeks * ms-excel-read.c (ms_excel_read_workbook): Add freeze / thaw dependencies. 1999-07-22 Michael Meeks * ole.c: Major summary hack, cleaned old cruft & made beautiful. * ms-summary.c: Re-write to use new summary stuff in libole2. 1999-07-19 Michael Meeks * *.[ch]: Big macro prettify. Moved biff type handling macros into libole2/ms-ole.h, and renamed: s/BIFF_GET_GUINT/MS_OLE_GET_GUINT/g s/BIFF_SET_GUINT/MS_OLE_SET_GUINT/g 1999-07-14 Michael Meeks * ms-summary.c: Big clean, quiet and sensible handling of errors. * boot.c (excel_load): Put summary call back in. Add excel_read_debug, dump summary info if > 0 1999-07-13 Michael Meeks * Makefile.am: Added ms-summary.[ch] * ms-summary.[ch]: Created. * boot.c (excel_load): Add summary hook. Update comments 1999-07-13 Jody Goldberg * ms-excel-read.c (ms_excel_read_formula): Improve handling of failure cases to ensure that we set the values and formats even if formulas get confused. (ms_excel_formula_shared): Back out change to set value on error. (ms_excel_get_xf) : 0 and 15 may be defaults but we now have their records so no need to treat them specially. Seems to be no need to check for StyleXF vs CellXF... (ms_excel_set_cell_xf) : It may be the default but we have the XF data for it now so USE IT. (biff_name_data_new, biff_name_data_destroy) : Const add flag to log NAME vs EXTERNNAME. (biff_name_data_get_name) : Remove vile hack for 1 vs 0 based names. (ms_excel_read_name) : More version madness. (BIFF_BOF) : More detailed version info. ms-formula-read.c : ARRRGGGGHHHHH! both NAME and NAME_X are 1 based. (PTG_NAME) : Different versions, very different sizes. 1999-07-13 Michael Meeks * ms-excel-read.c (ms_excel_formula_shared): Fixup previous patch. (ms_excel_read_formula): Re-arrange logic. (ms_excel_set_cell_xf): Add check on 'xf' back in ... 1999-07-11 Michael Meeks * ms-excel-read.c (ms_excel_read_formula): Catch NULL cell->text (ms_excel_formula_shared): Check on cell... & add position to debug. (ms_excel_sheet_append_comment): Add paranoid blank text setting. 1999-07-13 Jody Goldberg * ms-excel-read.c (ms_excel_read_workbook SST) : Zero sized strings use 3 bytes (length + header) not 2. (ms_excel_read_cell LABELSST) : Blank strings should have value wrappers. (ms_excel_parse_formula) : Support missing trailing args for builtin functions. * ms-formula-read.c : Keep stack by prepending and popping, rather than appending. (INDEX) : correct missing number of args. 1999-07-12 Jody Goldberg * ms-excel-read.[ch] : Remove XF_style_records. All XF records are kept in one list. The fixes the indexing problems we've been having with XF records. No more XF_MAGIC_OFFSET !! (biff_name_data_get_name) : Pre-Biff5 seems to use 0 based names, post seems to be 1 base ?? Check this. * ms-formula-read.c (excel_formula_build_dummy_handler) : New function. (make_function) : split out from here and used for external and builtin functions. (MATCH) : correct the number of arguments. (ms_excel_parse_formula) : The size of the array is stored at the end too. This fixes formulas with multiple arrays. * *.[ch] make the data streams const while reading. 1999-07-12 Jody Goldberg * ms-excel-read.c (biff_name_data_get_name) : Off by one error in the range check. Improve debug notification when something bad happens. (ms_excel_get_xf) : Improve debug messages to help find the problem with xf indicies in old files. 1999-07-12 Jody Goldberg * ms-chart.c : More record types. * ms-escher.c : More record types. * ms-excel-read.c (ms_excel_formula_shared) : For some reason XL periodicly : - creates a shared formula - declares its use in a range - then doesn't use it in the upper left corner of the range - and refers to the formula by a different cell in the range ?? (BIFF_PRECISION) : remove dump, and #if 0, for now until gnumeric supports this. 1999-07-11 Jody Goldberg * ms-excel-read.c (biff_font_data_new) : don't delay creation of style_font. (ms_excel_get_font) : new function split from. (ms_excel_set_cell_font) : here. (ms_excel_get_xf) : new function split from. (ms_excel_set_cell_xf) : here. (biff_xf_data_new) : dont delay setting the style_format. (BIFF_COLINFO) : Attempt to use the XF->font->height as a proxy for charwidth ?? Anyone have a better idea ? 1999-07-10 Jody Goldberg * ms-excel-read.c : BIFF_COLINFO adjust in charwidth magic number to produce column widths that match my screenshot. * TODO: updated. 1999-07-10 Michael Meeks * ms-formula-read.c (formula_func_data): Fix REPT = 2 args, add VDB = var arg. * ms-excel-read.c (biff_get_externsheet_name): Silly but fatal bug a child could spot: written by yours truly :-) 1999-07-09 Jody Goldberg * ms-obj.c : Conditionalize the debug info for text objects. 1999-07-09 Miguel de Icaza * ms-excel-write.c (biff_put_text): Intiialize variable. 1999-07-09 Jody Goldberg * ms-chart.c (BC_R(chart)) : Correctly handle the fixed point sizes. (BC_R(ai)) : Figure the missing link association is bubbles. 1999-07-09 Jody Goldberg * ms-chart.c : Actually make a series object ! After finding another Excel documentation error. * ms-obj.c : Conditionalize a debug printout. * ms-excel-read.c (biff_name_data_get_name) : Indicies are ONE based. 1999-07-09 Michael Meeks * ms-excel-read.c (ms_excel_read_workbook): Update this with Jody's changes, hope I didn't loose anything. * ms-biff.c (ms_biff_query_next_merge): Add test for valid length before reading. 1999-07-08 Jody Goldberg * libole2/ms-ole.[ch] (dump) : constify. * ms-chart.[ch] : Prepare to handle Charts not associated with a sheet. Add more record types, improve debug messages. Begin connection to 'escher' stuff for gelframes. Stubs for real chart SERIES objects. Support for Text Objects. * ms-excel-read.c : Ditto. Include cleanups. Some debug level rationalization. (ms_excel_externname) : Combine Biff7&8 use biff_get_text. * ms-escher.[ch] : Start looking at this to parse the CHART_GELFRAME record. Clear out the massive accumulation of includes. * ms-excel-biff.h : Include cleanups. * ms-obj.[ch] : Include cleanups. Versioned the object record parsing (Currently only Biff8). (ms_obj_read_biff8_obj) : New function with more error checking. (ms_obj_read_text_object) : New function to read text objects. * ole.c : Print biff types in hex to match documentation. 1999-07-09 Michael Meeks * ms-excel-read.c: Major warning cleaning offensive. (ms_excel_read_workbook): Hush CodePage, DSF, EOF & clean style. (ms_excel_read_sheet): Hush WINDOW2 (ms_excel_read_name): Hush spurious newlines. (ms_excel_read_supporting_wb): Hush now, be a good little function. * boot.c (excel_load): ditto. * TODO: updated. * ms-formula-read.c: s/PARSE_LIST/ParseList/ Update a few stylistic bits... 1999-07-08 Michael Meeks * ms-excel-read.c (ms_excel_read_formula): Turn error into warning. * ms-excel-write.c (biff_put_text): Fiddled, this needs serious fixing ... * ms-excel-read.c (biff_name_data_get_name): Removed daft debug churning out. 1999-07-08 Michael Meeks * ms-excel-read.h (_ExcelWorkbook): Removed internal_names and comments. * ms-excel-write.c (write_bits): Merged write_constants into this + add 'wb' parameter. (write_bits): Add TABID, DSF records. Add PROT4REV, PROT4REVPASS. (write_fonts): Changed put_text from eBiffV7, AS_PER_VER. * ms-excel-read.c (ms_excel_read_workbook): Update DFS -> DSF * biff-types.h (BIFF_DSF): Mod. from DFS. 1999-07-08 Michael Meeks * ms-formula-read.c (ms_excel_parse_formula): Add magic 0x17 for special undocumented 'Addin Name' support. 1999-07-07 Michael Meeks * ms-excel-read.c (ms_excel_read_name): Fix crucial bug in name_def_data calc. (ms_excel_read_name): Removed all 'internal_names' stuff. 1999-07-06 Michael Meeks * ms-formula-read.c (ms_excel_parse_formula): PTG_NAME: use biff_name_data_get_name; fixups: Jody don't do this, this was all on the Names branch ! * ms-excel-read.c (biff_name_data_new): Changed to take Workbook not sheet, updated to use GPtrArray. (biff_name_data_get_name): Changed to return ExprTree. (biff_name_data_destroy): Updated. (ms_excel_workbook_destroy): Remove old name hash table stuff. (ms_excel_read_name): Fix memory leak before Morten gets there :) use biff_name_data_new. (ms_excel_read_name): Allocate name. (ms_excel_get_name): Culled. * ms-excel-read.h (_ExcelWorkbook): Changed name_data to GPtrArray Changed _name_get_data to return ExprTree. * ms-formula-read.c (getRefV7): Removed ExcelSheet * parameter. cleaned function indenting. (getRefV8): Ditto. + update all references. s/cell_name(/cell_name ( s/sheet->wb/wb/ * ms-chart.c (BC_R): Updated parse_formula. * ms-formula-read.c (ms_excel_parse_formula): s/sheet->ver/wb->ver/ updated all calls to itself to add 'wb'. * ms-excel-read.c (ms_excel_workbook_new): Setup 'ver' (ms_excel_read_workbook): Update call. * ms-excel-read.h (_ExcelWorkbook): Add 'ver' field. * ms-excel-read.c: Updated all ms_excel_parse_formulae: this isn't as balmy as it seems... we should only be using the sheet data where we need to as Names have no associated sheet. * ms-formula-read.c (ms_excel_parse_formula): Add workbook. * ms-formula-read.h (ms_excel_parse_formula): ditto. 1999-07-06 Jody Goldberg * ms-excel-biff.h : remove _eBiff_wrap. * ms-excel-read.c : replace _eBiff_wrap with a boolean. (ms_excel_set_cell_xf) : Send xf->wrap. (excel_map_pattern_index_from_excel) : New function. (biff_xf_data_new) : Used here. 1999-07-06 Michael Meeks * ms-excel-read.c (ms_excel_read_name): Fix up Names definition offset, start to manualy merge name stuff. * ole.c: Fix summary reading code: works now, try it on a SummaryInformation stream. 1999-07-05 Jody Goldberg * ms-formula-read.c : Improve debug messages a bit. (FORMULA_PTG_NAME) : initial stub implemetation. (make_function) : The dodgy special case seems to apply to functions with no arguments too. * ms-excel-read.c : Rework handling of Shared/Array formulas. They must follow a FORMULA record and come before a STRING record if the cell contains a string. The upper left corner of shared formulas, and all of arrays now format correctly. (EXTERNNAME) : Rework the handling to apply to biff7 and biff8. Still only reading the names, not conecting them for real. 1999-07-05 Morten Welinder * ms-excel-read.c (biff_shared_formula_new): Constify. Copy data because it seems it can be freed underneath us. (biff_shared_formula_destroy): Consequently free data. (ms_excel_workbook_destroy): Free global strings. (ms_excel_palette_destroy): Fix leak. * ms-excel-read.c (ms_excel_read_supporting_wb): Warning killer. (ms_excel_read_workbook): Ditto. Fill in some code page info. (ms_excel_read_cell): Ditto. * ms-biff.c (biff_getdouble): Re-instate the "BYTE" in G_BYTE_ORDER... (biff_getdouble): Constify. 1999-07-04 Michael Meeks * ms-formula-read.c (formula_func_data): Fixed ISREF, ISPMT. * ms-excel-write.c (write_mulblank): Add 0x200 to BLANK * biff-types.h (BIFF_PASSWORD): convert back from PASSguint16 :-) * ms-formula-write.c (write_arrays): Fix memory leak. * ms-excel-read.c (ms_excel_read_formula): Add S59DE9 reference. * ms-excel-write.c (write_cell): Updated constant so formulae get evaluated correctly. (write_formula): Split out complexity, Added STRING result storage. * ms-formula-write.c (write_string): Un-dofus the string writing fix Excel crash on any formula string. * ms-excel-write.c (write_cell): Fixup always calc. & on load, don't seem to be needed. Implement class specifiers throughout where needed. * ms-formula-write.c (OP_*): Helper macros for getting the class right on each PTG. * formula-types.h: Added class defines. * ms-excel-write.c (write_sheet_bools): Removed magic 0x44 from last byte of BIFF_COLINFO. Commented out GCW: unnecessary and wrong. (write_window1): Fiddled with the magic numbers. (write_sheet_bools): Add 0x200 to DEFAULTROWHEIGHT. (write_sheet): ditto to INDEX. 1999-07-03 Michael Meeks * ms-formula-write.c (ms_excel_write_formula): Added critical magic 3 padding bytes s Array's are saved properly. * ms-excel-write.c (write_sheet): Size optimisation for blank rows. 1999-07-02 Michael Meeks * ole.c (syntax_error): Update help. (read_records, dump_summary, do_summary): Start of summary info reading. (do_biff_raw): Cleaned unused var. (esh_header_contained): commented out. 1999-07-02 Michael Meeks * ms-formula-read.c: more stylistic fiddling on great new debug stuff from Jody... * *.[ch]: s/MsOle_SEEK_SET/MsOleSeekSet/g s/MsOle_SEEK_CUR/MsOleSeekCur/g s/ms_ole_seek_t/MsOleSeek/g s/MsOle_PPS_STORAGE/MsOlePPSStorage/g s/MsOle_PPS_STREAM/MsOlePPSStream/g s/MsOle_PPS_ROOT/MsOlePPSRoot/g s/PPS_TYPE/PPSType/g s/ms_ole_pos_t/MsOlePos/g 1999-07-02 Jody Goldberg * ms-chart.c : Stylistic consistancy. s/BIFF_CHART_WRITER/ExcelChartWriter/g s/BIFF_CHART_READER/ExcelChartReader/g s/BIFF_CHART_HANDLER/ExcelChartHandler/g s/GUPPI_CHART_STATE/GuppiChartState/g s/BIFF_CHART_STATE/ExcelChartState/g s:\([^/]\)\* :\1*:g 1999-07-02 Michael Meeks * *.[ch]: Much stylistic fiddling: s/MS_EXCEL_SHEET/ExcelSheet/g s/MS_EXCEL_WORKBOOK/ExcelWorkbook/g s/BIFF_BOUNDSHEET_DATA/BiffBoundsheetData/g s/BIFF_SHARED_FORMULA_KEY/BiffSharedFormulaKey/g s/BIFF_SHARED_FORMULA/BiffSharedFormula/g s/MS_EXCEL_PALETTE/ExcelPalette/g s/BIFF_FONT_DATA/BiffFontData/g s/BIFF_EXTERNSHEET_DATA/BiffExternSheetData/g s/BIFF_FORMAT_DATA/BiffFormatData/g s/BIFF_QUERY/BiffQuery/g s/BIFF_PUT/BiffPut/g s/GETBYTE/GET_GUINT8/g s/GETWORD/GET_GUINT16/g s/GETDLONG/GET_GUINT64/g s/GETLONG/GET_GUINT32/g s/BYTE/guint8/g s/WORD/guint16/g s/LONG/guint32/g s/MS_OLE_STREAM/MsOleStream/g s/MS_OLE_DIRECTORY/MsOleDirectory/g s/MS_OLE/MsOle/g * ms-excel-read.c: Large bout of indenting / formatting updates, sorry if you have patches ... 1999-07-02 Michael Meeks * boot.c: Added 'main.h' to include debug symbol. 1999-07-02 Michael Meeks * ms-excel-read.c (ms_excel_read_workbook): Actually insert the workbook_destroy at the end ( Huge leak ). 1999-07-01 Michael Meeks * ms-excel-write.c (ms_excel_write_get_externsheet_idx): Stubbed. (write_cell): More, verbose debug. (write_index): shut it up. (write_sheet): Fix a rather serious logic error that was loosing us cells. (write_sheet): Added error message for huge sheets... needs more cunning indexing code. * ms-formula-write.c (write_cellref_v[78]): Fixed order of relative col/row bits. Implemented latter. (write_ref): Implemented BiffV8 support. (write_string): Added MISSARG support. (write_area): Implemented BiffV8 support, and 3D area support. * ms-formula-write.c (write_node): Split out (write_ref): attempted to implement inter-sheet references. * ms-excel-write.c (ms_excel_write_get_sheet_idx): Created. 1999-07-01 Morten Welinder * boot.c: Clean out an incredible accumulation of #includes. 1999-07-01 Jody Goldberg * formula-types.h : Add some missing ptg types. * ms-excel-read.c : ms_excel_read_debug, ms_excel_formula_debug, ms_excel_color_debug, ms_excel_chart_debug. Declare and use these to allow command line control so that we can ask remote users for debug info. (excel_builtin_formats) : Correct some typos. (ms_excel_read_formula) : Document errors in Excel SDK. (ms_excel_get_name) : Handle workbook local names. (stub) (ms_excel_read_name) : re-enable with name lookup. not connected yet. * ms-excel-read.h : Add internal_names to workbook. (ms_excel_get_name) : declare. * ms-formula-read.c : switch to new debug scheme. More verbose warnings for errors so we dont ignore them. (FORMULA_PTG_NAME) : Partial implementation until I have time to look at the branch. (FORMULA_PTG_PERCENT) : Guess at this one. Begin to handle 'extended' ptgs. Very minimal docs. 1999-07-01 Michael Meeks * ms-formula-write.c (ms_formula_cache_init), (ms_formula_cache_shutdown, cache_remove): Implemented. * excel.h: Added formula_cache functions. * boot.h (excel_init): Added excel_shutdown * boot.c (excel_shutdown): Created. 1999-07-01 Michael Meeks * ms-formula-write.c (write_string): Created Implemented throughout for simplicity. * ms-excel-write.c (biff_put_text): Expanded to allow more flexible string writing. * ms-excel-write.h: Added type to specify string write. * ms-formula-write.c: All biff_put_text's write length correctly. Implemented Area PTGs * ms-excel-read.c (ms_excel_read_formula): Fix silly bug with broken formuale. * ms-biff.c (ms_biff_put_var_seekto): Added seekto API for fiddly biff types. * ms-excel-write.c (biff_put_text): Made external * ms-formeula-write.c: Created. 1999-06-30 Michael Meeks * ms-formula-read.c (ms_excel_parse_formula): Updated Operation handling for new structure ( array ). * ms-excel-read.c (biff_get_global_string): Removed. * ms-formula-read.c: Updated func_data, and formula_op_data for Miguel and correctness. Cleaned FORMULA_NO_PRECEDENCE. * excel.h: Move and rename FormulaFuncData. * ms-excel-write.c: Moved structures to header. Renamed all structures to make Miguel happy. * Makefile.am: Added ms-formula-write.[ch] 1999-06-30 Michael Meeks * ms-formula-read.h: Split out types. * formula-types.h: Imported from above. * ms-excel-write.c (write_value): Fix LABEL versioning. 1999-06-30 Michael Meeks * ms-excel-write.c:(write_value): Hard-coded version stuff onto NUMBER & RK. (write_xf_record): Added hack to produce identical XF table to test case. (write_rowinfo): Added 0x200 (write_sheet_bools): ditto to DIMENSIONS. 1999-06-30 Jody Goldberg * biff-types.h : Add some undocumented BIFF types, move INDEX, DEFAULTROWHEIGHT into lsb territory. * ms-excel-read.c (ms_excel_palette_new) : Correct debug messages. (ms_excel_palette_get) : Improve debug messages, and assume that 0, 64, 127 are all contrast states. (ms_excel_set_cell_colors) : Tail merge with ms_excel_set_cell_xf, handle special case of fill-pattern=0. Now all the color sheets look OK !! Next step, patterns. (ms_excel_read_formula, ms_excel_read_boolerr) : Read current values so we can set styles. Empty strings are undocumented :-( (ms_excel_read_cell) : Handle array formulas. (ms_excel_read_sheet, ms_excel_read_workbook) : Add some unhandled record types so that we can start to enable state checking. (ms_excel_unexpected_biff) : New function for warning about state. (biff_xf_data_new) : Don't map pattern types as if they were borders. * ms-formula-read.c (make_function) : Generate a dummy handler for unknown functions. (unknownFunctionHandler) : A dummy handler returning NAME for unknown functions. * ms-chart.c : Use ms_excel_unexpected_biff, handle some undocumented codes, and fill in more record types. 1999-06-30 Michael Meeks * ms-excel-write.c (write_sheet_bools): Updated BIFF_COLINFO. (write_value): Fixed up write_value to handle numbers more correctly. (write_window1): fixed WINDOW1 magic numbers. (write_formats): Updated format's upper bits. (write_sheet_tail): Mended broken selection. 1999-06-29 Michael Meeks * ms-excel-write.c (write_sheet_tail): Updated magic selection. Added magic GCW. (write_constants): Update to help debugging; I'm not really an egotist. (write_formats): Added constants from air. (write_index): Correct to absolute index. Fix all mis-alignments of streamPos read ( lots ). (biff_bof_write): Return streamPos to help with realignment. * ole.c (do_biff_raw): Added position readout. 1999-06-29 Michael Meeks * ms-excel-write.c (biff_boundsheet_write_last): Use correct type. Added streamPos to Workbook for INDEX calcs. (write_index): Implemented. (write_sheet): Added write_index, and necessary bits. * ms-excel-read.c (biff_nasty_font_check_function): removed, wonderful ! (biff_font_data_get_style_font): Updated & cleaned. 1999-06-28 Michael Meeks * ms-excel-write.c (write_formats): Write some magic standard number formats. 1999-06-27 Michael Meeks * ms-excel-read.c: excel_builtin_formats: Populated with NULL's in sensible places to clean maintainability. * ms-formula-read.c (ms_excel_parse_formula): Add fix for broken array formulae causing infinite loop. * ms-excel-read.c (ms_excel_read_cell): Fix Morten's fatal cock-up in value_new_string (NULL). * ms-excel-write.c (write_mulblank): Implemented. (write_sheet): Started to get DBCELL / Index type code in place. Cleaned nasty cell hash iterator, and closure. We now rely on the optimal handling of max_col/row_used in the sheet. * ms-excel-read.c (ms_excel_read_cell): Insert blank into the correct column, not just the same one all the time. * ms-excel-write.c (write_palette): Write default palette. * ms-excel-read.c: Externalised default palette, and format data. * excel.h: ditto. 1999-06-25 Michael Meeks * ms-excel-read.c: Minor fiddles setting blank flag in some new places, and types changed to gboolean. * ms-excel-read.h (_MS_EXCEL_SHEET): changed 'blank' to gboolean. 1999-06-26 Miguel de Icaza * ms-excel-read.c (biff_font_data_get_style_font): Use style_font_ref here instead of creating a new font. 1999-06-22 Morten Welinder * ms-excel-read.c (biff_get_rk): Handle negative ints and ints/100 right. Thanks to Jody for finding this. 1999-06-21 Morten Welinder * ms-formula-read.c (make_function): Handle constant symbols. * ms-excel-read.c (ms_excel_read_cell): Insert bools as values, not constant expresssions. (biff_get_text): Make a little more quiet. (ms_excel_read_cell): Insert strings as values, not via text. * ms-excel-read.c (ms_excel_read_cell): Handle errors and boolean constants without going through text. (In particular, this gets errors right and prepares for a proper bool type.) * ms-formula-read.c (ms_excel_parse_formula): Fix error constants. 1999-06-21 Michael Meeks * ms-excel-read.c (ms_excel_read_cell): Remove Jody's check against NULL pointers, insert_form handles them. * ms-chart.c (BC_R): make call to dump_tree conditional * ms-excel-write.c (write_sheet_bools): Various fixes. (write_value): Change RSTRING -> LABEL * README (TODO): Updated. * ms-excel-write.c (write_externsheets): Fix for single sheet workbooks. (write_formats): Write the format index code! (write_sheet_bools): Divide default col width by 16 * ms-excel-write.h (ms_excel_write_workbook): Cleaned and fixed header. 1999-06-21 Jody Goldberg * biff-types.h : Move NAME from 218 -> 18, rename Chart biff types to lower case to facilitate decls. * ms-biff.[ch] (dump_biff) : export. * ms-excel-read.[ch] : (ms_biff_bof_data_new, ms_biff_bof_data_destroy) export. * ms-formula-read.c : Improve handling of array formulas. * ms-obj.c : Adjust signatures, and split chart handling into its own file. * ole.c : Count BACKWARDS to allow BIFF types with high bytes to override those with only low bytes specified. * Makefile.am : Add ms-chart. * ms-chart.[ch] : New files. No real functionality. 60% complete. 1999-06-17 Michael Meeks * ms-formula-read.c (formula_func_data): Fixed up, should work again. 1999-06-17 Morten Welinder * ms-formula-read.c (make_function): Yet another leak fix. * ms-formula-read.c (expr_tree_unary): Obsolete. Use expr_tree_new_unary instead. (expr_tree_cellref): Obsolete. Use expr_tree_new_var instead. (expr_tree_value): Obsolete. Use expr_tree_new_constant instead. (expr_tree_string): Simplify. (ms_excel_parse_formula): Use expr_tree_string. Use expr_tree_new_binary. (make_function): Use expr_tree_new_funcall. Fix leak. * ms-excel-read.c (ms_excel_read_name): Don't print null pointers. (ms_excel_read_workbook): Ditto. 1999-06-17 Jukka-Pekka Iivonen * ms-formula-read.c (formula_func_data): LOG, ROMAN, TRUNC, and BETADIST made var args. 1999-06-17 Michael Meeks * ms-formula-read.c (make_function): Added debug. (formula_func_data): Expand comments. 1999-06-17 Jody Goldberg * ms-formula-read.c (formula_func_data): Fixed some minor errors. 1999-06-16 Jukka-Pekka Iivonen * ms-formula-read.c (formula_func_data): SUMIF made var args. 1999-06-15 Morten Welinder * ms-formula-read.c (ms_excel_parse_formula): Handle bools. Plug leak. (make_function): Plug leak. * ms-excel-read.c (biff_font_data_get_style_font): Supply correct size when initialising. (biff_nasty_font_check_function): Revert last change. Extra parameter ptsize. 1999-06-15 Jody Goldberg * ms-formula-read.c (formula_func_data): Repopulate using xlcall.h and reading the docs for each function to deduce the number of args. 1999-06-14 Morten Welinder * ms-excel-read.c (biff_nasty_font_check_function): Load fontset, not font. (biff_font_data_get_style_font): Make sure size constraints don't conflict. 1999-06-15 Michael Meeks * ms-excel-read.c (biff_font_data_get_style_font): Add check for NULL font name; return default font. 1999-06-13 Jukka-Pekka Iivonen * ms-formula-read.c (formula_func_data): LOG, ROMAN, and TRUNC made var args. 1999-06-13 Jukka-Pekka Iivonen * ms-formula-read.c (formula_func_data): PRODUCT, ROUNDDOWN, ROUNDUP, SUBTOTAL, SUMSQ, and SUMIF fixed. SUMX2MY2 and SUMX2PY2 added but they don't work (I don't know why?). 1999-06-13 Michael Meeks * ms-excel-read.c (ms_excel_set_cell_colors): Remove identical color warning. This is a useful bug at the moment. 1999-06-13 Jody Goldberg * ms-excel-read.c (biff_get_error_text) : Use new global error strings. (ms_excel_default_palette) : New function. (ms_excel_palette_new) : Colors are stored rather than (ms_excel_palette_get) : Clone bytes to scale colors, begin to handle more of the 'special' color indices and guess that indices are offset by 8. (ms_excel_palette_destroy) : Don't delete the default palette. (ms_excel_set_cell_colors) : Don't filter too many bits, support initial contrast methods. (ms_excel_set_cell_font) : Ditto. (ms_excel_set_cell_xf) : Ditto. (biff_xf_data_new) : Default palette to internal palette. 1999-06-12 Michael Meeks * ms-excel-read.c (ms_excel_read_supporting_wb): Renamed from _WB. (ms_excel_read_name): Remove buggy names assert. 1999-06-11 Jody Goldberg * biff-types.h: Add some missing types as defined in the Excel 97 Developers kit. Begin coverage of Chart specific records. Improve documentation of 'odd-ball' entries and collsions in the low order numbering scheme. * ms-obj.c (ms_obj_read_obj) : Remove unused sheet param to facilitate support for Workbook level objects. Extend known object types. * ms-obj.h (ms_obj_read_obj) : Ditto. * ms-obj.c (ms_chart_biff_read) : Initial experimental harness for excel charts. * ms-obj.h (ms_chart_biff_read) : Ditto. * ms-excel-read.c (biff_name_data_new) : Take Workbook instead of sheet. (ms_biff_unknown_code) : New function split out from. (ms_excel_read_workbook) : Here. (ms_excel_read_name) : New function split out from. (ms_excel_read_cell) : Here. (ms_excel_externname): New function split out from (ms_excel_read_cell) : Here. (ms_excel_read_supporting_WB) : New function. Will probably split up in the future when the filename encoding is clarified. (ms_excel_read_workbook) : Precheck for odd-balls and chart types. Add hooks for other fields. 1999-06-09 Michael Meeks * ms-excel-read.c (ms_excel_read_workbook): Added version printout. (ms_excel_set_cell_colors): More debug. (biff_font_data_new): Added strange truncation of font color_idx. (ms_excel_palette_get): >= 0. 1999-06-08 Michael Meeks * ms-formula-read.c (formula_func_data): correct DAYS360, add TIMEVALUE. 1999-06-07 Michael Meeks * ms-formula-read.c (formula_func_data): Fix ATAN2 -> PI 1999-06-02 Michael Meeks * ms-formula-read.c (ms_excel_parse_formula): Elucidate error messages. (ms_excel_parse_formula): clean debug. (formula_func_data): Fix COUNT and BETADIST. 1999-06-01 Michael Meeks * ms-excel-write.c (write_sheet_bools): Added yet more magic numbers. (write_sheet_tail): Implemented WINDOW2, SELECTION as magic. (ms_excel_write_workbook): Fix silly big dimension block. * boot.c (excel_init): Put Excel 95 on by default. * ms-excel-write.c (write_bits): Added WINDOW1 bit. (write_fonts): Add slight difference in duplicate fonts. (write_xf_record): Added more fields. 1999-05-31 Michael Meeks * ms-excel-write.c (biff_bof_write): Fixed _major_ bug in BOF writing. (write_xf_record): Version fix. (write_bits): Lots of silly little records. (write_workbook): Write bits. (write_sheet_bools): Added lots of flags. (write_sheet): Added sheet_bools. * boot.c (excel_init): Changed 98->97 in text. * ms-excel-write.c (write_workbook): Fix serious list bug freeing list then using it ! 1999-05-30 Michael Meeks * ms-excel-write.c: Changed to biff_put_commit throught. (write_fonts): Added more magic numbers. * ms-biff.c (ms_biff_put_commit): Added, and made other commits static. * ms-excel-write.c: Indenting fixes. (write_constants): CODEPAGE support. (write_workbook): Added missing write_xf call. 1999-05-30 Nick Lamb * ms-formula-read.c (getRefV8, getRefV7): Fix shared formulae absolute references. 1999-05-28 Michael Meeks * ms-excel-write.c: Minimal Pallete / XF writing. Basic font writing. (biff_put_text): Horrendous bug fixed. (write_magic_interface): Magic... 1999-05-26 Michael Meeks * biff-types.h: Fleshed out defines, now the 'compatible' staroffice file is dumped nicely. * ole.c (read_types): Added fudge in case files are nearby. * ms-excel-write.c (ms_excel_write_workbook): Force Big Block file. (write_value): Set vesion on biff_put_text for RSTRING to V7. 1999-05-24 Michael Meeks * ole.c (main): Added 'debug' option to dump allocation. 1999-05-21 Nick Lamb * ms-formula-read.c: Lots of new formulae translations. 1999-05-20 Michael Meeks * ole.c (main): Change ole_new to ole_open. (list_files): Added assertion. * boot.c (excel_load): Same. 1999-05-19 Michael Meeks * ole.c (main): Add New OLE file creation support. * ms-excel-read.c (ms_excel_set_cell_xf): Cleaned silly debug. 1999-05-19 Jukka-Pekka Iivonen * ms-formula-read.c (formula_func_data): LOGNORMDIST and NORMSDIST fixed. 1999-05-17 Michael Meeks * ms-formula-read.c (formula_func_data): Function data from Luke Plant. * ms-biff.h: Add biff_setdouble prototype. * ms-excel-read.c: Updated commenting. * ms-biff.c (ms_bug_get_padding): Quietened. Implemented 'tell' throught (ms_biff_put_var_commit): Fixed seeking over end. 1999-05-16 Michael Meeks * ms-excel-write.c (biff_put_text): Fix silly assertion. * ms-excel-read.c: Added debug to reading side, Cleaned conditional debug to use #defines * ms-excel-write.c (write_sheet): Save a number in each sheet to stop their destruction. * ms-excel-biff.h: Added helper set row,col,xf macros. * ms-biff.c (ms_biff_put_var_commit): Fixed. Added streamPos setting on commit. * ms-excel-write.c: Large updates. 1999-05-16 Michael Meeks * ms-formula-read.c (make_function): Allow fn_idx == 0 add translation for RANK. 1999-05-15 Michael Meeks * ms-excel.[ch] -> ms-excel-read.[ch], * ms-formula.[ch] -> ms-formual-read.[ch] * All files incldes updated to obey above. * ms-biff.c (ms_biff_put_new): Implemented, (ms_biff_put_destroy): Implemented. Various other functions updated / fixed. * ms-excel-write.c (ms_excel_write_workbook): Change stream name depending on the version. Close streams / directory entries correctly. (write_workbook): Created. 1999-05-15 Michael Meeks * Makefile.am: stop 'ole' being installed. 1999-05-15 Michael Meeks * ms-formula.c (ms_excel_parse_formula): Cleaned debug. * boot.c (excel_init): Added write hooks. (excel_save_95, excel_save_98, excel_save): Created. 1999-05-14 Michael Meeks * ms-formula.c (ms_excel_parse_formula): Finaly got the ARRAY docs sorted, deciphered inconsistancies etc. 1999-05-14 Michael Meeks * ms-formula.c (ms_excel_parse_formula): Implemented V7. 3D refs and 3D Area references. (make_inter_sheet_ref_v7): Created to deal with V7 references. * ole.c (really_put): Changed to ms_ole_get_root. * ms-excel-biff.h: moved biff_version to 'excel.h'. * *.c: Re-ordered includes. * ms-excel-write.c (ms_excel_write_workbook): Fleshed out. * ms-biff.c (biff_put*): Fleshed out. * ms-biff.h (BIFF_SET_GUINT*): Added BIFF setting macros. 1999-05-13 Michael Meeks * ms-formula.c (ms_excel_parse_formula): Updated Array support. * ms-excel.c (ms_excel_set_cell_colors): Kills colors where backgnd & foregnd are same, needs pattern stuff to work before it can be fixed. (ms_excel_palette_get): Sorted special idx=64 color & added sanity check. 1999-05-13 Michael Meeks * ms-biff.h (ms_biff_query_next): Macrofied. * ms-biff.c (ms_bug_get_padding): Routine to overcome nastiness in MS' flawed implementation of CONTINUE records. (ms_biff_query_next_merge, ms_biff_merge_continues), (ms_biff_query_unmerge): Add padding corrective. 1999-05-12 Michael Meeks * ms-biff.h: Major overhaul, added some fields to be implemented. Added stubs for new BIFF write-side. * ms-biff.c (biff_setdouble): Implemented. * ms-excel.c (ms_excel_read_cell): BIFF_NUMBER: Removed last vestige of nasty number->text->number sillyness. * Makefile.am (libexcel_a_SOURCES): Added excel.h, ms-excel-write.[ch]. * boot.c (excel_load): Updated name & headers. * ms-excel.c (ms_excel_write_workbook): Stubbed. * ms-excel.h: Split out excel specifics into smaller header. Renamed functions to remove nasty mixed case. 1999-05-12 Michael Meeks * ole.c (main): Add check on ptr to fix NULL pointers getting to strcasecmp. (do_copyin): Added mass-copy in/out function. 1999-05-10 Michael Meeks * ms-excel.c (ms_excel_read_sheet): Added new workbook_focus_sheet stuff. 1999-05-10 Nuno Ferreira * Makefile.am (INCLUDES): Use -I$(srcdir)/libole2 instead of -Ilibole2 to allow srcdir!=builddir. 1999-05-09 Michael Meeks * ms-formula.c (make_function): More useful debug. Added Database function translation. 1999-05-08 Michael Meeks * ole.c (do_get, do_put): Sill fread/write no brainer. (main): Less verbose. * README: Updated to list more useful options. 1999-05-08 Michael Meeks * ms-biff.c (ms_biff_query_copy): Updated to use new global ms_ole_stream_copy. * Makefile.am: Split out 'ole' program, added libole2 subdir. Added ms-biff.c. * libole2/ Created, moved ole.c, ms-ole.[ch] there. 1999-05-08 Michael Meeks * ole.c (main): Large re-structure, split out into smaller functions. * ms-formula.c (ms_excel_parse_formula): Hack at ARRAY functionality... * ms-excel.c (ms_excel_sheet_set_comment): Fix for setting comments on blank cells; was fatal. 1999-05-07 Michael Meeks * ms-formula.c (ms_excel_parse_formula): Fixed horrible bug in PTG_ATTR, not stopping on duff attr. * ms-excel.c (ms_excel_read_cell): Cleans to ARRAY_FORMULA. 1999-05-06 Michael Meeks * ms-ole.c (ms_biff_query_new, ms_biff_merge_continues) Better merge support. * ms-biff.h (_BIFF_QUERY): Added merge count 1999-05-06 Michael Meeks * ms-excel.c (ms_excelReadWorkbook): Added freeze / thaw redraws for speed. * ms-escher.c (OPT_new): Expanded. (BStoreContainer_destroy): Added debug. * ole.c: Updated functions from ms-escher.c (main): Correctly skip over previously merged stuff. 1999-05-05 Michael Meeks * ms-formula.c (parse_list_push_raw): Cleaned debug. (parse_list_push): Added (different) debug. (formula_func_data): Fixed comments. (duplicate_formula): Removed. 1999-05-05 Michael Meeks * ms-excel.c (ms_excel_read_cell): Updated debug. (ms_excel_sheet_insert_val): Fixed prototype. * ms-formula.c (expr_tree_unary): Added helper fn. (ms_excel_parse_formula): Added +/- unary op. loading. Remove redundant guff from formula_op_data. * ms-formula.h: Removed FORMULA_ARRAY_DATA: redundant. Added PTG_U_PLUS, PTG_U_MINUS. 1999-05-04 Morten Welinder * ms-excel.c (ms_excel_workbook_new): Fix argument list. 1999-05-02 Michael Meeks * ms-excel.c (biff_get_externsheet_name): Converted to return a Sheet * (ms_excel_sheet_shared_formula): Returns ExprTree. (biff_boundsheet_data_new): Added EXCEL_SHEET * to BOUNDSHEET_DATA this really needs rationalising ! Fixed all things that use ms_formula stuff... * ms-formula.c: The most comprehensive re-write of the entire formula parsing structure. 80% + of code changed. Now smaller, cleaner, meaner, leaner ... and featuring all your favorite bugs. 1999-05-02 Michael Meeks * ms-excel.c (biff_xf_data_destroy): Changed prototype. (ms_excel_workbook_destroy, ms_excel_workbook_new), (ms_excel_set_cell_xf, biff_xf_data_new): Updated XF to GPtrArray, this saves a hash lookup per cell. (ms_excel_workbook_new): excel_sheets -> GPtrArray (ms_excel_workbook_attach): Drasticaly simplified (ms_excel_sheet_set_index): Removed. * ms-excel.h (_MS_EXCEL_WORKBOOK): Changed XF hashes to PtrArray's for speed & elegance. 1999-05-02 Michael Meeks * ms-excel.c (ms_excel_read_sheet): Add check before ms_excel_sheet_destroy. (ms_excel_read_sheet): Cleaned debug, and made it nicer. (ms_excel_workbook_detach): Fixed semantics of workbook_detach and plug large memory leak. 1999-05-02 Michael Meeks * ms-formula.c (ms_excel_parse_formula): Removed annoying debug killing performance. * ms-excel.c (ms_excel_sheet_insert_val): Created. (biff_get_rk): Removed impossible clause. Returns a Value now for speed; also increases accuracy. (ms_excel_read_cell): BIFF_RK, BIFF_MULRK: Removed nasty buffer and ugly printf. (ms_excel_sheet_insert): Made static, & removed from .h 1999-04-29 Miguel de Icaza * ms-ole.c (ms_ole_new): Applied patch from Michael Meeks to allow opening of excel files in read-only mode. 1999-04-29 Michael Meeks * ms-ole.c (ms_ole_new): Revert to read-only mapping on failure. (MW: there has got to be a reason why we don't start that way.) 1999-04-29 Morten Welinder * ms-excel.c (ms_excel_workbook_detach): Add new extra parameter to workbook_detach_sheet. 1999-04-26 Miguel de Icaza * ms-excel.c (ms_excel_workbook_detach): Check the return value of workbook_detach_sheet. (ms_excel_read_sheet): If detaching fails, there is a dependency. Tue Apr 20 16:34:38 1999 Morten Welinder * ms-obj.c (ms_obj_read_obj): Initialise type. 1999-04-19 Morten Welinder * ms-excel.c (biff_get_rk): Fixed up mask on eIEEE. 1999-04-19 Michael Meeks * ms-escher.c (read_DgContainer): Removed redundant debug. * ms-ole.c (ms_biff_merge_continues): Silly ordering bug fix. And memory leak removed. * ms-excel.c (ms_excelReadWorkbook): Silly string table length bug. Wehn we truncate, cut the length as well. * ole.c (syntax_error): Updated help. (main): [old] added 'biffraw' 1999-04-19 Morten Welinder * ms-formula.c (ms_excel_parse_formula): Fix for strings: use quotes. * ms-excel.c (ms_excel_sheet_append_comment): Fix. (biff_font_data_get_style_font): removed assert, and use g_snprintf (ms_excelReadWorkbook): Removed duff comments, and some debug. 1999-04-19 Michael Meeks * ms-biff.h (_BIFF_QUERY): Set length to guint32 (BIFF_GETLONG): Added various casts. * ms-ole.c (ms_ole_read_ptr_bb, ms_ole_read_ptr_sb): Re-enabled, and fixed silly bug. (dump): the 'int' type behaves very strangely. 1999-04-18 Michael Meeks * ms-ole.c: Rather important fixes. How did it ever work before !. 1999-04-18 Michael Meeks * ms-ole.c, ms-ole.h: MASSIVE hack. invalidates pretty much all the previous ole changelog entries. (dump): Updated type. * ms-excel.c (ms_biff_bof_data_new): Removed assert. (biff_get_externsheet_name): Removed assert. (ms_excel_parse_formula): Commented out array support. 1999-04-18 Michael Meeks * ms-excel.c (ms_excel_workbook_new): Added flag so only reads first group & merges rest. * ms-escher.c (biff_to_flat_data): Improved merge heuristic. 1999-04-18 Michael Meeks * ms-escher.c (bse_type_to_name): Created. (bse_type_to_name): Created. (BSE_new): Updated. (esh_header_contained): Moved duplicated code into this and added check. (esh_header_next): Added debug. (write_file): Writes a pixmap to disk. 1999-04-15 Michael Meeks * ms-excel.c (ms_excelReadWorkbook): Put PRECISION output conditional on debug. Put escher_hack_get_drawing on condition of --debug * ms-formula.c (ms_excel_parse_formula): Added 'Optimised Choose' functionality. (formula_func_data): Inserted CHOOSE. (ms_excel_parse_formula): Patch for broken MS files. Updated 'Name' records. 1999-04-15 Michael Meeks * boot.c: Fixed includes to remove annoying warning. (excel_load): Add workbook_set_filename for style. * ms-excel.c (ms_excel_workbook_detach): Added debug if can't remove sheet for some reason. * ms-ole.c (pps_get_text): Hacked in some better unicode support. Might work cross-platform now. (ms_ole_new): Added name printout to help debug. (ms_ole_directory_next): Conditional'd debug. (directory_setup): clean debug. * ms-excel.c (ms_excel_set_cell_colors): Removed debug. 1999-04-15 Michael Meeks * ms-formula.c (ms_excel_parse_formula): PTG_AREAN added, and PTG_AREA updated to include 'shared' flag. (ms_excel_parse_formula): Added PTG_ARRAY code. * ms-formula.h (FORMULA_PTG_ARRAY): Added PTG_ARRAY * ms-excel.c (ms_excel_read_cell): Added more sensible floating point printing throught. * ms-excel.h (MS_EXCEL_DOUBLE_FORMAT): Created to standardise number transfer. 1999-04-14 Michael Meeks * ms-formula.h: Updated ms_excel_parse_formula prototype. * ms-excel.c (ms_excel_read_cell): Added 'shared' flag to all ms_excel_parse_formula instances. (biff_get_error_text): Set arg to const. (ms_excel_sheet_shared_formula): Removed debug. (ms_excel_read_cell): Removed debug. (ms_excel_sheet_insert): const text arg. * ms-excel.h: Updated prototypes. * ms-formula.c (ms_excel_parse_formula): RefN replaced. updated prototype & args. Updated optimised if call. (getRefV8, getRefV7): Attempt at shared formulae. Fairly brutal hack: seems to work :-) 1999-04-14 Michael Meeks * ms-excel.c (biff_get_text): Remove platform dependance. (biff_get_error_text): Changed type. (biff_boundsheet_data_new): s/int strlen/int slen/ (biff_font_data_destroy): Free after last use. (biff_get_rk): Changed IEEEx10 to IEEEx100 (ms_excel_read_cell): COL_INFO: Fixed width cast. Thanks to great bug reports by Morten Welinder. * ms-excel.h: Add const to biff_error_get_text. * ms-ole.c (SET_GUINT8): Fix GET_ macros. * ms-biff.h (BIFF_GETWORD): Patch from Morten Welinder to improve GET macros. 1999-04-14 Michael Meeks * ole.c (dump_escher): Fatal Escher cockup removed, makes the problem look more complex and realistic. Indenting added. * ms-escher.c (read_DgContainer): Created. (SpgrContainer_new): Created. (ms_escher_hack_get_drawing): Add debug. (SpContainer_new): Created. There must be a good way of doing this recursively. 1999-04-13 Michael Meeks * ms-escher.c (esh_header_next): Fixedup to use correct lengths. Various major bits of work, started parsing the heirarchical bitstream. Escher looks better than BIFF, 32bit clean seemingly. * ole.c: Copied in updates. (dump_escher): Recursive dump of structures. 1999-04-13 Michael Meeks * ms-ole.c(ms_biff_query_copy): Fix nasty bug: duplicate stream pos record too. * escher-types.h: Created to hold the drawing layer types. * ole.c (read_types): Expanded to cope with escher types. (get_opcode_name): Duplicated into: (get_biff_opcode_name, get_escher_opcode_name): Created. (main): Updated biff section. Added 'draw' = search for drawings and dump section. * README: Updated to doc. 'draw' 1999-04-12 Michael Meeks * ms-objc.c/h renamed ms_obj_read_graphic to ms_obj_read_obj, the real graphic lurks elsewhere... * ms-escher.c/h: Created to handle the 'Office drawing layer' This is a hack and needs better OLE support code. * ms-ole.c (ms_ole_stream_duplicate): Created, not too bad a hack (ms_biff_query_data_to_stream): Nasty hack for ms-escher 1999-04-12 Michael Meeks * ms-obj.c: Created to deal with the horrors of embedded graphic objects ! * ms-obj.h: Include for the same * ms-excel.c: Include ms-obj.h (ms_excel_read_sheet): Add call to ms_obj_read_graphic. * biff-types.h: Update comments. * Makefile.am: Add new files. * ole.c: Nice header. 1999-04-12 Michael Meeks * biff-types.h: Fleshed out. * ms-excel.c (ms_excel_sheet_set_comment): Created (ms_excel_sheet_append_comment): Created (ms_excel_read_sheet): Added BIFF_NOTE support. (ms_excel_set_cell_xf): Fixed spurious debug, and made more robust. 1999-04-12 Michael Meeks * ms-excel.c: Various unneeded BIFF tags implemented for completeness. * biff-types.h: The tag definitions. * ole.c (read_types): Improved. (main): Flag duplicates sensibly. 1999-04-12 Michael Meeks * ole.c: Added 'biff' command. Added type file loader/parser and helper function. * biff-types.h: Created * ms-excel-biff.h: Moved types out. 1999-04-11 Michael Meeks * ole.c: Major update, interactive mode, help, dump command etc. 1999-04-09 Michael Meeks * ms-excel.c (ms_excel_workbook_detach): Paranoid NULLing of pointers. Fixed _silly_ bug with g_list_remove ! (ms_excel_workbook_attach): Paranoia checking. (biff_get_text): Converted int lp to guint32 lp. (ms_excelReadWorkBook): BIFF_SST: Added overrun check, some idiot splits the SST table for seemingly no good reason. Cleaned debug. (ms_excel_read_cell): Cleaned debug. (ms_excel_palette_get): Added magic multiplying factor to get colors to work... (ms_excel_set_cell_font): Now returns font color (ms_excel_set_cell_xf): Updated to pass on foregnd col to: (ms_excel_set_cell_colors): Added priority foregnd col. BIFF_XF_DATA: Updated colours to pattern colours, and updated names throughout adding pal_ prefix. * ole.c: Added, basic OLE2/BIFF helper program * Makefile.am: Updated to include ole.c 1999-04-06 Michael Meeks * ms-formula.h: Add PTG_AREAN, PTG_REFN. * ms-formula.c: Debug for these cases. (ms_excel_parse_formula): Added shared row/col. Updated ms_excel_sheet_shared_formula call. * ms-excel.c (ms_excel_sheet_shared_formula): Include new arguments. (ms_excel_read_cells): Update all parse_formula calls. (ms_excel_set_cell_xf): Set auto_return argument to 0 for cell_set_alignment. move cell_set_colors to last thing. * ms-excel.h: Update prototype. 1999-04-05 Miguel de Icaza * ms-ole.c (biff_getdouble): Move biff_getdouble here, and apply fix from Tung Nguyen (tung.nguyen@pgs.com) 1999-04-03 Michael Meeks * ms-excel.c (ms_excel_read_sheet): removed fixup_array_formulae. (ms_excel_read_cell): Large SHRFMLA / ARRAY fixups. (biff_share_formula_new,destroy,hash,equal): Implemented. (ms_excel_sheet_new): Removed GList array_formulae and insert shared formula hash table. (ms_excel_sheet_destroy): Deal with hash table. (ms_excel_sheet_shared_formula): Returns shared formula text (ms_excel_set_cell_xf): Cleaned unused variables. * ms-excel.h: Added ms_excel_sheet_shared_formula prototype * ms-formula.c (ms_excel_fixup_array_formula): Removed. (ms_excel_parse_formula): Sorted FORMULA_PTG_EXP. * ms-formula.h: Removed prototype. 1999-04-02 Michael Meeks * ms-formula.c (ms_excel_parse_formula): PTG_ATTR: corrected debug output semantics. Set IF to var-arg ( fn: 0x1 ). Various Debug bits made conditional. Implemented 'optimised' = 'hopelessly obfuscated' IF function. Ignored 'Volatile' PTG_ATTR. Added INT to table. * ms-excel.c (ms_excel_set_cell_xf): Made static for safety. (ms_excelReadWorkbook): BIFF_SST: fixed up a few types. (biff_get_text): Fixed types. * ms-excel.h: removed prototype for same. fixed biff_get_text type. 1999-04-01 Michael Meeks * ms-excel.c (ms_excelReadWorkbook): Major string table fix should now work internationally. (biff_get_text): Major arguments change, now returns the rather grim byte length field if needed through a guint32 * Changed all references to biff_get_text throughout. * ms-excel.h: Updated biff_get_text prototype. * ms-formula.c: Changed all references to biff_get_text throughout. 1999-03-31 Michael Meeks * ms-excel.c (ms_excel_read_sheet): Added SELECTION support. Added basic WINDOW2 support. (ms_excel_read_cell): COLINFO, fixed fatal bug in hidden column code. * ms-formula.c (ms_excel_parse_formula): Removed debug. 1999-03-30 Michael Meeks * ms-formula.c (ms_excel_parse_formula): Rehashed function and operator search function so it uses a flat array instead of a linear search. fully populated formula_func_data array, and removed unused / constant fields. * ms-formula.h: Removed dead wood from OP_DATAa & FUNC_DATA structs. 1999-03-26 Michael Meeks * ms-formula.c: Removed duplicate for fn 0x65 1999-03-24 Thomas Meeks * ms-formula.c: Added mappings for Address, Area, Hyperlink, Offset, Column, Columns. 1999-03-12 Michael Meeks * ms-excel.c (biff_name_data_new, biff_name_data_get_name), (biff_name_data_destroy, ms_excel_read_cell): Implemented the BIFF_EXTERNNAME case. (ms_excel_workbook_new, ms_excel_workbook_destroy): Name table hashing functions. (ms_excel_read_cell): Cleaned debug on BIFF_HEADER / FOOTER. * ms-formula.c (ms_excel_parse_formula): Large API change to simplify several cases, and clean dirty code. (make_function): Special 0xff case on functions. For use with external functions, the names of which come in via: (_excel_parse_formula): FORMULA_PTG_NAME_X, hacked into rough shape. * ms-excel.c: All instances of ms_excel_parse_formula updated. 1999-03-11 Michael Meeks * ms-ole.c (ms_ole_destroy, ms_ole_new): Killed debug output before we are sure its an OLE file. 1999-03-11 Miguel de Icaza * ms-excel.c (find_workbook): Use g_strncasecmp here. 1999-03-10 Michael Meeks * ms-formula.c: Inserted all the statistics formulae from 5.0a into the translation table. 1999-03-09 Michael Meeks * ms-formula.c (ms_excel_parse_formula): Hacked out the bad array formula support. Moved most of it to ms-excel.c * ms-excel.c (ms_excel_read_cell): Updated BIFF_ARRAY and BIFF_FORMULA cases; splitting and adding array loop. BIFF_COLINFO, BIFF_ROW: Updated fudge factors in sizing and implemented column sizing. 1999-03-07 Michael Meeks * ms-formula.c: Changed FORMULA_PTG_STR to cope with both versions of string properly. Inserted innumerable time and text functions into the translation table. 1999-03-07 Michael Meeks * ms-excel.c: Changed to use cell_set_text_simple to save many redundant re-draws: big speedup. hacked up a set_row_height call 1999-03-05 Michael Meeks * ms-ole.c: Variously made debug conditional on OLE_DEBUG * ms-excel.c: ditto for EXCEL_DEBUG 1999-02-22 Miguel de Icaza * ms-ole.c (ms_ole_write_sb): Do not use C++ comments. 1999-02-06 Miguel de Icaza * ms-ole.c (ms_ole_destroy): Free the correct pointer (we were releasing the same pointer twice). 1999-01-13 Miguel de Icaza * ms-ole.c (ms_ole_destroy): Free f->header_root_list if set. 1999-01-03 Jeff Garzik * ms-excel.c, ms-formula.c: A printf fix. Warning fixes. 1998-12-28 Miguel de Icaza * boot.c (excel_init): New file, adds the excel booting mechanism.