aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-table-item.c
Commit message (Collapse)AuthorAgeFilesLines
* Rename from Helix Code -> XimianMiguel de Icaza2001-01-161-1/+1
| | | | svn path=/trunk/; revision=7520
* Commented out an unused variable to fix a warning.Christopher James Lahey2000-12-151-0/+2
| | | | | | | | | 2000-12-14 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c (eti_realize): Commented out an unused variable to fix a warning. svn path=/trunk/; revision=7014
* Added eti_visibility_notify. Didn't get it to work properly, so it's #ifChristopher James Lahey2000-12-141-0/+25
| | | | | | | | | 2000-12-13 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c (eti_realize): Added eti_visibility_notify. Didn't get it to work properly, so it's #if 0ed out. svn path=/trunk/; revision=6991
* Changed the background color of the tooltips to light gray.Christopher James Lahey2000-12-141-1/+1
| | | | | | | | | | | | 2000-12-13 Christopher James Lahey <clahey@helixcode.com> * e-cell-text.c (ect_show_tooltip): Changed the background color of the tooltips to light gray. * e-table-item.c (eti_event): Changed the tooltip timeout to 100 milliseconds. svn path=/trunk/; revision=6988
* remove the silly logic - we pop up a tooltip regardless of where the mouseChris Toshok2000-12-141-0/+5
| | | | | | | | | | | | | | | | | | | 2000-12-13 Chris Toshok <toshok@helixcode.com> * e-cell-tree.c (ect_show_tooltip): remove the silly logic - we pop up a tooltip regardless of where the mouse cursor hovers. just make sure it appears in the right place. (ect_event): reverse the change we make to the event after passing it to our subcell. this fixes the problem of the tree reacting twice to events (once with flags == 0, and once with flags == E_CELL_EDITING). * e-table-item.c (eti_event): destroy the tooltip window on a motion event. this can (and does) happen when we get a tooltip on a tree cell and the cursor isn't over the area where the tooltip pops up. svn path=/trunk/; revision=6979
* New function to calculate the extra pixels per column header.Christopher James Lahey2000-12-141-0/+15
| | | | | | | | | | | | | | | | | | | | | | 2000-12-13 Christopher James Lahey <clahey@helixcode.com> * e-table-header-utils.c, e-table-header-utils.h (e_table_header_width_extras): New function to calculate the extra pixels per column header. * e-table-header.c, e-table-header.h: Added a "width_extras" argument which is used to calculate the correct minimum widths for each column header after adding padding. * e-table-item.c (_do_tooltip): Destroy the old tooltip window when creating the new one. (eti_event): Destroy the old tooltip window if the person presses a key. Don't handle the tab key. * e-table.c (et_state_to_header): Set the ETableHeader's width_extras argument. svn path=/trunk/; revision=6978
* Emit double_click signal with the model column, not the view column.Dan Winship2000-12-121-1/+1
| | | | | | | * e-table-item.c (eti_event): Emit double_click signal with the model column, not the view column. svn path=/trunk/; revision=6909
* Added the actions parameter to ect_event. Added an actions field toChristopher James Lahey2000-12-101-40/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-12-09 Christopher James Lahey <clahey@helixcode.com> * e-cell-text.c: Added the actions parameter to ect_event. Added an actions field to CellEdit. Handle CellEdit properly in the ect_event function to do grabbing and ungrabbing when appropriate. Set the actions field in CellEdit when appropriate in e_cell_text_view_command. * e-cell-toggle.c, e-cell-tree.c, e-cell.c, e-cell.h: Added a ECellActions enum, a ECellActions actions parameter to e_cell_event and added the actions parameter to all the handlers of the event method including having ECellTree pass it on to its child cell. * e-table-header-item.c: Use the NULL cursor instead of the E_CURSORS_ARROW cursor. * e-table-item.c, e-table-item.h: Added grabbed_row and grabbed_col fields to ETableItem (-1 on either means ungrabbed.) Pay attention to them in the find_cell function. Handle the actions parameter of e_cell_event and grab or ungrab the pointer to a given cell if requested. This is done using the new function eti_e_cell_event (which is internal to e-table-item.c,) instead of the old e_cell_event function call. Fake an ungrabbed table when calling find_cell from within the compute_location method. svn path=/trunk/; revision=6889
* Add column and GdkEvent * parameters to the double click signal.Christopher James Lahey2000-12-081-3/+8
| | | | | | | | | | | | | | | | | | 2000-12-07 Christopher James Lahey <clahey@helixcode.com> * e-table-group-container.c, e-table-group-leaf.c, e-table-group.c, e-table-group.h, e-table-item.c, e-table.c, e-table.h: Add column and GdkEvent * parameters to the double click signal. * e-table-header-item: Unref the ETableFullHeader when we're done with it. * e-table-scrolled.c, e-table-scrolled.h: Remove all of the proxies and add a function e_table_scrolled_get_table and a gtk argument "table". svn path=/trunk/; revision=6850
* pass along the column's width to e_cell_show_tooltip.Chris Toshok2000-12-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | 2000-12-06 Chris Toshok <toshok@helixcode.com> * e-table-item.c (_do_tooltip): pass along the column's width to e_cell_show_tooltip. * e-cell-text.c (ect_show_tooltip): add col_width argument, and set cell.width = col_width - 8 (to mimic what happens in build_current_cell, but with a possibly altered width). * e-cell.c (e_cell_show_tooltip): add col_width argument, and pass along to virtual function. (ec_show_tooltip): add col_width argument. * e-cell.h: change prototype of e_cell_show_tooltip to include a width parameter. * e-cell-tree.c (ect_show_tooltip): send the width - the subcell's offset to e_cell_show_tooltip. svn path=/trunk/; revision=6831
* Adapted these to accept the new flags parameter to e_cell_event.Christopher James Lahey2000-12-071-18/+22
| | | | | | | | | | | | | | | | 2000-12-06 Christopher James Lahey <clahey@helixcode.com> * e-cell-text.c, e-cell-toggle.c, e-cell-tree.c: Adapted these to accept the new flags parameter to e_cell_event. * e-cell.c, e-cell.h: Added a flags parameter to e_cell_event. * e-table-item.c: Send all e_cell_event calls a E_CELL_EDITABLE flag. Add a new e_cell_event to the button press event that happens before selecting the appropriate row and which does not have the E_CELL_EDITABLE flag set. svn path=/trunk/; revision=6823
* Federico gets into pixel-perfect neurosis. Xmag is my best friend.Federico Mena Quintero2000-12-031-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-12-01 Federico Mena Quintero <federico@helixcode.com> Federico gets into pixel-perfect neurosis. Xmag is my best friend. * e-table-item.c (eti_draw): Set the focus_gc stipple origin to match the upper-left corner of the focus rectangle. This way focusing will look consistent even among rows/columns with odd pixel sizes. Also, make the focus rectangle span the whole cell; there was one blank pixel column to the left of the rectangle. * e-table-header-utils.c: New file with utilities for drawing header buttons. This is so that ETableHeaderItem and ETableFieldChooserItem can share the same code. (e_table_header_compute_height): New function to compute the height of a column button. (make_composite_pixmap): New function to composite a pixbuf against a solid background and make a pixmap out of the result. This does some ultra-fancy fading-out of the original pixbuf if the destination area is smaller than the source. (compute_elision_length): New function to compute the elision length in O(n log n) instead of O(n^2), for n = strlen (str). (e_table_header_draw_button): New function to draw a header button. (e_table_draw_elided_string): New function to draw a string elided to a maximum width. * e-table-defines.h (HEADER_PADDING): Made the default padding be 1; now a header button's height is content_height + 2 * (HEADER_PADDING + style->ythickness). This is the correct way to measure button heights. * e-table-field-chooser-item.c (etfci_find_button): Use e_table_header_compute_height(). (etfci_reflow): Likewise. (etfci_draw): Use e_table_header_draw_button(). (etfci_start_drag): Likewise. (etfci_draw): Likewise. (etfci_start_drag): Likewise. (etfci_button_height): Removed function. (draw_button): Removed function. * e-table-header-item.c (draw_button): Removed function. (e_table_header_item_get_height): Use e_table_header_compute_height(). (ethi_draw): e_table_header_draw_button(). (ethi_start_drag): Likewise. (make_shaped_window_from_xpm): Fixed misspelling in function name. (draw_button): Removed function. * Makefile.am: Added e-table-header-utils.[ch]. svn path=/trunk/; revision=6766
* Save the children - FedericoFederico Mena Quintero2000-11-231-6/+15
| | | | svn path=/trunk/; revision=6652
* Made the column on the right click and click signals be the model columnChristopher James Lahey2000-10-261-2/+2
| | | | | | | | | 2000-10-25 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Made the column on the right click and click signals be the model column instead of the view column. svn path=/trunk/; revision=6172
* Destroy the tooltip timeout on object destruction.Christopher James Lahey2000-10-241-1/+8
| | | | | | | | | 2000-10-23 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Destroy the tooltip timeout on object destruction. svn path=/trunk/; revision=6137
* Made it so that it doesn't recalculate all the rows if a row is changed,Christopher James Lahey2000-10-221-4/+27
| | | | | | | | | | | 2000-10-22 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Made it so that it doesn't recalculate all the rows if a row is changed, inserted or deleted. * e-table-subset.c: Added debugging code (turned off). svn path=/trunk/; revision=6102
* Make text a different color if !(flags & E_CELL_FOCUSED).Christopher James Lahey2000-10-191-1/+5
| | | | | | | | | | | | | | | | | 2000-10-18 Christopher James Lahey <clahey@helixcode.com> * e-cell-text.c: Make text a different color if !(flags & E_CELL_FOCUSED). * e-cell.h: Added E_CELL_FOCUSED to flags. * e-table-item.c: Changed the background color of selected cells if the widget is focused. Send E_CELL_FOCUSED to flags if the widget is focused. * e-table.c: Repaint the window if focus changes. svn path=/trunk/; revision=6010
* when there are 0 columns, don't assert.Jeffrey Stedfast2000-10-121-1/+1
| | | | | | | | 2000-10-12 Jeffrey Stedfast <fejj@helixcode.com> * e-table-item.c: when there are 0 columns, don't assert. svn path=/trunk/; revision=5876
* Removed the assertion that there must be at least 1 column. No way toNot Zed2000-10-091-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-10-06 Not Zed <NotZed@HelixCode.com> * e-table-item.c (eti_header_structure_changed): Removed the assertion that there must be at least 1 column. No way to remove all columns otherwise (which the header allows). * e-table.c (et_xml_config_header): Reconfigure header based on xml nodes for header. (et_real_set_specification): Just configure the header only, dont try to recreate everything. 2000-10-05 Not Zed <NotZed@HelixCode.com> * e-table-scrolled.c (e_table_scrolled_set_specification): Set the spec on a scrolled etable. (e_table_scrolled_load_specification): Likewise for load. * e-table.c (et_real_set_specification): Allow you to set the specification after the widget was created. (et_real_construct): Changed to use et_real_set_specification to set the spec. (e_table_load_specification): New frunction, load the speficication from a specific file. (e_table_set_specification): NEw function to set the specification from a string. svn path=/trunk/; revision=5795
* Fudge the location of a click in the tooltip, so that it selects theIain Holmes2000-09-271-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | 2000-09-27 Iain Holmes <iain@helixcode.com> * e-cell-text.c: Fudge the location of a click in the tooltip, so that it selects the current cell. Pass keyboard events to the e-table. * e-table-item.c: Don't show the tooltip if the cell is being editted. Also don't destroy the tooltip until the button release event (other wise the e-table-item starts a select) 2000-09-25 Iain Holmes <iain@helixcode.com> * e-table-header-item.c (draw_button): Calculate the vertical offset correctly to centre text. 2000-09-25 Iain Holmes <iain@helixcode.com> * e-table-header-item.c (ethi_popup_best_fit): Fill this out to call the "request_width" signal and set the new size. svn path=/trunk/; revision=5599
* Typo caused readability problems with ETable.Christopher James Lahey2000-09-211-1/+1
| | | | | | | | 2000-09-21 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Typo caused readability problems with ETable. svn path=/trunk/; revision=5536
* Moved files, fixed header files and paths - FedericoFederico Mena Quintero2000-09-201-3/+3
| | | | svn path=/trunk/; revision=5513
* Fixed e-table #includes so that it would compile.Chris Lahey2000-09-181-3/+3
| | | | svn path=/trunk/; revision=5482
* Better calculations for tooltip positionsIain Holmes2000-09-181-3/+2
| | | | svn path=/trunk/; revision=5477
* Added some missing #includes.Christopher James Lahey2000-09-161-2/+2
| | | | | | | | | | | | 2000-09-16 Christopher James Lahey <clahey@helixcode.com> * e-cell-text.c: Added some missing #includes. * e-cell-tree.c: Removed an unused variable. * e-table-item.c: Added some missing casts. svn path=/trunk/; revision=5470
* If the cursor is inside the subcell, call the show_tooltip on it.Iain Holmes2000-09-161-0/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-09-15 Iain Holmes <iain@helixcode.com> * e-cell-tree.c (ect_show_tooltip): If the cursor is inside the subcell, call the show_tooltip on it. * e-table-header-item.c (draw_button): Draw the arrow first, then take it's size into account when calculating how to draw the text. Use ellipsis if the text it too long. 2000-09-15 Iain Holmes <iain@helixcode.com> * e-table-header-item.c (draw_button): Fix a crash by passing the canvas widget to gtk_paint_box. Reported by Radek. 2000-09-14 Iain Holmes <iain@helixcode.com> * e-table-header-item.c (set_cursor): The column isn't resizable if it is the last, or if all other columns after it are not resizable. * e-cell-text.c (ect_max_width): Correctly calculate the width of the line of text. Unbuild the current cell and unref the lines as well. (build_current_cell): Initialize cell->style to 0; 2000-09-14 Iain Holmes <iain@helixcode.com> * e-table-item.c: Start timers for the tooltip to appear, on motion events. * e-cell.[ch]: Add a new show_tooltip method. * e-cell-text.c (ect_show_tooltip): Show the tooltip. svn path=/trunk/; revision=5466
* Fix some crashes Make double clicking on the header dividers automaticallyIain Holmes2000-09-151-1/+20
| | | | | | | | | | | Fix some crashes Make double clicking on the header dividers automatically size the header to it's best fit. When dragging onto the header check the dragged item is a header object. Check the column is resizeable before setting the cursor to <-> Use the font and themes to draw the table and items. svn path=/trunk/; revision=5438
* Fixed a leak and a double unref.Christopher James Lahey2000-09-021-3/+0
| | | | | | | | 2000-09-01 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c, e-table.c: Fixed a leak and a double unref. svn path=/trunk/; revision=5174
* Make printing of groups work better and make them print headers.Christopher James Lahey2000-08-291-0/+4
| | | | | | | | | | | 2000-08-28 Christopher James Lahey <clahey@helixcode.com> * e-table-group-container.c: Make printing of groups work better and make them print headers. * e-table-item.c: Turn off alternating row support. svn path=/trunk/; revision=5086
* Pay attention to the return value from the click signal.Christopher James Lahey2000-08-251-2/+8
| | | | | | | | | 2000-08-24 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Pay attention to the return value from the click signal. svn path=/trunk/; revision=5022
* Added a click signal which gets sent if the user hits the left or middleChristopher James Lahey2000-08-251-0/+13
| | | | | | | | | | | 2000-08-24 Christopher James Lahey <clahey@helixcode.com> * e-table-group-container.c, e-table-group-leaf.c, e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h, e-table.c, e-table.h: Added a click signal which gets sent if the user hits the left or middle mouse button on a cell. svn path=/trunk/; revision=5020
* Added infrastructure for setting the justification of columns. Still needChristopher James Lahey2000-08-251-1/+18
| | | | | | | | | | | | 2000-08-24 Christopher James Lahey <clahey@helixcode.com> * e-cell-text.c, e-cell-toggle.c, e-cell-tree.c, e-cell.c, e-cell.h, e-table-col.c, e-table-col.h, e-table-item.c: Added infrastructure for setting the justification of columns. Still need to change the cells to support it and need to add user interface to change the justification. svn path=/trunk/; revision=5010
* Moved drawing of the cell backgrounds from ECell into ETableItem.Christopher James Lahey2000-08-221-2/+16
| | | | | | | | | | | 2000-08-22 Christopher James Lahey <clahey@helixcode.com> * e-cell-text.c, e-cell-toggle.c, e-cell-tree.c, e-table-item.c: Moved drawing of the cell backgrounds from ECell into ETableItem. * e-tree-model.c: Include stdlib.c. svn path=/trunk/; revision=4915
* Made background colors alternate.Christopher James Lahey2000-08-201-10/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-08-19 Christopher James Lahey <clahey@helixcode.com> * e-cell-text.c: Made background colors alternate. * e-table-click-to-add.c: Made tabbing off the right edge of the click to add commit the new values. * e-table-group-container.c, e-table-group-leaf.c, e-table-group.c, e-table-group.h, e-table-sorted-variable.c, e-table-subset-variable.c, e-table-subset-variable.h: Added a decrement method. Made the add and remove methods not automatically increment and decrement. * e-table-item.c: Fixed some view vs model issues for both rows and columns. * e-table-model.c: Added debugging code. Removed automatic signalling of changes by the ETableModel set_value_at function (the model should send these signals itself.) * e-table.c: Added increment and decrement calls when a row is removed or added from the source model. svn path=/trunk/; revision=4881
* Make right click select if the current row is not selected.Christopher James Lahey2000-08-101-0/+2
| | | | | | | | | | 2000-08-09 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c, e-table-selection-model.c, e-table-selection-model.h: Make right click select if the current row is not selected. svn path=/trunk/; revision=4658
* Made drag events calculate a row and column and signal that information.Christopher James Lahey2000-08-041-10/+20
| | | | | | | | | | | | | | 2000-08-04 Christopher James Lahey <clahey@helixcode.com> * e-table-group-container.c, e-table-group-leaf.c, e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h: Made drag events calculate a row and column and signal that information. * e-table-selection-model.c, e-table-selection-model.h: Changed do_something to take a GdkModifierType. svn path=/trunk/; revision=4529
* Add a handler for "model_pre_change" and properly stop editing.Christopher James Lahey2000-08-031-7/+35
| | | | | | | | | | | | | | | | | | 2000-08-02 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c, e-table-item.h: Add a handler for "model_pre_change" and properly stop editing. * e-table-model.c, e-table-model.h: Added a "model_pre_change" signal that gets sent before any row numbers are changed. * e-table-sorted-variable.c, e-table-subset-variable.c: Emit "model_pre_change" signals as appropriate. * e-table-subset.c, e-table-subset.h: Proxy "model_pre_changed" signals. svn path=/trunk/; revision=4472
* Made enter key destroy and recreate the ETableItem.Christopher James Lahey2000-07-301-0/+2
| | | | | | | | | | | | 2000-07-29 Christopher James Lahey <clahey@helixcode.com> * e-table-click-to-add.c: Made enter key destroy and recreate the ETableItem. * e-table-item.c: Grab focus when person clicks even if cursor isn't changing. svn path=/trunk/; revision=4416
* Fixed up the table behavior so that it's not always in an edit mode.Christopher James Lahey2000-07-281-9/+43
| | | | | | | | | 2000-07-27 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Fixed up the table behavior so that it's not always in an edit mode. svn path=/trunk/; revision=4392
* Grab focus properly.Christopher James Lahey2000-07-271-1/+14
| | | | | | | | | | | 2000-07-27 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c (eti_cursor_change): Grab focus properly. * e-table-item.c, e-table-click-to-add.c: Fixed ETableClickToAdd to handle carriage return. This still doesn't quite work right. svn path=/trunk/; revision=4384
* Clear the selection model when activating.Christopher James Lahey2000-07-271-66/+71
| | | | | | | | | | | | | | | 2000-07-27 Christopher James Lahey <clahey@helixcode.com> * e-table-click-to-add.c: Clear the selection model when activating. * e-table-item.c: Fixed a bunch of model column vs. view column issues. * e-table-selection-model.c: Set the cursor to -1, -1 and emi a "cursor_changed" signal. svn path=/trunk/; revision=4380
* Fixed the model/view row confusion.Christopher James Lahey2000-07-271-10/+14
| | | | | | | | | | | 2000-07-26 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Fixed the model/view row confusion. * e-table-selection-model.c: Changed one expression to use a #define properly. svn path=/trunk/; revision=4371
* Added "table_selection_model" argument. Removed foreach function andChristopher James Lahey2000-07-271-219/+228
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-07-26 Christopher James Lahey <clahey@helixcode.com> * e-table-group-container.c, e-table-group-container.h, e-table-group-leaf.c, e-table-group-leaf.h: Added "table_selection_model" argument. Removed foreach function and selection notification. * e-table-group.c, e-table-group.h: Removed foreach function and selection notification. * e-table-header.c: Fixed header width calculation to include the last column. * e-table-item.c, e-table-item.h: Fixed this to use the new selection model. * e-table-scrolled.c, e-table-scrolled.h: Removed selection notification. * e-table-selection-model.c, e-table-selection-model.h: Finished notification signals and fixed a bunch of bit manipulations. Implemented do_something method. * e-table.c, e-table.h: Create an ETableSelectionModel and use it properly. svn path=/trunk/; revision=4363
* Add e-table-scrolled.c and e-table-scrolled.h.Christopher James Lahey2000-07-101-0/+3
| | | | | | | | | | | | | | | | | 2000-07-09 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Add e-table-scrolled.c and e-table-scrolled.h. * e-table-item.c: Make sure that find_cell returns FALSE if the item doesn't have any cells. * e-table-scrolled.c, e-table-scrolled.h: Added a widget to contain an ETable and provide scrollbars (for ease of use.) * e-table.c, e-table.h: Make this support the scrollable interface and not contain its own scrollbars. svn path=/trunk/; revision=4031
* Put back e_cell_event sometimes when we're not editing.Christopher James Lahey2000-07-101-3/+3
| | | | | | | | | 2000-07-09 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c (eti_event): Put back e_cell_event sometimes when we're not editing. svn path=/trunk/; revision=4019
* Get rid of an unused variable.Ettore Perazzoli2000-07-091-0/+4
| | | | svn path=/trunk/; revision=3997
* Don't call e_cell_event if we're not editing.Christopher James Lahey2000-07-091-3/+3
| | | | | | | | | 2000-07-08 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c (eti_event): Don't call e_cell_event if we're not editing. svn path=/trunk/; revision=3991
* Commented out some unnecessary and buggy code.Christopher James Lahey2000-07-091-0/+2
| | | | | | | | | 2000-07-08 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c (eti_table_model_changed): Commented out some unnecessary and buggy code. svn path=/trunk/; revision=3988
* Send GDK_BUTTON_RELEASE events to the ecell associated with the cell (ifChristopher James Lahey2000-07-061-0/+37
| | | | | | | | | 2000-07-06 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Send GDK_BUTTON_RELEASE events to the ecell associated with the cell (if it's the cursor.) svn path=/trunk/; revision=3909
* Added a reflow_compare callback and did removal if you do shift-click on aChristopher James Lahey2000-07-041-5/+30
| | | | | | | | | 2000-07-03 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Added a reflow_compare callback and did removal if you do shift-click on a selected row that's not the cursor. svn path=/trunk/; revision=3873
* From mail:Christopher James Lahey2000-06-301-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-06-29 Christopher James Lahey <clahey@helixcode.com> * message-list.c, mail-ops.c: Changed the name of e_table_select_row to e_table_set_cursor_row. From widgets/e-table: 2000-06-29 Christopher James Lahey <clahey@helixcode.com> * e-table-click-to-add.c: Made this appear a bit better. * e-table-defines.h: Cleaned this up a bit, added ETableForeachFunc. * e-table-group-container.c, e-table-group-leaf.c, e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h, e-table.c, e-table.h: Changed e_table_select_row to e_table_set_cursor_row. Changed e_table_get_selected_view_row to e_table_get_cursor_row. Added e_table_selected_row_foreach. * e-table-header-item.c: Fixed some warnings. * e-table-sorted-variable.c: Removed some unneeded debugging print statments. * e-tree-example-1.c: Changed e_table_get_selected_view_row to e_table_get_cursor_row. svn path=/trunk/; revision=3799
* Added an unsort command.Christopher James Lahey2000-06-281-0/+1
| | | | | | | | | | 2000-06-27 Christopher James Lahey <clahey@helixcode.com> * e-table-header-item.c: Added an unsort command. * e-table-item.c: leave_edit when you loose the cursor. svn path=/trunk/; revision=3766
* Calculate height including if clip_height is set to -1.Christopher James Lahey2000-06-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * widgets/e-text/e-text.c: Calculate height including if clip_height is set to -1. From addressbook/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * contact-editor/e-contact-editor-categories.c, addressbook/gui/component/e-cardlist-model.c: Added value_to_string handlers. * demo/addressbook-widget.c, demo/demo.c: Removed usage of "x" and "y" arguments. * addressbook/gui/component/addressbook.c: Activated Click To Add and set the click to add message. * addressbook/gui/component/e-addressbook-model.c: Added value_to_string and append_row handlers. * addressbook/gui/component/e-select-names.c: Added a column. From calendar/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * gui/calendar-model.c: Added an #ifdefed value_to_string handler assignment. From camel/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * providers/mbox/camel-mbox-summary.c: Added debugging information. From composer/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added e-msg-composer-select-file.h for make distcheck. From e-util/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added e-canvas-vbox.c and e-canvas-vbox.h. * e-canvas-vbox.c, e-canvas-vbox.h: New canvas object to act like a vbox using the reflow system. From mail/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * message-list.c: Added a value_to_string handler. From shell/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * glade/Makefile.am: Added EXTRA_DIST for make distcheck. From widgets/e-table/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added e-table-click-to-add.c, e-table-click-to-add.h, e-table-one.c, and e-table-one.h. * e-table-click-to-add.c, e-table-click-to-add.h: A new canvas item that represents a single row that sometimes exists. It's for adding new rows to your table. * e-table-example-1.c, e-table-example-2.c, e-table-size-test.c, test-check.c, test-cols.c, test-table.c: Added value_to_string handlers. * e-table-group-container.c: Use value_to_string to make grouping not crash for non string columns. Made some changes to work properly in an ECanvasVbox. * e-table-group-leaf.c, e-table-item.c: Made some changes to work properly in an ECanvasVbox. * e-table-model.c, e-table-model.h: Added append_row and value_to_string methods. * e-table-one.c, e-table-one.h: Given a source ETableModel, this provides a single row model that uses the initialize_value, duplicate_value, free_value, and value_is_empty methods of the original source to implement set_value and value_at (and proxies most of the other methods.) This is used for ETableClickToAdd. * e-table-simple.c, e-table-simple.h: Added append_row and value_to_string handlers. append_row uses a GtkArg instead of a parameter to e_table_simple_new. * e-table-subset.c: Added append_row and value_to_string handlers. * e-table.c, e-table.h: Use a vbox containing an ETableClickToAdd and an ETableItem instead of an ETableItem directly. Only show the ETableClickToAdd if the top level of the xml SPEC has the attribute click-to-add set to some non-zero integer. (click-to-add="1"). Add a "click_to_add_message" argument. * e-tree-model.c: Add a commented out value_to_string handler. From widgets/meeting-time-sel/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added the include path to top_srcdir. svn path=/trunk/; revision=3744
* Killed a warning.Christopher James Lahey2000-06-231-1/+1
| | | | | | | | 2000-06-22 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Killed a warning. svn path=/trunk/; revision=3691
* Remove use of the "x" and "y" arguments to EText.Christopher James Lahey2000-06-231-0/+2
| | | | | | | | | | | | | | 2000-06-22 Christopher James Lahey <clahey@helixcode.com> * e-table-group-container.c: Remove use of the "x" and "y" arguments to EText. * e-table-item.c: Properly ref the source_model field. * test-check.c, test-cols.c, test-table.c: Remove use of the "x" and "y" arguments to ETableHeaderItem. svn path=/trunk/; revision=3690
* Fix a minor warning.Christopher James Lahey2000-06-211-7/+19
| | | | | | | | | | | 2000-06-20 Christopher James Lahey <clahey@helixcode.com> * e-table-group-leaf.c: Fix a minor warning. * e-table-item.c: Add to the selection if shift is held down. Show cursor when changing sort (or if table changes majorly.) svn path=/trunk/; revision=3667
* Fix cursor column information.Christopher James Lahey2000-06-211-6/+9
| | | | | | | | 2000-06-20 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Fix cursor column information. svn path=/trunk/; revision=3661
* Removed the unfocus method since that's handled by the canvas itself now.Christopher James Lahey2000-06-211-99/+85
| | | | | | | | | | | | | | | | | | 2000-06-20 Christopher James Lahey <clahey@helixcode.com> * e-table-group-container.c, e-table-group-leaf.c, e-table-group.c, e-table-group.h: Removed the unfocus method since that's handled by the canvas itself now. * e-table-item.c, e-table-item.h: Finished adapting ETableItem to use the canvas selection/cursor system. Selection and cursor now use row numbers associated with the source model instead of the sorted model (if the model they are given is an ETableSubset.) This has no effect on the interface, except that unfocus was removed and e_table_item_focus was renamed to e_table_item_set_cursor. svn path=/trunk/; revision=3660
* Started adapting ETableItem to use the canvas selection/cursor system.Christopher James Lahey2000-06-211-62/+49
| | | | | | | | | 2000-06-20 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c, e-table-item.h: Started adapting ETableItem to use the canvas selection/cursor system. svn path=/trunk/; revision=3656
* Clip the contained text.Christopher James Lahey2000-06-131-3/+67
| | | | | | | | | | | | | | | 2000-06-13 Christopher James Lahey <clahey@helixcode.com> * e-cell-text.c: Clip the contained text. * e-table-group-container.c: Did a first pass at grouped printing. This works, but there's no fancy boxes or headers around the groups. * e-table-item.c: Added will_fit function and added quantize function to _height. svn path=/trunk/; revision=3552
* change things so we focus the cell and select the row, and also dispatchChris Toshok2000-06-111-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-06-10 Chris Toshok <toshok@helixcode.com> * e-table-item.c (eti_event): change things so we focus the cell and select the row, and also dispatch the event to that row/cell. This fixes the problem with the tree where you had to click twice to activate the tree controls. * Makefile.am (libetable_a_SOURCES): remove e-tree-gnode.* and add e-tree-simple.* (icons): add tree-expanded.xpm and tree-unexpanded.xpm * e-cell-tree.c (ect_enter_edit): defer to subcell's view. (ect_leave_edit): defer to subcell's view. (visible_depth_of_node): visual depth, taking into account that the root node of the model might not be displayed. (offset_of_node): return the offset used to shift the subcell over. (ect_draw): don't draw vertical lines if we're the leftmode node (a visual root node). also, don't shift x2 by the subcell offset, so we get ellipses like we're supposed to. (ect_event): remove GDK_BUTTON_RELEASE from the list of events that we care about. * e-tree-example-1.c: lots of changes, a more dynamic UI so we can test tree model api stuff. * e-tree-gnode.c, e-tree-gnode.c: removed files, since their guts have been rolled into e-tree-model.c * e-tree-model.c, e-tree-model.h: substantially changed. too much to really describe here. this should really be considered the first revision of these files :) * e-tree-simple.c, e-tree-simple.h: analogous to e-table-simple, a subclass that allows the use of function pointers. svn path=/trunk/; revision=3519
* Added $(GNOME_PRINT_LIBS) to all of the LDADDs.Christopher James Lahey2000-06-111-0/+255
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-06-10 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(GNOME_PRINT_LIBS) to all of the LDADDs. * e-cell-text.c: Added printing of text cells. * e-cell.c, e-cell.h: Added print and print_height methods. * e-table-field-chooser.glade: Added a minimum size. * e-table-group-container.c: Fixed a rectangle sizing bug. * e-table-group-leaf.c: Implemented get_printable. * e-table-group.c, e-table-group.h: Added a get_printable method to return an EPrintable. * e-table-item.c, e-table-item.h: Added a get_printable function to return an EPrintable. * e-table.c, e-table.h: Added a get_printable function to return an EPrintable. svn path=/trunk/; revision=3511
* Added a right click signal.Christopher James Lahey2000-06-061-25/+50
| | | | | | | | | | | | 2000-06-06 Christopher James Lahey <clahey@helixcode.com> * e-table-group-container.c, e-table-group-leaf.c, e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h, e-table.c, e-table.h: Added a right click signal. * e-table-sorted-variable.c: Fixed a buffer overrun. svn path=/trunk/; revision=3437
* Copy and paste error.Christopher James Lahey2000-06-021-10/+3
| | | | | | | | | | 2000-06-01 Christopher James Lahey <clahey@helixcode.com> * e-table.c: Copy and paste error. * e-table-item.c: Mixed up parity on eti->editing. svn path=/trunk/; revision=3368
* Added a "key_press" signal.Christopher James Lahey2000-06-021-3/+18
| | | | | | | | | | 2000-06-01 Christopher James Lahey <clahey@helixcode.com> * e-table-group-container.c, e-table-group-leaf.c, e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h, e-table.c, e-table.h: Added a "key_press" signal. svn path=/trunk/; revision=3366
* Copy and paste error.Christopher James Lahey2000-06-021-1/+1
| | | | | | | | 2000-06-01 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Copy and paste error. svn path=/trunk/; revision=3353
* Added e_table_get_selected_view_row.Christopher James Lahey2000-06-021-0/+6
| | | | | | | | | | 2000-06-01 Christopher James Lahey <clahey@helixcode.com> * e-table-group-container.c, e-table-group-leaf.c, e-table-group.c, e-table-group.h, e-table-item.c, e-table.c, e-table.h: Added e_table_get_selected_view_row. svn path=/trunk/; revision=3351
* Make sure that the cursor is always shown when the selection changes.Christopher James Lahey2000-05-311-2/+27
| | | | | | | | | 2000-05-30 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Make sure that the cursor is always shown when the selection changes. svn path=/trunk/; revision=3290
* Fixed a bunch of selection bugs. Removed "spreadsheet" argument (for now.)Christopher James Lahey2000-05-301-67/+136
| | | | | | | | | | | | | | 2000-05-30 Christopher James Lahey <clahey@helixcode.com> * e-table-group-container.c, e-table-group-container.h, e-table-group-leaf.c, e-table-group-leaf.h, e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h, e-table.c, e-table.h, test-check.c, test-cols.c, test-table.c: Fixed a bunch of selection bugs. Removed "spreadsheet" argument (for now.) Added "cursor_mode" argument. Added "cursor_change" signal. Temporarily removed "selection_mode" argument. svn path=/trunk/; revision=3277
* Added double click handling.Christopher James Lahey2000-05-281-4/+30
| | | | | | | | | | 2000-05-28 Christopher James Lahey <clahey@helixcode.com> * e-table-group-container.c, e-table-group-leaf.c, e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h, e-table.c, e-table.h: Added double click handling. svn path=/trunk/; revision=3238
* Account for extra pixel at right end of ETable.Christopher James Lahey2000-05-261-1/+1
| | | | | | | | | | | | | 2000-05-25 Christopher James Lahey <clahey@helixcode.com> * e-table-header.c: Account for extra pixel at right end of ETable. * e-table-item.c: Make grid less intrusive. * e-table.c: Make scrollbars disappear when appropriate. svn path=/trunk/; revision=3206
* Fixed a memory leak.Christopher James Lahey2000-05-161-0/+2
| | | | | | | | 2000-05-16 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Fixed a memory leak. svn path=/trunk/; revision=3089
* From widgets/e-table/ChangeLogChristopher James Lahey2000-05-141-48/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-14 Christopher James Lahey <clahey@helixcode.com> * Implemented the feature where the ETable columns automatically fill the given space. * e-cell-text.c, e-cell-text.h: Moved #include e-text-event-processor.h from the .h to the .c. * e-table-col.c, e-table-col.h: Added an expansion variable, and made it so that width isn't set by the programmer but instead by the e-table-header. * e-table-example-1.c, e-table-example-2.c, e-table-size-test.c, test-check.c, test-cols.c, test-table.c: Fixed to handle new ETable column resizing. * e-table-group-container.c, e-table-group-container.h, e-table-group-leaf.c, e-table-group-leaf.h, e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h: Fixed these to do a proper canvas reflow/update loop. Changed them to take a minimum width and return a width and a height. * e-table-header-item.c, e-table-header-item.h: Made this so that it depends on e-table-header.c for deciding the actual size of columns during resize (it was making incorrect decisions on its own.) * e-table-header.c, e-table-header.h: Changed this to make sure that the sum of the widths of the columns was always as close as possible to the width of the window. This is done by taking a full width and having each of the columns have an "expansion" field. This field is what makes each column have approximately the same portion of its part of the screen that it used to. * e-table.c: Changed this to set the width on the ETableHeader as well as set the proper minimum width on the ETableGroup and get the width and height it reports. From addressbook/ChangeLog 2000-05-14 Christopher James Lahey <clahey@helixcode.com> * backend/ebook/Makefile.am: Added libeutil for e-card's support for categories. * backend/ebook/e-card-list.c, backend/ebook/e-card-list.h: Added a function to get the length. * backend/ebook/e-card.c, backend/ebook/e-card.h: Added categories support (accessible either as "categories" or "category_list".) * contact-editor/Makefile.am: Added e-table and all of the categories files. * contact-editor/categories.glade, contact-editor/categories-strings.h, contact-editor/e-contact-editor-categories.c, contact-editor/e-contact-editor-categories.h: * contact-editor/contact-editor.glade, contact-editor/e-contact-editor-strings.h: Rearranged this dialog. * contact-editor/e-contact-editor.c: Rearranged dialog a bit. Added opening of categories dialog. * gui/component/Makefile.am: Rearranged libraries so that libetable would be available for the contact editor categories dialog. * gui/component/addressbook.c: Fix for new ETable resizing. Make contact editor dialog resizable. * gui/minicard/Makefile.am: Added libetable contact editor categories dialog. * gui/minicard/e-minicard.c: Make contact editor dialog resizable. From mail/ChangeLog 2000-05-14 Christopher James Lahey <clahey@helixcode.com> * message-list.c: Updated to work with new ETable resizing. svn path=/trunk/; revision=3027
* Handle row_inserted and row_deleted signals properly.Christopher James Lahey2000-05-081-3/+30
| | | | | | | | | | | | | | | 2000-05-07 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c, e-table-item.h, e-table.c, e-table.h: Handle row_inserted and row_deleted signals properly. * e-table-model.c, e-table-model.h: Created the row_inserted and row_deleted signals. * e-table-sorted-variable.c, e-table-subset-variable.c: Emit the row_inserted and row_deleted signals as appropriate. svn path=/trunk/; revision=2879
* Added a height_cache idle loop so that the height_cache will be validatedChristopher James Lahey2000-05-041-2/+38
| | | | | | | | | 2000-05-04 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c, e-table-item.h: Added a height_cache idle loop so that the height_cache will be validated in the idle loop. svn path=/trunk/; revision=2794
* Fix author information.Christopher James Lahey2000-05-041-4/+30
| | | | | | | | | | | | | | | 2000-05-04 Christopher James Lahey <clahey@helixcode.com> * e-cell-text.c, e-cell-text.h: Fix author information. * e-table-group-leaf.c: Set a length threshold of 200. * e-table-item.c: Height cache is now actually a map. Made "length_threshold" argument work. If over the length threshold, use the height cache to get a better estimate so that once the height cache is full, height estimate is perfect. svn path=/trunk/; revision=2791
* Add argument handling here.Miguel de Icaza2000-04-261-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-04-24 Miguel de Icaza <miguel@helixcode.com> * e-table.c (e_table_class_init): Add argument handling here. * e-table-group-leaf.c (e_table_group_apply_to_leafs): New method. Enables us to walk all the children of an ETableGroup. * e-table.c (et_get_arg, et_set_arg): Implement ::get and ::set methods. (e_table_construct_from_spec_file): Now we return the etable. (e_table_construct): ditto. (et_real_construct): Now we return the ETable. Returns NULL on construct failure. (e_table_new): ditto. (e_table_new_from_spec_file): ditto. * (et_build_grouping_spec): Removed vestige code that still contained references to the etable->specification XML code. Dumped all the ifdefed out code. * e-table.h: Removed ETable->specification finally. svn path=/trunk/; revision=2632
* Fixed a warning.Christopher James Lahey2000-04-251-2/+0
| | | | | | | | | | 2000-04-25 Christopher James Lahey <clahey@helixcode.com> * e-table-size-test.c: Fixed a warning. * e-table-item.c: Removed the unnecessary gnome_canvas_update_bbox. svn path=/trunk/; revision=2598
* Calculate the width of the table from the width of all the columns, andIain Holmes2000-04-241-2/+11
| | | | | | | | | | 2000-04-23 Iain Holmes <ih@csd.abdn.ac.uk> * e-table-item.c (eti_bounds): Calculate the width of the table from the width of all the columns, and update the eti->width field as appropiate. (eti_update): Update the bbox. svn path=/trunk/; revision=2572
* Propagate mouse wheel events upwards.Anders Carlsson2000-04-171-2/+6
| | | | | | | | | | | | 2000-04-16 Anders Carlsson <andersca@gnu.org> * e-table-item.c (eti_event): Propagate mouse wheel events upwards. * e-table.c (et_real_construct): Use a GtkScrolledWindow here instead of a GtkScrollbar, since it makes mouse wheel scrolling much easier. svn path=/trunk/; revision=2463
* Added a row height cache.Christopher James Lahey2000-04-151-2/+59
| | | | | | | | 2000-04-14 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c, e-table-item.h: Added a row height cache. svn path=/trunk/; revision=2443
* Fixed some referencing and lifetime issues.Christopher James Lahey2000-04-051-1/+3
| | | | | | | | | | | | | | | | | 2000-04-04 Christopher James Lahey <clahey@helixcode.com> * widgets/e-minicard/e-minicard.c: Fixed some referencing and lifetime issues. From widgets/e-table: 2000-04-04 Christopher James Lahey <clahey@helixcode.com> * e-table-text-model.c: Make this assert a bit more readable. * e-table-item.c: Fix update loop behavior. svn path=/trunk/; revision=2291
* Fix indentationMiguel de Icaza2000-03-301-8/+8
| | | | svn path=/trunk/; revision=2252
* Fix nasty rendering bugs,Michael Meeks2000-03-281-41/+54
| | | | | | | Implement bbox calcs for e-tabel-item Clean style lots svn path=/trunk/; revision=2194
* i2000-03-20 Christopher James Lahey <clahey@helixcode.com>Chris Lahey2000-03-211-42/+37
| | | | | | | | | | | | | * e-table-group-container.c, e-table-group-container.h, e-table-group-leaf.c: Updated these to use the new ECanvas reflow infrastructure. * e-table-item.c, e-table-item.h: Updated these to use the new ECanvas reflow infrastructure. Fixed the bounding box. * e-table.c, e-table.h: Made the header have no extra space around it. svn path=/trunk/; revision=2124
* Rearranged SUBDIRS for dependencies.Christopher James Lahey2000-03-121-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-03-12 Christopher James Lahey <clahey@helixcode.com> * widgets/Makefile.am: Rearranged SUBDIRS for dependencies. * widgets/e-text/e-text-model.c, widgets/e-text-model.h: New object which stores a piece of text data. All methods are virtual. * widgets/e-text/e-text.c, widgets/e-text/e-text.h: Modified this to use an ETextModel for its data. * widgets/e-text/Makefile.am: Added e-text-model.c and e-text-model.h. * widgets/e-minicard/test-minicard-label.c: Made this work again. * widgets/e-minicard/e-minicard.c, widgets/e-minicard/e-minicard.h: Made this use an ETableModel to get its data. * widgets/e-minicard/e-minicard-label.c, widgets/e-minicard/e-minicard-label.h: Added the ability to set the text model used for the contained text widget. * widgets/e-minicard/Makefile.am: Added e-table since e-minicard is now dependent on an e-table-model for its data. * e-util/e-canvas.c, e-util/e-canvas.h: Fixed some bugs here to speed up reflow and to make it fail less often. * addressbook/demo, addressbook/demo/.cvsignore, addressbook/demo/Makefile.am, addressbook/demo/demo.c, addressbook/demo/spec: A new program to test ETable and EMinicard integration. * configure.in: Added addressbook/demo/Makefile. * addressbook/Makefile.am: Added the demo/ subdirectory. in widgets/e-table/: 2000-03-12 Christopher James Lahey <clahey@helixcode.com> * e-table.c: Made this use an ECanvas. Fixed a bug where e_table_new_from_spec_file was calling e_table_construct instead of e_table_construct_from_spec_file. * e-table-item.c, e-table-header-item.c, e-table-column-item.c: Switched these to use GTK_TYPE_OBJECT and GTK_VALUE_OBJECT instead of GTK_TYPE_POINTER and GTK_TYPE_OBJECT. * e-cell-text.c: Got rid of a crashing bug. * e-table-text-model.c, e-table-text-model.h: A new object which is an e-text-model which uses an e-table-model for its data. * Makefile.am: Added e-table-text-model.c and e-table-text-model.h. * .cvsignore: Added table-example-1 and table-example-2. svn path=/trunk/; revision=2101
* Changed the destroy function to disconnect from signals before unrefingChristopher James Lahey2000-03-081-30/+38
| | | | | | | | | | | | | | | | | | | 2000-03-08 Christopher James Lahey <clahey@helixcode.com> * e-table.c: Changed the destroy function to disconnect from signals before unrefing the objects the sinnals are on. Changed the destroy function to match the objects and signal ids properly in its disconnect section. * e-table-item.c, e-table-item.h: Changed this to do follow the canvas rules better. * e-table-header-item.c, e-table-header-item.h: Made ETableHeaderItem connect to the "sort_info_changed" on its ETableSortInfo instead of just manually redrawing itself. Fixed the update function a bit to follow the canvas rules a bit better. svn path=/trunk/; revision=2087
* Made rows get unselected when switching from one group to the next.Christopher James Lahey2000-03-061-0/+3
| | | | | | | | | 2000-03-06 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Made rows get unselected when switching from one group to the next. svn path=/trunk/; revision=2075
* Fixed a compile warning.Christopher James Lahey2000-03-051-18/+18
| | | | | | | | | | 2000-03-04 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Fixed a compile warning. * e-table.c: Fixed a crash error. svn path=/trunk/; revision=2039
* Made the E table item redraw properly.Christopher James Lahey2000-02-251-0/+2
| | | | | | | | | | | | 2000-02-25 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Made the E table item redraw properly. * e-table-group-container.c: Added handling to distinguish between n items and 1 item. Got rid of a crash due to an abandoned timeout callback. svn path=/trunk/; revision=1933
* Added duplicate_value and add_value. Use the new compare functions. MadeChristopher James Lahey2000-02-251-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-02-24 Christopher James Lahey <clahey@helixcode.com> * test-table.c: Added duplicate_value and add_value. Use the new compare functions. Made it so we only create one model to better test model view stuff. Changed the test to not have as many extra, useless, columns. * test-cols.c, test-check.c: Added duplicate_value and add_value. Use the new compare functions. * e-table.c, e-table.h: Use all the new features of e-table-groups (sorting and grouping). Handle on the fly reorganization of groups in an idle loop. Compare functions now are to return -1 if the first item is greater, 0 if they are equal, or 1 if the second item is greater. * e-table-subset.c, e-table-subset.h: Made e-table-subset disconnect properly from its signals when it dies. * e-table-subset-variable.c, e-table-subset-variable.h: Virtualized the add and remove commands so that e_table_sorted_variable could override the add command to do sorting. * e-table-sorted.c: Fixed this to inherit properly from ETableSubset. * e-table-simple.h, e-table-simple.c: Added handling of duplicate_value and free_value; * e-table-model.c, e-table-model.h: Added duplicate_value and free_value for memory allocation of table elements outside the table. * e-table-item.c: Fixed a crashing bug. * e-table-group.c: Added sorting. Fixed destruction to delete the right things. * e-table-group-leaf.c, e-table-group-leaf.h: Pass column and sort order information into the e_table_sorted_variable. Properly destroy things when deleted. * e-table-group-container.c, e-table-group-container.h: Properly handle the list of subgroups. Handle proper sorting and grouping of subgroups. * e-table-sorted-variable.c, e-table-sorted-variable.h: Files to do a sorted model that stays sorted as you add and remove rows. * Makefile.am: Added e-table-sorted-variable.c and e-table-sorted-variable.h. svn path=/trunk/; revision=1930
* Made keyboard focus navigation work across groups.Christopher James Lahey2000-02-241-1/+1
| | | | | | | | | | | | | | | | | | 2000-02-24 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Made keyboard focus navigation work across groups. * e-table-header.c: Made e_table_header_col_diff not crash if you give it a column less than 0 (it truncates negative column values to 0.) * e-table-group.c, e-table-group.h: Added e_table_group_get_header to get the ETableHeader for this ETableGroup. * e-table-group-container.c: Made shift tab work. svn path=/trunk/; revision=1917
* Made changing focus work.Christopher James Lahey2000-02-241-5/+5
| | | | | | | | 2000-02-24 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c: Made changing focus work. svn path=/trunk/; revision=1916
* This were moved to widgets/e-text/ a while ago but never removed. TheyChristopher James Lahey2000-02-241-61/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-02-24 Christopher James Lahey <clahey@helixcode.com> * widgets/e-text.c, widgets/e-text.h, e-text-event-processor.c, e-text-event-processor.h, e-text-event-processor-emacs-like.c, e-text-event-processor-emacs-like.h, e-text-event-processor-types.h: This were moved to widgets/e-text/ a while ago but never removed. They have now been removed. * widgets/e-text/e-text.c, widgets/e-text/e-text.h: Removed some warnings from this file. Made tooltips disappear when you're finished with them. * widgets/e-minicard/test-reflow.c, widgets/e-minicard/test-minicard.c, widgets/e-minicard/test-minicard-label.c: Commented out unused about_callback functions. * widgets/e-minicard/e-reflow.c: Made e-reflow pass an EFocus to its e-minicard children. * widgets/e-minicard/e-minicard.c: Made e-minicard take and return an EFocus for its "has_focus" argument. This makes shift-tab work properly. * widgets/e-minicard/e-minicard-label.c: Made e-minicard-label take and return an EFocus for its "has_focus" argument. Made the font that e-minicard-label uses only be allocated once. * e-util/e-canvas-utils.h: Fixed the comment at the top and added #ifndef __E_CANVAS_UTILS__. * e-util/Makefile.am: Added e-xml-utils.c and e-xml-utils.h. * e-util/e-xml-utils.h, e-util/e-xml-utils.c: Added files for some xml utilities. * e-util/e-util.h: Added type EFocus which describes which direction the focus will be coming from. in mail: 2000-02-24 Christopher James Lahey <clahey@helixcode.com> * message-list.c: Changed this to not use the "x" and "y" arguments to e-table-item. in widgets/e-table: 2000-02-24 Christopher James Lahey <clahey@helixcode.com> * e-table-subset-variable.c, e-table-subset-variable.h: A new model which is a subset, but you can add and remove rows. * test-table.c: Added a thaw method for use with the e-table-subset (emits model_changed.) Adapted to the changes to e_table_item. Properly parse headers. Adapted to the changes to e_table, including creating example xml spec data. * test-cols.c, test-check.c: Added a thaw method for use with the e-table-subset (emits model_changed.) Adapted to the changes to e_table_item. * e-table.c, e-table.h: Reworked e-table to use the ETable grouping system. The only difference for the interface is that instead of passing in a column_spec and a grouping_spec, you pass in a single string that is an xml format that includes both pieces of information. * e-table-subset.h: Added rules for emacs to do correct indentation. * e-table-subset.c: Implemented freezing. No signals are emitted while frozen and "model_changed" is emitted when thawed. * e-table-sorted.h: ETableSortedClass has ETableSubset as its parent object instead of ETableSubsetClass. Fixed this. * e-table-simple.c, e-table-simple.h: Implemented the thaw method. Use of simple now requires an extra argument (the thaw method.) * e-table-model.h, e-table-model.c: Added e_table_model_freeze and e_table_model_thaw. * e-table-item.h, e-table-item.c: Reworked this a bit to make it provide some things the new group system needed and to make inter-item keyboard focus work. Changed the external interface only in the list of arguments it recognizes and signals it emits. Instead of "x" and "y", you have to use e_canvas_item_move_absolute and instead of emitting a "height_changed" signal, it emits a "resize" signal. There's new "has_focus", "width", and "height" arguments and a function to get the currently focused column. * e-table-header-item.c: Got rid of some warnings here. Changed the * e-table-group-leaf.h, e-table-group-leaf.c, e-table-group-container.h, e-table-group-container.c: New types to make e_table_group work properly. * e-table-group.h, e-table-group.c: Completely reworked e-table grouping. e-table-group now uses a hierarchical structure. * e-cell.h: Added e_cell_print. This doesn't work yet. * e-cell.c: Made e_cell_realize exist. (It was improperly named e_cell_view_realize in the .c.) * e-cell-text.c: Made the blinking cursor disappear properly. * check-filled.xpm, check-empty.xpm: Made these const char *[] instead of char *[] to avoid compiler warnings. * Makefile.am: Added e-table-group-container.c, e-table-group-container.h, e-table-group-leaf.c, e-table-group-leaf.h, e-table-subset-variable.c, e-table-subset-variable.h. svn path=/trunk/; revision=1915
* Add nice assertion.Miguel de Icaza2000-02-111-0/+5
| | | | | | | | | 2000-02-11 Miguel de Icaza <miguel@gnu.org> * e-table-item.c (eti_header_structure_changed): Add nice assertion. svn path=/trunk/; revision=1733
* Fixed some motion event bugs. (incorrect x and y.)Christopher James Lahey2000-02-081-4/+4
| | | | | | | | | | | | | | | 2000-02-07 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c (eti_event): Fixed some motion event bugs. (incorrect x and y.) * Makefile.am: Added includes for dependencies in evolution/widgets/libevolutionwidgets.a * e-cell-text.h, e-cell-text.c: Completely revamped using code from e-text.c and e-text.h. svn path=/trunk/; revision=1692
* Ok, the restructuring of ETableItem to compute its size without hacks isMiguel de Icaza1999-12-311-13/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Ok, the restructuring of ETableItem to compute its size without hacks is in now. I am feeling better now. 1999-12-30 Miguel de Icaza <miguel@gnu.org> * e-table-item.c (eti_attach_cell_views): New routine, creates the cell views. (eti_detach_cell_views): Detaches the cell_views from the ETableItem. (eti_realize_cell_views, eti_unrealize_cell_views): Simplified to just do realize/unrealize notification. (eti_add_table_model): Only attach the cells when we have both the table model and the header model. * e-cell.h (ECellClass): Added two new methods: new_view and kill_view which drive the view process (instead of putting that on realize/unrealize). * e-cell.c: Adapt the code to use the new scheme for view instantiation. * e-cell-text.c, e-cell-toggle.c: Adapted to the new class changes. svn path=/trunk/; revision=1523
* Sync, does not work, dont try it, just backing up -miguelArturo Espinosa1999-12-281-29/+109
| | | | svn path=/trunk/; revision=1521
* Fix before tripArturo Espinosa1999-12-131-4/+4
| | | | svn path=/trunk/; revision=1485
* Works with GnomeCanvasGroups -miguelArturo Espinosa1999-12-131-22/+59
| | | | svn path=/trunk/; revision=1484
* More work. We now have the basics for nesting working, now we need all theArturo Espinosa1999-12-121-3/+8
| | | | | | | | | | | | | | More work. We now have the basics for nesting working, now we need all the interactions done properly. I want to use a new GnomeCanvasItem for the nesting parent as well. DnD will have to be done with our own protocol to provide all the feedback we want to provide. Miguel svn path=/trunk/; revision=1481
* fix this routine.Miguel de Icaza1999-12-101-60/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1999-12-09 Miguel de Icaza <miguel@gnu.org> * e-table-header.c (e_table_header_col_diff): fix this routine. 1999-12-04 Miguel de Icaza <miguel@gnu.org> * e-table-header-item.c (ethi_event): Started drag and drop support. * e-table-item.c (eti_table_model_changed): The columns are controled by the Header, not by the TableModel. * e-table-header-item.c (ethi_draw): Fixed redraw logic to support arbitrary header positioning. * e-cell.h: Revamped e-cell interface. We now provide the model column and the view column to all methods (so that the methods can talk to the view and to the model at the same time). * e-table-item.c: Update to new API * e-cell-test.c: Update to new API 1999-12-03 Miguel de Icaza <miguel@gnu.org> * e-cell.c (e_cell_class_init): Provide emtpy methods for enter_edit, and leave_edit. * e-table-item.c: Killed draw cell. (eti_draw): Perform column mapping here. (e_table_item_leave_edit): ditto. (e_table_item_enter_edit): ditto. (eti_event): ditto. svn path=/trunk/; revision=1478
* New file. Implement a multi-state image toggle cell object.Miguel de Icaza1999-11-301-39/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | 1999-11-29 Miguel de Icaza <miguel@gnu.org> * 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. svn path=/trunk/; revision=1445
* Small cosmetic fixArturo Espinosa1999-11-291-7/+35
| | | | svn path=/trunk/; revision=1443
* New methods; They implement editing.Miguel de Icaza1999-11-291-19/+68
| | | | | | | | | | | | | | | | | 1999-11-28 Miguel de Icaza <miguel@gnu.org> * 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; svn path=/trunk/; revision=1442
* beginning of the keyboard navigation.Miguel de Icaza1999-11-281-46/+340
| | | | | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=1441
* More work.Arturo Espinosa1999-11-271-24/+118
| | | | | | | | | | More work. I got a few offsets wrong; Event handling is broken, but I am happier Mmiguel. svn path=/trunk/; revision=1440
* Compute height using the ecell methods here. (eti_get_height): new methodMiguel de Icaza1999-11-271-10/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 svn path=/trunk/; revision=1439
* It draws the data. WEEEEEEEEE! MiguelArturo Espinosa1999-11-251-7/+55
| | | | svn path=/trunk/; revision=1435
* Realize cells.Miguel de Icaza1999-11-251-10/+70
| | | | | | | | | | | | | | | | | | | | | | | 1999-11-25 Miguel de Icaza <miguel@gnu.org> * 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. svn path=/trunk/; revision=1434
* WOOOOHOOOOOoO! It took me quite a while to figure this one out. Fixed.Miguel de Icaza1999-11-211-1/+1
| | | | | | | | | 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. svn path=/trunk/; revision=1426
* Compute width, keep track of it. (ethi_add_table_header): Monitor changesMiguel de Icaza1999-11-211-13/+51
| | | | | | | | | | | | | | | | | | | | 1999-11-20 Miguel de Icaza <miguel@gnu.org> * 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. svn path=/trunk/; revision=1425
* more stuff -migArturo Espinosa1999-11-201-2/+35
| | | | svn path=/trunk/; revision=1424
* More work -migArturo Espinosa1999-11-191-8/+62
| | | | svn path=/trunk/; revision=1420
* New E-table-item.[ch] -migArturo Espinosa1999-11-191-0/+248
svn path=/trunk/; revision=1419