aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-cell.c
Commit message (Collapse)AuthorAgeFilesLines
* Rename from Helix Code -> XimianMiguel de Icaza2001-01-161-1/+1
| | | | svn path=/trunk/; revision=7520
* Added the actions parameter to ect_event. Added an actions field toChristopher James Lahey2000-12-101-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Work to get a Gtk-Doc infrastructure in place for Gal.Miguel de Icaza2000-12-091-1/+11
| | | | | | | | Work to get a Gtk-Doc infrastructure in place for Gal. Miguel. svn path=/trunk/; revision=6883
* pass along the column's width to e_cell_show_tooltip.Chris Toshok2000-12-071-3/+3
| | | | | | | | | | | | | | | | | | | | | | | 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-3/+3
| | | | | | | | | | | | | | | | 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
* Documented.Miguel de Icaza2000-11-251-1/+117
| | | | | | | | | | | | | | | | | | 2000-11-25 Miguel de Icaza <miguel@helixcode.com> * e-cell.c: Documented. 2000-11-24 Miguel de Icaza <miguel@helixcode.com> * e-cell-toggle.c (etog_queue_redraw): Documented. * e-cell-text.c: Removed list of unused arguments. Add docs. * e-cell-checkbox.c (e_cell_checkbox_new): Add docs. * e-table-simple.c (e_table_simple_new): Add docs. svn path=/trunk/; revision=6665
* Save the children - FedericoFederico Mena Quintero2000-11-231-2/+2
| | | | svn path=/trunk/; revision=6652
* Moved files, fixed header files and paths - FedericoFederico Mena Quintero2000-09-201-1/+1
| | | | svn path=/trunk/; revision=5513
* Fixed e-table #includes so that it would compile.Chris Lahey2000-09-181-1/+1
| | | | svn path=/trunk/; revision=5482
* If the cursor is inside the subcell, call the show_tooltip on it.Iain Holmes2000-09-161-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-0/+8
| | | | | | | | | | | 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
* Added infrastructure for setting the justification of columns. Still needChristopher James Lahey2000-08-251-3/+3
| | | | | | | | | | | | 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
* Added $(GNOME_PRINT_LIBS) to all of the LDADDs.Christopher James Lahey2000-06-111-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* add table-size-testChris Toshok2000-04-171-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | * Makefile.am (noinst_PROGRAMS): add table-size-test * .cvsignore: add table-size-test. * e-cell-text.c (ect_ecent): use e_table_model_is_cell_editable instead of E_CELL_EDITABLE. * e-cell-toggle.c (etog_event): same. * e-cell.c (e_cell_init): don't call e_cell_set_editable. that info comes from the model. (e_cell_set_editable): removed function. * e-cell.h: remove the E_CELL_EDITABLE flag. that should be retrieved from the model. also, remove the prototype for e_cell_set_editable. * e-table-size-test.c: new file, for a stress test of sorts, of a large, uneditable e-table. svn path=/trunk/; revision=2468
* Load the icons from the installation path, not form the GNOME-libsMiguel de Icaza2000-04-061-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-04-06 Miguel de Icaza <miguel@gnu.org> * shell/e-shortcut.c (shell_icon_cb): Load the icons from the installation path, not form the GNOME-libs installation prefix. (shell_icon_cb): Memory leak fix. * shell/Makefile.am (imagesdir): Pass the EVOLUTION_IMAGES installation directory here. * art/Makefile.am (images_DATA): Renamed from pixmaps to images. 2000-04-06 Miguel de Icaza <miguel@gnu.org> * message-list.c: Stick pixmaps here. * mail-display.c (embeddable_destroy_cb): Replaced C++ comments with C comments. * message-list.c (load_internal_images): New function, loads images. (message_list_init_renderers): Load images, fix previous attempt at loading images. * Makefile.am (dist-hook): Added distribution of pixmaps. * pixmaps: New directory, used to hold the XPMs we ship with. * pixmaps/envelope-closed.xpm, pixmaps/envelope-open.xpm: Tigert's envelopes incorporated. 2000-04-06 Miguel de Icaza <miguel@gnu.org> * e-cell-text.c: Killed ARG_EDITABLE. (ect_event): Updated to new editable setup. (e_cell_text_new): Kill editable argument. * e-cell-toggle.c (etog_event): Handle editability here * e-cell-text.h: Removed editable bit field from here, it is now taken care at the e-cell level. * e-cell.c (e_cell_set_editable): New function. (e_cell_init): Set editable to TRUE by default. * test-check.c (check_test): update to new api * test-table.c (table_browser_test): ditto. (do_e_table_demo): ditto. * test-cols.c (multi_cols_test): ditto svn path=/trunk/; revision=2302
* Fix indentationMiguel de Icaza2000-03-301-1/+1
| | | | svn path=/trunk/; revision=2252
* This were moved to widgets/e-text/ a while ago but never removed. TheyChristopher James Lahey2000-02-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Compilation touchups -miguelArturo Espinosa2000-01-061-1/+1
| | | | svn path=/trunk/; revision=1537
* Lots of reorganization to get the Evolution shell to begin its life. ItArturo Espinosa2000-01-061-1/+1
| | | | | | | | | Lots of reorganization to get the Evolution shell to begin its life. It also includes a new evolution widget from Damon. Miguel. svn path=/trunk/; revision=1536
* Ok, the restructuring of ETableItem to compute its size without hacks isMiguel de Icaza1999-12-311-4/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* More work. We now have the basics for nesting working, now we need all theArturo Espinosa1999-12-121-3/+3
| | | | | | | | | | | | | | 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-16/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 methods; They implement editing.Miguel de Icaza1999-11-291-6/+19
| | | | | | | | | | | | | | | | | 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-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Compute height using the ecell methods here. (eti_get_height): new methodMiguel de Icaza1999-11-271-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Realize cells.Miguel de Icaza1999-11-251-5/+66
| | | | | | | | | | | | | | | | | | | | | | | 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
* More stuffArturo Espinosa1999-11-221-0/+48
svn path=/trunk/; revision=1428