MAK Data Logger API Documentation for HLA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
multiBoxSlider.h
Go to the documentation of this file.
1 /*****************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 
10 #ifndef multiBoxSlider_H_
11 #define multiBoxSlider_H_
12 
13 #include <list>
14 #include <lgrGui/lgrGui.h>
15 
16 class QPainter;
17 class QString;
18 class QRectF;
19 class QPoint;
20 class QPointF;
21 
22 namespace MAKLogger
23 {
24 
25  class DtSliderBox;
26  class DtSliderBar;
27 
28  typedef std::list<DtSliderBox*> DtSliderBoxList;
29  typedef std::list<DtSliderBar*> DtSliderBarList;
30 
33  {
34  public:
35 
38 
40  virtual ~DtMultiBoxSlider();
41 
43  void addBar(DtSliderBar* bar);
44 
46  DtSliderBar* addBar(float start,float end);
47 
49  DtSliderBar* bar(QString name);
50 
52  void removeBarByName(QString name);
53 
55  void removeBar(DtSliderBar* bar);
56 
57  virtual float maxBoxWidth() const;
58  virtual float minBoxWidth() const;
59  virtual float maxBoxHeight() const;
60  virtual float minBoxHeight() const;
61 
62  virtual float minimumDistance() const;
63  virtual void setMinimumDistance(float distance);
64 
65  virtual void saveMinimumDistance();
66  virtual void restoreMinimumDistance();
67 
68 
69  virtual void movePressedBoxes(float v);
70  virtual void restorePressedBoxes();
71 
72  virtual void unselectAll();
73  virtual void unpressAll();
74 
76  virtual void pushToTop(DtSliderBox* box);
77  virtual void pushToTop(DtSliderBar* bar);
78 
79  virtual DtSliderBar* pickBar(QRectF viewport,QPoint pos);
80  virtual DtSliderBox* pickBox(QRectF viewport,QPoint pos);
81 
82  virtual void selectBox(DtSliderBox* box);
83  virtual void selectBar(DtSliderBar* bar);
84 
85  virtual void pressBox(DtSliderBox* box);
86  virtual void pressBar(DtSliderBar* bar);
87 
88  virtual void releaseBox(DtSliderBox* box);
89  virtual void releaseBar(DtSliderBar* bar);
90 
91  protected:
92 
95  virtual float canBoxMove(DtSliderBox* box,float dv);
96 
98  virtual void moveBox(DtSliderBox* box,float v);
99 
100  QPointF getBoxPositionBounds(DtSliderBox* box) const;
101 
102  static bool lessPosition(DtSliderBox* box1,DtSliderBox* box2);
103  static bool lessWidth(DtSliderBox* box1,DtSliderBox* box2);
104  static bool lessHeight(DtSliderBox* box1,DtSliderBox* box2);
105 
106  virtual void drawBars(QPainter& painter) const;
107  virtual void drawBoxes(QPainter& painter) const;
108 
109  virtual void drawBar(QPainter& painter,DtSliderBar* bar) const = 0;
110  virtual void drawBox(QPainter& painter,DtSliderBox* box) const = 0;
111 
112  void calcMinMax() const;
113 
116 
120 
121  mutable bool myMutableListChanged;
122  mutable float myMutableMaxWidth;
123  mutable float myMutableMinWidth;
124  mutable float myMutableMaxHeight;
125  mutable float myMutableMinHeight;
126 
127  };
128 
129 }
130 
131 #endif

Document ID: Generated on Wed Jun 5 18:45:18 EDT 2019 from SVN revision 198968
Copyright © 2019 VT MAK. All Rights Reserved (www.mak.com)