1. 03 Dec, 1998 1 commit
    • Miguel de Icaza's avatar
      New functions to set the sheet top column and row respectively. · 63064dec
      Miguel de Icaza authored
      1998-12-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/gnumeric-sheet.c (gnumeric_sheet_set_top_row,
      	gnumeric_sheet_set_top_col): New functions to set the sheet top
      	column and row respectively.
      
      	(gnumeric_sheet_bar_set_top_row, gnumeric_sheet_bar_set_top_col):
      	Renamed from their old names to reflect their actual action.
      
      	* src/item-cursor.c (item_cursor_autofill_event): Do not pass
      	negative numbers to item_grid_find_col and item_grid_find_row.
      
      	* src/item-grid.c (item_grid_find_row, item_grid_find_col): Check
      	for possitive numbers. I think the right fix is to accept negative
      	numbers and find the column even if the number is negative instead
      	of this ugly restriction.
      63064dec
  2. 10 Nov, 1998 1 commit
    • Miguel de Icaza's avatar
      Two things that have been on my hard disk for a long time: · dbf9667e
      Miguel de Icaza authored
      
      
      Two things that have been on my hard disk for a long time:
      
      1. Comments-on-cells code is working.  We just need the nice dialog to
      actually type something in.
      
      It needs xml-io.c support though, hopefully Daniel will add this soon.
      
      2. Dropped cell->entered_text.  We now only store the parsed version
      of the cell (either as an ExprTree or as a Value).  This should help
      mmeeks with his Excel-formula importing code, it should be possible
      to do the right thing now instead of constructing a string representation
      of the formula and re-parsing it.
      
      Various fixes here and there as well.
      
      Miguel
      
      1998-11-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/sheet-view.c (sheet_view_comment_get_points): Scale properly
      	the points to be in window cordinates.
      
      	* src/sheet.c (sheet_col_set_width): Move comments on column
      	change.
      
      	* src/cell.c (cell_copy): Duplicated cells get col, row and sheet
      	values set to NULL.
      
      1998-11-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/fn-misc.c: Add ctype.h
      
      	* src/sheet-view.c (sheet_view_comment_get_points): New utility
      	routine used.
      	(sheet_view_comment_relocate): New function used to relocate a
      	comment canvas item in a cell to its new location.
      
      	* src/cell.c (cell_relocate): Move the comments with the cell.
      	(cell_realize, cell_unrealize, cell_comment_realize,
      	cell_comment_unrealize): New functions used to create and destroy
      	view-specific cell components (the comments are canvas objects
      	that need to be created on a per-view basis).
      dbf9667e
  3. 28 Oct, 1998 1 commit
    • Miguel de Icaza's avatar
      Added keypad support. · fd8d903d
      Miguel de Icaza authored
      1998-10-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet): Added
      	keypad support.
      fd8d903d
  4. 13 Oct, 1998 2 commits
    • Jakub Jelinek's avatar
      New functions. (item_grid_event): If x or y is out of canvas bounds, do · 718822fb
      Jakub Jelinek authored
      1998-10-13  Jakub Jelinek  <jj@ultra.penguin.cz>
      
      	* src/item-grid.c (item_grid_stop_sliding,
      	item_grid_sliding_callback, item_grid_start_sliding):
      	New functions.
      	(item_grid_event): If x or y is out of canvas bounds,
      	do sliding for both cell and formula selection.
      	For button release from formula selection, make cell
      	being edited visible afterwards.
      	(item_grid_button_1): If not extending selection with
      	shift, make cursor cell visible.
      
      	* src/gnumeric-sheet.c (move_cursor,
      	gnumeric_sheet_key_mode_sheet): Make cursor cell visible.
      
      	* src/sheet.c (sheet_select_all): Make home visible.
      	(sheet_make_cell_visible): New function.
      	(sheet_cursor_move, sheet_cursor_set): Don't make cursor
      	visible, caller has to do it himself if desired.
      
      	* src/sheet.h (sheet_make_cell_visible): New prototype.
      
      	* src/workbook.c (workbook_parse_and_jump): Make cursor
      	cell visible.
      718822fb
    • Miguel de Icaza's avatar
      It is amazing the number of times I duplicated this code. I wonder if I · cd222d42
      Miguel de Icaza authored
      1998-10-13  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/utils.c (col_name): It is amazing the number of times I
      	duplicated this code.  I wonder if I took prozac by accident.
      	This should fix the bug reported by Morten Welinder
      
      1998-10-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/sheet-view.c (vertical_scroll_event,
      	horizontal_scroll_event): Set the top column/row from the
      	adjustment as well.
      
      	* src/gnumeric-sheet.c (gnumeric_sheet_set_top_col,
      	gnumeric_sheet_set_top_row): Export these functions to improve the
      	scrolling behaviour.
      
      1998-10-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/utils.c (cellref_name): Fixed another of column name
      	decoding.  I wonder when I will learn.
      cd222d42
  5. 12 Oct, 1998 1 commit
    • Jakub Jelinek's avatar
      Add base_col and base_row arguments. Move cursor to that location, so that · 4ded61c3
      Jakub Jelinek authored
      1998-10-07  Jakub Jelinek  <jj@ultra.penguin.cz>
      
      	* src/sheet.c (sheet_cursor_set): Add base_col and
      	base_row arguments. Move cursor to that location, so
      	that it really reflects base of the selection.
      
      	* src/sheet.h (sheet_cursor_set): Ditto.
      
      	* src/clipboard.c (x_selection_received): Callers changed.
      
      	* src/gnumeric-sheet.c (gnumeric_sheet_set_selection): Ditto.
      	(move_cursor): Ditto.
      
      	* src/item-cursor.c (item_cursor_autofill_event): Ditto.
      	(item_cursor_init): Fix a typo.
      4ded61c3
  6. 08 Oct, 1998 1 commit
    • Miguel de Icaza's avatar
      New routine: loads a couple of default fonts to be used in Gnumeric. · 1e3d41ad
      Miguel de Icaza authored
      1998-10-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/style.c (font_init): New routine: loads a couple of default
      	fonts to be used in Gnumeric.
      
      	* src/item-bar.c (bar_draw_cell): Make the SELECTION cells display
      	with a bold font.
      	(item_bar_realize, item_bar_unrealize): reference and unreference
      	the gnumeric_default_bold_font.
      
      1998-10-07  Jakub Jelinek  <jj@ultra.linux.cz>
      
      	* src/item-grid.c (item_grid_button_1): Handle shift+click
      	on cells (removes last selection and selects from last base
      	to current mouse location).
      	(item_grid_event): Don't lock up if mouse is moved during
      	selection behind left or top margin of sheet canvas (later
      	on we should move the current view).
      
      	* src/cell.c (cell_formula_changed): Cast void * to something
      	reasonable.
      
      	* src/item-bar.c (draw_bar_cell): Switch from 2 state bars
      	to 3 state: whole column/row is selected in one of the current
      	selections, some cells are selected in one of the selections
      	or nothing is selected. Get rid of ci->selected, compute it
      	from the selections.
      	(item_bar_draw): Ditto.
      
      	* src/cell.h (selected): Ditto.
      
      	* src/sheet.c (sheet_init_default_styles, sheet_init_dummy_stuff):
      	Ditto.
      	(sheet_selection_row_extend_to, sheet_selection_col_extend_to):
      	Remove.
      	(sheet_all_is_selected): True if any of the selections covers whole
      	sheet.
      	(sheet_col_selection_type, sheet_row_selection_type): New functions.
      	(sheet_selection_set): New function.
      
      	* src/sheet-view.c (sheet_view_row_set_selection,
      	sheet_view_col_set_selection): Remove.
      	(sheet_view_col_selection_changed, sheet_view_row_selection_changed):
      	Handle shift+click and ctrl+click on whole columns/bars as well.
      	(sheet_view_col_size_changed, sheet_view_row_size_changed): Use
      	sheet_*_selection_type instead of ci->selected.
      
      	* src/item-bar.h (ItemBarSelectionType): Enum for the new 3 state
      	column/row titles.
      	(ItemBarClass): selection_changed takes modifier mask as argument.
      
      	* src/sheet-view.h (sheet_view_*_set_selection): Remove prototypes.
      
      	* src/sheet.h (sheet_selection_*_extend_to): Ditto.
      	(sheet_selection_set, sheet_*_selection_type): New prototypes.
      
      1998-10-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      1e3d41ad
  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. 30 Sep, 1998 1 commit
    • Miguel de Icaza's avatar
      New routine to paint a little red triangle if the cell hsa notes. · 890ae3fd
      Miguel de Icaza authored
      
      1998-09-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/cell.c (cell_draw_comment): New routine to paint a little
      	red triangle if the cell hsa notes.
      
      	* src/cell.c (cell_destroy): Destroy the comment.
      	(str_trim_spaces): New routine.  Trims the spaces on a string.
      	(cell_draw): Trim the leading and trailing spaces on every string
      	of a multi-line text.
      
      	* src/color.c (color_init): Allocate a red for tagging the
      	spreadhseet notes.
      
      	* src/dialog-cell-format.c (format_list_fill): Apply the
      	traslation when adding the format.
      
      	* doc/tranlating.sgml: New document that describes how to
      	internationalize and localize Gnumeric properly.
      
      	* src/workbook.c (recalc_cmd): Provide a way to force a recomputation.
      	(insert_current_time_cmd): New function.  insert the current time.
      	(insert_current_date_cmd): New function.  insert the current date.
      	(insert_at_cursor): New utility function.
      
      	* src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet): Handle control-home
      890ae3fd
  9. 25 Sep, 1998 1 commit
    • Miguel de Icaza's avatar
      Do not handle Control-a here. · f0fbe9c5
      Miguel de Icaza authored
      1998-09-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/gnumeric-sheet.c (gnumeric_sheet_key_mode_sheet): Do not
      	handle Control-a here.
      
      	* src/workbook.c: Handle C-a with the GnomeApp accelerators
      f0fbe9c5
  10. 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
  11. 23 Sep, 1998 3 commits
    • Miguel de Icaza's avatar
      Added shortcuts to the File menu. · 8a52fa07
      Miguel de Icaza authored
      1998-09-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
      
      	* src/workbook.c: Added shortcuts to the File menu.
      
      	* src/item-cursor.c (item_cursor_autofill_event): Do not allow
      	under-the-base coordinates.
      
      	* src/sheet-autofill.c: Its "january" not "jannuary".
      
      	* src/cell.c (cell_set_text): Enhanced number detection.
      
      	* src/item-cursor.c (item_cursor_drag_event): Handle sheet
      	boundaries.
      
      	* src/gnumeric-sheet.c (move_cursor_vertical,
      	move_cursor_horizontal): Handle sheet boundaries.
      
      	* src/item-grid.c (item_grid_event): Handle sheet boundaries.
      
      	* src/item-bar.c (item_bar_draw): Handle sheet boundaries.
      
      	* src/pixmaps/bold.xpm:  Oops.  Use the bold icon I created
      	yesterday.
      8a52fa07
    • 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
  12. 22 Sep, 1998 2 commits
  13. 19 Sep, 1998 1 commit
  14. 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
  15. 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
  16. 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
  17. 11 Sep, 1998 1 commit
  18. 10 Sep, 1998 1 commit
  19. 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
  20. 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
  21. 03 Sep, 1998 2 commits
  22. 01 Sep, 1998 1 commit
  23. 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
  24. 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
  25. 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
  26. 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
  27. 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
  28. 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
  29. 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
  30. 14 Aug, 1998 1 commit
  31. 13 Aug, 1998 1 commit
  32. 12 Aug, 1998 1 commit
  33. 10 Aug, 1998 1 commit
  34. 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