aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-table-header-item.c
Commit message (Collapse)AuthorAgeFilesLines
* Remove test for source. We will fix this later.Miguel de Icaza2000-04-131-15/+13
| | | | | | | | | 2000-04-12 Miguel de Icaza <miguel@gnu.org> * e-table-header-item.c (ethi_drag_motion): Remove test for source. We will fix this later. svn path=/trunk/; revision=2413
* Reset resize_guide here.Miguel de Icaza2000-04-121-5/+3
| | | | | | | | 2000-04-12 Miguel de Icaza <miguel@gnu.org> * e-table-header-item.c (ethi_end_resize): Reset resize_guide here. svn path=/trunk/; revision=2405
* Add group indent width here. (is_pointer_on_division): Use the groupMiguel de Icaza2000-04-111-19/+108
| | | | | | | | | | | | | | | | | | | | | | | 2000-04-11 Miguel de Icaza <miguel@helixcode.com> * e-table-header-item.c (ethi_add_destroy_marker): Add group indent width here. (is_pointer_on_division): Use the group indent here, so the resize pointer is shown at the correct time. (TOLERANCE): Bump it up to 3 (draw_button): Do not paint an arrow if there is an icon present, and not enough space to paint. 2000-04-10 Miguel de Icaza <miguel@helixcode.com> * e-table-header-item.c (make_shapped_window_from_xpm): New routine, creates a shapped mask window from an xpm buffer. (ethi_add_drop_marker): New version, uses shaped windows instead of canvas items to signal the drop location. (ethi_maybe_start_drag): Disable dragging if there is only one column left. svn path=/trunk/; revision=2390
* Drop frozen count support from here. (ethi_start_drag): ditto.Miguel de Icaza2000-04-111-8/+2
| | | | | | | | | | | | 2000-04-10 Miguel de Icaza <miguel@gnu.org> * e-table-header-item.c (ethi_drag_motion): Drop frozen count support from here. (ethi_start_drag): ditto. * e-table-header.h: Kill frozen_count. svn path=/trunk/; revision=2385
* Got rid of some warnings.Christopher James Lahey2000-04-061-53/+74
| | | | | | | | | | | | | | | 2000-04-06 Christopher James Lahey <clahey@helixcode.com> * test-cols.c, test-table.c: Got rid of some warnings. * 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-header-item.c, e-table-header-item.h, e-table-sort-info.c, e-table-sort-info.h, e-table-sorted-variable.c, e-table-sorted-variable.h, e-table.c, e-table.h: Changed ETableSortInfo to not use xml internally. svn path=/trunk/; revision=2305
* One linerMiguel de Icaza2000-03-301-1/+1
| | | | svn path=/trunk/; revision=2253
* Fix indentationMiguel de Icaza2000-03-301-77/+77
| | | | svn path=/trunk/; revision=2252
* Remove warning from here.Miguel de Icaza2000-03-271-5/+3
| | | | | | | | | | | | | | | | 2000-03-26 Miguel de Icaza <miguel@gnu.org> * e-table-header-item.c (ethi_realize): Remove warning from here. * test-table.c (table_browser_test): Use ECanvas, not GnomeCanvas, to support reflow. * test-cols.c (multi_cols_test): ditto * e-table.c (e_table_setup_header): ditto * e-table-header-item.c (ethi_font_load): Replace font. (ethi_realize): ditto. svn path=/trunk/; revision=2172
* Rearranged SUBDIRS for dependencies.Christopher James Lahey2000-03-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-8/+34
| | | | | | | | | | | | | | | | | | | 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 it so that columns would be properly indented.Christopher James Lahey2000-03-061-4/+18
| | | | | | | | | 2000-03-06 Christopher James Lahey <clahey@helixcode.com> * e-table-header-item.c, e-table-header-item.h: Made it so that columns would be properly indented. svn path=/trunk/; revision=2072
* Added support for the sorting info. The Etable creates a sort_info object,Christopher James Lahey2000-03-061-6/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-03-05 Christopher James Lahey <clahey@helixcode.com> * e-table.c, e-table.h: Added support for the sorting info. The Etable creates a sort_info object, and then connects to the signals to rearrange the rows when the sort_info changes. It also passes the info object to the ETableHeaderItem. * e-table-model.c: Fixed a typo where ETableModel was written as ETableModle. * e-table-header.c, e-table-header.h: Added some code for sorting here, but it's not used. I don't think we want this code, but I wanted to check it in at least once so that it's not lost. * e-table-header-item.c, e-table-header-item.h: Added a "sort_info" argument to ETableHeaderItem. Added display of current sort settings. Added support for clicking to change the sort settings. * e-table-col.h: E_TABLE_COL_ARROW_NONE is marked as being = 0 since this is required in other places. (I think C defines this as being the case, but it's good to have the = 0 there so that it's obvious that it has to be first.) * TODO: Mark sorting as done. * e-table-sort-info.c, e-table-sort-info.h: New files for containing the xml grouping/sorting information and for sending signals on that information. * Makefile.am: Added e-table-sort-info.c and e-table-sort-info.h. svn path=/trunk/; revision=2060
* Removed some unused code.Christopher James Lahey2000-03-041-5/+0
| | | | | | | | | | | | | 2000-03-03 Christopher James Lahey <clahey@helixcode.com> * e-table.c: Removed some unused code. * e-table-header-item.c, e-table-header-item.h: Removed the unused normal_cursor variable and object. * e-table-col.c: Maintain a reference count in the contained ECell. svn path=/trunk/; revision=2024
* Test frozen columnsChristopher James Lahey2000-03-011-0/+9
| | | | | | | | | | | | | | | | | | | 2000-02-29 Christopher James Lahey <clahey@helixcode.com> * test-table.c: Test frozen columns * e-table.c: Make frozen columns available through the xml file. * e-table-header.c, e-table-header.h, e-table-header-item.c: Added frozen columns API to let you specify some number of leading columns as undraggable. * Makefile.am: Add e-table-example-1.c and e-table-example-2.c. * e-table-example-1.c, e-table-example-2.c: New files. A couple of examples of ETable use. svn path=/trunk/; revision=1993
* Fixed a couple of crash bugs.Christopher James Lahey2000-02-281-2/+2
| | | | | | | | | 2000-02-28 Christopher James Lahey <clahey@helixcode.com> * e-table-header-item.c, e-table-header.c: Fixed a couple of crash bugs. svn path=/trunk/; revision=1975
* This were moved to widgets/e-text/ a while ago but never removed. TheyChristopher James Lahey2000-02-241-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Check the ethi is actually the one being dragged. Prevents crashes whenIain Holmes2000-02-131-0/+14
| | | | | | | | | | | | | 2000-02-12 Iain Holmes <ih@csd.abdn.ac.uk> * e-table-header-item.c (ethi_drag_motion): Check the ethi is actually the one being dragged. Prevents crashes when trying to drag headeritems and there are multiple headeritems on the same canvas. (ethi_drag_end): Same. (ethi_drag_drop): Same. (ethi_drag_leave): Same. svn path=/trunk/; revision=1745
* Added test of sort arrows.Christopher James Lahey2000-02-121-7/+33
| | | | | | | | | | | | | 2000-02-11 Christopher James Lahey <clahey@helixcode.com> * test-check.c: Added test of sort arrows. * e-table-col.h, e-table-col.c: Added sort arrows for column headers (It doesn't actually sort. It just displays the arrows.) * e-table-header-item.c: Added display of arrows. svn path=/trunk/; revision=1743
* Test column header image.Christopher James Lahey2000-02-121-16/+34
| | | | | | | | | | | | | | 2000-02-11 Christopher James Lahey <clahey@helixcode.com> * clip.png: Test column header image. * test-check.c: Test pixbuf column headers. * e-table-col.h, e-table-col.c: Added pixbufs for column headers. * e-table-header-item.c (draw_button): Draw pixbuf column headers properly. svn path=/trunk/; revision=1739
* Added reordering of columns.Christopher James Lahey2000-02-121-21/+66
| | | | | | | | | | | | 2000-02-11 Christopher James Lahey <clahey@helixcode.com> * e-table-header-item.h, e-table-header-item.c: Added reordering of columns. * e-table-header.c: Fixed a couple of bugs in the move column and remove column functions. svn path=/trunk/; revision=1736
* Handle button releases properly.Christopher James Lahey2000-02-101-0/+23
| | | | | | | | | | 2000-02-10 Christopher James Lahey <clahey@helixcode.com> * e-cell-text.c: Handle button releases properly. * e-table-header-item.c (ethi_start_drag): Added a drag icon. svn path=/trunk/; revision=1724
* Setup the scroll region of the table canvas on size allocation.Miguel de Icaza2000-02-071-1/+3
| | | | | | | | | | | 2000-02-07 Miguel de Icaza <miguel@gnu.org> * e-table.c (e_table_setup_table): Setup the scroll region of the table canvas on size allocation. (e_table_canvas_realize): Do not set the scrollregion here. (e_table_canvas_init): Move root initialization here. svn path=/trunk/; revision=1683
* Compilation touchups -miguelArturo Espinosa2000-01-061-1/+1
| | | | svn path=/trunk/; revision=1537
* More work. We now have the basics for nesting working, now we need all theArturo Espinosa1999-12-121-2/+0
| | | | | | | | | | | | | | 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-24/+292
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* fixed api.Miguel de Icaza1999-12-031-2/+2
| | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=1459
* Removed change cursor from here.Miguel de Icaza1999-12-021-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | 1999-12-01 Miguel de Icaza <miguel@gnu.org> * 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. svn path=/trunk/; revision=1450
* New cell-toggle stuff compiles -miguelArturo Espinosa1999-11-301-2/+12
| | | | svn path=/trunk/; revision=1446
* beginning of the keyboard navigation.Miguel de Icaza1999-11-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-23/+0
| | | | svn path=/trunk/; revision=1435
* Realize cells.Miguel de Icaza1999-11-251-8/+31
| | | | | | | | | | | | | | | | | | | | | | | 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
* Compute width, keep track of it. (ethi_add_table_header): Monitor changesMiguel de Icaza1999-11-211-6/+59
| | | | | | | | | | | | | | | | | | | | 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
* New E-table-item.[ch] -migArturo Espinosa1999-11-191-1/+2
| | | | svn path=/trunk/; revision=1419
* Add resizing capabilities.Miguel de Icaza1999-11-161-35/+268
| | | | | | | | | | | | | | | | | | | | | 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. svn path=/trunk/; revision=1388
* More table workArturo Espinosa1999-11-121-7/+3
| | | | svn path=/trunk/; revision=1383
* StuffArturo Espinosa1999-11-101-0/+233
svn path=/trunk/; revision=1378