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. 17 Nov, 1998 1 commit
  3. 10 Nov, 1998 1 commit
    • Miguel de Icaza's avatar
      Two things that have been on my hard disk for a long time: · dbf9667e
      Miguel de Icaza authored
      
      
      Two things that have been on my hard disk for a long time:
      
      1. Comments-on-cells code is working.  We just need the nice dialog to
      actually type something in.
      
      It needs xml-io.c support though, hopefully Daniel will add this soon.
      
      2. Dropped cell->entered_text.  We now only store the parsed version
      of the cell (either as an ExprTree or as a Value).  This should help
      mmeeks with his Excel-formula importing code, it should be possible
      to do the right thing now instead of constructing a string representation
      of the formula and re-parsing it.
      
      Various fixes here and there as well.
      
      Miguel
      
      1998-11-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/sheet-view.c (sheet_view_comment_get_points): Scale properly
      	the points to be in window cordinates.
      
      	* src/sheet.c (sheet_col_set_width): Move comments on column
      	change.
      
      	* src/cell.c (cell_copy): Duplicated cells get col, row and sheet
      	values set to NULL.
      
      1998-11-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/fn-misc.c: Add ctype.h
      
      	* src/sheet-view.c (sheet_view_comment_get_points): New utility
      	routine used.
      	(sheet_view_comment_relocate): New function used to relocate a
      	comment canvas item in a cell to its new location.
      
      	* src/cell.c (cell_relocate): Move the comments with the cell.
      	(cell_realize, cell_unrealize, cell_comment_realize,
      	cell_comment_unrealize): New functions used to create and destroy
      	view-specific cell components (the comments are canvas objects
      	that need to be created on a per-view basis).
      dbf9667e
  4. 29 Oct, 1998 1 commit
  5. 20 Oct, 1998 1 commit
  6. 14 Oct, 1998 1 commit
  7. 06 Oct, 1998 1 commit
    • Miguel de Icaza's avatar
      Cells from the clipboard do not have a Sheet parameter attached. · 85cff8c7
      Miguel de Icaza authored
      1998-10-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/cell.c (cell_modified): Cells from the clipboard do not have
      	a Sheet parameter attached.
      
      	* src/sheet.c (sheet_cell_add): Check the computed style:  if the
      	computed style includes a format, then turn on the cell flag for
      	format is set to avoid the auto guess of cell content.
      	(sheet_style_compute): Now can return the flags of the style that
      	were not part of the default style.
      
      	* src/file.c (dialog_query_load_file, workbook_save_as): Put the
      	window close to the mouse.
      
      	* src/workbook.c (sheet_check_dirty, workbook_close): Do not
      	cancel without warning the user if the workbook has changed.
      	(workbook_new, workbook_can_close, workbook_window_destroy,
      	quit_cmd, close_cmd): Reorganized the code to suit the new code to
      	prevent inadvertent quits.
      85cff8c7
  8. 05 Oct, 1998 2 commits
    • Arturo Espinosa's avatar
      Fix typos · 2b2ddc82
      Arturo Espinosa authored
      2b2ddc82
    • Miguel de Icaza's avatar
      New function, used to tag a modified cell in a sheet. · 4a1b760f
      Miguel de Icaza authored
      1998-10-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/cell.c (cell_modified): New function, used to tag a modified
      	cell in a sheet.
      
      	* src/fn-math.c (gnumeric_average): Display error on division by
      	zero.  Make the code not depend on the types returned by
      	gnumeric_sum and gnumeric_count.
      	(callback_function_sum): Keep sum as integers as long as
      	possible instead of using floating point all the time.
      4a1b760f
  9. 03 Oct, 1998 1 commit
    • Miguel de Icaza's avatar
      Do not try to be smart about string content. Let the smartiness to other · eb3b3858
      Miguel de Icaza authored
      1998-10-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/fn-math.c (callback_function_sum): Do not try to be smart
      	about string content.  Let the smartiness to other layers.
      	(gnumeric_average): Handle division by zero on average routine.
      
      	* src/number-match.c (create_option_list): Small bug fix:  First
      	translate, then move the pointer ahead.
      
      	* src/cell.c (str_trim_spaces): Trim space routine was removing
      	everything after the first space instead of removing only the
      	trailing space.
      	(cell_draw): Free the original string, not the modified copy.
      
      	* src/sheet.c (sheet_set_text): Test if the format has been
      	manually set by the user before trying to do format matching.
      
      	* src/cell.h: New flag: CELL_FORMAT_SET, used if the user has
      	manually specified a format. FIXME: This information should be
      	saved and loaded.
      
      	* src/cell.c (cell_set_format): Set the CELL_FORMAT_SET flag
      eb3b3858
  10. 30 Sep, 1998 1 commit
  11. 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
  12. 23 Sep, 1998 1 commit
  13. 22 Sep, 1998 3 commits
  14. 21 Sep, 1998 2 commits
    • Adrian Likins's avatar
      *src/fn-math.c: first stab at fleshing out the help blurbs here. -adrian · fea6e072
      Adrian Likins authored
      1998-09-21  Adrian Likins <adrian@gimp.org>
      
              *src/fn-math.c: first stab at fleshing out the help
      	        blurbs here.
      -adrian
      fea6e072
    • 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
  15. 19 Sep, 1998 2 commits
  16. 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
  17. 05 Sep, 1998 1 commit
  18. 03 Sep, 1998 2 commits
  19. 12 Aug, 1998 2 commits
  20. 08 Aug, 1998 1 commit
    • Arturo Espinosa's avatar
      Today it probably does not compile, but I have to leave now. · 6b09bc61
      Arturo Espinosa authored
      
      
      Today it probably does not compile, but I have to leave now.
      
      This is basically the framework for getting computations working.
      
      My current approach is to register areas of interest for a cell.
      This is not perfect, but good enough:
      
      	The idea is to walk the expression tree and look for
      	cell references (cell references or ranges) and register
      	those areas of "interest" for a cell.
      
      	When a new text is entered into a cell, the "regions" of
      	interest list is checked and if a match is found, then
      	the cells on that region of interest are queued for
      	recomputation.
      
      Of course, I do not know yet how to handle the recursive references.
      
      One option is to keep a counter (that starts at zero) during
      recomputation, ie something like:
      
      eval_cell (Cell *cell)
      {
      	cell->use_count++;
      	if (cell->use_count > threshold)
      		return "Cycle too depth";
      	...
      	on value lookup:
      		eval_cell (cell);
      	...
      	cell->use_count--;
      }
      6b09bc61
  21. 07 Aug, 1998 2 commits
    • Arturo Espinosa's avatar
      oooooopsie · e7977dca
      Arturo Espinosa authored
      e7977dca
    • 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
  22. 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