VirtualBox

source: vbox/trunk/src/VBox/Frontends/VirtualBox/include/QIRichLabel.h@ 5071

最後變更 在這個檔案從5071是 5071,由 vboxsync 提交於 18 年 前

Add tool-tip to the link under mouse cursor hovered the QIRichLabel.
This improvement lets the user see the tooltip above the QIRichLabel's links (if present). QIRichLabel is currently used at least in all Problem-Reporter message-boxes and in Registration Dialog.

  • 屬性 svn:eol-style 設為 native
  • 屬性 svn:keywords 設為 Date Revision Author Id
檔案大小: 4.3 KB
 
1/** @file
2 *
3 * VBox frontends: Qt GUI ("VirtualBox"):
4 * innotek Qt extensions: QIRichLabel 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.alldomusa.eu.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 as published by the Free Software Foundation,
14 * in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
15 * distribution. VirtualBox OSE is distributed in the hope that it will
16 * be useful, but WITHOUT ANY WARRANTY of any kind.
17 */
18
19/*
20 * This class is based on the original QLabel implementation.
21 */
22
23#ifndef __QIRichLabel_h__
24#define __QIRichLabel_h__
25
26#include "qframe.h"
27
28class QSimpleRichText;
29class QLabelPrivate;
30class QAction;
31class QPopupMenu;
32
33class QIRichLabel : public QFrame
34{
35 Q_OBJECT
36 Q_PROPERTY( QString text READ text WRITE setText )
37 Q_PROPERTY( TextFormat textFormat READ textFormat WRITE setTextFormat )
38 Q_PROPERTY( QPixmap pixmap READ pixmap WRITE setPixmap )
39 Q_PROPERTY( bool scaledContents READ hasScaledContents WRITE setScaledContents )
40 Q_PROPERTY( Alignment alignment READ alignment WRITE setAlignment )
41 Q_PROPERTY( int indent READ indent WRITE setIndent )
42 Q_OVERRIDE( BackgroundMode backgroundMode DESIGNABLE true )
43
44public:
45 QIRichLabel (QWidget *parent, const char* name=0, WFlags f=0);
46 QIRichLabel (const QString &text, QWidget *parent, const char* name=0,
47 WFlags f=0);
48 QIRichLabel (QWidget *buddy, const QString &,
49 QWidget *parent, const char* name=0, WFlags f=0 );
50 ~QIRichLabel();
51
52 QString text() const { return ltext; }
53 QPixmap *pixmap() const { return lpixmap; }
54 QPicture *picture() const { return lpicture; }
55 QMovie *movie() const;
56
57 TextFormat textFormat() const;
58 void setTextFormat( TextFormat );
59
60 int alignment() const { return align; }
61 virtual void setAlignment( int );
62 int indent() const { return extraMargin; }
63 void setIndent( int );
64
65 bool autoResize() const { return autoresize; }
66 virtual void setAutoResize( bool );
67 bool hasScaledContents() const;
68 void setScaledContents( bool );
69 QSize sizeHint() const;
70 QSize minimumSizeHint() const;
71 virtual void setBuddy( QWidget * );
72 QWidget *buddy() const;
73 int heightForWidth(int) const;
74
75 void setFont( const QFont &f );
76 void setFixedHeight (int);
77
78 void setMaxHeightMode (bool);
79
80public slots:
81 virtual void setText( const QString &);
82 virtual void setPixmap( const QPixmap & );
83 virtual void setPicture( const QPicture & );
84 virtual void setMovie( const QMovie & );
85 virtual void setNum( int );
86 virtual void setNum( double );
87 void clear();
88
89protected slots:
90 void putToClipBoard();
91
92protected:
93 void drawContents ( QPainter * );
94 void fontChange ( const QFont & );
95 void mouseMoveEvent (QMouseEvent *);
96 void mousePressEvent (QMouseEvent *);
97 void resizeEvent ( QResizeEvent* );
98 void focusInEvent ( QFocusEvent* );
99 void keyPressEvent ( QKeyEvent* );
100 void contextMenuEvent (QContextMenuEvent*);
101
102signals:
103 void clickedOnLink (const QString&);
104
105private slots:
106 void acceleratorSlot();
107 void buddyDied();
108 void movieUpdated(const QRect&);
109 void movieResized(const QSize&);
110
111private:
112 void init();
113 void clearContents();
114 void updateLabel (QSize oldSizeHint);
115 QString compressText (int paneWidth = -1) const;
116 QSize sizeForWidth (int w) const;
117
118 QString ltext;
119 QString mTipText;
120 bool mIsMainTip;
121 QPixmap *lpixmap;
122 QPicture *lpicture;
123 QMovie *lmovie;
124 QPopupMenu *popupMenu;
125 QString popupBuffer;
126 QWidget *lbuddy;
127 ushort align;
128 short extraMargin;
129 uint autoresize:1;
130 uint scaledcontents :1;
131 uint baseheight;
132 TextFormat textformat;
133 QAccel *accel;
134 QLabelPrivate *d;
135 QSimpleRichText *doc;
136 bool mMaxHeightMode;
137
138 friend class QTipLabel;
139
140 QIRichLabel( const QIRichLabel & );
141 QIRichLabel &operator=( const QIRichLabel & );
142};
143
144#endif // __QIRichLabel_h__
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

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