blob: 43afc73f1ed17d2429757afd7abab04e364f4baf (
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
Short Term TODO items:
Functionality:
# 1. Remove the internal XML API.
2. Implement GUI grouping.
3. Implement context menu on item-bars.
4. Implement config tool for the view.
5. Add multi-sorting.
GUI:
1. Implement behaviours for "line-selection"
2. Implement good behaviour for editing.
3. Use the theme information for the captions.
4. Use the font from the widget style.
5. Fix the update problems when a group is resized.
GUI 2:
1. Make the insertion points be shaped X windows instead of canvas items.
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.
|