1. 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
  2. 19 Sep, 1998 3 commits
    • Miguel de Icaza's avatar
      New file, implements various date and time manipulation routines. · 0dc16b15
      Miguel de Icaza authored
      1998-09-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/fn-date.c: New file, implements various date and time
      	manipulation routines.
      
      	* src/main.c: Accept --dump-func-defs flag to dump the help
      	available for our built in functions.
      
      	* src/symbol.c: Export the symbol hash table.
      0dc16b15
    • Arturo Espinosa's avatar
      Laptop sync -mig · a048126f
      Arturo Espinosa authored
      a048126f
    • Miguel de Icaza's avatar
      Accept pending input when the user autofills. · e711a2da
      Miguel de Icaza authored
      1998-09-18  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/item-cursor.c (item_cursor_autofill_event): Accept pending
      	input when the user autofills.
      
      	* README, Doc/Design: Updated
      
      	* configure.in: autoconf tests for python.
      
      	* src/sheet-autofill.c (sheet_autofill_dir): Only fill the region
      	we were requested.
      e711a2da
  3. 18 Sep, 1998 5 commits
    • Tom Dyas's avatar
      Actually make multiple functions work. Support converting Python strings · a8b53eec
      Tom Dyas authored
      into gnumeric string values.
      a8b53eec
    • Tom Dyas's avatar
    • Tom Dyas's avatar
      Update to the new plugin API. · 1cb2421e
      Tom Dyas authored
      1998-09-17  Tom Dyas  <tdyas@vger.rutgers.edu>
      
              * plugins/sample/plugin-sample.c: Update to the new plugin API.
      
              * src/plugin.c (plugin_load,plugin_unload): Replaced g_print's
              with gnumeric_notice. Call new API function "can_unload" to see if
              a plugin is still in use.
      
              * src/plugin.h: New API function "can_unload". Removed refcount.
      1cb2421e
    • Tom Dyas's avatar
      Support for multiple Python-based functions has been installed. From · aca945d0
      Tom Dyas authored
      Python, do something like:
      
      import gnumeric
      
      # Simple function to add two numbers.
      def foobar(a,b):
        return a + b
      
      gnumeric.register_function("adder", "ff", foobar)
      
      Use Makefile.temp to compile the plugin for now until detection of Python
      path is put into configure.in. Python code will be
      loaded from ~/.gnumeric/main.py so stick the above Python code snippet
      in that file to see it run.
      aca945d0
    • 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
  4. 14 Sep, 1998 2 commits
  5. 10 Sep, 1998 1 commit
  6. 05 Sep, 1998 1 commit
  7. 03 Sep, 1998 2 commits
  8. 12 Aug, 1998 1 commit
  9. 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
  10. 07 Aug, 1998 1 commit