libyui-qt
YQMultiProgressMeter.h
1 /*
2  Copyright (C) 2000-2012 Novell, Inc
3  This library is free software; you can redistribute it and/or modify
4  it under the terms of the GNU Lesser General Public License as
5  published by the Free Software Foundation; either version 2.1 of the
6  License, or (at your option) version 3.0 of the License. This library
7  is distributed in the hope that it will be useful, but WITHOUT ANY
8  WARRANTY; without even the implied warranty of MERCHANTABILITY or
9  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
10  License for more details. You should have received a copy of the GNU
11  Lesser General Public License along with this library; if not, write
12  to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
13  Floor, Boston, MA 02110-1301 USA
14 */
15 
16 
17 /*-/
18 
19  File: YQMultiProgressMeter.h
20 
21  Author: Stefan Hundhammer <shundhammer@suse.de>
22 
23 /-*/
24 
25 
26 #ifndef YQMultiProgressMeter_h
27 #define YQMultiProgressMeter_h
28 
29 
30 #include <yui/YMultiProgressMeter.h>
31 #include <qwidget.h>
32 #include <qpainter.h>
33 //Added by qt3to4:
34 #include <qevent.h>
35 #include <qevent.h>
36 
37 
38 class QPaintEvent;
39 class QMouseEvent;
40 
41 
42 class YQMultiProgressMeter : public QWidget, public YMultiProgressMeter
43 {
44  Q_OBJECT
45 
46 public:
47 
51  YQMultiProgressMeter( YWidget * parent,
52  YUIDimension dim,
53  const vector<float> & maxValues );
57  virtual ~YQMultiProgressMeter();
58 
62  int thickness();
63 
67  int length();
68 
72  int margin() const { return _margin; }
73 
78  void setMargin( int value ) { _margin = value; }
79 
83  int spacing() const { return _spacing; }
84 
89  void setSpacing( int value ) { _spacing = value; }
90 
94  int segmentMinLength() const { return _segmentMinLength; }
95 
99  void setSegmentMinLength( int val ) { _segmentMinLength = val; }
100 
107  int triThickness() const { return _triThickness; }
108 
119  void setTriThickness( int value );
120 
125  int triSpacing() const { return _triSpacing; }
126 
131  void setTriSpacing( int value ) { _triSpacing = value; }
132 
138  virtual void setEnabled( bool enabled );
139 
145  virtual int preferredWidth();
146 
152  virtual int preferredHeight();
153 
159  virtual void setSize( int newWidth, int newHeight );
160 
161 
162 protected:
163 
167  void init();
168 
173  virtual void doUpdate();
174 
179  virtual void paintEvent ( QPaintEvent * );
180 
187  void drawSegment( int segment,
188  QPainter & painter,
189  int offset,
190  int length,
191  int thickness );
192 
196  void drawMarkers( QPainter & painter, int offset, int thickness );
197 
198 
199 private:
200 
201  int _margin;
202  int _spacing;
203  int _segmentMinLength;
204  int _triThickness;
205  int _triSpacing;
206 };
207 
208 
209 #endif // YQMultiProgressMeter_h
void setSpacing(int value)
Definition: YQMultiProgressMeter.h:89
void setTriThickness(int value)
Definition: YQMultiProgressMeter.cc:308
void setTriSpacing(int value)
Definition: YQMultiProgressMeter.h:131
void setMargin(int value)
Definition: YQMultiProgressMeter.h:78
void init()
Definition: YQMultiProgressMeter.cc:58
int segmentMinLength() const
Definition: YQMultiProgressMeter.h:94
int triThickness() const
Definition: YQMultiProgressMeter.h:107
Definition: YQMultiProgressMeter.h:42
int triSpacing() const
Definition: YQMultiProgressMeter.h:125
virtual int preferredHeight()
Definition: YQMultiProgressMeter.cc:331
int spacing() const
Definition: YQMultiProgressMeter.h:83
YQMultiProgressMeter(YWidget *parent, YUIDimension dim, const vector< float > &maxValues)
Definition: YQMultiProgressMeter.cc:41
virtual void setEnabled(bool enabled)
Definition: YQMultiProgressMeter.cc:317
virtual void doUpdate()
Definition: YQMultiProgressMeter.cc:68
void drawSegment(int segment, QPainter &painter, int offset, int length, int thickness)
Definition: YQMultiProgressMeter.cc:188
virtual ~YQMultiProgressMeter()
Definition: YQMultiProgressMeter.cc:52
void setSegmentMinLength(int val)
Definition: YQMultiProgressMeter.h:99
int thickness()
Definition: YQMultiProgressMeter.cc:288
virtual void setSize(int newWidth, int newHeight)
Definition: YQMultiProgressMeter.cc:337
virtual int preferredWidth()
Definition: YQMultiProgressMeter.cc:325
int margin() const
Definition: YQMultiProgressMeter.h:72
virtual void paintEvent(QPaintEvent *)
Definition: YQMultiProgressMeter.cc:74
int length()
Definition: YQMultiProgressMeter.cc:300
void drawMarkers(QPainter &painter, int offset, int thickness)
Definition: YQMultiProgressMeter.cc:248