Pie Chart Enhancements / David's Initial Review / 4-22-2014
... with Phil's analysis, edit: 4-26-2014 (a)
See Also: Project Index
![]() |
![]() |
![]() |
![]() |
|||
1 |
|
|||||
Update [4-26-2014]: We decided to prefer animation rates expressed as periods in seconds (i.e. instead of frequencies as illustrated above). A popup vertical slider was developed for animation speed control. In a test mode, that can be compared to a couple alternatives. (See the SHOW_TEST_MENU symbol at the head of Q3GUI/ChartDlg.cpp). See these screenshots (including animated GIFs):
Here are the set of icons prepared for the animation control. (Not all were used):
|
||||||
2 | It is still pretty jumpy when the wedge changes size or the labels grow / shrink. Could we make the circle 10% smaller and give the labels more room to move around, or something else to stabilize it even more? | |||||
Update [4-23-2014]: We decided that the stability enhancements already developed are actually pretty good. Sometimes, the window will need to grow during the animation (as a function of where the slice labels fall). That can be solved by first manually zipping through the full range with the slider, or running a preliminary animation. Such an algorithm could be applied programatically, but we're not going to do that. The added complexity many not be warranted. A technical limitation is that the geometry algorithm considers only the single timestep frame being layed out. Each frame is redrawn from scratch (with the exception of some informal persistence of the minimum size from a prior redraw). (So, by the way, I don't think that tinkering with the geometry as David suggested is a reliable way of solving this problem). For more perfect stability, we may need to generate and test internal geometries across ALL timestep "frames" -- or, with very long series, at least a sufficiently representative sample. Note that no actual drawing would need to occur during this dynamic analysis. |
||||||
3 | The config dialog is getting pretty tall. This can be an issue on a laptop with a widescreen display. Maybe make the panels collapsible? Other ideas? | |||||
Update [4-23-2014]: We're going to sit tight with this now. It's almost too tall. On a small labtop screen (e.g. 900 pixels high), the visible portion of the slots list will be limited. This dialog screenshot represents a slight reduction in the overall height of the revised dialog. |
||||||
4 | On the config dialog, I prefer the term "Display" over "Screen" | ![]() |
||||
Done -- See Below. | ||||||
5 | What does the checkbox on the custom background colors do? Seems unnecessary. Just show the two colors that it will use. | |||||
Done -- See Below. I was wanting to provide a way of using the default background colors (dialog background, and white for printing). But we can just change this to always specify the background colors to be used (so we would drop the "Custom" label in "Custom Background Colors"). It's too bad that the color chooser dialog doesn't support an "eye dropper" tool to pick up a color from anywhere on the screen; users won't have a way to get back to the normal dialog background color. (Not a huge problem; it's OK). Below is Tuesday's (4-22-2014) revision. (See the full dialog). |
||||||
6 | I just noticed that if I right-click on the datetime spinner arrows, I get the old context menu, not the new one with global time scroll. | |||||
This comment is about this feature: DateTime Spinner Enhancement: Added "Global Time Scroll" to Context Menu (March 2014). I'll see if I can get my hands on those sub-widgets (tiny arrow buttons) to get that done. This takes some engineering -- this is not the usual "custom context menu" scenario. Update [4-23-2014]: I did a little experimentation. The spinner's little arrow buttons don't actually exist as child QPushButtons (as the line editor does, as a child QLineEdit). Here is the output of some diagnostics code I added to enumerate a Date/Time spinner's child widgets. Notice: no QPushButtons: DateTimeQtSpinner ctor [child 0] 5da0d60 QLineEdit qt_spinbox_lineedit ... the push button behavior is apparently implemented with mouse events and direct drawing by the QSpinBox widget itself. |
---