~ubuntu-branches/ubuntu/raring/openwalnut/raring

« back to all changes in this revision

Viewing changes to src/qt4gui/guiElements/WScaleLabel.h

  • Committer: Package Import Robot
  • Author(s): Sebastian Eichelbaum
  • Date: 2012-12-12 11:26:32 UTC
  • mfrom: (3.1.1 sid)
  • Revision ID: package-import@ubuntu.com-20121212112632-xhiuwkxuz5h0idkh
Tags: 1.3.1+hg5849-1
* Minor changes compared to 1.3.0 but included several bug fixes.
* See http://www.openwalnut.org/versions/4

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
//---------------------------------------------------------------------------
 
2
//
 
3
// Project: OpenWalnut ( http://www.openwalnut.org )
 
4
//
 
5
// Copyright 2009 OpenWalnut Community, BSV@Uni-Leipzig and CNCF@MPI-CBS
 
6
// For more information see http://www.openwalnut.org/copying
 
7
//
 
8
// This file is part of OpenWalnut.
 
9
//
 
10
// OpenWalnut is free software: you can redistribute it and/or modify
 
11
// it under the terms of the GNU Lesser General Public License as published by
 
12
// the Free Software Foundation, either version 3 of the License, or
 
13
// (at your option) any later version.
 
14
//
 
15
// OpenWalnut is distributed in the hope that it will be useful,
 
16
// but WITHOUT ANY WARRANTY; without even the implied warranty of
 
17
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
18
// GNU Lesser General Public License for more details.
 
19
//
 
20
// You should have received a copy of the GNU Lesser General Public License
 
21
// along with OpenWalnut. If not, see <http://www.gnu.org/licenses/>.
 
22
//
 
23
//---------------------------------------------------------------------------
 
24
 
 
25
#ifndef WSCALELABEL_H
 
26
#define WSCALELABEL_H
 
27
 
 
28
#include <QtGui/QLabel>
 
29
#include <QtCore/QString>
 
30
 
 
31
/**
 
32
 * Special Label that can shrink and expand in a layout
 
33
 */
 
34
class WScaleLabel: public QLabel
 
35
{
 
36
    Q_OBJECT
 
37
public:
 
38
    /**
 
39
     * Constructor
 
40
     *
 
41
     * \param parent the widgets parent
 
42
     */
 
43
    explicit WScaleLabel( QWidget *parent = NULL );
 
44
 
 
45
    /**
 
46
     * Constructor. Creates the label with its original text
 
47
     *
 
48
     * \param text text of the label
 
49
     * \param parent the widgets parent
 
50
     */
 
51
    WScaleLabel( const QString &text, QWidget *parent = NULL );
 
52
 
 
53
    /**
 
54
     * overwritten from QLabel, returning the widgets prefered size
 
55
     *
 
56
     * \return prefered size of the label
 
57
     */
 
58
    QSize sizeHint() const;
 
59
 
 
60
    /**
 
61
    * overwritten from QLabel, returning the widgets prefered size
 
62
    *
 
63
    * \return minimum size of the label
 
64
    */
 
65
    QSize minimumSizeHint() const;
 
66
 
 
67
    /**
 
68
     * reimplemented function to setText
 
69
     *
 
70
     * \param text text of the label
 
71
     */
 
72
    void setText( const QString &text );
 
73
protected:
 
74
    /**
 
75
     * custom implementation of the resize event
 
76
     * to fit the QString into the labels current size
 
77
     *
 
78
     * \param event resize event passed from the parent widgets event handling
 
79
     */
 
80
    virtual void resizeEvent( QResizeEvent * event );
 
81
private:
 
82
    /**
 
83
     * set the actual text which is shown on the QLabel
 
84
     */
 
85
    void fitTextToSize();
 
86
 
 
87
    /**
 
88
     * QString to remember the original unshortend text of the widget
 
89
     */
 
90
    QString m_orgText;
 
91
};
 
92
 
 
93
#endif  // WSCALELABEL_H