aboutsummaryrefslogblamecommitdiffstats
path: root/widgets/e-table/TODO
blob: 65379a25be72a44ebd59ca04181695ddb98e85e4 (plain) (tree)
1
2
3
4
5
6
7
8
9





                                                                         
 
 
             
                            









                                                                    
 
               
 



                                                         

                                                                                
                                    
                                                                          
 
                
 


                                                               












                                                         
                                


                                        
                                                                                                                












                                                        
                                           


                                                                            




                                                                            



                                                                                  
                                                                
 
Implement e-cell-height
Implement computation of heights from the e-cell-heights
Make sure we compute the height from that
Include spacing in columns and rows for the decoration lines
Add threshold to compute a "global" size 
Implement the two methods for row finding: by full thing, or by a factor.


+ Add editing
mouse grabbing for scrolling


1. Make sure that all values are updated on header changes and table
   model changes (they are slightly out of sync now)

* Correctness

    * Make sure we can boot and shutdown with no memory leaks.

    * Run Insure on the thing.

+ * Propagation

+   * Row changes should be reflected in the subsets.



* Add an ETable::get_specification method to get the current layout information.

+   * Add frozen_columns output.
    * Add input and output of column widths and minimum column widths.

+ * Add GUI sort

+   * Create an ETableSortInfo class.
+   * Add display of proper arrows to the ETableHeaderItem.
+   * Add switching of sorting on clicks.
    * Add depressed button state to ETableHeaderItem?

* Add GUI grouping

    * Create ETableGroupItem class.
    * Make it work.  (A large step)

* Add a context menu

    * Define the menu
    * Create the menu object.
    * Hook up all the menu items.

* Add a possible column list GUI

    * Create ETableColumnList class.
    * Hook it up to ETableHeader.
    * Figure out the correct semantics for the connection between the ETableHeader and the ETableColumnList.
    * Implement widget display.
    * Implement drag&drop.

* Add closing and openning of groups

    * Add + button to group display.
    * Build in semantics for clicking on the button.
    * Make sub items hide & show.
    * Resize group.
    * Figure out how to save this data.

* Data entry ("Click here to add...")

    * Add "Allocate" to the ETableModel
    * Implement ETableDataEntry (a subclass of ETableModel).
    * Build GUI for the data entry model.  This should be fairly simple.

* Usability

    * When the widget grows, the columns should resize to occupy all the
      available space

* Draw little arrows for new column position instead of little triangles.
* Make new column position be closest to position instead of rounding to the left.
* Copy gtk_dnd as e_dnd.

* Fix known bug about navigating out of the bottom of the table.