aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-cell-tree.c
Commit message (Collapse)AuthorAgeFilesLines
* Changed these to use the default cells.Christopher James Lahey2000-10-111-2/+1
| | | | | | | | | | | | | | | | | | | | | | | 2000-10-11 Christopher James Lahey <clahey@helixcode.com> * tests/test-tree-1.c, tests/test-tree-2.c, tests/test-tree-3.c: Changed these to use the default cells. From gal/e-table/ChangeLog: 2000-10-11 Christopher James Lahey <clahey@helixcode.com> * e-cell-text.c, e-cell-text.h, e-cell-tree.c, e-cell-tree.h: Got rid of the model parameter to e_cell_text_new and e_cell_tree_new as they aren't used. * e-table-extras.c: Added default "integer" compare and default "tree-string", "string", and "checkbox" cells. * e-table.c: Made this use the draw-grid, cursor-mode, and _click-to-add-message fields from the xml. svn path=/trunk/; revision=5841
* Changed these to match the new ETable system.Christopher James Lahey2000-10-111-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-10-11 Christopher James Lahey <clahey@helixcode.com> * tests/test-tree-1.c, tests/test-tree-2.c, tests/test-tree-3.c: Changed these to match the new ETable system. * gal/Makefile.am: Added e-table-column-specification.lo, e-table-extras.lo, e-table-specification.lo, and e-table-state.lo. From gal/e-table/ChangeLog: 2000-10-11 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added e-table-column-specification.c, e-table-column-specification.h, e-table-extras.c, e-table-extras.h, e-table-specification.c, e-table-specification.h, e-table-state.c, and e-table-state.h. Removed some duplicated .h files. * e-cell-tree.c: Ref, sink, and unref the subcell instead of destroying it when done. * e-table-column-specification.c, e-table-column-specification.h: New class which describes a column without having a table get instantiated. * e-table-config.c: Changed get_specification to get_state to get this to compile. * e-table-defines.h, e-table-item.h: Moved the definition of ETableCursorMode from e-table-item.h to e-table-defines.h. * e-table-extras.c, e-table-extras.h: New class which acts as a set of 3 hash tables. All from char * and to alternately, ECells, GCompareFuncs, and GdkPxibufs. * e-table-scrolled.c, e-table-scrolled.h: Changed this to match the new ETable function declarations. * e-table-sort-info.c, e-table-sort-info.h: Added functions for saving to and loading from xml. * e-table-specification.c, e-table-specification.h: New class which describes a table without having to instantiate it. * e-table-state.c, e-table-state.h: New class which describes the state of a table without having to instantiate the table. * e-table.c, e-table.h: Changed this to accept both a state and a specification instead of just a specification. You then save only the state. The specification stays exactly the same. Also, you no longer need to pass in an ETableHeader. Most of the information contained in the ETableHeader are in the specification. However you may need to translate some of the strings in the specification to objects. If you need anything other than the builtin choices, you need to create an ETableExtras and pass it in. * e-tree-model.c: Removed an unused variable. svn path=/trunk/; revision=5837
* Changed to take into account the sort group, if the table has one.xNot Zed2000-10-041-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-10-04 Not Zed <NotZed@HelixCode.com> * e-table-sorted-variable.c (etsv_add): Changed to take into account the sort group, if the table has one.x (etsv_insert_idle): Clear the insert count if we hit an idle loop. (etsv_sort_idle): Reset the insert count if we perform a sort. (etsv_add): If we are adding a lot (>ETSV_INSERT_MAX) items, without hitting an idle loop, assume we're better off performing a sort instead. Use another idle handler to reset the count. 2000-10-03 Not Zed <NotZed@HelixCode.com> * e-table-sorted-variable.c (etsv_sort_by_group): Sort based on the sort_group stuff. * e-tree-model.c (e_tree_init): Setup the group sort info string. (etree_destroy): And free it. (build_sort_group): Build a string for this node. 2000-09-29 Not Zed <NotZed@HelixCode.com> * e-cell-tree.c (e_cell_tree_get_node): Changed to take the source model, not the tree model. The source model may be a subset, and it needs to remap the rows for us. (ect_draw): (ect_event): (ect_max_width): (ect_print): Changed callers. * e-table-sorted-variable.c (etsv_sort_subset): (etsv_sort_build_subset): (etsv_sort_free_subset): Functions to perfom grouping of sorts for sorts that have row_sort_group returning useful info. (etsv_sort): Use the complex sort routines if we need to. * e-table-model.c (e_table_model_row_sort_group): Return a sort-id for a given row. (e_table_model_has_sort_group): Return if the sort-id provides any useful information. svn path=/trunk/; revision=5705
* reinstate file.Chris Toshok2000-10-031-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-10-02 Chris Toshok <toshok@helixcode.com> * tree-expanded.xpm: reinstate file. * tree-unexpanded.xpm: same. * e-tree-example-1.c (main): remove calls to e_cursor_*, and don't create pixbufs. let's the tree give us the defaults. * e-tree-model.c (e_tree_model_node_changed): call e_table_model_row_changed on the node's row (if it's visible). (e_tree_model_node_inserted): call e_table_model_row_inserted on the new node's row, if it's visible. (e_tree_model_node_removed): call e_table_model_row_removed on the old node's row, if it was visible. * e-cell-tree.c (e_cell_tree_construct): allow open_pixbuf and closed_pixbuf to be NULL, and default them to the xpm data in rtee-{un}expanded.xpm. (ect_destroy): call gdk_pixbuf_unref on our open/closed pixbufs. * tree-expanded.xpm, tree-unexpanded.xpm: make the + and - a little lighter than straight black. svn path=/trunk/; revision=5660
* 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
* Better calculations for tooltip positionsIain Holmes2000-09-181-1/+7
| | | | svn path=/trunk/; revision=5477
* Added some missing #includes.Christopher James Lahey2000-09-161-1/+0
| | | | | | | | | | | | 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-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/+62
| | | | | | | | | | | 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-2/+5
| | | | | | | | | | | | 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-7/+3
| | | | | | | | | | | 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
* fix the conditions under which we draw a horizontal line.Chris Toshok2000-07-071-1/+1
| | | | | | | | | 2000-07-06 Chris Toshok <toshok@helixcode.com> * e-cell-tree.c (ect_draw): fix the conditions under which we draw a horizontal line. svn path=/trunk/; revision=3929
* add icon_at virtual function - it was stupid to make the insert call takeChris Toshok2000-06-231-4/+1
| | | | | | | | | | | | | | | | | | | | 2000-06-23 Chris Toshok <toshok@helixcode.com> * e-tree-model.h, e-tree-model.c: add icon_at virtual function - it was stupid to make the insert call take 2 pixbufs. the model should give this information. * e-cell-tree.c: get rid of the opened/closed pixbuf stuff. call e_tree_model_icon_of_node. * e-tree-example-1.c: add my_icon_at. * e-tree-simple.c (simple_icon_at): new function (e_tree_simple_new): add icon_at parameter. * e-tree-simple.h: add SimpleIconAtFn. svn path=/trunk/; revision=3707
* use the expanded/unexpanded pixbufs as node pixbufs for the first level ofChris Toshok2000-06-231-15/+45
| | | | | | | | | | | | | | | | | | | | 2000-06-23 Chris Toshok <toshok@helixcode.com> * e-tree-example-1.c (create_tree): use the expanded/unexpanded pixbufs as node pixbufs for the first level of children, to test the drawing. * e-tree-model.c (e_tree_model_node_get_closed_pixbuf): new function. (e_tree_model_node_get_opened_pixbuf): same. (e_tree_model_node_insert): add opened/closed pixbuf argument. (e_tree_model_node_insert_before): same. * e-tree-model.h: add prototypes for opened/closed pixbuf accessors, and add them to the e_tree_model_node_insert_* calls. * e-cell-tree.c (ect_draw): add opened/closed pixbuf drawing per node. svn path=/trunk/; revision=3706
* print the icon for the tree control.Chris Toshok2000-06-161-21/+27
| | | | | | | | 2000-06-15 Chris Toshok <toshok@helixcode.com> * e-cell-tree.c (ect_print): print the icon for the tree control. svn path=/trunk/; revision=3579
* new function, to generate postscript so i can test tree printing.Chris Toshok2000-06-141-12/+105
| | | | | | | | | | | | | | | | | | | 2000-06-14 Chris Toshok <toshok@helixcode.com> * e-tree-example-1.c (print_tree): new function, to generate postscript so i can test tree printing. (create_tree): add print button. * e-cell-tree.c (ect_print_height): implement function (in a broken way for the time being, heh). (ect_print): implement function to draw tree controls and offset the subcell's printing. icons aren't printed yet, just lines. (ect_draw): remove old unnecessary comments. only draw the horizontal line in specific instances (well, add a test so a lone root node doesn't get the horizontal line.) (e_cell_tree_class_init): add print/print_height methods. svn path=/trunk/; revision=3565
* supply the pixbufs here.Chris Toshok2000-06-111-13/+10
| | | | | | | | | | | | | | | 2000-06-10 Chris Toshok <toshok@helixcode.com> * e-tree-example-1.c (create_tree): supply the pixbufs here. * e-cell-tree.h: change pixbuf names to open_pixbuf/closed_pixbuf. * e-cell-tree.c (e_cell_tree_construct): take open/closed pixbuf parameters, and don't #include the .xpm files directly here. (e_cell_tree_new): same. (ect_draw): use the pixbufs from the ECellTree. svn path=/trunk/; revision=3522
* offset events before passing them to our subcell view.Chris Toshok2000-06-111-4/+17
| | | | | | | | | 2000-06-10 Chris Toshok <toshok@helixcode.com> * e-cell-tree.c (ect_event): offset events before passing them to our subcell view. svn path=/trunk/; revision=3520
* change things so we focus the cell and select the row, and also dispatchChris Toshok2000-06-111-16/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* New files. A tree model using a GNode structure to store it's info.Chris Toshok2000-06-091-0/+385
2000-06-08 Chris Toshok <toshok@helixcode.com> * e-tree-gnode.c, e-tree-gnode.h: New files. A tree model using a GNode structure to store it's info. * e-tree-model.c, e-tree-model.h: New files. A proxy model sitting between a table model and the real tree model (of which ETreeGNode is an example). * e-cell-tree.c, e-cell-tree.h: New files. A cell renderer capable of wrapping up a subcell and drawing the tree controls for expanding/collapsing trees. * tree-expanded.xpm, tree-unexpanded.xpm: New files. the standard + and - icons. * e-tree-example-1.c: New file, giving a (pretty poor :) example of using ETreeGNode. * Makefile.am: at the tree stuff to the build, and build tree-example-1. * .cvsignore: ignore tree-example-1. svn path=/trunk/; revision=3483