Ticket #10905: implementation_plan.txt

File implementation_plan.txt, 1.1 KB (added by Owen Arnold, 6 years ago)
Line 
1
2PeakRepresentation # This is not a QWidget, but may need to be a QObject?
3+ draw(QPainter&)
4|
5PeakRepresentationSpherical
6        | PeakRepresentationElliptical
7                | PeakRepresentationCross
8
9PeakViewFactory (concrete type, no base)
10+ createView(const Peak&) : PeakView # calls makeView with shape
11- makeView(const PeakShapeSpherical&) : PeakRepresentationSpherical
12- makeView(const PeakShapeEliptical&) : PeakRepresentationElliptical
13- makeView(const PeakShapeNone&) : PeakRepresentationCross
14
15PeakView (concrete type) : public QWidget
16- vector<PeakRepresentation*>
17PeakView(vector<PeakRepresentation>
18+ paint(QPaintEvent*) # overload
19
20
21Peak
22
23PeakViewFactory - Refactored from PeakOverlayMulti{X}Factory
24
25PeakRepresentation is essentially the Physical{X}Peaks rolled into a public inherited hierarchy with an additional draw method taking a QPainter&
26
27PeakView is essentially PeakOverlayMulti{X}, inside the paint method, we now call PeakRepresentation::draw(QPainter). Each PeakView instance
28has a unique m_foreground color and m_background color that are applied to all drawn peaks.
29
30