Qt:Документация 4.3.2/qdecoration
Материал из Wiki.crossplatform.ru
Внимание: Актуальная версия перевода документации находится здесь |
__NOTOC__
Главная · Все классы · Основные классы · Классы по группам · Модули · Функции |
QDecoration Class Reference
[модуль QtGui ]
The QDecoration class is a base class for window decorations in Qtopia Core More...
#include <QDecoration>
Открытые типы
- enum DecorationRegion { All, Top, Bottom, Left, ..., None }
- enum DecorationState { Normal, Disabled, Hover, Pressed }
Открытые функции
- QDecoration ()
- virtual ~QDecoration ()
- virtual void buildSysMenu ( QWidget * widget, QMenu * menu )
- void menuTriggered ( QWidget * widget, QAction * action )
- virtual bool paint ( QPainter * painter, const QWidget * widget, int decorationRegion = All, DecorationState state = Normal ) = 0
- virtual QRegion region ( const QWidget * widget, const QRect & rectangle, int decorationRegion = All ) = 0
- QRegion region ( const QWidget * widget, int decorationRegion = All )
- virtual int regionAt ( const QWidget * widget, const QPoint & point )
- virtual void regionClicked ( QWidget * widget, int region )
- virtual void regionDoubleClicked ( QWidget * widget, int region )
Статические открытые члены
- void startMove ( QWidget * widget )
- void startResize ( QWidget * widget )
Подробное описание
The QDecoration class is a base class for window decorations in Qtopia Core
Note that this class is non-portable, and that it is only available in Qtopia Core.
Qtopia Core provides window management of top level windows and several ready made decorations (i.e., Default, Styled and Windows). Custom decorations can be implemented by subclassing the QDecoration class and creating a decoration plugin (derived from QDecorationPlugin). Qtopia Core's implementation of the QDecorationFactory class will automatically detect the plugin, and load the decoration into the application at runtime using Qt's plugin system. To actually apply a decoration, use the QApplication::qwsSetDecoration() function.
When creating a custom decoration, implement the paint() function to paint the border and title decoration, and the region() function to return the regions the decoration occupies. Reimplement the regionClicked() and regionDoubleClicked() functions to respond to mouse clicks (the default implementations responds to (single) clicks on items in a widget's system menu and double clicks on a widget's title).
QDecoration provides the DecorationRegion enum that describes the various regions of the window decoration, and the regionAt() function to determine the region containing a given point. The QDecoration class also provides the DecorationState enum describing the state of a given region, e.g. whether it is active or not.
In addition, it is possibe to build the system menu for a given top level widget using the buildSysMenu() function; whenever an action in this menu is triggered, the menuTriggered() function is called automatically.
Finally, the QDecoration class provides a couple of static functions, startMove() and startResize(), which start a move or resize action by making the appropriate decoration region active and grabbing the mouse input.
See also QDecorationFactory, QDecorationPlugin, and Qtopia Core Architecture.
Описание типов
enum QDecoration::DecorationRegion
This enum describes the various regions of the window decoration.
Константа | Значение | Описание |
---|---|---|
QDecoration::All | 0x7fffffff | The entire region used by the window decoration. |
QDecoration::Top | 0x0000000002 | The top border used to vertically resize the window. |
QDecoration::Bottom | 0x0000000040 | The bottom border used to vertically resize the window. |
QDecoration::Left | 0x0000000008 | The left border used to horizontally resize the window. |
QDecoration::Right | 0x0000000010 | The right border used to horizontally resize the window. |
QDecoration::TopLeft | 0x0000000001 | The top-left corner of the window used to resize the window both horizontally and vertically. |
QDecoration::TopRight | 0x0000000004 | The top-right corner of the window used to resize the window both horizontally and vertically. |
QDecoration::BottomLeft | 0x0000000020 | The bottom-left corner of the window used to resize the window both horizontally and vertically. |
QDecoration::BottomRight | 0x0000000080 | The bottom-right corner of the window used to resize the window both horizontally and vertically. |
QDecoration::Borders | 0x00000000ff | All the regions used to describe the window's borders. |
QDecoration::Title | 0x0000000200 | The region containing the window title, used to move the window by dragging with the mouse cursor. |
QDecoration::Close | 0x0000004000 | The region occupied by the close button. Clicking in this region closes the window. |
QDecoration::Minimize | 0x0000000800 | The region occupied by the minimize button. Clicking in this region minimizes the window. |
QDecoration::Maximize | 0x0000001000 | The region occupied by the maximize button. Clicking in this region maximizes the window. |
QDecoration::Normalize | 0x0000002000 | The region occupied by a button used to restore a window's normal size. Clicking in this region restores a maximized window to its previous size. The region used for this button is often also the Maximize region. |
QDecoration::Menu | 0x0000000100 | The region occupied by the window's menu button. Clicking in this region opens the window operations (system) menu. |
QDecoration::Help | 0x0000000400 | The region occupied by the window's help button. Clicking in this region causes the context-sensitive help function to be enabled. |
QDecoration::Resize | 0x0000010000 | The region used to resize the window. |
QDecoration::Move | 0x0000008000 | The region used to move the window. |
QDecoration::None | 0x0000000000 | No region. |
See also region(), regionAt(), and DecorationState.
enum QDecoration::DecorationState
This enum describes the various states of a decoration region.
Константа | Значение | Описание |
---|---|---|
QDecoration::Normal | 0x04 | The region is active |
QDecoration::Disabled | 0x08 | The region is inactive. |
QDecoration::Hover | 0x01 | The cursor is hovering over the region. |
QDecoration::Pressed | 0x02 | The region is pressed. |
See also paint() and DecorationRegion.
Описание функций-членов
QDecoration::QDecoration ()
Constructs a decoration object.
QDecoration::~QDecoration () [virtual]
Destroys this decoration object.
void QDecoration::buildSysMenu ( QWidget * widget, QMenu * menu ) [virtual]
Builds the system menu for the given top level widget, adding Restore, Move, Size, Minimize, Maximize and Close actions to the given menu.
See also menuTriggered().
void QDecoration::menuTriggered ( QWidget * widget, QAction * action )
This function is called whenever an action in a top level widget's menu is triggered, and simply calls the regionClicked() function passing the widget and action parameters as arguments.
See also buildSysMenu().
bool QDecoration::paint ( QPainter * painter, const QWidget * widget, int decorationRegion = All, DecorationState state = Normal ) [pure virtual]
Implement this function to paint the border and title decoration for the specified top level widget using the given painter and decoration state. The specified decorationRegion is a bitmask of the values described by the DecorationRegion enum.
Note that Qtopia Core expects this function to return true if any of the widget's decorations are repainted; otherwise it should return false.
See also region().
QRegion QDecoration::region ( const QWidget * widget, const QRect & rectangle, int decorationRegion = All ) [pure virtual]
Implement this function to return the region specified by decorationRegion for the given top level widget.
The rectangle parameter specifies the rectangle the decoration is wrapped around. The decorationRegion is a bitmask of the values described by the DecorationRegion enum.
See also regionAt() and paint().
QRegion QDecoration::region ( const QWidget * widget, int decorationRegion = All )
Эта перегруженная функция предоставлена для удобства.
int QDecoration::regionAt ( const QWidget * widget, const QPoint & point ) [virtual]
Returns the type of the first region of the specified top level widget containing the given point.
The return value is one of the DecorationRegion enum's values. Use the region() function to retrieve the actual region. If none of the widget's regions contain the point, this function returns None.
See also region().
void QDecoration::regionClicked ( QWidget * widget, int region ) [virtual]
Handles the event that the specified region in the given top level widget is activated by a single click (the region parameter is described using the DecorationRegion enum).
This function is called whenever a region in a top level widget is clicked; the default implementation responds to clicks on items in the system menu, performing the requested actions.
See also regionDoubleClicked() and region().
void QDecoration::regionDoubleClicked ( QWidget * widget, int region ) [virtual]
Handles the event that the specified region in the given top level widget is activated by a double click (the region parameter is described using the DecorationRegion enum).
This function is called whenever a region in a top level widget is double clicked; the default implementation responds to a double click on the widget's title, toggling its size between the maximum and its normal size.
See also regionClicked() and region().
void QDecoration::startMove ( QWidget * widget ) [static]
Starts to move the given top level widget by making its Title region active and grabbing the mouse input.
See also startResize().
void QDecoration::startResize ( QWidget * widget ) [static]
Starts to resize the given top level widget by making its BottomRight region active and grabbing the mouse input.
See also startMove().
Copyright © 2007 Trolltech | Trademarks | Qt 4.3.2
|