1. 23 Sep, 1998 2 commits
    • 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
    • Arturo Espinosa's avatar
      Beginning of a test suite for Gnumeric · b033cbff
      Arturo Espinosa authored
      b033cbff
  2. 22 Sep, 1998 2 commits
  3. 19 Sep, 1998 1 commit
  4. 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
  5. 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
  6. 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
  7. 11 Sep, 1998 1 commit
  8. 10 Sep, 1998 1 commit
  9. 07 Sep, 1998 1 commit
    • Miguel de Icaza's avatar
      Color style is now a single color · c15908cc
      Miguel de Icaza authored
      1998-09-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/style.h: Color style is now a single color
      
      1998-09-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/sheet-object.c: New file.  The support for adding graphical
      	objects to the spreadhseet is here.  The main entry point is
      	sheet_set_mode_type which hooks to the signal handlers for object
      	creation.
      
      	Various routines for per-view creation, destruction are provided.
      c15908cc
  10. 05 Sep, 1998 2 commits
    • Miguel de Icaza's avatar
      Add unary '+' · d31d1eaf
      Miguel de Icaza authored
      1998-09-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/parser.y: Add unary '+'
      
      	* src/gnumeric-sheet.c: Add keybinding for Control-Enter which
      	fills the selection with the current text.
      
      	* src/sheet.c (sheet_set_text): New function: sets the contents of
      	an arbitrary cell to the text as if it were typed by the user.
      	(sheet_fill_selection_with): Fill the selection with a string.
      d31d1eaf
    • Arturo Espinosa's avatar
      Fix various pending small buglettes -mig · 76e414be
      Arturo Espinosa authored
      76e414be
  11. 03 Sep, 1998 2 commits
  12. 01 Sep, 1998 1 commit
  13. 28 Aug, 1998 1 commit
    • Arturo Espinosa's avatar
      Today: · ed3cc889
      Arturo Espinosa authored
      
      
      Today:
      
         Gnumeric had a big design problem:  It did not support
         multiple vies of the same sheet, this has been now fixes.
      
         Huge changes to adapt to the new SheetView object that is
         a per-view object.
      
         Some things might be a little broken due to these changes.
      
      miguel.
      ed3cc889
  14. 27 Aug, 1998 1 commit
    • Arturo Espinosa's avatar
      Today: · 89dcab7c
      Arturo Espinosa authored
      
      
      Today:
      
      	- Finally implemented the selection correctly using the
      	  cool techniques Raster and Owen described to me on my
      	  visit to cool RHAD-land.
      
      	  This basically means Gnumeric does not look sharewareish
      	  when you select a range of cells.
      
      	- Zoom dialog box (copy from Excel)
      
      	- Various other sheet-editing facilities are now in place.
      
      	- Scrol-bar fixes and feature additions.
      
      Next:
      
      	I really need to do the file load/save code.
      	I really need some sane font code.
      
      15,011
      89dcab7c
  15. 24 Aug, 1998 1 commit
    • Arturo Espinosa's avatar
      Lots of changes during the weekend: · ba7fbc1f
      Arturo Espinosa authored
      
      
      Lots of changes during the weekend:
      
      	- New style management code:  All styles are now managed by
      	  regions on a sheet (the default region, is attached to the
      	  complete sheet).
      
      	- Styles can now be partial: Only some parts of the style
      	  might be valid (this is very important).
      
      	- Insert column/Insert row/Shift rows has been fixed and
      	  it now computes properly the dependencies on any
      	  data change.
      
      	- Linking/unlinking formulas now takes care also of
      	  adding/removing the dependencies of the cell.
      
      Miguel.
      ba7fbc1f
  16. 21 Aug, 1998 1 commit
    • Arturo Espinosa's avatar
      Format fixes · 4ee2ee43
      Arturo Espinosa authored
      
      
      Format fixes
      
      Paste works just like Excel now.  Dragging a selection
      moves the cursor and the selection properly.
      
      Move the paste-special dialog box to its own file.
      
      Other misc fixes.
      
      Miguel.
      4ee2ee43
  17. 19 Aug, 1998 1 commit
    • Miguel de Icaza's avatar
      Basically: · af81b693
      Miguel de Icaza authored
      
      
      Basically:
      
      	- auto-alignment on cells without style works.
      
      	- Clean ups (use the new cell_ routines).
      
      	- Couple of bug fixes.
      
      	- Figured that aligment code works better if you
      	  actually call the routine on the cell.
      
      Miguel
      
      1998-08-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/sheet.c (sheet_cursor_set): New function.  Use this instead
      	of the view-specific routine (gnumeric_cursor_set).
      
      	* src/gnumeric-sheet.c (gnumeric_sheet_can_move_cursor): ':' is a
      	valid separator for activating the cursor-cell selection mode.
      
      	* src/cell.c (cell_auto_align): New function.  This tries to
      	auto-align the cell contents depending on the value type.
      
      	* src/dialog-cell-format.c (cell_properties_apply): Create a
      	single style that is attached to a region and let each property
      	page fill the structure in.
      	(apply_align_format): Implement.  No wonder it was not working
      	last night.
      	(apply_number_formats): Fill the passed Style structure only.
      	Remove obsolete code.
      
      	* src/sheet.c (sheet_cell_new): New cells are born with auto-style
      	flag turned on.
      
      	* src/clipboard.c (paste_cell): Render the cell after computation
      	is finished.  Clean up the usage of the cell manipulation;  make
      	auto-style work on pasted cells.
      
      	* src/str.c (string_ref): Return the value referenced.
      af81b693
  18. 18 Aug, 1998 1 commit
    • Miguel de Icaza's avatar
      Make the selected column and row be always fully visible (ie, use the · 3c5f135d
      Miguel de Icaza authored
      1998-08-18  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/gnumeric-sheet.c (gnumeric_sheet_compute_visible_ranges):
      	Make the selected column and row be always fully visible (ie, use
      	the ->last_full_[col|row] instead of last_visible_[col|row].
      
      	* src/cell.c (cell_set_format): Call cell_queue_redraw after
      	changing the cell contents.
      3c5f135d
  19. 15 Aug, 1998 1 commit
    • Arturo Espinosa's avatar
      Various little fixes here and there: · c3a522d6
      Arturo Espinosa authored
      
      
      Various little fixes here and there:
      
      	- Basic support for dragging the selection is in (still does
      	  not do anything, will do the action binding later).
      
      	- Fixes to the cell-selection-code-when-you-type-a-formula code
      
      	- ExprTrees are now properly refcounted (instead of only
      	  refcounting the root node).  This is required for the
      	  Paste special/with-arithmetic operation feature.
      
      	- Expression decoding (for pasting a formula with relative
      	  references) now takes into account operator precedence to
      	  avoid cluttering the pasted expression with extra paretheses.
      
      	Other smallish fixes which I forget now.
      
      Miguel.
      c3a522d6
  20. 14 Aug, 1998 1 commit
  21. 13 Aug, 1998 1 commit
  22. 12 Aug, 1998 1 commit
  23. 10 Aug, 1998 1 commit
  24. 08 Aug, 1998 1 commit
    • Arturo Espinosa's avatar
      It autocalcs! · d2c3b2ba
      Arturo Espinosa authored
      
      
      It autocalcs!
      
      My technique is incredibly cool!  The engine should support
      most excel features for recursive computations (we just need
      the dialog boxes now).
      
      It still has a wierdo crash from a mismatched string ref/unref
      but that is going to be trivial to fix.
      
      Next step:  Functions in Perl.
      d2c3b2ba
  25. 05 Aug, 1998 2 commits
  26. 04 Aug, 1998 1 commit
  27. 31 Jul, 1998 1 commit
    • Federico Mena Quintero's avatar
      Neat X hack: set the window backing pixmap to NULL, so that the window · a0190b68
      Federico Mena Quintero authored
      1998-07-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>
      
      	* src/sheet.c (canvas_bar_realized):
      	* src/gnumeric-sheet.c (gnumeric_sheet_realize): Neat X hack:  set
      	the window backing pixmap to NULL, so that the window does not get
      	cleared when it receives an exposure event.  It will just leave
      	whatever bits were on the window when the expose happened.  This
      	allows us to avoid flicker.  *** MIGUEL, LOOK AT THIS ***
      
      	* src/gnumeric-sheet.c (gnumeric_sheet_make_cell_visible): Fixed
      	width/height confusion (cut&paste bug).
      
      	* src/sheet.c (new_canvas_bar): Set outrageously big scrolling
      	limits.  This has to be fixed to use the real sheet's dimensions.
      	(sheet_new): Use correct table expansion parameters.
      a0190b68
  28. 30 Jul, 1998 3 commits
    • Federico Mena Quintero's avatar
      Use gnome_canvas_scroll_to(). · 83801a54
      Federico Mena Quintero authored
      1998-07-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>
      
      	* src/sheet.c (sheet_set_zoom_factor): Use gnome_canvas_scroll_to().
      
      	* src/gnumeric-sheet.c (gnumeric_sheet_set_top_row): Scroll using
      	gnome_canvas_scroll_to().
      	(gnumeric_sheet_set_top_col): Likewise.
      	(gnumeric_sheet_make_cell_visible): Get the offsets using
      	gnome_canvas_get_scroll_offsets().
      	(gnumeric_sheet_make_cell_visible): Use gnome_canvas_scroll_to().
      83801a54
    • Federico Mena Quintero's avatar
      Query the colormap with gtkdget_get_colormap(), because the canvas · ed5aa7d4
      Federico Mena Quintero authored
      1998-07-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>
      
      	* src/gnumeric-sheet.c (gnumeric_sheet_color_alloc): Query the
      	colormap with gtkdget_get_colormap(), because the canvas structure
      	no longer has a colormap field in it.
      	(gnumeric_sheet_set_top_row): Use the canvas layout adjustment to
      	scroll.
      	(gnumeric_sheet_set_top_col): Use the canvas layout adjustment to
      	scroll.
      	(gnumeric_sheet_make_cell_visible): Get the values from the canvas
      	adjustments.
      
      	* src/sheet.c (new_canvas_bar): Call gnome_canvas_new() correctly.
      	(scroll_to): New helper function to scroll a canvas.
      	(sheet_set_zoom_factor): Use scroll_to().
      
      	* src/gnumeric-sheet.c (gnumeric_sheet_create): Do not call
      	gnome_canvas_construct() at is does not exist anymore.
      	(gnumeric_sheet_new): Use outrageously big values for the canvas
      	scrolling region, for now.  This needs to be fixed.
      	(gnumeric_sheet_make_cell_visible): Use the canvas layout
      	adjustment to scroll.
      ed5aa7d4
    • 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
  29. 29 Jul, 1998 1 commit
  30. 28 Jul, 1998 2 commits
  31. 27 Jul, 1998 2 commits
    • Arturo Espinosa's avatar
      902312b2
    • 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