-
Notifications
You must be signed in to change notification settings - Fork 6
/
BUGS
334 lines (322 loc) · 13.8 KB
/
BUGS
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
To report libgoffice bugs, please visit https://gitlab.gnome.org/GNOME/goffice/issues
This file is used as a scratch pad by developers. It is a list of known
issues that need to be addressed. Divided into, things that will prevent
release, and longer term bugs.
-------------------------------------------------------------------------------
Release Critical
----------------
Please fix https://bugs.launchpad.net/ubuntu/+source/gtk-doc/+bug/77138
Plans
-----
1) Format and number match rewrite
: When applying a currency symbol we need to store the NON-localized id.
: hour month and year format strings need to be internationalized.
eg tt:ss instead of hh:ss for other locales.
: formats with AM/PM need to be internationalized.
: We do not format fractional seconds correctly. (DONE)
: Parsing should handle embedded strings
: It incorrectly accepts mmm:ss as some sort of minute spec.
: Consider adding "%" to entry text when typing a text with a percentage
format. (I.e., user has "44%" in cell and presses "5" -- that causes
"5%" to be shown the cursor between "5" and "%".)
2) GOActionComboText
2.1) stub (DONE)
2.2) Move to TreeModel to simplify sharing
2.3) Support custom menu item
3) Plugin Framework
3.1) "De-activate all" should take the dependency tree
into account and handle the python loader last.
- i18n support for third-party plugins.
- Add extra info (authors, etc.) to XML file.
- Beautify ErrorInfo dialog (it's ugly).
- Mark plugin as "broken" if deactivation failed.
3.2) pluginize paste types
3.3) plugin manager needs dependency tracking. (Deactivate
all python plugins before the python loader, for example.)
1) graphs
1.1) Split plot xml file engine, type, and family plugins (DONE)
1.2) Use the registered engines to create plots (DONE)
1.3) XML
1.3.1) Use libglade code parse GObject properties (DONE)
1.3.2) remove GdkColor from boxed type support (DONE)
1.3.3) Walk GogObject tree and build DOM (DONE)
1.3.4) Build GogObject treee from DOM (DONE)
1.3.5) For flagged properties store value in DOM (DONE)
1.3.6) Read properties from DOM (DONE)
1.3.7) XMLWriter interface for extra object content (DONE)
1.3.8) Use it for series (DONE)
1.3.9) Extend GOData to support deserialization (DONE)
1.3.10) Implement deserialization for GnmData (DONE)
1.3.11) Use the XMLWriter for series for all datasets (DONE)
1.3.12) Persist names (DONE)
1.3.13) Use XMLWriter for properties of type object (DONE)
1.3.14) implement it for styles (DONE)
1.3.15) position (DONE)
1.3.16) image data <-------->
1.4) Decide on model vs view structure (DONE)
1.5) Graph Guru (DONE)
1.5.1) update when someone else changes the model (DONE)
1.5.2) remove prop pages for deleted items (DONE)
1.5.3) Keep state::chart,plot safe for typeselector (DONE)
in case they get deleted
1.5.4) Allow going backwards if there is only chart (DONE)
1.5.5) Data in row/column selection <-------->
1.6) data allocator in gnumeric (DONE)
1.6.1) initial interface (DONE)
1.6.2) generalize container to be a DataSet (DONE)
1.6.3) editor to specify pref for vector or scalar (DONE)
1.7) Single point formating (DONE)
1.7.1) Basic (DONE)
1.7.2) Improve selection of single points for pies (DONE)
1.8) data sources (DONE)
1.8.1) vector and scalar data sources from gnumeric (DONE)
1.8.2) Add min/max elements to vector (DONE)
1.8.3) const scalar value (DONE)
1.8.4) const scalar string (DONE)
1.8.5) const vector value (DONE)
1.8.6) const vector string (DONE)
1.8.7) translation of const vector strings (DONE)
1.9) Pie Plot (DONE)
1.9.1) Make the segments curve (DONE)
1.9.2) extracted segments (DONE)
1.9.3) Rings (DONE)
1.9.4) extracting single wedges (DONE)
1.9.5) formating single wedges (DONE)
1.9.6) label wedges <-------->
1.10) Bar/Col Plot (DONE)
1.10.1) merge bar/col stack type bools into 1 enum (DONE)
1.10.2) normal (DONE)
1.10.3) stacked (DONE)
1.10.4) percentage (DONE)
1.10.5) Skip over bars/cols when too narrow <-------->
1.10.6) Work around bleed through with overlap 100 (DONE)
1.10.7) Check for short vectors (DONE)
1.10.8) Clip when values are out of range (DONE)
1.10.9) Support vary style by element for type=normal <-------->
1.10.10) label points <-------->
1.11) Line/Area Plot (DONE)
1.11.1) Normal (DONE)
1.11.2) Stacked (DONE)
1.11.3) Percentage (DONE)
1.11.4) sub type with no-marker by default (DONE)
1.11.5) center points on X index values for Line (DONE)
1.11.6) handle missing points in unstacked lines (DONE)
1.11.7) label points <-------->
1.12) X/Y (Scatter) Plot
1.12.1) Add simple implementation (DONE)
1.12.2) Take marker sizes into account at bounds (DONE)
1.12.3) Bounds on 1 axis implicitly clip the other <-------->
1.12.4) Splined interpolation (DONE)
1.12.5) Bubbles (DONE)
1.12.6) Fill surface (DONE)
1.12.7) label points <-------->
1.13) Decide on recalc strategy (DONE)
1.13.1) Getting data from sheet -> graphs (DONE)
1.13.2) linking unlinking (DONE)
1.14) Axis management (DONE)
1.14.1) Charts/plots have axis layout type (DONE)
1.14.2) Add any missing axis when chart type is set (DONE)
1.14.3) Remove any existing axis that do not correspond (DONE)
to chart type.
1.14.2) Life cycle of plots/axis to maintain connection (DONE)
1.14.3) UI for adding an axis (DONE)
1.14.4) Only permit removal of unused axes (DONE)
1.14.6) Create plot1.5d as base for bar/col & line (DONE)
1.14.7) do range allocation and filtering in chart (DONE)
1.14.7) Draw ticks and allocate space for them (DONE)
1.14.8) Make the major labels optional (DONE)
1.14.9) Add a font selector to the editor (DONE)
1.14.10) Value formating (at least percentage and date) (DONE)
1.14.11) Support index type axis (DONE)
1.14.12) Use a map function (log, invert, date) (DONE)
1.14.13) Allow a plot to select a different axis (DONE)
1.14.14) Filter add plot in guru to matching types (DONE)
1.14.15) Editor for min/max/major/minor (DONE)
1.14.16) Respect user supplied min/max/major/minor (DONE)
1.14.17) Draw major ticks in (DONE)
1.14.18) Draw major ticks out (DONE)
1.14.19) Draw minor ticks in (DONE)
1.14.20) Draw minor ticks out (DONE)
1.14.21) Why don't we honour selected font ? (DONE)
1.14.22) Selectable label format for non-discrete data (DONE)
1.14.23) Editor for label format (DONE)
1.14.24) Persist label format (DONE)
1.14.25) Auto selection of label format (DONE)
1.14.26) Axis/plot area padding (DONE)
1.14.27) Broken axes <-------->
1.14.28) Stacked axes <-------->
1.15) per series plot type specific data (DONE)
1.16) libart based render akin to guppicanvas. (DONE)
1.16.1) Solid background fills (DONE)
1.16.2) Gradient fills (DONE)
1.16.3) Pattern fills (DONE)
1.16.4) Image fills (DONE)
1.16.5) path (DONE)
1.16.6) text (DONE)
1.16.7) markers (DONE)
1.16.8) Rework text drawing to _not_ use libart (DONE)
1.16.9) Add anchor flags to draw_text (DONE)
1.16.10) Clip text to keep it in bounds (DONE)
1.19) Precedence (DONE)
1.19.1) Sort GogObject::children (DONE)
1.19.2) Keep corresponding views in sync (DONE)
1.19.3) Have guru maintain order for add/remove (DONE)
1.19.4) api for changing order (DONE)
1.19.5) Extend Guru to support changing precedence (DONE)
1.20) GogStyle Editor page
1.20.1) fill type (DONE)
1.20.1.1) none (DONE)
1.20.1.2) solid (DONE)
1.20.1.3) basic gradients (DONE)
1.20.1.4) advanced gradients via combo (DONE)
1.20.1.5) pixmaps fills (DONE)
1.20.1.6) patterns (DONE)
1.20.2) outline line pattern (DONE)
1.20.3) font selector (DONE)
1.20.4) Support 'auto' settings (DONE)
1.20.4.1) outline (colour) (DONE)
1.20.4.2) line (color) (DONE)
1.20.4.3) fill (colors) (DONE)
1.20.4.4) marker (DONE)
1.20.5) image selector
1.20.5.1) drag destination for background images <-------->
1.20.5.2) scale image preview (DONE)
1.20.5.3) Use file selector with image preview (DONE)
1.20.6) De-sensitize (out)line colour when size == -1 <-------->
1.21) themes
1.21.1) Actually use the themes to initialize styles (DONE)
1.21.2) load from xml <-------->
1.21.3) selector for graphs (DONE)
1.21.4) How to change a graph's theme (DONE)
1.21.5) Use Roles rather than Types to enumerate (DONE)
1.21.5) Allow type aliases (DONE)
1.22) Legend
1.22.1) Set up cardinality framework. (DONE)
1.22.2) Get things to update when chart changes (DONE)
1.22.2) smarter layout (DONE)
1.23) Layout engine (DONE)
1.23.1) In ChartView::size_allocate use the positions (DONE)
1.23.2) For compass placement use the alignment flags (DONE)
1.23.3) support NW, NE, SW, SE (DONE)
1.23.4) Move ChartView::size_allocate -> GogView (DONE)
1.24.5) Have Graph, Chart, Legend and Axis use it (DONE)
1.23.6) Add some notion of padding (DONE)
1.23.7) remove request_valid (DONE)
1.23.8) pass in available space (DONE)
1.23.9) How to support axis labels (siblings need (DONE)
common residual)
1.23.10) Create a common base for outlined objects (DONE)
1.24) Sizing units (DONE)
1.24.1) Have the legend use pts to size swatches (DONE)
1.24.2) Test renderers mapping between pts & pixels (DONE)
1.25) Printing (DONE)
1.25.1) gog-renderer-gnomeprint (DONE)
1.25.2) sheet object wrapper for printing (DONE)
1.25.3) paths (DONE)
1.25.4) solid and empty polygons (DONE)
1.25.5) image filled polygons (DONE)
1.25.6) gradient filled polygons (DONE)
1.25.7) measure text (DONE)
1.25.8) draw text (DONE)
1.25.9) why doesn't text appear in preview (DONE)
1.25.10) why is font selection bogus (DONE)
1.25.11) text anchors (DONE)
1.25.12) Check the zoom handling for fonts (DONE)
1.26) Move 'use_one_style' from pie -> plot with 1 series (DONE)
1.27) Add a flag to gobject to go with its role indicating (DONE)
whether the instance was autocreated or assigned.
1.28) Rethink GraphItem lifecyle to simplify removal (DONE)
1.29) Extend GogObjectRole to include more handlers (DONE)
1.30) Grid Object (DONE)
1.30.1) Create (DONE)
1.30.2) Theme it (DONE)
1.30.3) Add or remove it depending on chart axis set (DONE)
1.30.4) Render background (DONE)
1.30.5) Support grid lines (added to axis) (DONE)
1.30.6) XLS import of grid lines (DONE)
1.30.7) XLS export of grid lines (DONE)
1.30.8) Add a behind/over plot user setting <-------->
1.31) SVG Render (DONE)
1.31.1) Paths (DONE)
1.31.2) Solid Fills (DONE)
1.31.3) Gradient Fills (DONE)
1.31.4) Pattern Fills (DONE)
1.31.5) Image Fills (DONE)
1.31.6) Markers (DONE)
1.31.7) Text (DONE)
1.31.8) Text alignment (DONE)
1.31.9) Text clipping (DONE)
1.32) Radar plots (DONE)
1.32.1) line (DONE)
1.32.2) area (DONE)
1.32.3) axis labels (DONE)
1.32.4) fix xls import of marker vs no marker (DONE)
1.33) Contour plots (DONE)
1.33.1) Initial implementation (DONE)
1.33.2) GOMatrix (DONE)
1.33.3) Axis changes (DONE)
1.33.4) XLS import (DONE)
1.33.4) XLS export (DONE)
1.34) Error bars
1.34.1) Initial implementation (DONE)
1.34.2) XLS import (DONE)
1.34.3) XLS export <-------->
1.35) Regression curves
1.35.1) Initial implementation (DONE)
1.35.2) XLS import (DONE)
1.35.3) XLS export <-------->
1.36) Series lines, drop lines
1.36.1) Initial implementation (DONE)
1.36.2) XLS import <-------->
1.36.3) XLS export <-------->
1.36.4) Draw lines to main axis or a selected dest. <-------->
1.37) Surface plots
1.37.1) 3D axis and orientation <-------->
1.37.2) Implementation. <-------->
1.37.3) XLS import <-------->
1.37.4) XLS export <-------->
1.38) Polar plots
1.38.1) Initial implementation (DONE)
1.38.2) Fill surface (DONE)
1.38.3) Radian/centigrad unit (DONE)
1.38.4) Plot rotation (DONE)
1.38.5) Axis labels as fraction of PI (DONE)
1.38.6) Display label as x° when using degrees (DONE)
1.39) Histogramm plots (DONE)
1.39.1) Initial implementation (DONE)
1.40) Object tree
1.40.1) Add an icon to each objects and use a swatch <-------->
series.
1.40.2) Enable multiple selection for object group <-------->
style modification
1.41) Range selection
1.41.1) Initial implementation <-------->
1.42) Win/Lose Plots (simplification of bar/col)
eg up blue, down red
1.43) Grading regions for grid (sequence of colour bands)
eg ( ..0) red, [0..1) yellow, [1..] green.
Misc things to fix
------------------
: Open guru, click on forward, then back. Now <-------->
navigating through plot list is very slow. That's
because at each object addition/removal in object tree,
an object editor is created.
: Current GogGrid object is not used for grid display. (FIXED)
We should rename it to GogBackplane, GogWall or
GogBackground.
: Markers with non solid fill color are displayed
without filling for some shapes. (FIXED)
Ideas
-----
- Dimension choser as label in chart
- Use Legend to manipulate data
- edit style of various series
- Add/remove dimensions
- select items in a plot
- Matrix feature to replicate a group of plots using different slices of
data. eg XY for age x salary, with distinct chart for M and F
- Add 'group' button to the data editors to pull up a context menu that
allows for grouping / filtering
- filter/group routines from autofilter into goffice for charts and pivots
- concentric ring plots that aggregate inwards and optionally fold outer
rings/segments.