1 1999-07-09 Miguel de Icaza <miguel@nuclecu.unam.mx>
3 * src/about.c (dialog_about): Sort in alphabetical order.
5 * src/print-info.c (print_hf_free): Killed the style_format feature.
7 * src/print.c (print_job_info_get): Create render info context
8 here for header/footer printing.
9 (print_sheet_range): Setup number of pages here; Increment pages
10 after each one is outputed.
11 (print_headers): Implemented the header/footer printing.
13 * src/print-info.c (hf_render_info_new, hf_render_info_destroy):
16 * src/fn-date.c (gnumeric_return_current_time): New function.
18 1999-07-09 Miguel de Icaza <miguel@gnu.org>
20 * configure.in (GNOMEGNORBA_LIBS): Simplified the Bonobo detection code.
22 1999-07-09 Miguel de Icaza <miguel@nuclecu.unam.mx>
24 * src/analysis-tools.c: Changed prototype of int_compare to
27 Removed unused variables.
29 * src/cell.c: #inlcude gnumeric-util to eliminate warning.
31 * src/fn-financial.c: Fixed all the help strings to get the
32 SEELASO correctly done
34 * src/style.c: Zoom factor 1.0 is a reminder to me, not a warning.
36 1999-07-09 Miguel de Icaza <miguel@gnu.org>
38 * src/sheet-view.c (sheet_view_construct): Reverted last plan. We
39 do need a sheet_view_construct, as we require sheet_view->sheet to
42 1999-07-08 Miguel de Icaza <miguel@gnu.org>
44 * src/cell.c (calc_text_dimensions): Use gdk_fonts for measuring
45 the strings on the screen. Basically, back out using GnomeFont here.
47 * src/print-info.c (render_date, render_time): Finished
49 (render_opcode): Enable argument mechanism to extend the number of
50 possible formats. Excel accepts stuff like &[DATE], we extend
51 this to accept &[DATE:mmmm-yyyy]. The argument for &[DATE] and
52 &[TIME] is a regular Gnumeric formatting code (ie, compattible
53 with the cell formating in Excel).
55 * src/sheet-view.h: Change style to suit forward declaration
58 * src/sheet.h: Use forward declaration for SheetView.
60 * src/sheet.c (sheet_new_sheet_view, sheet_destroy_sheet_view):
61 New routines for managing the sheet views.
63 * src/sheet-view.c: Killed sheet_view_construct, there was nothing
64 really required there. Moved all the code to sheet_view_init.
65 (sheet_view_scrollbar_display, sheet_view_set_header_visibility):
66 New routines that control the visibility of the various gadgets of
69 * embeddable-grid.c, embeddable-grid.h: New files. They implement
70 the Bonobo GnomeEmbeddable interfaces for embedding Gnumeric in
73 * src/workbook.c (workbook_new, workbook_core_new): Split this
74 routine in two: GUI independant and GUI dependant. The next step
75 is to provide multiple views of a workbook (although, I am not
77 (workbook_new_with_sheets): Kill dead code.
79 * src/corba-sheet.c (Sheet_row_height, Sheet_col_width,
80 Sheet_max_cols_used, Sheet_max_rows_used): New methods.
82 * src/Gnumeric.idl (Sheet): new methods max_cols_used,
83 max_rows_used, col_width, row_height.
85 (Grid): New interface for embeddable grids.
87 * src/print-info.c (hf_format_render): Rendering routine for the
88 header and footers formats.
90 1999-07-09 Michael Meeks <michael@edenproject.org>
92 * src/Gnumeric.idl: Add GNOME::Unknown back in.
94 1999-07-09 Jukka-Pekka Iivonen <iivonen@iki.fi>
96 * src/dialog-analysis-tools.c, src/analysis-tools.c: Added an
97 option to all tools to print the results to a new workbook.
99 * src/dialog-analysis-tools.c, src/analysis-tools.c: Added Moving
100 Average and Rank and Percentile tools.
102 1999-07-09 Michael Meeks <michael@edenproject.org>
104 * src/eval.c (add_value_deps): Add warning on default:
105 (add_cell_range_deps): Fixup for correct inter-sheet
106 dependencies; massive bug.
110 * doc/C/formulas.sgml: Wrote the 'name' documentation.
112 1999-07-08 Michael Meeks <michael@edenproject.org>
114 * src/func.c (function_iterate_do_value): Fix for NULL CellRef
115 Sheet *, fallback to EvalPosition's Sheet *
117 * src/fn-math.c (gnumeric_countif): ditto.
119 * src/fn-math.c (gnumeric_seriessum): Add check for NULL nodes
122 1999-07-08 Jody Goldberg <jgoldberg@home.com>
124 * src/cell-draw.c (cell_split_text) : Honour embedded newlines.
125 Why do we call str_trim_spaces ?
127 * src/print-cell.c (cell_split_text) : Ditto. Adjust gnome-print to
128 make the code even more similar to cell-draw version. Should we be
129 using double rather than int for width calculations ?
130 NOTE : This requires some recent (1999/7/7) changes to gnome-print.
132 * src/cell.c (cell_comment_realize) : reference the comment object
133 to avoid verbose warnings when we exit.
135 1999-07-08 Jukka-Pekka Iivonen <iivonen@iki.fi>
137 * doc/C/analysis-tools.sgml: New file. Added documentation for the
138 following analysis tools: Correlation, Covariance, Descriptive
139 Statistics, Random Number Generation, Sampling, and F-Test.
141 * src/dialog-analysis-tools.c: Added some default parameters for
142 the random number generation tool.
144 * src/dialog-analysis-tools.c, src/analysis-tools.c: Started the
145 implementation of regression tool. Feel free to fill in the rest
146 of the calculations if you are familiar with the regression
149 1999-07-08 Michael Meeks <michael@edenproject.org>
151 * src/eval.c (add_tree_deps): Change exprt to expr_tree.
153 * src/Gnumeric.idl: Removed : GNOME::Unknown from Workbook so
154 people can compile for now.
156 1999-07-07 Michael Meeks <michael@edenproject.org>
158 * src/expr.c (do_expr_decode_tree): Add vital translation stuff.
160 * src/parser.y (return_name): Created.
161 (try_symbol): Add name lookup.
163 * src/eval.c (add_tree_deps): Calculate name dependencies if at all
166 * src/main.c (gnumeric_main): Add expr_name_init.
168 * src/expr.c (expr_tree_new_name, do_expr_tree_unref),
169 (eval_expr, do_expr_decode_tree, do_expr_tree_invalidate_references),
170 (do_expr_tree_fixup_references, expr_dump_tree): Add OPER_NAME support
171 in every case just after OPER_FUNCALL.
173 * src/expr.h: Add ExprName struct, include and OPER_NAME.
175 * src/Makefile.am (GNUMERIC_BASE_SOURCES): Added expr_name.[ch]
177 1999-07-07 Miguel de Icaza <miguel@gnu.org>
179 * configure.in (EXTRA_GNOME_CFLAGS): Assemble all the flags we
180 will be linking with here.X
182 * src/Gnumeric.idl: Small typo fixes.
184 * Killed liblgade from here, it is now a requirement.
186 1999-07-07 Jukka-Pekka Iivonen <iivonen@iki.fi>
188 * src/dialog-analysis-tools.c: Cleaned up `groupped by' radio
189 button code. Added `Labels in First Row' check buttons for all
190 tools. Made the tool list inside of a scrolled window.
192 * src/dialog-analysis-tools.c, src/analysis-tools.c: Implemented
193 `Random Number Generation' tool with the following distributions:
194 Discrete, Normal, and Uniform.
196 1999-07-07 Michael Meeks <michael@edenproject.org>
198 * src/about.c (dialog_about): Add Jody, updated Sean.
200 * src/dialog-cell-sort.c (dialog_cell_sort): Stop degenerate
201 cases from producing confusing 'Add / Remove clause' boxes.
203 1999-07-05 Miguel de Icaza <miguel@gnu.org>
205 * src/Gnumeric.idl: Use new interface name.
207 1999-07-06 Jukka-Pekka Iivonen <iivonen@iki.fi>
209 * src/dialog-analysis-tools.c, src/analysis-tools.c: Added some
210 error checks, not complete yet.
212 1999-07-06 Jukka-Pekka Iivonen <iivonen@iki.fi>
214 * src/dialog-analysis-tools.c, src/analysis-tools.c: Added output
215 frames and an option to output into an existing sheet.
217 1999-07-06 Jukka-Pekka Iivonen <iivonen@iki.fi>
219 * src/dialog-analysis-tools.c: Cleaned up a lot. Added input
220 frames to input entries.
222 1999-07-06 Jukka-Pekka Iivonen <iivonen@iki.fi>
224 * src/analysis-tools.c, src/dialog-analysis-tools.c,
225 src/dialogs.h: Implemented F-Test tool.
227 1999-07-06 Jukka-Pekka Iivonen <iivonen@iki.fi>
229 * src/analysis-tools.c, src/dialog-analysis-tools.c,
230 src/dialogs.h: Implemented t-Test and z-Test tools.
232 1999-07-05 Miguel de Icaza <miguel@gnu.org>
234 * src/about.c (dialog_about): Added link to IGS web site.
236 1999-07-05 Jody Goldberg <jgoldberg@home.com>
238 * src/cell.c (cell_set_formula) : Rework array-formula logic to deal
239 with cell_set_array_formula releasing the wrapper generated by the
241 (cell_set_text) : Crude but effective prohibition for editing 1 cell
244 * src/eval.c : Add more debug info.
245 (search_cell_deps) : Rename search_range_deps.
246 (search_cell_deps) : New function. Special case of a single cell
247 only needs 1 call to intersect.
249 * src/expr.c (do_expr_tree_invalidate_references,
250 do_expr_tree_fixup_references) : Implement for OPER_ARRAY.
251 (expr_tree_get_const_str) : New function.
253 * src/format.c (format_number) : Made debug warning more verbose but
254 only print it the 1st time.
256 * src/gnumeric-util.[c,h] (gnumeric_no_modify_array_notice) : New.
258 * src/sheet.c (sheet_clear_region): Use gnumeric_no_modify_array_notice.
259 (avoid_dividing_array_horizontal, avoid_dividing_array_vertical) : New.
260 (sheet_insert_row, sheet_insert_row) : Use them.
261 (sheet_fill_selection_with) : Add flag to differentiate fills and
262 array-formulas. Check to ensure that the array/fill operation does
263 not overwrite a subset of an array.
265 * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet) : Pass is_array.
266 (gnumeric_sheet_patterns) : Adjust to more exactly match Excel.
267 NOTE : They are listed in DISPLAY order not excel's internal index
268 scheme, that requires a map.
270 * src/gnumeric-sheet.h : Increase number of patterns.
272 * src/pattern-selector.c : Adjust layout to match Excel. Still need to
273 figure out how to get the stipples on a white background.
275 * src/main.c : Add debug_excel_{read,formulas,color,chart} to
276 allow run time vs compile time verbosity.
278 1999-07-05 Morten Welinder <terra@diku.dk>
280 * src/expr.c (value_array_resize): Shined up, fixed, not tested.
282 * src/print-info.c (print_hf_new): Constify.
283 (print_hf_free): Fix leaks.
285 * src/workbook.c (workbook_do_destroy): Fix leak.
287 * src/style.c (style_shutdown): Unref out fonts.
289 * src/sheet.c (sheet_start_editing_at_cursor): Doc fix.
291 1999-07-05 Jukka-Pekka Iivonen <iivonen@iki.fi>
293 * src/analysis-tools.c, src/dialog-analysis-tools.c,
294 src/dialogs.h: Implemented Sampling Tool. Still more to come.
296 1999-07-05 Morten Welinder <terra@diku.dk>
298 * src/style.c (style_font_new_simple): Reinstate negative caching.
300 * src/xml-io.c (xml_set_gnome_canvas_points): Handle zero point
301 case. Don't rely on return value from sprintf.
303 * src/dialog-function-select.c (function_definition_update): Kill
306 * src/dialog-analysis-tools.c (dummy_fun): Make static.
307 (summary_stat_signal_fun): Ditto.
308 (confidence_signal_fun): Ditto.
309 (kth_largest_signal_fun): Ditto.
310 (kth_smallest_signal_fun): Ditto.
311 (tool_dialog_range): Ditto.
312 (selection_made): Ditto.
313 (dialog_data_analysis): Kill warning.
315 * src/analysis-tools.c (descriptive_stat_tool): Kill warnings.
317 1999-07-05 Jukka-Pekka Iivonen <iivonen@iki.fi>
319 * src/analysis-tools.c, src/dialog-analysis-tools.c,
320 src/dialogs.h: Implemented Descriptive Statistics Tool. Please do
321 not edit these files (unless a serious bug fix) for a couple of
322 days; there is more to come.
324 1999-07-05 Miguel de Icaza <miguel@gnu.org>
326 * src/print.c: Only print the headers and sides
328 * plugins/text/text-io.c (text_cleanup_plugin): Kill probing here.
329 (text_init): kill probing here as well.
330 (text_parse_file): kill probing support here as well.
331 (text_parse_file): Do not use first line as sheet name.
333 * src/file.c (workbook_import): Added import dialog box.
334 (workbook_read): Now does only probe for existing probe routines.
335 (file_format_register_open): probe function being NULL now means
336 that this is not an auto-probe filter, but an import filter (ie,
337 the user has to manually select the file).
339 1999-07-04 Miguel de Icaza <miguel@gnu.org>
341 * src/file.c (file_format_register_open): Allow the probe_fn to be NULL.
343 * src/workbook.c (import_file_cmd): Added import menu item.
345 1999-07-05 Michael Meeks <michael@edenproject.org>
347 * src/sheet.c (sheet_update_auto_expr): Removed parsing.
349 * src/workbook.c (workbook_set_auto_expr): Moved unsafe parser
352 * src/sheet.h: Changed auto_expr_text to ExprTree auto_expr.
354 * src/parser.y (gnumeric_expr_parser): Added.
355 (gnumeric_unsafe_expr_parser): Renamed and changed arguments.
357 * plugins/guile/plugin.c (init_plugin): New function stuff.
358 (func_scm_apply): ditto.
359 (func_scm_eval): ditto.
360 (func_marshal_func): ditto.
361 (scm_register_function): ditto.
363 * plugins/python/python.c (__register_function): Updated to
365 (marshal_func): ditto.
367 * plugins/perl/ext/Makefile.PL.in: Added GNOME_PRINT bits.
369 1999-07-04 Michael Meeks <michael@edenproject.org>
371 * src/workbook.c (workbook_sheet_get_free_name): Made more
372 similar to Excel: base sheet no. = 1 + no space.
373 (workbook_new_with_sheets): Update to more Excel friendly
376 1999-07-02 Miguel de Icaza <miguel@gnu.org>
378 * doc/Design, doc/translating.sgml: small touchups.
380 * src/dialog-printer-setup.c (do_setup_main_dialog): Set the
382 (do_setup_main_dialog): Force destruction of parent widget.
384 * src/print.glade: Removed visibility flag from toplevel dialog
387 * doc/C/files.sgml: Updated indentation.
389 * src/dialog-printer-setup.c (do_setup_page): Use relative path
392 1999-06-30 Miguel de Icaza <miguel@gnu.org>
394 * src/item-grid.c (item_grid_draw_cell): Eliminate warning.
396 * src/dialog-printer-setup.c: Adapted to the new setup for keeping
397 track of col/rows ranges.
398 (do_fetch_page_info): ditto.
400 * src/print.c (PrintJobInfo): Use doubles for all the printing
402 (print_sheet_range): Take into account the repeat ranges for
403 repeated headers, repeated columns.
404 (print_sheet): compute space used by repeated headers and repeated
406 (print_page): Print repeating top rows and repeating left
407 columns on each page. Loop over printing routines.
408 (print_page_cells): new routine: prints a cell range only.
409 (print_page_repeated_rows, print_page_repeated_cols): Prints the
410 repeating columns and repeating rows.
412 * src/dialog-cell-format.c (apply_font_format): Implement
413 GnomePrint based version.
416 * src/print-info.c (save_range): Updated to reflect the new change
418 (print_info_save): ditto.
420 (print_info_new): ditto.
422 * src/print-info.h: Store ranges as a structure that contains an
423 explicit tag for validness instead of overloading the definition
426 1999-07-02 Jukka-Pekka Iivonen <iivonen@iki.fi>
428 * src/anaysis-tools.c: New file for data analysis tools.
429 Currently only correlation and covariance tools implemented.
431 * src/dialog-analysis-tools.c: New file.
433 * src/dialogs.h: Added some definitions for data analysis tools.
435 * src/workbook.c: Added data analysis menu entry.
437 1999-06-26 Morten Welinder <terra@diku.dk>
439 * src/fn-string.c (gnumeric_dollar): Avoid warning overflows.
441 * src/print-info.c (print_unit_new): Warning killer.
443 * src/fn-financial.c (calculate_fvif): Warning killer.
445 * src/expr.c (build_error_string): Re-remove.
447 * src/dialog-printer-setup.c (unit_into_to_points): Warning killer.
449 * src/mathfunc.c (MATHLIB_WARNING2, MATHLIB_WARNING4): Warning killer.
451 1999-07-01 Michael Meeks <michael@edenproject.org>
453 * src/main.c (gnumeric_main): Added excel_shutdown.
455 1999-07-01 Jukka-Pekka Iivonen <iivonen@iki.fi>
457 * samples/datefuns.xls: Added a few missing function tests.
459 1999-06-30 Heath Martin <martinh@pegasus.cc.ucf.edu>
461 * src/cell.c, src/cell.h: (cell_get_comment) New function.
463 * src/xml-io.c: (xml_write_cell) Save comments.
464 (xml_read_cell) Load comments.
466 1999-06-30 Michael Meeks <michael@edenproject.org>
468 * TODO: Moved some bits to plugins/excel.
469 add a bit about Styles.
471 1999-06-29 Jody Goldberg <jgoldberg@home.com>
473 * src/cell.c (cell_set_formula) : Handle special case of array by
474 setting the entire matrix from the top left corner.
475 (cell_set_array_formula) : New function.
477 * src/cell.h : Add cell_set_array_formula.
479 * src/eval.c (add_cell_range_deps) : Split setup into new function.
480 (add_cell_range_dep) : Here.
481 (add_tree_deps) : Support Array operators.
483 * src/parser.y : Parse new array formula syntax.
484 (dump_tree) : rename to expr_dump_tree and move to.
486 * src/expr.c (expr_dump_tree) : From parser.y.
487 (expr_tree_get_const_int) : New function.
488 (expr_tree_array_formula) : New function.
489 (expr_tree_array_formula_corner) : New function.
490 (do_expr_tree_unref) : Support Array operators.
491 (value_area_get_at_x_y) : Renamed to value_area_fetch_x_y, fixed
492 thinko, completed support for relative ranges.
493 (value_area_get_x_y) : New function, like value_area_fetch_x_y but
494 does not create missing values.
495 (eval_expr) : Support Array operators.
496 (do_expr_decode_tree) : Ditto.
497 (do_expr_tree_invalidate_references) : Ditto.
498 (do_expr_tree_fixup_references) : Ditto.
500 * src/expr.h : Add expr_tree_get_const_int, expr_tree_array_formula,
501 value_area_get_x_y, and Array operators. Rename value_area_get_at_x_y.
503 * src/fn-lookup.c : Handle renamed value_area_fetch_x_y.
504 * src/fn-math.c : Ditto. Add MMULT.
506 * src/format.c : (format_value) Handle arrays.
508 (assemble_clear_cell_list) : check that a subset of an array is not
510 * src/item-cursor.c : Ditto.
511 * src/item-grid.c : Ditto.
512 * src/xml-io.c : Deal with Array formula I/O.
514 1999-06-29 Miguel de Icaza <miguel@nuclecu.unam.mx>
516 * src/print-info.c (save_range): Save the repeat ranges routine.
517 (print_info_save): Save the repeat ranges.
519 * src/expr.c (value_cellrange_get_as_string): Implemented.
520 (value_get_as_string): Expanded to render cellranges.
522 * src/print-info.c (load_range): New routine, loads a range from
525 * src/print.c (print_sheet_range): off-by-one error fix.
527 1999-06-29 Jukka-Pekka Iivonen <iivonen@iki.fi>
529 * samples/textfuns.xls: Added a new test file.
531 * samples/engfuns.xls, samples/mathfuns.xls: Updated.
533 1999-06-29 Jukka-Pekka Iivonen <iivonen@iki.fi>
535 * src/fn-stat.c: Added FORECAST() and INTERCEPT().
537 * src/fn-math.c: SUMIF() can now take an optional argument
540 * src/fn-information.c: Made N() return 0 if the given string is
541 non-number, not an error.
543 1999-06-28 Michael Meeks <michael@edenproject.org>
545 * src/main.c (gnumeric_main): removed xbase_init.
547 * src/Makefile.am: Removed xbase static link.
549 1999-06-28 Miguel de Icaza <miguel@nuclecu.unam.mx>
551 * src/dialog-printer-setup.c (load_image): Use a constant relative
552 to the Gnumeric installation directory, do not use the gnome
555 * src/workbook.c: Add print icon to the toolbar.
557 * src/dialog-printer-setup.c (do_print_cb): Fetch settings when
558 the user presses print from here.
559 (do_setup_main_dialog): Hide non working widgets.
561 1999-06-28 Michael Meeks <michael@edenproject.org>
563 * CHANGES: Updated for new release.
565 1999-06-27 Raja R Harinath <harinath@cs.umn.edu>
567 * src/Makefile.am (Gnumeric-impl.o): This depends on Gnumeric.h,
568 Gnumeric-impl.c doesn't.
570 Reinstate Perl plugin.
571 * plugins/perl/Makefile.am: Clean up build.
572 * plugins/perl/ext/Gnumeric.xs (register_function):
573 Use FunctionCategory and `function_add_args' API instead of
575 (marshal_func): Update to new callback prototype.
576 * plugins/perl/ext/Makefile.PL.in ('INC'): Use @top_srcdir@ rather
577 than @srcdir@/../../...
579 * doc/C/Makefile.am: Misc. srcdir != builddir fixes.
580 * configure.in (GNOME_PRINT_CFLAGS): Fix typo.
582 1999-06-25 Michael Meeks <michael@edenproject.org>
584 * src/dialog-function-wizard.c: Re-vamped table layout.
586 * src/fn-string.c (string_functions_init): Change category
587 name to 'String'; silly me.
589 * src/dialog-function-select.c (function_definition_update): Fixed
590 old & broken function pointer code.
592 * src/expr.c (eval_funcall): Updated to use union.
593 (function_def_call_with_values): ditto.
595 * src/func.c (function_add_nodes): ditto.
596 (function_add_args): ditto.
598 * src/expr.h: Changed void *fn pointer to a slicker union.
600 * src/plugin.h: Added a prototype for the one external function
601 every plugin must have ( kills some plugins warnings ).
603 * src/workbook.c (workbook_new): Updated call to set_auto_expr
604 (change_auto_expr): ditto.
605 (workbook_do_destroy): Update.
606 (workbook_set_auto_expr): Updated, just to set text leaving heavy
607 lifting for sheet.c. This removes possible error checking of our
608 quick-functions, but an error will be displayed in the status bar
609 having set the function, and the functionality wasn't used.
611 * src/sheet.h: Removed previously extern'd workbook_set_auto_expr,
612 this should be internal.
613 Remove auto_expr_tree from Workbook *.
615 * src/sheet.c (sheet_update_auto_expr): Moved auto_expr parsing
616 into sheet_update_auto_expr. Rational; neater, and not performance
619 1999-06-26 Miguel de Icaza <miguel@nuclecu.unam.mx>
621 * src/pixmaps.h: Removed unused pixmaps.
623 * src/corba-sheet.c (Sheet_corba_class_init): Fill in some missing
624 values fomr the GNOME::Gnumeric::Sheet epv interface.
626 * src/expr.c (eval_funcall): Removed unused variable.
628 * src/workbook.c (workbook_sheets): prepend and reverse instead of
629 appending all the time. It is more efficient.
631 * src/style.c (x11_font_compute_hints): Renamed as well. Might be
632 useful in the future.
634 * src/gnumeric-util.c (x11_font_get_italic_name,
635 x11_font_get_bold_name, x11_font_change_component): Renamed these
636 functions to reflect their actual usage.
638 * src/expr.c (expr_tree_new_constant): Change style to use early
639 return to keep indentation of the rest of the code at tab-1. This
640 is a trick to keep indentation nice with 8-tab spaces. Liberal
641 use of early returns, early continues, early breaks.
643 * src/cell.h (CELL_TEXT_GET): Kill unused macro.
645 1999-06-25 Miguel de Icaza <miguel@gnu.org>
647 * src/xml-io.c (xml_read_cell): Merge the style we just read with
648 the existing information from the cell (which are the defaults).
649 This is only for compatibility with the old format
651 1999-06-24 Miguel de Icaza <miguel@gnu.org>
653 * src/xml-io.c (style_font_new_from_x11): Implemented
655 * src/style.c (style_font_new): Improved matching of the font.
657 * src/xml-io.c (xml_write_style): Save Bold and Italic
658 properties. Save Units as double.
659 (xml_read_style): Add conversion hook from old format.
660 (xml_read_style): Load properly italic and bold properties.
662 (xml_read_cell): Add new style reading code. It is
663 compatible with the old Style reading code.
664 (xml_read_rows_info, xml_read_cols_info, xml_read_styles): Moved
665 Cols, Rows and Styles loading code here, for code clarity.
667 * src/style.c (style_font_new_simple): Include the scale in the
670 * src/xml-io.c: The FontDefs and the HREFs to the fonts were never
671 being used. The new code for styles simplifies this. Kill all
672 the references to the FontDefs urls and the font indeces.
676 1999-06-23 Miguel de Icaza <miguel@gnu.org>
678 * src/xml-io.c: Major updates.
679 (xml_read_colrow_info): Use floating point for loading the
680 units, margin_a and margin_b.
681 (xml_write_colrow_info): Save units, margin_a and margin_b using
683 (xml_set_value_double): Activate this function.
684 (xml_write_cell): Do not save the style here. Lookup the style
685 id, and write a record with the style id link.
686 (xml_sheet_write): Add call to xml_cell_styles_init and
687 xml_cell_styles_shutdown to init and shutdown the cell styles in a
690 Renamed functions to suit the gnumeric coding
691 sytle. Fixed indentation.
693 File format now saves a different version. We store all cell
694 styles first, and then we reference them.
696 (parse_xml_context_t): renamed from
697 parseXmlContext. Add style_table hash table for storing all the
698 styles used by the cells on a workbook. Used to dump Styles first
699 and then have the cells reference it.
701 * src/style.c (style_hash, style_compare): New routines to
702 put Styles on hash tables.
704 * src/workbook.c (workbook_sheets): Use g_list_prepend instead of
705 g_list_append and reverse the result.
707 1999-06-14 Miguel de Icaza <miguel@gnu.org>
709 * src/cell.h: Killed ColType and RowType definitions. They do not
710 save any noticeable amount of memory; we are not using them but
711 on the most useless places and finally they are the current limit
712 to our spreadsheet size.
714 * src/gnumeric-sheet.h: Use int instead of ColType, RowType
715 * src/item-cursor.h: Use int instead of ColType, RowType
716 * src/item-grid.h: Use int instead of ColType, RowType
718 * src/print-cell.c (CELL_DIM): Use _pt variants of the margins here.
719 (print_cell_text): and here.
720 (print_cell): and here.
721 (print_cell_range): and here.
722 (print_cell_grid): and here.
724 1999-06-13 Miguel de Icaza <miguel@gnu.org>
726 * src/sheet.c (sheet_compute_col_row_new_size): Update margin_a
727 and margin_b from the points.
728 (col_row_info_init): New function to initialize a sample
729 ColRowInfo. Inits the _pt fields.
730 (col_row_unit_distance): Use the new fields in computation.
731 (sheet_col_get_unit_distance): Use new fields in computation.
733 * src/dialog-printer-setup.c (do_setup_margin): Set scroll region.
734 (preview_page_create): Implement routine that draws the page for
737 * src/sheet.h (ColRowInfo): Units are now doubles; margin_a_pt and
738 margin_b_pt are doubles that represent the a and b margins in
741 * src/sheet.c (sheet_compute_col_row_new_size): Use the
743 1999-06-11 Miguel de Icaza <miguel@gnu.org>
745 * src/cell-draw.c (cell_draw): Move the foreground setting routine
746 here and handle single-line and multiline coloring properly.
748 * src/print-info.c (unit_name_to_unit): New routine, returns the
749 UniName from the string name.
751 * src/dialog-printer-setup.c (dialog_printer_setup): Use
752 print_info_save and kill the do_save_settings routine for the
753 cleaner print_info routine.
755 * src/print-info.c (print_info_new): Now loads the default
756 settings from the saved configuration.
757 (print_info_save): Saves the print information to the gnome_config.
759 1999-06-08 Miguel de Icaza <miguel@gnu.org>
761 * src/utils.c (str_trim_spaces): Moved str_trim_spaces ere.
763 * src/dialog-printer-setup.c (do_setup_main_dialog): Connect print
766 * src/print-cell.c (print_cell_grid): Simplify routine.
768 * src/sheet.c (sheet_row_get_unit_distance,
769 sheet_col_get_unit_distance): Include margins in computation.
770 This is broken, as the margins are now pixels, and they should be
773 * src/dialog-printer-setup.c (do_fetch_page_info): Fetch other values.
774 (do_save_settings): Saves the configuration.
776 * src/print-cell.c (print_border): Implement border drawing.
777 (print_cell_grid): Make this work as it should.
779 * src/print.c (compute_groups): Handle the case where the contents
780 fit entirely in one page.
782 1999-06-07 Miguel de Icaza <miguel@gnu.org>
784 * src/print.c: New file. Implements high-level printing.
786 * src/dialog-printer-setup.c: New file. Implements the "Print
789 1999-04-30 Miguel de Icaza <miguel@nuclecu.unam.mx>
791 * src/cell-draw.c: New file. All of the cell screen drawing code
792 has been moved here now.
794 * src/print-cell.c: Enhanced code.
796 * src/workbook.c: hardcoded page size for testing purposes.
798 1999-03-10 Miguel de Icaza <miguel@nuclecu.unam.mx>
800 I do not like the current approach. I do think that StyleFonts
801 should be static with regard to Zoom.
803 And we would keep a cache of X fonts that are used for a
806 * src/style.c (style_font_new_from): New routine that creates a
809 * src/sheet.c (sheet_set_zoom_factor): Scale fonts used in the
812 1999-02-15 Miguel de Icaza <miguel@nuclecu.unam.mx>
814 * src/dialog-printer-setup.c: New file. Implements the workbook
815 page configuration dialog box.
817 * src/print-info.c, src/print-info.h: Manages the per-worbook
820 1999-02-07 Miguel de Icaza <miguel@nuclecu.unam.mx>
822 * src/style.c (font_equal): Adapt function to the new StyleFont.
823 (style_font_new, style_font_new_simple): Adapt for the upcoming
827 * src/xml-io.c: Use Gnome Print font scheme.
828 * src/workbook.c: ditto.
830 * src/item-bar.c, src/item-edit.c: ditto
832 * src/dialog-cell-format.c: Disable font selector for now.
834 1999-06-26 Morten Welinder <terra@diku.dk>
836 * src/fn-financial.c (gnumeric_rate): New function.
838 * src/sheet.c (sheet_destroy): Sssshhhh!
840 * src/fn-eng.c (val_to_base): Neat and tidy.
842 1999-06-25 Morten Welinder <terra@diku.dk>
844 * src/fn-eng.c (eng_functions_init): Extend impower to handle two
846 (eng_functions_init): Prepare for besseli and besselk. Docs
849 * src/mathfunc.c (dweibull, pweibull, ppois, dpois, dexp, pexp,
850 dbinom, pbinom, qbinom, besseli, besselk): New functions.
852 * src/fn-stat.c: Use new mathfuncs.
853 (gnumeric_kurt): Use range function.
854 (gnumeric_kurtp): New function.
855 (gnumeric_skewp): New function.
857 * src/mathfunc.c (range_skew_est): Rename from range_skew.
858 (range_skew_pop): New function.
859 (range_kurtosis_m3_est): New function.
860 (range_kurtosis_m3_pop): New function.
862 * src/fn-math.c (gnumeric_gcd): Cleanup and fix.
864 1999-06-24 Michael Meeks <michael@edenproject.org>
866 * src/expr.c (value_area_get_at_x_y): Return value_zero instead
867 of the leaky value_new_int.
868 (value_area_get_at_x_y, value_area_get_width, value_area_get_height):
869 Updated to fall back to EvalPosition's Sheet *.
871 * src/expr.h: Added 'EvalPosition' parameter to area functions.
873 1999-06-23 Morten Welinder <terra@diku.dk>
875 * src/fn-stat.c (gnumeric_poisson): Fix formula and error
877 (gnumeric_binomdist): Ditto.
878 (gnumeric_correl): Ditto.
880 * src/expr.c (eval_expr): Remove useless casts.
881 (eval_funcall): Treat 'b' as 'f' for now. Don't use fd until it
884 * src/func.c (function_iterate_argument_values): Don't leak error
887 * src/eval.c (cell_eval): Don't leak error message.
889 * src/*.c: Remove strange casts to (Value *).
891 1999-06-24 Michael Meeks <michael@edenproject.org>
893 * src/expr.c (error_message_new): Fix stupid bug,
894 such that every error was set.
896 * src/fn-math.c: Add sumproduct back in.
898 1999-06-24 Michael Meeks <michael@edenproject.org>
900 * src/fn-stat.c: Added ftest, ttest again.
902 1999-06-23 Michael Meeks <michael@edenproject.org>
904 * src/sheet.c (sheet_update_auto_expr): Add check for cached
907 * src/sheet.h: Added workbook_set_auto_expr.
909 * src/workbook.c (workbook_new): Initialise auto_expr stuff
910 before reading it in set_auto_expr.
911 (workbook_do_destroy): Add freeing of auto_expr_text.
912 (workbook_set_auto_expr): Hacked to cache expression until we
913 have a sheet context.
915 * src/expr.h: Add extra Parser error type for invalid args.
917 * src/fn-financial.c (finance_functions_init): Fix financial
918 functions, using 'i' as a token ( invalid ).
920 1999-06-23 Michael Meeks <michael@edenproject.org>
922 * docs/writing-functions.sgml: Updated to reflect my changes,
923 expanded and removed anachronisms.
925 * src/expr.h: Added FunctionArgs, FunctionNodes typedefs
926 Created struct EvalPosition, struct FunctionEvalInfo and
927 implemented through functions where necessary.
929 * src/expr.c (function_error, function_error_alloc): created
930 helper error return functions.
931 (eval_pos_init, eval_pos_cell): Helper EvalPosition fn's
932 (func_eval_info_init, func_eval_info_cell, func_eval_info_pos):
933 created helper FunctionEvalInfo fn's
934 (error_message_new, error_message_set_alloc),
935 (error_message_set_small, error_message_txt, error_message_free):
938 * src/expr.c (expr_parse_string, gnumeric_expr_parser),
939 (expr_decode_tree, expr_tree_invalidate_referenced),
940 (expr_tree_fixup_references, eval_expr): Updated to pass / use
941 new EvalPosition / FunctionEvalInfo structures.
943 * src/parser.y (gnumeric_expr_parser): Updated arguments to use
944 EvalPosition, added more stringent checks.
946 * src/func.h: Updated lots of things to new structures.
947 Changed the iterators arguments to new structures, altered
948 FunctionIterateCallback to suit.
949 Re-implemented function storage / mapping.
951 * src/func.c (function_get_category, function_add_args),
952 (function_add_nodes): Created.
953 (function_iterate_do_value, function_argument_values),
954 (function_call_with_values, function_def_call_with_values):
955 Updated to new scheme.
957 * src/fn-*: Major major changes:
958 - All function definitions changed to use:
959 typedef Value *(FunctionArgs) (FunctionEvalInfo *fe, Value **args); or
960 typedef Value *(FunctionNodes) (FunctionEvalInfo *fe, GList *nodes);
961 - All error returns altered to use:
962 return function_error (ei, _("foo"));
965 *error_string = _("baa");
968 this will allow for changing the error handling.
969 - A few functions that used Sheet *, eval_col, eval_row updated.
971 1999-06-23 Morten Welinder <terra@diku.dk>
973 * src/collect.c, src/collect.h: New files.
975 * src/Makefile.am (GNUMERIC_BASE_SOURCES): Add collect.c and
978 * src/fn-stat.c: Rewrite range-taking using collect and new range
979 handling functions. Most look really nice now. (This fixes and
980 number of leaks and makes error cases handled better. We might
981 return the wrong error from time to time, though.)
983 * src/fn-math.c: Ditto.
985 * src/expr.c (eval_funcall): Fix insanity check.
987 1999-06-22 Morten Welinder <terra@diku.dk>
989 * src/expr.c (eval_funcall): Add sanity check.
991 * src/fn-stat.c (callback_function_ttest): Make static.
993 * src/expr.h: Delete unwanted member "sym".
995 1999-06-22 Jukka-Pekka Iivonen <iivonen@iki.fi>
997 * samples/statfuns.xls: Added MMULT and MINVERSE tests.
999 * samples/lookfuns.xls: Added a new file for testing lookup and
1000 reference functions.
1002 * samples/logfuns.xls: Added a new file for testing logical
1005 1999-06-22 Nat Friedman <nat@gnome-support.com>
1007 * src/sheet-object-container.c (sheet_object_container_land): Use
1008 gnome_bonobo_object_clieint_new_view instead of
1009 gnome_bonobo_object_new_view.
1010 (sheet_object_container_realize): Likewise.
1012 1999-06-22 Morten Welinder <terra@diku.dk>
1014 * src/number-match.c (format_create_regexp): You don't want to
1017 * src/fn-date.c (get_serial_date): Cleanup.
1018 (get_serial_time): Ditto.
1020 * src/sheet.c (sheet_set_text): Abandon old reverse test that lead
1021 to trouble with floating point formats.
1023 * src/number-match.c (format_match): Change from double to
1024 float_t. All callers changed.
1025 (compute_value): Ditto.
1027 1999-06-22 Jukka-Pekka Iivonen <iivonen@iki.fi>
1029 * src/fn-stat.c: Added TTEST().
1031 * src/fn-stat.c: Added FTEST().
1033 * src/fn-math.c: Added SUMPRODUCT().
1035 1999-06-21 Morten Welinder <terra@diku.dk>
1037 * src/dialog-function-wizard.c (arg_data_list_new): Fix case of
1038 missing SYNTAX section.
1039 (create_description): Handle constness of tokenized_help_find.
1040 Delete weird #define.
1042 * src/func.c (tokenized_help_find): Constify.
1044 * src/expr.c (expr_tree_new_error): Smarten.
1046 * src/fn-misc.c (gnumeric_error_type): Fix case of incorrect
1047 number of arguments.
1049 * src/fn-information.c (get_value_class): Fix leak.
1051 1999-06-21 Miguel de Icaza <miguel@gnu.org>
1053 * src/func.c: Do not pre-initialize them. If they need to be
1054 pre-initialized something is wrong in some other place. Fix that
1057 * src/clipboard.c (do_clipboard_paste_cell_region): Implement
1058 transpose-on-paste command. Change the increment steps for
1059 transpose and compute a different target column as well.
1061 (sheet_paste_selection): Swap the paste dimesions here if we are
1064 1999-06-18 Miguel de Icaza <miguel@gnu.org>
1066 * src/func.c: Remove static initialization of the error messages.
1068 1999-06-14 Miguel de Icaza <miguel@gnu.org>
1070 * src/clipboard.h: Define PASTE_TRANSPOSE.
1072 * src/dialog-paste-special.c (dialog_paste_special): Add new
1073 checkbutton for transpose-on-paste operation.
1075 1999-06-21 Michael Meeks <michael@edenproject.org>
1077 * src/func.c (iterate_cellrange_callback): Add case
1078 of no cell text ( yet ).
1080 1999-06-21 Morten Welinder <terra@diku.dk>
1082 * src/fn-information.c (get_value_class): New function.
1083 (gnumeric_isnontext): Make non-strict.
1084 (gnumeric_istext): Make non-strict.
1085 (gnumeric_type): Make non-strict.
1086 (gnumeric_islogical): Make non-strict.
1087 (gnumeric_isnumber): Make non-strict.
1088 (gnumeric_n): Implement.
1089 (gnumeric_iseven): Implement.
1090 (gnumeric_isodd): Ditto.
1091 (gnumeric_cell): Fix error message.
1092 (gnumeric_info): Ditto.
1093 (gnumeric_type): Partly implement.
1095 * src/fn-math.c (gpow10): Rename from pow10 which colided with
1096 something in Linux with libc5. (Thanks to Alexander Jolk.)
1098 * src/utils.c (parse_cell_name): Don't use isdigit since we intend
1099 to subtract '0' from the character.
1101 * src/workbook.c (workbook_parse_and_jump): Cleanup.
1103 1999-06-21 Jukka-Pekka Iivonen <iivonen@iki.fi>
1105 * samples/infofuns.xls: Added a new file for testing information
1108 1999-06-20 Morten Welinder <terra@diku.dk>
1110 * src/workbook.c (wb_edit_key_pressed): New function to handle
1112 (workbook_setup_edit_area): Activate wb_edit_key_pressed.
1114 * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet): Call
1115 sheet_start_editing_at_cursor for F2.
1117 * src/sheet.c (sheet_cancel_pending_input): Fix last change. Also
1119 (sheet_start_editing_at_cursor): New args blankp and cursorp. All
1122 * src/fn-math.c (gnumeric_mod): Another try.
1123 (gnumeric_int): Fix for negative numbers.
1125 * src/sheet.c (sheet_set_text): Set value directly, not via text. Also
1126 improve entry when a format is already set.
1127 (sheet_cancel_pending_input): Fixed behavior of canceling a cell
1128 entry. [From Bake Timmon.]
1130 1999-06-18 Jukka-Pekka Iivonen <iivonen@iki.fi>
1132 * samples/dbfuns.xls: Added new file for database functions.
1134 * samples/mathfuns.xls: Added MDETERM test.
1136 * samples/statfuns.xls: Added AVERAGEA, MINA, MAXA, ... tests.
1138 1999-06-17 Morten Welinder <terra@diku.dk>
1140 * src/fn-stat.c (gnumeric_count): Make non-strict and ignore cells
1143 * src/fn-logical.c (gnumeric_or, gnumeric_and): Make strict!.
1145 * src/func.c (IterateCallbackClosure): Add strict member.
1146 (iterate_cellrange_callback): Handle strict and non-strict case.
1147 (function_iterate_argument_values): New argument, strict. All
1148 callers changed. Initialise error_string always. Handle strict
1149 and non-strict case.
1150 (function_iterate_do_value): New argument, strict. Handle strict
1151 and non-strict case. All callers changed.
1153 1999-06-18 Michael Meeks <michael@edenproject.org>
1155 * src/main.c (gnumeric_main): Add xbase_init
1157 * src/Makefile.am (gnumeric_LDADD): Add xbase.
1159 * configure.in (XML_CFLAGS): Added xbase.
1161 * plugins/Makefile.am (SUBDIRS): Added xbase.
1163 1999-06-17 Morten Welinder <terra@diku.dk>
1165 * src/expr.c (eval_expr): Fix error handling of comparisons.
1167 * src/expr.c (expr_tree_new_constant): New function.
1168 (expr_tree_new_unary): New function.
1169 (expr_tree_new_binary): New function.
1170 (expr_tree_new_funcall): New function.
1171 (expr_tree_new_var): New function.
1172 (expr_tree_new_error): Renamed from build_error_string, made
1173 public, and simplified. All callers changed.
1174 (do_expr_tree_invalidate_references): Simplify.
1175 (do_expr_tree_fixup_references): Ditto.
1176 (eval_expr): Simplify.
1177 (expr_tree_new): Obsolete.
1179 * src/func.c (constants_init): Simplify.
1181 * src/main.c (gnumeric_main): Call style_shutdown.
1183 * src/style.c (style_shutdown): New function.
1185 * src/expr.h: Avoid using bitfields here. They are slow and
1186 confuse tools like Purify. And used like this they don't save any
1189 * src/complex.c: Fix includes.
1191 * src/fn-eng.c (gnumeric_impower): Use new complex_pow.
1192 (callback_function_imoper): Benefit from new and more intuitive
1193 behavoiur of complex_mul and complex_add.
1195 * src/complex.h (complex_mod): Use hypot for better precision.
1196 (complex_*): Use complex_init when possible. (This means that the
1197 output can be the same as one of the inputs without any trouble.)
1198 (complex_pow): New function.
1200 1999-06-17 Jukka-Pekka Iivonen <iivonen@iki.fi>
1202 * src/fn-stat.c (gnumeric_percentrank): Interpolation and rounding
1205 1999-06-17 Jukka-Pekka Iivonen <iivonen@iki.fi>
1207 * src/fn-eng.c (gnumeric_erf): ERF() changed back to the previous
1208 form. Negative arguments are wrong.
1210 1999-06-16 Morten Welinder <terra@diku.dk>
1212 * src/complex.h, src/complex.c: New files.
1214 * src/fn-eng.c: Use complex.c; improve precision, fix a few bugs,
1215 plug a few leaks, add a few functions, and generally be merry.
1217 * src/Makefile.am (GNUMERIC_BASE_SOURCES): Add complex.c and
1220 1999-06-16 Jukka-Pekka Iivonen <iivonen@iki.fi>
1222 * samples/finfuns.xls: A new file for financial functions.
1224 * samples/engfuns.xls: A new file for engineering functions.
1226 * samples/mathfuns.xls: COMBIN and FACT fixed.
1228 * samples/statfuns.xls: Accuracy dropped again.
1230 1999-06-16 Morten Welinder <terra@diku.dk>
1232 * src/workbook.c (workbook_feedback_set): Block the "clicked"
1233 handlers when we are just setting the feedback.
1235 1999-06-16 Jukka-Pekka Iivonen <iivonen@iki.fi>
1237 * src/fn-math.c (gnumeric_gcd): Made GCD() to take variable number
1240 * src/fn-stat.c (gnumeric_rank): RANK() fixed.
1242 * src/fn-eng.c (gnumeric_erf): ERF() fixed to return negative
1243 results if the argument is negative too like in Excel.
1245 * srg/fn-eng.c (get_real_and_imaginary): Added a branch for empty
1248 * src/fn-eng.c (gnumeric_improduct, gnumeric_imsum): Made IMSUM()
1249 and IMPRODUCT() to take variable number of arguments.
1251 1999-06-15 Morten Welinder <terra@diku.dk>
1253 * src/style.c (style_font_new_simple): Plug leak.
1255 * src/cell.c (cell_set_formula_tree_simple): Ref before unref,
1258 * src/fn-math.c (callback_function_criteria): Just collect the
1259 values, not (incorrectly) allocated pointers to them.
1260 (gnumeric_countif): Release the values. (Leak fix.)
1261 (gnumeric_sumif): Ditto.
1262 (gnumeric_countif): Plug leak.
1263 (gnumeric_sumif): Ditto.
1264 (gnumeric_seriessum): Plug three leaks.
1265 (gnumeric_subtotal): Plug leaks and fix error handling.
1267 * src/style.c (style_font_new_simple): Fix memory access problem.
1269 * src/style.c (font_init): Rework. (Work in progress. Things
1270 should work ok, but will become even better.)
1271 (style_font_new_simple): Revert to loading a font, not a fontset.
1273 * src/gnumeric-util.c (font_get_italic_name): Plug leak and unref
1275 (font_get_bold_name, font_get_italic_name): New parameter units.
1276 All callers changed.
1278 1999-06-15 Tomas Ogren <stric@ing.umu.se>
1280 * configure.in: Added sv
1282 1999-06-14 Morten Welinder <terra@diku.dk>
1284 * src/style.c (style_font_new_simple): Add negative caching.
1285 (DEFAULT_FONT): Don't have a complete wildcard here -- that might
1286 be a very weird font.
1288 * src/cell.c (cell_set_font_from_style): Mark font valid. Ref
1290 (cell_set_format_from_style): Mark format valid. Ref before
1293 * src/gnumeric-util.c (font_get_italic_name): Plug leak.
1294 (font_change_component): Constify. Handle fontsets.
1296 1999-06-14 Morten Welinder <terra@diku.dk>
1298 * src/fn-math.c (gnumeric_floor): Add significance argument.
1300 * src/fn-math.c (callback_function_seriessum): Simplify.
1301 (gnumeric_seriessum): Don't round x, n, and m to integers. Fix
1304 * src/fn-math.c (pow10): New function.
1305 (gnumeric_rounddown): Simplify and correct.
1306 (gnumeric_round): Ditto.
1307 (gnumeric_roundup): Ditto.
1308 (gnumeric_trunc): Ditto.
1309 (gnumeric_fact): Improve precision. Extend domain to all positive
1311 (gnumeric_factdouble): Use float_t instead of int.
1312 (gnumeric_atan2): Swap args to atan2.
1314 1999-06-13 Morten Welinder <terra@diku.dk>
1316 * src/style.c (DEFAULT_FONT): Add extra font in the hope of curing
1318 (font_init): Shine up error message and avoid core dump.
1320 * src/gnumeric-sheet.c (gnumeric_sheet_stop_cell_selection):
1321 Temporary patch for refcounts until Miguel can fixup things.
1322 (destroy_item_editor): Ditto.
1324 * src/fn-financial.c: s/double/float_t/;
1325 (calculate_pvif, calculate_pvifa, calculate_fvif, calculate_fvifa,
1326 calculate_principal, calculate_pmt): Make static.
1327 (callback_function_npv): Simplify and truly ignore strings.
1328 (gnumeric_duration): More error checks.
1329 (gnumeric_nper): Ditto.
1330 (gnumeric_syd): Ditto.
1331 (gnumeric_sln): Ditto.
1332 (gnumeric_pv): Ditto.
1333 (gnumeric_fv): Ditto.
1335 * src/fn-information.c: Prune includes.
1336 * src/fn-string.c: Ditto.
1337 * src/fn-sheet.c: Ditto.
1338 * src/fn-misc.c: Ditto.
1339 * src/fn-financial.c: Ditto.
1340 * src/fn-date.c: Ditto.
1341 * src/fn-database.c: Ditto.
1342 * src/fn-lookup.c: Ditto.
1343 * src/fn-stat.c: Ditto.
1344 * src/fn-math.c: Ditto.
1345 * src/fn-logical.c: Ditto.
1347 * src/cell.h: Fix includes.
1349 * src/fn-information.c (gnumeric_isblank): Return boolean.
1350 (gnumeric_iseven): Ditto.
1351 (gnumeric_islogical): Ditto.
1352 (gnumeric_isnontext): Ditto.
1353 (gnumeric_isnumber): Ditto.
1354 (gnumeric_isodd): Ditto.
1355 (gnumeric_isref): Ditto.
1356 (gnumeric_istext): Ditto.
1357 (gnumeric_n): Ditto.
1359 * src/expr.c (value_new_bool): New function.
1360 (eval_expr): Return boolean Values.
1362 * src/fn-misc.c (gnumeric_iserr, gnumeric_iserror, gnumeric_isna):
1365 * src/fn-logical.c (callback_function_and): Simplify.
1366 (callback_function_or): Ditto.
1367 (gnumeric_and): Simplify and return boolean Values.
1368 (gnumeric_not): Ditto.
1369 (gnumeric_if): Fix error case. Simplify.
1371 * src/cell.c (cell_comment_destroy): Free realized_list.
1373 * fn-*.c: Use new standard error variables.
1375 1999-06-12 Jody Goldberg <jgoldberg@home.com>
1377 * src/expr.h : Declare new standard error constants to avoid
1378 spelling problems and typos.
1379 * src/expr.c, src/func.c, src/fn-math.c : Use and define them.
1380 * src/fn-misc.c : First pass at finishing off error functions.
1381 * src/fn-information.c : Provide stubs for the rest of the
1382 information functions.
1384 1999-06-12 Miguel de Icaza <miguel@gnu.org>
1386 * src/dialog-cell-comment.c (dialog_cell_comment): Process the
1387 return value from gnome_dialog_run correctly as well. (ie we
1388 should catch the return value -1 as the "user closed dialog box"
1389 message and avoid destroying the dialog box ourselves).
1391 * src/item-grid.c (context_paste_special_cmd): Handle a cancel
1392 operation from the dialog_paste_special dialog box.
1394 * src/dialog-paste-special.c (dialog_paste_special): Hanlde the
1395 case in which the window manager closed the dialog box.
1397 * src/cell.c (cell_comment_destroy): Changed invocation from
1398 gtk_object_destroy to gtk_object_unref.
1399 (cell_comment_unrealize): ditto.
1400 (cell_comment_clicked): ditto.
1401 * src/dialog-cell-sort.c (dialog_cell_sort): ditto.
1402 * src/dialog-function-select.c (dialog_function_select): ditto
1403 * src/dialog-function-wizard.c (dialog_function_wizard): ditto
1404 * src/dialog-paste-special.c (dialog_paste_special): ditto
1405 * src/dialog-solver.c (constr_add_click): ditto.
1406 (constr_add_click): ditto
1407 (dialog_solver_options): ditto
1408 * src/gnumeric-sheet.c (gnumeric_sheet_stop_cell_selection): ditto
1409 (destroy_item_editor): ditto.
1410 (gnumeric_sheet_key_mode_object): ditto, and clear the pointer to
1412 * src/sheet-object-container.c (sheet_object_container_destroy): ditto.
1413 * src/item-cursor.c (item_cursor_drag_event): ditto.
1414 (item_cursor_autofill_event): ditto
1415 * src/item-bar.c (item_bar_event): ditto
1416 * src/workbook.c (workbook_setup_auto_calc): ditto.
1417 * src/widget-editable-label.c (el_stop_editing): ditto
1418 * src/sheet-object.c (sheet_object_destroy): ditto
1419 (sheet_view_object_unrealize): ditto
1420 (sheet_object_destroy_control_points): ditto
1421 * src/sheet-view.c (sheet_view_destroy): ditto
1423 1999-06-10 Miguel de Icaza <miguel@gnu.org>
1425 * src/pattern-selector.c (pattern_selector_init): Use the GNOME
1426 canvas fill_stipple feature instead of using the hack of creating
1427 the bitmap and setting the stipple on the realize handler.
1429 1999-06-01 Miguel de Icaza <miguel@nuclecu.unam.mx>
1431 * po/hr.po: Added croat translation from Vladimir Vuksan
1432 <vuksan@cs.unm.edu>.
1434 1999-06-13 Jukka-Pekka Iivonen <iivonen@iki.fi>
1436 * samples/mathfuns.xls: New test file for math functions.
1438 * samples/statfuns.xls: Accuracy dropped to 1e-5 (since Excel is
1439 not as accurate as Gnumeric). Also the total number of functions
1440 in the test output fixed.
1442 1999-06-12 Morten Welinder <terra@diku.dk>
1444 * src/fn-string.c: Use value_new_string where appropriate.
1445 (gnumeric_clean): Use unsigned chars.
1446 (gnumeric_t): Speed improvement.
1448 * src/file.c (workbook_read): After a workbook has been read, it
1449 is to be considered "clean", i.e., unchanged.
1451 * src/number-match.c (print_regex_error): Add a few missing breaks.
1453 * src/utils.c (gnumeric_strcase_hash): Use unsigned chars.
1454 (col_from_name): Ditto.
1456 * src/format.c (append_year): Ditto.
1457 (append_month): Ditto.
1458 (append_hour): Ditto.
1459 (append_day): Ditto.
1460 (append_minute): Ditto.
1461 (append_second): Ditto.
1462 (pre_parse_format): Ditto.
1464 * src/number-match.c (format_create_regexp): Ditto.
1466 * src/fn-string.c (gnumeric_lower): Use g_strdup to match g_free.
1467 (gnumeric_upper): Ditto.
1468 (gnumeric_lower): Use unsigned chars. (This fixes problems with
1469 non-English letters.)
1470 (gnumeric_upper): Ditto.
1471 (gnumeric_proper): Ditto. Operate on a _copy_ of the string, not
1472 the source string itself!
1474 1999-06-10 Morten Welinder <terra@diku.dk>
1476 * src/parser.y (return_cellref): Surprise: isdigit and friends
1477 take unsigned chars (effectively). The results are *undefined*
1478 (and weird) for signed chars.
1481 * src/fn-string.c (gnumeric_proper): Ditto.
1483 * src/utils.c (parse_cell_name): Ditto.
1485 * src/sheet-autofill.c (string_has_number): Ditto.
1486 (autofill_cell): Ditto.
1488 * src/cell.c (cell_set_text_simple): Ditto. Also fix long/int
1491 1999-06-10 James Henstridge <james@daa.com.au>
1493 * src/main.c (gnumeric_main): changed call to glade_init() to a call
1494 to glade_gnome_init(), so that gnome widget building routines get
1495 initialised correctly.
1497 1999-06-09 Morten Welinder <terra@diku.dk>
1499 * src/xml-io.c: Fix major thinko in writing fonts. (The name hash
1500 table was used to look up a font, which always failed since keys
1501 are names in that hash.)
1503 1999-06-09 Nat Friedman <nat@gnome-support.com>
1505 * src/sheet-view.c (sheet_view_insert_object): Commented out call
1506 to gnome_bonobo_object_new_view since the API changed and this
1507 function doesn't do anything anyways.
1509 * src/sheet-object-container.c: Include gnome-component-client.h
1511 (sheet_object_container_land): Pass soc->client_site to
1512 gnome_bonobo_object_new_view. Get the view wrapper widget from
1514 (sheet_object_container_realize): Likewise.
1516 1999-06-09 Morten Welinder <terra@diku.dk>
1518 * src/workbook.c (insert_at_cursor): Use cell_set_value instead of
1519 cell_set_text. Constify. Accept a Value *, not a double. All
1522 1999-06-08 Morten Welinder <terra@diku.dk>
1524 * src/fn-date.c (gnumeric_days360): Get it right, I hope.
1526 * src/xml-io.c (xmlGetDoubleValue): Improve precision.
1527 (xmlGetCoordinate): Ditto.
1528 (xmlGetGnomeCanvasPoints): Ditto.
1530 * src/fn-math.c (gnumeric_fact): s/float/float_t/
1532 * src/fn-date.c: Fix types of most functions. (We really need a
1533 way of saying "scalar".)
1534 (get_serial_date): New helper function.
1535 (get_serial_time): Ditto.
1536 (gnumeric_hour): Use get_serial_time.
1537 (gnumeric_minute): Ditto.
1538 (gnumeric_second): Ditto.
1539 (gnumeric_year): Use get_serial_date.
1540 (gnumeric_month): Ditto.
1541 (gnumeric_day): Ditto.
1542 (gnumeric_weekday): Ditto.
1543 (gnumeric_datevalue): Ditto.
1544 (gnumeric_timevalue): Implement using get_serial_time.
1545 (gnumeric_days360): Pretty good first cut.
1547 * src/parser.y (yylex): Allow dots inside a function name.
1549 * src/fn-misc.c (gnumeric_error_type): New function.
1551 1999-06-08 David Chan <dpc29@hermes.cam.ac.uk>
1553 * src/fn-math.c (gcd): Correct.
1555 1999-06-08 Morten Welinder <terra@diku.dk>
1557 * src/file.c (workbook_read): Temporarily switch to "C" locale
1558 when loading and saving. [Take 2.]
1559 (workbook_save_as): Ditto.
1560 (workbook_save): Ditto.
1562 1999-06-06 Michael Meeks <michael@edenproject.org>
1564 * src/expr.c (value_area_get_at_x_y): Add vital check for
1565 forthcoming name stuff.
1567 1999-06-03 Morten Welinder <terra@diku.dk>
1569 * src/item-bar.c (item_bar_event): Handle zoom.
1570 (item_bar_get_line_points): Handle zoom.
1571 (item_bar_start_resize): Handle zoom better.
1572 (get_col_name): Delete. Use col_name instead.
1573 (bar_draw_cell): Constify.
1575 * src/item-bar.h (ItemBar): Delete member resize_guide_offset.
1577 1999-06-02 Morten Welinder <terra@diku.dk>
1579 * src/fn-date.c (gnumeric_days360): New (unimplemented) function.
1581 * src/fn-date.c (gnumeric_year_month_day): Delete.
1582 (gnumeric_day, gnumeric_month, gnumeric_year): New functions.
1583 (gnumeric_hour_min_sec): Delete.
1584 (gnumeric_hour, gnumeric_minute, gnumeric_second): New functions.
1585 (gnumeric_weekday): New function.
1586 (gnumeric_date): Handle two-digit years. Check this, please.
1587 (gnumeric_timevalue): New function. (Untested -- Excel plugin
1588 does not handle it yet.)
1590 * src/utils.c (g_date_serial): Deal with 19000229.
1591 (g_date_new_serial): Ditto.
1593 * samples/datefuns.xls: New file from Nick Lamb.
1595 * src/eval.c (workbook_recalc): If a cell has already been
1596 computed, do not redo it. This should speed up things.
1597 (cell_queue_recalc): Delete useless cast.
1598 (cell_unqueue_from_recalc): Ditto.
1599 (cell_queue_recalc_list): Ditto.
1600 (cell_queue_recalc_list): Extra parameter freelist controls
1601 whether list is freed. All callers changed.
1602 (workbook_recalc_all): Use cell_queue_recalc_list.
1604 * src/dialog-goal-seek.c (goal_seek_eval): Properly reevaluate.
1606 * src/expr.c (eval_expr): Only evaluate references cells when they
1607 are queued for recalculation.
1609 * src/func.c (iterate_cellrange_callback): Ditto.
1611 * src/fn-math.c (gnumeric_lcm): Remove useless (Sheet *) cast.
1613 * src/fn-information.c (gnumeric_countblank): Ditto.
1615 * src/fn-database.c (find_column_of_field): Ditto.
1616 (parse_database_criteria): Ditto.
1617 (find_cells_that_match): Ditto.
1619 * src/cell.c (cell_comment_realize): Ditto.
1621 1999-06-02 Michael Meeks <michael@edenproject.org>
1623 * src/expr.c (do_expr_decode_tree): Added ARRAY support.
1625 1999-06-01 Morten Welinder <terra@diku.dk>
1627 * src/format.c (format_value): Mark format for translation.
1628 (format_number): Locale improvements.
1630 * src/parser.y (yylex): Translate locale's decimal point into a
1632 (gnumeric_expr_parser): Extract locale's decimal point.
1634 1999-06-01 Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
1636 * src/gnumeric-util.c (font_change_component): Extend the size of
1637 the array components[] so that it can handle very long fontset
1640 * src/style.c: Change the default font names.
1642 * src/workbook.c: Add gtk_widget_ensure_style() call, which is
1643 necessary to knowing if a fontset is supplied for the label
1646 1999-06-01 Morten Welinder <terra@diku.dk>
1648 * src/fn-stat.c (callback_function_trimmean): Cleanup.
1649 (gnumeric_large): Fix conditional. Thanks to Nick Lamb.
1650 (gnumeric_small): Ditto.
1652 1999-06-01 Morten Welinder <terra@diku.dk>
1654 * src/fn-stat.c (gnumeric_skew): Fix crashes and leaks.
1655 (gnumeric_covar): Ditto.
1656 (gnumeric_rsq): Ditto.
1657 (gnumeric_pearson): Ditto.
1658 (gnumeric_correl): Ditto.
1659 (gnumeric_avedev): Ditto.
1661 (gnumeric_stdev): Don't make assumptions of the type of VAR.
1662 (gnumeric_stdevp): Ditto.
1663 (gnumeric_stdeva): Ditto.
1664 (gnumeric_stdevpa): Ditto.
1666 (callback_function_covar): Simplify greatly.
1667 (callback_function_correl): Ditto.
1668 (callback_function_stat_avedev_sum): Ditto.
1669 (callback_function_skew_sum): Ditto. Also improve precision.
1670 (callback_function_rank): Ditto.
1671 (callback_function_trimmean): Ditto.
1672 (callback_function_mode): Ditto.
1673 (callback_function_stat_prod): Ditto.
1674 (callback_function_count): Ditto.
1675 (callback_function_kurt_sum): Ditto.
1676 (callback_function_ztest): Ditto.
1677 (callback_function_list): Ditto.
1678 (callback_function_percentrank): Ditto.
1679 (gnumeric_skew): Handle zero stddev.
1681 * src/expr.c (eval_cell_value): Delete. Use value_duplicate
1683 (eval_funcall): Fix memory corruption on error. Fix serious leak.
1684 (free_values): Only free non-NULLs.
1686 1999-06-01 Miguel de Icaza <miguel@nuclecu.unam.mx>
1688 * src/file.c (dialog_query_load_file):
1689 (workbook_save_as): Prettify these. Thanks to Andrew for pointing
1692 1999-06-01 Morten Welinder <terra@diku.dk>
1694 * src/fn-stat.c (gnumeric_kurt): Fix crashes and leaks.
1696 1999-06-01 Jukka-Pekka Iivonen <iivonen@iki.fi>
1698 * src/fn-string.c: Added SEARCH(). Quite a complex beast but
1699 should work completely.
1701 1999-06-01 Morten Welinder <terra@diku.dk>
1703 * src/fn-stat.c (gnumeric_confidence): Fix sign.
1704 (gnumeric_devsq): Simplify and correct.
1706 * src/file.c: undo last change. (The operation succeeded, but the
1709 1999-05-31 Matt Loper <matt@gnome-support.com>
1711 * src/sheet-view.c: Because GNOME::Component was renamed to
1712 GNOME::BonoboObject, some bonobo function call names needed to be
1713 changed here (ex. gnome_component_new_view to
1714 gnome_bonobo_object_new_view).
1716 * src/sheet-object-container.c (sheet_object_container_land):
1718 (sheet_object_container_realize): likewise.
1720 1999-05-31 Jukka-Pekka Iivonen <iivonen@iki.fi>
1722 * src/fn-lookup.c: Added ADDRESS(). Cleaned up too long lines.
1724 1999-05-28 Morten Welinder <terra@diku.dk>
1726 * src/file.c (workbook_read): Temporarily switch to "C" locale
1727 when loading and saving. I am not sure this is the right thing to
1728 do, but until someone finds a better way, it will work fine.
1729 (workbook_save_as): Ditto.
1730 (workbook_save): Ditto.
1732 * src/fn-math.c (gnumeric_power): Fix domain.
1734 1999-05-27 Morten Welinder <terra@diku.dk>
1736 * src/expr.c (value_get_as_string): Improve precision -- this
1737 impacts the results of saves.
1739 1999-05-27 Morten Welinder <terra@diku.dk>
1741 * src/fn-stat.c (callback_function_mode): Ignore strings as
1743 (callback_function_stat_inv_sum): Ditto.
1744 (callback_function_rank): Ditto.
1745 (callback_function_trimmean): Ditto.
1746 (callback_function_covar): Ditto.
1747 (callback_function_correl): Ditto.
1748 (callback_function_stat_prod): Ditto.
1749 (callback_function_skew_sum): Ditto.
1750 (callback_function_kurt_sum): Ditto.
1751 (callback_function_stat_avedev_sum): Ditto.
1752 (callback_function_devsq_sum): Ditto.
1753 (callback_function_median): Ditto.
1754 (gnumeric_tinv): Fix meaning.
1755 (callback_function_count): Cleanup.
1756 (callback_function_stat_inv_sum): Ditto. Also fix error case.
1757 (gnumeric_normdist): Simplify using dnorm.
1758 (gnumeric_gammadist): Use dgamma.
1760 * src/mathfunc.c (dgamma): New function from R.
1762 1999-05-27 Jukka-Pekka Iivonen <iivonen@iki.fi>
1764 * src/fn-stat.c: Added BETAINV() and CHITEST(). Added optional
1765 parameters A and B to BETADIST(). Implemented non-cumulative case
1766 of NORMDIST(). Implemented cumulative case of POISSON(). Fixed
1767 CHIDIST(), CHIINV(), FDIST(), FINV(), and TDIST() to return the
1768 complement of the probablity. It looks like TINV() is still
1769 broken after file restructurations.
1771 1999-05-26 Morten Welinder <terra@diku.dk>
1773 * src/sheet-view.h: Include fix.
1775 * src/style.h: Include fix.
1777 * src/symbol.c (symbol_table_new): Use gnumeric_strcase_equal and
1778 gnumeric_strcase_hash.
1779 (g_strcase_equal): Delete.
1780 (g_strcase_hash): Delete.
1782 * src/eval.c (dependency_equal): Constify.
1784 * src/sheet.c (cell_hash): Constify.
1785 (cell_compare): Ditto.
1788 1999-05-26 Michael Meeks <michael@imaginator.com>
1790 * src/file.c (file_saver_is_default_format): Fixed bug causing
1791 incorrect format to be displayed.
1792 (fill_save_menu): Wait until we have populated the option menu
1793 before setting the current item.
1794 (make_format_chooser): Move some code into file_save_menu.
1796 * src/xml-io.c (writeXmlSheetTo): Removed,
1797 (writeXmlWorkbook): Use the order workbook_sheets list.
1799 * src/workbook.c (cb_workbook_sheets): Commented out
1800 (workbook_sheets): Get sheets in order from notebook tabs.
1802 1999-05-25 Morten Welinder <terra@diku.dk>
1804 * src/mathfunc.c, src/mathfunc.h: New files, mostly taken from the
1805 R package. (It's a GPL'ed gold mine.)
1807 * src/*.c: Use <math.h>, not "math.h".
1809 * src/utils.c (random_normal): Use qnorm, not inv_phi.
1811 * src/fn-stat.c: Move all R code to mathfunc.c
1812 Change all uses to phi to pnorm.
1813 (gnumeric_normsinv): Use qnorm.
1814 (gnumeric_confidence): Use qnorm.
1815 (normsinv): Superseded by qnorm.
1816 (help_lognormdist): Fix.
1817 (gnumeric_lognormdist): Fix domain.
1818 (gnumeric_lognormdist): Use plnorm.
1819 (gnumeric_loginv): Use qlnorm.
1820 (gnumeric_norminv): Use qnorm.
1821 (gnumeric_tinv): Use qt.
1822 (gnumeric_fdist): Use qf.
1823 (gnumeric_gammainv): Use qgamma.
1824 (gnumeric_chiinv): Use qchisq.
1826 * src/Makefile.am (GNUMERIC_BASE_SOURCES): Add mathfunc.c and
1829 1999-05-25 Morten Welinder <terra@diku.dk>
1831 * src/fn-string.c (gnumeric_code): Handle compilers for which the
1832 "char" type is signed.
1834 * src/utils.c (parse_cell_name): Don't use isalpha which is
1835 subject to locale. (So is toupper, but the effects are ok.)
1836 Move bounds check to handle overflow also.
1837 (col_from_name): Don't use isalpha.
1839 * src/fn-stat.c: Eliminate fmin2 and fmax2.
1841 * src/fn-math.c (gnumeric_randbetween): Use random_01.
1842 (gnumeric_rand): Ditto.
1844 * src/utils.c (random_01): Function moved from goal-seek.c and
1846 (random_normal): Function moved from goal-seek.c.
1848 * configure.in: Check for a few ways of getting random numbers.
1850 1999-05-23 Miguel de Icaza <miguel@nuclecu.unam.mx>
1852 * src/file.c (workbook_save_as): Handle the window closing by the
1853 window manager here.
1854 (dialog_query_load_file): And here.
1856 * src/dialog-zoom.c (dialog_zoom): Handle window manager close
1857 here (it comes in the form of return value being NULL).
1859 * src/dialog-insert-cells.c (dialog_insert_cells): ditto.
1861 * src/dialog-delete-cells.c (dialog_delete_cells): ditto.
1863 1999-05-24 Morten Welinder <terra@diku.dk>
1865 * src/workbook.c (workbook_fixup_references): Set formula
1866 directly, not via text strings. (This actually fixes a bug with
1867 insertion of columns/rows where we modify the cells before we
1868 restructure the sheet.) It's much faster and cleaner too.
1869 (workbook_invalidate_references): Ditto.
1871 1999-05-23 Morten Welinder <terra@diku.dk>
1873 * src/gnumeric-sheet.c (gnumeric_sheet_cursor_set): Make the
1874 scroll bar reflect the top-left corner's position. This feels
1876 (gnumeric_sheet_set_top_col): Compute visible ranges; do nothing
1877 until things change.
1878 (gnumeric_sheet_set_top_row): Ditto.
1880 * src/dialog-goal-seek.c (gnumeric_goal_seek): Use
1881 goal_seek_initialise.
1882 (gnumeric_goal_seek): Trawl heavier and earlier in the middle.
1883 (dialog_goal_seek): downcase a stray uppercase letter.
1885 * src/goal-seek.c (goal_seek_initialise): New function.
1887 1999-05-23 Morten Welinder <terra@diku.dk>
1889 * src/dialog-goal-seek.c: redesign non-gui part.
1890 (dialog_goal_seek): Added entries for xmin and xmax.
1892 * src/goal-seek.h: New file.
1894 * src/goal-seek.c: New file.
1896 * src/Makefile.am (GNUMERIC_BASE_SOURCES): Add goal-seek.c and
1899 1999-05-22 Morten Welinder <terra@diku.dk>
1901 * src/fn-financial.c (gnumeric_pv): Revert last chance. (Bogosity
1904 1999-05-22 Morten Welinder <terra@diku.dk>
1906 * src/sheet.c (sheet_selection_to_string): Delete unused variable
1909 * src/sheet-view.c (horizontal_scroll_event): Delete unused
1910 variable "distance".
1911 (vertical_scroll_event): Delete unused variable "distance".
1913 * src/sheet-object.c (control_point_handle_event): Delete unused
1914 variables "ll" and "object_item".
1916 * src/widget-editable-label.c (editable_label_set_text): Delete
1917 unused variable "item_text".
1919 * src/fn-string.c (gnumeric_replace): Delete unused variable "p".
1921 * src/fn-eng.c (get_real_and_imaginary): Delete unused variables
1924 * src/sheet-object-graphic.c (sheet_object_filled_update): Delete
1925 unused variables "x1", "x2", "y1", and "y2".
1927 * src/fn-stat.c (gnumeric_harmean): Delete unused variable "ans".
1928 (gnumeric_geomean): Delete unused variable "ans".
1929 (gnumeric_avedev): Delete unused variable "ans".
1930 (gnumeric_large): Delete unused variable "count".
1931 (gnumeric_small): Delete unused variable "count".
1933 * src/parser.y (make_string_return): Delete unused variable "type".
1935 * src/workbook.c (cb_sheet_check_dirty): Delete unused variable
1937 (workbook_focus_sheet): Delete unused variable "sheet_view".
1938 (workbook_selection_to_string): Delete unused variable "str".
1940 * src/fn-date.c (gnumeric_datevalue): Delete unused variables
1941 "year", "month", and "day".
1942 (gnumeric_edate): Delete unused variables "year", "month", and
1945 * src/dialog-cell-format.c (apply_coloring_format): Delete unused
1948 * src/dialog-solver.c: Delete unused variable "paste_types".
1950 * src/xml-io.c (xmlGetFloatValue): Delete unused variable "child".
1951 (xmlGetDoubleValue): Delete unused variable "child".
1952 (xmlGetCoordinate): Delete unused variable "child".
1953 (xmlGetGnomeCanvasPoints): Delete unused variable "child".
1954 (xmlGetColorValue): Delete unused variable "child".
1955 (xmlGetCoordinates): Delete unused variable "child".
1956 (xmlGetCoordinates): Delete unused variables "X1", "Y1", "X2", and
1959 * src/sheet-object-graphic.c (sheet_object_graphic_update): Delete
1960 unused variable "sog".
1962 * src/cell.c (cell_set_value_simple): Delete unused variable "lconv".
1963 (cell_set_text_simple): Delete unused variable "lconv".
1964 (cell_draw): Delete unused variable "white_gc".
1965 (cell_get_text): Delete unused variable "sheet".
1967 * src/ranges.c (range_list_parse): Delete unused variable "range".
1968 (range_set_style): Delete unused variables "col" and "row".
1970 * src/dialog-solver.c (dialog_solver_options): Delete unused
1973 * src/eval.c (search_cell_deps): Delete unused variables "inters"
1976 * src/dialog-cell-sort.c (dialog_cell_sort): Delete unused
1979 * src/fn-database.c (find_cells_that_match): Delete unused
1980 variable "new_item".
1982 * src/func.c (function_iterate_do_value): Delete unused variable
1985 * src/fn-lookup.c (gnumeric_lookup): Delete unused variables "v1"
1987 (lookup_functions): Use correct help variable
1990 * src/dialog-function-select.c (function_select_create): Delete
1991 unused variable "hadj".
1993 * src/main.c (gnumeric_main): Delete unused variable.
1995 * src/dialog-function-wizard.c (function_type_input): Remove
1997 (get_text_value): Ditto.
1998 (arg_data_list_destroy): Comment out -- not used.
2000 * src/fn-financial.c (gnumeric_pv): Fix sign error. Something is
2001 entirely bogus in this file.
2003 * src/ranges.h: Fix includes.
2005 * src/pattern-selector.h (PATTERN_SELECTOR_CLASS): Bogosity fixed;
2006 macro not used, though.
2008 * src/workbook.c (sheet_action_delete_sheet): Grammar fix.
2010 * src/sheet.c (sheet_verify_selection_simple): Grammar fix.
2012 * src/file.c (file_priority_sort): Constify.
2013 (file_format_register_open): Make description parameter const.
2014 (file_format_register_save): Ditto.
2015 (file_format_unregister_open): Plug leak.
2016 (file_format_unregister_save): Ditto.
2017 (workbook_save_as): Grammar fix.
2019 * src/about.c (dialog_about): Fix URL.
2021 1999-05-22 Morten Welinder <terra@diku.dk>
2023 * src/sheet.c (sheet_set_text): Use General format for all numbers
2024 in standard format. (In particular, don't create a sticky "0" format
2025 whenever an integer is entered.)
2027 * src/format.c (format_number): Constify.
2028 (append_minute): Ditto.
2029 (append_day): Ditto.
2030 (append_hour): Ditto.
2031 (append_month): Ditto.
2032 (append_year): Ditto.
2033 (append_second): Ditto.
2034 (check_valid): Ditto.
2035 (append_half): Ditto.
2036 (lookup_color): Ditto.
2037 (render_number): Ditto.
2038 (format_value): Ditto.
2040 * src/expr.c (do_expr_decode_tree): Handle negative numbers, just
2043 1999-05-21 Morten Welinder <terra@diku.dk>
2045 * src/sheet-autofill.c (autofill_cell): Add FIXME.
2047 * src/sheet.h (IS_SHEET): Remove cast.
2049 * src/expr.h: Delete expr_tree_relocate.
2051 * src/expr.c (fixup_calc_new_cellref): New function.
2052 (do_expr_tree_fixup_references): Simplify using
2053 fixup_calc_new_cellref.
2054 (do_expr_tree_relocate): Delete.
2055 (expr_tree_relocate): Delete.
2057 * src/sheet.c (sheet_cell_formula_link): Add debug code.
2058 (sheet_insert_col, sheet_delete_col, sheet_insert_row,
2059 sheet_delete_row): Do fixups early.
2061 * src/cell.c (cell_relocate): Don't relocate cell -- fixup handles
2064 * src/color.c (gs_white, gs_black, gs_light_gray, gs_dark_gray,
2065 gs_red): Moved from src/gnumeric-sheet.c.
2066 (gnumeric_color_context): make static.
2068 1999-05-21 Jukka-Pekka Iivonen <iivonen@iki.fi>
2070 * src/fn-stat.c: PERCENTRANK() added.
2072 * src/func.[ch]: function_iterate_do_value made public.
2074 1999-05-21 Morten Welinder <terra@diku.dk>
2076 * configure.in: use AC_CHECK_HEADERS, not AC_CHECK_HEADER for the
2077 benefit of autoheader.
2079 1999-05-19 Michael Meeks <michael@imaginator.com>
2081 * src/fn-stat.c: Added 'static' to new non-global functions.
2083 * src/cell.c (cell_set_formula_tree_simple): Added
2084 missing sheet_cell_formula_unlink.
2086 1999-05-19 Jukka-Pekka Iivonen <iivonen@iki.fi>
2088 * src/fn-math.c: SERIESSUM(), SUBTOTAL() and SUMA() added.
2090 * src/fn-stat.c: SLOPE(), AVERAGEA(), MAXA(), MINA(), STDEVA(),
2091 STDEVPA(), VARA(), and VARPA() added.
2093 * src/fn-stat.c (gnumeric_counta, gnumeric_min, gnumeric_max,
2094 gnumeric_stdev, gnumeric_stdevp, gnumeric_var, gnumeric_varp):
2095 made public (used also in src/fn-math.c for now on).
2097 1999-05-19 Michael Meeks <michael@imaginator.com>
2099 * CHANGES: copied to web and blanked.
2101 1999-05-18 Miguel de Icaza <miguel@nuclecu.unam.mx>
2103 * src/corba-args.c (gnumeric_arg_parse): Initialize as a server.
2104 Thanks to Elliot for fixing this one.
2106 1999-05-17 Miguel de Icaza <miguel@nuclecu.unam.mx>
2108 * src/utils.c (parse_cell_name): Return false if the cell name is
2109 outside the boundaries of the spreadsheet.
2111 * src/corba-sheet.c (Sheet_range_set_text): Implement.
2112 (Sheet_range_set_formula): Implement.
2113 (Sheet_range_set_format): Implement.
2115 * src/ranges.c (range_parse, range_list_parse, range_list_destroy,
2116 range_list_foreach_full, range_list_foreach_all,
2117 range_list_foreach, range_set_style): New functions. Used by the
2120 * src/corba-sheet.c (Sheet_range_get_values): Implement
2121 vector-based result return.
2123 * src/xml-io.c (xmlSetGnomeCanvasPoints): use g_malloc instead of alloc.
2125 * src/dialog-solver.c (constr_add_click): Use g_malloc instead of
2126 alloc. Use g_new instead of malloc.
2128 * src/utils.c (parse_cell_name_list): Add parameter checking. Use Migueestyle.
2130 1999-05-16 Miguel de Icaza <miguel@nuclecu.unam.mx>
2132 * src/corba-workbook.c (Workbook_corba_class_init): Make it work
2133 with the new bonobo.
2135 1999-05-16 Raja R Harinath <harinath@cs.umn.edu>
2137 * src/Gnumeric.idl: Revert the following checkin:
2138 1999-05-13 Kjartan Maraas <kmaraas@online.no>.
2139 `gnome-object.idl' is part of `bonobo'.
2141 1999-05-16 Morten Welinder <terra@diku.dk>
2143 * src/expr.c (do_expr_tree_relocate): Change to use lazy copying
2144 scheme -- this should improve sharing. (Until someone saves and
2145 reloads, of course. More about that at a later time.)
2146 (expr_tree_invalidate_references): Quiet.
2147 (expr_tree_fixup_references): Quiet.
2149 * src/cell.c (cell_relocate): Only update if changed.
2151 * src/expr.c (evaluate_level): Deleted.
2152 (bigger_prec): Deleted.
2153 (do_expr_decode_tree): Handle left/right associativity.
2155 * src/cell.c (cell_set_text_simple): Simplify value parsing.
2157 * src/dialog-goal-seek.c (test_cell_with_value): Cast to double,
2160 1999-05-16 Michael Meeks <michael@imaginator.com>
2162 * src/workbook.c (cb_assemble_selection): Add 'char *sel'
2163 and change "," -> ','
2164 (workbook_selection_to_string): Add 'char *result'
2165 Fix incorrect pointer dereference.
2167 * src/sheet.c (reference_append): Fix appended strings to
2169 (sheet_selection_to_string): Add missing GList pointer
2170 'selections'. Changes ":" -> ':', rename res to 'info->result'
2172 1999-05-15 Heath Martin <martinh@pegasus.cc.ucf.edu>
2174 * src/gnumeric-sheet.c (gnumeric_sheet_compute_visible_ranges):
2175 Small cut and paste fix. Use row here instead of col.
2177 1999-05-13 Miguel de Icaza <miguel@nuclecu.unam.mx>
2179 * configure.in (ALL_LINGUAS): Added slovak language.
2181 1999-05-09 Miguel de Icaza <miguel@nuclecu.unam.mx>
2183 * src/sheet.c (sheet_selection_to_string): New routine. Returns a
2184 string representation of the current selection.
2186 * src/workbook.c (workbook_selection_to_string): New routine.
2187 Retunrs a string representation of the current selection.
2189 1999-05-08 Miguel de Icaza <miguel@nuclecu.unam.mx>
2191 * src/corba-workbook.c (corba_sheet): Fix.
2193 1999-05-16 Michael Meeks <michael@imaginator.com>
2195 * CHANGES: Added to ease burdern of creating accurate descriptions
2198 1999-05-15 Jukka-Pekka Iivonen <iivonen@iki.fi>
2200 * samples/statfuns.xls: Added a new file. It can be used for
2201 regression testing. It is in Excel format so it tests the Excel
2202 plugin's functionality in the same time too.
2204 1999-05-15 Michael Meeks <michael@imaginator.com>
2206 * src/file.c (file_format_register_save): Changed to append
2207 new types; works round bug in selection.
2209 * src/expr.c (eval_cell_value): Fix sillyness of top left
2212 * src/expr.h: Added const to value_dump
2214 * src/parser.y (value_dump): Fixed array problem.
2215 Added const to parameter.
2217 1999-05-15 Michael Meeks <michael@imaginator.com>
2219 * src/parser.c (value_dump): Updated Arrays, to use Value *
2221 * src/func.c (function_iterate_do_value): same.
2223 * src/fn-sheet.c (gnumeric_selection): same.
2225 * src/eval.c (add_value_deps): same.
2227 * src/expr.c (value_get_as_string): Major re-work of ARRAY
2229 (value_array_set): Fix rather embarassing bug in assertions.
2230 (eval_cell_value): Return top left corner of array, seems to be
2232 (value_release, value_array_set, value_array_new),
2233 (value_array_copy_to, value_array_resize):
2234 Updated value->v.array to Value *'s saves much hassle !
2236 1999-05-14 Michael Meeks <michael@imaginator.com>
2238 * src/expr.c (value_area_get_width, value_area_get_height):
2239 Clip to sheet bounds if CELLRANGE: Massive speedup on some
2242 * src/expr.h: Added value_zero
2244 * src/func.c (constants_init): Added a 'value_zero' constant
2245 to kill leak in out-of-range / NULL cell cases in value_get_at_x_y
2247 1999-05-14 Jukka-Pekka Iivonen <iivonen@iki.fi>
2249 * src/fn-math.c: Added LCM().
2251 1999-05-13 Kjartan Maraas <kmaraas@online.no>
2253 * src/Gnumeric.idl: s/#include <gnome-object.idl>/
2254 #include <GnomeObject.idl>, to make it compile.
2256 1999-05-13 Michael Meeks <michael@imaginator.com>
2258 * src/Gnumeric-impl.c: Fixes killing this file by
2261 1999-05-13 Michael Meeks <michael@imaginator.com>
2263 * src/expr.h: Updated all prototypes.
2266 s/\<value_float *(/value_new_float (/g
2267 s/\<value_int *(/value_new_int (/g
2268 s/\<value_str *(/value_new_string (/g
2269 s/\<value_string *(/value_get_as_string (/g
2270 s/\<value_cellrange *(/value_new_cellrange (/g
2271 s/\<value_get_as_double *(/value_get_as_float (/g
2272 s/\<value_get_bool *(/value_get_as_bool (/g
2274 * src/expr.c: Moved all pertainant Value functions to the
2275 same place to aid possible splitting.
2277 1999-05-13 Michael Meeks <michael@imaginator.com>
2279 * src/expr.c (value_area_get_at_x_y): Added warning
2282 * src/fn-lookup.c (gnumeric_lookup): Implemented.
2284 * src/func.h: Updated critera_test_fun_t: returns int,
2285 should really be gboolean ?
2287 * src/expr.h: Added prototype & indentation beautified.
2289 * src/expr.c (value_array_set): Helper function added.
2291 1999-05-13 Jukka-Pekka Iivonen <iivonen@iki.fi>
2293 * src/fn-math.c: Added GCD().
2295 1999-05-12 Michael Meeks <michael@imaginator.com>
2297 * src/workbook.c (workbook_setup_edit_area): Added dependancy
2298 debugging button for --debug=10 and fixed memory leak.
2299 (deps_output): Dumps dependency data to stdout.
2301 * src/gnumeric-util.c (range_contains): Re-order compares
2302 to catch single cell ranges more quickly.
2304 * src/eval.c (intersects): Change order of sheet / range check
2306 (search_cell_deps): Added comment.
2308 * src/eval.h: Cosmetic typo. fix shet -> sheet
2310 1999-05-12 Jukka-Pekka Iivonen <iivonen@iki.fi>
2312 * src/fn-database.c: Database functions accept now string
2313 criterias too. In addition, the parsing of criterias and the test
2314 functions are now public (src/fn-math.c uses these for now on).
2316 * src/func.h: Added type definitions and function prototypes for
2317 internal functions that parse and test criterias.
2319 * src/fn-math.c: Added LN(). Changed LOG() to take an optional
2320 second parameter. LOG() returns the logarithm in base 10 if the
2321 optional argument is not given, otherwise it returns the logarithm
2324 * src/fn-math.c: Added COUNTIF() and SUMIF().
2326 * src/fn-eng.c: Added IMLOG10() and IMLOG2().
2328 * src/fn-eng.c (complex_ln): Fixed a bug. Imaginary coefficient
2329 was calculated incorrectly.
2331 1999-05-11 Jukka-Pekka Iivonen <iivonen@iki.fi>
2333 * src/fn-eng.c: Added CONVERT(). All translations should work.
2334 Also get_real_and_imaginary() fixed (complex numbers should now
2337 1999-05-10 Michael Meeks <michael@imaginator.com>
2339 * src/sheet.h: Added workbook_focus_sheet.
2341 * src/workbook.c (workbook_focus_sheet): Added.
2343 1999-05-10 Jukka-Pekka Iivonen <iivonen@iki.fi>
2345 * src/fn-eng.c: Added IMARGUMENT(), IMCONJUGATE(), IMCOS(),
2346 IMDIV(), IMEXP(), IMLN(), IMPOWER(), IMPRODUCT(), IMSIN(),
2347 IMSQRT(), IMSUB(), and IMSUM().
2349 1999-05-08 Michael Meeks <michael@imaginator.com>
2351 * web/index.html: Fix sillyness in references.
2353 * web/gnumeric-0.25: Remove HTML tags...
2355 1999-05-08 Michael Meeks <michael@imaginator.com>
2357 * src/Makefile.am (gnumeric_LDADD): Added libole2 library.
2359 * configure.in (XML_CFLAGS): Updated to add excel/libole2
2361 * src/sheet.h: Commented sheet_cell_get vs. _fetch.
2363 * src/expr.c (do_expr_tree_unref, value_string, value_release),
2364 (eval_cell_value, do_expr_tree_invalidate_references):
2365 Clean: Added 'default' cases with warnings.
2366 (value_get_as_double, value_get_as_int, value_get_bool): Changed
2367 to safer / faster switch statement from if.
2369 1999-05-07 Michael Meeks <michael@imaginator.com>
2371 * src/corba-workbook.c (corba_sheet): Add CORBA_Environment
2372 parameter, needed for Object_dupicate...
2373 (Workbook_sheet_new, Workbook_sheet_lookup),
2374 (Workbook_sheet_current): Updated corba_sheet's args.
2376 * src/fn-lookup.c: Fixed choose help.
2378 1999-05-06 Miguel de Icaza <miguel@nuclecu.unam.mx>
2380 * src/corba-workbook.c (corba_sheet): Duplicate the object before
2383 1999-05-07 Jukka-Pekka Iivonen <iivonen@iki.fi>
2385 * src/fn-eng.c: Added COMPLEX(), IMABS(), IMAGINARY(), IMREAL().
2386 Also added an internal function get_real_and_imaginary() which
2387 still needs to be improved.
2389 * src/fn-math.c: Added MROUND() and ROMAN(). ROMAN() currently
2390 supports only type 0 (classic).
2392 1999-05-07 Heath Martin <martinh@pegasus.cc.ucf.edu>
2394 * src/expr.c (expr_tree_invalidate_references): Add extra argument
2395 for the sheet we are changing. All callers changed.
2396 (expr_tree_fixup_references): Ditto.
2398 1999-05-06 Morten Welinder <terra@diku.dk>
2400 * src/eval.c (cell_queue_recalc): Don't re-queue cell.
2401 (cell_queue_recalc_list): Don't re-queue cells. (Because it is
2402 wasteful and because unqueue then won't work right.)
2404 * src/fn-lookup.c (gnumeric_column): Fix leak.
2405 (gnumeric_row): Fix leak.
2406 (gnumeric_choose): Fix leak.
2407 (lookup_similar): Fix leaks.
2409 * src/xml-io.c (xml_probe): Fix leak.
2410 (xmlGetValue): Fix *HUGE* leak.
2411 (readXmlStyle): Fix leaks.
2412 (readXmlSheet): Fix leaks.
2413 (createXmlSheet): Fix leak.
2414 (readXmlCell): Move the freeze, just in case.
2416 * src/fn-lookup.c (gnumeric_choose): Remove (incorrect) arg check.
2418 * src/cell.c (cell_copy): Properly handle render_color member.
2419 Clear the CELL_QUEUED_FOR_RECALC flag.
2420 (cell_destroy): Add code to make it painfully clear when members
2421 of freed cells are accessed.
2423 1999-05-06 Michael Meeks <michael@imaginator.com>
2425 * src/cell.h: Added deep freeze prototypes.
2427 * src/cell.c (cell_deep_freeze_redraws): Added
2428 (cell_deep_thaw_redraws): Added,
2429 (cell_queue_redraw): Updated to use deep_freeze
2430 effectively ignore redraw requests.
2432 * src/xml-io.c (readXmlCell): Added deep freeze/thaw
2433 redraws for clean and easy speedup.
2435 1999-05-06 Michael Meeks <michael@imaginator.com>
2437 * src/workbook.c: Moved 'Sort' to the tools menu.
2439 * HACKING: Pedantic clean.
2441 1999-05-06 Jukka-Pekka Iivonen <iivonen@iki.fi>
2443 * src/fn-date.c: Added EDATE().
2445 1999-05-06 Jukka-Pekka Iivonen <iivonen@iki.fi>
2447 * src/fn-date.c: Added DATEVALUE().
2449 1999-05-05 Jukka-Pekka Iivonen <iivonen@iki.fi>
2451 * src/fn-database.c (parse_criteria): If a condition contains
2452 just a number, it is an equality condition.
2454 1999-05-05 Miguel de Icaza <miguel@nuclecu.unam.mx>
2456 * configure.in: Laptop does not have resources. Make guile
2457 optional until at least.
2459 * src: Now we only support two modes: Gnumeric and
2460 Gnumeric-Bonobo. The later includes all of the CORBA support,
2461 there is no longer a non-Bonobo CORBA version.
2463 * src/corba-workbook.c, src/corba-sheet.c, src/workbook-factory.c:
2464 New files that support the Gnumeric CORBA interfaces.
2466 1999-05-02 Miguel de Icaza <miguel@nuclecu.unam.mx>
2468 * src/corba-workbook.c (WorkbookFactory_init): Add workbook
2469 factory servant initialization.
2471 1999-05-04 Morten Welinder <terra@diku.dk>
2473 * src/eval.c (dependency_remove_cell): Remove unused assignment.
2474 (cell_queue_recalc_list): Mark queued cells as being so.
2476 * src/fn-math.c (gnumeric_combin): Clean up.
2477 (combin): Handle large numbers carefully.
2479 * src/utils.c (january_1900): Fix argument list.
2481 * src/fn-stat.c (gnumeric_var): Remove unused variable.
2482 (gnumeric_varp): Ditto.
2484 1999-05-04 Jukka-Pekka Iivonen <iivonen@iki.fi>
2486 * src/fn-math: Added ROUND().
2488 * src/fn-information: Added new file for information functions.
2489 New function COUNTBLANK() implemented.
2491 * src/Makefile.am, src/func.[ch]: Added `fn-information.c'.
2493 1999-05-04 Jukka-Pekka Iivonen <iivonen@iki.fi>
2495 * src/fn-database.c: Added DCOUNTA().
2497 * src/fn-stat.c: Added argument count checks for VAR() and VARP().
2500 1999-05-03 Morten Welinder <terra@diku.dk>
2502 * src/format.c (split_time): Fix leak.
2504 * src/parser.y (forget): Fix leak.
2506 * src/expr.c (do_expr_tree_ref): Delete.
2507 (expr_tree_ref): Just increase the ref-count.
2508 (do_expr_tree_unref): Properly decrease all the way.
2509 (expr_tree_new): Fix prototype.
2510 (value_release): Add "break".
2511 (value_cellrange): Make args const. Don't use memcpy call.
2513 * src/parser.y (v_new): Fix type.
2514 (alloc_register): Ditto.
2515 (dump_tree): Fix reference to variable cell.
2517 * src/file.c (file_format_unregister_save): Fix leak.
2518 (file_format_unregister_open): Fix leak.
2520 * src/parser.y (forget): Fix leak.
2522 * src/eval.c (add_tree_deps): Use OPER_ANY_BINARY.
2523 (add_value_deps): Delete unused variable.
2524 (dependency_remove_cell): Fix leak.
2526 * src/sheet.c (sheet_destroy_styles): Leak fix. Late night
2528 (sheet_shift_row): Ditto.
2530 * src/parser.y (alloc_clean): Ditto.
2531 (alloc_list_free): Ditto.
2533 * src/main.c (gnumeric_main): Get rid of memory leak debug code
2534 (handled by other means now).
2536 * src/cell.c (cell_set_value): Remove "const".
2537 (cell_set_value_simple): Ditto.
2539 1999-05-03 Jukka-Pekka Iivonen <iivonen@iki.fi>
2541 * src/fn-database.c: New file added for database
2542 functions. Implemented DAVERAGE(), DCOUNT(), DGET(), DMAX(),
2543 DMIN(), DPRODUCT(), DSTDEV(), DSTDEVP(), DSUM(), DVAR(), and
2546 * src/func.c: Added registeration of database functions.
2548 * src/fn-stat.c, src/func.h: callback_function_stat made public.
2550 1999-05-02 Michael Meeks <michael@imaginator.com>
2552 * src/expr.h: Spelling fix 'substract' :-)
2554 * src/expr.c (expr_tree_new): Added for convenience.
2556 1999-05-02 Michael Meeks <michael@imaginator.com>
2558 * src/cell.c (cell_set_value): Created.
2559 (cell_set_value_simple): Created.
2561 * src/cell.h: Added headers
2563 1999-05-01 Miguel de Icaza <miguel@nuclecu.unam.mx>
2565 * src/corba-workbook.c, src/corba-sheet.c: New files implementing
2566 most of the new Gnumeric.idl interface.
2568 * src/Gnumeric.idl: Make it useful.
2570 1999-04-30 Morten Welinder <terra@diku.dk>
2572 * src/*.h: Properly forward-declare structures. Include
2573 dependencies. Change the occasional "void *" to its right
2576 * src/*.[cy]: Include more dependencies.
2578 * src/sheet.c (sheet_delete_row): Remove from workbook hash also.
2580 1999-04-29 Morten Welinder <terra@diku.dk>
2582 * src/expr.c (expr_tree_fixup_references): Implement.
2584 * src/sheet.c (sheet_delete_row, sheet_delete_col): Fixup
2587 * src/expr.c (do_expr_tree_relocate): Remove strange and incorrect
2590 * src/workbook.c (workbook_fixup_references,
2591 workbook_invalidate_references): Fix cell walking.
2593 * src/expr.c (do_expr_decode_tree): rename binary_operation_names
2594 to operation_names and fill in the rest.
2596 * src/fn-misc.c (gnumeric_error): New function.
2598 * src/expr.c (value_str): Constify.
2599 (expr_tree_invalidate_references): Mostly implement.
2601 * src/fn-math.c (gnumeric_multinomial, gnumeric_product,
2602 gnumeric_sumsq): Fix type.
2604 * src/expr.h (OPER_ANY_BINARY, OPER_ANY_UNARY): new convenience
2606 (struct _Sheet): declare forward reference so we can use the right
2608 (CellRef, FunctionDefinition, expr_parse_string, expr_decode_tree,
2609 eval_expr): use "struct _Sheet *".
2611 * src/workbook.c (workbook_do_destroy): Carefully clean workbook
2612 before deleting sheets. Do things in the standard way. Get rid
2614 (insert_cols_cmd): Fix name string.
2615 (workbook_detach_sheet): New parameter "force". All callers
2617 (workbook_fixup_references, workbook_invalidate_references,
2618 workbook_sheets): New functions.
2620 * src/sheet.c (sheet_verify_selection_simple): Mark strings for
2622 (sheet_insert_col): Fixup references to moved cells.
2623 (sheet_delete_col, sheet_delete_row): Invalidate references to
2626 * src/sheet-autofill.c (fill_item_new): Fix copying of cell with
2629 * src/parser.y (yylex): "const" fixes.
2630 (gnumeric_expr_parser): New function (to fix memory corruption and
2633 * src/fn-stat.c (i1mach): Make static.
2634 (gnumeric_var, gnumeric_varp, gnumeric_stdev, gnumeric_stdevp,
2635 gnumeric_rank, gnumeric_trimmean, gnumeric_covar, gnumeric_correl,
2636 gnumeric_mode, gnumeric_harmean, gnumeric_geomean, gnumeric_count,
2637 gnumeric_counta, gnumeric_average, gnumeric_min, gnumeric_max,
2638 gnumeric_skew, gnumeric_kurt, gnumeric_avedev, gnumeric_devsq,
2639 gnumeric_pearson, gnumeric_rsq, gnumeric_median, gnumeric_large,
2640 gnumeric_small, gnumeric_ztest): Fix type.
2642 * src/fn-math.c (gnumeric_fact, gnumeric_combin): Mark strings for
2644 (gnumeric_sum, gnumeric_trunc): Fix type.
2646 * src/fn-lookup.c (gnumeric_choose, gnumeric_column,
2647 gnumeric_row): Fix type.
2649 * src/fn-misc.c (gnumeric_iserror): Fix type.
2651 * src/fn-sheet.c (gnumeric_selection): Fix type.
2653 * src/fn-string.c (gnumeric_concatenate): Fix type.
2655 * src/fn-logical.c (gnumeric_and, gnumeric_not, gnumeric_or,
2656 gnumeric_if): Fix type.
2658 * src/fn-financial.c (gnumeric_npv): Fix type.
2660 * src/expr.c (expr_parse_string): Move in part to parser.y.
2661 Delete global variables to communicate.
2662 (do_expr_tree_ref, do_expr_tree_unref, do_expr_decode_tree,
2663 do_expr_tree_relocate): use OPER_ANY_BINARY and OPER_ANY_UNARY.
2664 (function_call_with_values): Mark strings for translation.
2665 (eval_expr, do_expr_decode_tree, expr_decode_tree): Fix type to
2666 use "Sheet *" instead of "void *".
2667 (do_expr_decode_tree): Free sum.
2668 (expr_tree_invalidate_references, expr_tree_fixup_references): New
2669 functions. Not implemented yet.
2671 * src/cell.c (cell_set_formula): "const" fix.
2672 (cell_copy): Ref entered_string also if it exists.
2673 (cell_relocate): Unlink cell from workbook list of cells.
2675 * src/about.c (dialog_about): Add myself. Update copyright.
2677 1999-04-29 Jukka-Pekka Iivonen <iivonen@iki.fi>
2679 * src/fn-{math,sheet,logical}.c, src/func.[ch]: Moved logical
2680 functions into a new file.
2682 * src/fn-math.c: Added ROUNDDOWN(), ROUNDUP(), SUMX2MY2(),
2683 SUMX2PY2(), and SUMXMY2().
2685 * src/fn-stat.c: Added PROB(). CONFIDENCE() should now work fully.
2687 1999-04-28 Jukka-Pekka Iivonen <iivonen@iki.fi>
2689 * src/fn-stat.c: Added COUNTA(), FINV(), and TINV().
2691 * src/fn-stat.c, src/fn-math.c: AVERAGE(), COUNT(), MAX(), and
2692 MIN() moved from fn-math.c to fn-stat.c. They are in the
2693 statistical function group in Excel.
2695 1999-04-27 Jukka-Pekka Iivonen <iivonen@iki.fi>
2697 * src/fn-stat.c: Added BETADIST(), FDIST(), and TDIST().
2699 1999-04-26 Miguel de Icaza <miguel@nuclecu.unam.mx>
2701 * src/eval.c (intersects): Typo fix. Sheet was being assigned
2702 instead of being tested for equality. This got Michael to crash
2703 Gnumeric (as there was no test for can_remove)
2705 1999-04-26 Jukka-Pekka Iivonen <iivonen@iki.fi>
2707 * src/fn-stat.c: Added CHIDIST(), CHIINV(), and GAMMAINV().
2709 Sat Apr 24 14:39:32 1999 Morten Welinder <terra@diku.dk>
2711 * src/sheet.c (sheet_selection_reset_only): Remove useless
2712 initialisation. Don't free individual selections here.
2714 (sheet_selections_free): Walk the list of selections and free each
2717 (sheet_get_selection_name): Calculate buffer size based on the
2720 * src/fn-eng.c: Remove sqrtpi function -- it's already in fn-math.c
2722 * src/fn-math.c (gnumeric_sqrtpi): Add range check.
2724 * src/symbol.c (symbol_install): Add sanity check.
2726 Fri Apr 23 17:52:44 1999 Morten Welinder <terra@diku.dk>
2728 * src/sheet.c (sheet_destroy): Don't check that workbook is
2729 NULL because it cb_sheet_do_destroy will call it non-NULL.
2731 * src/workbook.c (cb_sheet_do_destroy): Don't NULL workbook
2732 member as it will be used.
2734 * src/format.c (render_number): Fix rounding up.
2736 * src/*.[chy]: add tons on "const"s.
2738 1999-04-23 Jukka-Pekka Iivonen <iivonen@iki.fi>
2740 * src/fn-stat.c: Added GAMMADIST() function. It uses pgamma()
2741 function written by Ross Ihaka. Thanks to Morten for pointing
2744 1999-04-21 Morten Welinder <terra@diku.dk>
2746 * src/workbook.c (workbook_do_destroy): Release the sheets and the
2747 hash table that held the references to the sheets.
2749 * src/func.c: warning fix.
2751 1999-04-21 Miguel de Icaza <miguel@nuclecu.unam.mx>
2753 * src/widget-editable-label.c (el_button_press_event): Add type
2754 cast to kill warning.
2756 * src/format.c: Include ieeefp.h if required.
2758 1999-04-19 Miguel de Icaza <miguel@nuclecu.unam.mx>
2760 * src/fn-string.c: Close parentheses in help_stubstitute function
2761 descritpion. Thanks to Aldy Hernandez for pointing this out.
2763 1999-04-19 Jukka-Pekka Iivonen <iivonen@iki.fi>
2765 * src/dialog-goal-seek.c: Goal seek tool implemented. Goal seek
2766 should now find a solution for all linear problems (if there is
2767 one). A simple non-linear search algorithm also implemented.
2769 * src/workbook.c: Made 'Goal seek' menu entry visible.
2771 * src/fn-math.c: Added MULTINOMIAL(), PRODUCT(), SIGN(), SUMSQ(),
2774 1999-04-19 Miguel de Icaza <miguel@nuclecu.unam.mx>
2776 * src/func.c (iterate_cellrange_callback): Eval the cell here if
2777 it has not yet been evaluated.
2779 Sun Apr 18 17:59:09 EDT 1999 Gregory McLean <gregm@comstar.net>
2781 * gnumeric.spec.in: Updated and enhanced spec file. Tastes even
2782 better and is less filling to boot!
2784 1999-04-17 Miguel de Icaza <miguel@nuclecu.unam.mx>
2786 * src/sheet-object-container.c (make_container_item): New
2788 (sheet_object_container_land): Used to convert from the temporary
2789 widgets to the view provided by Bonobo.
2791 1999-04-16 Miguel de Icaza <miguel@nuclecu.unam.mx>
2793 * src/expr.c (value_array_resize): Fix typo bug I introduced.
2795 * src/eval.c (cell_queue_recalc): When queuing for recalc, tag the
2796 cell, so that if we remove the cell from the recalc list we can
2797 quickly find out if we have to look for it on the list of pending
2799 (pick_next_cell_from_queue): Clear the cell's
2800 CELL_QUEUED_FOR_RECALC bit.
2801 (cell_unqueue_from_recalc): New routine to remove a cell queued
2804 * src/clipboard.c (new_node): Trim leading spaces.
2806 1999-04-16 Jukka-Pekka Iivonen <iivonen@iki.fi>
2808 * src/fn-math.c: Added EVEN, FACTDOUBLE, ODD, QUOTIENT, and
2811 * src/fn-stat.c: Added LOGINV, NORMINV, NORMSINV, RSQ, and ZTEST
2814 1999-04-15 Michael Meeks <michael@edenproject.org>
2816 * src/parser.y (value_dump): Added CellRange support
2818 * src/fn-lookup.c (gnumeric_offset): Implemented OFFSET.
2820 * src/expr.c (value_cellrange): Created.
2821 (eval_funcall): Major hack to allow auto-conversion
2822 of cell references to cell ranges on the fly.
2824 * src/expr.h: Added value_cellrange.
2826 1999-04-15 Michael Meeks <michael@edenproject.org>
2828 (gnumeric_choose): CHOOSE function implemented.
2830 1999-04-14 Miguel de Icaza <miguel@nuclecu.unam.mx>
2832 * src/sheet.c (sheet_destroy): No longer destroys the Bonobo
2835 * src/sheet.h (Sheet): No longer keeps track of the ClientSites
2838 * src/sheet-object.c (sheet_finish_object_creation): Invoke new
2839 class method to signal finalization of object creation.
2841 * src/sheet-object-container.c, src/sheet-object-container.h: New
2842 files that implement the Bonobo ClientSites
2843 (SheetObjectContainers).
2845 * src/Makefile.am (gnumeric_bonobo_SOURCES): Sources for Bonobo
2848 * src/sheet-object.c (sheet_object_construct): Create the bounding
2850 (sheet_set_mode_type): Fix from my previous reorganization: Only
2851 stop editing mode if the mode is SHEET_MODE_SHEET.
2852 (sheet_button_press): Strategy change: now we accept
2853 sheet->current_object and we stop editing here the object.
2855 * src/sheet-object.h: points has been renamed to bbox_points.
2857 * src/sheet-object-graphic.c (sheet_object_filled_realize):
2858 Simplified this routine. Also, we now update the bounding box
2861 1999-04-15 Michael Meeks <michael@mejm2.dow.cam.ac.uk>
2863 * src/fn-lookup.c: Silly bug in types fixed.
2865 * src/expr.c (eval_funcall): Made cellrefs absolute.
2867 * src/cell.c (cell_set_text_simple): Fix for 1.234E-07
2869 1999-04-13 Miguel de Icaza <miguel@nuclecu.unam.mx>
2871 * src/sheet-object.c: Converted SheetObject to a Gtk+ object.
2872 Splitted the functionality of the SheetObject into classes:
2873 SheetObject abstract class; SheetObjectGraphic for simple drawings;
2874 SheetObjectFilled for objects that have a fill attribute.
2876 * src/sheet-object-graphic.c: Implement the SheetObjectGraphic and
2877 SheetObjectFilled objects.
2879 1999-04-13 Miguel de Icaza <miguel@nuclecu.unam.mx>
2881 * src/xml-io.c (xml_probe): Do not crash if the file is a broken
2884 1999-04-13 Zbigniew Chyla <cyba@t19.ds.pwr.wroc.pl>
2886 * src/workbook.c: using 'gnome_dialog_run_and_close' instead of
2887 'gnome_dialog_run' (which _may_ destroy dialog widget - we don't have to
2888 check for this case).
2890 1999-04-12 Miguel de Icaza <miguel@nuclecu.unam.mx>
2892 * src/corba-args.c (gnumeric_arg_parse): Intiialize Bonobo.
2894 * configure.in: add test for Bonobo.
2896 * src/clipboard.c (x_selection_to_cell_region): Fixed the
2897 computation of columns in the paste code.
2899 1999-04-11 Miguel de Icaza <miguel@nuclecu.unam.mx>
2901 * src/workbook.c (insert_object_cmd): Add sample bonobo support.
2902 Still lacking an object server selector.
2904 * src/sheet.c (sheet_insert_object): Add Bonobo support.
2906 * src/sheet-view.c (sheet_view_insert_object): Add basic Bonobo
2907 support. I need to reuse the SheetObject stuff to add control
2908 points to the objects and to handle repositioning.
2910 1999-04-12 Michael Meeks <michael@imaginator.com>
2912 * TODO: Removed basic functions section, most are done.
2914 1999-04-11 Michael Meeks <michael@imaginator.com>
2916 * src/dialog-function-select.c (function_select_row):
2917 Check event is valid before using it, remove redundant
2919 (category_select_row): Fix.
2920 (function_select_create): Removed redundant call to
2921 duplicated (create_description): Removed.
2923 * src/fn-lookup.c: Actualy change the lookup function
2924 tokens to the correct values.
2926 1998-04-09 Zbigniew Chyla <cyba@t19.ds.pwr.wroc.pl>
2928 * src/workbook.c: Creating auto_expr menu every time it is popped
2929 up instead of using one object all the time (and referencing to
2930 invalid workbook from "activate" signal handler).
2932 * src/item-grid.c: (item_grid_popup_menu): Fixed memory leak
2933 (gnumeric_popup_menu used instead of gtk_menu_popup).
2935 1999-04-11 Michael Meeks <michael@imaginator.com>
2937 * src/expr.c (eval_funccall): New array / 'area' tokens added,
2938 error strings simplified ( int type_mismatch added )
2939 (value_area_get_width, value_area_get_height): Implemented,
2940 (value_area_get_at_x_y): Implemented.
2941 (value_array_new, value_array_resize): Implemented.
2942 (value_release): Updated.
2943 (value_copy_to, value_array_copy_to): Updated, created.
2944 Added const to a scad of helper 'value_get' style functions.
2946 * src/expr.h: Value: Changed 'array' from GList to a
2948 Added struct _Value for self reference.
2949 Added const to a scad of helper 'value_get' style functions.
2951 * src/func.c (function_iterate_do_value): Updated Array code.
2953 * src/eval.c (add_value_deps): Updated Array stuff.
2954 (add_value_deps): const added to Value *
2956 * src/dialog-function-wizard.c (function_type_input):
2957 Updated text for new tokens.
2959 * src/fn-sheet.c (gnumeric_selection): Update to new array code.
2961 * src/fn-lookup.c (columns, rows): Updated to clean new API.
2962 (vlookup, hlookup): Large clean.
2964 * src/parser.y (value_dump): Updated Array section.
2966 * docs/C/writing-functions.smgl: Added section explaining tokens,
2969 1999-04-09 Michael Meeks <michael@imaginator.com>
2971 * src/sheet.c (sheet_destroy): Move destruction of cell_hash to
2972 after destroy_styles.columns_and_rows that use it.
2973 NULL various pointers.
2974 (sheet_col_destroy): Added g_return_if_fail (ci)
2975 (sheet_duplicate_colrow): Merged into (sheet_row_new, sheet_col_new)
2976 and removed: nasty function.
2977 (sheet_destroy_columns_and_rows): Fix nasty bug using freed 'l'
2978 pointer ( freed by sheet_col_destroy / sheet_row_destroy ).
2979 NULL the pointers for safety.
2980 (sheet_col_destroy): NULL various pointers.
2982 * src/sheet.h (sheet_duplicate_colrow): Removed.
2984 1999-04-08 Jukka-Pekka Iivonen <iivonen@iki.fi>
2986 * src/dialog-solver.c, src/dialog-goal-seek.c, src/solver.h:
2987 Wrote dialogs for these tools. The tools are not implemented yet.
2990 New file for linear programming methods created.
2993 Added parameters for the Solver tool.
2995 * src/fn-stat.c (gnumeric_correl):
2996 Bug fixed. If the covariance is zero the correlation coefficient
2997 should also be zero. Thanks for Vladimir for pointing this one out.
2999 1999-04-07 Miguel de Icaza <miguel@nuclecu.unam.mx>
3001 * src/xml-io.c (xmlGetCoordinates): Include fix from Richard Hult:
3002 Seemed to be a cut and paste error.
3004 * src/cell.c (cell_destroy): From Morten Welinder: destroy the
3005 cell->value only if it does exist.
3007 * src/file.c (dialog_query_load_file): Set the accepted value to
3008 false initially. Thanks for Morten for pointing this one out.
3010 1999-04-06 Zbigniew Chyla <cyba@piast.t19.ds.pwr.wroc.pl>
3012 * src/workbook.c (workbook_new): Use the translated version of the
3015 1999-04-06 Miguel de Icaza <miguel@nuclecu.unam.mx>
3017 * src/workbook.c: Enable the function wizard only if the --debug
3020 * src/dialog-function-wizard.c, src/dialog-function-select.c:
3021 Adapt to the rest of Gnumeric coding style.
3023 Use a different way of creating the GUI and controlling the
3026 * src/func.c, src/func.h (function_iterate_do_value): Use my
3027 indentation and coding style here.
3029 * src/dialog-cell-format.c (render_formated_version): Handle the
3030 case where the value might be NULL.
3032 * src/xml-io.c (createXmlSheet): New function. Used in an initial
3033 pass over the XML file to load all of the Sheets defined there.
3034 (readXmlWorkbook): Now this does two passes at loading the sheet:
3035 the first pass creates the sheets, the second pass actually loads
3038 1999-04-06 Michael Meeks <michael@imaginator.com>
3040 * src/workbook.c (workbook_new): More sensible default
3043 * src/sheet.c (sheet_row_set_height): use sheet_row_new()
3044 instead of sheet_duplicate_colrow(), as we get duff span
3045 data otherwise ( not calling row_init_span )
3046 (sheet_col_set_width): Re-order, presumably fixing bug,
3047 and as for set_height.
3049 1999-04-06 Miguel de Icaza <miguel@nuclecu.unam.mx>
3051 * src/xml-io.c (createXmlSheet): New function. Used in an initial
3052 pass over the XML file to load all of the Sheets defined there.
3053 (readXmlWorkbook): Now this does two passes at loading the sheet:
3054 the first pass creates the sheets, the second pass actually loads
3057 1999-04-06 Michael Meeks <michael@imaginator.com>
3059 * src/func.c (tokenised_help_new): Improved algorithem.
3060 (functions_init): Made descriptions more verbose.
3062 * src/workbook.c (wizard_input): Cleaned to use local
3063 entry instead of specific wb->ea_input.
3065 * src/dialog-function-wizard.c (function_type_input):
3066 Update types, add recursive function button.
3067 (function_input): Created.
3068 (arg_data_list_new): Added wb to ARG_DATA, needed for
3070 Added default code for multi-arg functions.
3071 Deals with no-argument functions properly,
3072 Fix silly args=NULL g_free(args) bug.
3073 (dialog_function_wizard): Special 'no-arguments' quick
3076 * src/fn-math.c (gnumeric_rand): Added RAND function.
3078 1999-04-05 Morten Welinder <terra@diku.dk>
3080 * src/cell.c (cell_set_rendered_text): Fix for circular
3083 1999-04-05 Miguel de Icaza <miguel@nuclecu.unam.mx>
3085 * src/about.c (dialog_about): Do not make the about box modal.
3087 1999-04-05 Michael Meeks <michael@imaginator.com>
3089 * src/func.c (tokenised_help_new, tokenised_help_destroy),
3090 (tokenised_help_find_token): Implemented to assist searching
3093 * src/func.h: Inserted TOKENISED_HELP struct, and prototypes.
3095 1999-04-04 Michael Meeks <michael@imaginator.com>
3097 * src/dialog_function_wizard.c: Created
3099 * src/workbook.c (workbook_setup_edit_area): Add Wizard
3102 * src/dialogs.h: Add dialog_function_wizard
3104 * src/func.c (functions_init): Added descriptions.
3105 Init categories array.
3106 (get_function_categories): Returns array of categories.
3107 (install_symbols): Add description argument.
3109 * src/func.h: Updated prototypes altered,
3110 add get_function_categories and struct FUNCTION_CATEGORY.
3112 * plugins/guile/plugin.c (init_plugin): Update install_symbols.
3114 * plugins/sample/plugin-sample.c (init_plugin): Ditto.
3116 1999-04-03 Michael Meeks <michael@imaginator.com>
3118 * src/sheet.c (sheet_cell_remove_from_hash): Now checks
3119 return value of g_hash_table_lookup_extended, before
3120 freeing a random pointer if its not there.
3122 * src/cellspan.c (cell_unregister_span): Check another
3125 * src/cell.c (cell_set_formula): Default error_msg !
3127 1999-04-03 Michael Meeks <michael@imaginator.com>
3129 * src/sheet.c (sheet_cell_remove_from_hash): Now checks
3130 return value of g_hash_table_lookup_extended, before
3131 freeing a random pointer if its not there.
3133 * src/cellspan.c (cell_unregister_span): Check another
3136 * src/cell.c (cell_set_formula): Default error_msg !
3138 1999-04-02 Michael Meeks <michael@imaginator.com>
3140 * src/fn-sheet.c (gnumeric_if): Fix to allow variable
3141 arguments, updated help & struct to comply, removed
3142 possible memory leak. ( Luke 17:3,4 )
3144 1999-04-01 Michael Meeks <michael@imaginator.com>
3146 * src/workbook.c (sheet_action_delete_sheet): Fix docs.
3148 1999-03-31 Morten Welinder <terra@diku.dk>
3150 * src/fn-stat.c (phi): new internal function.
3151 (gnumeric_normdist): Implemented using phi instead of the built-in
3154 1999-03-31 Michael Meeks <michael@imaginator.com>
3156 * src/dialog-cell-sort.c (dialog_cell_sort): Added multiple
3157 clause support, and cleaned UI.
3158 (add_clause, del_clause): Added.
3160 1999-03-30 Michael Meeks <michael@imaginator.com>
3162 * src/dialog-cell-sort.c (dialog_cell_sort): Fix possible
3163 problem with entire column selection. Need some function
3164 to determine largest used cell range.
3166 1999-03-31 Miguel de Icaza <miguel@nuclecu.unam.mx>
3168 * src/about.c (dialog_about): Fixed. Patch from Takashi Matsuda
3170 1999-03-30 Miguel de Icaza <miguel@nuclecu.unam.mx>
3172 * src/fn-financial.c (gnumeric_dollarfr): Use floor, not floorf,
3173 as I cannot find documentation on this on my system.
3175 * src/fn-math.c (gnumeric_ceiling): Use ceil, not ceilf. I
3176 cannot find documentation on this on my system
3178 1998-11-12 Morten Welinder <terra@diku.dk>
3180 * src/fn-stat.c (gnumeric_variance): More precise method of
3181 computing the variance.
3183 1999-03-30 Michael Meeks <michael@imaginator.com>
3185 * src/sheet.c (sheet_selection_first_range): This returns
3186 the co-ordinates of the first range, and a flag as to whether
3187 the selection is simply one range. This keeps things simple
3190 * src/utils.c (col_from_name): Created.
3192 * src/utils.h: Added prototype.
3194 * src/dialog-cell-sort.c: Created
3196 * src/workbook.c (workbook_menu_format): Added 'Sort'.
3197 (sort_cells_cmd): Created.
3199 * src/dialogs.h: Added dialog_cell_sort.
3201 1999-03-30 Michael Meeks <michael@imaginator.com>
3203 * src/fn-lookup.c (gnumeric_vlookup, gnumeric_hlookup):
3204 Removed check for same sheets in each cell reference, in
3205 intersheet references only a->sheet points to the other sheet.
3207 * src/func.c (function_iterate_do_value): Change CELLRANGE's
3208 sheet reference to cell_range.cell_a.sheet, since could be an
3209 inter-sheet reference. This fixes: Sum(Sheet1!A1:B3)
3211 * src/fn-eng.c: Cleaned function documentation.
3213 * docs/C/writing-functions.smgl: Updated for option function
3216 * src/fn-math.c (gnumeric_mod): Implemented.
3218 1999-03-30 Miguel de Icaza <miguel@nuclecu.unam.mx>
3220 * src/expr.c (eval_expr): Fix from Ian Campbell for fixing the
3221 subtraction problem.
3223 1999-03-28 Jukka-Pekka Iivonen <iivonen@iki.fi>
3225 * src/fn-stat.c: Added large, median, pearson, and small.
3227 1999-03-28 Michael Meeks <michael@imaginator.com>
3229 * src/parser.y (yylex): Added digits count to stop
3230 overflow of integers above 9 digits.
3232 1999-03-27 Michael Meeks <michael@imaginator.com>
3234 * src/sheet.c (fail_if_found): Renamed to
3235 (fail_if_not_selected): Added check for selection
3236 (sheet_is_region_empty): Renamed to
3237 (sheet_is_region_empty_or_selected): Better
3238 described new function.
3240 * src/item-cursor.c (item_cursor_target_region_ok):
3241 Uses sheet_is_region_empty_or_selected.
3243 1999-03-27 Michael Meeks <michael@imaginator.com>
3245 * src/expr.c (eval_funcall): Add vital 'break'
3248 1999-03-27 Michael Meeks <michael@imaginator.com>
3250 * src/eval.c (cell_eval): Set default value of
3251 error_msg so cell doesn't get null text on
3252 g_return_val_if_fail (condition, NULL) ;
3254 * src/sheet.c (sheet_update_auto_expr):
3255 Internationalized ERROR string.
3257 * src/fn-lookup.c (gnumeric_column, gnumeric_columns)
3258 (gnumeric_row, gnumeric_rows): Hacked; best can do for
3261 1999-03-26 Michael Meeks <michael@imaginator.com>
3263 * src/fn-eng.c (gnumeric_delta): Fix memory leak
3264 (gnumeric_gestep): Cleaned to better arg. model
3265 (bin/oct/dec/hex2...): Cleaned similarly
3267 * src/fn-stat.c (gnumeric_poisson): Cleaned
3269 * src/fn-string.c (string_and_optional_int): Removed.
3270 (gnumeric_left, gnumeric_right, gnumeric_find),
3271 (gnumeric_fixed, gnumeric_dollar, gnumeric_substitute):
3272 Updated to optional argument types.
3273 (gnumeric_clean): Moved from fn-misc.c
3275 * src/fn-misc.c (gnumeric_clean): Moved to fn-string.c
3277 * src/expr.c (cell_ref_make_absolute): Makes a CellRef
3279 (eval_funcall): Added range token 'r' for lookup
3280 functions, makes reference absolute so can be used
3281 downstream without trouble.
3283 * src/expr.h: Added range comments
3285 * src/fn-lookup.c: Created
3286 (lookup_simliar, gnumeric_vlookup):
3288 (gnumeric_hlookup): Implements HLOOKUP.
3290 1999-03-25 Jukka-Pekka Iivonen <iivonen@iki.fi>
3292 * src/fn-financial.c: dollarde, dollarfr, and npv added.
3294 * src/fn-stat.c: correl, covar, mode, negbinomdist, rank, and
3297 1999-03-25 Michael Meeks <michael@imaginator.com>
3299 * src/expr.c (eval_funcall): Updated to add new optional argument
3302 * src/expr.h: Comments to explain above.
3304 * src/fn-eng.c (gnumeric_erf, gnumeric_delta): Drastic clean to use
3307 1999-03-23 Jukka-Pekka Iivonen <iivonen@iki.fi>
3309 * src/fn-math.c: ceiling added.
3311 * src/fn-stat.c: fisherinv, normsdist, and lognormdist added.
3313 * AUTHORS, src/about.c: added me.
3315 Tue Mar 23 14:00:37 CET 1999 Daniel Veillard <Daniel.Veillard@w3.org>
3317 * src/xml-io.c : solved the problem of saving cells with < or &
3319 1999-03-21 Jukka-Pekka Iivonen <iivonen@iki.fi>
3321 * src/fn-stat.c: avedev, confidence, critbinom, devsq, fisher,
3322 kurt, normdist, permut, skew, standardize, and weibull added.
3324 * src/fn-math.c, src/func.h: gnumeric_average and fact made public
3325 (used in src/fn-stat.c).
3327 1999-03-17 Vladimir Vuksan <vuksan@veus.hr>
3329 * src/fn-financial.c: Added new functions gnumeric_ipmt,
3330 gnumeric_ppmt, gnumeric_duration.
3332 1999-03-18 Jukka-Pekka Iivonen <iivonen@iki.fi>
3334 * src/fn-math.c: combin added.
3336 * src/fn-stat.c: binomdist, harmean, and hypgeomdist added.
3338 1999-03-18 Michael Meeks <michael@imaginator.com>
3340 * src/fn-eng.c (val_to_base): Minor fixes
3342 1999-03-18 Sean Atkinson <sca20@cam.ac.uk>
3346 * src/expr.c (value_string): cleaned to use g_strdup_printf
3350 * src/fn-string.c (gnumeric_mid): fixed
3351 internationalized various strings, typos
3352 (subs_string_new, subs_string_append_n, subs_string_free): added to
3353 speed gnumeric_substitute
3354 (gnumeric_concatenate, gnumeric_rept, gnumeric_find, gnumeric_fixed)
3355 (gnumeric_proper, gnumeric_replace, gnumeric_t, gnumeric_value)
3356 (gnumeric_substitute, gnumeric_dollar): implemented.
3358 1999-03-16 Vladimir Vuksan <vuksan@veus.hr>
3360 * src/fn-financial.c: More financial functions: gnumeric_nominal,
3361 gnumeric_pv, gnumeric_fv, gnumeric_pmt.
3363 1999-03-16 Miguel de Icaza <miguel@nuclecu.unam.mx>
3365 * src/workbook.c: Change from active voice to passive voice in the
3366 help messages for "New". Thanks to Morten for pointing this out. 2
3368 1999-03-14 Miguel de Icaza <miguel@nuclecu.unam.mx>
3370 * src/fn-math.c (callback_function_sum): Detects integer
3373 * src/expr.c (eval_expr): Add integer overflow code for addition
3376 * src/cell.c (cell_set_format): Call cell_render_value and
3377 cell_queue_redraw calls here.
3379 * src/expr.c (bigger_prec): When decoding left-to-right apply
3380 parentheses if the two priorities are equal.
3382 1999-03-13 Richard Hult <rhult@hem2.passagen.se>
3384 * src/xml-io.c (xmlGetGnomeCanvasPoints): test against the value
3385 returned by xmlGetValue, not the GnomeCanvasPoints value.
3387 1999-03-13 Michael Meeks <michael@imaginator.com>
3389 * src/fn-eng.c (val_to_base, val_to_base_place),
3390 (bin/oct/dec/hex 2 bin/oct/dec/hex):
3391 Implemented - pending fixes to number storage.
3393 1999-03-13 Michael Meeks <michael@imaginator.com>
3395 * src/fn-eng.c (gnumeric_delta, gnumeric_sqrtpi),
3396 (gnumeric_gestep): Implemented
3398 * src/fn-math.c (sqrt): Implemented.
3400 1999-03-13 Michael Meeks <michael@imaginator.com>
3402 * src/fn-eng.c: Created
3403 (gnumeric_erf, gnumeric_erfc, gnumeric_bessely)
3404 (gnumeric_besselj): Implemented
3405 (gnumeric_bin2dec): Moved from fn-math.c
3407 * src/fn-math.c (gnumeric_bin2dec): Moved to fn-eng
3409 * src/func.c (functions_init): Added eng_functions.
3411 * src/fn-stat.c: Cleaned functions help.
3413 * src/Makefile.am: Added fn-eng.c
3415 1999-03-11 Miguel de Icaza <miguel@nuclecu.unam.mx>
3417 * src/clipboard.c (sheet_paste_selection): New routine. Abstracts
3418 the paste operation.
3419 (clipboard_paste_region): Now it uses a clipboard with the active
3420 X selection instead of defaulting to "request clipboard from X"
3421 (this is only for inter-workbook copy-paste).
3423 * src/sheet.c (find_workbook_with_clipboard): Tries to find a
3424 workbook with clipboard information. Probably the clipboard
3425 should be global to all Gnumeric.
3427 * src/render-ascii.c (cell_region_render_ascii): Free the
3428 information after we have used it, not before.
3430 * src/expr.c (eval_expr): Handle new-born recursive references.
3432 1999-03-11 Michael Meeks <michael@imaginator.com>
3434 * src/fn-math.c (gnumeric_power): Implemented.
3436 * src/fn-stat.c (gnumeric_poisson, gnumeric_gammaln):
3439 1999-03-11 Michael Meeks <michael@imaginator.com>
3441 * src/fn-stat.c (gnumeric_expondist, gnumeric_geomean):
3444 1999-03-10 Vladimir Vuksan <vuksan@veus.hr>
3446 * src/fn-financial.c: New file.
3448 (gnumeric_effect, gnumeric_sln, gnumeric_syd): New functions.
3450 * src/func.c (functions_init): Added financial functions.
3452 * src/func.h: Added extern.
3454 1999-03-10 Michael Meeks <michael@imaginator.com>
3456 * src/fn-stat.c: Created.
3457 (gnumeric_stdev, gnumeric_stdevp, gnumeric_var, gnumeric_varp): Created
3459 * src/func.c (functions_init): added stat_functions
3461 * src/func.h: Added extern stat_functions.
3463 1999-03-08 Miguel de Icaza <miguel@nuclecu.unam.mx>
3465 * src/fn-misc.c (gnumeric_clean): Add check here: only loop until
3466 the end of the string.
3468 * src/sheet.c (sheet_cell_foreach_range): Revert the arguments if
3469 they are in a different order.
3471 1999-03-08 Takashi Matsuda <matsu@arch.comp.kyutech.ac.jp>
3473 * plugins: new text plugin.
3475 Add new plugin TXT for simple text inport/export
3476 tab separated text. multiple sheet in a workbook is separated by
3478 If first line of each sheet is not include tab, then that line is
3479 interpreted as sheet name.
3481 * src/gnumeric-sheet.c: Add new mean for hard-coded keyboard short
3482 cut CTRL-Return. Because ItemEdit does not support XIM, I must
3483 click the entry whenever I want to input janapese character. If
3484 user does not edit the cell, this key combination switchs a
3485 keyboard focus to entry .
3487 * Replace gdk_font_load() with gdk_fontset_load()
3488 src/style.c gdk_font_load() makes impossible to show international
3491 * src/clipboard.h 'copy by value' was not possible because of
3492 miss-definition of PASTE_* enume.
3494 * src/file.c: gnumeric_notice was called with wrong arguments.
3496 1999-03-07 Michael Meeks <michael@imaginator.com>
3498 * src/cell.c (cell_set_format_from_style): Removed sluggish
3499 re-drawing code: unnecessary.
3501 1999-03-05 Michael Meeks <michael@imaginator.com>
3503 * src/cell.c (cell_set_color_from_style): Implemented.
3505 1999-03-03 Michael Meeks <michael@imaginator.com>
3507 * plugins/excel/ms-formula.c (parse_data_new): Trap null pointers
3508 on entry, ( coming from biff_get_text ).
3509 (ms_excel_parse_formula): Removed nasty static buffers.
3511 1999-02-23 Bruno Unna <bruno@iac.com.mx>
3513 * src/dialog-cell-format.c (create_background_radio): Activated
3514 the patterned background control (although in my machine the
3515 boxes are all black) and added a radio button to let the
3516 user do nothing with backgrounds (analogous to the one in
3517 foreground section).
3519 * src/dialog-cell-format.c (apply_coloring_format): Now this
3520 functions takes into account the changes in create_background_radio,
3521 that is, if the user decides not to change the background,
3522 the background will not be changed. Also, assigned default
3523 values to some variables, just to avoid an annoying warning.
3525 * src/dialog-cell-format.c (create_coloring_page): If there
3526 are different backgrounds in the range, select by default
3527 the "no change" radio button for the background.
3529 1999-02-23 Miguel de Icaza <miguel@nuclecu.unam.mx>
3531 * src/cell.c (cell_draw): If the cell has a render_color (provided
3532 by the format specification), use that for the foreground.
3534 1999-02-22 Miguel de Icaza <miguel@nuclecu.unam.mx>
3536 * src/file.c (workbook_save_as): Append the extension of the
3537 default format if no colon is specified
3539 1999-02-22 Tim Mooney <mooney@dogbert.cc.ndsu.nodak.edu>
3541 * plugins/guile/plugin.c (func_scm_apply): Initialization of
3542 structure is done in the function body, rather thatn when it is
3543 declared. This is necessary because struct initializer must be
3544 determinable at compile time, and those aren't.
3546 * src/expr.c (eval_expr): Add at least one statement to the
3547 default: handler in the case.
3549 * src/fn-math.c: provide a break for default handlers.
3550 * src/item-edit.c (entry_event): ditto
3551 * src/sheet-autofill.c (fill_item_destroy): ditto.
3553 * src/dialog-cell-format.c (create_number_format_page): Initialize
3554 in the body, like above.
3556 1999-02-22 Miguel de Icaza <miguel@nuclecu.unam.mx>
3558 * plugins/guile/plugin.c (func_scm_apply): Initialize the
3559 cell_ref.sheet to NULL.
3561 1999-02-22 Miguel de Icaza <miguel@nuclecu.unam.mx>
3563 * src/sheet.c (sheet_cell_remove_internal): Queue recalcs for
3564 cells that depend on cells that are being destroyed.
3565 (clear_cell_content): Added a call to workbook_recalc
3566 (sheet_clear_region_content): same.
3568 1999-02-21 Michael Meeks <michael@imaginator.com>
3570 * plugins/excel/ms-formula.c FORMULA_PTG_EXP: Fixed several bugs.
3572 * plugins/excel/ms-excel.c (ms_excel_set_cell_font, biff_font_data_get_style_font):
3573 Body of the former moved to the latter, loop invariant code removed for
3575 (ms_excel_set_cell_xf): Burdern of border color stuff moved to
3576 (ms_excel_palette_get): New routine to cache and create
3577 StyleColor records as needed.
3578 (ms_excel_sheet_insert): Fixed so no NULL pointers can escape
3580 (ms_excelReadWorkbook): Removed BIFF Usage chart, its slow.
3581 (biff_nasty_font_check_function): Sorts out font sillyness.
3582 (biff_xf_data_new): Added cached style_format pointer
3583 (biff_xf_data_destroy): unref style_format if allocated.
3585 * src/cell.c (cell_set_format_from_style): Implemented.
3587 1999-02-19 Raja R Harinath <harinath@cs.umn.edu>
3589 * doc/C/Makefile.am (install-data-local): Use $(mkinstalldirs) not
3590 $(topsrcdir)/mkinstalldirs.
3592 * src/Makefile.am: Use $(GNOME_CONFIG) instead of `gnome-config'
3593 to run the gnome-config script.
3594 (BUILT_SOURCES): Swap with GNUMERIC_CORBA_GENERATED to be
3597 1999-02-19 Miguel de Icaza <miguel@nuclecu.unam.mx>
3599 * src/fn-misc.c (gnumeric_min): Implement ISERROR.
3601 * src/clipboard.c (paste_cell): Do not render the value if the
3604 * src/cell.c (cell_copy): Do not copy the value of a cell when the
3605 value is NULL (due to the cell having an error).
3607 * src/expr.c (eval_expr): Evaluate binary operations in parts to
3608 keep the correct error message on an operation if possible.
3609 (eval_expr): Propagate errors.
3611 * src/item-edit.c (item_edit_draw): Sync the before-cursor and
3612 after-cursor Y-display text cordinate.
3614 * src/expr.c (eval_funcall): Add type checking for the simple
3617 * doc/C/Makefile.am (install-data-local): use topsrcdir here (fix
3618 from Ian Campbell <ijc25@cam.ac.uk>
3620 * src/fn-math.c (gnumeric_not): Implement NOT.
3622 * src/number-match.c (format_create_regexp): Allow upper case
3625 * src/format.c: ditto.
3627 1999-02-18 Michael Meeks <michael@imaginator.com>
3629 * plugins/excel/ms-formula.c (ms_excel_parse_formula):
3630 case FORMULA_PTG_ATTR: Added 'Optimised SUM' functionality,
3631 Generaly made output less verbose.
3633 * plugins/excel/ms-excel.c: BIFF_DBCELL, ignore it, its
3635 (ms_excel_set_cell_xf, biff_format_data_lookup,
3636 biff_format_data_destroy, ms_excel_workbook_new,
3637 ms_excel_workbook_destroy): Implemented formatting.
3639 1999-02-17 Michael Meeks <michael@imaginator.com>
3641 * plugins/excel/ms-excel.c (biff_get_rk): moved RK number
3642 extraction into function.
3643 Added MULRK support: the lost numbers arrive !
3645 1999-02-17 Miguel de Icaza <miguel@nuclecu.unam.mx>
3647 * src/fn-math.c (gnumeric_trunc): Implement TRUNC.
3649 * src/func.c (function_iterate_argument_values): Do not evaluate a
3650 subexpression if the previous expression failed due to an error.
3651 Basically: add a check to the eval return value.
3653 I took this oportunity to check all the source and this was the
3656 1999-02-16 Michael Meeks <sca20@cam.ac.uk>
3658 * plugins/excel/ms-excel.c: Fixed many bugs in my
3659 understanding of hash table functions.
3660 Added rudimentary NAME stuff.
3661 made error lookup global.
3662 Fixed up Header / Footer functionality.
3663 (ms_excel_sheet_new, ms_excel_sheet_insert,
3664 ms_excel_read_sheet): Added 'blank' field to excel_sheets,
3666 * plugins/excel/ms-formula.c: Added puzzling
3667 PTG_NAME stuff, this is really wierd.
3670 1999-02-16 Miguel de Icaza <miguel@nuclecu.unam.mx>
3672 * src/workbook.c (change_auto_expr_menu): OOps I got too excited
3673 here using my helper routine: Now we do not destroy this helpful
3676 * src/widget-editable-label.c (editable_label_set_text): Bug fix:
3677 sometimes this code is invoked with its argument being el->text.
3679 1999-02-15 Miguel de Icaza <miguel@nuclecu.unam.mx>
3681 * src/workbook.c (workbook_new): Make a local copy of the toolbar,
3682 as we use this to update the radio buttons.
3683 (workbook_do_destroy): Free the toolbar.
3684 (workbook_feedback_set): Use the per-workbook toolbar here.
3686 1999-02-14 Michael Meeks <sca20@cam.ac.uk>
3688 * plugins/excel/ms-formula.c: Inserted a whole scad
3689 of math functions into translation table.
3690 (parse_list_to_equation): g_strdupped return values.
3691 FORMULA_PTG_STR: Updated old and broken code.
3692 * src/about.c (dialog_about): Added Sean.
3694 1999-02-13 Bruno Unna <bruno@iac.com.mx>
3696 * src/dialog-cell-format.c (create_foreground_radio): Added a
3697 radio button to let the users 'no change' the text colour, useful
3698 when there is a range selected with differently colored cells
3699 and it is desired to change the background of them without
3700 touching the foreground.
3702 * src/dialog-cell-format.c (create_coloring_page): When there
3703 are different foreground colours in the selected cells, the
3704 default selection is 'no change'.
3706 * src/dialog-cell-format.c (apply_coloring_format): If there
3707 is no need to make changes to the foreground color of the
3708 cells, avoid doing them.
3710 1999-02-12 Miguel de Icaza <miguel@nuclecu.unam.mx>
3712 * src/item-cursor.c (item_cursor_target_region_ok): Warn the user
3713 if he overwrites something accidentally by dropping cells in the
3716 * src/sheet.c (sheet_is_region_empty): New function.
3718 1999-02-12 Michael Meeks <sca20@cam.ac.uk>
3720 * plugins/excel/ms-excel.c (biff_get_global_string):
3721 Drasticly simplified, accelerated and in-lined out.
3722 (biff_get_text): Fixed using unicode spec, various
3723 updates to calls to it, fixing offsets.
3724 Removed lots of debug output to speedup
3726 1999-02-10 Sean Atkinson <sca20@cam.ac.uk>
3728 * src/fn-math.c (callback_function_sum): enhanced warning for
3729 unknown value->type.
3731 1999-02-12 Frederic Devernay <devernay@istar.fr>
3733 * plugins/perl/perl.c: Handle the #define dirty in perl-thread.
3735 1999-02-12 Bruno Unna <bruno@iac.com.mx>
3737 * src/cell.c (cell_draw): Now the function draws the cell
3738 using the cell background color setting. Although it does
3739 the job, I guess there must be a better way to do it. Thanks
3740 to Michael for the hint.
3742 * src/item-grid.c (item_grid_draw_cell): Commented out the lines
3743 involved with patterns display in the cell, for that code is
3746 * src/dialog-cell-format.c (create_coloring_page): Reactivated
3747 the background selection panel of the coloring page.
3749 * src/dialog-cell-format.c (create_background_radio): Commented out
3750 the addition of the pattern selection for a cell.
3752 1999-02-10 Miguel de Icaza <miguel@nuclecu.unam.mx>
3754 * src/workbook.c (workbook_detach_sheet): Be less forgiving as to
3755 removing sheets with pending references.
3757 (sheet_action_delete_sheet): Add a test for
3758 dependencies when removing a sheet
3759 (workbook_can_detach_sheet): New function.
3761 * src/cell.c (cell_relocate): When relocating a cell with a
3762 formula, always mark it as changed. We were doing that before
3763 only for the case where the location had changed, but we use
3764 cell_relocate in other cases as well.
3766 * src/fn-string.c (gnumeric_lower, gnumeric_upper): These
3767 functions were wrong. They were never incrementing the pointer
3768 and they were releasing the wrong pointer.
3770 * src/clipboard.c (paste_cell): When pasting a cell, mark the
3771 contents as modified.
3773 * src/file.c (file_saver_is_default_format): Make sure the saver
3776 1999-02-10 Michael Meeks <michael@imaginator.com>
3778 * plugins/excel/ms-excel.c (ms_excel_read_cell): BOOLERR booleans
3779 hard-translated to 1, 0: not a good solution to problems with TRUE.
3780 * src/fn-string.c (gnumeric_upper, gnumeric_lower): Add increment
3782 1999-02-09 Miguel de Icaza <miguel@nuclecu.unam.mx>
3784 * src/parser.y: Apparently string concatenation operator in Excel
3785 has the lower priority.
3787 * src/workbook.c (workbook_detach_sheet): New function used to
3788 detach a sheet from a workbook.
3789 (sheet_menu_label_run): New routine. Invoked on button-3 on the
3792 * src/gnumeric-util.c (gnumeric_auto_kill_popup_menu_on_hide): New
3793 routine to deallocate menus when they go to unshown state
3795 1999-02-09 Michael Meeks <michael@imaginator.com>
3797 * plugins/excel/ms-excel.c (ms_excel_sheet_new,
3798 ms_excel_workbook_attach, biff_boundsheet_data_new):
3799 Major sheet allocation re-organisation, hash boundsheet data.
3800 (ms_excel_sheet_set_version, ms_excel_sheet_set_index,
3801 ms_excel_workbook_get_sheet): re-hashed API
3802 * plugins/excel/ms-formula.c: PTG_MISSARG implemented
3804 1999-02-08 Sean Atkinson <sca20@cam.ac.uk>
3806 * plugins/excel/ms-excel-biff.h, ms-excel.c:
3807 added BIFF_EXTERNCOUNT
3808 * plugins/excel/ms-excel.c (ms_excel_read_sheet):
3809 stubbed BIFF_EXTERNSHEET, stubbed SUPBOOK
3810 (biff_get_externsheet_name): implemented inter-sheet references
3811 * plugins/excel/ms-formula.ch: added FORMULA_PTG_CONCAT
3812 (ms_excel_parse_formula): implemented FORMULA_PTG_REF_3D
3814 1999-02-07 Michael Meeks <michael@imaginator.com>
3816 * plugins/excel/ms-formula.c (ms_excel_parse_formula):
3817 FORMULA_PTG_ATTR stubs: can ignore most of AttrSpace.
3819 1999-02-08 Miguel de Icaza <miguel@nuclecu.unam.mx>
3821 * src/cell.c (cell_draw): Make the clip region one pixel bigger to
3822 account for the offset.
3823 (cell_draw): Do not add one to text_base.
3825 * src/item-edit.c (item_edit_draw): Take into account the margin_b.
3827 1999-02-07 Michael Meeks <michael@imaginator.com>
3829 * plugins/excel/ms-formula.c: Fixed memory leaks
3830 * plugins/excel/ms-excel.c: Fixed several memory leaks
3832 1999-02-07 Sean Atkinson <sca20@cam.ac.uk>
3834 * plugins/excel/ms-formula.ch: added FORMULA_PTG_NUM
3836 1999-02-07 Miguel de Icaza <miguel@nuclecu.unam.mx>
3838 * src/cell.c (cell_set_text_simple): Allow a single "=" to
3841 1999-02-06 Miguel de Icaza <miguel@nuclecu.unam.mx>
3843 * src/gnumeric-util.c (gnumeric_notice): Now we take a Workbook
3844 argument to bind the dialog boxes properly to the main window. We
3845 use gnome_messagebox now to report errors. We now take a type
3846 parameter for the message box type.
3848 * plugins/ff-csv/csv-io.c: Use gnumeric_error
3850 * src/workbook.c (wb_input_finished): Call sheet_set_current_value
3851 instead of the cancel pending input routine.
3853 * Moved src/csv-io.[ch] to the plugins/ff-csv directory and
3856 1999-02-06 Vincent Renardias <vincent@ldsol.com>
3858 * src/csv-io.h src/csv-io.c: Added code to load
3861 1999-02-06 Miguel de Icaza <miguel@nuclecu.unam.mx>
3863 * src/file.c (fill_save_menu): Creates an option menu with the
3864 file format to save on.
3865 (workbook_save_as): Use the saver selected by the user.
3866 (saver_activate): Keep track of the current file save format, set
3868 gnumeric_file_savers, gnumeric_file_openers: made static.
3870 * src/sheet.c (sheet_destroy_styles): Release the proper style, I
3871 was releasing a different structure.
3873 1999-02-06 Michael Meeks <michael@imaginator.com>
3875 * plugins/excel/ms-formula.c: Cut out lots of debug in working
3878 * plugins/excel/ms-excel.c: Implemented a hash table for fast
3879 font lookups, removed and simplified dead font code.
3881 * plugins/excel/ms-excel.c (ms_excel_set_font): Bold if boldness
3882 greater or equal to threshold, not just equal.
3884 * plugins/excel/ms-excel.c (ms_excel_read_cell): Added support
3885 for BIFF_STRING records, and re-organised switch statement. Added
3886 BIFF_BOOLERR support.
3888 1999-02-06 Changwoo Ryu <cwryu@adam.kaist.ac.kr>
3890 * gnumeric.desktop: Added Korean translations.
3892 1999-02-04 Michael Meeks <michael@imaginator.com>
3894 * plugins/excel/ms-excel.ch: Major overhaul of how XF styles
3895 are looked up, sparation of Cell / style XF records. Hash
3896 table implemented for lage speedup and code simplification.
3898 1999-02-04 Michael Meeks <michael@imaginator.com>
3900 * plugins/excel/ms-biff.h: Added a biff_getdouble function for
3901 G_BIG_ENDIAN machines, since I don't have one... [begs forgiveness]
3903 1999-02-03 Sean Atkinson <sca20@cam.ac.uk>
3905 * plugins/excel/ms-formula.c (ms_excel_parse_formula):
3906 FORMULA_PTG_INT and FORMULA_PTG_BOOL added
3908 * plugins/excel/ms-formula.c:
3909 Implemented remaining binary operators and unary operators +,-,%
3910 interpolated operator precedences.
3911 formula_func_data[] : added AND, OR, V/H LOOKUP functions
3913 1999-02-03 Miguel de Icaza <miguel@nuclecu.unam.mx>
3915 * src/workbook.c (workbook_configure_minimized_pixmap): Provide an
3916 icon. Note that I could not get this to work on fvwm2 though. I
3917 will wait for other people to try it.
3919 1999-02-01 Jaka Mocnik <jaka.mocnik@kiss.uni-lj.si>
3921 * src/widget-editable-label.c (el_realize): new function.
3922 set the font for text_item here to match the widget's style.
3923 (editable_label_set_text): don't bother to set the font when
3924 creating the text_item, as the style is not set properly yet.
3926 1999-01-27 Miguel de Icaza <miguel@nuclecu.unam.mx>
3928 * src/fn-misc.c: Added documentation for the functions in this file.
3930 1999-01-26 Bruno Unna <bruno@iac.com.mx>
3932 * src/dialog-cell-format.c (create_coloring_page): Now, the
3933 method to find out whether a cell has been colored or not
3934 is to compare the RGB values to zero.
3935 Commented out the attachment of background_radio_list
3936 because the functionality is not ready yet.
3938 * src/dialog-cell-format.c (apply_coloring_format): Added support
3939 for background solid coloring. Howver, changes to the style of
3940 the cells in this regard have no effect in the display. The reason
3941 for this is unknown to me as of now.
3943 1999-01-25 Miguel de Icaza <miguel@nuclecu.unam.mx>
3945 * src/sheet-autofill.c (sheet_autofill_dir): Add a call to
3946 sheet_cell_remove before calling cell_destroy.
3948 1999-01-23 Bruno Unna <bruno@iac.com.mx>
3950 * src/dialog-cell-format.c: Reactivated the 'Coloring' page
3951 in struct array cell_format_pages.
3953 * src/dialog-cell-format.c (create_coloring_page): Lots of
3954 changes, practically a full rewrite. One problem is that cells
3955 are thrown into this world with the flag STYLE_FORE_COLOR of
3956 their style set, which causes a lack of synchronization with
3957 what is expressed in the global variable foreground_radio_list.
3959 * src/dialog-cell-format.c (apply_coloring_format): By the moment
3960 being, deactivated the call of function cell_set_pattern, along
3961 with the STYLE_PATTERN bit flag of style->valid_flags. I will
3962 concentrate in fg/bg coloring of the cell.
3964 1999-01-19 Miguel de Icaza <miguel@nuclecu.unam.mx>
3966 * src/widget-editable-label.c (el_init): Set the scroll region
3967 to something very big. This fixes the label-sliding problem.
3968 Thanks to Federico for his quick debugging eye.
3970 (el_button_press_event): WOW. I am amazed. I now gtk grab add
3971 and if I receive a widget->window different than the canvas, I
3972 drop the grab and stop editing.
3974 1999-01-19 Francisco Bustamante <pancho@nuclecu.unam.mx>
3976 * src/workbook.c (workbook_delete_event) Return TRUE when the
3977 workbook should not be destroyed. (i.e. the user presses cancel)
3979 1999-01-19 Jeff Garzik <jgarzik@pobox.com>
3981 * src/dialog-cell-format.c, src/gnumeric-util.c,
3982 src/sheet-view.c, src/workbook.c:
3983 Renamed deprecated Gtk+ functions.
3985 1999-01-18 Bruno Unna <bruno@iac.com.mx>
3987 * src/dialog-cell-format.c: Now the terminator element of the
3988 cell_format_pages has three null elements (as stated in the struct
3989 definition), instead of two. Fixed up some comments. Started
3990 to pursue the bug that causes that when adding the "Coloring"
3991 tab the program generates a Gdk-ERROR. Modifications not commited.
3993 1999-01-17 Miguel de Icaza <miguel@nuclecu.unam.mx>
3995 * src/gnumeric-sheet.c (gnumeric_sheet_can_move_cursor): Do not
3996 enable item editing if sheet is not in edit mode.
3998 1999-01-13 Miguel de Icaza <miguel@nuclecu.unam.mx>
4000 * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet): Mark sheet
4003 1999-01-12 Miguel de Icaza <miguel@nuclecu.unam.mx>
4005 * src/file.c (dialog_query_load_file): Set the window modal.
4006 (workbook_save_as): ditto.
4008 1999-01-10 Miguel de Icaza <miguel@nuclecu.unam.mx>
4010 * src/format.c (format_value): Use 0.0########## instead. Looks saner.
4012 1999-01-10 Miguel de Icaza <miguel@nuclecu.unam.mx>
4014 * src/workbook.c (change_auto_expr_menu): Use the event->button
4015 field to get the popup menu to behave correctly.
4016 (workbook_setup_auto_calc): Put the information display inside a
4019 * src/item-bar.c (set_cursor): This routine can be invoked before
4022 * src/workbook.c (sheet_label_button_press): We need to do the
4023 page flipping ourselves, as the GtkNotebook wont take events if
4024 they are not for a window it knows about.
4026 * src/widget-editable-label.c (el_button_press_event): Forward
4029 * src/parser.y: New non-terminal "cellref". Make this
4030 non-terminal include CELLREF and SHEETREF!CELLREF constructions.
4032 * src/expr.c: Changed the whole module according to the dropping
4035 * src/expr.h: VALUE_CELLREF did not make much sense. Better add
4036 to the ExprTree union a CellRef field specifically for OPER_VAR
4039 1999-01-10 Michael Meeks <michael@imaginator.com>
4041 * plugins/excel/ms-excel.c (ms_excelReadWorkbook): Only believe the
4042 first BOF with regard to BIFF version number, other BOFs seem to lie.
4044 1999-01-10 Nick Lamb <njl98r@ecs.soton.ac.uk>
4046 * plugins/excel/ms-excel.h: Added global string table to EXCEL_WORKBOOK
4048 * plugins/excel/ms-excel.c (ms_excel_workbook_new): Setup new fields,
4049 (ms_excel_read_cell): case BIFF_STRING_REF,
4050 (biff_get_global_string): Retrieves a global string from the EXCEL_WORKBOOK table.
4051 (ms_excel_read_cell): case BIFF_STRING_REF,
4052 (ms_excelReadWorkbook): case BIFF_STRINGS reads the global table.
4054 1999-01-10 Michael Meeks <michael@imaginator.com>
4056 * plugins/excel/ms-excel.c: Rehash of border code to use neater centralised
4057 enumerations / types.
4058 (get_style_color_from_idx): Implemented.
4060 * src/style.h: Major expansion of 'StyleBorderType', massive simplification
4061 of StyleBorder to use directional [ StyleSide ] arrays instead of lots of
4062 unique member names.
4064 * src/style.c (border_equal, border_hash, style_border_new,
4065 style_border_new_plain): Major overhaul and shrink to fit new structure.
4067 * src/xml-io.c: Updated BorderTypes array to give textual names to
4068 the new border types, also created an array of text names for StyleSides.
4070 * src/xml-io.c (readXmlStyleBorder,writeXmlStyleBorder): Use new
4073 * src/cell.c, src/cell.h: Added cell_set_border.
4075 1999-01-10 Thomas Meeks <meekte95@christs-hospital.org.uk>
4077 * plugins/excel/ms-excel.c (ms_excel_read_cell):
4078 added header and footer Biff code.
4079 * plugins/excel/ms-excel-biff.h: the defines.
4081 1999-01-10 Changwoo Ryu <cwryu@adam.kaist.ac.kr>
4083 * src/workbook.c (cb_sheet_check_dirty): Use g_strdup_printf
4084 instead of g_strconcat. More easy to translate the string.
4086 1999-01-10 Miguel de Icaza <miguel@nuclecu.unam.mx>
4088 * src/workbook.c (wb_input_finished): Use
4089 sheet_accept_pending_input instead of sheet_set_current_value.
4090 (workbook_setup_auto_calc): Stick the information display inside
4093 * src/eval.c (add_value_deps): Reorganization. Hanlde
4094 VALUE_CELLREF here and make OPER_VAR and OPER_CONSTANT call
4097 * src/expr.c (do_expr_tree_relocate, expr_tree_relocate): New
4098 routine that returns an ExprTree relocated.
4099 (value_copy_to): Handle the VALUE_CELLREF type.
4101 * src/expr.h: define VALUE_CELLREF
4103 * src/parser.y (yylex): Type fix.
4104 When creating values of type VALUE_CELLREF, set this value.
4106 1999-01-09 Miguel de Icaza <miguel@nuclecu.unam.mx>
4108 * src/sheet.c (sheet_move_column): Update to new cell_relocate
4110 (sheet_shift_row): ditto.
4111 (sheet_insert_row): ditto.
4112 (sheet_delete_row): ditto.
4113 (sheet_shift_col): ditto.
4115 * src/clipboard.c: Update to new cell_relocate semantics.
4116 Remove the old GTK compatibility code.
4118 * src/cell.c (cell_relocate): We do not need to reference this
4120 This routine now takes delta-x and delta-y values for the
4121 relocation, instead of absolute cordinates. To implement the
4122 proper semantics of cell movement that other spreadsheets implement
4124 1999-01-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
4126 * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet): Return the
4127 result of gtk_widget_event() if we get to the switch's default
4129 (gnumeric_sheet_key): Return FALSE in the default case, since we
4132 * src/workbook.c (open_cmd): If the file-open dialog was
4133 cancelled, it will return NULL. Take this into account.
4135 1999-01-08 Miguel de Icaza <miguel@nuclecu.unam.mx>
4137 * src/workbook.c (workbook_setup_status_area): We do not use the
4138 progress bar feature currently.
4140 1999-01-07 Nat Friedman <nat@nat.org>
4142 * src/workbook.c: Added hints to the rest of the custom menu items.
4144 1999-01-07 Nat Friedman <nat@nat.org>
4146 * src/workbook.c (workbook_new): Install the menu hints.
4147 (workbook_setup_status_area): Create the GnomeAppBar.
4149 Added hints to most of the custom menu items.
4151 * src/sheet.h: Added the appbar field to the Workbook structure.
4153 1999-01-07 Nat Friedman <nat@nat.org>
4155 * src/workbook.c: Use GNOMEUIINFO_MENU_ABOUT_ITEM and the new
4156 GNOMEUIINFO_MENU trees.
4158 1999-01-07 Nat Friedman <nat@nat.org>
4160 * src/workbook.c: Pass the menu item description to
4161 GNOMEUIINFO_MENU_NEW_ITEM.
4163 1999-01-06 Nat Friedman <nat@nat.org>
4165 * src/workbook.c: Use the standard GNOMEUIINFO macros from
4168 1999-01-06 Nat Friedman <nat@nat.org>
4170 * src/workbook.c: Use the gnome-uidefs.h macros for the
4173 1999-01-04 Havoc Pennington <hp@pobox.com>
4175 * src/fn-date.c (gnumeric_date): Allocate the GDate on the stack,
4176 saves some small amount of time. Check user-provided
4177 month/day/year for validity before using it.
4178 (gnumeric_today): Allocate GDate on the stack.
4179 (gnumeric_now): Ditto.
4181 1999-01-04 Miguel de Icaza <miguel@nuclecu.unam.mx>
4183 * src/sheet.c (sheet_rename): New routine.
4185 * src/workbook.c (workbook_attach_sheet): Use a EditableLabel for
4187 (workbook_rename_sheet): New routine.
4189 * src/widget-editable-label.c: New widget. This is a label that
4190 can be edited if you double click on it. This uses the same trick
4191 of the gnome-icon-item to provide the editing facilities.
4193 1999-01-03 Miguel de Icaza <miguel@nuclecu.unam.mx>
4195 * src/workbook.c (workbook_setup_status_area): Use the style font,
4197 (workbook_setup_status_area): One hack down. Use GTK_ANCHOR_NW to
4198 achieve the same effect I had with my previous hack.
4200 * src/dialog-cell-comment.c (dialog_cell_comment): New file.
4201 Implements the cell comment dialog box.
4203 * src/cell.c (cell_relocate): Only call cell_comment_reposition is
4204 there is a cell comment bound to this cell.
4206 * src/format.c (format_value): No format means "General" format as
4208 If the value has decimal numbers use "0.00##########" for the
4209 formatting instead of 0.00.
4211 1998-01-03 Jeff Garzik <jgarzik@pobox.com>
4213 * src/number-match.c, src/plugin-manager.c, src/sheet.c:
4216 1999-01-03 Miguel de Icaza <miguel@nuclecu.unam.mx>
4218 * src/expr.c (do_expr_decode_tree): Add termination NULL to the OPER_NEG
4221 * (eval_expr): Add support for non-local cells here. I am
4222 impressed how simple this was.
4224 * src/parser.y: Add rules for cell references outside of the
4227 * src/main.c: New option --debug. Turns on the zoom in/zoom out
4228 buttons on the main sheet.
4230 * src/workbook.c: Include the zoom in/zoom out buttons conditionally.
4232 * src/xml-io.c (xmlGetCoordinates): Load using double numbers the
4235 * src/parser.y (yylex): Allow strings to be specified with "'"
4238 1999-01-01 Miguel de Icaza <miguel@nuclecu.unam.mx>
4240 * src/item-grid.c (item_grid_button_1): When starting a selection
4241 of cells during a formula edit, insert the currently clicked cell
4244 1998-12-30 Jeff Garzik <jgarzik@pobox.com>
4246 * plugins/perl/perl.c, src/cell.c, src/expr.c, src/plugin.c,
4247 src/sheet-autofill.c, src/sheet.c, src/workbook.c:
4248 s/g_copy_strings/g_strconcat/
4250 1998-12-28 Miguel de Icaza <miguel@nuclecu.unam.mx>
4252 * plugins/excel/boot.c: New file, this holds the probing and load
4253 wrapper code for Gnumeric to use as well as the initial format
4256 * src/xml-io.c (xml_probe): New routine, used to probe if a file
4257 is a Gnumeric-xml file.
4259 * src/file.c (file_format_register_open,
4260 file_format_unregister_open, file_format_register_save,
4261 file_format_unregister_save): New routines used to register and
4262 unregister file formats in Gnumeric.
4264 * src/main.c (main): Boot xml and excel formats, since they now
4265 need to register themselves with the file.c code
4267 * src/cell.h: cell->entered_text is back, now only used for typo
4268 correction. Maybe I will use it for saving.
4270 * src/fn-string.c (gnumeric_right): Use value_str.
4271 (gnumeric_char): same
4272 (gnumeric_left): same
4274 * src/expr.c (value_str): New function.
4276 * src/xml-io.c (writeXmlCell): Use cell_get_content instead of
4279 * src/cell.c (cell_get_content): New function.
4281 1998-12-17 Miguel de Icaza <miguel@nuclecu.unam.mx>
4283 * src/workbook.c: fix bug introduced yesterday.
4285 1998-12-17 Tuomas Kuosmanen <tigert@fun112.koivukyla.hoas.fi>
4287 * gnumeric.desktop: Added gnumeric program icon
4288 * Makefile.am: added the stuff to install the icon -
4289 could someone check that I did it correctly?
4290 * gnome-gnumeric.png: the icon itself
4292 1998-12-16 Miguel de Icaza <miguel@nuclecu.unam.mx>
4294 * src/workbook.c: Use GNOME stock icons for the stuff that hsa
4295 icons on Gnome Stock.
4297 * gnumeric.keys.in: New file that defines the mime-type for Gnumeric
4299 1998-12-16 Federico Mena Quintero <federico@nuclecu.unam.mx>
4301 * src/workbook.c (workbook_setup_status_area): Do not set_usize()
4304 * src/sheet-view.c (new_canvas_bar): Set the width or height to -1
4307 * src/gnumeric-sheet.c (gnumeric_sheet_new): Do not set_usize() on
4310 * src/item-bar.c: Updated for the new canvas item API.
4311 * src/item-cursor.c: Likewise.
4312 * src/item-edit.c: Likewise.
4313 * src/item-grid.c: Likewise.
4315 1998-12-15 Miguel de Icaza <miguel@nuclecu.unam.mx>
4317 * src/workbook.c (workbook_new): Use the new gnomeapp api.
4319 * src/gnumeric-sheet.c: Use the new canvas.
4321 1998-12-14 Federico Mena Quintero <federico@nuclecu.unam.mx>
4323 * src/gnumeric-sheet.c (gnumeric_sheet_new): Use
4324 gtk_widget_set_usize() instead of gnome_canvas_set_size().
4325 * src/pattern-selector.c (pattern_selector_new): Likewise.
4326 * src/sheet-view.c (new_canvas_bar): Likewise.
4328 1998-12-13 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
4330 * src/fn-date.c (gnumeric_year_month_day, gnumeric_now,
4331 gnumeric_today,gnumeric_date):
4332 * src/workbook.c (insert_current_date_cmd):
4333 * src/number-match.c (compute_value): Changed to use the glib
4334 GDate type instead of the lib_date functions. Fixed off by-one
4335 error for some date functions (e.g. =today ()) was one day to
4338 * src/utils.c, src/utils.h (g_date_serilal, g_date_serial_new):
4339 New functions for handling the gnumeric serial of a date.
4341 1998-12-03 Miguel de Icaza <miguel@nuclecu.unam.mx>
4343 * src/item-cursor.c (item_cursor_set_bounds_visibly): Update the
4344 cursor position as well.
4346 1998-12-10 Michael Meeks <michael@imaginator.com>
4348 * plugins/excel/ms-excel.c (ms_excel_read_cell): Fixed serious bug
4349 in IEE floating point number reading from RK records.
4351 * plugins/excel/ms-formula.c (ms_excel_parse_formula): Implemented
4352 string expressions in formulae, MS stores numbers like this !
4354 1998-12-10 Owen Taylor <otaylor@redhat.com>
4356 * src/workbook.c (filenames_dropped): Make toplevel
4357 windows drop targets for files.
4359 1998-12-09 Michael Meeks <michael@imaginator.com>
4361 * plugins/excel/ms-ole.c: Indented correctly, implemented writes
4362 of all file lengths.
4364 1998-12-08 Jaka Mocnik <jaka.mocnik@kiss.uni-lj.si>
4366 * src/dialog-paste-special.c (dialog_paste_special): changed
4367 gnome_dialog_run_modal() to gtk_window_set_modal() and
4370 1998-12-06 Michael Meeks <michael@imaginator.com>
4372 * plugins/excel/ms-ole.c: Much trivial bug fixing, API fixups,
4373 testing and stabilizing.
4375 1998-12-05 Michael Meeks <michael@imaginator.com>
4377 * plugins/excel/ms-ole.c: Major work on creation of readable
4378 macros for accessing obscure fields, removing magic numbers from
4380 (ms_ole_create): Created to create new OLE files.
4382 * plugins/excel/ms-excel-biff.h: Update comments, and re-arrange.
4384 * plugins/excel/ms-biff.h: Commenting fixes
4386 1998-12-04 Federico Mena Quintero <federico@nuclecu.unam.mx>
4388 * configure.in (ALL_LINGUAS): Added Japanese translation courtesy
4389 of Mitsuru Oka <moka@globe.to>. Also updated the .desktop file.
4391 1998-12-02 Miguel de Icaza <miguel@nuclecu.unam.mx>
4393 * src/gnumeric-sheet.c (gnumeric_sheet_set_top_row,
4394 gnumeric_sheet_set_top_col): New functions to set the sheet top
4395 column and row respectively.
4397 (gnumeric_sheet_bar_set_top_row, gnumeric_sheet_bar_set_top_col):
4398 Renamed from their old names to reflect their actual action.
4400 * src/item-cursor.c (item_cursor_autofill_event): Do not pass
4401 negative numbers to item_grid_find_col and item_grid_find_row.
4403 * src/item-grid.c (item_grid_find_row, item_grid_find_col): Check
4404 for possitive numbers. I think the right fix is to accept negative
4405 numbers and find the column even if the number is negative instead
4406 of this ugly restriction.
4408 1998-11-30 Miguel de Icaza <miguel@nuclecu.unam.mx>
4410 * src/sheet.c (cellref_name): Add more space.
4412 1998-12-02 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
4414 * src/Makefile.am: make Gnumeric-impl.c dependend on Gnumeric.h to
4415 make it compile the idl-file before compiling Gnumeric-impl.c
4417 1998-11-28 Michael Meeks <mejm2@cam.ac.uk>
4419 * plugins/excel/ms-formula.c(ms_excel_parse_formula): Fixed serious
4420 memory leaks on return values from cellref_name
4422 * plugins/excel/ms-formula.c(getRefV7): Now sets CellRef->sheet properly
4425 * plugins/excel/ms-ole.c: Several minor changes, moving separate
4426 structures back into the raw datastream with macros.
4428 1998-11-28 Miguel de Icaza <miguel@nuclecu.unam.mx>
4430 * src/gnumeric-util.c (gnumeric_notice): Do not use
4431 gnome_dialog_run_modal.
4433 * src/dialog-goto-cell.c (dialog_goto_cell): Do not use
4434 gnome_dialog_run_modal
4436 * src/sheet.c (sheet_mark_clean): New routine to mark a sheet as
4439 * src/workbook.c (workbook_mark_clean): New routine to mark a
4440 workbook as not modified.
4442 1998-11-13 Miguel de Icaza <miguel@nuclecu.unam.mx>
4444 * src/sheet-autofill.c (autofill_cell): Simplify by using
4445 cell_set_formula_tree
4447 * src/expr.c (expr_parse_string): Take a sheet argument
4448 (expr_decode_tree): Same
4450 * sheet.c (cellref_name): Now takes a sheet argument and decodes the
4451 cellref depending on the sheet.
4453 * cell.c (CellRef): Now they include the sheet location.
4455 1998-11-28 Michael Meeks <mejm2@cam.ac.uk>
4457 * plugins/excel/ms-ole.c, plugins/excel/ms-ole.h: Total re-write
4458 of internal interfaces, code streamlined, '?' operators expunged.
4460 1998-11-27 Miguel de Icaza <miguel@nuclecu.unam.mx>
4462 * src/item-grid.c (item_grid_realize): Oops. This was not a bug.
4463 gc was actually initialized as being item_grid->grid_gc, it was
4466 * src/main.c (gnumeric_main): Fix the prototype.
4468 * src/dialog-goto-cell.c (dialog_goto_cell): Revert const from gtk-clist.
4470 * src/dialog-cell-format.c (create_number_format_page): Revert
4471 const from gtk-clist.
4473 * src/dialog-goto-cell.c (dialog_goto_cell): Revert const from gtk-clist.
4475 * src/Gnumeric-impl.c: Empty stubs for now.
4477 * src/Makefile.am (GNUMERIC_CORBA_SOURCES): Add rules for
4478 compiling the CORBA support.
4480 * plugins/python/Makefile.am (LIBTOOL): This one needs xlibtool
4481 instead of our modified libtool.
4483 * plugins/sample/Makefile.am (GNUMERIC_SRC_DIR): Simplified Makefile.am
4485 1998-11-25 Miguel de Icaza <miguel@nuclecu.unam.mx>
4487 * src/item-grid.c (item_grid_realize): Removed bogus calls to
4490 1998-11-24 Federico Mena Quintero <federico@nuclecu.unam.mx>
4492 * src/item-grid.c (item_grid_unrealize): Unref all the item_grid's GCs.
4494 1998-11-23 Miguel de Icaza <miguel@nuclecu.unam.mx>
4496 * src/dialog-goto-cell.c (dialog_goto_cell): Set the policy on the
4499 * src/sheet.h: formula_cell_list *ONLY* exists in the Workbook,
4502 * src/sheet.c (sheet_cell_formula_link, sheet_cell_formula_unlink):
4503 Keep the formula on the Workbook, not on the Sheet. Thanks to
4504 Havoc for reporting these bugs.
4506 * src/cell.c (cell_set_formula): Use cell_set_rendered_text to
4507 propery set the error messages.
4508 (cell_get_text): If value is NULL, use the rendered version of the
4509 text instead of re-rendering it.
4511 * src/dialog-cell-format.c (create_number_format_page): Put the
4512 clist inside a scrolled window for the new CList api.
4514 * src/dialog-define-names.c (dialog_define_names): ditto.
4516 * src/dialog-goto-cell.c (dialog_goto_cell): ditto
4518 1998-11-23 Marin Purgar <pmc@iskon.hr>
4520 * src/dialog-cell-format.c: Style general was applied to more
4521 than one cell in various cases.
4523 1998-11-18 Bruno Unna <bruno@iac.com.mx>
4524 * src/style.c: added the default italic font as helvetica-oblique.
4526 * src/style.h: added declaration for new global variable
4527 gnumeric_default_bold_font
4529 * src/gnumeric-util.c: enhanced the robusteness of the function
4530 font_get_italic_name. But it's not at a 100%, though.
4532 * plugins/excel/ms-excel.c: slight modification to the error
4533 tracking mechanism (font stuff in ms_excel_set_cell_font).
4535 1998-11-15 Michael Meeks <mejm2@cam.ac.uk>
4537 * plugins/excel/ms-ole.c(ms_ole_directory*): Created new directory
4538 API for ole files, such that the excel dependant stuff is now moved
4539 out of ms-ole.c into ms-excel.c
4541 * plugins/excel/ms-excel.c(find_workbook): Nicer routine using the
4542 directory API to find its file
4544 * plugins/excel/ms-ole.c(ms_ole_stream_open): Renamed from ~_new
4546 * plugins/excel/ms-ole.c: Re-organisation, code clean, many cases
4547 added throughout to make NULL pointers less harmful, and allow
4548 for turning into a library soon.
4550 1998-11-14 Michael Meeks <michael@imaginator.com>
4552 * plugins/excel/ms-excel.c(ms_excel_set_cell_font): Fixed buffer
4553 overflow bug, and secured sprintf.
4555 1998-11-12 Bruno Unna <bruno@iac.com.mx>
4557 * plugins/excel/ms-excel.c: added support for fount size.
4559 * plugins/excel/ms-excel.c: included ctype.h.
4561 * plugins/excel/ms-excel.c: initial hacks on font name importing,
4564 1998-11-12 Miguel de Icaza <miguel@nuclecu.unam.mx>
4568 * src/workbook.c (workbook_new): Use case-insenstive routines when
4569 creating the hash table.
4570 (workbook_sheet_get_free_name): Find an unused name for a sheet.
4571 (workbook_sheet_lookup): Looks up a sheet by name in a Workbook.
4572 (insert_sheet_cmd): New command to insert a sheet into a workbook.
4574 * src/utils.c (gnumeric_strcase_hash, gnumeric_strcase_equal):
4575 Routines used for strings hash tables that are not case
4578 1998-11-12 Morten Welinder <terra@diku.dk>
4580 * test-parser.c: Fix to compile with the new API
4582 * parser.y: Make the code more maintainable.
4584 1998-11-12 Michael Meeks <michael@imaginator.com>
4586 * plugins/excel/ms-ole.c, plugins/excel/ms-ole.h: Massive changes
4587 renamed many functions to conform to a sensible naming convention.
4588 Cleaned the interface, and structure names.
4590 * plugins/excel/ms-excel-biff.h: Split from ms-biff.h removing all
4591 the excel specifics so that the biff & ole stuff can be turned into
4594 * src/workbook.c(workbook_read): Updated to new structure names.
4596 * plugins/excel/ms-excel.c: Added list of array formulae, as yet
4597 unused, possibly unnecessary.
4599 * plugins/excel/ms-formula.c: Added support for slightly different
4600 array formula BIFF layout.
4602 1998-11-11 Bruno Unna <bruno@iac.com.mx>
4604 * src/gnumeric-util.c: Added function font_get_italic_name,
4605 analogous to font_get_bold_name.
4607 * plugins/excel/ms-excel.c: added enhanced support for styles
4608 (bold & italic). Included gnumeric-util.h.
4610 1998-11-11 Miguel de Icaza <miguel@nuclecu.unam.mx>
4612 * src/gnumeric-util.c (font_get_italic_name): Missing function.
4614 * src/parser.y: Use '^'.
4616 1998-11-11 Mark Probst <schani@obiwan.unix.cslab.tuwien.ac.at>
4618 * plugins/guile: Added guile plug-in.
4620 1998-11-11 Michael Meeks <michael@imaginator.com>
4622 * plugins/excel/ms-biff.h, plugins/excel/ms-excel.c: Removed fatal
4623 bug, and accelerated code by testing for DV in MULBLANK case.
4625 * plugins/excel/ms-excel.c(ms_excel_set_cell_xf): Out by one indexes
4626 causing serious attribute offset grief in fonts.
4629 They went with songs to the battle, they were young,
4630 Straight of limb, true of eye, steady and aglow.
4631 They were staunch to the end against odds uncounted,
4632 They fell with their faces to the foe.
4634 They shall grow not old, as we that are left grow old,
4635 Age shall not weary them, nor the years condemn.
4636 At the going down of the sun, and in the morning,
4637 We will remember them.
4641 1998-11-10 Bruno Unna <bruno@iac.com.mx>
4643 * plugins/excel/ms-excel.c(ms_excel_set_font): Started implementing
4644 font styles properly.
4646 * src/gnumeric-util.c(font_get_bold_name, font_get_italic_name): Hacked
4647 both so they allow testing of new font code.
4649 1998-11-10 Michael Meeks <michael@imaginator.com>
4651 * plugins/excel/ms-ole.c(create_link_array): Truly
4652 brainless one suprised it took so long to surface.
4654 1998-11-10 Miguel de Icaza <miguel@nuclecu.unam.mx>
4656 * src/sheet-view.c (sheet_view_comment_get_points): Scale properly
4657 the points to be in window cordinates.
4659 * src/sheet.c (sheet_col_set_width): Move comments on column
4662 * src/cell.c (cell_copy): Duplicated cells get col, row and sheet
4665 1998-11-05 Miguel de Icaza <miguel@nuclecu.unam.mx>
4667 * src/fn-misc.c: Add ctype.h
4669 * src/sheet-view.c (sheet_view_comment_get_points): New utility
4671 (sheet_view_comment_relocate): New function used to relocate a
4672 comment canvas item in a cell to its new location.
4674 * src/cell.c (cell_relocate): Move the comments with the cell.
4675 (cell_realize, cell_unrealize, cell_comment_realize,
4676 cell_comment_unrealize): New functions used to create and destroy
4677 view-specific cell components (the comments are canvas objects
4678 that need to be created on a per-view basis).
4680 1998-11-10 Michael Meeks <michael@imaginator.com>
4682 * plugins/excel/ms-ole.h: Added unsigned to WORD, LONG
4685 * plugins/excel/ms-formula.c(getRefV7, getRefV8): Fixed
4686 bug in relative column retrieval.
4688 * plugins/excel/ms-formula.c(ms_excel_parse_formula):
4689 Squashed silly op-code bug, and got simple op-codes working.
4691 1998-11-09 Michael Meeks <michael@imaginator.com>
4693 * plugins/excel/ms-formula.c: Re-designed the translation
4694 code, abstracted, and implemented AVERAGE, MIN & MAX using
4695 StarOffice 4.0 to deduce the standard function numbers.
4697 1998-11-08 Michael Meeks <michael@imaginator.com>
4699 * plugins/excel/ms-formula.c: Major top to bottom changes
4700 basic hacked RPN to Infix parsing started in a rather nasty
4701 fashion. Much more work needed only 1 ( the SUM ) function
4704 * src/cell.c (cell_split_text): Fixed string length malloc
4705 bug, out by 1 trashing stack.
4707 1998-11-08 Michael Meeks <michael@imaginator.com>
4709 * src/workbook.c, src/sheet.h, src/main.c (workbook_read):
4710 Added generic routine to read a file
4712 * plugins/excel/ms-excel.c: Major code overhaul, multiple bug
4713 fixes, BLANK, MULBLANK implemented & tested
4715 1998-11-02 Miguel de Icaza <miguel@nuclecu.unam.mx>
4717 * src/cell.c, src/workbook.c, src/sheet-view.c: Finish cell
4718 comment display routines. Now we only need the dialog box to
4719 insert/edit a cell comment.
4721 1998-10-30 Miguel de Icaza <miguel@nuclecu.unam.mx>
4723 * src/cell.c (cell_set_comment): new implementation.
4725 1998-10-28 Miguel de Icaza <miguel@nuclecu.unam.mx>
4727 * src/fn-date.c (gnumeric_date): Fix longstanding off by one
4729 (gnumeric_today): ditto
4730 (gnumeric_now): ditto.
4732 * Prepare for 0.4 release.
4734 * configure.in: Add test for new GTK+ selection code.
4736 * src/clipboard.c: Make it work with both APIs: the old and the
4739 1998-10-28 Daniel Veillard <Daniel.Veillard@w3.org>
4741 * src/xml-io.c: now the basic I/O functions should be clean
4742 removed all direct references to node->content.
4744 1998-10-28 Miguel de Icaza <miguel@nuclecu.unam.mx>
4746 * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet): Added
4749 * src/parser.y (dump_tree): Updated to use the new symbol table.
4751 1998-10-27 Miguel de Icaza <miguel@nuclecu.unam.mx>
4753 * src/parser.c (dump_tree): Use extra argument.
4755 * src/expr.c (function_call_with_values): Use the extra argument
4758 * src/func.c (constants_init): Use the extra argument to symbol_install.
4760 * src/main.c (main): Invoke global_symbol_init.
4762 * src/symbol.h: Symbol routines now take an extra argument; the
4763 symboltable they work on. Now the code can have multiple symbol
4764 tables (this is required for the cell range name bindings in a
4767 1998-10-25 Miguel de Icaza <miguel@nuclecu.unam.mx>
4769 * src/sheet.c (sheet_set_zoom_factor): Zoom factor should be
4770 applied to the default styles.
4772 1998-10-27 Daniel Veillard <Daniel.Veillard@w3.org>
4774 * src/xml-io.c: adapted code to the new XML tree format, however
4775 to compile you need to update your libxml from the CVS tree too.
4776 Not a definite solution I'm thinking about a more general API
4777 for XML tree values encoding/decoding. I modified the endoding
4778 format but backward compatibility should be maintained.
4780 1998-10-23 Federico Mena Quintero <federico@nuclecu.unam.mx>
4782 * src/workbook.c: Made the menus consistent with the (unwritten!)
4783 UI Guidelines document.
4785 1998-10-18 Tom Dyas <tdyas@vger.rutgers.edu>
4787 * src/clipboard.c: Update to new GTK selection API.
4789 1998-10-14 Miguel de Icaza <miguel@nuclecu.unam.mx>
4791 * src/fn-string.c (gnumeric_right): New file. Implements
4792 left/right string functions.
4794 1998-10-13 Miguel de Icaza <miguel@nuclecu.unam.mx>
4796 * src/item-grid.h: Add some missing variables.
4798 1998-10-13 Jakub Jelinek <jj@ultra.penguin.cz>
4800 * src/item-grid.c (item_grid_stop_sliding,
4801 item_grid_sliding_callback, item_grid_start_sliding):
4803 (item_grid_event): If x or y is out of canvas bounds,
4804 do sliding for both cell and formula selection.
4805 For button release from formula selection, make cell
4806 being edited visible afterwards.
4807 (item_grid_button_1): If not extending selection with
4808 shift, make cursor cell visible.
4810 * src/gnumeric-sheet.c (move_cursor,
4811 gnumeric_sheet_key_mode_sheet): Make cursor cell visible.
4813 * src/sheet.c (sheet_select_all): Make home visible.
4814 (sheet_make_cell_visible): New function.
4815 (sheet_cursor_move, sheet_cursor_set): Don't make cursor
4816 visible, caller has to do it himself if desired.
4818 * src/sheet.h (sheet_make_cell_visible): New prototype.
4820 * src/workbook.c (workbook_parse_and_jump): Make cursor
4823 1998-10-13 Miguel de Icaza <miguel@nuclecu.unam.mx>
4825 * src/utils.c (col_name): It is amazing the number of times I
4826 duplicated this code. I wonder if I took prozac by accident.
4827 This should fix the bug reported by Morten Welinder
4829 1998-10-12 Miguel de Icaza <miguel@nuclecu.unam.mx>
4831 * src/sheet-view.c (vertical_scroll_event,
4832 horizontal_scroll_event): Set the top column/row from the
4835 * src/gnumeric-sheet.c (gnumeric_sheet_set_top_col,
4836 gnumeric_sheet_set_top_row): Export these functions to improve the
4837 scrolling behaviour.
4839 1998-10-12 Miguel de Icaza <miguel@nuclecu.unam.mx>
4841 * src/utils.c (cellref_name): Fixed another of column name
4842 decoding. I wonder when I will learn.
4844 1998-10-07 Jakub Jelinek <jj@ultra.penguin.cz>
4846 * src/sheet.c (sheet_cursor_set): Add base_col and
4847 base_row arguments. Move cursor to that location, so
4848 that it really reflects base of the selection.
4850 * src/sheet.h (sheet_cursor_set): Ditto.
4852 * src/clipboard.c (x_selection_received): Callers changed.
4854 * src/gnumeric-sheet.c (gnumeric_sheet_set_selection): Ditto.
4855 (move_cursor): Ditto.
4857 * src/item-cursor.c (item_cursor_autofill_event): Ditto.
4858 (item_cursor_init): Fix a typo.
4860 1998-10-08 Miguel de Icaza <miguel@nuclecu.unam.mx>
4862 * src/sheet-object.c (create_object): Rectangles have the same
4863 problems Ovals do in terms of Canvas cordinate constraints.
4864 (sheet_view_object_realize): same.
4866 1998-10-07 Miguel de Icaza <miguel@nuclecu.unam.mx>
4868 * src/sheet-view.c (sheet_view_col_selection_changed): Make sure
4869 the column is allocated (so that the column size change picks up
4870 the column during the iteration).
4871 (sheet_view_row_selection_changed): Same
4873 * src/style.c (font_init): New routine: loads a couple of default
4874 fonts to be used in Gnumeric.
4876 * src/item-bar.c (bar_draw_cell): Make the SELECTION cells display
4878 (item_bar_realize, item_bar_unrealize): reference and unreference
4879 the gnumeric_default_bold_font.
4881 1998-10-07 Jakub Jelinek <jj@ultra.linux.cz>
4883 * src/item-grid.c (item_grid_button_1): Handle shift+click
4884 on cells (removes last selection and selects from last base
4885 to current mouse location).
4886 (item_grid_event): Don't lock up if mouse is moved during
4887 selection behind left or top margin of sheet canvas (later
4888 on we should move the current view).
4890 * src/cell.c (cell_formula_changed): Cast void * to something
4893 * src/item-bar.c (draw_bar_cell): Switch from 2 state bars
4894 to 3 state: whole column/row is selected in one of the current
4895 selections, some cells are selected in one of the selections
4896 or nothing is selected. Get rid of ci->selected, compute it
4897 from the selections.
4898 (item_bar_draw): Ditto.
4900 * src/cell.h (selected): Ditto.
4902 * src/sheet.c (sheet_init_default_styles, sheet_init_dummy_stuff):
4904 (sheet_selection_row_extend_to, sheet_selection_col_extend_to):
4906 (sheet_all_is_selected): True if any of the selections covers whole
4908 (sheet_col_selection_type, sheet_row_selection_type): New functions.
4909 (sheet_selection_set): New function.
4911 * src/sheet-view.c (sheet_view_row_set_selection,
4912 sheet_view_col_set_selection): Remove.
4913 (sheet_view_col_selection_changed, sheet_view_row_selection_changed):
4914 Handle shift+click and ctrl+click on whole columns/bars as well.
4915 (sheet_view_col_size_changed, sheet_view_row_size_changed): Use
4916 sheet_*_selection_type instead of ci->selected.
4918 * src/item-bar.h (ItemBarSelectionType): Enum for the new 3 state
4920 (ItemBarClass): selection_changed takes modifier mask as argument.
4922 * src/sheet-view.h (sheet_view_*_set_selection): Remove prototypes.
4924 * src/sheet.h (sheet_selection_*_extend_to): Ditto.
4925 (sheet_selection_set, sheet_*_selection_type): New prototypes.
4927 1998-10-06 Miguel de Icaza <miguel@nuclecu.unam.mx>
4929 * src/cell.c (cell_modified): Cells from the clipboard do not have
4930 a Sheet parameter attached.
4932 * src/sheet.c (sheet_cell_add): Check the computed style: if the
4933 computed style includes a format, then turn on the cell flag for
4934 format is set to avoid the auto guess of cell content.
4935 (sheet_style_compute): Now can return the flags of the style that
4936 were not part of the default style.
4938 * src/file.c (dialog_query_load_file, workbook_save_as): Put the
4939 window close to the mouse.
4941 * src/workbook.c (sheet_check_dirty, workbook_close): Do not
4942 cancel without warning the user if the workbook has changed.
4943 (workbook_new, workbook_can_close, workbook_window_destroy,
4944 quit_cmd, close_cmd): Reorganized the code to suit the new code to
4945 prevent inadvertent quits.
4947 1998-10-06 Adrian Likins <adrian@gimp.or>
4949 * doc/images/*.gif: gifs for documenting the button bar
4950 * doc/editing.sgml, files.sgml, formulas.sgml, gnumeric.sgml,
4951 number-format.sgml, worksheet.sgml: doc updates, some prelim
4952 info on file loading/saving
4954 1998-10-05 Miguel de Icaza <miguel@nuclecu.unam.mx>
4956 * src/cell.c (cell_modified): New function, used to tag a modified
4959 * src/fn-math.c (gnumeric_average): Display error on division by
4960 zero. Make the code not depend on the types returned by
4961 gnumeric_sum and gnumeric_count.
4962 (callback_function_sum): Keep sum as integers as long as
4963 possible instead of using floating point all the time.
4965 1998-10-03 Miguel de Icaza <miguel@nuclecu.unam.mx>
4967 * src/fn-math.c (callback_function_sum): Do not try to be smart
4968 about string content. Let the smartiness to other layers.
4969 (gnumeric_average): Handle division by zero on average routine.
4971 * src/number-match.c (create_option_list): Small bug fix: First
4972 translate, then move the pointer ahead.
4974 * src/cell.c (str_trim_spaces): Trim space routine was removing
4975 everything after the first space instead of removing only the
4977 (cell_draw): Free the original string, not the modified copy.
4979 * src/sheet.c (sheet_set_text): Test if the format has been
4980 manually set by the user before trying to do format matching.
4982 * src/cell.h: New flag: CELL_FORMAT_SET, used if the user has
4983 manually specified a format. FIXME: This information should be
4986 * src/cell.c (cell_set_format): Set the CELL_FORMAT_SET flag
4988 1998-10-03 Nuno Ferreira <nmrf@rnl.ist.utl.pt>
4990 * src/workbook.c: Added some more keys to navigate the menus.
4992 * gnumeric.desktop: Added Portuguese translations.
4994 * autogen.sh: Modified hack that patches libtool to work with
4997 1998-10-02 Richard Hestilow <hestgray@ionet.net>
4999 * plugins/stat/stat.c: added new function NVARIANCE
5000 for division by N instead of N - 1, fixed div by 0 error if
5001 variance of a single value was taken, free'd up some mem leaks.
5002 (Thanks to Morten Welinder for noticing these)
5004 1998-10-02 Richard Hestilow <hestgray@ionet.net>
5006 * Added new statistics plugin
5008 1998-10-02 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
5010 * src/dialog-cell-format.c (apply_coloring_format): fix,
5011 fore_color was assigned twice, and back_color never.
5013 1998-10-02 Miguel de Icaza <miguel@nuclecu.unam.mx>
5015 * src/item-grid.h: ItemGridSelectionType: new enumeration type
5016 used for item_grid->selecting to avoid shutting down entirely the
5017 formula selection range on mouse release.
5019 1998-10-02 Vincent Renardias <vincent@waw.com>
5021 * Changed 'es@mx' into 'es_MX' for locale stuff in
5022 configure.in, po/*, doc/translating.sgml.
5024 1998-10-01 Adrian Likins <adrian@gimp.org>
5026 * src/*.sgml: guess what? doc updates.. mainly
5027 info on formatting cells.
5029 * src/images/number-format-*.jpg: more images
5031 1998-10-01 Miguel de Icaza <miguel@nuclecu.unam.mx>
5033 * src/item-grid.c (item_grid_event): Removed unused variables
5035 * src/gnumeric-sheet.c (gnumeric_sheet_start_cell_selection,
5036 gnumeric_sheet_selection_extend,
5037 gnumeric_sheet_selection_cursor_place): New routines for letting
5038 the user use the mouse to select a cell range. Invoked from
5041 * src/item-grid.c (item_grid_event): Clean and reorgranize the
5042 event handler, remove unused variables.
5044 * src/gnumeric-sheet.c (selection_expand_horizontal): -1 now means
5045 "shrink the selection", which means Left/Up keys shrink.
5047 (selection_expand_vertical): likewise.
5049 * src/format.c (format_number): Fixed memory leak: this is a
5050 pretty bad construction: g_string_append (s, alloc_string()). I
5051 just did not see it coming. Taking metal note of this.
5053 * src/number-match.c (format_create_regexp): Fixed memory leaks.
5054 The strings returned by create_option_list need to be released.
5056 * src/style.c (style_color_new): Important bug fix: The key I was
5057 passing was a GdkColor, but our hash table stored StyleColors
5060 * src/format.c (append_year): Better fix, suggested by Morten
5061 Welinder <terra@diku.dk>
5063 1998-09-30 Miguel de Icaza <miguel@nuclecu.unam.mx>
5065 * src/clipboard.c (clipboard_export_cell_region): Correct fix to
5066 the paste problem: dont pass current_workbook, but rather the wb
5069 * src/format.c (split_time): Compute the day of week. This was
5070 done before by localtime, but the new code was not doing it (thus,
5071 format "ddd" always reported "Sun").
5073 * src/item-edit.c (item_edit_reconfigure): Call reconfigure in parent.
5075 * src/item-cursor.c (item_cursor_reconfigure): Call reconfigure in parent.
5077 * src/format.c (append_year): Year 2000 fix :-).
5079 * src/cell.c (cell_set_text_simple): Fix, use localeconv
5080 information to figure out if the text is a number or not.
5082 1998-09-30 Havoc Pennington <hp@pobox.com>
5084 * src/dialog-cell-format.c (color_pick_change_notify): Change args
5085 to match new gnome-color-picker color_set args.
5087 1998-09-39 Adrian Likins <adrian@gimp.org>
5089 * doc/autofill.sgml, sell_refer.sgml, editing.sgml,
5090 gnumeric.sgml, number-format.sgml, worksheet.sgml:
5091 Minor updates, new info on formatting, spelling
5092 and formatting fixes.
5094 * doc/selection.sgml, selections.sgml: removed selection.sgml
5095 and added selections.sgml.
5097 * doc/images/worksheet-data-[1234].jpg,
5098 worksheet-running-calc-1.jpg, number-format-dialog-1.jpg:
5099 more pics to go along with the docs.
5101 1998-09-30 Miguel de Icaza <miguel@nuclecu.unam.mx>
5103 * src/workbook.c (quick_compute_routines): Made static
5105 * src/item-grid.c (item_grid_context_menus): Made static.
5107 1998-09-29 Miguel de Icaza <miguel@nuclecu.unam.mx>
5109 * src/cell.c (cell_draw_comment): New routine to paint a little
5110 red triangle if the cell hsa notes.
5112 * src/cell.c (cell_destroy): Destroy the comment.
5113 (str_trim_spaces): New routine. Trims the spaces on a string.
5114 (cell_draw): Trim the leading and trailing spaces on every string
5115 of a multi-line text.
5117 * src/color.c (color_init): Allocate a red for tagging the
5120 * src/dialog-cell-format.c (format_list_fill): Apply the
5121 traslation when adding the format.
5123 * doc/tranlating.sgml: New document that describes how to
5124 internationalize and localize Gnumeric properly.
5126 * src/workbook.c (recalc_cmd): Provide a way to force a recomputation.
5127 (insert_current_time_cmd): New function. insert the current time.
5128 (insert_current_date_cmd): New function. insert the current date.
5129 (insert_at_cursor): New utility function.
5131 * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet): Handle control-home
5133 1998-09-29 Raja R Harinath <harinath@cs.umn.edu>
5135 * src/parser.y (dump_tree): Update to change in `expr.h'.
5138 1998-09-29 Miguel de Icaza <miguel@nuclecu.unam.mx>
5140 * src/xml-io.c: Changed the formatting of it to be like the rest
5143 * src/fn-math.c, src/fn-date.c: Simplify routines to use
5144 value_float and value_int.
5146 * src/expr.c (value_float, value_int): New utility functions to
5147 create values of type integer and float.
5149 * src/sheet.c (sheet_set_text): Use the matching engine on entered text
5151 * src/cell.c (cell_set_text_simple): New function. Does not queue
5152 cell computations nor queue any redraws
5153 (cell_content_changed): New function: Queues recomputations for
5154 cells that depend on the contents of the argument.
5155 (cell_set_format_simple): New routine, like cell_set_format but
5156 does not render the value nor queues a redraw.
5158 * src/xml-io.c: Use workbook_recalc_all instead of workbook_recalc
5160 * src/fn-math.c (gnumeric_log10, gnumeric_log, gnumeric_log2):
5161 Range check fix was wrong. The valid range does not include
5162 zero. Thanks to Morten Welinder for noticing this.
5163 (gnumeric_cosh): Call cosh, not cos.
5164 Reordered this file to have the help always before the function
5166 (callback_function_or): Bug fix: any non-zero value is considered
5168 (gnumeric_fact): Use exp (lgamma (n+1)) to compute large
5169 factorials (this only applies to factorials over 40).
5171 * src/about.c (dialog_about): Stop using gnome_dialog_set_modal.
5173 1998-09-29 Miguel de Icaza <miguel@nuclecu.unam.mx>
5175 * src/number-match.c (format_create_regexp): Small bug fix. I was
5176 making 'mm' be parsed as 'mmm'. Support 'mmmm'.
5178 * src/fn-date.c (gnumeric_now, gnumeric_date, gnumeric_today):
5179 Note that jannuary 1st is day 1, not day zero.
5181 * src/format.c (append_month): Fixed handling: tm_mon is zero based.
5182 (split_time): Fixed silly mistake I did last time I looked at this code
5184 * src/cell.c (cell_set_formula): Try to set the cell style if the
5187 * src/parser.y (return_symbol): Try to match the input with the
5188 format matching engine.
5190 * autogen.sh (PKG_NAME): Another hack to get rid of the annoying
5191 extracing symbols list, which, slows down my link time :-)
5193 1998-09-28 Adrian Likins <adrian@gimp.org>
5195 * doc/gnumeric.sgml, autofil.sgml, worksheet.sgml: More docs.
5196 * docs/images/worksheet*.jpg: jpg's for the new worksheet docs.
5198 1998-09-28 Miguel de Icaza <miguel@nuclecu.unam.mx>
5200 * src/number-match.c (compute_value): New file: Implements a
5201 smart way of parsing numbers: From all of the registered formats,
5202 it creates regexps for matching at the time the user inputs data.
5203 If that data matches any of the regexps, then the input is
5204 converted into a float, and a display format is assigned to it.
5206 * src/format.c (append_day, append_month): Skip the -now included-
5207 start at the begining for internationalization purposes.
5208 (split_time): Fixed the hour and second renddering.
5209 (format_number): Fix: hour_seen was not being set.
5211 * src/sheet-autofill.c (matches_list): Allow the lists to include
5212 an asterisk to be able to distinguish between abbreviations and
5215 * src/clipboard.c (x_selection_to_cell_region): New routine.
5216 Creates a CellRegion of type text based on the selection provided
5218 (paste_cell_flags): New function, decoupled from
5219 do_clipboard_paste_cell_region. Handles new type in CellCopy.
5221 * src/sheet.c (sheet_selection_paste): Simplified as most of the
5224 * src/clipboard.c (x_selection_received): Perform the paste
5225 operation, moved most of the logic from sheet.c. This does both
5226 internal paste and paste from the X selection (and everything
5227 works the way the user expects it to behave).
5229 1998-09-27 Miguel de Icaza <miguel@nuclecu.unam.mx>
5231 * src/cell.h: Cell Copys now can contain both Cells or plain
5234 * src/expr.c (function_call_with_values): Check the return value
5237 1998-09-27 Miguel de Icaza <miguel@nuclecu.unam.mx>
5239 * plugins/python/python.c (marshal_func): Our scheduled
5240 indentation changes.
5242 * plugins/python/gnumeric_startup.py: Sample file that gets loaded
5243 when the Module is loaded.
5245 1998-09-27 Raja R Harinath <harinath@cs.umn.edu>
5247 * configure.in (GNOME_COMPILE_WARNINGS): New check.
5248 (PYTHON_EXEC_PREFIX): Figure out `exec_prefix'
5249 where python was installed.
5250 (PYTHON_LIB_LOC): Use $PYTHON_EXEC_PREFIX instead of
5253 * src/Makefile.am (CFLAGS): Comment out.
5254 (gnumeric_LDFLAGS): Pass `-export-dynamic', so that plugins can
5255 access symbols from the `gnumeric' binary.
5257 * plugins/sample/Makefile.am (CFLAGS): Comment out.
5259 * plugins/python/Makefile.am (CFLAGS): Comment out.
5260 (libpython_la_LDFLAGS): Move $(PYTHON_LIB_LOC) here.
5262 1998-09-27 Adrian Likins <adrian@gimp.org>
5264 * doc/{gnumeric, editing, formulas, autofill.sgml}: More
5265 approriate tags for the images and examples. Restructed to be a
5268 1998-09-26 Adrian Likins <adrian@gimp.org>
5271 * doc/images/*.jpg: moved images to an images subdir
5273 * doc/gnumeric.sgml, editing.sgml, autofill.sgml: cleaned
5276 1998-09-26 Miguel de Icaza <miguel@nuclecu.unam.mx>
5278 * src/sheet-object.c (sheet_view_object_realize): Swap coordinates
5279 before passing to the canvas item.
5281 * plugins/python/python.c (init_plugin): Use the system
5282 installation directory to load the python scripts.
5284 * autogen.sh: Hack to make libtool add library dependcy
5285 information (it modifies the libtool file after it has been
5288 * src/workbook.c (workbook_set_filename): New routine to set the
5289 filename being edited of the workbook.
5291 * src/sheet-object.c (create_object): Swap arguments to the
5292 ellipse object to guarrantee we pass valid information.
5294 * src/render-ascii.c (cell_region_render_ascii): Ok, remove the
5297 1998-09-25 Adrian Likins <adrian@gimp.org>
5299 * doc/cell_refer.sgml, doc/gnumeric.sgml, doc/editing.sgml:
5300 Change the structure of the outline of the docs to make a bit
5301 more sense. Added some more docs too.
5303 * doc/cell-*.jpg, doc/selection[8,9,10].jpg: more jpgs
5305 1998-09-25 Miguel de Icaza <miguel@nuclecu.unam.mx>
5307 * src/render-ascii.c (cell_region_render_ascii): new routine that
5308 renders a cell selection into a an ascii string. IT HAS PILES OF
5309 LEAKS. I have to go to the movies, will fix later tonight.
5311 * src/clipboard.c (x_clipboard_bind_workbook): New function used
5312 to connect the selection signals for a workbook.
5313 (x_selection_handler): New function: X selection handler.
5314 (clipboard_export_cell_region): New function: Export our clipboard
5316 (clipboard_copy_cell_range): call clipboard_export_cell_region
5318 * src/plugin-manager.c (plugin_manager_new), plugin.c: Add
5319 internationalization support.
5321 * src/sheet.c (sheet_selection_row_extend_to,
5322 sheet_selection_col_extend_to): New version that makes sure the
5323 column information has been allocated.
5325 * src/workbook.c (workbook_parse_and_jump): Maximum ranges were a
5328 * src/parser.y (return_cellref): Fixed the same bug we had in
5329 parse_cell_name: The parsing of the column name to a column index
5332 * src/sheet.c (sheet_row_info_set_height,
5333 sheet_col_info_set_width): New functions based on the older
5334 non-ColRowInfo versions.
5336 * src/sheet-view.c (sheet_view_row_size_changed,
5337 sheet_view_col_size_changed): Apply changes globaly if the whole
5340 1998-09-25 Adrian Likins <adrian@gimp.org>
5342 * doc/dndselection.sgml, selection.sml: more docs, some
5343 on creating selections, and some on moving/copying cells
5344 * doc/dndselection-*.jpg, selection-*.jpg: jpegs to
5347 1998-09-24 Adrian Likins <adrian@gimp.org>
5349 * doc/gnumeric.sgml, autofill.sgml: Some docs on the autofill
5351 * doc/autofill-[1..10].jpg: jpegs accompaning the autofill docs
5353 1998-09-24 Miguel de Icaza <miguel@nuclecu.unam.mx>
5355 * src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet): Do not
5356 handle Control-a here.
5358 * src/workbook.c: Handle C-a with the GnomeApp accelerators
5360 Thu Sep 24 15:12:13 EDT 1998 Daniel Veillard <Daniel.Veillard@w3.org>
5362 * src/xml-io.c: moved to a per-XML file compression interface.
5364 1998-09-24 Miguel de Icaza <miguel@nuclecu.unam.mx>
5366 * src/item-cursor.c (item_cursor_draw): Make the anted selection
5369 1998-09-23 Miguel de Icaza <miguel@nuclecu.unam.mx>
5371 * src/workbook.c (workbook_feedback_set): Add italic font setting support.
5373 * src/cell.c (cell_set_style): Render the value after copying a style.
5375 * src/clipboard.c (clipboard_paste_region): Add support for
5376 pasting the formats only.
5378 * src/xml-io.c: Destroy the extra style.
5380 * src/main.c (main): No need to init colors as they are auto-inited.
5382 * src/style.c (font_compute_hints): At font creation time store a
5383 couple of the font attributes for quick retrieval.
5385 * src/sheet-view.c (sheet_view_construct): Do not allow this
5386 button to have the focus either.
5388 * src/item-bar.c (item_bar_draw): If the whole sheet is selected,
5389 draw all of the columns in pressed presenstation
5391 * src/sheet.c (sheet_is_all_selected): Return wheter all the sheet
5394 * src/utils.c (cell_name): Fixed cell name computation.
5395 (parse_cell_name): Fixed parsing of the cell name.
5397 * src/item-grid.c (item_grid_event): More range checks.
5399 * src/item-bar.c (item_bar_event): range checks here too.
5401 * src/sheet-autofill.c (FillItem): Keep track of the originating
5402 cell so that we can copy the format.
5404 * src/cell.c (cell_set_style): New function.
5406 * src/sheet.c (sheet_selection_reset_only): Simple fix: For the
5407 row case, redraw the rows, not the columns. Cut/paste typo.
5409 * src/dialog-goto-cell.c (dialog_goto_cell): Do not complain if
5410 there was no target cell entered.
5412 * src/expr.c (eval_expr): Division of integers results in a
5415 * src/workbook.c: Added shortcuts to the File menu.
5417 * src/item-cursor.c (item_cursor_autofill_event): Do not allow
5418 under-the-base coordinates.
5420 * src/sheet-autofill.c: Its "january" not "jannuary".
5422 * src/cell.c (cell_set_text): Enhanced number detection.
5424 * src/item-cursor.c (item_cursor_drag_event): Handle sheet
5427 * src/gnumeric-sheet.c (move_cursor_vertical,
5428 move_cursor_horizontal): Handle sheet boundaries.
5430 * src/item-grid.c (item_grid_event): Handle sheet boundaries.
5432 * src/item-bar.c (item_bar_draw): Handle sheet boundaries.
5434 * src/pixmaps/bold.xpm: Oops. Use the bold icon I created
5437 1998-09-23 Richard Hestilow <hestgray@ionet.net>
5439 * src/style.c: fixed hyphen vs hypen typo.
5441 Wed, 23 Sep 1998 12:52:20 +0200 Paolo Molaro <lupus@debian.org>
5443 * src/format.c: added #include <locale.h>
5445 * src/pixmaps: added bold.xpm: this is from gwp, maybe
5446 we need a better one:-)
5448 1998-09-23 Miguel de Icaza <miguel@nuclecu.unam.mx>
5450 * src/sheet-autofill.c (string_has_number): I got too agressive
5451 with the test so no Strings + Numbers were being autofilled.
5453 * src/workbook.c (workbook_setup_edit_area): Remove the CAN_FOCUS
5454 flags form the accept and cancel buttons. Bind the buttons.
5455 (buttons): Neither Zoom-in and Zoom-out can take the focus.
5456 (change_selection_font): New function to change the fonts of a
5459 * src/sheet.c (sheet_accept_pending_input): Renamed from
5460 sheet_accept_pending_output.
5462 * samples/: Added a new sample file: hypothetical-sales.
5464 * src/parser.y (yylex): Accept underscores in identifiers.
5466 * src/xml-io.c (readXmlCell): Set the content of the cell even if
5467 the file contains NULLS.
5469 * src/style.c (style_font_new): Better tolerance to missing fonts.
5471 * src/xml-io.c: Remove geometry setting: it has some bad side
5474 * src/func.c (constants_init): Add a GNUMERIC_VERSION constant.
5476 Tue Sep 22 20:50:11 EDT 1998 Daniel Veillard <Daniel.Veillard@w3.org>
5478 * src/xml-io.c: set-up for compression of output. Should be tunable
5481 1998-09-22 Miguel de Icaza <miguel@nuclecu.unam.mx>
5483 * src/xml-io.c (writeXmlStyle): Save colors. Save pattern.
5484 (readXmlStyle): return the value. Start with an empty style. Load
5486 (xmlGetColorValue): Use the style color allocation routines.
5487 (readXmlCell): Load style. Merge styles if an element is missing.
5488 Trim the cell tail content (spaces and newlines at the end).
5489 Changed the use of all hash tables to use strings instead of
5491 (readXmlObject); Call sheet_object_realize on the object loaded.
5493 * src/item-cursor.c (item_cursor_autofill_event): Commted out
5496 * src/sheet-autofill.c (string_has_number): Bug fix: it was
5497 assuming every string had a number at the end.
5499 * src/workbook.c (workbook_new): Handle to destroy signal. Add
5500 Close option to file menu.
5502 * src/style.c, src/style.h (border_equal): Colors in the
5503 BorderStyler are now stored as StyleColors.
5505 * src/sheet.c (sheet_shift_col): Small buglette fixes: we need to
5506 advance our row walker here ;-)
5507 (sheet_shift_row): Same error was here.
5509 * src/format.c (format_value): Handle NaN/infinite numbers
5511 * src/gnumeric-sheet.c (gnumeric_sheet_key): Last fix was a little
5512 too good: Forward the keystroke events if the user is already
5515 * src/gnumeric-sheet.c (gnumeric_sheet_key): Do not process events
5516 that might be catched by the menubar.
5518 * src/about.c: Add about box.
5520 1998-09-21 Miguel de Icaza <miguel@nuclecu.unam.mx>
5522 * src/fn-math.c: Changed the way we tag the function definitions
5523 before its too late.
5525 * src/item-cursor.c (item_cursor_point): Made the thresholds for
5526 the cursor a little better.
5528 * src/dialog-cell-format.c: Small changes to the color
5531 * src/expr.c (do_expr_decode_tree): When decoding a tree, include
5532 the argument separator. Also, loop properly trough the arguments
5535 (function_call_with_values, function_def_call_with_values): New
5536 functions: these ones are for the plugins so that a plugin can
5537 invoke other functions in Gnumeric.
5539 * src/fn-date.c (gnumeric_now): The serial number returned by
5540 NOW() should be relative to 1900/1/1, not year zero.
5542 1998-09-21 Adrian Likins <adrian@gimp.org>
5544 *src/fn-math.c: firat stab at fleshing out the help
5547 1998-09-20 Miguel de Icaza <miguel@nuclecu.unam.mx>
5549 * src/expr.c (eval_expr): Fix the way we computed expressions.
5551 * src/eval.c (cell_eval): Maintain a CELL_ERROR flag to know if
5552 the value is NULL due to an error or to the cell not being
5555 * src/expr.c (funcion_call_with_values): Add a routine to allow
5556 plugins to call other functions defined in Gnumeric.
5558 * src/style.c: Handle the pattern property of the styles.
5560 * src/style.h: Pattern style is now just a 4 bit quantity, instead
5561 of a RefCounted structure.
5563 * src/plugin.c: Include gnumeric-util.h
5565 1998-09-19 Miguel de Icaza <miguel@nuclecu.unam.mx>
5567 * src/item-cursor.c (item_cursor_do_drop): Use button-1 to select
5568 an option on the popup menu.
5570 * src/fn-date.c: New file, implements various date and time
5571 manipulation routines.
5573 * src/main.c: Accept --dump-func-defs flag to dump the help
5574 available for our built in functions.
5576 * src/symbol.c: Export the symbol hash table.
5578 * src/format.c (render_number): Use the locale provided rendering
5579 number. This will require translators to also translate correctly
5580 the default formats for their locale.
5582 * src/format.c (split_time): New code that works correctly
5583 in the range expected by Microsoft Excel [1900,1900+65535]. We of
5584 course work on a wider range than Excel can. We can work on
5585 pre-1900 dates and on 1900+2^31 dates, but it might make little sense.
5587 1998-09-18 Miguel de Icaza <miguel@nuclecu.unam.mx>
5589 * src/sheet-autofill.c (fill_item_new): Trivial bug fix (I was
5590 using a variable before testing if it wsa ok).
5592 1998-09-18 Miguel de Icaza <miguel@nuclecu.unam.mx>
5594 * src/item-cursor.c (item_cursor_autofill_event): Accept pending
5595 input when the user autofills.
5597 * README, Doc/Design: Updated
5599 * configure.in: autoconf tests for python.
5601 * src/sheet-autofill.c (sheet_autofill_dir): Only fill the region
5604 1998-09-17 Tom Dyas <tdyas@vger.rutgers.edu>
5606 * plugins/sample/plugin-sample.c: Update to the new plugin API.
5608 * src/plugin.c (plugin_load,plugin_unload): Replaced g_print's
5609 with gnumeric_notice. Call new API function "can_unload" to see if
5610 a plugin is still in use.
5612 * src/plugin.h: New API function "can_unload". Removed refcount.
5614 1998-09-17 Miguel de Icaza <miguel@nuclecu.unam.mx>
5616 * src/sheet-view.c (sheet_view_row_size_changed,
5617 sheet_view_col_size_changed): If there is a selection of columns
5618 or rows, change the sizes of all of the columns.
5620 * src/sheet.c (sheet_row_get_distance, sheet_col_get_distance):
5621 optimized to be O(n) instead of O(n^2) using
5622 (col_row_distance): new routine to compute distances.
5624 * src/sheet-view.c (sheet_view_redraw_cell_region): Add the
5625 scrolling offset to the x and y positions to draw properly
5627 * src/xml-io.c (readXmlSheet): Call sheet_set_zoom_factor to
5628 initialize the ->pixels field.
5630 * src/expr.h: Valued functions now take a FunctionDefinition *
5631 parameter which points to the definition that was used for this
5632 function. This is required for the python interpreter.
5634 * src/cellspan.c (row_cell_get_displayed_at): row->data might be NULL.
5635 (cell_unregister_span): row->data might be NULL.
5637 * src/main.c (main): Add support to load more than one file from
5638 the command line. Drop requirement for --file option.
5640 * src/sheet-object.c (sheet_object_destroy): Keep track of the
5641 sheet->objects structure.
5642 (sheet_object_create_line, sheet_object_create_filled): Keep track
5643 of the sheet->objects structure.
5644 (sheet_object_realize, sheet_object_unrealize): Export these
5646 (sheet_object_destroy): Keep track of the sheet->objects structure
5648 * src/sheet-autofill.c (autofill_cell): Implemented autofill on
5649 strings that contains numbers. This allows autofill to handle
5650 stuff like "Product1" -> "Product2", ...
5652 Wed Sep 16 23:56:59 EDT 1998 Daniel Veillard <Daniel.Veillard@w3.org>
5654 * src/xml-io.c: started working on object saving/loading.
5656 1998-09-16 Miguel de Icaza <miguel@nuclecu.unam.mx>
5658 * src/cursors.c (cursors_shutdown): Fix bug. Destroy the ith
5659 cursor, nor cursor 0 over and over.
5661 * src/sheet-autofill.c (type_is_compatible,
5662 autofill_create_fill_items): Better type compatible routine.
5663 This is required for the list fill type.
5664 (autofill_init): startup the autofill code. It registers a number
5665 of default lists (weekdays and months for now).
5667 1998-09-16 Tom Dyas <tdyas@vger.rutgers.edu>
5669 * src/plugin-manager.c: Changed where the Remove button was made
5670 sensitive so that it actually sync's with the list selection.
5672 1998-09-16 Miguel de Icaza <miguel@nuclecu.unam.mx>
5674 * src/workbook.c: Use the new accelerator setup from
5677 * src/sheet-autofill.c (fill_item_new): We now have a working
5678 implementation of the Autofill feature.
5680 1998-09-15 Miguel de Icaza <miguel@nuclecu.unam.mx>
5682 * src/sheet-autofill.c (fill_range_new): New routine, used to
5685 * src/item-grid.c (item_grid_event): Use the proper cursor
5686 depending on the sheet mode.
5688 * src/sheet-object.c (object_event): Set the cursor to the arrow.
5689 (object_handle_event): Same.
5691 * src/cursors.h (cursor_set_widget, cursor_set): New macros to
5692 access easily the gnumeric cursors.
5694 1998-09-14 Miguel de Icaza <miguel@nuclecu.unam.mx>
5696 * src/cursors.c: Define the Gnumeric cursors here.
5697 (create_bitmap_and_mask_from_xpm): New simplistic function to
5698 create cursors from an XPM inlined file. It assumes 3 colors are
5699 used: none (transparency), black and white.
5700 (cursors_init): Create various cursors for use in Gnumeric.
5702 * src/item-grid.c (item_grid_event): Set the fat cross cursor on
5705 * src/item-cursor.c (item_cursor_selection_event): Handle
5706 GDK_ENTER_NOTIFY and GDK_MOTION_NOTIFY to set the X window pointer
5707 shape properly according to the position of the mouse pointer.
5709 1998-09-13 Miguel de Icaza <miguel@nuclecu.unam.mx>
5711 * src/gnumeric-sheet.c (gnumeric_sheet_realize): Fix: initilaize
5712 the GdkWindow pointer after we have invoked our parent method.
5714 * src/cursors.c: New file. Loads the various cursors used by
5717 * src/item-cursor.c (item_cursor_autofill_event): Implement the
5718 cursor growing autofill rules.
5720 1998-09-12 Miguel de Icaza <miguel@nuclecu.unam.mx>
5722 * src/workbook.c (workbook_setup_sheets): Dont let the workbooks
5724 (do_focus_sheet): Do focus the current sheet on
5726 (workbook_setup_signals): Focus the GnumericSheet if no widget has
5729 * src/cell.c (cell_draw): Use the value-specified color.
5731 * src/format.c (lookup_color, format_color_init,
5732 format_color_shutdown): New routines to use StyleColors instead of
5735 1998-09-11 Miguel de Icaza <miguel@nuclecu.unam.mx>
5737 * src/cell.c (queue_cell, cell_freeze_redraws, cell_thaw_redraws):
5738 Support for freezing/thawing cell redraws to avoid the multiple
5739 calls that will be produced by appying a format.
5741 * src/xml-io.c: Use the new color allocation routines.
5743 * src/color.c: Implement color allocation routines with a Color
5744 context shared by all of Gnumeric's code.
5746 * src/item-cursor.c (item_cursor_realize): Do not allocate
5749 * src/item-grid.c (item_grid_realize): Do not allocate colors
5752 * src/gnumeric-sheet.c (gnumeric_sheet_color_alloc): Remove. This
5755 1998-09-10 Miguel de Icaza <miguel@nuclecu.unam.mx>
5757 * src/cell.c (cell_draw): Fix center alignment code.
5759 1998-09-10 Tom Dyas <tdyas@vger.rutgers.edu>
5761 * src/func.c: Made install_symbols public.
5763 * src/main.c: initialize the plugins.
5765 * src/workbook.c (plugins_cmd): Add a menu option for plugin
5768 * plugin-manager.c: New file. Implements the GUI part of the
5771 * plugin.c, plugin.h: New file. Support for the dynamically loaded
5772 Gnumeric plugin components.
5774 1998-09-10 Miguel de Icaza <miguel@nuclecu.unam.mx>
5776 * src/dialog-cell-format.c (dialog_cell_format): save and restore
5777 the last page used during a cell style application.
5779 * src/item-edit.c (item_edit_draw): Do not shift the characters
5780 one pixel to draw the cursor.
5782 1998-09-09 Miguel de Icaza <miguel@nuclecu.unam.mx>
5784 * src/dialog-cell-format.c (create_background_radio): Use the new
5787 (create_foreground_radio, create_background_radio): Use the new
5788 gnome color pickers.
5790 * src/pattern-selector.c (pattern_selector_select): New widget.
5791 This is a patter selector.
5793 1998-09-08 Miguel de Icaza <miguel@nuclecu.unam.mx>
5795 * src/sheet-object.c (sheet_button_press): Lots of changes to
5796 finish the editing facilities for objects: you can now resize the
5797 objects and you can move them.
5799 1998-09-07 Miguel de Icaza <miguel@nuclecu.unam.mx>
5801 * src/dialog-cell-format.c (apply_font_format): Optimization, walk
5802 the row list instead of calling repeatedly the sheet_row_get
5805 1998-09-07 Miguel de Icaza <miguel@nuclecu.unam.mx>
5807 * src/style.h: Color style is now a single color
5809 1998-09-06 Miguel de Icaza <miguel@nuclecu.unam.mx>
5811 * src/sheet-object.c: New file. The support for adding graphical
5812 objects to the spreadhseet is here. The main entry point is
5813 sheet_set_mode_type which hooks to the signal handlers for object
5816 Various routines for per-view creation, destruction are provided.
5818 1998-09-05 Miguel de Icaza <miguel@nuclecu.unam.mx>
5820 * src/parser.y: Add unary '+'
5822 * src/gnumeric-sheet.c: Add keybinding for Control-Enter which
5823 fills the selection with the current text.
5825 * src/sheet.c (sheet_set_text): New function: sets the contents of
5826 an arbitrary cell to the text as if it were typed by the user.
5827 (sheet_fill_selection_with): Fill the selection with a string.
5829 1998-09-04 Miguel de Icaza <miguel@nuclecu.unam.mx>
5831 * src/gnumeric-sheet.c (gnumeric_sheet_key): Fix the way the
5832 hotkeys were processed (c-a specifically is annoying and all of
5833 the control-keys were being consumed before reaching the
5835 (gnumeric_sheet_key): implemenet control-space
5837 * src/dialog-cell-format.c (create_align_page): Connect to the
5838 toggled signal of auto return.
5840 * src/cell.c (cell_draw): Fix the VALIGN_JUSTIFY case.
5842 * src/item-grid.c (item_grid_draw): Redone the cell draw driver.
5844 * src/cell.c (cell_draw): Now it returns the number of cells it
5846 (cell_calc_dimensions): Unregister the spans when entering,
5847 register the span at exit.
5849 1998-09-03 Miguel de Icaza <miguel@nuclecu.unam.mx>
5851 * src/utils.c (int_get_from_range): Bug fix, we were not doing the
5852 range thing for the "big" case. Thanks to Alan for finding this
5855 1998-09-02 Tristan Tarrant <ttarrant@etnoteam.it>
5857 * configure.in: Included it in ALL_LINGUAS
5859 1998-09-02 Miguel de Icaza <miguel@nuclecu.unam.mx>
5861 * src/cell.c (cell_set_alignment): Bug fix: optimize only if
5862 auto_return is the same value that we have set
5864 * src/gnumeric-sheet.c: Define lots of cool patterns. Where cool
5865 in this sentence is defined as 13 (to leave room for the solid
5867 (gnumeric_sheet_realize): Create the pattern stipples here.
5869 * src/file.c (workbook_save_as, workbook_save,
5870 dialog_query_load_file): New file, new routines to deal with file
5871 save and file load dialog boxes.
5873 * src/workbook.c: Improved our toolbar with new actions.
5875 * src/xml-io.c: Fixed the order in which parameters were passed to
5876 sheet_cell_get/sheet_cell_new
5878 * src/sheet.c (sheet_clear_region): Redraw the deleted region.
5879 (sheet_clear_region_content): Same.
5880 (sheet_cell_remove): same.
5882 * src/sheet-view.c (sheet_view_redraw_cell_region):
5884 * src/cell.c (cell_set_halign): New routine: Only changes the
5885 Horizontal alignment of a cell.
5886 (cell_set_format, cell_set_text, cell_set_font_from_style,
5887 cell_set_halign, cell_set_alignment): Queue a redraw to a cell
5888 before making changes to the properties, to repaint correctly the
5889 regions it covers before the change.
5891 * src/workbook.c (center_cmd, left_align_cmd, right_align_cmd,
5892 set_selection_halign): New routines used to bind the alignment
5893 commands from the toolbar.
5895 * src/sheet-view.c (sheet_view_redraw_cell_region): Silly mistake
5896 fix. Last time I touched this routine i got too excited. I
5897 should use *_col_get_distance only for numbers, not rows.
5899 My variables were badly named and I thus commmited a mistake, fix.
5901 1998-09-01 Miguel de Icaza <miguel@nuclecu.unam.mx>
5903 * src/dialog-cell-format.c (create_align_page): Added support for
5904 the "add returns automatically" formatting option.
5906 * src/cell.c (cell_draw): Finished implementing my new drawing
5907 scheme. It now supports all of the Excel 5.0 alignements.
5909 Added missing calls to cell_calc_dimensions in various spots.
5911 * src/workbook.c: Added a toolbar with some actions.
5913 1998-08-31 Tristan Tarrant <ttarrant@etnoteam.it>
5915 * TODO: some ideas for key shortcuts (from Excel :-)
5917 * src/gnumeric-sheet.c (gnumeric_sheet_key): Implemented page up,
5918 page down and home keys. They don't work for selections at the moment.
5919 Implemented clear. It currently does a clear_all, but ideally it
5920 should pop-up a dialog asking the user what kind of clear he/she wants,
5921 as in Excel. Also clearing cells doesn't update the display.
5923 1998-08-31 Miguel de Icaza <miguel@nuclecu.unam.mx>
5925 * src/cell.c (cell_do_calc_dimensions): New routine that computes
5926 the dimenssions of a cell based on the alignement constraints of
5929 * src/item-bar.c (item_bar_event): grab the focus when selecting
5932 * src/sheet-view.c (sheet_view_redraw_cell_region): Implemented
5933 correctly: we now use cell_get_span on every cell in the range to
5934 actually compute which areas need to be updated.
5936 * src/cell.c (cell_get_span): New routine. Computes the number of
5937 columns spanned by a cell.
5939 Sun Aug 30 17:19:02 EDT 1998 Daniel Veillard <Daniel.Veillard@w3.org>
5941 * src/xml-io.c: added saving of the current workbook as one
5942 file, added code to load the workbook. Some part are really
5943 untested/incomplete especially the style support.
5945 * src/main.c (main): added loading of "default.wb" on startup
5946 i.e. the default workbook.
5948 1998-08-29 Miguel de Icaza <miguel@nuclecu.unam.mx>
5950 * src/item-bar.c (item_bar_get_line_points): New helper routine,
5951 used to create the position of the tracking line for the bar resizing.
5952 (item_bar_event, item_bar_start_resize): Fix the incremental
5955 1998-08-28 Miguel de Icaza <miguel@nuclecu.unam.mx>
5957 * src/sheet.c (sheet_row_set_internal_height): New routine used to
5958 change the heigh of a sheet. Now we also keep a variable to see
5959 if the user has hardcoded the dimensions of the row.
5960 (sheet_compute_visible_ranges): New function to compute the
5961 visible ranges of the Sheets.
5963 * src/item-edit.c (item_edit_init): Init all values.
5964 (item_edit_set_arg): Set the child bounds
5965 (item_edit_draw): Use the style font for the current cell when
5968 * src/dialog-cell-format.c (apply_font_format, create_font_page):
5969 New cell property configuration page: font selector.
5971 * src/cell.c (cell_set_font, cell_set_font_from_style): New
5972 routines to change a cell's font.
5974 * src/item-bar.c (item_bar_start_resize): Fix routine after the
5975 massive changes of yesterday.
5977 1998-08-28 Miguel de Icaza <miguel@nuclecu.unam.mx>
5979 * src/format.c (format_number): Rewrote the format parser. I
5980 took Chris's number formatting routine and made it a
5981 number-rendering only thing to support the complexities of the
5982 Excel formating codes.
5984 1998-08-27 Miguel de Icaza <miguel@nuclecu.unam.mx>
5986 * src/format.c (format_number): Add support for text quoting
5987 inside a format (double quotes and single character quotes); Add
5988 support for space skipping (_) and concatenation of the allowed
5992 * src/sheet-view.c, src/sheet.c, src/gnumeric.c: Massive changes
5993 to the structure of the code to accomodate the fact that we should
5994 be able to have multiple views for a single sheet.
5996 1998-08-26 Miguel de Icaza <miguel@nuclecu.unam.mx>
5998 * src/sheet.c (sheet_clear_region_content): New function to remove
5999 the contents of a region of cells.
6001 * src/dialog-zoom.c (dialog_zoom): Add Zoom window.
6003 * src/style.c (style_color_new, style_color_ref,
6004 style_color_unref): New functions. Color for a cell will be kept
6005 as part of the style. Hack note: if valid_flags reports
6006 STYLE_COLOR style->color might be NULL: this means use the default
6007 sheet colors for this cell.
6009 * src/cell.h: Get rid of GdkColor field.
6011 * src/item-grid.c (item_grid_draw_cell): Draw selected cells
6012 smartly. Now we invert the resulting area (this works for my
6013 16-bpp display, have to try the XOR trick tomorrow on a paletted
6015 (context_clear_cmd): New context command that clears the content
6018 1998-08-25 Miguel de Icaza <miguel@nuclecu.unam.mx>
6020 * src/sheet.c (sheet_row_selection_changed,
6021 sheet_col_selection_changed): Use sheet_selection_clear_only to
6022 avoid getting two selections.
6023 (sheet_col_add): Keep track of the last used columns/rows.
6024 (set_tip_label): New routine to set the tooltip to the value of
6025 the current scroll section
6026 (vertical_scroll_change, horizontal_scroll_change): Update the
6027 tooltip to reflect the current value.
6028 (vertical_scroll_event, horizontal_scroll_event): Create and
6029 destroy the tooltips
6030 (sheet_col_add, sheet_row_add): Keep track of the maximum sheet size
6032 (sheet_delete_col): New public routine.
6033 (sheet_delete_row): New public routine.
6034 (sheet_move_column): New helper routine, it was part of
6035 sheet_insert_col before.
6036 (sheet_insert_row): Manipulate the structures carefully. I was
6037 changing a list that I was using.
6039 * src/dialog-delete-cells.c (dialog_delete_cells): Use
6040 sheet_delete_col, sheet_delete_row. This completes this dialog
6043 1998-08-24 Miguel de Icaza <miguel@nuclecu.unam.mx>
6045 * src/sheet.c (sheet_shift_row): Bug fix: We cannot be making
6046 changes to the column/row lists when we are walking them.
6048 * src/cell.c (cell_formula_relocate): Re-parse the expression
6049 after relocating the formula: the resulting expression might have
6050 invalid cell references.
6052 * src/sheet.c (sheet_shift_col): Implement the column shift
6055 1998-08-23 Miguel de Icaza <miguel@nuclecu.unam.mx>
6057 * src/dialog-cell-format.c (apply_align_format): Actually store
6058 the style selection on the computed style.
6060 * src/eval.c (intersects): Write in terms of range_contains.
6062 * src/utils.c (range_contains): New utility routine.
6064 * src/style.c (style_destroy): It now allow
6065 (style_merge_to): Implement new routine for gradually compute the
6066 full value of a style.
6067 (style_duplicate): Make the routine duplicate only
6068 the valid fields, not all of them.
6069 (style_destory): account for the fact that now we might have
6070 non-complete styles.
6071 (sheet_style_compute): Make it fully functional.
6073 * src/sheet.c (sheet_cell_formula_link,
6074 sheet_cell_formula_unlink): Now we maintain the dependencies at
6075 formula link/unlink time
6076 (sheet_shift_row, shift_insert_col, shift_insert_row): Compute the
6077 dependencies for any changed cells and recalculate.
6078 (sheet_style_attach): Implement.
6079 (sheet_destroy): Destroy the column and row information.
6081 * src/item-grid.c (context_insert_cmd): Use the
6082 dialog_insert_cells instead of the dummy test code we had before.
6084 * src/workbook.c (insert_cols_cmd, insert_rows_cmd): Implement.
6086 1998-08-22 Miguel de Icaza <miguel@nuclecu.unam.mx>
6088 * src/sheet.c (sheet_redraw_all): Redraw also the column and row
6090 (sheet_insert_row): Fix. I was accessing the wrong information;
6091 Fix, on the row selection code;
6092 (sheet_cell_add): Recompute the dimensions properly of the cell
6093 after insertion (this is to fit the use of this routine in a new
6095 (sheet_shift_row): Fix the
6097 * src/dialog-insert-cells.c (dialog_insert_cells): Learn to use
6098 GtkCauldroun's way of dealing with radio buttons.
6100 * src/sheet.c (sheet_selection_paste): Now the clipboard fills the
6101 region which is the union of the current selection and the
6102 information in the clipboard.
6104 * src/clipboard.c (clipboard_paste_region): Check the region where
6105 we pasted for possible dependencies, and if so, queue a recalc.
6106 (clipboard_paste_region): It now takes a region to be filled
6107 instead of just using the contents of the clipboard.
6109 * src/eval.c (search_cell_deps): Updated to search on cell ranges
6110 instead of a single cell.
6111 (region_get_dependencies): Get dependencies for a complete
6113 (cell_get_dependencies): Reworked to use new scheme
6115 1998-08-21 Miguel de Icaza <miguel@nuclecu.unam.mx>
6117 * src/dialog-insert-cells.c: New file. Handle the insert cells
6118 dialog box. This uses GtkCauldron for the first time. That
6119 routine is soooo cool!
6121 * src/sheet.c (sheet_cell_remove): Remove the memory used by the
6122 key in the hashtable as well.
6123 (sheet_insert_col): new routine used to insert columns in the
6124 spreadsheet, it is pretty elaborate.
6125 (sheet_col_destroy, sheet_row_destroy): New routine used by the
6126 column-overflow logic in the insertion routines.
6127 (sheet_cell_add): Only attach a style to a cell if it does not
6129 (sheet_move_row): New routine: shifts a row a number of columns.
6130 (sheet_verify_selection_simple): New routine for warnging about
6131 the multiple-selections case. In the future it should provide a
6133 (sheet_insert_row): Implement this new routine.
6135 * src/clipboard.c (paste_cell): Simplify.
6137 * src/cell.c (cell_make_value, cell_formula_relocate): New routines
6138 based on the code that was done for the clipboard. Now they are
6139 used in other places as well. cell_make_value actually fixes a
6140 potential bug that caused formulas to reappear magically on
6141 paste-values commands (never hit the bug, but it was there, I
6144 1998-08-20 Miguel de Icaza <miguel@nuclecu.unam.mx>
6146 * src/gnumeric-sheet.c (gnumeric_sheet_set_cursor_bounds): New
6147 routine to set the cursor bounds.
6149 * src/sheet.c (sheet_selection_paste): Set the cursor and the
6150 selection to the new spot.
6152 * src/dialog-paste-specia.c: Move the dialog code here.
6154 * src/format.c (format_number): Do not abort after we have
6155 processed the whole format, but rather append the rest of the
6157 (style_entry_free): Kill the warnings
6159 1998-08-20 Chris Lahey <clahey@umich.edu>
6161 * src/style.h: Added StyleFormatEntry and changed StyleFormat.
6163 * src/format.c: Added multi-field formatting. format_text now
6164 takes a StyleFormatEntry.
6166 (check_valid): Returns true if the given StyleFormatEntry is
6167 applicable to the given value.
6169 1998-08-19 Miguel de Icaza <miguel@nuclecu.unam.mx>
6171 * src/format.c (format_value): The new entry point for formating
6172 values. This takes a Value instead of a float.
6173 NULL is never returned from format_value now: if there is a format
6174 error, then value_string is used to display it.
6176 (format_compile): This routine should always return, it cant fail,
6177 in the worst * case it should just downgrade to simplistic formatting.
6179 (format_destroy): This routine is invoked when the last user of
6180 the format is gone (ie, refcount has reached zero) just before the
6181 StyleFormat structure is actually released. resources allocated
6182 in format_compile should be disposed here
6184 * src/sheet.c (sheet_cursor_set): New function. Use this instead
6185 of the view-specific routine (gnumeric_cursor_set).
6187 * src/gnumeric-sheet.c (gnumeric_sheet_can_move_cursor): ':' is a
6188 valid separator for activating the cursor-cell selection mode.
6190 * src/cell.c (cell_auto_align): New function. This tries to
6191 auto-align the cell contents depending on the value type.
6193 * src/dialog-cell-format.c (cell_properties_apply): Create a
6194 single style that is attached to a region and let each property
6195 page fill the structure in.
6196 (apply_align_format): Implement. No wonder it was not working
6198 (apply_number_formats): Fill the passed Style structure only.
6199 Remove obsolete code.
6201 * src/sheet.c (sheet_cell_new): New cells are born with auto-style
6204 * src/clipboard.c (paste_cell): Render the cell after computation
6205 is finished. Clean up the usage of the cell manipulation; make
6206 auto-style work on pasted cells.
6208 * src/str.c (string_ref): Return the value referenced.
6210 * src/item-cursor.c (item_cursor_do_drop): New function: Handles
6211 the action from the cursor drag operation.
6213 * src/gnumeric-util.c (run_popup_menu): New utility function to
6214 popup menus created from an array of strings.
6216 * src/sheet.c (sheet_selection_cut, sheet_selection_copy): They
6217 now return whether it was possible to perform the operation.
6219 1998-08-18 Miguel de Icaza <miguel@nuclecu.unam.mx>
6221 * src/cell.c (cell_set_alignment): Provide a way to change the
6224 * src/dialog-cell-format.c (create_align_page): Implement the cell
6225 formats/alignment page.
6227 * src/item-cursor.c (item_cursor_realize): Add stypple support for
6228 drag and autofill cursors.
6230 * src/gnumeric-sheet.c (gnumeric_sheet_compute_visible_ranges):
6231 Make the selected column and row be always fully visible (ie, use
6232 the ->last_full_[col|row] instead of last_visible_[col|row].
6234 * src/cell.c (cell_set_format): Call cell_queue_redraw after
6235 changing the cell contents.
6237 1998-08-18 Chris Lahey <clahey@jennifer.reshall.umich.edu>
6239 * src/format.c (format_number): Fixed the small '.' error.
6240 (decimal point shown even if not requested in numeric
6243 1998-08-17 Miguel de Icaza <miguel@nuclecu.unam.mx>
6245 * src/eval.c (cell_eval): Use the formating routine now.
6247 * src/expr.c (value_format): Format a Value with a StyleFormat.
6249 * src/item-cursor.c (item_cursor_set_bounds_visibly): Force a
6250 canvas update after moving the selection.
6252 * src/sheet.c (sheet_selection_to_list): New function: generates a
6253 list of cells from the sheet->selections list.
6255 * src/style.c: Now styles have a "valid_flag" that has a bit
6256 turned on for those parts of the style that are actually used.
6257 This is required for adding the regions of style application in a
6259 (style_destroy): destroy only those valid parts in a style.
6261 * src/dialog-cell-format.c: New file. Implements the cell/format
6264 * src/cell.c (cell_render_value): new routine used to render the
6265 cell->value into cell->text.
6266 (cell_queue_redraw): new routine to queue individual redraws of
6267 the screen. I believe it is buggy, as the screen does not update
6268 after an apply in the cell/format dialog box.
6269 (cell_set_format): New routine to change the format of an existing
6272 * src/format.c (format_number): Added color argument; smaller
6273 fixes to use it within gnumeric.
6275 * src/main.c (main): Include i18n setup as per namsh's suggetion.
6277 1998-08-15 Chris Lahey <clahey@umich.edu>
6279 * src/format.c: Merged format_text and format_date into
6281 Added parsing of am/pm.
6282 Added a short format description.
6284 1998-08-15 Miguel de Icaza <miguel@nuclecu.unam.mx>
6286 * src/item-cursor.c (item_cursor_drag_event): Make the drag cursor
6289 * src/item-grid.c (item_grid_event): Use the converted cordinates.
6290 (item_grid_find_row, item_grid_find_col): Rename and export these
6291 routines to be used by the ItemCursor.
6293 * src/gnumeric-sheet.c (gnumeric_sheet_key): Do not remove the
6294 selection string when the input has been accepted.
6296 * src/expr.c (expr_tree_ref): Strategy change: Now every ExprTree
6297 node is properly refcounted, as soon we will start sharing parts
6298 of the ExprTree between cells.
6299 (do_expr_decode_tree): Decoding an expression now takes into
6300 account the precedence of the operators and uses paretheses only
6301 when they are actually required.
6303 1998-08-14 Miguel de Icaza <miguel@nuclecu.unam.mx>
6305 * src/item-grid.c (item_grid_event): Implemented context sensitive
6307 (item_grid_event): Use <control> instead of <shift> for extending
6310 * src/clipboard.c (clipboard_paste_region): After pasting, trigger
6313 1998-08-14 Jaka Mocnik <jaka.mocnik@kiss.uni-lj.si>
6315 * src/clipboard.h: changed PASTE_ALL to PASTE_ALL_TYPES.
6316 * src/gnumeric-util.c (gtk_radio_group_get_selected):
6317 changed to work. I guess it is a bit weird trying to
6318 access a next member of an int ;).
6320 1998-08-13 Miguel de Icaza <miguel@nuclecu.unam.mx>
6322 * src/workbook.c (workbook_set_region_status): Support going to a
6323 cell by typing the cell name on the entry line.
6324 (workbook_parse_and_jump): new routine for jumpting to a specific
6327 * src/dialog-goto-cell.c: New file. Implements the goto cell
6330 * src/clipboard.c: implemented paste-special dialog box.
6331 (clipboard_paste_region): Redraw after clearing and after each
6334 * src/sheet.c (sheet_selection_changed_hook): Display the current
6336 (sheet_selection_walk_step): Fix the movememnt code to walk
6337 correctly over the selection.
6339 * src/cell.c (cell_formula_changed): New function used to notify
6340 of a cell formula change (required for recomputation and to add
6341 the cells to the proper computation lists).
6343 * src/expr.c (expr_decode_tree): Goes from ExprTree to a string
6344 representation. This is required when copying cell values to
6345 recompute the string that is displayed to the user.
6347 * src/util.c (cellref_name): New function, get a string
6348 representation for a CellRef.
6349 (parse_cell_name): New function, returns integers for col, row
6350 from a cell string representation.
6352 Thu Aug 13 19:08:28 1998 Tom Tromey <tromey@cygnus.com>
6354 * src/xml-io.c: Look in gnome-xml for tree.h and parser.h.
6356 Thu Aug 13 00:02:23 EDT 1998 Daniel Veillard <Daniel.Veillard@w3.org>
6358 * src/xml-io.c : adapated to the new version 0.2 of the xml lib
6360 1998-08-11 Miguel de Icaza <miguel@nuclecu.unam.mx>
6362 * src/fn-math.c (gnumeric_bin2dec): finish implementation of
6365 * src/item-grid.c (item_grid_event): Call
6366 gnumeric_sheet_accept_pending_output before moving the cursor.
6368 * src/item-cursor.c (item_cursor_event): Event handler for the
6371 * src/item-cursor.h: More cursor types: ITEM_CURSOR_AUTOFILL (for
6372 the case where the small drag box is used) and ITEM_CURSOR_DRAG
6373 (for when the item is being dragged).
6375 * src/clipboard.c (clipboard_paste_region,
6376 clipboard_copy_cell_range): New functions for cut and paste
6379 * src/cell.c (cell_destroy, cell_copy): New functions. Preparing
6380 for cut and paste support.
6382 * src/expr.c (value_copy_to): Finish implementing all cases.
6383 (value_duplicate): New function. Duplicates a value.
6385 * src/sheet.c (sheet_cell_remove): Implement a way to remove
6388 * src/eval.c (workbook_recalc): New recomputation strategy: We
6389 now keep a generation flag for determining whenever a cell value
6390 has been recomputed for this generation. The generation variable
6391 is a char. Everytime we are about to overflow the char, we walk
6392 the list of formulas and reset the generation flag.
6394 1998-08-10 Miguel de Icaza <miguel@nuclecu.unam.mx>
6396 * src/eval.c (workbook_recalc): Queue computation for cells that
6397 have been recomputed.
6399 * src/expr.c (eval_expr): Implement the concatenation operator.
6401 1998-08-09 Miguel de Icaza <miguel@nuclecu.unam.mx>
6403 * src/expr.c (eval_expr): Implement comparission.
6405 * src/str.c (string_unref_ptr, string_unref): Remove the string
6406 from the string_hash_table when the refcount reaches zero.
6408 * src/symbol.c (symbol_unref): Remove the symbol from the hash
6409 table when the refcount reaches zero.
6411 1998-08-07 Miguel de Icaza <miguel@nuclecu.unam.mx>
6413 * src/gnumeric-sheet.c: Renamed all references to (GnumericSheet
6414 *) called "sheet" to "gsheet".
6416 * src/sheet.h: Renamed parent_workbook in to be workbook.
6418 * src/cell.h: Include a Sheet * in the cell. Make routines that
6419 required a Sheet parameter only use the Cell parameter now.
6421 * src/eval.c (add_tree_deps, cell_add_dependencies,
6422 add_value_deps, dependency_hash_init, dependency_hash,
6423 dependency_equal): New functions to maintain the
6427 (gnumeric_max): Implemented function MAX.
6428 (gnumeric_min): Implemented function MIN.
6430 1998-08-06 Miguel de Icaza <miguel@nuclecu.unam.mx>
6432 * src/expr.c (eval_expr): Implemented exponentiation.
6433 Removed the code that used GMP.
6435 * src/parser.y (yylex): Bug fix: allocate the string.
6437 * src/sheet.c (CRowSort): Sort in the other direction my list of
6439 (sheet_cell_foreach_range): Iterate over the lists with ->next,
6440 not with ->data. Important bug fix.
6442 * src/parser.y (return_cellref): Fix the cell parsing routine to
6443 store the correct information.
6445 * src/fn-math.c: Moved the math functions to this file.
6446 (gnumeric_sum): Make it use the new function_iterate_argument_values.
6447 (gnumeric_and): Implement AND function.
6448 (gnumeric_or): Implement OR function.
6450 * src/func.c (function_iterate_argument_values): New function to
6451 ease the creation of functions with multiple arguments. It
6452 generates Value * for a list of expressions that might include
6453 arrays and cell ranges.
6455 * src/expr.c (cell_get_col_row): New routine to get the absolute
6456 cordinates with respect to an evaluation column and row.
6458 * src/parser.y (return_symbol): Support for constants.
6460 * src/expr.c (value_copy_to): Support for making Value copies
6461 (only used for our constants actually).
6463 * src/symbol.c (init_constants): Declare TRUE and FALSE.
6465 * src/sheet.c (sheet_selection_changed_hook): Autocomputation
6466 routine. Whenever selection changes this routine will execute an
6467 arbitrary expression (kept in the workbook) and display the
6470 1998-08-05 Miguel de Icaza <miguel@nuclecu.unam.mx>
6472 * src/expr.c (value_release): Release the value.
6473 (value_release): Add support for arrays.
6475 * src/symbol.c (g_strcase_hash): Use case insensitive hash tables.
6477 * src/item-bar.c (item_bar_unrealize): Call parent unrealize
6478 (item_bar_realize): Call parent realize
6480 * src/item-grid.c (item_bar_unrealize): Call parent unrealize
6481 (item_bar_realize): Call parent realize
6483 * src/item-cursor.c (item_bar_unrealize): Call parent unrealize
6484 (item_bar_realize): Call parent realize.
6485 (item_cursor_point): Implement correctly.
6487 * src/expr.c, parser.y (eval_expr): Added comparission operators.
6489 * src/fn-sheet.c (gnumeric_if):
6490 Implemented IF function.
6491 Implemented SELECTION function.
6493 * src/func.c (gnumeric_sum):
6494 Implement SUM function.
6496 1998-08-05 Miguel de Icaza <miguel@nuclecu.unam.mx>
6498 * src/expr.c (eval_funcall): No need for the extra argc
6499 parameter on the functions with strong prototypes.
6501 * src/func.c (gnumeric_cosh): More functions.
6503 * src/item-edit.c (item_edit_set_arg):
6505 * src/gnumeric-sheet.c (cancel_pending_input): Cancel changes
6507 (start_editing_at_cursor): Make a copy of the original text, and
6508 clear the actual text to fix the redraw problems.
6510 * src/item-edit.c (item_edit_set_editor): Make the cursor be in
6511 sync with the GtkEntry by hooking to the "event" signal and
6512 catching key press and key release events.
6514 * src/func.c: More functions added.
6516 * src/symbol.c (g_strcase_equal): Symbol hash table does is
6519 * src/expr.c (eval_funcall): Added function evaluation.
6521 1998-08-03 Miguel de Icaza <miguel@nuclecu.unam.mx>
6523 * src/eval.c: New file. Move the evaluation routines here.
6525 * src/func.c: Functions will go here.
6527 * src/parser.y (alloc_glist): Keep track of argument lists.
6529 1998-07-30 Federico Mena Quintero <federico@nuclecu.unam.mx>
6531 * src/sheet.c (canvas_bar_realized):
6532 * src/gnumeric-sheet.c (gnumeric_sheet_realize): Neat X hack: set
6533 the window backing pixmap to NULL, so that the window does not get
6534 cleared when it receives an exposure event. It will just leave
6535 whatever bits were on the window when the expose happened. This
6536 allows us to avoid flicker. *** MIGUEL, LOOK AT THIS ***
6538 * src/gnumeric-sheet.c (gnumeric_sheet_make_cell_visible): Fixed
6539 width/height confusion (cut&paste bug).
6541 * src/sheet.c (new_canvas_bar): Set outrageously big scrolling
6542 limits. This has to be fixed to use the real sheet's dimensions.
6543 (sheet_new): Use correct table expansion parameters.
6545 * src/sheet.c (sheet_set_zoom_factor): Use gnome_canvas_scroll_to().
6547 * src/gnumeric-sheet.c (gnumeric_sheet_set_top_row): Scroll using
6548 gnome_canvas_scroll_to().
6549 (gnumeric_sheet_set_top_col): Likewise.
6550 (gnumeric_sheet_make_cell_visible): Get the offsets using
6551 gnome_canvas_get_scroll_offsets().
6552 (gnumeric_sheet_make_cell_visible): Use gnome_canvas_scroll_to().
6554 * src/gnumeric-sheet.c (gnumeric_sheet_color_alloc): Query the
6555 colormap with gtkdget_get_colormap(), because the canvas structure
6556 no longer has a colormap field in it.
6557 (gnumeric_sheet_set_top_row): Use the canvas layout adjustment to
6559 (gnumeric_sheet_set_top_col): Use the canvas layout adjustment to
6561 (gnumeric_sheet_make_cell_visible): Get the values from the canvas
6564 * src/sheet.c (new_canvas_bar): Call gnome_canvas_new() correctly.
6565 (scroll_to): New helper function to scroll a canvas.
6566 (sheet_set_zoom_factor): Use scroll_to().
6568 * src/gnumeric-sheet.c (gnumeric_sheet_create): Do not call
6569 gnome_canvas_construct() at is does not exist anymore.
6570 (gnumeric_sheet_new): Use outrageously big values for the canvas
6571 scrolling region, for now. This needs to be fixed.
6572 (gnumeric_sheet_make_cell_visible): Use the canvas layout
6573 adjustment to scroll.
6575 1998-07-30 <miguel@nuclecu.unam.mx>
6577 * src/parser.y (alloc_clean): Free the record that tracks the
6579 (alloc_clean): Handle Strings.
6580 (alloc_list_free): New function: cleans up the allocation list.
6582 * src/gnumeric-sheet.c (gnumeric_sheet_load_cell_val): Fix to use
6585 * src/cell.h: Use the new Strings instead of the Symbols. That
6586 was just a stupid idea.
6588 * src/str.c (string_ref): New file: Implements string sharing.
6590 * src/symbol.c (symbol_install): Use our copy of the allocated key
6591 when installing the symbol.
6593 1998-07-29 <miguel@nuclecu.unam.mx>
6595 * src/symbol.c (symbol_unref_ptr): New function that does symbol
6596 unreferencing and if the reference count reaches zero, it also
6597 sets the value pointed to NULL.
6599 * src/sheet.c (cell_set_text): Release evaluation tree after
6600 entering new contents in a cell.
6602 * src/sheet.h (Cell): We now keep all of the character information
6603 as refcounted Symbols.
6605 * src/expr.c (eval_node_release): Renamed and made static. New
6606 allocation strategy: EvalTree's top node are now refcounted to
6607 simplify cell duplication.
6608 (eval_expr): Now it takes column and row arguments for evaluating
6609 the expression in that context.
6610 (expr_parse_string): Same.
6612 * src/parser.y: Renamed EvalNode to EvalTree.
6613 (return_cellref): CellRefs now contain offsets relative to the
6614 current column/row if the references are not absolute.
6616 * src/gnumeric-sheet.c (gnumeric_sheet_make_cell_visible): Use new
6617 helper routines for doing the scrolling. Scroll vertically.
6618 (gnumeric_sheet_set_top_row, gnumeric_sheet_set_top_col): New
6619 routines for keeping the contents of the canvas and the bars in
6621 (gnumeric_sheet_new): Take the ItemBars for the columns and rows
6624 * src/sheet.c (sheet_select_all): New routine: select the complete spreadsheet.
6626 * src/item-bar.c (item_bar_class_init): Signal now takes an extra
6627 argument which indicates the beginning of a column selection.
6629 * src/sheet.c (sheet_selection_col_extend_to,
6630 sheet_selection_row_extend_to): New methods for implementing the
6631 extending column and row selection.
6632 (sheet_row_selection_changed, sheet_col_selection_changed): Now
6633 they use the new parameter to start the selection.
6635 1998-07-28 <miguel@nuclecu.unam.mx>
6637 * src/sheet.c (sheet_cell_new): Insert the row, not the cell in
6639 (sheet_cell_foreach_range): Fixety fix
6641 1998-07-27 <miguel@nuclecu.unam.mx>
6643 * src/sheet.c (sheet_cell_new): Cells are born with their propper
6645 (cell_set_text): Width should include the margins.
6647 * src/main.c (main): Rename currentWorkbook to current_workbook,
6648 so that it follows the style of the rest of my code ;-)
6650 * src/item-cursor.c (item_cursor_init): Add a timeout handler for
6651 drawing the anted animation.
6652 (item_cursor_set_bounds): Setup the Canvas Item bounding box when
6653 the bounds of the cursor change.
6655 * src/gnumeric-sheet.c (start_cell_selection): Create the
6656 selection cursor at the same position the regular cursor is.
6658 (gnumeric_sheet_init): Share colors between items and the canvas.
6660 Sun Jul 26 17:39:53 EDT 1998 Daniel Veillard <Daniel.Veillard@w3.org>
6662 * configure.in: added GNOME_XML_CHECK
6664 * src/Makefile.am: added xml-io.c to GNUMERIC_BASE_SOURCES and
6665 GNOME_XML_LIB to gnumeric_LDADD and test_parser_LDADD
6667 * src/xml-io.[ch]: Added, provides saving to XML format
6669 * src/main.c: added currentWorkbook global variable
6671 * sheet.h: added currentWorkbook global variable
6673 * workbook.c: added currentWorkbook global variable, a Save menu with
6676 * src/sheet.c: cell_set_text, initialized is_float to zero
6678 * doc/saving.txt: Added, what to be saved and first example.
6680 1998-07-25 Miguel de Icaza <miguel@redhat.com>
6682 * src/item-cursor.c (item_cursor_draw): Minimal code to support
6683 the anted-cursor. There is a bug, I just dont know where :-)
6685 * src/gnumeric-sheet.c (gnumeric_sheet_key): Added support for
6686 selecting cell values with the cursor keys.
6687 (start_cell_selection): Starts the interactive selection of a cell
6688 (stop_cell_selection): Stops the interactive selection of a cell.
6689 (selection_remove_selection_string): Removes the text that has
6690 been inserted into the text line for selection purposes.
6691 (selection_insert_selection_string): Updates the entry with the
6692 contents of the selection range.
6693 (selection_expand_vertical, selection_expand_horizontal): Expands
6696 * src/item-cursor.h (item_cursor_set_bounds): Change prototype to
6697 reflect actual argument names. I was a victim of my own lazyness.
6699 * src/gnumeric-sheet.c (move_cursor_vertical, move_cursor,
6700 move_cursor_horizontal): Renamed to allow formatting in 80
6703 * src/utils.c (cell_name): New routine. Renders a cell name.
6705 * src/sheet.h (IS_SHEET): Added a signature to Sheet strucutres
6706 and a signature to test with.
6708 * src/symbol.c (symbol_ref_string): New function: it makes sure a
6709 symbol exists: it either increases the refcount for an existing
6710 string, or creates it.
6712 1998-07-24 Miguel de Icaza <miguel@redhat.com>
6714 * src/workbook.c (workbook_get_current_sheet): New function.
6716 * src/sheet.c (cell_set_formula): New function. Loads a cell with
6719 * src/parser.y (eval_value_string): New routine to return a string
6720 representation of a Value *. This should use the format.c that
6721 Chris is working on, but we need Chris to commit his changes ;-).
6722 For now it uses %d and %g.
6724 * src/numbers.h: Compatibility functions to make the code work
6725 with or without GMP.
6727 * src/gnumeric-sheet.c (gnumeric_sheet_set_current_value): Sets
6728 the value to whatever happens to be on the input line.
6730 * src/expr.c (eval_cast_to_float): New function: casts a value to
6732 (eval_cell_value): new function.
6733 (eval_node_value): evaluates the expression tree.
6735 * src/cell.h: Keep the computed value as well.
6737 Sat Jul 25 14:10:23 1998 Tom Tromey <tromey@cygnus.com>
6739 * src/Makefile.am (test_parser_LDADD): Added INTLLIBS.
6740 (test_format_LDADD): Likewise.
6741 (check_PROGRAMS): Renamed from noinst_PROGRAMS.
6743 * src/format.c (do_roundup): Renamed from roundup (my Linux
6744 install has a 2-argument `roundup' macro in sys/types.h). Now
6747 1998-07-25 Nuno Ferreira <nmrf@rnl.ist.utl.pt>
6749 * configure.in (ALL_LINGUAS): Added "pt".
6751 1998-07-21 Miguel de Icaza <miguel@nuclecu.unam.mx>
6753 * src/parser.y (yylex): Numbers are parsed correctly. Bits of
6754 Oleo number parsing plugged in.
6756 * src/util.c, src/util.h: New files with assorted number utilities.
6758 * src/numbers.h: New file: takes care of using gmp or regular
6761 * src/expr.c (eval_release_node): Implement.
6762 (eval_release_value): New function.
6764 * src/sheet.c (sheet_col_selection_changed,
6765 sheet_row_selection_changed): Implement.
6766 (sheet_selection_clear, sheet_selection_clear_only): Splitted
6767 functionality into two routines.
6768 (sheet_selection_clear_only): Remove any marks from the bars.
6769 (sheet_row_set_selection, sheet_col_set_selection): Implement.
6771 * src/item-bar.c (is_pointer_on_division): Return the column
6774 * src/item-grid.c (item_grid_draw_cell): Fix the computation for
6777 1998-07-17 Miguel de Icaza <miguel@nuclecu.unam.mx>
6779 * src/gnumeric-sheet.c (gnumeric_sheet_key): Add support for
6782 * src/item-edit.c (item_edit_destroy): Request a repaint for every
6783 area we touched at destruction time.
6785 * src/sheet.c (sheet_redraw_cell_region, sheet_redraw_selection):
6786 New functions to request that only a specific range of cells be
6788 (sheet_selection_extend_vertical,
6789 sheet_selection_extend_horizontal): new routines to deal with
6791 Use those functions all over sheet.c
6793 1998-07-19 Federico Mena Quintero <federico@nuclecu.unam.mx>
6795 * src/gnumeric-sheet.c src/item-bar.c src/sheet.c: Removed the
6796 canvas parameter from calls to gnome_canvas_item_new().
6798 1998-07-18 Raja R Harinath <harinath@cs.umn.edu>
6800 * src/Makefile.am (noinst_PROGRAMS): Don't bother installing
6801 `test-format' and `test-token'.
6803 1998-07-15 Miguel de Icaza <miguel@nuclecu.unam.mx>
6805 * src/gnumeric-sheet.c (gnumeric_sheet_cursor_set): Add tracking.
6807 * src/sheet.c (sheet_destroy): Add destructor.
6808 (sheet_selection_append): New functions for managing the cell
6811 * src/style.c (style_destroy): Add destructor.
6813 1998-07-13 Miguel de Icaza <miguel@nuclecu.unam.mx>
6815 * src/item-edit.c: New file. Adds the editing widget to the
6818 1998-07-15 Federico Mena Quintero <federico@nuclecu.unam.mx>
6820 * src/item-bar.c (item_bar_event): Use
6821 gnome_canvas_item_grab/ungrab() now that they exist.
6823 1998-07-14 Federico Mena Quintero <federico@nuclecu.unam.mx>
6825 * src/item-bar.c (item_bar_realize): Set the item_bar->gc's
6826 foreground color to black (it is by default initialized to pixel
6827 value 0, which is not black on all default colormaps).
6828 (bar_draw_cell): Center the cell's text correctly.
6830 * src/gnumeric-sheet.c (gnumeric_sheet_create): Use
6831 gnome_canvas_construct() to initialize the canvas.
6833 * src/item-bar.c (get_col_name): Fixed generation of column names.
6834 (get_row_name): Rows are numbered from 1, not 0. Also, assert
6835 that the row number is less than 65536.
6836 (item_bar_event): Grab/ungrab the mouse on button press/release.
6837 (item_bar_event): On motion_notify, only call set_cursor() if we
6839 (item_bar_event): Only take care of enter_notify events if we are
6842 * po/es.po configure.in: Added Spanish translation.
6844 1998-07-12 Miguel de Icaza <miguel@nuclecu.unam.mx>
6846 * src/item-bar.c (item_bar_event): Do world->canvas cordinate
6847 conversion to get zoomed resizng working).
6848 (bar_draw_cell): Minor look fix.
6850 * src/sheet.c (sheet_row_set_height): Silly mistake, add the newly
6851 created rowinfo to the row array, not the column array.
6853 1998-07-11 Miguel de Icaza <miguel@nuclecu.unam.mx>
6855 * src/style.c (style_duplicate): New function. Does style
6858 * src/sheet.c (sheet_new): Simple hook signals to test the code.
6860 * src/item-bar.c (item_bar_class_init): Added signals:
6861 size_changed and selection_changed.
6862 (item_bar_event): Add support for resizing columns and rows.
6864 1998-07-10 Miguel de Icaza <miguel@nuclecu.unam.mx>
6866 * src/style.c: New file. Implement the style manager for the
6869 1998-07-09 Miguel de Icaza <miguel@nuclecu.unam.mx>
6871 * src/*: Dropped the ColInfo and RowInfo structures, they are now
6872 unified into a single ColRowInfo structure, they were really the
6873 same thing. Thanks to Federico for the suggestion.
6876 New paint strategy for the grid (uses what apparently Excel does);
6877 It now correctly uses the coordinate system from the canvas (ie,
6878 zoom in and zoom out work);
6880 * src/item-cursor.c: Implemented new version of the cursor. I am
6881 using black lines for the cursor. One day, when I find the
6882 strenght, I will use inversion and the inversion will do the right
6885 * src/item-bar.c: New file. Implements the titles for the columns
6888 * src/*: made stuff fit together.
6890 1998-07-06 Raja R Harinath <harinath@cs.umn.edu>
6892 * configure.in: Remove duplicated AM_GNU_GETTEXT.
6894 Sat Jul 4 15:07:49 PDT 1998 Manish Singh <yosh@gimp.org>
6896 * fixed up intl autoconf stuff
6898 1998-07-04 Chris Lahey <clahey@umich.edu>
6900 * src/Makefile.am (bin_PROGRAMS): Added test-format to compile the
6903 * src/format.c (format_time): Added date formatting.
6904 (format_text): More accurate numeric formatting.
6906 1998-07-03 Chris Lahey <clahey@umich.edu>
6908 * src/format.c: New file to do excel style number formatting.
6910 1998-07-03 Chris Lahey <clahey@umich.edu>
6912 * ChangeLog: Cleared the gnome-games entries from the ChangeLog.