1. 09 Sep, 1998 1 commit
    • Arturo Espinosa's avatar
      Ok, finally objects are fully editable. · 5837f657
      Arturo Espinosa authored
      
      
      Ok, finally objects are fully editable.
      
      We need support for saving the graphical objects.  It should be
      pretty simple, as things are kept nicely on a list of SheetObjects
      which can be dumped and restored from disk easily.
      
      Miguel.
      5837f657
  2. 08 Sep, 1998 1 commit
  3. 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
  4. 03 Sep, 1998 1 commit
  5. 02 Sep, 1998 3 commits
  6. 31 Aug, 1998 1 commit
  7. 28 Aug, 1998 2 commits
    • Arturo Espinosa's avatar
      Redid the format parsing engine to be closer to the Excel formatting · c2f2e55f
      Arturo Espinosa authored
      
      
      Redid the format parsing engine to be closer to the Excel formatting
      engine.  This basically is just a better front end to Clahey's number
      rendering engine.
      
      This now supports quoted strings in a format;  quoted characters;
      spacing control formats;  color specification;  plus some ammount
      of pre-parsing.
      
      Getting it Excel compliant will be a bit more difficult than we
      expected, as for example this format shows:
      
      	000-0000-0000
      
      should render 12345670987 as: 123-4567-0987
      c2f2e55f
    • 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
  8. 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
  9. 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
  10. 22 Aug, 1998 1 commit
    • Miguel de Icaza's avatar
      Today: · ac57f8df
      Miguel de Icaza authored
      
      
      Today:
      
      	- Row insertion works.
      
      	- Dialog box for adding various things (equivalent to
      	  excel's Insert/Cells dialog box, any similarities
      	  with Excel are accidental).
      
      	- Plus the usual exciting features you would expect.
      
      Miguel
      
      1998-08-21  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/dialog-insert-cells.c: New file.  Handle the insert cells
      	dialog box.  This uses GtkCauldron for the first time.  That
      	routine is soooo cool!
      
      	* src/sheet.c (sheet_cell_remove): Remove the memory used by the
      	key in the hashtable as well.
      	(sheet_insert_col): new routine used to insert columns in the
      	spreadsheet, it is pretty elaborate.
      	(sheet_col_destroy, sheet_row_destroy): New routine used by the
      	column-overflow logic in the insertion routines.
      	(sheet_cell_add): Only attach a style to a cell if it does not
      	have any yet.
      	(sheet_move_row): New routine: shifts a row a number of columns.
      	(sheet_verify_selection_simple): New routine for warnging about
      	the multiple-selections case.  In the future it should provide a
      	help context.
      	(sheet_insert_row): Implement this new routine.
      
      	* src/clipboard.c (paste_cell): Simplify.
      
      	* src/cell.c (cell_make_value, cell_formula_relocate): New routines
      	based on the code that was done for the clipboard.  Now they are
      	used in other places as well.  cell_make_value actually fixes a
      	potential bug that caused formulas to reappear magically on
      	paste-values commands (never hit the bug, but it was there, I
      	swear to god).
      ac57f8df
  11. 18 Aug, 1998 1 commit
    • Miguel de Icaza's avatar
      Today: · 8df6dcc8
      Miguel de Icaza authored
      
      
      Today:
      
      	- Cell format dialog box + working number formats.
      
      Miguel.
      
      1998-08-17  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/eval.c (cell_eval): Use the formating routine now.
      
      	* src/expr.c (value_format): Format a Value with a StyleFormat.
      
      	* src/item-cursor.c (item_cursor_set_bounds_visibly): Force a
      	canvas update after moving the selection.
      
      	* src/sheet.c (sheet_selection_to_list): New function: generates a
      	list of cells from the sheet->selections list.
      
      	* src/style.c: Now styles have a "valid_flag" that has a bit
      	turned on for those parts of the style that are actually used.
      	This is required for adding the regions of style application in a
      	Sheet.
      	(style_destroy): destroy only those valid parts in a style.
      
      	* src/dialog-cell-format.c: New file.   Implements the cell/format
      	dialog box.
      
      	* src/cell.c (cell_render_value): new routine used to render the
      	cell->value into cell->text.
      	(cell_queue_redraw): new routine to queue individual redraws of
      	the screen.  I believe it is buggy, as the screen does not update
      	after an apply in the cell/format dialog box.
      	(cell_set_format): New routine to change the format of an existing
      	cell.
      
      	* src/format.c (format_number): Added color argument;  smaller
      	fixes to use it within gnumeric.
      
      	* src/main.c (main): Include i18n setup as per namsh's suggetion.
      8df6dcc8
  12. 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
  13. 14 Aug, 1998 2 commits
  14. 13 Aug, 1998 1 commit
  15. 12 Aug, 1998 1 commit
  16. 10 Aug, 1998 1 commit
  17. 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
  18. 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
  19. 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
  20. 26 Jul, 1998 1 commit
  21. 24 Jul, 1998 1 commit
  22. 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
  23. 14 Jul, 1998 2 commits
  24. 09 Jul, 1998 1 commit
    • Arturo Espinosa's avatar
      Total excitement! (take two, as the previous ChangeLog message was · 2d356b1d
      Arturo Espinosa authored
      
      
      Total excitement! (take two, as the previous ChangeLog message was
      discarded because someone commited before me).
      
      Cool stuff today: we got the columns and rows displayed, with nice
      cursor change working; New canvas paint item strategy works very
      nicely (much better than the previous stuff); got a region-cursor
      working with various of selection modes (still have to figure out how
      to draw selected stuff though); basic cursor movement works for now;
      sample demo of the toy is included.
      
      Miguel.
      2d356b1d
  25. 08 Jul, 1998 1 commit
    • Arturo Espinosa's avatar
      Ok, the fact that life sucks manifests itself in various ways. · da196d41
      Arturo Espinosa authored
      
      
      Ok, the fact that life sucks manifests itself in various ways.
      
      First of all GDK_INVERT and GDK_XOR gc functions do not do
      what you want them to do, but what they are supposed to do, so
      my cursor instead of being a nice black and firm box, is just
      a pinkie thingie on my Indy.
      
      Second, I got all of the grid draw logic wrong.  That is not
      the way Excel does it, so tomorrow, I rewrite it.
      
      Miguel.
      da196d41
  26. 06 Jul, 1998 1 commit
  27. 05 Jul, 1998 1 commit
  28. 02 Jul, 1998 1 commit