1. 28 Nov, 1998 1 commit
    • Miguel de Icaza's avatar
      OH MY GOD! This has been on my laptop for AGES! and it never went into CVS. What a dork I am · 11be5291
      Miguel de Icaza authored
      So, here it is:
      
      1998-11-13  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/sheet-autofill.c (autofill_cell): Simplify by using
      	cell_set_formula_tree
      
      	* src/expr.c (expr_parse_string): Take a sheet argument
      	(expr_decode_tree): Same
      
      	* sheet.c (cellref_name): Now takes a sheet argument and decodes the
      	cellref depending on the sheet.
      
      	* cell.c (CellRef): Now they include the sheet location.
      11be5291
  2. 13 Nov, 1998 1 commit
    • Miguel de Icaza's avatar
      Use case-insenstive routines when creating the hash table. · 3cbc7cdc
      Miguel de Icaza authored
      1998-11-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/parser.y:
      
      	* src/workbook.c (workbook_new): Use case-insenstive routines when
      	creating the hash table.
      	(workbook_sheet_get_free_name): Find an unused name for a sheet.
      	(workbook_sheet_lookup): Looks up a sheet by name in a Workbook.
      	(insert_sheet_cmd): New command to insert a sheet into a workbook.
      
      	* src/utils.c (gnumeric_strcase_hash, gnumeric_strcase_equal):
      	Routines used for strings hash tables that are not case
      	sensitive.
      
      1998-11-12  Morten Wellinder <terra@diku.dk>
      
      	* test-parser.c: Fix to compile with the new API
      
      	* parser.y: Make the code more maintainable.
      3cbc7cdc
  3. 14 Oct, 1998 1 commit
  4. 30 Sep, 1998 1 commit
  5. 29 Sep, 1998 3 commits
    • Arturo Espinosa's avatar
    • Miguel de Icaza's avatar
      Changed the formatting of it to be like the rest of Gnumeric. · ef54b95e
      Miguel de Icaza authored
      1998-09-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/xml-io.c: Changed the formatting of it to be like the rest
      	of Gnumeric.
      
      	* src/fn-math.c, src/fn-date.c: Simplify routines to use
      	value_float and value_int.
      
      	* src/expr.c (value_float, value_int): New utility functions to
      	create values of type integer and float.
      
      	* src/sheet.c (sheet_set_text): Use the matching engine on entered text
      
      	* src/cell.c (cell_set_text_simple): New function.  Does not queue
      	cell computations nor queue any redraws
      	(cell_content_changed): New function: Queues recomputations for
      	cells that depend on the contents of the argument.
      	(cell_set_format_simple): New routine, like cell_set_format but
      	does not render the value nor queues a redraw.
      
      	* src/xml-io.c: Use workbook_recalc_all instead of workbook_recalc
      
      	* src/fn-math.c (gnumeric_log10, gnumeric_log, gnumeric_log2):
      	Range check fix was wrong.  The valid range does not include
      	zero.  Thanks to Morten Welinder for noticing this.
      	(gnumeric_cosh): Call cosh, not cos.
      	Reordered this file to have the help always before the function
      	that defines it.
      	(callback_function_or): Bug fix: any non-zero value is considered
      	to be TRUE.
      	(gnumeric_fact): Use exp (lgamma (n+1)) to compute large
      	factorials (this only applies to factorials over 40).
      
      	* src/about.c (dialog_about): Stop using gnome_dialog_set_modal.
      ef54b95e
    • Miguel de Icaza's avatar
      New: · f4929ca6
      Miguel de Icaza authored
      
      
      New:
      
      	- Excel-like magic on strings works.  This means that everytime
      	  a string appears in an expression, it will be tried to match
      	  against all of the stock formating codes in Gnumeric to see
      	  if there is a match (basically, the inverse to format.c).
      	  If there is one, then the input is converted to a float using
      	  the format rules and the format for the cell is set to the
      	  matching format.
      
      	  This basically means, you can do stuff like:
      		="1/1/1997"+200 and get "7/20/1997"
      
      	  It also works for hours and also lets you input in your own
      	  language (if the locale provides proper translation), ie,
      	  you can input:
      
      		="15 pesos" + 10
      
      	  And get the result.
      
      	- Made another autogen.sh hack to shutup the noisy libtool during
      	  final link stage.
      
      	- Abbreviated months and days now include an asterisk at the
      	  beginning to let translators provide unambiguated strings
      	  (like, may->may).
      
      Miguel.
      Full ChangeLogs:
      
      1998-09-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/fn-date.c (gnumeric_now, gnumeric_date, gnumeric_today):
      	Note that jannuary 1st is day 1, not day zero.
      
      	* src/format.c (append_month): Fixed handling: tm_mon is zero based.
      	(split_time): Fixed silly mistake I did last time I looked at this code
      
      	* src/cell.c (cell_set_formula): Try to set the cell style if the
      	style is General.
      
      	* src/parser.y (return_symbol): Try to match the input with the
      	format matching engine.
      
      	* autogen.sh (PKG_NAME): Another hack to get rid of the annoying
      	extracing symbols list, which, slows down my link time :-)
      
      1998-09-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/number-match.c (compute_value): New file:  Implements a
      	smart way of parsing numbers:  From all of the registered formats,
      	it creates regexps for matching at the time the user inputs data.
      	If that data matches any of the regexps, then the input is
      	converted into a float, and a display format is assigned to it.
      
      	* src/format.c (append_day, append_month): Skip the -now included-
      	start at the begining for internationalization purposes.
      	(split_time): Fixed the hour and second renddering.
      	(format_number): Fix:  hour_seen was not being set.
      
      	* src/sheet-autofill.c (matches_list): Allow the lists to include
      	an asterisk to be able to distinguish between abbreviations and
      	full descriptions.
      f4929ca6
  6. 21 Sep, 1998 1 commit
    • Miguel de Icaza's avatar
      When decoding a tree, include the argument separator. Also, loop properly · 70717960
      Miguel de Icaza authored
      1998-09-21  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/expr.c (do_expr_decode_tree): When decoding a tree, include
      	the argument separator.  Also, loop properly trough the arguments
      	being decoded.
      
      	(function_call_with_values, function_def_call_with_values): New
      	functions: these ones are for the plugins so that a plugin can
      	invoke other functions in Gnumeric.
      
      	* src/fn-date.c (gnumeric_now): The serial number returned by
      	NOW() should be relative to 1900/1/1, not year zero.
      
      1998-09-20  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/expr.c (eval_expr): Fix the way we computed expressions.
      
      	* src/eval.c (cell_eval): Maintain a CELL_ERROR flag to know if
      	the value is NULL due to an error or to the cell not being
      	evaluated.
      
      	* src/expr.c (funcion_call_with_values): Add a routine to allow
      	plugins to call other functions defined in Gnumeric.
      
      	* src/style.c: Handle the pattern property of the styles.
      
      	* src/style.h: Pattern style is now just a 4 bit quantity, instead
      	of a RefCounted structure.
      
      	* src/plugin.c: Include gnumeric-util.h
      70717960
  7. 18 Sep, 1998 1 commit
    • Miguel de Icaza's avatar
      If there is a selection of columns or rows, change the sizes of all of the · f8ea4ab6
      Miguel de Icaza authored
      1998-09-17  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/sheet-view.c (sheet_view_row_size_changed,
      	sheet_view_col_size_changed): If there is a selection of columns
      	or rows, change the sizes of all of the columns.
      
      	* src/sheet.c (sheet_row_get_distance, sheet_col_get_distance):
      	optimized to be O(n) instead of O(n^2) using
      	(col_row_distance): new routine to compute distances.
      
      	* src/sheet-view.c (sheet_view_redraw_cell_region): Add the
      	scrolling offset to the x and y positions to draw properly
      
      	* src/xml-io.c (readXmlSheet): Call sheet_set_zoom_factor to
      	initialize the ->pixels field.
      f8ea4ab6
  8. 16 Sep, 1998 1 commit
    • Arturo Espinosa's avatar
      Autofill lists work: · ef0634ee
      Arturo Espinosa authored
      
      
      Autofill lists work:
      
      	Integers, Floats, Formulas and constant strings works.
      
      Todo:
      
      	Lists of known strings and strings with numbers embedded
      
      Miguel.
      ef0634ee
  9. 15 Sep, 1998 1 commit
    • Arturo Espinosa's avatar
      Got cursors working. · ca8fa0ac
      Arturo Espinosa authored
      
      
      Got cursors working.
      
      Use the cursors properly on the spreadhseet (gives good feedback
      on what is going to happen).
      
      More work on autofill.
      
      miguel.
      ca8fa0ac
  10. 14 Aug, 1998 1 commit
  11. 13 Aug, 1998 1 commit
  12. 12 Aug, 1998 1 commit
  13. 07 Aug, 1998 1 commit
    • Arturo Espinosa's avatar
      Lots of work as usual :-) · c875c8db
      Arturo Espinosa authored
      
      
      Lots of work as usual :-)
      
      Cell lookup is still broken.
      More functions!  COUNT, AVERAGE, AND, OR.
      
      Changed the function framework: it is now easier to write
      functions that take multiple arguments.
      
      Added some documentation on writing functions.
      
      Miguel.
      c875c8db
  14. 06 Aug, 1998 1 commit
    • Arturo Espinosa's avatar
      Lots of things today: · b261e986
      Arturo Espinosa authored
      
      
      Lots of things today:
      
      - New functions implemented:
      	SELECTION(),  SUM(),  IF()
      
      - Autocompute of an expression that applies to the selection.
      
      - Added comparission to the expression grammar.
      
      - Added array values.
      
      Bug fixes as usual and lots other thingies I forget.
      
      Miguel
      b261e986
  15. 05 Aug, 1998 2 commits
  16. 30 Jul, 1998 1 commit
    • 0's avatar
      Free the record that tracks the allocation records. (alloc_clean): Handle · 69def31c
      0 authored
      1998-07-30    <miguel@nuclecu.unam.mx>
      
      	* src/parser.y (alloc_clean): Free the record that tracks the
      	allocation records.
      	(alloc_clean): Handle Strings.
      	(alloc_list_free): New function: cleans up the allocation list.
      
      	* src/gnumeric-sheet.c (gnumeric_sheet_load_cell_val): Fix to use
      	the new Strings.
      
      	* src/cell.h: Use the new Strings instead of the Symbols.  That
      	was just a stupid idea.
      
      	* src/str.c (string_ref): New file:  Implements string sharing.
      
      	* src/symbol.c (symbol_install): Use our copy of the allocated key
      	when installing the symbol.
      
      1998-07-29    <miguel@nuclecu.unam.mx>
      
      	* src/symbol.c (symbol_unref_ptr): New function that does symbol
      	unreferencing and if the reference count reaches zero, it also
      	sets the value pointed to NULL.
      
      	* src/sheet.c (cell_set_text): Release evaluation tree after
      	entering new contents in a cell.
      
      	* src/sheet.h (Cell): We now keep all of the character information
      	as refcounted Symbols.
      
      	* src/expr.c (eval_node_release): Renamed and made static.  New
      	allocation strategy: EvalTree's top node are now refcounted to
      	simplify cell duplication.
      	(eval_expr): Now it takes column and row arguments for evaluating
      	the expression in that context.
      	(expr_parse_string): Same.
      
      	* src/parser.y: Renamed EvalNode to EvalTree.
      	(return_cellref): CellRefs now contain offsets relative to the
      	current column/row if the references are not absolute.
      
      	* src/gnumeric-sheet.c (gnumeric_sheet_make_cell_visible): Use new
      	helper routines for doing the scrolling.  Scroll vertically.
      	(gnumeric_sheet_set_top_row, gnumeric_sheet_set_top_col): New
      	routines for keeping the contents of the canvas and the bars in
      	sync.
      	(gnumeric_sheet_new): Take the ItemBars for the columns and rows
      	as a parameter now.
      
      	* src/sheet.c (sheet_select_all): New routine: select the complete spreadsheet.
      
      	* src/item-bar.c (item_bar_class_init): Signal now takes an extra
      	argument which indicates the beginning of a column selection.
      
      	* src/sheet.c (sheet_selection_col_extend_to,
      	sheet_selection_row_extend_to): New methods for implementing the
      	extending column and row selection.
      	(sheet_row_selection_changed, sheet_col_selection_changed): Now
      	they use the new parameter to start the selection.
      69def31c
  17. 24 Jul, 1998 2 commits
  18. 23 Jul, 1998 1 commit
  19. 22 Jul, 1998 1 commit
    • Miguel de Icaza's avatar
      Numbers are parsed correctly. Bits of Oleo number parsing plugged in. · ef28d5f2
      Miguel de Icaza authored
      1998-07-21  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/parser.y (yylex): Numbers are parsed correctly.  Bits of
      	Oleo number parsing plugged in.
      
      	* src/util.c, src/util.h: New files with assorted number utilities.
      
      	* src/numbers.h: New file: takes care of using gmp or regular
      	double/int.
      
      	* src/expr.c (eval_release_node): Implement.
      	(eval_release_value): New function.
      
      	* src/sheet.c (sheet_col_selection_changed,
      	sheet_row_selection_changed): Implement.
      	(sheet_selection_clear, sheet_selection_clear_only): Splitted
      	functionality into two routines.
      	(sheet_selection_clear_only): Remove any marks from the bars.
      	(sheet_row_set_selection, sheet_col_set_selection): Implement.
      
      	* src/item-bar.c (is_pointer_on_division): Return the column
      	changed.
      
      	* src/item-grid.c (item_grid_draw_cell): Fix the computation for
      	right indentation.
      ef28d5f2
  20. 20 Jul, 1998 1 commit