1. 28 Nov, 1998 2 commits
    • 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
    • Miguel de Icaza's avatar
      Oops. This was not a bug. gc was actually initialized as being · 13616d71
      Miguel de Icaza authored
      1998-11-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/item-grid.c (item_grid_realize): Oops.  This was not a bug.
      	gc was actually initialized as being item_grid->grid_gc, it was
      	just not obvious.
      
      	* src/main.c (gnumeric_main): Fix the prototype.
      
      	* src/dialog-goto-cell.c (dialog_goto_cell): Revert const from gtk-clist.
      
      	* src/dialog-cell-format.c (create_number_format_page): Revert
      	const from gtk-clist.
      
      	* src/dialog-goto-cell.c (dialog_goto_cell): Revert const from gtk-clist.
      
      	* src/Gnumeric-impl.c: Empty stubs for now.
      13616d71
  2. 24 Nov, 1998 1 commit
    • Miguel de Icaza's avatar
      formula_cell_list *ONLY* exists in the Workbook, not on the Sheet. · ff553ef5
      Miguel de Icaza authored
      1998-11-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/sheet.h: formula_cell_list *ONLY* exists in the Workbook,
      	not on the Sheet.
      
      	* src/sheet.c (sheet_cell_formula_link,	sheet_cell_formula_unlink):
      	Keep the formula on the Workbook, not on the Sheet.  Thanks to
      	Havoc for reporting these bugs.
      
      	* src/cell.c (cell_set_formula): Use cell_set_rendered_text to
      	propery set the error messages.
      	(cell_get_text): If value is NULL, use the rendered version of the
      	text instead of re-rendering it.
      ff553ef5
  3. 11 Nov, 1998 1 commit
  4. 07 Nov, 1998 1 commit
  5. 02 Nov, 1998 1 commit
  6. 28 Oct, 1998 1 commit
    • Miguel de Icaza's avatar
      Use extra argument. · 4443c9f4
      Miguel de Icaza authored
      1998-10-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/parser.c (dump_tree): Use extra argument.
      
      	* src/expr.c (function_call_with_values): Use the extra argument
      	to symbol_lookup
      
      	* src/func.c (constants_init): Use the extra argument to symbol_install.
      
      	* src/main.c (main): Invoke global_symbol_init.
      
      	* src/symbol.h: Symbol routines now take an extra argument; the
      	symboltable they work on.  Now the code can have multiple symbol
      	tables (this is required for the cell range name bindings in a
      	per-sheet fashion.
      4443c9f4
  7. 02 Oct, 1998 1 commit
    • Miguel de Icaza's avatar
      Removed unused variables · e5d027e2
      Miguel de Icaza authored
      1998-10-01  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/item-grid.c (item_grid_event): Removed unused variables
      
      	* src/gnumeric-sheet.c (gnumeric_sheet_start_cell_selection,
      	gnumeric_sheet_selection_extend,
      	gnumeric_sheet_selection_cursor_place): New routines for letting
      	the user use the mouse to select a cell range.  Invoked from
      	item-grid.c
      
      	* src/item-grid.c (item_grid_event): Clean and reorgranize the
      	event handler, remove unused variables.
      
      	* src/gnumeric-sheet.c (selection_expand_horizontal): -1 now means
      	"shrink the selection", which means Left/Up keys shrink.
      	Right/Down expand.
      	(selection_expand_vertical): likewise.
      
      	* src/format.c (format_number): Fixed memory leak: this is a
      	pretty bad construction: g_string_append (s, alloc_string()).  I
      	just did not see it coming.  Taking metal note of this.
      
      	* src/number-match.c (format_create_regexp): Fixed memory leaks.
      	The strings returned by create_option_list need to be released.
      
      	* src/style.c (style_color_new): Important bug fix:  The key I was
      	passing was a GdkColor, but our hash table stored StyleColors
      	inside.
      
      	* src/format.c (append_year): Better fix, suggested by Morten
      	Welinder <terra@diku.dk>
      e5d027e2
  8. 29 Sep, 1998 1 commit
    • 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
  9. 24 Sep, 1998 1 commit
    • Miguel de Icaza's avatar
      New: · 169d1191
      Miguel de Icaza authored
      
      
      New:
      
      	- Bold button works properly (ie, it detects what sort of
      	  stuff you have and presses/unpresses accordingly).
      
      	- GNumeric now has operation modes: sheet and object.
      	  Using delete/backspace/edit-cut will let you kill
      	  objects.
      
      	- Lots of the bug fixes reported by Adrian/Federico.
      
      Here is the detailed changelog:
      
      1998-09-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/xml-io.c: Destroy the extra style.
      
      	* src/main.c (main): No need to init colors as they are auto-inited.
      
      	* src/style.c (font_compute_hints): At font creation time store a
      	couple of the font attributes for quick retrieval.
      
      	* src/sheet-view.c (sheet_view_construct): Do not allow this
      	button to have the focus either.
      
      	* src/item-bar.c (item_bar_draw): If the whole sheet is selected,
      	draw all of the columns in pressed presenstation
      
      	* src/sheet.c (sheet_is_all_selected): Return wheter all the sheet
      	is selected.
      
      	* src/utils.c (cell_name): Fixed cell name computation.
      	(parse_cell_name): Fixed parsing of the cell name.
      169d1191
  10. 23 Sep, 1998 1 commit
    • Miguel de Icaza's avatar
      I got too agressive with the test so no Strings + Numbers were being · d4cf4336
      Miguel de Icaza authored
      1998-09-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/sheet-autofill.c (string_has_number): I got too agressive
      	with the test so no Strings + Numbers were being autofilled.
      
      	* src/workbook.c (workbook_setup_edit_area): Remove the CAN_FOCUS
      	flags form the accept and cancel buttons.  Bind the buttons.
      	(buttons): Neither Zoom-in and Zoom-out can take the focus.
      	(change_selection_font): New function to change the fonts of a
      	cell range.
      
      	* src/sheet.c (sheet_accept_pending_input): Renamed from
      	sheet_accept_pending_output.
      
      	* samples/: Added a new sample file: hypothetical-sales.
      d4cf4336
  11. 19 Sep, 1998 1 commit
    • 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
  12. 17 Sep, 1998 1 commit
  13. 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
  14. 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
  15. 14 Sep, 1998 1 commit
    • Arturo Espinosa's avatar
      Color attributes in formats work (ie, you can get colored cells now); · 4ec6073e
      Arturo Espinosa authored
      
      
      Color attributes in formats work (ie, you can get colored cells now);
      
      My first -futile attempts- at getting various different cursors working on the
      spreadsheet (we need a cross and various other cursors for a better emulation
      of Excel).
      
      The beginning of autofill, but I really need to see Excel live before implementing
      this.
      
      Miguel.
      4ec6073e
  16. 11 Sep, 1998 1 commit
  17. 10 Sep, 1998 1 commit
  18. 05 Sep, 1998 1 commit
  19. 03 Sep, 1998 1 commit
  20. 30 Aug, 1998 1 commit
  21. 17 Aug, 1998 1 commit
  22. 12 Aug, 1998 1 commit
  23. 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
  24. 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
  25. 04 Aug, 1998 1 commit
  26. 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
  27. 27 Jul, 1998 1 commit
    • Miguel de Icaza's avatar
      Rename currentWorkbook to current_workbook, so that it follows the style · 474c8eaa
      Miguel de Icaza authored
      
      1998-07-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/main.c (main): Rename currentWorkbook to current_workbook,
      	so that it follows the style of the rest of my code ;-)
      
      	* src/item-cursor.c (item_cursor_init): Add a timeout handler for
      	drawing the anted animation.
      	(item_cursor_set_bounds): Setup the Canvas Item bounding box when
      	the bounds of the cursor change.
      
      	* src/gnumeric-sheet.c (start_cell_selection): Create the
      	selection cursor at the same position the regular cursor is.
      
      	(gnumeric_sheet_init): Share colors between items and the canvas.
      474c8eaa
  28. 26 Jul, 1998 1 commit
  29. 25 Jul, 1998 1 commit
    • Arturo Espinosa's avatar
      Weee! Regular strings are now treated as values (so they can be used in · a30e70c3
      Arturo Espinosa authored
      
      
      Weee!  Regular strings are now treated as values (so they
      can be used in cell expressions).  This means you can actually
      start typing expressions and they will actually make sense
      (note that no recalc is yet supported).
      
      The code to do interactive selections is there, but for some
      reason the cursor is not paying much attention to me.
      
      This feature lets you select a cell for an expression if you
      type in a formula in the spreadsheet (just type '=' and use
      the arrow keys to see my buggy code).
      a30e70c3
  30. 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
  31. 11 Jul, 1998 1 commit
  32. 02 Jul, 1998 1 commit