1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
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
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
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
329
330
331
332
333
334
335
336
337
338
339
340
341
342
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
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
|
1999-12-02 Miguel de Icaza <miguel@gnu.org>
* e-table-header.c (e_table_header_index): fixed api.
1999-12-01 Miguel de Icaza <miguel@gnu.org>
* test-cols.c (multi_cols_test): Update to simplified API.
* test-check.c (check_test): ditto
* test-table.c (table_browser_test): ditto
* e-table-simple.c (e_table_simple_class_init): Kill column_name method.
* e-table-model.h: Kill column_name method.
* e-table-col.c (e_table_col_new): Instead of using a column name,
use a column index.
* e-cell-text.c (ect_draw): Keep track of the originally allocated
piece of code.
* e-table-header-item.c (ethi_unrealize): Removed change cursor
from here.
* e-cell-text.c (ect_draw): Memory leak fix.
* table-test.c (main): Enhance the demo to load sample.table
automatically, to get memprof working.
* e-table-header.c (eth_do_remove): Take an argument: do -remove.
* e-table-header.c (e_table_header_add_column): Sink ETableCol to
own the object.
* e-table-col.h: Made ETableCol a GtkObject to make reference
counting the lifecycle method for these objects.
* e-table-col.c (e_table_col_destroy): New API call.
* e-table-subset.c (e_table_subset_get_toplevel): New API call.
1999-11-30 Miguel de Icaza <miguel@gnu.org>
* e-cell-checkbox.c (e_cell_checkbox_new): This one derives from
e-cell-toggle.
* check-emtpy.xpm, check-filled.xpm: new files.
* e-cell-toggle.c (etog_draw): Paint in white.
If we have transparency enabled, do the nice alpha computation.
* test-table.c, test-cols.c: new files; They implement the split
tests.
1999-11-29 Miguel de Icaza <miguel@gnu.org>
* e-table-col.c (e_table_col_new): Set etc->resizeable.
* e-table-header-item.c (ethi_event): Handle non-resizeables
columns; Add support for minimum width.
* e-cell-toggle.c, e-cell-toggle.h: New file. Implement a
multi-state image toggle cell object.
* e-cell-text.c (ect_leave_edit): Handle the case of us calling
leave edit manually.
(ect_stop_editing): Leave manually editing here.
(ect_draw): Add one pixel to the border for left and right;
Handle off-screen cursor (must be improved).
(ect_edit_select_all): New function.
(ect_event): Select all text on editing start
* e-table-item.c (eti_event): Map mouse events and dispatch them.
(eti_event): Add spreadsheet mode for editing; Enter editing only
with visual characters;
Leave editing mode when a different row has been selected.
(eti_get_height): Fix the computation for this; Fix logic for the
length_threshold.
(eti_draw): Add borders on all sides of the box;
Only draw focus if the cell is not being edited.
1999-11-28 Miguel de Icaza <miguel@gnu.org>
* e-table-item.c (eti_draw): Focus inside, not outside.
(eti_realize): Enhance our focus gc.
* e-cell-text.c (ect_enter_edit, ect_leave_edit): New methods;
They implement editing.
* e-cell.h: new methods: enter_edit, leave_edit
* e-table-model.h (set_value_at): make val argument const.
* e-table-simple.c (simple_set_value_at): Make value argument const;
* e-table-item.c (eti_set_arg): Add new mode: draw_focus;
1999-11-27 Miguel de Icaza <miguel@gnu.org>
* e-table-item.c (eti_event): beginning of the keyboard navigation.
* e-table-model.c (e_table_model_row_changed): new function.
(e_table_model_cell_changed): new function.
(e_table_model_class_init): New signals.
* e-table-item.c (eti_request_region_redraw): x2, y2 offsets were
wrong.
(eti_select): Repaint selected region.
(eti_request_region_redraw): Fix range.
(eti_draw): Correct offset computation here.
(e_table_item_class_init): New method: row_selection, handles the
selection.
Now it implement GTK_SELECTION_SINGLE and GTK_SELECTION_MULTIPLE.
Focusing and selection should be correct now.
1999-11-26 Miguel de Icaza <miguel@gnu.org>
* e-table-item.c (eti_realize): Compute height using the ecell
methods here.
(eti_get_height): new method to compute dimensions.
* e-cursors.c: use a different cursor.
* e-table-model.h: kill height and row_height methods.
* e-cell.c (ec_height): New method.
* e-cell-text.c (ect_realize): Load the font from the canvas.
(ect_draw): New color setup.
Center in the row.
(ect_height): Implement new method.
1999-11-26 Michael Meeks <mmeeks@gnu.org>
* ROADMAP.e-table: small spelling/typo fixes.
1999-11-25 Miguel de Icaza <miguel@gnu.org>
* e-table-item.c (eti_event): Work on mouse-button event
propagation to cells.
* e-cell-text.c (ect_draw): Use CellViews now.
* e-table-item.c (eti_realize_cell_views): New routine: Realizes
the cell views
(eti_unrealize_cell_views): New routine: unrealizes the cell views.
* e-table-item.h: Move cell_views array here.
* table-test.c (value_at): Fix return value.
(main): use new invocation method.
* e-table-header-item.c (ethi_realize): Realize cells.
* e-table-item.c (eti_header_dim_changed): redraw before and after.
* e-table-header-item.c (ethi_event): Add continuous resizing.
1999-11-24 Miguel de Icaza <miguel@gnu.org>
* e-table-subset.h, e-table-subset.c: New files, used to implement
subset tables.
* e-table-sorted.h, e-table-sorted.c: Now they derive from
e-table-subset.
* e-cell.c, e-cell.h: realize method now return per view instance
data.
1999-11-20 Miguel de Icaza <miguel@gnu.org>
* e-table-item.c (eti_draw): WOOOOHOOOOOoO! It took me quite a
while to figure this one out. Fixed.
* e-table-header-item.c (ethi_set_arg): Compute width, keep track
of it.
(ethi_add_table_header): Monitor changes to the Header model;
Queue updates.
(ethi_draw): Fix the redraw logic here.
* table-test.c (main): Change the sample code, so we can better
debug this.
* e-table-item.c (eti_header_structure_changed): Keep track of
width;
(eti_header_dim_changed): ditto.
(eti_draw): Many redraw fixes.
1999-11-19 Miguel de Icaza <miguel@gnu.org>
* e-table-item.c (eti_realize): Hook up; Load gcs.
(eti_unrealize): Hook up.
* e-table-sorted.c: Finished implementing.
1999-11-18 Miguel de Icaza <miguel@gnu.org>
* e-table-model.c (e_table_model_class_init): Add model_changed
signal here.
* e-table-item.c, e-table-item.h: New files. They implement the
view of the ETableModel as Canvas Items.
* e-table-header-item.c (ethi_set_arg): Ref header here.
(ethi_destroy): Unref it here.
1999-11-17 Ettore Perazzoli <ettore@gnu.org>
* e-msg-composer-address-dialog.c: Moved to `$(srcdir)/composer'.
* e-msg-composer-address-dialog.h: Likewise.
* e-msg-composer-address-entry.c: Likewise.
* e-msg-composer-address-entry.h: Likewise.
* e-msg-composer-attachment-bar.c: Likewise.
* e-msg-composer-attachment-bar.h: Likewise.
* e-msg-composer-attachment.c: Likewise.
* e-msg-composer-attachment.h: Likewise.
* e-msg-composer-hdrs.c: Likewise.
* e-msg-composer-hdrs.h: Likewise.
* e-msg-composer.c: Likewise.
* e-msg-composer.h: Likewise.
* e-msg-composer-address-dialog.glade: Likewise.
* e-msg-composer-attachment.glade: Likewise.
* e-msg-composer.glade: Likewise.
* Makefile.am: Updated accordingly.
Nov 14 1999 Elliot Lee
* Makefile.am: It's libevolutionwidgets.la, not .a
1999-11-14 Miguel de Icaza <miguel@gnu.org>
* e-table-header-item.c (is_pointer_on_division): Add resizing
capabilities.
* e-table-sorted.c: Finish implementation.
1999-11-13 Miguel de Icaza <miguel@gnu.org>
* e-table-sorted.c: Implement e-table-sorted object.
1999-11-12 Miguel de Icaza <miguel@gnu.org>
* e-table-header-item.c: Make the thing configurable.
* e-table-header-item.h: Add font field, location, height.
1999-11-12 Ettore Perazzoli <ettore@gnu.org>
* e-msg-composer-hdrs.c: New member `tooltips' in `struct
_EMsgComposerHdrsPrivate'.
(init): Initialize it.
(destroy): New function.
(class_init): Install it as the `destroy' GtkObject method.
(add_header): New parameters `tip', `tip_private'. Setup a
tooltip for the entry with them.
(setup_headers): Updated accordingly.
1999-11-11 Miguel de Icaza <miguel@gnu.org>
* e-table-header.c (e_table_header_add_column): Update offsets.
(eth_update_offsets): New routine.
* e-table-col.h, e-table-col.c: New files.
* e-table-header.h (e_table_header_get_selected_indexes):
Pretify.
* table-test.c (main): New file; used for testing ETable package.
* e-table-simple.h: Fix type.
1999-11-12 Ettore Perazzoli <ettore@gnu.org>
* e-msg-composer-address-dialog.glade: Cosmetical changes.
* e-msg-composer-attachment-bar.c (size_to_string): New helper
function.
(update): Put the size in the icon's label using this function.
(ICON_SEPARATORS): Remove '.' to avoid wrapping of the size string
on the decimal dot. But gnome-libs is broken and this has no real
effect! :-(
(e_msg_composer_attachment_bar_new): No longer make text editable.
Use the `GTK_SELECTION_MULTIPLE' selection mode.
(remove_selected): No longer assume only one attachment is
selected.
* e-msg-composer-attachment.c: #include <sys/stat.h>
(init): Initialize all the members.
(e_msg_composer_attachment_new): Set size using `stat()'.
* e-msg-composer-attachment.h: New member `size' in `struct
_EMsgComposerAttachment'.
* e-msg-composer.c (setup_signals): Connect `address_dialog_cb' to
the "show_address_dialog" signal of the header widget.
* e-msg-composer-hdrs.c (add_address_header): Renamed to
`add_header'. New parameter `addrbook_button': if true, use a
button instead of a label and make it trigger an
"show_address_dialog" signal.
(address_button_clicked_cb): Signal handler to handle this on a
"clicked" signal from the button.
(setup_headers): Updated accordingly. Also, make "Subject" the
last item. (This makes it look more like Outlook and friends.)
* e-msg-composer-hdrs.c: New signal "show_address_dialog".
* e-msg-composer-hdrs.h: Updated accordingly.
* e-msg-composer-hdrs.c (add_address_header): Reduce padding
considerably.
* e-msg-composer.c (e_msg_composer_construct): Do not use any
padding in the main vbox.
* Makefile.am: Moved the `e-table*' sources to `EXTRA_DIST'.
Compile as a shared library.
1999-11-08 Ettore Perazzoli <ettore@gnu.org>
* e-msg-composer-address-dialog.c: Implemented cut & paste for the
recipient lists.
(init): Initialize `cut_buffer'.
(destroy): Free it.
(recipient_clist_selection_get_cb): New function.
(recipient_clist_selection_received_cb): New function.
(recipient_clist_selection_clear_event_cb): New function.
(setup_recipient_list_signals): Install them as signal handlers
for "selection_get", "selection_received" and
"selection_clear_event" respectively.
(copy_recipient_cb): New function implementing the "copy"
operation.
(cut_recipient_cb): New function implementing the "cut" operation.
(paste_recipient_cb): New function implementing the "paste"
operation.
* e-msg-composer-address-dialog.h: New member `cut_buffer' in
`struct _EMsgComposerAddressDialog'.
1999-11-07 Ettore Perazzoli <ettore@gnu.org>
* e-msg-composer-address-dialog.c: New context menu
`recipient_list_popup_info' for the recipient CLists.
(recipient_clist_button_press_cb): New function.
(setup_signals): Install it as the "button_press_event" signal
handler for popping up the CList context menu.
* e-msg-composer.c (free_string_list): New helper function.
(setup_address_dialog): Setup the initial values in the address
dialog according to the ones in the header widget.
* e-msg-composer-hdrs.c (e_msg_composer_hdrs_get_to): New function.
(e_msg_composer_hdrs_get_cc): New function.
(e_msg_composer_hdrs_get_bcc): New function.
* e-msg-composer.c (setup_address_dialog): New helper function.
(address_dialog_cb): Use it.
* e-msg-composer-address-dialog.c (add_address): Do not set the
row data anymore. Instead, put the full address description
(i.e. complete with the email address, not just the full name) in
the CList.
(add_address): Do nothing if no item is selected in the address
CList.
(get_list): Get the address list from the CList without passing
through the address CList.
(set_list): New helper function.
(e_msg_composer_address_dialog_set_to_list): New function.
(e_msg_composer_address_dialog_set_cc_list): New function.
(e_msg_composer_address_dialog_set_bcc_list): New function.
* e-msg-composer.c (address_dialog_apply_cb): Apply values from
the address dialog into the composer.
* e-msg-composer-hdrs.c (e_msg_composer_hdrs_set_to): New function.
(e_msg_composer_hdrs_set_cc): New function.
(e_msg_composer_hdrs_set_bcc): New function.
* e-msg-composer-address-entry.c
(e_msg_composer_address_entry_set_list): New function.
* e-msg-composer-address-dialog.c (apply): New helper function.
(clicked): New function, `clicked' method for the `GnomeDialog'
class.
(class_init): Install it.
1999-11-06 Ettore Perazzoli <ettore@gnu.org>
* e-msg-composer-attachment-bar.c (destroy): Call the destroy
method of the parent class.
* e-msg-composer.c: #include "e-msg-composer-address-dialog.h".
(address_dialog_cb): New callback to start the address dialog.
(setup_signals): Connect it to the appropriate button/menu item.
(init): Initialize the new `address_dialog' member to NULL.
(destroy): Destroy the `address_dialog' if not NULL.
* e-msg-composer.h: New member `address_dialog' in `struct
_EMsgComposer'.
* e-msg-composer.glade: Added button to activate the address
composition dialog.
* e-msg-composer-address-dialog.h, e-msg-composer-address-dialog.c:
New files implementing the address composition dialog for Evolution.
* e-msg-composer-address-dialog.glade: New file.
* e-msg-composer-attachment.c: `signals' made static.
1999-11-05 Ettore Perazzoli <ettore@gnu.org>
* Makefile.am: Compile the new files in a `libevolutionwidgets'
library.
(CPPFLAGS): #define `E_GUIDIR'.
* e-msg-composer.c, e-msg-composer.h: New files implementing an
initial version of the Evolution message composer widget.
* e-msg-composer-address-entry.c, e-msg-composer-address-entry.h:
New files implementing a GtkEntry customized for entering email
address lists.
* e-msg-composer-attachment-bar.c, e-msg-composer-attachment-bar.h:
New files implementing a widget for editing mail attachments.
* e-msg-composer-attachment.c, e-msg-composer-attachment.h: New
files implementing file attachment objects for the message
composer.
* e-msg-composer-hdrs.c, e-msg-composer-hdrs.h: New files
implementing a widget for editing of email message headers.
* e-msg-composer-attachment.glade: New file.
* e-msg-composer.glade: New file.
1999-10-31 Miguel de Icaza <miguel@gnu.org>
* widgets/e-table-column.c, e-table-column.h: New file, implements the
e-table-column object.
* widget/e-table-model.h, e-table-model.c, e-table-simple.c,
e-table-simple.h: New files. Implements the column model and
a simple table wrapper.
|