OChangeLog-1999-07-09 17.2 KB
Newer Older
1
2
1998-08-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>

Arturo Espinosa's avatar
Arturo Espinosa committed
3
4
5
6
7
8
9
10
	* src/gnumeric-sheet.c: Renamed all references to (GnumericSheet
	*) called "sheet" to "gsheet".

	* src/sheet.h: Renamed parent_workbook in to be workbook.

	* src/cell.h: Include a Sheet * in the cell.  Make routines that
	required a Sheet parameter only use the Cell parameter now.

11
12
13
14
15
16
17
18
19
20
	* src/eval.c (add_tree_deps, cell_add_dependencies,
	add_value_deps, dependency_hash_init, dependency_hash,
	dependency_equal): New functions to maintain the
	DependencyRanges. 

	* src/fn-math.c 
	(gnumeric_max): Implemented function MAX.
	(gnumeric_min): Implemented function MIN.
	

Arturo Espinosa's avatar
Arturo Espinosa committed
21
22
1998-08-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>

Arturo Espinosa's avatar
Arturo Espinosa committed
23
24
25
	* src/expr.c (eval_expr): Implemented exponentiation.
	Removed the code that used GMP.

Arturo Espinosa's avatar
Arturo Espinosa committed
26
27
	* src/parser.y (yylex): Bug fix: allocate the string.

Arturo Espinosa's avatar
Arturo Espinosa committed
28
29
30
31
32
33
34
35
	* src/sheet.c (CRowSort): Sort in the other direction my list of
	cells.
	(sheet_cell_foreach_range): Iterate over the lists with ->next,
	not with ->data.   Important bug fix.

	* src/parser.y (return_cellref): Fix the cell parsing routine to
	store the correct information.

Arturo Espinosa's avatar
Arturo Espinosa committed
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
	* src/fn-math.c: Moved the math functions to this file. 
	(gnumeric_sum): Make it use the new function_iterate_argument_values.
	(gnumeric_and): Implement AND function.
	(gnumeric_or):  Implement OR function.

	* src/func.c (function_iterate_argument_values): New function to
	ease the creation of functions with multiple arguments.  It
	generates Value * for a list of expressions that might include
	arrays and cell ranges. 

	* src/expr.c (cell_get_col_row): New routine to get the absolute
	cordinates with respect to an evaluation column and row.

	* src/parser.y (return_symbol): Support for constants.

	* src/expr.c (value_copy_to): Support for making Value copies
	(only used for our constants actually).

	* src/symbol.c (init_constants): Declare TRUE and FALSE.

Arturo Espinosa's avatar
Arturo Espinosa committed
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
	* src/sheet.c (sheet_selection_changed_hook): Autocomputation
	routine.  Whenever selection changes this routine will execute an
	arbitrary expression (kept in the workbook) and display the
	result. 

1998-08-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/expr.c (value_release): Release the value.
	(value_release): Add support for arrays.

	* src/symbol.c (g_strcase_hash): Use case insensitive hash tables.

	* src/item-bar.c (item_bar_unrealize): Call parent unrealize
	(item_bar_realize): Call parent realize

	* src/item-grid.c (item_bar_unrealize): Call parent unrealize
	(item_bar_realize): Call parent realize
	
	* src/item-cursor.c (item_bar_unrealize): Call parent unrealize
	(item_bar_realize): Call parent realize.
	(item_cursor_point): Implement correctly.

	* src/expr.c, parser.y (eval_expr): Added comparission operators.

	* src/fn-sheet.c (gnumeric_if): 
	Implemented IF function.
	Implemented SELECTION function.

	* src/func.c (gnumeric_sum): 
	Implement SUM function.
	
Arturo Espinosa's avatar
Arturo Espinosa committed
87
88
1998-08-05    <miguel@nuclecu.unam.mx>

89
90
91
92
93
	* src/expr.c (eval_funcall): No need for the the extra argc
	parameter on the functions with strong prototypes. 
	
	* src/func.c (gnumeric_cosh): More functions.
	
Arturo Espinosa's avatar
Arturo Espinosa committed
94
95
	* src/item-edit.c (item_edit_set_arg): 

Arturo Espinosa's avatar
Arturo Espinosa committed
96
97
98
99
100
101
102
103
	* src/gnumeric-sheet.c (cancel_pending_input): Cancel changes
	made.
	(start_editing_at_cursor): Make a copy of the original text, and
	clear the actual text to fix the redraw problems.

	* src/item-edit.c (item_edit_set_editor): Make the cursor be in
	sync with the GtkEntry by hooking to the "event" signal and
	catching key press and key release events.
Arturo Espinosa's avatar
Arturo Espinosa committed
104
105
106
107
108
109
110
111

	* src/func.c: More functions added.

	* src/symbol.c (g_strcase_equal): Symbol hash table does is
	case-insensitive. 

	* src/expr.c (eval_funcall): Added function evaluation.

Arturo Espinosa's avatar
Arturo Espinosa committed
112
113
114
115
116
117
118
119
1998-08-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/eval.c: New file.  Move the evaluation routines here.

	* src/func.c: Functions will go here.

	* src/parser.y (alloc_glist): Keep track of argument lists. 

120
121
1998-07-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>

122
123
124
125
126
127
128
129
130
131
132
133
134
135
	* 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.

136
137
138
139
140
141
142
143
144
	* 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().

145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
	* 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.

166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
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.

226
227
228
229
230
231
1998-07-28    <miguel@nuclecu.unam.mx>

	* src/sheet.c (sheet_cell_new): Insert the row, not the cell in
	the column list.
	(sheet_cell_foreach_range): Fixety fix

232
233
1998-07-27    <miguel@nuclecu.unam.mx>

234
235
236
237
	* src/sheet.c (sheet_cell_new): Cells are born with their propper
	width. 
	(cell_set_text): Width should include the margins. 

238
239
240
241
242
243
244
245
246
247
248
249
250
	* 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.

251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
Sun Jul 26 17:39:53 EDT 1998  Daniel Veillard <Daniel.Veillard@w3.org>

	* configure.in: added GNOME_XML_CHECK

	* src/Makefile.am: added xml-io.c to GNUMERIC_BASE_SOURCES and
	  GNOME_XML_LIB to gnumeric_LDADD and test_parser_LDADD

	* src/xml-io.[ch]: Added, provides saving to XML format

	* src/main.c: added currentWorkbook global variable

	* sheet.h: added currentWorkbook global variable

	* workbook.c: added currentWorkbook global variable, a Save menu with
	  save_cmd callback.

	* src/sheet.c: cell_set_text, initialized is_float to zero

	* doc/saving.txt: Added, what to be saved and first example.

271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
1998-07-25  Miguel de Icaza  <miguel@redhat.com>

	* src/item-cursor.c (item_cursor_draw): Minimal code to support
	the anted-cursor.  There is a bug, I just dont know where :-)

	* src/gnumeric-sheet.c (gnumeric_sheet_key): Added support for
	selecting cell values with the cursor keys.
	(start_cell_selection): Starts the interactive selection of a cell
	(stop_cell_selection): Stops the interactive selection of a cell.
	(selection_remove_selection_string): Removes the text that has
	been inserted into the text line for selection purposes.
	(selection_insert_selection_string): Updates the entry with the
	contents of the selection range.
	(selection_expand_vertical, selection_expand_horizontal): Expands
	the selection.

	* src/item-cursor.h (item_cursor_set_bounds): Change prototype to
	reflect actual argument names.  I was a victim of my own lazyness.

	* src/gnumeric-sheet.c (move_cursor_vertical, move_cursor,
	move_cursor_horizontal): Renamed to allow formatting in 80
	columns. 

	* src/utils.c (cell_name): New routine.  Renders a cell name.


	* src/sheet.h (IS_SHEET): Added a signature to Sheet strucutres
	and a signature to test with.

	* src/symbol.c (symbol_ref_string): New function: it makes sure a
	symbol exists: it either increases the refcount for an existing
	string, or creates it.

1998-07-24    Miguel de Icaza <miguel@redhat.com>

	* src/workbook.c (workbook_get_current_sheet): New function.

	* src/sheet.c (cell_set_formula): New function.  Loads a cell with
	a formula.

	* src/parser.y (eval_value_string): New routine to return a string
	representation of a Value *.  This should use the format.c that
	Chris is working on, but we need Chris to commit his changes ;-).
	For now it uses %d and %g.

	* src/numbers.h: Compatibility functions to make the code work
	with or without GMP.
	
	* src/gnumeric-sheet.c (gnumeric_sheet_set_current_value): Sets
	the value to whatever happens to be on the input line.

	* src/expr.c (eval_cast_to_float): New function: casts a value to
	float. 
	(eval_cell_value): new function.
	(eval_node_value): evaluates the expression tree.

	* src/cell.h: Keep the computed value as well.

329
330
331
332
333
334
335
336
337
338
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's avatar
Nuno Ferreira committed
339
340
341
342
1998-07-25  Nuno Ferreira  <nmrf@rnl.ist.utl.pt>

	* configure.in (ALL_LINGUAS): Added "pt".

343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
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.

Arturo Espinosa's avatar
Arturo Espinosa committed
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
1998-07-17  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/gnumeric-sheet.c (gnumeric_sheet_key): Add support for
	keyboard-selection.

	* src/item-edit.c (item_edit_destroy): Request a repaint for every
	area we touched at destruction time.

	* src/sheet.c (sheet_redraw_cell_region, sheet_redraw_selection):
	New functions to request that only a specific range of cells be
	redrawn.
	(sheet_selection_extend_vertical,
	sheet_selection_extend_horizontal): new routines to deal with
	mouse selection. 
	Use those functions all over sheet.c

385
386
387
388
389
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().

390
391
392
393
394
1998-07-18  Raja R Harinath  <harinath@cs.umn.edu>

	* src/Makefile.am (noinst_PROGRAMS): Don't bother installing
	`test-format' and `test-token'.

Arturo Espinosa's avatar
Arturo Espinosa committed
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
1998-07-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/gnumeric-sheet.c (gnumeric_sheet_cursor_set): Add tracking.

	* src/sheet.c (sheet_destroy): Add destructor.
	(sheet_selection_append): New functions for managing the cell
	selection. 

	* src/style.c (style_destroy): Add destructor.

1998-07-13  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/item-edit.c: New file.  Adds the editing widget to the
	spreadsheet. 

410
411
412
413
414
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.

415
416
1998-07-14  Federico Mena Quintero  <federico@nuclecu.unam.mx>

417
418
419
420
421
	* 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.

422
423
424
425
426
427
428
429
430
431
432
433
434
435
	* 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.

436
437
438
439
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).
440
	(bar_draw_cell): Minor look fix.
441
442
443
444

	* src/sheet.c (sheet_row_set_height): Silly mistake, add the newly
	created rowinfo to the row array, not the column array.

Arturo Espinosa's avatar
Arturo Espinosa committed
445
446
447
448
449
450
451
452
453
454
455
1998-07-11  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/style.c (style_duplicate): New function.  Does style
	duplication.

	* src/sheet.c (sheet_new): Simple hook signals to test the code. 

	* src/item-bar.c (item_bar_class_init): Added signals:
	size_changed and selection_changed.
	(item_bar_event): Add support for resizing columns and rows. 

456
457
458
459
460
1998-07-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* src/style.c: New file.  Implement the style manager for the
	spreadsheet. 

461
462
1998-07-09  Miguel de Icaza  <miguel@nuclecu.unam.mx>

463
464
465
466
	* 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.

467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
	* src/item-grid.c: 
	New paint strategy for the grid (uses what apparently Excel does);
	It now correctly uses the coordinate system from the canvas (ie,
	zoom in and zoom out work);
	
	* src/item-cursor.c: Implemented new version of the cursor.  I am
	using black lines for the cursor.  One day, when I find the
	strenght, I will use inversion and the inversion will do the right
	thing.

	* src/item-bar.c: New file.  Implements the titles for the columns
	and rows;

	* src/*: made stuff fit together.  

482
483
484
485
1998-07-06  Raja R Harinath  <harinath@cs.umn.edu>

	* configure.in: Remove duplicated AM_GNU_GETTEXT.

Manish Singh's avatar
Manish Singh committed
486
487
488
489
Sat Jul  4 15:07:49 PDT 1998 Manish Singh <yosh@gimp.org>

	* fixed up intl autoconf stuff

490
491
492
493
494
495
496
497
1998-07-04  Chris Lahey  <clahey@umich.edu>

	* src/Makefile.am (bin_PROGRAMS): Added test-format to compile the
	formatting tests.

	* src/format.c (format_time): Added date formatting.
	(format_text): More accurate numeric formatting.

498
1998-07-03  Chris Lahey  <clahey@umich.edu>
Arturo Espinosa's avatar
Arturo Espinosa committed
499

500
	* src/format.c: New file to do excel style number formatting.
Arturo Espinosa's avatar
Arturo Espinosa committed
501

502
1998-07-03  Chris Lahey  <clahey@umich.edu>
Arturo Espinosa's avatar
Arturo Espinosa committed
503

504
	* ChangeLog: Cleared the gnome-games entries from the ChangeLog.
Arturo Espinosa's avatar
Arturo Espinosa committed
505