Viadeo Twitter Google Bookmarks ! Facebook Digg del.icio.us MySpace Yahoo MyWeb Blinklist Netvouz Reddit Simpy StumbleUpon Bookmarks Windows Live Favorites 
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Toutes les fonctions  ·  Vues d'ensemble  · 

QWindowDecorationInterface Class Reference
[QtBaseModule]

The QWindowDecorationInterface class provides an interface for Qt Extended window decoration styles. More...

    #include <QWindowDecorationInterface>

Public Types

  • enum Area { Border, Title, TitleText }
  • enum Button { OK, Close, Help, Maximize }
  • enum Metric { TitleHeight, LeftBorder, RightBorder, TopBorder, ..., CornerGrabSize }

Public Functions

  • virtual void drawArea ( Area area, QPainter * p, const WindowData * wd ) const
  • virtual void drawButton ( Button button, QPainter * painter, const WindowData * wd, int x, int y, int w, int h, QDecoration::DecorationState state ) const
  • virtual QPixmap icon () const = 0
  • virtual QRegion mask ( const WindowData * wd ) const
  • virtual int metric ( Metric metric, const WindowData * wd ) const
  • virtual QString name () const = 0

Detailed Description

The QWindowDecorationInterface class provides an interface for Qt Extended window decoration styles.

Window decoration styles may be added to Qt Extended via plug-ins. In order to write a style plug-in you must derive from the QWindowDecorationInterface class and implement the virtual functions.

The window being decorated is defined by the QWindowDecorationPlugin::WindowData struct:

    struct WindowData {
        const QWidget *window;
        QRect rect;
        QPalette palette;
        QString caption;
        enum Flags { Maximized=0x01, Dialog=0x02, Active=0x04 };
        Q_UINT32 flags;
        Q_UINT32 reserved;
    };

Window decorations are loaded by setting the Decoration setting in the Appearance group of Trolltech/qpe, for example:

        [Appearance]
        Decoration=mydecoration

To allow a QWindowDecorationInterface class to be created a plug-in class derived from QWindowDecorationPlugin should be implemented.

Note that Qt Extended includes a decoration plugin that allows basic theming, and this should be used in preference to custom decoration plugins.

See also QWindowDecorationPlugin.


Member Type Documentation

enum QWindowDecorationInterface::Area

ConstantValueDescription
QWindowDecorationInterface::Border0defines the entire decoration area, excluding the title bar.
QWindowDecorationInterface::Title1defines the area at the top of the window that contains the buttons and captions. It must extend the full width of the window.
QWindowDecorationInterface::TitleText2defines the window caption.

enum QWindowDecorationInterface::Button

ConstantValueDescription
QWindowDecorationInterface::OK0the OK button.
QWindowDecorationInterface::Close1the close button.
QWindowDecorationInterface::Help2the help button.
QWindowDecorationInterface::Maximize3the maximize/restore button.

enum QWindowDecorationInterface::Metric

ConstantValueDescription
QWindowDecorationInterface::TitleHeight0the height of the title.
QWindowDecorationInterface::LeftBorder1the width of the border on the left of the window.
QWindowDecorationInterface::RightBorder2the width of the border on the right of the window.
QWindowDecorationInterface::TopBorder3the width of the border on the top of the window, above the title bar.
QWindowDecorationInterface::BottomBorder4the width of the border on the bottom of the window.
QWindowDecorationInterface::OKWidth5the width of the OK button.
QWindowDecorationInterface::CloseWidth6the width of the Close (X) button.
QWindowDecorationInterface::HelpWidth7the width of the Help (?) button.
QWindowDecorationInterface::MaximizeWidth8the width of the maximize/restore button.
QWindowDecorationInterface::CornerGrabSize9the size of the area allowing diagonal resize at each corner of the window.


Member Function Documentation

void QWindowDecorationInterface::drawArea ( Area area, QPainter * p, const WindowData * wd ) const   [virtual]

Draw the specified area using QPainter p for the window defined by wd.

void QWindowDecorationInterface::drawButton ( Button button, QPainter * painter, const WindowData * wd, int x, int y, int w, int h, QDecoration::DecorationState state ) const   [virtual]

Draw button with QPainter painter for the window defined by wd within the bounds supplied by x, y, w, h in the specified state.

QPixmap QWindowDecorationInterface::icon () const   [pure virtual]

Returns the icon of the decoration. This may be displayed in the appearance settings dialog.

QRegion QWindowDecorationInterface::mask ( const WindowData * wd ) const   [virtual]

Returns the mask of the decoration including all borders and the title for the window defined by wd as a QRegion. The window decorations do not necessarily need to be rectangular, however the title bar must be rectangular and must be the width of the window. This ensures the title is drawn correctly for maximized windows.

int QWindowDecorationInterface::metric ( Metric metric, const WindowData * wd ) const   [virtual]

Returns the metric for the window defined by wd.

QString QWindowDecorationInterface::name () const   [pure virtual]

Returns the name of the decoration. This will be displayed in the appearance settings dialog.

Publicité

Best Of

Actualités les plus lues

Semaine
Mois
Année
  1. « Quelque chose ne va vraiment pas avec les développeurs "modernes" », un développeur à "l'ancienne" critique la multiplication des bibliothèques 94
  2. Apercevoir la troisième dimension ou l'utilisation multithreadée d'OpenGL dans Qt, un article des Qt Quarterly traduit par Guillaume Belz 0
  3. Les développeurs ignorent-ils trop les failles découvertes dans leur code ? Prenez-vous en compte les remarques des autres ? 17
  4. Pourquoi les programmeurs sont-ils moins payés que les gestionnaires de programmes ? Manquent-ils de pouvoir de négociation ? 42
  5. Quelles nouveautés de C++11 Visual C++ doit-il rapidement intégrer ? Donnez-nous votre avis 10
  6. Adieu qmake, bienvenue qbs : Qt Building Suite, un outil déclaratif et extensible pour la compilation de projets Qt 17
  7. 2017 : un quinquennat pour une nouvelle version du C++ ? Possible, selon Herb Sutter 7
Page suivante

Le Qt Quarterly au hasard

Logo

Un plugin pour QImage

Qt Quarterly est la revue trimestrielle proposée par Nokia et à destination des développeurs Qt. Ces articles d'une grande qualité technique sont rédigés par des experts Qt. Lire l'article.

Communauté

Ressources

Liens utiles

Contact

  • Vous souhaitez rejoindre la rédaction ou proposer un tutoriel, une traduction, une question... ? Postez dans le forum Contribuez ou contactez-nous par MP ou par email (voir en bas de page).

Qt dans le magazine

Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. Qt qtextended4.4
Copyright © 2012 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP !
 
 
 
 
Partenaires

Hébergement Web