- 12 Aug, 1998 2 commits
-
-
Arturo Espinosa authored
Ok, fixed the problems with the bounds in the ItemCursor, but i still cant get events after I do a gnome_canvas_grab for the case of the dragging selection.
-
Arturo Espinosa authored
Work on the clipboard
-
- 11 Aug, 1998 1 commit
-
-
Arturo Espinosa authored
Ok, finally got recalculation working as it is supposed to work. This piece of code is so clean that it was actually a clean fix :-)
-
- 10 Aug, 1998 1 commit
-
-
Arturo Espinosa authored
Autocalc works (but I managed to break the recursive detection stuff, will fix that tomorrow). Quick-computations on the selected area (like Excel) works with different user-selectable functions. Fixed the horrible crash due to not removing my strings from the hash table ;-) Miguel
-
- 08 Aug, 1998 2 commits
-
-
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.
-
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--; }
-
- 07 Aug, 1998 4 commits
-
-
Arturo Espinosa authored
More GNOME vaporware code. I am actually commiting empty files, just to increase our line count. Miguel.
-
Arturo Espinosa authored
-
Arturo Espinosa authored
-
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.
-
- 06 Aug, 1998 1 commit
-
-
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
-
- 05 Aug, 1998 4 commits
-
-
Arturo Espinosa authored
-
Arturo Espinosa authored
-
Arturo Espinosa authored
More changes GUI changes
-
Arturo Espinosa authored
We got functions today. Miguel.
-
- 04 Aug, 1998 1 commit
-
-
Arturo Espinosa authored
-
- 31 Jul, 1998 1 commit
-
-
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.
-
- 30 Jul, 1998 3 commits
-
-
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().
-
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.
-
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.
-
- 28 Jul, 1998 1 commit
-
-
Arturo Espinosa authored
-
- 27 Jul, 1998 2 commits
-
-
Arturo Espinosa authored
-
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.
-
- 26 Jul, 1998 1 commit
-
-
Daniel Veillard authored
-
- 25 Jul, 1998 3 commits
-
-
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).
-
Tom Tromey authored
Sat Jul 25 14:10:23 1998 Tom Tromey <tromey@cygnus.com> * src/Makefile.am (test_parser_LDADD): Added INTLLIBS. (test_format_LDADD): Likewise. (check_PROGRAMS): Renamed from noinst_PROGRAMS. * src/format.c (do_roundup): Renamed from roundup (my Linux install has a 2-argument `roundup' macro in sys/types.h). Now static.
-
Nuno Ferreira authored
Don't know why it thinks stamp-h.in is changed. Oh well...
-
- 22 Jul, 1998 1 commit
-
-
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.
-
- 21 Jul, 1998 1 commit
-
-
Arturo Espinosa authored
-
- 19 Jul, 1998 1 commit
-
-
Federico Mena Quintero authored
1998-07-19 Federico Mena Quintero <federico@nuclecu.unam.mx> * src/gnumeric-sheet.c src/item-bar.c src/sheet.c: Removed the canvas parameter from calls to gnome_canvas_item_new().
-
- 18 Jul, 1998 1 commit
-
-
Raja R Harinath authored
* src/Makefile.am (noinst_PROGRAMS): Don't bother installing `test-format' and `test-token'.
-
- 17 Jul, 1998 1 commit
-
-
Arturo Espinosa authored
More work. Miguel.
-
- 15 Jul, 1998 2 commits
-
-
Federico Mena Quintero authored
1998-07-15 Federico Mena Quintero <federico@nuclecu.unam.mx> * src/item-bar.c (item_bar_event): Use gnome_canvas_item_grab/ungrab() now that they exist.
-
Federico Mena Quintero authored
1998-07-14 Federico Mena Quintero <federico@nuclecu.unam.mx> * src/item-bar.c (item_bar_realize): Set the item_bar->gc's foreground color to black (it is by default initialized to pixel value 0, which is not black on all default colormaps). (bar_draw_cell): Center the cell's text correctly.
-
- 14 Jul, 1998 2 commits
-
-
Arturo Espinosa authored
Typing text into cells feels almost like Excel (modulo the fact that my input line is not as cute). No Cell manager yet, so everthing yuo type is gratiously dropped. Very baboon like. Also, some notes from one hour figuring Excel.
-
Federico Mena Quintero authored
1998-07-14 Federico Mena Quintero <federico@nuclecu.unam.mx> * src/gnumeric-sheet.c (gnumeric_sheet_create): Use gnome_canvas_construct() to initialize the canvas. * src/item-bar.c (get_col_name): Fixed generation of column names. (get_row_name): Rows are numbered from 1, not 0. Also, assert that the row number is less than 65536. (item_bar_event): Grab/ungrab the mouse on button press/release. (item_bar_event): On motion_notify, only call set_cursor() if we are not resizing. (item_bar_event): Only take care of enter_notify events if we are not resizing. * po/es.po configure.in: Added Spanish translation.
-
- 12 Jul, 1998 1 commit
-
-
Miguel de Icaza authored
1998-07-12 Miguel de Icaza <miguel@nuclecu.unam.mx> * src/item-bar.c (item_bar_event): Do world->canvas cordinate conversion to get zoomed resizng working). * src/sheet.c (sheet_row_set_height): Silly mistake, add the newly created rowinfo to the row array, not the column array.
-
- 11 Jul, 1998 2 commits
-
-
Arturo Espinosa authored
Lots of stuff. Mouse resizing columns and rows is fully working. Other random internal goodies, the engine is nicer, the code is nicer, the stuff is starting to make sense, etc. It is nice to `see' what it does right now. Miguel.
-
Miguel de Icaza authored
1998-07-10 Miguel de Icaza <miguel@nuclecu.unam.mx> * src/style.c: New file. Implement the style manager for the spreadsheet.
-
- 09 Jul, 1998 1 commit
-
-
Miguel de Icaza authored
1998-07-09 Miguel de Icaza <miguel@nuclecu.unam.mx> * src/*: Dropped the ColInfo and RowInfo structures, they are now unified into a single ColRowInfo structure, they were really the same thing. Thanks to Federico for the suggestion.
-