aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/e-table/TODO
blob: bbad34e6ef5f2a3bd7836b683c85ffaf5f428672 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
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

    * Add a method to the ETableGroup class to change the sorting information.
    * Add a way to get sorting information out of the ETableHeader.
    * 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.

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