~ubuntu-branches/ubuntu/lucid/kdebase/lucid

« back to all changes in this revision

Viewing changes to kdm/kfrontend/themer/kdmlabel.h

  • Committer: Bazaar Package Importer
  • Author(s): Ana Beatriz Guerrero Lopez
  • Date: 2009-04-05 05:22:13 UTC
  • mfrom: (0.4.2 experimental) (0.2.2 upstream)
  • mto: This revision was merged to the branch mainline in revision 235.
  • Revision ID: james.westby@ubuntu.com-20090405052213-39thr4l6p2ss07uj
Tags: 4:4.2.2-1
* New upstream release:
  - khtml fixes. (Closes: #290285, #359680)
  - Default konsole sessions can be deleted. (Closes: #286342)
  - Tag widget uses standard application palette. (Closes: #444800)
  - ... and surely many more but we have lost track...

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 *  Copyright (C) 2003 by Unai Garro <ugarro@users.sourceforge.net>
3
 
 *  Copyright (C) 2004 by Enrico Ros <rosenric@dei.unipd.it>
4
 
 *  Copyright (C) 2004 by Stephan Kulow <coolo@kde.org>
5
 
 *  Copyright (C) 2004 by Oswald Buddenhagen <ossi@kde.org>
6
 
 *
7
 
 *  This program is free software; you can redistribute it and/or modify
8
 
 *  it under the terms of the GNU General Public License as published by
9
 
 *  the Free Software Foundation; either version 2 of the License, or
10
 
 *  (at your option) any later version.
11
 
 *
12
 
 *  This program is distributed in the hope that it will be useful,
13
 
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
 
 *  GNU General Public License for more details.
16
 
 *
17
 
 *  You should have received a copy of the GNU General Public License
18
 
 *  along with this program; if not, write to the Free Software
19
 
 *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
20
 
 */
21
 
 
22
 
#ifndef KDELABEL_H
23
 
#define KDELABEL_H
24
 
 
25
 
#include "kdmitem.h"
26
 
 
27
 
#include <qcolor.h>
28
 
#include <qfont.h>
29
 
 
30
 
class QTimer;
31
 
 
32
 
/*
33
 
 * KdmLabel. A label element
34
 
 */
35
 
 
36
 
class KdmLabel : public KdmItem {
37
 
        Q_OBJECT
38
 
 
39
 
public:
40
 
        KdmLabel( KdmItem *parent, const QDomNode &node, const char *name = 0 );
41
 
        void setText( const QString &txt );
42
 
 
43
 
protected:
44
 
        // reimplemented; returns the minimum size of rendered text
45
 
        virtual QSize sizeHint();
46
 
 
47
 
        // draw the label
48
 
        virtual void drawContents( QPainter *p, const QRect &r );
49
 
 
50
 
        // handle switching between normal / active / prelight configurations
51
 
        virtual void statusChanged();
52
 
 
53
 
        struct LabelStruct {
54
 
                QString text;
55
 
                bool isTimer;
56
 
                bool hasId;
57
 
                QString id;
58
 
                struct LabelClass {
59
 
                        QColor color;
60
 
                        QFont font;
61
 
                        bool present;
62
 
                } normal, active, prelight;
63
 
                int maximumWidth;
64
 
        } label;
65
 
 
66
 
        QTimer *timer;
67
 
 
68
 
public slots:
69
 
        void update();
70
 
 
71
 
private:
72
 
        /* Method to lookup the caption associated with an item */
73
 
        QString lookupStock( const QString &stock );
74
 
 
75
 
        /* Lookup variables in the text */
76
 
        QString lookupText( const QString &t );
77
 
 
78
 
        QString cText;
79
 
};
80
 
 
81
 
#endif