- 28 Sep, 1998 1 commit
-
-
Miguel de Icaza authored
1998-09-27 Miguel de Icaza <miguel@nuclecu.unam.mx> * src/expr.c (function_call_with_values): Check the return value from symbol_lookup. 1998-09-26 Miguel de Icaza <miguel@nuclecu.unam.mx> * src/sheet-object.c (sheet_view_object_realize): Swap coordinates before passing to the canvas item. * plugins/python/python.c (init_plugin): Use the system installation directory to load the python scripts. * autogen.sh: Hack to make libtool add library dependcy information (it modifies the libtool file after it has been created). * src/workbook.c (workbook_set_filename): New routine to set the filename being edited of the workbook. * src/sheet-object.c (create_object): Swap arguments to the ellipse object to guarrantee we pass valid information. * src/render-ascii.c (cell_region_render_ascii): Ok, remove the leaks now.
-
- 26 Sep, 1998 2 commits
-
-
Arturo Espinosa authored
New workbook routine to set the title Hack in autogen.sh to sed the libtool script and allow library dependecies Python plugin now loads its startup file from a system directory.
-
Miguel de Icaza authored
1998-09-25 Miguel de Icaza <miguel@nuclecu.unam.mx> * src/render-ascii.c (cell_region_render_ascii): new routine that renders a cell selection into a an ascii string. IT HAS PILES OF LEAKS. I have to go to the movies, will fix later tonight. * src/clipboard.c (x_clipboard_bind_workbook): New function used to connect the selection signals for a workbook. (x_selection_handler): New function: X selection handler. (clipboard_export_cell_region): New function: Export our clipboard to the X selection. (clipboard_copy_cell_range): call clipboard_export_cell_region * src/plugin-manager.c (plugin_manager_new), plugin.c: Add internationalization support.
-
- 25 Sep, 1998 1 commit
-
-
Miguel de Icaza authored
1998-09-25 Miguel de Icaza <miguel@nuclecu.unam.mx> * src/sheet.c (sheet_selection_row_extend_to, sheet_selection_col_extend_to): New version that makes sure the column information has been allocated. * src/workbook.c (workbook_parse_and_jump): Maximum ranges were a little bit off. * src/parser.y (return_cellref): Fixed the same bug we had in parse_cell_name: The parsing of the column name to a column index was wrong here too. * src/sheet.c (sheet_row_info_set_height, sheet_col_info_set_width): New functions based on the older non-ColRowInfo versions. * src/sheet-view.c (sheet_view_row_size_changed, sheet_view_col_size_changed): Apply changes globaly if the whole sheet is selected.
-
- 24 Sep, 1998 2 commits
-
-
Arturo Espinosa authored
-
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.
-
- 23 Sep, 1998 2 commits
-
-
Miguel de Icaza authored
1998-09-23 Miguel de Icaza <miguel@nuclecu.unam.mx> * 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.
-
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.
-
- 09 Sep, 1998 1 commit
-
-
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.
-
- 08 Sep, 1998 1 commit
-
-
Arturo Espinosa authored
Preliminary support for editing the shape of an object. Miguel
-
- 07 Sep, 1998 1 commit
-
-
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.
-
- 05 Sep, 1998 1 commit
-
-
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.
-
- 02 Sep, 1998 1 commit
-
-
Miguel de Icaza authored
1998-09-02 Miguel de Icaza <miguel@nuclecu.unam.mx> * src/file.c (workbook_save_as, workbook_save, dialog_query_load_file): New file, new routines to deal with file save and file load dialog boxes. * src/workbook.c: Improved our toolbar with new actions. * src/xml-io.c: Fixed the order in which parameters were passed to sheet_cell_get/sheet_cell_new
-
- 29 Aug, 1998 1 commit
-
-
Arturo Espinosa authored
Basically: got font changing working. Miguel.
-
- 28 Aug, 1998 1 commit
-
-
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.
-
- 27 Aug, 1998 1 commit
-
-
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
-
- 26 Aug, 1998 1 commit
-
-
Arturo Espinosa authored
Today: - Column delete and Row delete work. Bindings all over the place are working (context menus, menus, etc). - Made scrollbars usable and include a tooltip-like thing like Excel does. They still are kind of inacurrate, and I just figured out a terrible design mistake that will be fixed tomorrow (it is kind of big). - Various bug fixes to little things I had overlooked in cell insert/shift routines. Miguel.
-
- 24 Aug, 1998 1 commit
-
-
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.
-
- 22 Aug, 1998 1 commit
-
-
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).
-
- 21 Aug, 1998 2 commits
-
-
Arturo Espinosa authored
Last night hacking got us: - Column insertion. - COlumn shifting (insert and delete). Next step: row insertion. Miguel.
-
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.
-
- 19 Aug, 1998 2 commits
-
-
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.
-
Arturo Espinosa authored
Drag and Drop editing actions work now: - Copy cells by contorl-dragging the border of a selection - Move cells by dragging border of a selection - Do other operations by right-button-dragging the selection border Miguel
-
- 18 Aug, 1998 2 commits
-
-
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.
-
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.
-
- 15 Aug, 1998 1 commit
-
-
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.
-
- 14 Aug, 1998 1 commit
-
-
Arturo Espinosa authored
Various small fixes + goto dialogs + improved paste special.
-
- 13 Aug, 1998 2 commits
-
-
Arturo Espinosa authored
Paste special dialog box. Expression tree decoder (required for copy paste). Selection walking works properly just like in Excel.
-
Arturo Espinosa authored
-
- 12 Aug, 1998 2 commits
-
-
Arturo Espinosa authored
OK, first version of Gnumeric with cut/copy/paste support. It has a bug or two that I will fix tomorrow first thing in the morning. Tomorrow I will also do the "move" region thingie with the new fix to the canvas from Federico. Miguel.
-
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 1 commit
-
-
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
-
- 04 Aug, 1998 1 commit
-
-
Arturo Espinosa authored
-
- 30 Jul, 1998 1 commit
-
-
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
-