VirtualBox

source: vbox/trunk/src/VBox/Frontends/VirtualBox4/include/QIStateIndicator.h@ 7219

Last change on this file since 7219 was 5999, checked in by vboxsync, 17 years ago

The Giant CDDL Dual-License Header Change.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.1 KB
Line 
1/** @file
2 *
3 * VBox frontends: Qt GUI ("VirtualBox"):
4 * innotek Qt extensions: QIStateIndicator class declaration
5 */
6
7/*
8 * Copyright (C) 2006-2007 innotek GmbH
9 *
10 * This file is part of VirtualBox Open Source Edition (OSE), as
11 * available from http://www.virtualbox.org. This file is free software;
12 * you can redistribute it and/or modify it under the terms of the GNU
13 * General Public License (GPL) as published by the Free Software
14 * Foundation, in version 2 as it comes in the "COPYING" file of the
15 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
16 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
17 */
18
19#ifndef __QIStateIndicator_h__
20#define __QIStateIndicator_h__
21
22#include <qframe.h>
23#include <qpixmap.h>
24
25#include <qintdict.h>
26
27class QIStateIndicator : public QFrame
28{
29 Q_OBJECT
30
31public:
32
33 QIStateIndicator (int aState,
34 QWidget *aParent, const char *aName = 0,
35 WFlags aFlags = 0);
36
37 virtual QSize sizeHint() const;
38
39 int state () const { return mState; }
40
41 QPixmap stateIcon (int aState) const;
42 void setStateIcon (int aState, const QPixmap &aPixmap);
43
44public slots:
45
46 void setState (int aState);
47 void setState (bool aState) { setState ((int) aState); }
48
49signals:
50
51 void mouseDoubleClicked (QIStateIndicator *aIndicator,
52 QMouseEvent *aEv);
53 void contextMenuRequested (QIStateIndicator *aIndicator,
54 QContextMenuEvent *aEv);
55
56protected:
57
58 virtual void drawContents (QPainter *aPainter);
59
60#ifdef Q_WS_MAC
61 virtual void mousePressEvent (QMouseEvent *aEv);
62#endif
63 virtual void mouseDoubleClickEvent (QMouseEvent *aEv);
64 virtual void contextMenuEvent (QContextMenuEvent *aEv);
65
66private:
67
68 int mState;
69 QSize mSize;
70
71 struct Icon
72 {
73 Icon (const QPixmap &aPixmap)
74 : pixmap (aPixmap)
75 , bgPixmap (NULL) {}
76
77 QPixmap pixmap;
78 QPixmap cached;
79 QColor bgColor;
80 const QPixmap *bgPixmap;
81 QPoint bgOff;
82 };
83
84 QIntDict <Icon> mStateIcons;
85};
86
87#endif // __QIStateIndicator_h__
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette