Eneboo - Documentación para desarrolladores
src/qt/include/qsgistyle.h
Ir a la documentación de este archivo.
00001 /****************************************************************************
00002 ** $Id: qt/qsgistyle.h   3.3.8   edited Jan 11 14:46 $
00003 **
00004 ** Definition of SGI-like style class
00005 **
00006 ** Created : 981231
00007 **
00008 ** Copyright (C) 1998-2007 Trolltech ASA.  All rights reserved.
00009 **
00010 ** This file is part of the widgets module of the Qt GUI Toolkit.
00011 **
00012 ** This file may be distributed under the terms of the Q Public License
00013 ** as defined by Trolltech ASA of Norway and appearing in the file
00014 ** LICENSE.QPL included in the packaging of this file.
00015 **
00016 ** This file may be distributed and/or modified under the terms of the
00017 ** GNU General Public License version 2 as published by the Free Software
00018 ** Foundation and appearing in the file LICENSE.GPL included in the
00019 ** packaging of this file.
00020 **
00021 ** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
00022 ** licenses may use this file in accordance with the Qt Commercial License
00023 ** Agreement provided with the Software.
00024 **
00025 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
00026 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
00027 **
00028 ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
00029 **   information about Qt Commercial License Agreements.
00030 ** See http://www.trolltech.com/qpl/ for QPL licensing information.
00031 ** See http://www.trolltech.com/gpl/ for GPL licensing information.
00032 **
00033 ** Contact info@trolltech.com if any conditions of this licensing are
00034 ** not clear to you.
00035 **
00036 **********************************************************************/
00037 
00038 #ifndef QSGISTYLE_H
00039 #define QSGISTYLE_H
00040 
00041 #ifndef QT_H
00042 #include "qmotifstyle.h"
00043 #include "qguardedptr.h"
00044 #include "qwidget.h"
00045 #endif // QT_H
00046 
00047 #if !defined(QT_NO_STYLE_SGI) || defined(QT_PLUGIN)
00048 
00049 #if defined(QT_PLUGIN)
00050 #define Q_EXPORT_STYLE_SGI
00051 #else
00052 #define Q_EXPORT_STYLE_SGI Q_EXPORT
00053 #endif
00054 
00055 class QSGIStylePrivate;
00056 
00057 class Q_EXPORT_STYLE_SGI QSGIStyle: public QMotifStyle
00058 {
00059     Q_OBJECT
00060 public:
00061     QSGIStyle( bool useHighlightCols = FALSE );
00062     virtual ~QSGIStyle();
00063 
00064 #if !defined(Q_NO_USING_KEYWORD)
00065     using QMotifStyle::polish;
00066 #endif
00067     void polish( QWidget* );
00068     void unPolish( QWidget* );
00069     void polish( QApplication* );
00070     void unPolish( QApplication* );
00071 
00072     void drawPrimitive( PrimitiveElement pe,
00073                         QPainter *p,
00074                         const QRect &r,
00075                         const QColorGroup &cg,
00076                         SFlags flags = Style_Default,
00077                         const QStyleOption& = QStyleOption::Default ) const;
00078 
00079     void drawControl( ControlElement element,
00080                       QPainter *p,
00081                       const QWidget *widget,
00082                       const QRect &r,
00083                       const QColorGroup &cg,
00084                       SFlags how = Style_Default,
00085                       const QStyleOption& = QStyleOption::Default ) const;
00086 
00087     void drawComplexControl( ComplexControl control,
00088                              QPainter *p,
00089                              const QWidget* widget,
00090                              const QRect& r,
00091                              const QColorGroup& cg,
00092                              SFlags how = Style_Default,
00093 #ifdef Q_QDOC
00094                              SCFlags sub = SC_All,
00095 #else
00096                              SCFlags sub = (uint)SC_All,
00097 #endif
00098                              SCFlags subActive = SC_None,
00099                              const QStyleOption& = QStyleOption::Default ) const;
00100 
00101     int pixelMetric( PixelMetric metric, const QWidget *widget = 0 ) const;
00102 
00103     QSize sizeFromContents( ContentsType contents,
00104                             const QWidget *widget,
00105                             const QSize &contentsSize,
00106                             const QStyleOption& = QStyleOption::Default ) const;
00107 
00108     QRect subRect( SubRect r, const QWidget *widget ) const;
00109     QRect querySubControlMetrics( ComplexControl control,
00110                                   const QWidget *widget,
00111                                   SubControl sc,
00112                                   const QStyleOption& = QStyleOption::Default ) const;
00113 
00114 protected:
00115     bool eventFilter( QObject*, QEvent*);
00116 
00117 private:
00118     QSGIStylePrivate *d;
00119 
00120     uint isApplicationStyle :1;
00121 #if defined(Q_DISABLE_COPY)
00122     QSGIStyle( const QSGIStyle & );
00123     QSGIStyle& operator=( const QSGIStyle & );
00124 #endif
00125 
00126 };
00127 
00128 #endif // QT_NO_STYLE_SGI
00129 
00130 #endif // QSGISTYLE_H
 Todo Clases Namespaces Archivos Funciones Variables 'typedefs' Enumeraciones Valores de enumeraciones Propiedades Amigas 'defines'