Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members

YQMultiProgressMeter.h

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------\
00002 |                                                                      |
00003 |                      __   __    ____ _____ ____                      |
00004 |                      \ \ / /_ _/ ___|_   _|___ \                     |
00005 |                       \ V / _` \___ \ | |   __) |                    |
00006 |                        | | (_| |___) || |  / __/                     |
00007 |                        |_|\__,_|____/ |_| |_____|                    |
00008 |                                                                      |
00009 |                               core system                            |
00010 |                                                        (C) SuSE GmbH |
00011 \----------------------------------------------------------------------/
00012 
00013   File:       YQMultiProgressMeter.h
00014 
00015   Author:     Stefan Hundhammer <sh@suse.de>
00016 
00017 /-*/
00018 
00019 // -*- c++ -*-
00020 
00021 #ifndef YQMultiProgressMeter_h
00022 #define YQMultiProgressMeter_h
00023 
00024 
00025 #include "YMultiProgressMeter.h"
00026 #include <qwidget.h>
00027 #include <qpainter.h>
00028 
00029 
00030 class QPaintEvent;
00031 class QMouseEvent;
00032 
00033 
00034 class YQMultiProgressMeter : public QWidget, public YMultiProgressMeter
00035 {
00036     Q_OBJECT
00037 
00038 public:
00039 
00043     YQMultiProgressMeter( QWidget *             parent,
00044                           const YWidgetOpt &    opt,
00045                           bool                  horizontal,
00046                           const YCPList &       maxValues );
00047 
00053     void setEnabling( bool enabled );
00054 
00060     long nicesize( YUIDimension dim );
00061 
00065     void setSize( long newWidth, long newHeight );
00066 
00070     int margin() const { return _margin; }
00071 
00076     void setMargin( int value ) { _margin = value; }
00077 
00081     int spacing() const { return _spacing; }
00082 
00087     void setSpacing( int value ) { _spacing = value; }
00088 
00092     int segmentMinLength() const { return _segmentMinLength; }
00093 
00097     void setSegmentMinLength( int val ) { _segmentMinLength = val; }
00098 
00105     int triThickness() const { return _triThickness; }
00106 
00117     void setTriThickness( int value );
00118 
00123     int triSpacing() const { return _triSpacing; }
00124 
00129     void setTriSpacing( int value ) { _triSpacing = value; }
00130 
00134     bool triangularShaped() const { return _triangularShaped; }
00135 
00140     void setTriangularShaped( bool triangular = true );
00141 
00142     
00143 protected:
00144 
00148     void init();
00149 
00154     virtual void doUpdate();
00155 
00160     virtual void paintEvent ( QPaintEvent * );
00161 
00167     virtual void mouseDoubleClickEvent ( QMouseEvent * e );
00168     
00175     void drawSegment( int segment,
00176                       QPainter & painter,
00177                       int offset,
00178                       int length,
00179                       int thickness,
00180                       int indent );
00181 
00185     void drawMarkers( QPainter & painter, int offset, int thickness );
00186 
00187 
00188 private:
00189 
00190     bool        _triangularShaped;
00191     int         _margin;
00192     int         _spacing;
00193     int         _segmentMinLength;
00194     int         _triThickness;
00195     int         _triSpacing;
00196 };
00197 
00198 
00199 #endif // YQMultiProgressMeter_h

Generated on Wed Sep 14 10:59:02 2005 for yast2-qt by  doxygen 1.4.4