summaryrefslogtreecommitdiffstats
path: root/tqtinterface/qt4/src/styles
diff options
context:
space:
mode:
Diffstat (limited to 'tqtinterface/qt4/src/styles')
-rw-r--r--tqtinterface/qt4/src/styles/qt_styles.pri140
-rw-r--r--tqtinterface/qt4/src/styles/tqcdestyle.cpp367
-rw-r--r--tqtinterface/qt4/src/styles/tqcdestyle.h87
-rw-r--r--tqtinterface/qt4/src/styles/tqcommonstyle.cpp2727
-rw-r--r--tqtinterface/qt4/src/styles/tqcommonstyle.h155
-rw-r--r--tqtinterface/qt4/src/styles/tqcompactstyle.cpp321
-rw-r--r--tqtinterface/qt4/src/styles/tqcompactstyle.h75
-rw-r--r--tqtinterface/qt4/src/styles/tqinterlacestyle.cpp805
-rw-r--r--tqtinterface/qt4/src/styles/tqinterlacestyle.h107
-rw-r--r--tqtinterface/qt4/src/styles/tqmotifplusstyle.cpp1586
-rw-r--r--tqtinterface/qt4/src/styles/tqmotifplusstyle.h125
-rw-r--r--tqtinterface/qt4/src/styles/tqmotifstyle.cpp2367
-rw-r--r--tqtinterface/qt4/src/styles/tqmotifstyle.h137
-rw-r--r--tqtinterface/qt4/src/styles/tqplatinumstyle.cpp1557
-rw-r--r--tqtinterface/qt4/src/styles/tqplatinumstyle.h118
-rw-r--r--tqtinterface/qt4/src/styles/tqsgistyle.cpp1470
-rw-r--r--tqtinterface/qt4/src/styles/tqsgistyle.h134
-rw-r--r--tqtinterface/qt4/src/styles/tqstylefactory.cpp268
-rw-r--r--tqtinterface/qt4/src/styles/tqstylefactory.h62
-rw-r--r--tqtinterface/qt4/src/styles/tqstyleinterface_p.h76
-rw-r--r--tqtinterface/qt4/src/styles/tqstyleplugin.cpp185
-rw-r--r--tqtinterface/qt4/src/styles/tqstyleplugin.h73
-rw-r--r--tqtinterface/qt4/src/styles/tqwindowsstyle.cpp2166
-rw-r--r--tqtinterface/qt4/src/styles/tqwindowsstyle.h135
24 files changed, 0 insertions, 15243 deletions
diff --git a/tqtinterface/qt4/src/styles/qt_styles.pri b/tqtinterface/qt4/src/styles/qt_styles.pri
deleted file mode 100644
index 1dc8983..0000000
--- a/tqtinterface/qt4/src/styles/qt_styles.pri
+++ /dev/null
@@ -1,140 +0,0 @@
-# Qt styles module
-
-styles {
- STYLES_P = styles
- HEADERS +=$$STYLES_H/tqstylefactory.h \
- $$STYLES_P/tqstyleinterface_p.h \
- $$STYLES_H/tqstyleplugin.h \
- $$STYLES_H/tqcommonstyle.h
- SOURCES +=$$STYLES_CPP/tqstylefactory.cpp \
- $$STYLES_CPP/tqstyleplugin.cpp \
- $$STYLES_CPP/tqcommonstyle.cpp
-
- contains( styles, all ) {
- styles += mac cde motifplus sgi platinum compact interlace windows motif
- }
-
- x11|embedded|!macx-*:styles -= mac
- contains( styles, mac ) {
- HEADERS +=$$STYLES_H/tqmacstyle_mac.h \
- $$STYLES_H/tqmacstylepixmaps_mac_p.h
- SOURCES +=$$STYLES_CPP/tqmacstyle_mac.cpp
- HEADERS *= $$STYLES_CPP/tqaquastyle_p.h
- SOURCES *= $$STYLES_CPP/tqaquastyle_p.cpp
-
- !contains( styles, windows ) {
- message( mac requires windows )
- styles += windows
- }
- }
- else:DEFINES += TQT_NO_STYLE_MAC
-
- #embedded|!macx-*:styles -= aqua
- contains( styles, aqua ) {
- HEADERS += $$STYLES_H/tqaquastyle.h
- SOURCES += $$STYLES_CPP/tqaquastyle.cpp
- HEADERS *= $$STYLES_CPP/tqaquastyle_p.h
- SOURCES *= $$STYLES_CPP/tqaquastyle_p.cpp
-
- !contains( styles, windows ) {
- message( aqua requires windows )
- styles += windows
- }
- }
- else:DEFINES += TQT_NO_STYLE_AQUA
-
- contains( styles, cde ) {
- HEADERS +=$$STYLES_H/tqcdestyle.h
- SOURCES +=$$STYLES_CPP/tqcdestyle.cpp
-
- !contains( styles, motif ) {
- message( cde requires motif )
- styles += motif
- }
- }
- else:DEFINES += TQT_NO_STYLE_CDE
-
- contains( styles, motifplus ) {
- HEADERS +=$$STYLES_H/tqmotifplusstyle.h
- SOURCES +=$$STYLES_CPP/tqmotifplusstyle.cpp
- !contains( styles, motif ) {
- message( motifplus requires motif )
- styles += motif
- }
- }
- else:DEFINES += TQT_NO_STYLE_MOTIFPLUS
-
- contains( styles, interlace ) {
- HEADERS +=$$STYLES_H/tqinterlacestyle.h
- SOURCES +=$$STYLES_CPP/tqinterlacestyle.cpp
- !contains( styles, windows ) {
- message( interlace requires windows )
- styles += windows
- }
- }
- else:DEFINES += TQT_NO_STYLE_INTERLACE
-
- contains( styles, platinum ) {
- HEADERS +=$$STYLES_H/tqplatinumstyle.h
- SOURCES +=$$STYLES_CPP/tqplatinumstyle.cpp
- !contains( styles, windows ) {
- message( platinum requires windows )
- styles += windows
- }
- }
- else:DEFINES += TQT_NO_STYLE_PLATINUM
-
- contains( styles, windowsxp ) {
- HEADERS +=$$STYLES_H/tqwindowsxpstyle.h
- SOURCES +=$$STYLES_CPP/tqwindowsxpstyle.cpp
- !contains( styles, windowsxp ) {
- message( windowsxp requires windows )
- styles += windows
- }
- }
- else:DEFINES += TQT_NO_STYLE_WINDOWSXP
-
- contains( styles, sgi ) {
- HEADERS +=$$STYLES_H/tqsgistyle.h
- SOURCES +=$$STYLES_CPP/tqsgistyle.cpp
- !contains( styles, motif ) {
- message( sgi requires motif )
- styles += motif
- }
- }
- else:DEFINES += TQT_NO_STYLE_SGI
-
- contains( styles, compact ) {
- HEADERS +=$$STYLES_H/tqcompactstyle.h
- SOURCES +=$$STYLES_CPP/tqcompactstyle.cpp
- !contains( styles, windows ) {
- message( compact requires windows )
- styles += windows
- }
- }
- else:DEFINES += TQT_NO_STYLE_COMPACT
-
- wince-*:styles += pocketpc
- contains( styles, pocketpc ) {
- HEADERS +=$$STYLES_H/tqpocketpcstyle_wce.h
- SOURCES +=$$STYLES_CPP/tqpocketpcstyle_wce.cpp
-
- !contains( styles, windows ) {
- message( pocketpc requires windows )
- styles += windows
- }
- }
- else:DEFINES += TQT_NO_STYLE_POCKETPC
-
- contains( styles, windows ) {
- HEADERS +=$$STYLES_H/tqwindowsstyle.h
- SOURCES +=$$STYLES_CPP/tqwindowsstyle.cpp
- }
- else:DEFINES += TQT_NO_STYLE_WINDOWS
-
- contains( styles, motif ) {
- HEADERS +=$$STYLES_H/tqmotifstyle.h
- SOURCES +=$$STYLES_CPP/tqmotifstyle.cpp
- }
- else:DEFINES += TQT_NO_STYLE_MOTIF
-}
diff --git a/tqtinterface/qt4/src/styles/tqcdestyle.cpp b/tqtinterface/qt4/src/styles/tqcdestyle.cpp
deleted file mode 100644
index 8dda161..0000000
--- a/tqtinterface/qt4/src/styles/tqcdestyle.cpp
+++ /dev/null
@@ -1,367 +0,0 @@
-/****************************************************************************
-**
-** Implementation of CDE-like style class
-**
-** Created : 981231
-**
-** Copyright (C) 1998-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of the widgets module of the TQt GUI Toolkit.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** This file may be used under the terms of the Q Public License as
-** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
-** included in the packaging of this file. Licensees holding valid TQt
-** Commercial licenses may use this file in accordance with the TQt
-** Commercial License Agreement provided with the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#include "tqcdestyle.h"
-
-#if !defined(TQT_NO_STYLE_CDE) || defined(TQT_PLUGIN)
-
-#include "tqpainter.h"
-#include "tqdrawutil.h"
-#include "tqbutton.h"
-#include <limits.h>
-
-/*!
- \class TQCDEStyle tqcdestyle.h
- \brief The TQCDEStyle class provides a CDE look and feel.
-
- \ingroup appearance
-
- This style provides a slightly improved Motif look similar to some
- versions of the Common Desktop Environment (CDE). The main
- differences are thinner frames and more modern radio buttons and
- checkboxes. Together with a dark background and a bright
- text/foreground color, the style looks quite attractive (at least
- for Motif fans).
-
- Note that the functions provided by TQCDEStyle are
- reimplementations of TQStyle functions; see TQStyle for their
- documentation.
-*/
-
-/*!
- Constructs a TQCDEStyle.
-
- If \a useHighlightCols is FALSE (the default), then the style will
- polish the application's color palette to emulate the Motif way of
- highlighting, which is a simple inversion between the base and the
- text color.
-*/
-TQCDEStyle::TQCDEStyle( bool useHighlightCols ) : TQMotifStyle( useHighlightCols )
-{
-}
-
-/*!
- Destroys the style.
-*/
-TQCDEStyle::~TQCDEStyle()
-{
-}
-
-
-/*!\reimp
-*/
-int TQCDEStyle::tqpixelMetric( PixelMetric metric, const TQWidget *widget ) const
-{
- int ret;
-
- switch( metric ) {
- case PM_DefaultFrameWidth:
- ret = 1;
- break ;
- case PM_MenuBarFrameWidth:
- ret = 1;
- break;
- case PM_ScrollBarExtent:
- ret = 13;
- break;
- default:
- ret = TQMotifStyle::tqpixelMetric( metric, widget );
- break;
- }
- return ret;
-}
-
-/*! \reimp
-*/
-void TQCDEStyle::tqdrawControl( ControlElement element,
- TQPainter *p,
- const TQWidget *widget,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags how,
- const TQStyleOption& opt ) const
-{
-
- switch( element ) {
- case CE_MenuBarItem:
- {
- if ( how & Style_Active ) // active item
- qDrawShadePanel( p, r, cg, TRUE, 1,
- &cg.brush( TQColorGroup::Button ) );
- else // other item
- p->fillRect( r, cg.brush( TQColorGroup::Button ) );
- TQCommonStyle::tqdrawControl( element, p, widget, r, cg, how, opt );
- break;
- }
- default:
- TQMotifStyle::tqdrawControl( element, p, widget, r, cg, how, opt );
- break;
- }
-
-
-}
-
-/*! \reimp
-*/
-void TQCDEStyle::tqdrawPrimitiveBase( TQ_PrimitiveElement pe,
- TQPainter *p,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags flags,
- const TQStyleOption& opt ) const
-{
- switch( pe ) {
- case PE_Indicator: {
-#ifndef TQT_NO_BUTTON
- bool down = flags & Style_Down;
- bool on = flags & Style_On;
- bool showUp = !( down ^ on );
- TQBrush fill = showUp || flags & Style_NoChange ? cg.brush( TQColorGroup::Button ) : cg.brush( TQColorGroup::Mid );
- qDrawShadePanel( p, r, cg, !showUp, tqpixelMetric( PM_DefaultFrameWidth ), &cg.brush( TQColorGroup::Button ) );
-
- if ( !( flags & Style_Off ) ) {
- TQPointArray a( 7 * 2 );
- int i, xx, yy;
- xx = r.x() + 3;
- yy = r.y() + 5;
- for ( i = 0; i < 3; i++ ) {
- a.setPoint( 2 * i, xx, yy );
- a.setPoint( 2 * i + 1, xx, yy + 2 );
- xx++; yy++;
- }
- yy -= 2;
- for ( i = 3; i < 7; i++ ) {
- a.setPoint( 2 * i, xx, yy );
- a.setPoint( 2 * i + 1, xx, yy + 2 );
- xx++; yy--;
- }
- if ( flags & Style_NoChange )
- p->setPen( cg.dark() );
- else
- p->setPen( cg.foreground() );
- p->drawLineSegments( a );
- }
-#endif
- }
- break;
- case PE_ExclusiveIndicator:
- {
-#define TQCOORDARRLEN(x) sizeof(x)/(sizeof(TQCOORD)*2)
- static const TQCOORD pts1[] = { // up left lines
- 1,9, 1,8, 0,7, 0,4, 1,3, 1,2, 2,1, 3,1, 4,0, 7,0, 8,1, 9,1 };
- static const TQCOORD pts4[] = { // bottom right lines
- 2,10, 3,10, 4,11, 7,11, 8,10, 9,10, 10,9, 10,8, 11,7,
- 11,4, 10,3, 10,2 };
- static const TQCOORD pts5[] = { // inner fill
- 4,2, 7,2, 9,4, 9,7, 7,9, 4,9, 2,7, 2,4 };
- bool down = flags & Style_Down;
- bool on = flags & Style_On;
- p->eraseRect( r );
- TQPointArray a( TQCOORDARRLEN(pts1), pts1 );
- a.translate( r.x(), r.y() );
- p->setPen( ( down || on ) ? cg.dark() : cg.light() );
- p->drawPolyline( a );
- a.setPoints( TQCOORDARRLEN(pts4), pts4 );
- a.translate( r.x(), r.y() );
- p->setPen( ( down || on ) ? cg.light() : cg.dark() );
- p->drawPolyline( a );
- a.setPoints( TQCOORDARRLEN(pts5), pts5 );
- a.translate( r.x(), r.y() );
- TQColor fillColor = on ? cg.dark() : cg.background();
- p->setPen( fillColor );
- p->setBrush( on ? cg.brush( TQColorGroup::Dark ) :
- cg.brush( TQColorGroup::Background ) );
- p->drawPolygon( a );
- break;
- }
-
- case PE_ExclusiveIndicatorMask:
- {
- static const TQCOORD pts1[] = {
- // up left lines
- 1,9, 1,8, 0,7, 0,4, 1,3, 1,2, 2,1, 3,1, 4,0, 7,0, 8,1, 9,1,
- // bottom right lines
- 10,2, 10,3, 11,4, 11,7, 10,8, 10,9, 9,10, 8,10, 7,11, 4,11, 3,10, 2,10
- };
- TQPointArray a(TQCOORDARRLEN(pts1), pts1);
- a.translate(r.x(), r.y());
- p->setPen(Qt::color1);
- p->setBrush(Qt::color1);
- p->drawPolygon(a);
- break;
- }
- case PE_ArrowUp:
- case PE_ArrowDown:
- case PE_ArrowRight:
- case PE_ArrowLeft: {
- TQRect rect = r;
- TQPointArray bFill; // fill polygon
- TQPointArray bTop; // top shadow.
- TQPointArray bBot; // bottom shadow.
- TQPointArray bLeft; // left shadow.
- TQWMatrix matrix; // xform matrix
- bool vertical = pe == PE_ArrowUp || pe == PE_ArrowDown;
- bool horizontal = !vertical;
- int dim = rect.width() < rect.height() ? rect.width() : rect.height();
- int colspec = 0x0000; // color specification array
-
- if ( dim < 2 ) // too small arrow
- return;
-
- // adjust size and center (to fix rotation below)
- if ( rect.width() > dim ) {
- rect.setX( rect.x() + ( ( rect.width() - dim ) / 2 ) );
- rect.setWidth( dim );
- }
- if ( rect.height() > dim ) {
- rect.setY( rect.y() + ( ( rect.height() - dim ) / 2 ) );
- rect.setHeight( dim );
- }
-
- if ( dim > 3 ) {
- bFill.resize( dim & 1 ? 3 : 4 );
- bTop.resize( 2 );
- bBot.resize( 2 );
- bLeft.resize( 2 );
- bLeft.putPoints( 0, 2, 0, 0, 0, dim-1 );
- bTop.putPoints( 0, 2, 1, 0, dim-1, dim/2 );
- bBot.putPoints( 0, 2, 1, dim-1, dim-1, dim/2 );
-
- if ( dim > 6 ) { // dim>6: must fill interior
- bFill.putPoints( 0, 2, 1, dim-1, 1, 1 );
- if ( dim & 1 ) // if size is an odd number
- bFill.setPoint( 2, dim - 2, dim / 2 );
- else
- bFill.putPoints( 2, 2, dim-2, dim/2-1, dim-2, dim/2 );
- }
- } else {
- if ( dim == 3 ) { // 3x3 arrow pattern
- bLeft.setPoints( 4, 0,0, 0,2, 1,1, 1,1 );
- bTop .setPoints( 2, 1,0, 1,0 );
- bBot .setPoints( 2, 1,2, 2,1 );
- } else { // 2x2 arrow pattern
- bLeft.setPoints( 2, 0,0, 0,1 );
- bTop .setPoints( 2, 1,0, 1,0 );
- bBot .setPoints( 2, 1,1, 1,1 );
- }
- }
-
- if ( pe == PE_ArrowUp || pe == PE_ArrowLeft ) {
- matrix.translate( rect.x(), rect.y() );
- if ( vertical ) {
- matrix.translate( 0, rect.height() - 1 );
- matrix.rotate( -90 );
- } else {
- matrix.translate( rect.width() - 1, rect.height() - 1 );
- matrix.rotate( 180 );
- }
- if ( flags & Style_Down )
- colspec = horizontal ? 0x2334 : 0x2343;
- else
- colspec = horizontal ? 0x1443 : 0x1434;
- } else if ( pe == PE_ArrowDown || pe == PE_ArrowRight ) {
- matrix.translate( rect.x(), rect.y() );
- if ( vertical ) {
- matrix.translate( rect.width()-1, 0 );
- matrix.rotate( 90 );
- }
- if ( flags & Style_Down )
- colspec = horizontal ? 0x2443 : 0x2434;
- else
- colspec = horizontal ? 0x1334 : 0x1343;
- }
-
- TQColor *cols[5];
- if ( flags & Style_Enabled ) {
- cols[0] = 0;
- cols[1] = (TQColor *)&cg.button();
- cols[2] = (TQColor *)&cg.mid();
- cols[3] = (TQColor *)&cg.light();
- cols[4] = (TQColor *)&cg.dark();
- } else {
- cols[0] = 0;
- cols[1] = (TQColor *)&cg.button();
- cols[2] = (TQColor *)&cg.button();
- cols[3] = (TQColor *)&cg.button();
- cols[4] = (TQColor *)&cg.button();
- }
-
-#define CMID *cols[ (colspec>>12) & 0xf ]
-#define CLEFT *cols[ (colspec>>8) & 0xf ]
-#define CTOP *cols[ (colspec>>4) & 0xf ]
-#define CBOT *cols[ colspec & 0xf ]
-
- TQPen savePen = p->pen(); // save current pen
- TQBrush saveBrush = p->brush(); // save current brush
- TQWMatrix wxm = p->tqworldMatrix();
- TQPen pen( Qt::NoPen );
- TQBrush brush = cg.brush( flags & Style_Enabled ? TQColorGroup::Button :
- TQColorGroup::Mid );
-
- p->setPen( pen );
- p->setBrush( brush );
- p->setWorldMatrix( matrix, TRUE ); // set transformation matrix
- p->drawPolygon( bFill ); // fill arrow
- p->setBrush( Qt::NoBrush ); // don't fill
-
- p->setPen( CLEFT );
- p->drawLineSegments( bLeft );
- p->setPen( CBOT );
- p->drawLineSegments( bBot );
- p->setPen( CTOP );
- p->drawLineSegments( bTop );
-
- p->setWorldMatrix( wxm );
- p->setBrush( saveBrush ); // restore brush
- p->setPen( savePen ); // restore pen
-
-#undef CMID
-#undef CLEFT
-#undef CTOP
-#undef CBOT
-
- }
- break;
- default:
- TQMotifStyle::tqdrawPrimitive( pe, p, r, cg, flags, opt );
- }
-}
-
-#endif
diff --git a/tqtinterface/qt4/src/styles/tqcdestyle.h b/tqtinterface/qt4/src/styles/tqcdestyle.h
deleted file mode 100644
index bcd7eeb..0000000
--- a/tqtinterface/qt4/src/styles/tqcdestyle.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/****************************************************************************
-**
-** Definition of the CDE-like style class
-**
-** Created : 990513
-**
-** Copyright (C) 1999-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of the widgets module of the TQt GUI Toolkit.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** This file may be used under the terms of the Q Public License as
-** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
-** included in the packaging of this file. Licensees holding valid TQt
-** Commercial licenses may use this file in accordance with the TQt
-** Commercial License Agreement provided with the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-
-#ifndef TQCDESTYLE_H
-#define TQCDESTYLE_H
-
-#ifndef TQT_H
-#include "tqmotifstyle.h"
-#endif // TQT_H
-
-#if !defined(TQT_NO_STYLE_CDE) || defined(TQT_PLUGIN)
-
-#if defined(TQT_PLUGIN)
-#define TQ_EXPORT_STYLE_CDE
-#else
-#define TQ_EXPORT_STYLE_CDE TQ_EXPORT
-#endif
-
-class TQ_EXPORT_STYLE_CDE TQCDEStyle : public TQMotifStyle
-{
- Q_OBJECT
- TQ_OBJECT
-public:
-
- TQCDEStyle( bool useHighlightCols = FALSE );
- virtual ~TQCDEStyle();
-
- int tqpixelMetric( PixelMetric metric, const TQWidget *widget = 0 ) const;
-
- void tqdrawControl( ControlElement element,
- TQPainter *p,
- const TQWidget *widget,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags how = Style_Default,
- const TQStyleOption& = TQStyleOption::Default ) const;
-
- void tqdrawPrimitiveBase( TQ_PrimitiveElement pe,
- TQPainter *p,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags flags = Style_Default,
- const TQStyleOption& = TQStyleOption::Default ) const;
-
-};
-
-#endif // TQT_NO_STYLE_CDE
-
-#endif // TQCDESTYLE_H
diff --git a/tqtinterface/qt4/src/styles/tqcommonstyle.cpp b/tqtinterface/qt4/src/styles/tqcommonstyle.cpp
deleted file mode 100644
index 90a5588..0000000
--- a/tqtinterface/qt4/src/styles/tqcommonstyle.cpp
+++ /dev/null
@@ -1,2727 +0,0 @@
-/****************************************************************************
-**
-** Implementation of the TQCommonStyle class
-**
-** Created : 981231
-**
-** Copyright (C) 1998-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of the widgets module of the TQt GUI Toolkit.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** This file may be used under the terms of the Q Public License as
-** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
-** included in the packaging of this file. Licensees holding valid TQt
-** Commercial licenses may use this file in accordance with the TQt
-** Commercial License Agreement provided with the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#include "tqcommonstyle.h"
-
-#ifndef TQT_NO_STYLE
-
-#include "tqmenubar.h"
-#include "tqapplication.h"
-#include "tqpainter.h"
-#include "tqdrawutil.h"
-#include "tqpixmap.h"
-#include "tqpushbutton.h"
-#include "tqtabbar.h"
-#include "tqscrollbar.h"
-#include "tqtoolbutton.h"
-#include "tqtoolbar.h"
-#include "tqdockarea.h"
-#include "tqheader.h"
-#include "tqspinbox.h"
-#include "tqrangecontrol.h"
-#include "tqgroupbox.h"
-#include "tqslider.h"
-#include "tqlistview.h"
-#include "tqcheckbox.h"
-#include "tqradiobutton.h"
-#include "tqbitmap.h"
-#include "tqprogressbar.h"
-#include "private/tqdialogbuttons_p.h"
-#include <limits.h>
-#include <tqpixmap.h>
-#include "../widgets/tqtitlebar_p.h"
-#include <tqtoolbox.h>
-
-/*!
- \class TQCommonStyle tqcommonstyle.h
- \brief The TQCommonStyle class encapsulates the common Look and Feel of a GUI.
-
- \ingroup appearance
-
- This abstract class implements some of the widget's look and feel
- that is common to all GUI styles provided and shipped as part of
- TQt.
-
- All the functions are documented in \l TQStyle.
-*/
-
-/*!
- \enum TQt::ArrowType
-
- \value UpArrow
- \value DownArrow
- \value LeftArrow
- \value RightArrow
-
-*/
-
-// the active painter, if any... this is used as an optimzation to
-// avoid creating a painter if we have an active one (since
-// TQStyle::tqitemRect() needs a painter to operate correctly
-static TQPainter *activePainter = 0;
-
-/*!
- Constructs a TQCommonStyle.
-*/
-TQCommonStyle::TQCommonStyle() : TQStyle()
-{
- activePainter = 0;
-}
-
-/*! \reimp */
-TQCommonStyle::~TQCommonStyle()
-{
- activePainter = 0;
-}
-
-
-static const char * const check_list_controller_xpm[] = {
-"16 16 4 1",
-" c None",
-". c #000000000000",
-"X c #FFFFFFFF0000",
-"o c #C71BC30BC71B",
-" ",
-" ",
-" .......... ",
-" .XXXXXXXX. ",
-" .XXXXXXXX.oo ",
-" .XXXXXXXX.oo ",
-" .XXXXXXXX.oo ",
-" .XXXXXXXX.oo ",
-" .XXXXXXXX.oo ",
-" .XXXXXXXX.oo ",
-" .XXXXXXXX.oo ",
-" ..........oo ",
-" oooooooooo ",
-" oooooooooo ",
-" ",
-" "};
-
-/*! \reimp */
-void TQCommonStyle::tqdrawPrimitive( TQ_PrimitiveElement pe,
- TQPainter *p,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags flags,
- const TQStyleOption& opt ) const
-{
- activePainter = p;
-
- switch (pe) {
-#ifndef TQT_NO_LISTVIEW
- case TQStyle::PE_CheckListController: {
- p->drawPixmap(r, TQPixmap((const char **)check_list_controller_xpm));
- break; }
- case TQStyle::PE_CheckListExclusiveIndicator: {
- TQCheckListItem *item = opt.checkListItem();
- TQListView *lv = item->listView();
- if(!item)
- return;
- int x = r.x(), y = r.y();
-#define TQCOORDARRLEN(x) sizeof(x)/(sizeof(TQCOORD)*2)
- static const TQCOORD pts1[] = { // dark lines
- 1,9, 1,8, 0,7, 0,4, 1,3, 1,2, 2,1, 3,1, 4,0, 7,0, 8,1, 9,1 };
- static const TQCOORD pts2[] = { // black lines
- 2,8, 1,7, 1,4, 2,3, 2,2, 3,2, 4,1, 7,1, 8,2, 9,2 };
- static const TQCOORD pts3[] = { // background lines
- 2,9, 3,9, 4,10, 7,10, 8,9, 9,9, 9,8, 10,7, 10,4, 9,3 };
- static const TQCOORD pts4[] = { // white lines
- 2,10, 3,10, 4,11, 7,11, 8,10, 9,10, 10,9, 10,8, 11,7,
- 11,4, 10,3, 10,2 };
- // static const TQCOORD pts5[] = { // inner fill
- // 4,2, 7,2, 9,4, 9,7, 7,9, 4,9, 2,7, 2,4 };
- //TQPointArray a;
- // p->eraseRect( x, y, w, h );
-
- if ( flags & Style_Enabled )
- p->setPen( cg.text() );
- else
- p->setPen( TQPen( lv->tqpalette().color( TQPalette::Disabled, TQColorGroup::Text ) ) );
- TQPointArray a( TQCOORDARRLEN(pts1), pts1 );
- a.translate( x, y );
- //p->setPen( cg.dark() );
- p->drawPolyline( a );
- a.setPoints( TQCOORDARRLEN(pts2), pts2 );
- a.translate( x, y );
- p->drawPolyline( a );
- a.setPoints( TQCOORDARRLEN(pts3), pts3 );
- a.translate( x, y );
- // p->setPen( black );
- p->drawPolyline( a );
- a.setPoints( TQCOORDARRLEN(pts4), pts4 );
- a.translate( x, y );
- // p->setPen( blue );
- p->drawPolyline( a );
- // a.setPoints( TQCOORDARRLEN(pts5), pts5 );
- // a.translate( x, y );
- // TQColor fillColor = isDown() ? g.background() : g.base();
- // p->setPen( fillColor );
- // p->setBrush( fillColor );
- // p->drawPolygon( a );
- if ( flags & Style_On ) {
- p->setPen( TQt::NoPen );
- p->setBrush( cg.text() );
- p->drawRect( x+5, y+4, 2, 4 );
- p->drawRect( x+4, y+5, 4, 2 );
- }
- break; }
- case TQStyle::PE_CheckListIndicator: {
- TQCheckListItem *item = opt.checkListItem();
- TQListView *lv = item->listView();
- if(!item)
- return;
- int x = r.x(), y = r.y(), w = r.width(), h = r.width(), marg = lv->itemMargin();
-
- if ( flags & Style_Enabled )
- p->setPen( TQPen( cg.text(), 2 ) );
- else
- p->setPen( TQPen( lv->tqpalette().color( TQPalette::Disabled, TQColorGroup::Text ),
- 2 ) );
- bool parentControl = FALSE;
- if ( item->parent() && item->parent()->rtti() == 1 &&
- ((TQCheckListItem*) item->parent())->type() == TQCheckListItem::Controller )
- parentControl = TRUE;
- if ( flags & Style_Selected && !lv->rootIsDecorated() && !parentControl ) {
- p->fillRect( 0, 0, x + marg + w + 4, item->height(),
- cg.brush( TQColorGroup::Highlight ) );
- if ( item->isEnabled() )
- p->setPen( TQPen( cg.highlightedText(), 2 ) );
- }
-
- if ( flags & Style_NoChange )
- p->setBrush( cg.brush( TQColorGroup::Button ) );
- p->drawRect( x+marg, y+2, w-4, h-4 );
- /////////////////////
- x++;
- y++;
- if ( ( flags & Style_On) || ( flags & Style_NoChange ) ) {
- TQPointArray a( 7*2 );
- int i, xx = x+1+marg, yy=y+5;
- for ( i=0; i<3; i++ ) {
- a.setPoint( 2*i, xx, yy );
- a.setPoint( 2*i+1, xx, yy+2 );
- xx++; yy++;
- }
- yy -= 2;
- for ( i=3; i<7; i++ ) {
- a.setPoint( 2*i, xx, yy );
- a.setPoint( 2*i+1, xx, yy+2 );
- xx++; yy--;
- }
- p->drawLineSegments( a );
- }
- break; }
-#endif
- case TQStyle::PE_HeaderArrow:
- p->save();
- if ( flags & Style_Down ) {
- TQPointArray pa( 3 );
- p->setPen( cg.light() );
- p->drawLine( r.x() + r.width(), r.y(), r.x() + r.width() / 2, r.height() );
- p->setPen( cg.dark() );
- pa.setPoint( 0, r.x() + r.width() / 2, r.height() );
- pa.setPoint( 1, r.x(), r.y() );
- pa.setPoint( 2, r.x() + r.width(), r.y() );
- p->drawPolyline( pa );
- } else {
- TQPointArray pa( 3 );
- p->setPen( cg.light() );
- pa.setPoint( 0, r.x(), r.height() );
- pa.setPoint( 1, r.x() + r.width(), r.height() );
- pa.setPoint( 2, r.x() + r.width() / 2, r.y() );
- p->drawPolyline( pa );
- p->setPen( cg.dark() );
- p->drawLine( r.x(), r.height(), r.x() + r.width() / 2, r.y() );
- }
- p->restore();
- break;
-
- case TQStyle::PE_StatusBarSection:
- qDrawShadeRect( p, r, cg, TRUE, 1, 0, 0 );
- break;
-
- case TQStyle::PE_ButtonCommand:
- case TQStyle::PE_ButtonBevel:
- case TQStyle::PE_ButtonTool:
- case TQStyle::PE_ButtonDropDown:
- case TQStyle::PE_HeaderSection:
- case TQStyle::PE_HeaderSectionMenu:
- qDrawShadePanel(p, r, cg, flags & (Style_Sunken | Style_Down | Style_On) , 1,
- &cg.brush(TQColorGroup::Button));
- break;
-
- case TQStyle::PE_Separator:
- qDrawShadeLine( p, r.left(), r.top(), r.right(), r.bottom(), cg,
- flags & Style_Sunken, 1, 0);
- break;
-
- case TQStyle::PE_FocusRect: {
- const TQColor *bg = 0;
-
- if (!opt.isDefault())
- bg = &opt.color();
-
- TQPen oldPen = p->pen();
-
- if (bg) {
- int h, s, v;
- bg->hsv(&h, &s, &v);
- if (v >= 128)
- p->setPen(TQt::black);
- else
- p->setPen(TQt::white);
- } else
- p->setPen(cg.foreground());
-
- if (flags & Style_FocusAtBorder)
- p->drawRect(TQRect(r.x() + 1, r.y() + 1, r.width() - 2, r.height() - 2));
- else
- p->drawRect(r);
-
- p->setPen(oldPen);
- break; }
-
- case TQStyle::PE_SpinWidgetPlus:
- case TQStyle::PE_SpinWidgetMinus: {
- p->save();
- int fw = tqpixelMetric( PM_DefaultFrameWidth, 0 );
- TQRect br;
- br.setRect( r.x() + fw, r.y() + fw, r.width() - fw*2,
- r.height() - fw*2 );
-
- p->fillRect( br, cg.brush( TQColorGroup::Button ) );
- p->setPen( cg.buttonText() );
- p->setBrush( cg.buttonText() );
-
- int length;
- int x = r.x(), y = r.y(), w = r.width(), h = r.height();
- if ( w <= 8 || h <= 6 )
- length = TQMIN( w-2, h-2 );
- else
- length = TQMIN( 2*w / 3, 2*h / 3 );
-
- if ( !(length & 1) )
- length -=1;
- int xmarg = ( w - length ) / 2;
- int ymarg = ( h - length ) / 2;
-
- p->drawLine( x + xmarg, ( y + h / 2 - 1 ),
- x + xmarg + length - 1, ( y + h / 2 - 1 ) );
- if ( pe == TQStyle::PE_SpinWidgetPlus )
- p->drawLine( ( x+w / 2 ) - 1, y + ymarg,
- ( x+w / 2 ) - 1, y + ymarg + length - 1 );
- p->restore();
- break; }
-
- case TQStyle::PE_SpinWidgetUp:
- case TQStyle::PE_SpinWidgetDown: {
- int fw = tqpixelMetric( PM_DefaultFrameWidth, 0 );
- TQRect br;
- br.setRect( r.x() + fw, r.y() + fw, r.width() - fw*2,
- r.height() - fw*2 );
- p->fillRect( br, cg.brush( TQColorGroup::Button ) );
- int x = r.x(), y = r.y(), w = r.width(), h = r.height();
- int sw = w-4;
- if ( sw < 3 )
- break;
- else if ( !(sw & 1) )
- sw--;
- sw -= ( sw / 7 ) * 2; // Empty border
- int sh = sw/2 + 2; // Must have empty row at foot of arrow
-
- int sx = x + w / 2 - sw / 2 - 1;
- int sy = y + h / 2 - sh / 2 - 1;
-
- TQPointArray a;
- if ( pe == TQStyle::PE_SpinWidgetDown )
- a.setPoints( 3, 0, 1, sw-1, 1, sh-2, sh-1 );
- else
- a.setPoints( 3, 0, sh-1, sw-1, sh-1, sh-2, 1 );
- int bsx = 0;
- int bsy = 0;
- if ( flags & Style_Sunken ) {
- bsx = tqpixelMetric(PM_ButtonShiftHorizontal);
- bsy = tqpixelMetric(PM_ButtonShiftVertical);
- }
- p->save();
- p->translate( sx + bsx, sy + bsy );
- p->setPen( cg.buttonText() );
- p->setBrush( cg.buttonText() );
- p->drawPolygon( a );
- p->restore();
- break; }
-
- case TQStyle::PE_Indicator: {
- if (flags & Style_NoChange) {
- p->setPen(cg.foreground());
- p->fillRect(r, cg.brush(TQColorGroup::Button));
- p->drawRect(r);
- p->drawLine(r.topLeft(), r.bottomRight());
- } else
- qDrawShadePanel(p, r.x(), r.y(), r.width(), r.height(),
- cg, flags & (Style_Sunken | Style_On), 1,
- &cg.brush(TQColorGroup::Button));
- break; }
-
- case TQStyle::PE_IndicatorMask: {
- p->fillRect(r, Qt::color1);
- break; }
-
- case TQStyle::PE_ExclusiveIndicator: {
- TQRect ir = r;
- p->setPen(cg.dark());
- p->drawArc(r, 0, 5760);
-
- if (flags & (Style_Sunken | Style_On)) {
- ir.addCoords(2, 2, -2, -2);
- p->setBrush(cg.foreground());
- p->drawEllipse(ir);
- }
-
- break; }
-
- case TQStyle::PE_ExclusiveIndicatorMask: {
- p->setPen(Qt::color1);
- p->setBrush(Qt::color1);
- p->drawEllipse(r);
- break; }
-
- case TQStyle::PE_DockWindowHandle: {
- bool highlight = flags & Style_On;
-
- p->save();
- p->translate( r.x(), r.y() );
- if ( flags & Style_Horizontal ) {
- int x = r.width() / 3;
- if ( r.height() > 4 ) {
- qDrawShadePanel( p, x, 2, 3, r.height() - 4,
- cg, highlight, 1, 0 );
- qDrawShadePanel( p, x+3, 2, 3, r.height() - 4,
- cg, highlight, 1, 0 );
- }
- } else {
- if ( r.width() > 4 ) {
- int y = r.height() / 3;
- qDrawShadePanel( p, 2, y, r.width() - 4, 3,
- cg, highlight, 1, 0 );
- qDrawShadePanel( p, 2, y+3, r.width() - 4, 3,
- cg, highlight, 1, 0 );
- }
- }
- p->restore();
- break;
- }
-
- case TQStyle::PE_DockWindowSeparator: {
- TQPoint p1, p2;
- if ( flags & Style_Horizontal ) {
- p1 = TQPoint( r.width()/2, 0 );
- p2 = TQPoint( p1.x(), r.height() );
- } else {
- p1 = TQPoint( 0, r.height()/2 );
- p2 = TQPoint( r.width(), p1.y() );
- }
- qDrawShadeLine( p, p1, p2, cg, 1, 1, 0 );
- break; }
-
- case TQStyle::PE_Panel:
- case TQStyle::PE_PanelPopup: {
- int lw = opt.isDefault() ? tqpixelMetric(PM_DefaultFrameWidth)
- : opt.lineWidth();
-
- qDrawShadePanel(p, r, cg, (flags & Style_Sunken), lw);
- break; }
-
- case TQStyle::PE_PanelDockWindow: {
- int lw = opt.isDefault() ? tqpixelMetric(PM_DockWindowFrameWidth)
- : opt.lineWidth();
-
- qDrawShadePanel(p, r, cg, FALSE, lw);
- break; }
-
- case TQStyle::PE_PanelMenuBar: {
- int lw = opt.isDefault() ? tqpixelMetric(PM_MenuBarFrameWidth)
- : opt.lineWidth();
-
- qDrawShadePanel(p, r, cg, FALSE, lw, &cg.brush(TQColorGroup::Button));
- break; }
-
- case TQStyle::PE_SizeGrip: {
- p->save();
-
- int x, y, w, h;
- r.rect(&x, &y, &w, &h);
-
- int sw = TQMIN( h,w );
- if ( h > w )
- p->translate( 0, h - w );
- else
- p->translate( w - h, 0 );
-
- int sx = x;
- int sy = y;
- int s = sw / 3;
-
- if ( TQApplication::reverseLayout() ) {
- sx = x + sw;
- for ( int i = 0; i < 4; ++i ) {
- p->setPen( TQPen( cg.light(), 1 ) );
- p->drawLine( x, sy - 1 , sx + 1, sw );
- p->setPen( TQPen( cg.dark(), 1 ) );
- p->drawLine( x, sy, sx, sw );
- p->setPen( TQPen( cg.dark(), 1 ) );
- p->drawLine( x, sy + 1, sx - 1, sw );
- sx -= s;
- sy += s;
- }
- } else {
- for ( int i = 0; i < 4; ++i ) {
- p->setPen( TQPen( cg.light(), 1 ) );
- p->drawLine( sx-1, sw, sw, sy-1 );
- p->setPen( TQPen( cg.dark(), 1 ) );
- p->drawLine( sx, sw, sw, sy );
- p->setPen( TQPen( cg.dark(), 1 ) );
- p->drawLine( sx+1, sw, sw, sy+1 );
- sx += s;
- sy += s;
- }
- }
-
- p->restore();
- break; }
-
- case TQStyle::PE_CheckMark: {
- const int markW = r.width() > 7 ? 7 : r.width();
- const int markH = markW;
- int posX = r.x() + ( r.width() - markW )/2 + 1;
- int posY = r.y() + ( r.height() - markH )/2;
-
- // Could do with some optimizing/caching...
- TQPointArray a( markH*2 );
- int i, xx, yy;
- xx = posX;
- yy = 3 + posY;
- for ( i=0; i<markW/2; i++ ) {
- a.setPoint( 2*i, xx, yy );
- a.setPoint( 2*i+1, xx, yy+2 );
- xx++; yy++;
- }
- yy -= 2;
- for ( ; i<markH; i++ ) {
- a.setPoint( 2*i, xx, yy );
- a.setPoint( 2*i+1, xx, yy+2 );
- xx++; yy--;
- }
- if ( !(flags & Style_Enabled) && !(flags & Style_On)) {
- int pnt;
- p->setPen( cg.highlightedText() );
- TQPoint offset(1,1);
- for ( pnt = 0; pnt < (int)a.size(); pnt++ )
- a[pnt] += offset;
- p->drawLineSegments( a );
- for ( pnt = 0; pnt < (int)a.size(); pnt++ )
- a[pnt] -= offset;
- }
- p->setPen( cg.text() );
- p->drawLineSegments( a );
- break; }
-
- case TQStyle::PE_PanelGroupBox: //We really do not need TQStyle::PE_GroupBoxFrame anymore, nasty holdover ###
- tqdrawPrimitive( TQStyle::PE_GroupBoxFrame, p, r, cg, flags, opt );
- break;
- case TQStyle::PE_GroupBoxFrame: {
-#ifndef TQT_NO_FRAME
- if ( opt.isDefault() )
- break;
- int lwidth = opt.lineWidth(), mlwidth = opt.midLineWidth();
- if ( flags & (Style_Sunken|Style_Raised))
- qDrawShadeRect( p, r.x(), r.y(), r.width(), r.height(), cg, flags & Style_Sunken, lwidth, mlwidth );
- else
- qDrawPlainRect( p, r.x(), r.y(), r.width(), r.height(), cg.foreground(), lwidth );
-#endif
- break; }
-
- case TQStyle::PE_ProgressBarChunk:
- p->fillRect( r.x(), r.y() + 3, r.width() -2, r.height() - 6,
- cg.brush(TQColorGroup::Highlight));
- break;
-
- case TQStyle::PE_PanelLineEdit:
- case TQStyle::PE_PanelTabWidget:
- case TQStyle::PE_WindowFrame:
- tqdrawPrimitive( TQStyle::PE_Panel, p, r, cg, flags, opt );
- break;
-
- case TQStyle::PE_RubberBand:
- tqdrawPrimitive(TQStyle::PE_FocusRect, p, r, cg, flags, opt);
- break;
- default:
- break;
- }
-
- activePainter = 0;
-}
-
-/*! \reimp */
-void TQCommonStyle::tqdrawControl( TQ_ControlElement element,
- TQPainter *p,
- const TQWidget *widget,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags flags,
- const TQStyleOption& opt ) const
-{
-#if defined(TQT_CHECK_STATE)
- if (! widget) {
- qWarning("TQCommonStyle::tqdrawControl: widget parameter cannot be zero!");
- return;
- }
-#endif
-
- activePainter = p;
-
- switch (element) {
- case CE_MenuBarEmptyArea: {
- TQRegion reg;
- if(p->hasClipping()) //ick
- reg = p->clipRegion();
- else
- reg = r;
- ((TQWidget *)widget)->erase( reg );
- break; }
- case CE_PushButton:
- {
-#ifndef TQT_NO_PUSHBUTTON
- const TQPushButton *button = (const TQPushButton *) widget;
- TQRect br = r;
- int dbi = tqpixelMetric(PM_ButtonDefaultIndicator, widget);
-
- if (button->isDefault() || button->autoDefault()) {
- if ( button->isDefault())
- tqdrawPrimitive(TQStyle::PE_ButtonDefault, p, br, cg, flags);
-
- br.setCoords(br.left() + dbi,
- br.top() + dbi,
- br.right() - dbi,
- br.bottom() - dbi);
- }
-
- p->save();
- p->setBrushOrigin( -widget->backgroundOffset().x(),
- -widget->backgroundOffset().y() );
- tqdrawPrimitive(TQStyle::PE_ButtonCommand, p, br, cg, flags);
- p->restore();
-#endif
- break;
- }
-
- case CE_PushButtonLabel:
- {
-#ifndef TQT_NO_PUSHBUTTON
- const TQPushButton *button = (const TQPushButton *) widget;
- TQRect ir = r;
-
- if (button->isDown() || button->isOn()) {
- flags |= Style_Sunken;
- ir.moveBy(tqpixelMetric(PM_ButtonShiftHorizontal, widget),
- tqpixelMetric(PM_ButtonShiftVertical, widget));
- }
-
- if (button->isMenuButton()) {
- int mbi = tqpixelMetric(PM_MenuButtonIndicator, widget);
- TQRect ar(ir.right() - mbi, ir.y() + 2, mbi - 4, ir.height() - 4);
- tqdrawPrimitive(TQStyle::PE_ArrowDown, p, ar, cg, flags, opt);
- ir.setWidth(ir.width() - mbi);
- }
-
- int tf=TQt::AlignVCenter | TQt::ShowPrefix;
- if (!tqstyleHint(SH_UnderlineAccelerator, widget, TQStyleOption::Default, 0))
- tf |= TQt::NoAccel;
-
-#ifndef TQT_NO_ICONSET
- if ( button->iconSet() && ! button->iconSet()->isNull() ) {
- TQIconSet::Mode mode =
- button->isEnabled() ? TQIconSet::Normal : TQIconSet::Disabled;
- if ( mode == TQIconSet::Normal && button->hasFocus() )
- mode = TQIconSet::Active;
-
- TQIconSet::State state = TQIconSet::Off;
- if ( button->isToggleButton() && button->isOn() )
- state = TQIconSet::On;
-
- TQPixmap pixmap = button->iconSet()->pixmap( TQIconSet::Small, mode, state );
- int pixw = pixmap.width();
- int pixh = pixmap.height();
-
- //Center the icon if there is neither text nor pixmap
- if ( button->text().isEmpty() && !button->pixmap() )
- p->drawPixmap( ir.x() + ir.width() / 2 - pixw / 2, ir.y() + ir.height() / 2 - pixh / 2, pixmap );
- else
- p->drawPixmap( ir.x() + 2, ir.y() + ir.height() / 2 - pixh / 2, pixmap );
-
- ir.moveBy(pixw + 4, 0);
- ir.setWidth(ir.width() - (pixw + 4));
- // left-align text if there is
- if (!button->text().isEmpty())
- tf |= TQt::AlignLeft;
- else if (button->pixmap())
- tf |= TQt::AlignHCenter;
- } else
-#endif //TQT_NO_ICONSET
- tf |= TQt::AlignHCenter;
- drawItem(p, ir, tf, cg,
- flags & Style_Enabled, button->pixmap(), button->text(),
- button->text().length(), TQT_TQCOLOR_CONST(&(cg.buttonText())) );
-
- if (flags & Style_HasFocus)
- tqdrawPrimitive(TQStyle::PE_FocusRect, p, subRect(SR_PushButtonFocusRect, widget),
- cg, flags);
-#endif
- break;
- }
-
- case CE_CheckBox:
- tqdrawPrimitive(TQStyle::PE_Indicator, p, r, cg, flags, opt);
- break;
-
- case CE_CheckBoxLabel:
- {
-#ifndef TQT_NO_CHECKBOX
- const TQCheckBox *checkbox = (const TQCheckBox *) widget;
-
- int tqalignment = TQApplication::reverseLayout() ? TQt::AlignRight : TQt::AlignLeft;
- if (!tqstyleHint(SH_UnderlineAccelerator, widget, TQStyleOption::Default, 0))
- tqalignment |= TQt::NoAccel;
-
- drawItem(p, r, tqalignment | TQt::AlignVCenter | TQt::ShowPrefix, cg,
- flags & Style_Enabled, checkbox->pixmap(), checkbox->text());
-
- if (flags & Style_HasFocus) {
- TQRect fr = tqvisualRect(subRect(SR_CheckBoxFocusRect, widget), widget);
- tqdrawPrimitive(TQStyle::PE_FocusRect, p, fr, cg, flags);
- }
-#endif
- break;
- }
-
- case CE_RadioButton:
- tqdrawPrimitive(TQStyle::PE_ExclusiveIndicator, p, r, cg, flags, opt);
- break;
-
- case CE_RadioButtonLabel:
- {
-#ifndef TQT_NO_RADIOBUTTON
- const TQRadioButton *radiobutton = (const TQRadioButton *) widget;
-
- int tqalignment = TQApplication::reverseLayout() ? TQt::AlignRight : TQt::AlignLeft;
- if (!tqstyleHint(SH_UnderlineAccelerator, widget, TQStyleOption::Default, 0))
- tqalignment |= TQt::NoAccel;
- drawItem(p, r, tqalignment | TQt::AlignVCenter | TQt::ShowPrefix, cg,
- flags & Style_Enabled, radiobutton->pixmap(), radiobutton->text());
-
- if (flags & Style_HasFocus) {
- TQRect fr = tqvisualRect(subRect(SR_RadioButtonFocusRect, widget), widget);
- tqdrawPrimitive(TQStyle::PE_FocusRect, p, fr, cg, flags);
- }
-#endif
- break;
- }
-
-#ifndef TQT_NO_TABBAR
- case CE_TabBarTab:
- {
- const TQTabBar * tb = (const TQTabBar *) widget;
-
- if ( tb->tqshape() == TQTabBar::TriangularAbove ||
- tb->tqshape() == TQTabBar::TriangularBelow ) {
- // triangular, above or below
- int y;
- int x;
- TQPointArray a( 10 );
- a.setPoint( 0, 0, -1 );
- a.setPoint( 1, 0, 0 );
- y = r.height()-2;
- x = y/3;
- a.setPoint( 2, x++, y-1 );
- a.setPoint( 3, x++, y );
- a.setPoint( 3, x++, y++ );
- a.setPoint( 4, x, y );
-
- int i;
- int right = r.width() - 1;
- for ( i = 0; i < 5; i++ )
- a.setPoint( 9-i, right - a.point( i ).x(), a.point( i ).y() );
-
- if ( tb->tqshape() == TQTabBar::TriangularAbove )
- for ( i = 0; i < 10; i++ )
- a.setPoint( i, a.point(i).x(),
- r.height() - 1 - a.point( i ).y() );
-
- a.translate( r.left(), r.top() );
-
- if ( flags & Style_Selected )
- p->setBrush( cg.base() );
- else
- p->setBrush( cg.background() );
- p->setPen( cg.foreground() );
- p->drawPolygon( a );
- p->setBrush( TQt::NoBrush );
- }
- break;
- }
-
- case CE_TabBarLabel:
- {
- if ( opt.isDefault() )
- break;
-
- const TQTabBar * tb = (const TQTabBar *) widget;
- TQTab * t = opt.tab();
-
- TQRect tr = r;
- if ( t->identifier() == tb->currentTab() )
- tr.setBottom( tr.bottom() -
- tqpixelMetric( TQStyle::PM_DefaultFrameWidth, tb ) );
-
- int tqalignment = TQt::AlignCenter | TQt::ShowPrefix;
- if (!tqstyleHint(SH_UnderlineAccelerator, widget, TQStyleOption::Default, 0))
- tqalignment |= TQt::NoAccel;
- drawItem( p, tr, tqalignment, cg,
- flags & Style_Enabled, 0, t->text() );
-
- if ( (flags & Style_HasFocus) && !t->text().isEmpty() )
- tqdrawPrimitive( TQStyle::PE_FocusRect, p, r, cg );
- break;
- }
-#endif // TQT_NO_TABBAR
-#ifndef TQT_NO_TOOLBOX
- case CE_ToolBoxTab:
- {
- int d = 20 + r.height() - 3;
- TQPointArray a( 7 );
- a.setPoint( 0, -1, r.height() + 1 );
- a.setPoint( 1, -1, 1 );
- a.setPoint( 2, r.width() - d, 1 );
- a.setPoint( 3, r.width() - 20, r.height() - 2 );
- a.setPoint( 4, r.width() - 1, r.height() - 2 );
- a.setPoint( 5, r.width() - 1, r.height() + 1 );
- a.setPoint( 6, -1, r.height() + 1 );
-
- const TQToolBox *tb = (const TQToolBox*)widget;
-
- if ( flags & Style_Selected && tb->currentItem() )
- p->setBrush( tb->currentItem()->paletteBackgroundColor() );
- else
- p->setBrush( cg.brush(TQColorGroup::Background) );
-
- p->setPen( cg.mid().dark( 150 ) );
- p->drawPolygon( a );
- p->setPen( cg.light() );
- p->drawLine( 0, 2, r.width() - d, 2 );
- p->drawLine( r.width() - d - 1, 2, r.width() - 21, r.height() - 1 );
- p->drawLine( r.width() - 20, r.height() - 1, r.width(), r.height() - 1 );
- p->setBrush( TQt::NoBrush );
- break;
- }
-#endif // TQT_NO_TOOLBOX
- case CE_ProgressBarGroove:
- qDrawShadePanel(p, r, cg, TRUE, 1, &cg.brush(TQColorGroup::Background));
- break;
-
-#ifndef TQT_NO_PROGRESSBAR
- case CE_ProgressBarContents:
- {
- const TQProgressBar *progressbar = (const TQProgressBar *) widget;
- // Correct the highlight color if same as background,
- // or else we cannot see the progress...
- TQColorGroup cgh = cg;
- if ( cgh.highlight() == cgh.background() )
- cgh.setColor( TQColorGroup::Highlight, progressbar->tqpalette().active().highlight() );
- bool reverse = TQApplication::reverseLayout();
- int fw = 2;
- int w = r.width() - 2*fw;
- if ( !progressbar->totalSteps() ) {
- // draw busy indicator
- int x = progressbar->progress() % (w * 2);
- if (x > w)
- x = 2 * w - x;
- x = reverse ? r.right() - x : x + r.x();
- p->setPen( TQPen(cgh.highlight(), 4) );
- p->drawLine(x, r.y() + 1, x, r.height() - fw);
- } else {
- const int unit_width = tqpixelMetric(PM_ProgressBarChunkWidth, widget);
- int u;
- if ( unit_width > 1 )
- u = (r.width()+unit_width/3) / unit_width;
- else
- u = w / unit_width;
- int p_v = progressbar->progress();
- int t_s = progressbar->totalSteps() ? progressbar->totalSteps() : 1;
-
- if ( u > 0 && p_v >= INT_MAX / u && t_s >= u ) {
- // scale down to something usable.
- p_v /= u;
- t_s /= u;
- }
-
- // nu < tnu, if last chunk is only a partial chunk
- int tnu, nu;
- tnu = nu = p_v * u / t_s;
-
- if (nu * unit_width > w)
- nu--;
-
- // Draw nu units out of a possible u of unit_width
- // width, each a rectangle bordered by background
- // color, all in a sunken panel with a percentage text
- // display at the end.
- int x = 0;
- int x0 = reverse ? r.right() - ((unit_width > 1) ?
- unit_width : fw) : r.x() + fw;
- for (int i=0; i<nu; i++) {
- tqdrawPrimitive( TQStyle::PE_ProgressBarChunk, p,
- TQRect( x0+x, r.y(), unit_width, r.height() ),
- cgh, Style_Default, opt );
- x += reverse ? -unit_width: unit_width;
- }
-
- // Draw the last partial chunk to fill up the
- // progressbar entirely
- if (nu < tnu) {
- int pixels_left = w - (nu*unit_width);
- int offset = reverse ? x0+x+unit_width-pixels_left : x0+x;
- tqdrawPrimitive( TQStyle::PE_ProgressBarChunk, p,
- TQRect( offset, r.y(), pixels_left,
- r.height() ), cgh, Style_Default,
- opt );
- }
- }
- }
- break;
-
- case CE_ProgressBarLabel:
- {
- const TQProgressBar *progressbar = (const TQProgressBar *) widget;
- TQColor penColor = cg.highlightedText();
- TQColor *pcolor = 0;
- if ( progressbar->centerIndicator() && !progressbar->indicatorFollowsStyle() &&
- progressbar->progress()*2 >= progressbar->totalSteps() )
- pcolor = &penColor;
- drawItem(p, r, TQt::AlignCenter | TQt::SingleLine, cg, flags & Style_Enabled, 0,
- progressbar->progressString(), -1, pcolor );
- }
- break;
-#endif // TQT_NO_PROGRESSBAR
-
- case CE_MenuBarItem:
- {
-#ifndef TQT_NO_MENUDATA
- if (opt.isDefault())
- break;
-
- TQMenuItem *mi = opt.menuItem();
- int tqalignment = TQt::AlignCenter|TQt::ShowPrefix|TQt::DontClip|TQt::SingleLine;
- if (!tqstyleHint(SH_UnderlineAccelerator, widget, TQStyleOption::Default, 0))
- tqalignment |= TQt::NoAccel;
- drawItem( p, r, tqalignment, cg,
- flags & Style_Enabled, mi->pixmap(), mi->text(), -1,
- TQT_TQCOLOR_CONST(&cg.buttonText()) );
-#endif
- break;
- }
-
-#ifndef TQT_NO_TOOLBUTTON
- case CE_ToolButtonLabel:
- {
- const TQToolButton *toolbutton = (const TQToolButton *) widget;
- TQRect rect = r;
- TQt::ArrowType arrowType = opt.isDefault()
- ? TQt::DownArrow : opt.arrowType();
-
- int shiftX = 0;
- int shiftY = 0;
- if (flags & (Style_Down | Style_On)) {
- shiftX = tqpixelMetric(PM_ButtonShiftHorizontal, widget);
- shiftY = tqpixelMetric(PM_ButtonShiftVertical, widget);
- }
-
- if (!opt.isDefault()) {
- PrimitiveElement pe;
- switch (arrowType) {
- case TQt::LeftArrow: pe = TQStyle::PE_ArrowLeft; break;
- case TQt::RightArrow: pe = TQStyle::PE_ArrowRight; break;
- case TQt::UpArrow: pe = TQStyle::PE_ArrowUp; break;
- default:
- case TQt::DownArrow: pe = TQStyle::PE_ArrowDown; break;
- }
-
- rect.moveBy(shiftX, shiftY);
- tqdrawPrimitive(pe, p, rect, cg, flags, opt);
- } else {
- TQColor btext = toolbutton->paletteForegroundColor();
-
- if (toolbutton->iconSet().isNull() &&
- ! toolbutton->text().isNull() &&
- ! toolbutton->usesTextLabel()) {
- int tqalignment = TQt::AlignCenter | TQt::ShowPrefix;
- if (!tqstyleHint(SH_UnderlineAccelerator, widget, TQStyleOption::Default, 0))
- tqalignment |= TQt::NoAccel;
-
- rect.moveBy(shiftX, shiftY);
- drawItem(p, rect, tqalignment, cg,
- flags & Style_Enabled, 0, toolbutton->text(),
- toolbutton->text().length(), &btext);
- } else {
- TQPixmap pm;
- TQIconSet::Size size =
- toolbutton->usesBigPixmap() ? TQIconSet::Large : TQIconSet::Small;
- TQIconSet::State state =
- toolbutton->isOn() ? TQIconSet::On : TQIconSet::Off;
- TQIconSet::Mode mode;
- if (! toolbutton->isEnabled())
- mode = TQIconSet::Disabled;
- else if ((flags & (Style_Down | Style_On)) ||
- ((flags & Style_Raised) && (flags & Style_AutoRaise)))
- mode = TQIconSet::Active;
- else
- mode = TQIconSet::Normal;
- pm = toolbutton->iconSet().pixmap( size, mode, state );
-
- if ( toolbutton->usesTextLabel() ) {
- p->setFont( toolbutton->font() );
- TQRect pr = rect, tr = rect;
- int tqalignment = TQt::ShowPrefix;
- if (!tqstyleHint(SH_UnderlineAccelerator, widget, TQStyleOption::Default, 0))
- tqalignment |= TQt::NoAccel;
-
- if ( toolbutton->textPosition() == TQToolButton::Under ) {
- int fh = p->fontMetrics().height();
- pr.addCoords( 0, 1, 0, -fh-3 );
- tr.addCoords( 0, pr.bottom(), 0, -3 );
- pr.moveBy(shiftX, shiftY);
- drawItem( p, pr, TQt::AlignCenter, cg, TRUE, &pm, TQString::null );
- tqalignment |= TQt::AlignCenter;
- } else {
- pr.setWidth( pm.width() + 8 );
- tr.addCoords( pr.right(), 0, 0, 0 );
- pr.moveBy(shiftX, shiftY);
-
- drawItem( p, pr, TQt::AlignCenter, cg, TRUE, &pm, TQString::null );
- tqalignment |= TQt::AlignLeft | TQt::AlignVCenter;
- }
-
- tr.moveBy(shiftX, shiftY);
- drawItem( p, tr, tqalignment, cg,
- flags & Style_Enabled, 0, toolbutton->textLabel(),
- toolbutton->textLabel().length(), &btext);
- } else {
- rect.moveBy(shiftX, shiftY);
- drawItem( p, rect, TQt::AlignCenter, cg, TRUE, &pm, TQString::null );
- }
- }
- }
-
- break;
- }
-#endif // TQT_NO_TOOLBUTTON
-#ifndef TQT_NO_HEADER
- case CE_HeaderLabel:
- {
- TQRect rect = r;
- const TQHeader* header = (const TQHeader *) widget;
- int section = opt.headerSection();
-
- TQIconSet* icon = header->iconSet( section );
- if ( icon ) {
- TQPixmap pixmap = icon->pixmap( TQIconSet::Small,
- flags & Style_Enabled ?
- TQIconSet::Normal : TQIconSet::Disabled );
- int pixw = pixmap.width();
- int pixh = pixmap.height();
- // "pixh - 1" because of tricky integer division
-
- TQRect pixRect = rect;
- pixRect.setY( rect.center().y() - (pixh - 1) / 2 );
- drawItem ( p, pixRect, TQt::AlignVCenter, cg, flags & Style_Enabled,
- &pixmap, TQString::null );
- if (TQApplication::reverseLayout())
- rect.setRight(rect.right() - pixw - 2);
- else
- rect.setLeft(rect.left() + pixw + 2);
- }
-
- if (rect.isValid())
- drawItem ( p, rect, TQt::AlignVCenter, cg, flags & Style_Enabled,
- 0, header->label( section ), -1, TQT_TQCOLOR_CONST(&(cg.buttonText())) );
- }
-#endif // TQT_NO_HEADER
- default:
- break;
- }
-
- activePainter = 0;
-}
-
-/*! \reimp */
-void TQCommonStyle::tqdrawControlMask( TQ_ControlElement control,
- TQPainter *p,
- const TQWidget *widget,
- const TQRect &r,
- const TQStyleOption& opt ) const
-{
- TQ_UNUSED(widget);
-
- activePainter = p;
-
- TQColorGroup cg(Qt::color1,Qt::color1,Qt::color1,Qt::color1,Qt::color1,Qt::color1,Qt::color1,Qt::color1,Qt::color0);
-
- switch (control) {
- case CE_PushButton:
- tqdrawPrimitive(TQStyle::PE_ButtonCommand, p, r, cg, Style_Default, opt);
- break;
-
- case CE_CheckBox:
- tqdrawPrimitive(TQStyle::PE_IndicatorMask, p, r, cg, Style_Default, opt);
- break;
-
- case CE_RadioButton:
- tqdrawPrimitive(TQStyle::PE_ExclusiveIndicatorMask, p, r, cg, Style_Default, opt);
- break;
-
- default:
- p->fillRect(r, Qt::color1);
- break;
- }
-
- activePainter = 0;
-}
-
-/*! \reimp */
-TQRect TQCommonStyle::subRect(SubRect r, const TQWidget *widget) const
-{
-#if defined(TQT_CHECK_STATE)
- if (! widget) {
- qWarning("TQCommonStyle::subRect: widget parameter cannot be zero!");
- return TQRect();
- }
-#endif
-
- TQRect rect, wrect(widget->rect());
-
- switch (r) {
-#ifndef TQT_NO_DIALOGBUTTONS
- case SR_DialogButtonAbort:
- case SR_DialogButtonRetry:
- case SR_DialogButtonIgnore:
- case SR_DialogButtonAccept:
- case SR_DialogButtonReject:
- case SR_DialogButtonApply:
- case SR_DialogButtonHelp:
- case SR_DialogButtonAll:
- case SR_DialogButtonCustom: {
- TQDialogButtons::Button srch = TQDialogButtons::None;
- if(r == SR_DialogButtonAccept)
- srch = TQDialogButtons::Accept;
- else if(r == SR_DialogButtonReject)
- srch = TQDialogButtons::Reject;
- else if(r == SR_DialogButtonAll)
- srch = TQDialogButtons::All;
- else if(r == SR_DialogButtonApply)
- srch = TQDialogButtons::Apply;
- else if(r == SR_DialogButtonHelp)
- srch = TQDialogButtons::Help;
- else if(r == SR_DialogButtonRetry)
- srch = TQDialogButtons::Retry;
- else if(r == SR_DialogButtonIgnore)
- srch = TQDialogButtons::Ignore;
- else if(r == SR_DialogButtonAbort)
- srch = TQDialogButtons::Abort;
-
- const int bwidth = tqpixelMetric(PM_DialogButtonsButtonWidth, widget),
- bheight = tqpixelMetric(PM_DialogButtonsButtonHeight, widget),
- bspace = tqpixelMetric(PM_DialogButtonsSeparator, widget),
- fw = tqpixelMetric(PM_DefaultFrameWidth, widget);
- const TQDialogButtons *dbtns = (const TQDialogButtons *) widget;
- int start = fw;
- if(dbtns->orientation() == Qt::Horizontal)
- start = wrect.right() - fw;
- TQDialogButtons::Button btns[] = { TQDialogButtons::All, TQDialogButtons::Reject, TQDialogButtons::Accept, //reverse order (right to left)
- TQDialogButtons::Apply, TQDialogButtons::Retry, TQDialogButtons::Ignore, TQDialogButtons::Abort,
- TQDialogButtons::Help };
- for(unsigned int i = 0, cnt = 0; i < (sizeof(btns)/sizeof(btns[0])); i++) {
- if(dbtns->isButtonVisible(btns[i])) {
- TQSize szH = dbtns->tqsizeHint(btns[i]);
- int mwidth = TQMAX(bwidth, szH.width()), mheight = TQMAX(bheight, szH.height());
- if(dbtns->orientation() == Qt::Horizontal) {
- start -= mwidth;
- if(cnt)
- start -= bspace;
- } else if(cnt) {
- start += mheight;
- start += bspace;
- }
- cnt++;
- if(btns[i] == srch) {
- if(dbtns->orientation() == Qt::Horizontal)
- return TQRect(start, wrect.bottom() - fw - mheight, mwidth, mheight);
- else
- return TQRect(fw, start, mwidth, mheight);
- }
- }
- }
- if(r == SR_DialogButtonCustom) {
- if(dbtns->orientation() == Qt::Horizontal)
- return TQRect(fw, fw, start - fw - bspace, wrect.height() - (fw*2));
- else
- return TQRect(fw, start, wrect.width() - (fw*2), wrect.height() - start - (fw*2));
- }
- return TQRect(); }
-#endif //TQT_NO_DIALOGBUTTONS
- case SR_PushButtonContents:
- {
-#ifndef TQT_NO_PUSHBUTTON
- const TQPushButton *button = (const TQPushButton *) widget;
- int dx1, dx2;
-
- dx1 = tqpixelMetric(PM_DefaultFrameWidth, widget);
- if (button->isDefault() || button->autoDefault())
- dx1 += tqpixelMetric(PM_ButtonDefaultIndicator, widget);
- dx2 = dx1 * 2;
-
- rect.setRect(wrect.x() + dx1,
- wrect.y() + dx1,
- wrect.width() - dx2,
- wrect.height() - dx2);
-#endif
- break;
- }
-
- case SR_PushButtonFocusRect:
- {
-#ifndef TQT_NO_PUSHBUTTON
- const TQPushButton *button = (const TQPushButton *) widget;
- int dbw1 = 0, dbw2 = 0;
- if (button->isDefault() || button->autoDefault()) {
- dbw1 = tqpixelMetric(PM_ButtonDefaultIndicator, widget);
- dbw2 = dbw1 * 2;
- }
-
- int dfw1 = tqpixelMetric(PM_DefaultFrameWidth, widget) * 2,
- dfw2 = dfw1 * 2;
-
- rect.setRect(wrect.x() + dfw1 + dbw1,
- wrect.y() + dfw1 + dbw1,
- wrect.width() - dfw2 - dbw2,
- wrect.height() - dfw2 - dbw2);
-#endif
- break;
- }
-
- case SR_CheckBoxIndicator:
- {
- int h = tqpixelMetric( PM_IndicatorHeight, widget );
- rect.setRect(0, ( wrect.height() - h ) / 2,
- tqpixelMetric( PM_IndicatorWidth, widget ), h );
- break;
- }
-
- case SR_CheckBoxContents:
- {
-#ifndef TQT_NO_CHECKBOX
- TQRect ir = subRect(SR_CheckBoxIndicator, widget);
- rect.setRect(ir.right() + 6, wrect.y(),
- wrect.width() - ir.width() - 6, wrect.height());
-#endif
- break;
- }
-
- case SR_CheckBoxFocusRect:
- {
-#ifndef TQT_NO_CHECKBOX
- const TQCheckBox *checkbox = (const TQCheckBox *) widget;
- if ( !checkbox->pixmap() && checkbox->text().isEmpty() ) {
- rect = subRect( SR_CheckBoxIndicator, widget );
- rect.addCoords( 1, 1, -1, -1 );
- break;
- }
- TQRect cr = subRect(SR_CheckBoxContents, widget);
-
- // don't create a painter if we have an active one
- TQPainter *p = 0;
- if (! activePainter)
- p = new TQPainter(checkbox);
- rect = tqitemRect((activePainter ? activePainter : p),
- cr, TQt::AlignLeft | TQt::AlignVCenter | TQt::ShowPrefix,
- checkbox->isEnabled(),
- checkbox->pixmap(),
- checkbox->text());
-
- delete p;
-
- rect.addCoords( -3, -2, 3, 2 );
- rect = rect.intersect(wrect);
-#endif
- break;
- }
-
- case SR_RadioButtonIndicator:
- {
- int h = tqpixelMetric( PM_ExclusiveIndicatorHeight, widget );
- rect.setRect(0, ( wrect.height() - h ) / 2,
- tqpixelMetric( PM_ExclusiveIndicatorWidth, widget ), h );
- break;
- }
-
- case SR_RadioButtonContents:
- {
- TQRect ir = subRect(SR_RadioButtonIndicator, widget);
- rect.setRect(ir.right() + 6, wrect.y(),
- wrect.width() - ir.width() - 6, wrect.height());
- break;
- }
-
- case SR_RadioButtonFocusRect:
- {
-#ifndef TQT_NO_RADIOBUTTON
- const TQRadioButton *radiobutton = (const TQRadioButton *) widget;
- if ( !radiobutton->pixmap() && radiobutton->text().isEmpty() ) {
- rect = subRect( SR_RadioButtonIndicator, widget );
- rect.addCoords( 1, 1, -1, -1 );
- break;
- }
- TQRect cr = subRect(SR_RadioButtonContents, widget);
-
- // don't create a painter if we have an active one
- TQPainter *p = 0;
- if (! activePainter)
- p = new TQPainter(radiobutton);
- rect = tqitemRect((activePainter ? activePainter : p),
- cr, TQt::AlignLeft | TQt::AlignVCenter | TQt::ShowPrefix,
- radiobutton->isEnabled(),
- radiobutton->pixmap(),
- radiobutton->text());
- delete p;
-
- rect.addCoords( -3, -2, 3, 2 );
- rect = rect.intersect(wrect);
-#endif
- break;
- }
-
- case SR_ComboBoxFocusRect:
- rect.setRect(3, 3, widget->width()-6-16, widget->height()-6);
- break;
-
-#ifndef TQT_NO_SLIDER
- case SR_SliderFocusRect:
- {
- const TQSlider * sl = (const TQSlider *) widget;
- int tickOffset = tqpixelMetric( PM_SliderTickmarkOffset, sl );
- int thickness = tqpixelMetric( PM_SliderControlThickness, sl );
-
- if ( sl->orientation() == Qt::Horizontal )
- rect.setRect( 0, tickOffset-1, sl->width(), thickness+2 );
- else
- rect.setRect( tickOffset-1, 0, thickness+2, sl->height() );
- rect = rect.intersect( sl->rect() ); // ## is this really necessary?
- break;
- }
-#endif // TQT_NO_SLIDER
-
-#ifndef TQT_NO_MAINWINDOW
- case SR_DockWindowHandleRect:
- {
- if (! widget->parentWidget())
- break;
-
- const TQDockWindow * dw = (const TQDockWindow *) widget->parentWidget();
-
- if ( !dw->area() || !dw->isCloseEnabled() )
- rect.setRect( 0, 0, widget->width(), widget->height() );
- else {
- if ( dw->area()->orientation() == Qt::Horizontal )
- rect.setRect(0, 15, widget->width(), widget->height() - 15);
- else
- rect.setRect(0, 1, widget->width() - 15, widget->height() - 1);
- }
- break;
- }
-#endif // TQT_NO_MAINWINDOW
-
- case SR_ProgressBarGroove:
- case SR_ProgressBarContents:
- {
-#ifndef TQT_NO_PROGRESSBAR
- TQFontMetrics fm( ( widget ? widget->fontMetrics() :
- TQApplication::fontMetrics() ) );
- const TQProgressBar *progressbar = (const TQProgressBar *) widget;
- int textw = 0;
- if (progressbar->percentageVisible())
- textw = fm.width("100%") + 6;
-
- if (progressbar->indicatorFollowsStyle() ||
- ! progressbar->centerIndicator())
- rect.setCoords(wrect.left(), wrect.top(),
- wrect.right() - textw, wrect.bottom());
- else
- rect = wrect;
-#endif
- break;
- }
-
- case SR_ProgressBarLabel:
- {
-#ifndef TQT_NO_PROGRESSBAR
- TQFontMetrics fm( ( widget ? widget->fontMetrics() :
- TQApplication::fontMetrics() ) );
- const TQProgressBar *progressbar = (const TQProgressBar *) widget;
- int textw = 0;
- if (progressbar->percentageVisible())
- textw = fm.width("100%") + 6;
-
- if (progressbar->indicatorFollowsStyle() ||
- ! progressbar->centerIndicator())
- rect.setCoords(wrect.right() - textw, wrect.top(),
- wrect.right(), wrect.bottom());
- else
- rect = wrect;
-#endif
- break;
- }
-
- case SR_ToolButtonContents:
- rect = querySubControlMetrics(CC_ToolButton, widget, SC_ToolButton);
- break;
-
- case SR_ToolBoxTabContents:
- rect = wrect;
- rect.addCoords( 0, 0, -30, 0 );
- break;
-
- default:
- rect = wrect;
- break;
- }
-
- return rect;
-}
-
-#ifndef TQT_NO_RANGECONTROL
-/*
- I really need this and I don't want to expose it in TQRangeControl..
-*/
-static int qPositionFromValue( const TQRangeControl * rc, int logical_val,
- int span )
-{
- if ( span <= 0 || logical_val < rc->minValue() ||
- rc->maxValue() <= rc->minValue() )
- return 0;
- if ( logical_val > rc->maxValue() )
- return span;
-
- uint range = rc->maxValue() - rc->minValue();
- uint p = logical_val - rc->minValue();
-
- if ( range > (uint)INT_MAX/4096 ) {
- const int scale = 4096*2;
- return ( (p/scale) * span ) / (range/scale);
- // ### the above line is probably not 100% correct
- // ### but fixing it isn't worth the extreme pain...
- } else if ( range > (uint)span ) {
- return (2*p*span + range) / (2*range);
- } else {
- uint div = span / range;
- uint mod = span % range;
- return p*div + (2*p*mod + range) / (2*range);
- }
- //equiv. to (p*span)/range + 0.5
- // no overflow because of this implicit assumption:
- // span <= 4096
-}
-#endif // TQT_NO_RANGECONTROL
-
-/*! \reimp */
-void TQCommonStyle::tqdrawComplexControl( TQ_ComplexControl control,
- TQPainter *p,
- const TQWidget *widget,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags flags,
- SCFlags controls,
- SCFlags active,
- const TQStyleOption& opt ) const
-{
-#if defined(TQT_CHECK_STATE)
- if (! widget) {
- qWarning("TQCommonStyle::tqdrawComplexControl: widget parameter cannot be zero!");
- return;
- }
-#endif
-
- activePainter = p;
-
- switch (control) {
-#ifndef TQT_NO_SCROLLBAR
- case CC_ScrollBar:
- {
- const TQScrollBar *scrollbar = (const TQScrollBar *) widget;
- TQRect addline, subline, addpage, subpage, slider, first, last;
- bool maxedOut = (scrollbar->minValue() == scrollbar->maxValue());
-
- subline = querySubControlMetrics(control, widget, SC_ScrollBarSubLine, opt);
- addline = querySubControlMetrics(control, widget, SC_ScrollBarAddLine, opt);
- subpage = querySubControlMetrics(control, widget, SC_ScrollBarSubPage, opt);
- addpage = querySubControlMetrics(control, widget, SC_ScrollBarAddPage, opt);
- slider = querySubControlMetrics(control, widget, SC_ScrollBarSlider, opt);
- first = querySubControlMetrics(control, widget, SC_ScrollBarFirst, opt);
- last = querySubControlMetrics(control, widget, SC_ScrollBarLast, opt);
-
- if ((controls & SC_ScrollBarSubLine) && subline.isValid())
- tqdrawPrimitive(TQStyle::PE_ScrollBarSubLine, p, subline, cg,
- (SFlags)(((maxedOut) ? Style_Default : Style_Enabled) |
- ((active == SC_ScrollBarSubLine) ?
- Style_Down : Style_Default) |
- ((scrollbar->orientation() == Qt::Horizontal) ?
- Style_Horizontal : 0)));
- if ((controls & SC_ScrollBarAddLine) && addline.isValid())
- tqdrawPrimitive(TQStyle::PE_ScrollBarAddLine, p, addline, cg,
- (SFlags)(((maxedOut) ? Style_Default : Style_Enabled) |
- ((active == SC_ScrollBarAddLine) ?
- Style_Down : Style_Default) |
- ((scrollbar->orientation() == Qt::Horizontal) ?
- Style_Horizontal : 0)));
- if ((controls & SC_ScrollBarSubPage) && subpage.isValid())
- tqdrawPrimitive(TQStyle::PE_ScrollBarSubPage, p, subpage, cg,
- (SFlags)(((maxedOut) ? Style_Default : Style_Enabled) |
- ((active == SC_ScrollBarSubPage) ?
- Style_Down : Style_Default) |
- ((scrollbar->orientation() == Qt::Horizontal) ?
- Style_Horizontal : 0)));
- if ((controls & SC_ScrollBarAddPage) && addpage.isValid())
- tqdrawPrimitive(TQStyle::PE_ScrollBarAddPage, p, addpage, cg,
- (SFlags)(((maxedOut) ? Style_Default : Style_Enabled) |
- ((active == SC_ScrollBarAddPage) ?
- Style_Down : Style_Default) |
- ((scrollbar->orientation() == Qt::Horizontal) ?
- Style_Horizontal : 0)));
- if ((controls & SC_ScrollBarFirst) && first.isValid())
- tqdrawPrimitive(TQStyle::PE_ScrollBarFirst, p, first, cg,
- (SFlags)(((maxedOut) ? Style_Default : Style_Enabled) |
- ((active == SC_ScrollBarFirst) ?
- Style_Down : Style_Default) |
- ((scrollbar->orientation() == Qt::Horizontal) ?
- Style_Horizontal : 0)));
- if ((controls & SC_ScrollBarLast) && last.isValid())
- tqdrawPrimitive(TQStyle::PE_ScrollBarLast, p, last, cg,
- (SFlags)(((maxedOut) ? Style_Default : Style_Enabled) |
- ((active == SC_ScrollBarLast) ?
- Style_Down : Style_Default) |
- ((scrollbar->orientation() == Qt::Horizontal) ?
- Style_Horizontal : 0)));
- if ((controls & SC_ScrollBarSlider) && slider.isValid()) {
- tqdrawPrimitive(TQStyle::PE_ScrollBarSlider, p, slider, cg,
- (SFlags)(((maxedOut) ? Style_Default : Style_Enabled) |
- ((active == SC_ScrollBarSlider) ?
- Style_Down : Style_Default) |
- ((scrollbar->orientation() == Qt::Horizontal) ?
- Style_Horizontal : 0)));
-
- // ### perhaps this should not be able to accept focus if maxedOut?
- if (scrollbar->hasFocus()) {
- TQRect fr(slider.x() + 2, slider.y() + 2,
- slider.width() - 5, slider.height() - 5);
- tqdrawPrimitive(TQStyle::PE_FocusRect, p, fr, cg, Style_Default);
- }
- }
-
- break;
- }
-#endif // TQT_NO_SCROLLBAR
-
-#ifndef TQT_NO_TOOLBUTTON
- case CC_ToolButton:
- {
- const TQToolButton *toolbutton = (const TQToolButton *) widget;
-
- TQColorGroup c = cg;
- if ( toolbutton->backgroundMode() != TQt::PaletteButton )
- c.setBrush( TQColorGroup::Button,
- toolbutton->paletteBackgroundColor() );
- TQRect button, menuarea;
- button = tqvisualRect( querySubControlMetrics(control, widget, SC_ToolButton, opt), widget );
- menuarea = tqvisualRect( querySubControlMetrics(control, widget, SC_ToolButtonMenu, opt), widget );
-
- SFlags bflags = flags,
- mflags = flags;
-
- if (active & SC_ToolButton)
- bflags |= Style_Down;
- if (active & SC_ToolButtonMenu)
- mflags |= Style_Down;
-
- if (controls & SC_ToolButton) {
- if (bflags & (Style_Down | Style_On | Style_Raised)) {
- tqdrawPrimitive(TQStyle::PE_ButtonTool, p, button, c, bflags, opt);
- } else if ( toolbutton->parentWidget() &&
- toolbutton->parentWidget()->backgroundPixmap() &&
- ! toolbutton->parentWidget()->backgroundPixmap()->isNull() ) {
- TQPixmap pixmap =
- *(toolbutton->parentWidget()->backgroundPixmap());
-
- p->drawTiledPixmap( r, pixmap, toolbutton->pos() );
- }
- }
-
- if (controls & SC_ToolButtonMenu) {
- if (mflags & (Style_Down | Style_On | Style_Raised))
- tqdrawPrimitive(TQStyle::PE_ButtonDropDown, p, menuarea, c, mflags, opt);
- tqdrawPrimitive(TQStyle::PE_ArrowDown, p, menuarea, c, mflags, opt);
- }
-
- if (toolbutton->hasFocus() && !toolbutton->focusProxy()) {
- TQRect fr = toolbutton->rect();
- fr.addCoords(3, 3, -3, -3);
- tqdrawPrimitive(TQStyle::PE_FocusRect, p, fr, c);
- }
-
- break;
- }
-#endif // TQT_NO_TOOLBUTTON
-
-#ifndef TQT_NO_TITLEBAR
- case CC_TitleBar:
- {
- const TQTitleBar *titlebar = (const TQTitleBar *) widget;
- if ( controls & SC_TitleBarLabel ) {
- TQColorGroup cgroup = titlebar->usesActiveColor() ?
- titlebar->tqpalette().active() : titlebar->tqpalette().inactive();
-
- TQColor left = cgroup.highlight();
- TQColor right = cgroup.base();
-
- if ( left != right ) {
- double rS = left.red();
- double gS = left.green();
- double bS = left.blue();
-
- const double rD = double(right.red() - rS) / titlebar->width();
- const double gD = double(right.green() - gS) / titlebar->width();
- const double bD = double(right.blue() - bS) / titlebar->width();
-
- const int w = titlebar->width();
- for ( int sx = 0; sx < w; sx++ ) {
- rS+=rD;
- gS+=gD;
- bS+=bD;
- p->setPen( TQColor( (int)rS, (int)gS, (int)bS ) );
- p->drawLine( sx, 0, sx, titlebar->height() );
- }
- } else {
- p->fillRect( titlebar->rect(), left );
- }
-
- TQRect ir = tqvisualRect( querySubControlMetrics( CC_TitleBar, widget, SC_TitleBarLabel ), widget );
-
- p->setPen( cgroup.highlightedText() );
- p->drawText(ir.x()+2, ir.y(), ir.width()-2, ir.height(),
- TQt::AlignAuto | TQt::AlignVCenter | TQt::SingleLine, titlebar->visibleText() );
- }
-
- TQRect ir;
- bool down = FALSE;
- TQPixmap pm;
-
- if ( controls & SC_TitleBarCloseButton ) {
- ir = tqvisualRect( querySubControlMetrics( CC_TitleBar, widget, SC_TitleBarCloseButton ), widget );
- down = active & SC_TitleBarCloseButton;
- if ( widget->testWFlags( TQt::WStyle_Tool )
-#ifndef TQT_NO_MAINWINDOW
- || ::tqqt_cast<TQDockWindow*>(widget)
-#endif
- )
- pm = stylePixmap(SP_DockWindowCloseButton, widget);
- else
- pm = stylePixmap(SP_TitleBarCloseButton, widget);
- tqdrawPrimitive(TQStyle::PE_ButtonTool, p, ir, titlebar->tqcolorGroup(),
- down ? Style_Down : Style_Raised);
-
- p->save();
- if( down )
- p->translate( tqpixelMetric(PM_ButtonShiftHorizontal, widget),
- tqpixelMetric(PM_ButtonShiftVertical, widget) );
- drawItem( p, ir, TQt::AlignCenter, titlebar->tqcolorGroup(), TRUE, &pm, TQString::null );
- p->restore();
- }
-
- if ( titlebar->window() ) {
- if ( controls & SC_TitleBarMaxButton ) {
- ir = tqvisualRect( querySubControlMetrics( CC_TitleBar, widget, SC_TitleBarMaxButton ), widget );
-
- down = active & SC_TitleBarMaxButton;
- pm = TQPixmap(stylePixmap(SP_TitleBarMaxButton, widget));
- tqdrawPrimitive(TQStyle::PE_ButtonTool, p, ir, titlebar->tqcolorGroup(),
- down ? Style_Down : Style_Raised);
-
- p->save();
- if( down )
- p->translate( tqpixelMetric(PM_ButtonShiftHorizontal, widget),
- tqpixelMetric(PM_ButtonShiftVertical, widget) );
- drawItem( p, ir, TQt::AlignCenter, titlebar->tqcolorGroup(), TRUE, &pm, TQString::null );
- p->restore();
- }
-
- if ( controls & SC_TitleBarNormalButton || controls & SC_TitleBarMinButton ) {
- ir = tqvisualRect( querySubControlMetrics( CC_TitleBar, widget, SC_TitleBarMinButton ), widget );
- TQStyle::SubControl ctrl = (controls & SC_TitleBarNormalButton ?
- SC_TitleBarNormalButton :
- SC_TitleBarMinButton);
- TQStyle::StylePixmap spixmap = (controls & SC_TitleBarNormalButton ?
- SP_TitleBarNormalButton :
- SP_TitleBarMinButton);
- down = active & ctrl;
- pm = TQPixmap(stylePixmap(spixmap, widget));
- tqdrawPrimitive(TQStyle::PE_ButtonTool, p, ir, titlebar->tqcolorGroup(),
- down ? Style_Down : Style_Raised);
-
- p->save();
- if( down )
- p->translate( tqpixelMetric(PM_ButtonShiftHorizontal, widget),
- tqpixelMetric(PM_ButtonShiftVertical, widget) );
- drawItem( p, ir, TQt::AlignCenter, titlebar->tqcolorGroup(), TRUE, &pm, TQString::null );
- p->restore();
- }
-
- if ( controls & SC_TitleBarShadeButton ) {
- ir = tqvisualRect( querySubControlMetrics( CC_TitleBar, widget, SC_TitleBarShadeButton ), widget );
-
- down = active & SC_TitleBarShadeButton;
- pm = TQPixmap(stylePixmap(SP_TitleBarShadeButton, widget));
- tqdrawPrimitive(TQStyle::PE_ButtonTool, p, ir, titlebar->tqcolorGroup(),
- down ? Style_Down : Style_Raised);
- p->save();
- if( down )
- p->translate( tqpixelMetric(PM_ButtonShiftHorizontal, widget),
- tqpixelMetric(PM_ButtonShiftVertical, widget) );
- drawItem( p, ir, TQt::AlignCenter, titlebar->tqcolorGroup(), TRUE, &pm, TQString::null );
- p->restore();
- }
-
- if ( controls & SC_TitleBarUnshadeButton ) {
- ir = tqvisualRect( querySubControlMetrics( CC_TitleBar, widget, SC_TitleBarUnshadeButton ), widget );
-
- down = active & SC_TitleBarUnshadeButton;
- pm = TQPixmap(stylePixmap(SP_TitleBarUnshadeButton, widget));
- tqdrawPrimitive(TQStyle::PE_ButtonTool, p, ir, titlebar->tqcolorGroup(),
- down ? Style_Down : Style_Raised);
- p->save();
- if( down )
- p->translate( tqpixelMetric(PM_ButtonShiftHorizontal, widget),
- tqpixelMetric(PM_ButtonShiftVertical, widget) );
- drawItem( p, ir, TQt::AlignCenter, titlebar->tqcolorGroup(), TRUE, &pm, TQString::null );
- p->restore();
- }
- }
-#ifndef TQT_NO_WIDGET_TOPEXTRA
- if ( controls & SC_TitleBarSysMenu ) {
- if ( titlebar->icon() ) {
- ir = tqvisualRect( querySubControlMetrics( CC_TitleBar, widget, SC_TitleBarSysMenu ), widget );
- drawItem( p, ir, TQt::AlignCenter, titlebar->tqcolorGroup(), TRUE, titlebar->icon(), TQString::null );
- }
- }
-#endif
- break;
- }
-#endif //TQT_NO_TITLEBAR
-
- case CC_SpinWidget: {
-#ifndef TQT_NO_SPINWIDGET
- const TQSpinWidget * sw = (const TQSpinWidget *) widget;
- SFlags flags;
- PrimitiveElement pe;
-
- if ( controls & SC_SpinWidgetFrame )
- qDrawWinPanel( p, r, cg, TRUE ); //cstyle == Sunken );
-
- if ( controls & SC_SpinWidgetUp ) {
- flags = Style_Default | Style_Enabled;
- if (active == SC_SpinWidgetUp ) {
- flags |= Style_On;
- flags |= Style_Sunken;
- } else
- flags |= Style_Raised;
- if ( sw->buttonSymbols() == TQSpinWidget::PlusMinus )
- pe = TQStyle::PE_SpinWidgetPlus;
- else
- pe = TQStyle::PE_SpinWidgetUp;
-
- TQRect re = sw->upRect();
- TQColorGroup ucg = sw->isUpEnabled() ? cg : sw->tqpalette().disabled();
- tqdrawPrimitive(TQStyle::PE_ButtonBevel, p, re, ucg, flags);
- tqdrawPrimitive(pe, p, re, ucg, flags);
- }
-
- if ( controls & SC_SpinWidgetDown ) {
- flags = Style_Default | Style_Enabled;
- if (active == SC_SpinWidgetDown ) {
- flags |= Style_On;
- flags |= Style_Sunken;
- } else
- flags |= Style_Raised;
- if ( sw->buttonSymbols() == TQSpinWidget::PlusMinus )
- pe = TQStyle::PE_SpinWidgetMinus;
- else
- pe = TQStyle::PE_SpinWidgetDown;
-
- TQRect re = sw->downRect();
- TQColorGroup dcg = sw->isDownEnabled() ? cg : sw->tqpalette().disabled();
- tqdrawPrimitive(TQStyle::PE_ButtonBevel, p, re, dcg, flags);
- tqdrawPrimitive(pe, p, re, dcg, flags);
- }
-#endif
- break; }
-
-#ifndef TQT_NO_SLIDER
- case CC_Slider:
- switch ( controls ) {
- case SC_SliderTickmarks: {
- const TQSlider * sl = (const TQSlider *) widget;
- int tickOffset = tqpixelMetric( PM_SliderTickmarkOffset, sl );
- int ticks = sl->tickmarks();
- int thickness = tqpixelMetric( PM_SliderControlThickness, sl );
- int len = tqpixelMetric( PM_SliderLength, sl );
- int available = tqpixelMetric( PM_SliderSpaceAvailable, sl );
- int interval = sl->tickInterval();
-
- if ( interval <= 0 ) {
- interval = sl->lineStep();
- if ( qPositionFromValue( sl, interval, available ) -
- qPositionFromValue( sl, 0, available ) < 3 )
- interval = sl->pageStep();
- }
-
- int fudge = len / 2;
- int pos;
-
- if ( ticks & TQSlider::Above ) {
- p->setPen( cg.foreground() );
- int v = sl->minValue();
- if ( !interval )
- interval = 1;
- while ( v <= sl->maxValue() + 1 ) {
- pos = qPositionFromValue( sl, v, available ) + fudge;
- if ( sl->orientation() == Qt::Horizontal )
- p->drawLine( pos, 0, pos, tickOffset-2 );
- else
- p->drawLine( 0, pos, tickOffset-2, pos );
- v += interval;
- }
- }
-
- if ( ticks & TQSlider::Below ) {
- p->setPen( cg.foreground() );
- int v = sl->minValue();
- if ( !interval )
- interval = 1;
- while ( v <= sl->maxValue() + 1 ) {
- pos = qPositionFromValue( sl, v, available ) + fudge;
- if ( sl->orientation() == Qt::Horizontal )
- p->drawLine( pos, tickOffset+thickness+1, pos,
- tickOffset+thickness+1 + available-2 );
- else
- p->drawLine( tickOffset+thickness+1, pos,
- tickOffset+thickness+1 + available-2,
- pos );
- v += interval;
- }
-
- }
-
- break; }
- }
- break;
-#endif // TQT_NO_SLIDER
-#ifndef TQT_NO_LISTVIEW
- case CC_ListView:
- if ( controls & SC_ListView ) {
- TQListView *listview = (TQListView*)widget;
- p->fillRect( r, listview->viewport()->backgroundBrush() );
- }
- break;
-#endif //TQT_NO_LISTVIEW
- default:
- break;
- }
-
- activePainter = 0;
-}
-
-
-/*! \reimp */
-void TQCommonStyle::tqdrawComplexControlMask( TQ_ComplexControl control,
- TQPainter *p,
- const TQWidget *widget,
- const TQRect &r,
- const TQStyleOption& opt ) const
-{
- TQ_UNUSED(control);
- TQ_UNUSED(widget);
- TQ_UNUSED(opt);
-
- p->fillRect(r, Qt::color1);
-}
-
-
-/*! \reimp */
-TQRect TQCommonStyle::querySubControlMetrics( TQ_ComplexControl control,
- const TQWidget *widget,
- SubControl sc,
- const TQStyleOption &opt ) const
-{
-#if defined(TQT_CHECK_STATE)
- if (! widget) {
- qWarning("TQCommonStyle::querySubControlMetrics: widget parameter cannot be zero!");
- return TQRect();
- }
-#endif
-
- switch ( control ) {
- case CC_SpinWidget: {
- int fw = tqpixelMetric( PM_SpinBoxFrameWidth, widget);
- TQSize bs;
- bs.setHeight( widget->height()/2 - fw );
- if ( bs.height() < 8 )
- bs.setHeight( 8 );
- bs.setWidth( TQMIN( bs.height() * 8 / 5, widget->width() / 4 ) ); // 1.6 -approximate golden mean
- bs = bs.expandedTo( TQApplication::globalStrut() );
- int y = fw;
- int x, lx, rx;
- x = widget->width() - y - bs.width();
- lx = fw;
- rx = x - fw;
- switch ( sc ) {
- case SC_SpinWidgetUp:
- return TQRect(x, y, bs.width(), bs.height());
- case SC_SpinWidgetDown:
- return TQRect(x, y + bs.height(), bs.width(), bs.height());
- case SC_SpinWidgetButtonField:
- return TQRect(x, y, bs.width(), widget->height() - 2*fw);
- case SC_SpinWidgetEditField:
- return TQRect(lx, fw, rx, widget->height() - 2*fw);
- case SC_SpinWidgetFrame:
- return widget->rect();
- default:
- break;
- }
- break; }
-
- case CC_ComboBox: {
- int x = 0, y = 0, wi = widget->width(), he = widget->height();
- int xpos = x;
- xpos += wi - 2 - 16;
-
- switch ( sc ) {
- case SC_ComboBoxFrame:
- return widget->rect();
- case SC_ComboBoxArrow:
- return TQRect(xpos, y+2, 16, he-4);
- case SC_ComboBoxEditField:
- return TQRect(x+3, y+3, wi-6-16, he-6);
- case SC_ComboBoxListBoxPopup:
- return opt.rect();
- default:
- break;
- }
- break; }
-
-#ifndef TQT_NO_SCROLLBAR
- case CC_ScrollBar: {
- const TQScrollBar *scrollbar = (const TQScrollBar *) widget;
- int sliderstart = 0;
- int sbextent = tqpixelMetric(PM_ScrollBarExtent, widget);
- int maxlen = ((scrollbar->orientation() == Qt::Horizontal) ?
- scrollbar->width() : scrollbar->height()) - (sbextent * 2);
- int sliderlen;
-
- sliderstart = scrollbar->sliderStart();
-
- // calculate slider length
- if (scrollbar->maxValue() != scrollbar->minValue()) {
- uint range = scrollbar->maxValue() - scrollbar->minValue();
- sliderlen = (TQ_LLONG(scrollbar->pageStep()) * maxlen) / (range + scrollbar->pageStep());
-
- int slidermin = tqpixelMetric( PM_ScrollBarSliderMin, widget );
- if ( sliderlen < slidermin || range > INT_MAX / 2 )
- sliderlen = slidermin;
- if ( sliderlen > maxlen )
- sliderlen = maxlen;
- } else
- sliderlen = maxlen;
-
- switch (sc) {
- case SC_ScrollBarSubLine: // top/left button
- if (scrollbar->orientation() == Qt::Horizontal) {
- int buttonWidth = TQMIN(scrollbar->width()/2, sbextent);
- return TQRect( 0, 0, buttonWidth, sbextent );
- } else {
- int buttonHeight = TQMIN(scrollbar->height()/2, sbextent);
- return TQRect( 0, 0, sbextent, buttonHeight );
- }
-
- case SC_ScrollBarAddLine: // bottom/right button
- if (scrollbar->orientation() == Qt::Horizontal) {
- int buttonWidth = TQMIN(scrollbar->width()/2, sbextent);
- return TQRect( scrollbar->width() - buttonWidth, 0, buttonWidth, sbextent );
- } else {
- int buttonHeight = TQMIN(scrollbar->height()/2, sbextent);
- return TQRect( 0, scrollbar->height() - buttonHeight, sbextent, buttonHeight );
- }
-
- case SC_ScrollBarSubPage: // between top/left button and slider
- if (scrollbar->orientation() == Qt::Horizontal)
- return TQRect(sbextent, 0, sliderstart - sbextent, sbextent);
- return TQRect(0, sbextent, sbextent, sliderstart - sbextent);
-
- case SC_ScrollBarAddPage: // between bottom/right button and slider
- if (scrollbar->orientation() == Qt::Horizontal)
- return TQRect(sliderstart + sliderlen, 0,
- maxlen - sliderstart - sliderlen + sbextent, sbextent);
- return TQRect(0, sliderstart + sliderlen,
- sbextent, maxlen - sliderstart - sliderlen + sbextent);
-
- case SC_ScrollBarGroove:
- if (scrollbar->orientation() == Qt::Horizontal)
- return TQRect(sbextent, 0, scrollbar->width() - sbextent * 2,
- scrollbar->height());
- return TQRect(0, sbextent, scrollbar->width(),
- scrollbar->height() - sbextent * 2);
-
- case SC_ScrollBarSlider:
- if (scrollbar->orientation() == Qt::Horizontal)
- return TQRect(sliderstart, 0, sliderlen, sbextent);
- return TQRect(0, sliderstart, sbextent, sliderlen);
-
- default: break;
- }
-
- break; }
-#endif // TQT_NO_SCROLLBAR
-
-#ifndef TQT_NO_SLIDER
- case CC_Slider: {
- const TQSlider * sl = (const TQSlider *) widget;
- int tickOffset = tqpixelMetric( PM_SliderTickmarkOffset, sl );
- int thickness = tqpixelMetric( PM_SliderControlThickness, sl );
-
- switch ( sc ) {
- case SC_SliderHandle: {
- int sliderPos = 0;
- int len = tqpixelMetric( PM_SliderLength, sl );
-
- sliderPos = sl->sliderStart();
-
- if ( sl->orientation() == Qt::Horizontal )
- return TQRect( sliderPos, tickOffset, len, thickness );
- return TQRect( tickOffset, sliderPos, thickness, len ); }
- case SC_SliderGroove: {
- if ( sl->orientation() == Qt::Horizontal )
- return TQRect( 0, tickOffset, sl->width(), thickness );
- return TQRect( tickOffset, 0, thickness, sl->height() ); }
-
- default:
- break;
- }
- break; }
-#endif // TQT_NO_SLIDER
-
-#if !defined(TQT_NO_TOOLBUTTON) && !defined(TQT_NO_POPUPMENU)
- case CC_ToolButton: {
- const TQToolButton *toolbutton = (const TQToolButton *) widget;
- int mbi = tqpixelMetric(PM_MenuButtonIndicator, widget);
-
- TQRect rect = toolbutton->rect();
- switch (sc) {
- case SC_ToolButton:
- if (toolbutton->popup() && ! toolbutton->popupDelay())
- rect.addCoords(0, 0, -mbi, 0);
- return rect;
-
- case SC_ToolButtonMenu:
- if (toolbutton->popup() && ! toolbutton->popupDelay())
- rect.addCoords(rect.width() - mbi, 0, 0, 0);
- return rect;
-
- default: break;
- }
- break;
- }
-#endif // TQT_NO_TOOLBUTTON && TQT_NO_POPUPMENU
-
-#ifndef TQT_NO_TITLEBAR
- case CC_TitleBar: {
- const TQTitleBar *titlebar = (const TQTitleBar *) widget;
- const int controlTop = 2;
- const int controlHeight = widget->height() - controlTop * 2;
-
- switch (sc) {
- case SC_TitleBarLabel: {
- const TQTitleBar *titlebar = (TQTitleBar*)widget;
- TQRect ir( 0, 0, titlebar->width(), titlebar->height() );
- if ( titlebar->testWFlags( TQt::WStyle_Tool ) ) {
- if ( titlebar->testWFlags( TQt::WStyle_SysMenu ) )
- ir.addCoords( 0, 0, -controlHeight-3, 0 );
- if ( titlebar->testWFlags( TQt::WStyle_MinMax ) )
- ir.addCoords( 0, 0, -controlHeight-2, 0 );
- } else {
- if ( titlebar->testWFlags( TQt::WStyle_SysMenu ) )
- ir.addCoords( controlHeight+3, 0, -controlHeight-3, 0 );
- if ( titlebar->testWFlags( TQt::WStyle_Minimize ) )
- ir.addCoords( 0, 0, -controlHeight-2, 0 );
- if ( titlebar->testWFlags( TQt::WStyle_Maximize ) )
- ir.addCoords( 0, 0, -controlHeight-2, 0 );
- }
- return ir; }
-
- case SC_TitleBarCloseButton:
- return TQRect( titlebar->width() - ( controlHeight + controlTop ),
- controlTop, controlHeight, controlHeight );
-
- case SC_TitleBarMaxButton:
- case SC_TitleBarShadeButton:
- case SC_TitleBarUnshadeButton:
- return TQRect( titlebar->width() - ( ( controlHeight + controlTop ) * 2 ),
- controlTop, controlHeight, controlHeight );
-
- case SC_TitleBarMinButton:
- case SC_TitleBarNormalButton: {
- int offset = controlHeight + controlTop;
- if ( !titlebar->testWFlags( TQt::WStyle_Maximize ) )
- offset *= 2;
- else
- offset *= 3;
- return TQRect( titlebar->width() - offset, controlTop, controlHeight, controlHeight );
- }
-
- case SC_TitleBarSysMenu:
- return TQRect( 3, controlTop, controlHeight, controlHeight);
-
- default: break;
- }
- break; }
-#endif //TQT_NO_TITLEBAR
-
- default:
- break;
- }
- return TQRect();
-}
-
-
-/*! \reimp */
-TQStyle::SubControl TQCommonStyle::querySubControl(TQ_ComplexControl control,
- const TQWidget *widget,
- const TQPoint &pos,
- const TQStyleOption& opt ) const
-{
- SubControl ret = SC_None;
-
- switch (control) {
-#ifndef TQT_NO_LISTVIEW
- case CC_ListView:
- {
- if(pos.x() >= 0 && pos.x() <
- opt.listViewItem()->listView()->treeStepSize())
- ret = SC_ListViewExpand;
- break;
- }
-#endif
-#ifndef TQT_NO_SCROLLBAR
- case CC_ScrollBar:
- {
- TQRect r;
- uint ctrl = SC_ScrollBarAddLine;
-
- // we can do this because subcontrols were designed to be masks as well...
- while (ret == SC_None && ctrl <= SC_ScrollBarGroove) {
- r = querySubControlMetrics(control, widget,
- (TQStyle::SubControl) ctrl, opt);
- if (r.isValid() && r.contains(pos))
- ret = (TQStyle::SubControl) ctrl;
-
- ctrl <<= 1;
- }
-
- break;
- }
-#endif
- case CC_TitleBar:
- {
-#ifndef TQT_NO_TITLEBAR
- const TQTitleBar *titlebar = (TQTitleBar*)widget;
- TQRect r;
- uint ctrl = SC_TitleBarLabel;
-
- // we can do this because subcontrols were designed to be masks as well...
- while (ret == SC_None && ctrl <= SC_TitleBarUnshadeButton) {
- r = tqvisualRect( querySubControlMetrics( control, widget, (TQStyle::SubControl) ctrl, opt ), widget );
- if (r.isValid() && r.contains(pos))
- ret = (TQStyle::SubControl) ctrl;
-
- ctrl <<= 1;
- }
- if ( titlebar->window() ) {
- if (titlebar->testWFlags( TQt::WStyle_Tool )) {
- if ( ret == SC_TitleBarMinButton || ret == SC_TitleBarMaxButton ) {
- if ( titlebar->window()->isMinimized() )
- ret = SC_TitleBarUnshadeButton;
- else
- ret = SC_TitleBarShadeButton;
- }
- } else if ( ret == SC_TitleBarMinButton && titlebar->window()->isMinimized() ) {
- ret = TQStyle::SC_TitleBarNormalButton;
- }
- }
-#endif
- break;
- }
-
- default:
- break;
- }
-
- return ret;
-}
-
-
-/*! \reimp */
-int TQCommonStyle::tqpixelMetric(PixelMetric m, const TQWidget *widget) const
-{
- int ret;
-
- switch (m) {
- case PM_DialogButtonsSeparator:
- ret = 5;
- break;
- case PM_DialogButtonsButtonWidth:
- ret = 70;
- break;
- case PM_DialogButtonsButtonHeight:
- ret = 30;
- break;
- case PM_CheckListControllerSize:
- case PM_CheckListButtonSize:
- ret = 16;
- break;
- case PM_TitleBarHeight: {
- if ( widget ) {
- if ( widget->testWFlags( TQt::WStyle_Tool ) ) {
- ret = TQMAX( widget->fontMetrics().lineSpacing(), 16 );
-#ifndef TQT_NO_MAINWINDOW
- } else if ( ::tqqt_cast<TQDockWindow*>(widget) ) {
- ret = TQMAX( widget->fontMetrics().lineSpacing(), 13 );
-#endif
- } else {
- ret = TQMAX( widget->fontMetrics().lineSpacing(), 18 );
- }
- } else {
- ret = 0;
- }
-
- break; }
- case PM_ScrollBarSliderMin:
- ret = 9;
- break;
-
- case PM_ButtonMargin:
- ret = 6;
- break;
-
- case PM_ButtonDefaultIndicator:
- ret = 0;
- break;
-
- case PM_MenuButtonIndicator:
- if (! widget)
- ret = 12;
- else
- ret = TQMAX(12, (widget->height() - 4) / 3);
- break;
-
- case PM_ButtonShiftHorizontal:
- case PM_ButtonShiftVertical:
- ret = 0;
- break;
-
- case PM_SpinBoxFrameWidth:
- case PM_DefaultFrameWidth:
- ret = 2;
- break;
-
- case PM_MDIFrameWidth:
- ret = 2;
- break;
-
- case PM_MDIMinimizedWidth:
- ret = 196;
- break;
-
-#ifndef TQT_NO_SCROLLBAR
- case PM_ScrollBarExtent:
- if ( !widget ) {
- ret = 16;
- } else {
- const TQScrollBar *bar = (const TQScrollBar*)widget;
- int s = bar->orientation() == Qt::Horizontal ?
- TQApplication::globalStrut().height()
- : TQApplication::globalStrut().width();
- ret = TQMAX( 16, s );
- }
- break;
-#endif
- case PM_MaximumDragDistance:
- ret = -1;
- break;
-
-#ifndef TQT_NO_SLIDER
- case PM_SliderThickness:
- ret = 16;
- break;
-
- case PM_SliderTickmarkOffset:
- {
- if (! widget) {
- ret = 0;
- break;
- }
-
- const TQSlider * sl = (const TQSlider *) widget;
- int space = (sl->orientation() == Qt::Horizontal) ? sl->height() :
- sl->width();
- int thickness = tqpixelMetric( PM_SliderControlThickness, sl );
- int ticks = sl->tickmarks();
-
- if ( ticks == TQSlider::Both )
- ret = (space - thickness) / 2;
- else if ( ticks == TQSlider::Above )
- ret = space - thickness;
- else
- ret = 0;
- break;
- }
-
- case PM_SliderSpaceAvailable:
- {
- const TQSlider * sl = (const TQSlider *) widget;
- if ( sl->orientation() == Qt::Horizontal )
- ret = sl->width() - tqpixelMetric( PM_SliderLength, sl );
- else
- ret = sl->height() - tqpixelMetric( PM_SliderLength, sl );
- break;
- }
-#endif // TQT_NO_SLIDER
-
- case PM_DockWindowSeparatorExtent:
- ret = 6;
- break;
-
- case PM_DockWindowHandleExtent:
- ret = 8;
- break;
-
- case PM_DockWindowFrameWidth:
- ret = 1;
- break;
-
- case PM_MenuBarFrameWidth:
- ret = 2;
- break;
-
- case PM_MenuBarItemSpacing:
- case PM_ToolBarItemSpacing:
- ret = 0;
- break;
-
- case PM_TabBarTabOverlap:
- ret = 3;
- break;
-
- case PM_TabBarBaseHeight:
- ret = 0;
- break;
-
- case PM_TabBarBaseOverlap:
- ret = 0;
- break;
-
- case PM_TabBarTabHSpace:
- ret = 24;
- break;
-
- case PM_TabBarTabShiftHorizontal:
- case PM_TabBarTabShiftVertical:
- ret = 2;
- break;
-
-#ifndef TQT_NO_TABBAR
- case PM_TabBarTabVSpace:
- {
- const TQTabBar * tb = (const TQTabBar *) widget;
- if ( tb && ( tb->tqshape() == TQTabBar::RoundedAbove ||
- tb->tqshape() == TQTabBar::RoundedBelow ) )
- ret = 10;
- else
- ret = 0;
- break;
- }
-#endif
-
- case PM_ProgressBarChunkWidth:
- ret = 9;
- break;
-
- case PM_IndicatorWidth:
- ret = 13;
- break;
-
- case PM_IndicatorHeight:
- ret = 13;
- break;
-
- case PM_ExclusiveIndicatorWidth:
- ret = 12;
- break;
-
- case PM_ExclusiveIndicatorHeight:
- ret = 12;
- break;
-
- case PM_PopupMenuFrameHorizontalExtra:
- case PM_PopupMenuFrameVerticalExtra:
- ret = 0;
- break;
-
- case PM_HeaderMargin:
- ret = 4;
- break;
- case PM_HeaderMarkSize:
- ret = 32;
- break;
- case PM_HeaderGripMargin:
- ret = 4;
- break;
- case PM_TabBarScrollButtonWidth:
- ret = 16;
- break;
- default:
- ret = 0;
- break;
- }
-
- return ret;
-}
-
-
-/*! \reimp */
-TQSize TQCommonStyle::tqsizeFromContents(ContentsType contents,
- const TQWidget *widget,
- const TQSize &contentsSize,
- const TQStyleOption& opt ) const
-{
- TQSize sz(contentsSize);
-
-#if defined(TQT_CHECK_STATE)
- if (! widget) {
- qWarning("TQCommonStyle::tqsizeFromContents: widget parameter cannot be zero!");
- return sz;
- }
-#endif
-
- switch (contents) {
-#ifndef TQT_NO_DIALOGBUTTONS
- case CT_DialogButtons: {
- const TQDialogButtons *dbtns = (const TQDialogButtons *)widget;
- int w = contentsSize.width(), h = contentsSize.height();
- const int bwidth = tqpixelMetric(PM_DialogButtonsButtonWidth, widget),
- bspace = tqpixelMetric(PM_DialogButtonsSeparator, widget),
- bheight = tqpixelMetric(PM_DialogButtonsButtonHeight, widget);
- if(dbtns->orientation() == Qt::Horizontal) {
- if(!w)
- w = bwidth;
- } else {
- if(!h)
- h = bheight;
- }
- TQDialogButtons::Button btns[] = { TQDialogButtons::All, TQDialogButtons::Reject, TQDialogButtons::Accept, //reverse order (right to left)
- TQDialogButtons::Apply, TQDialogButtons::Retry, TQDialogButtons::Ignore, TQDialogButtons::Abort,
- TQDialogButtons::Help };
- for(unsigned int i = 0, cnt = 0; i < (sizeof(btns)/sizeof(btns[0])); i++) {
- if(dbtns->isButtonVisible(btns[i])) {
- TQSize szH = dbtns->tqsizeHint(btns[i]);
- int mwidth = TQMAX(bwidth, szH.width()), mheight = TQMAX(bheight, szH.height());
- if(dbtns->orientation() == Qt::Horizontal)
- h = TQMAX(h, mheight);
- else
- w = TQMAX(w, mwidth);
-
- if(cnt)
- w += bspace;
- cnt++;
- if(dbtns->orientation() == Qt::Horizontal)
- w += mwidth;
- else
- h += mheight;
- }
- }
- const int fw = tqpixelMetric(PM_DefaultFrameWidth, widget) * 2;
- sz = TQSize(w + fw, h + fw);
- break; }
-#endif //TQT_NO_DIALOGBUTTONS
- case CT_PushButton:
- {
-#ifndef TQT_NO_PUSHBUTTON
- const TQPushButton *button = (const TQPushButton *) widget;
- int w = contentsSize.width(),
- h = contentsSize.height(),
- bm = tqpixelMetric(PM_ButtonMargin, widget),
- fw = tqpixelMetric(PM_DefaultFrameWidth, widget) * 2;
-
- w += bm + fw;
- h += bm + fw;
-
- if (button->isDefault() || button->autoDefault()) {
- int dbw = tqpixelMetric(PM_ButtonDefaultIndicator, widget) * 2;
- w += dbw;
- h += dbw;
- }
-
- sz = TQSize(w, h);
-#endif
- break;
- }
-
- case CT_CheckBox:
- {
-#ifndef TQT_NO_CHECKBOX
- const TQCheckBox *checkbox = (const TQCheckBox *) widget;
- TQRect irect = subRect(SR_CheckBoxIndicator, widget);
- int h = tqpixelMetric( PM_IndicatorHeight, widget );
- int margins = (!checkbox->pixmap() && checkbox->text().isEmpty()) ? 0 : 10;
- sz += TQSize(irect.right() + margins, 4 );
- sz.setHeight( TQMAX( sz.height(), h ) );
-#endif
- break;
- }
-
- case CT_RadioButton:
- {
-#ifndef TQT_NO_RADIOBUTTON
- const TQRadioButton *radiobutton = (const TQRadioButton *) widget;
- TQRect irect = subRect(SR_RadioButtonIndicator, widget);
- int h = tqpixelMetric( PM_ExclusiveIndicatorHeight, widget );
- int margins = (!radiobutton->pixmap() && radiobutton->text().isEmpty()) ? 0 : 10;
- sz += TQSize(irect.right() + margins, 4 );
- sz.setHeight( TQMAX( sz.height(), h ) );
-#endif
- break;
- }
-
- case CT_ToolButton:
- {
- sz = TQSize(sz.width() + 6, sz.height() + 5);
- break;
- }
-
- case CT_ComboBox:
- {
- int dfw = tqpixelMetric(PM_DefaultFrameWidth, widget) * 2;
- sz = TQSize(sz.width() + dfw + 21, sz.height() + dfw );
- break;
- }
-
- case CT_PopupMenuItem:
- {
-#ifndef TQT_NO_POPUPMENU
- if (opt.isDefault())
- break;
-
- const TQPopupMenu *popup = (const TQPopupMenu *) widget;
- bool checkable = popup->isCheckable();
- TQMenuItem *mi = opt.menuItem();
- int maxpmw = opt.maxIconWidth();
- int w = sz.width(), h = sz.height();
-
- if (mi->custom()) {
- w = mi->custom()->tqsizeHint().width();
- h = mi->custom()->tqsizeHint().height();
- if (! mi->custom()->fullSpan())
- h += 8;
- } else if ( mi->widget() ) {
- } else if (mi->isSeparator()) {
- w = 10;
- h = 2;
- } else {
- if (mi->pixmap())
- h = TQMAX(h, mi->pixmap()->height() + 4);
- else
- h = TQMAX(h, popup->fontMetrics().height() + 8);
-
- if (mi->iconSet() != 0)
- h = TQMAX(h, mi->iconSet()->pixmap(TQIconSet::Small,
- TQIconSet::Normal).height() + 4);
- }
-
- if (! mi->text().isNull()) {
- if (mi->text().find('\t') >= 0)
- w += 12;
- }
-
- if (maxpmw)
- w += maxpmw + 6;
- if (checkable && maxpmw < 20)
- w += 20 - maxpmw;
- if (checkable || maxpmw > 0)
- w += 2;
- w += 12;
-
- sz = TQSize(w, h);
-#endif
- break;
- }
-
- case CT_LineEdit:
- case CT_Header:
- case CT_Slider:
- case CT_ProgressBar:
- // just return the contentsSize for now
- // fall through intended
-
- default:
- break;
- }
-
- return sz;
-}
-
-
-/*! \reimp */
-int TQCommonStyle::tqstyleHint(TQ_StyleHint sh, const TQWidget * w, const TQStyleOption &, TQStyleHintReturn *) const
-{
- int ret;
-
- switch (sh) {
-#ifndef TQT_NO_DIALOGBUTTONS
- case SH_DialogButtons_DefaultButton:
- ret = TQDialogButtons::Accept;
- break;
-#endif
- case SH_GroupBox_TextLabelVerticalAlignment:
- ret = TQt::TQt::AlignVCenter;
- break;
-
- case SH_GroupBox_TextLabelColor:
- ret = (int) ( w ? w->paletteForegroundColor().rgb() : 0 );
- break;
-
- case SH_ListViewExpand_SelectMouseType:
- case SH_TabBar_SelectMouseType:
- ret = TQEvent::MouseButtonPress;
- break;
-
- case SH_GUIStyle:
- ret = TQt::WindowsStyle;
- break;
-
- case SH_ScrollBar_BackgroundMode:
- ret = TQt::PaletteBackground;
- break;
-
- case SH_TabBar_Alignment:
- case SH_Header_ArrowAlignment:
- ret = TQt::AlignLeft;
- break;
-
- case SH_PopupMenu_SubMenuPopupDelay:
- ret = 256;
- break;
-
- case SH_ProgressDialog_TextLabelAlignment:
- ret = TQt::AlignCenter;
- break;
-
- case SH_BlinkCursorWhenTextSelected:
- ret = 1;
- break;
-
- case SH_Table_GridLineColor:
- ret = -1;
- break;
-
- case SH_LineEdit_PasswordCharacter:
- ret = '*';
- break;
-
- case SH_ToolBox_SelectedPageTitleBold:
- ret = 1;
- break;
-
- case SH_UnderlineAccelerator:
- ret = 1;
- break;
-
- case SH_ToolButton_Uses3D:
- ret = 1;
- break;
-
- default:
- ret = 0;
- break;
- }
-
- return ret;
-}
-
-/*! \reimp */
-TQPixmap TQCommonStyle::stylePixmap(StylePixmap, const TQWidget *, const TQStyleOption&) const
-{
- return TQPixmap();
-}
-
-
-#endif // TQT_NO_STYLE
diff --git a/tqtinterface/qt4/src/styles/tqcommonstyle.h b/tqtinterface/qt4/src/styles/tqcommonstyle.h
deleted file mode 100644
index 5f17e6d..0000000
--- a/tqtinterface/qt4/src/styles/tqcommonstyle.h
+++ /dev/null
@@ -1,155 +0,0 @@
-/****************************************************************************
-**
-** Definition of TQCommonStyle class
-**
-** Created : 980616
-**
-** Copyright (C) 2010 Timothy Pearson and (C) 1992-2008 Trolltech ASA.
-**
-** This file is part of the widgets module of the TQt GUI Toolkit.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** This file may be used under the terms of the Q Public License as
-** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
-** included in the packaging of this file. Licensees holding valid TQt
-** Commercial licenses may use this file in accordance with the TQt
-** Commercial License Agreement provided with the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#ifndef TQCOMMONSTYLE_H
-#define TQCOMMONSTYLE_H
-
-#ifndef TQT_H
-#include "tqstyle.h"
-#endif // TQT_H
-
-#ifndef TQT_NO_STYLE
-
-class TQ_EXPORT TQCommonStyle: public TQStyle
-{
- Q_OBJECT
- TQ_OBJECT
-
-public:
- TQCommonStyle();
- ~TQCommonStyle();
-
- // Compatibility functions
- // For example, a TQt application may call tqdrawPrimitive with a ControlElement parameter
- // TQt "knows" that the application should have called tqdrawControl instead, and translates accordingly.
- inline void tqdrawPrimitive( TQ_ControlElement element, TQPainter *p, const TQRect &r, const TQColorGroup &cg, SFlags flags = Style_Default, const TQStyleOption &opt = TQStyleOption::Default ) const {
- TQ_UNUSED(r);
- TQ_UNUSED(cg);
- TQ_UNUSED(flags);
- drawControl((QStyle::ControlElement)(int)element, &opt, p, 0); // [FIXME] What should widget really be? I imagine 0 is *wrong*!!!
- }
- inline void tqdrawPrimitive( TQ_ComplexControl element, TQPainter *p, const TQRect &r, const TQColorGroup &cg, SFlags flags = Style_Default, const TQStyleOption &opt = TQStyleOption::Default ) const {
- TQ_UNUSED(r);
- TQ_UNUSED(cg);
- TQ_UNUSED(flags);
- drawComplexControl((QStyle::ComplexControl)(int)element, 0, p, 0); // [FIXME] What should widget and complexcontrol really be? I imagine 0 is *wrong*!!!
- }
- inline void tqdrawPrimitive( TQ_ControlElement element, TQPainter *p, const TQRect &r, const TQColorGroup &cg, int flags, const TQStyleOption &opt = TQStyleOption::Default ) const { tqdrawPrimitive( element, p, r, cg, (SFlags)flags, opt); }
-
- void tqdrawPrimitive( TQ_PrimitiveElement pe,
- TQPainter *p,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags flags = Style_Default,
- const TQStyleOption& = TQStyleOption::Default ) const;
-
- void tqdrawControl( TQ_ControlElement element,
- TQPainter *p,
- const TQWidget *widget,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags how = Style_Default,
- const TQStyleOption& = TQStyleOption::Default ) const;
-
- void tqdrawControlMask( TQ_ControlElement element,
- TQPainter *p,
- const TQWidget *widget,
- const TQRect &r,
- const TQStyleOption& = TQStyleOption::Default ) const;
-
- TQRect subRect( SubRect r, const TQWidget *widget ) const;
-
- void tqdrawComplexControl( TQ_ComplexControl control,
- TQPainter *p,
- const TQWidget *widget,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags how = Style_Default,
-#ifdef TQ_TQDOC
- SCFlags sub = SC_All,
-#else
- SCFlags sub = (uint)SC_All,
-#endif
- SCFlags subActive = SC_None,
- const TQStyleOption& = TQStyleOption::Default ) const;
-
- void tqdrawComplexControlMask( TQ_ComplexControl control,
- TQPainter *p,
- const TQWidget *widget,
- const TQRect &r,
- const TQStyleOption& = TQStyleOption::Default ) const;
-
- TQRect querySubControlMetrics( TQ_ComplexControl control,
- const TQWidget *widget,
- SubControl sc,
- const TQStyleOption& = TQStyleOption::Default ) const;
-
- SubControl querySubControl( TQ_ComplexControl control,
- const TQWidget *widget,
- const TQPoint &pos,
- const TQStyleOption& = TQStyleOption::Default ) const;
-
- int tqpixelMetric( PixelMetric m, const TQWidget *widget = 0 ) const;
-
- TQSize tqsizeFromContents( ContentsType s,
- const TQWidget *widget,
- const TQSize &contentsSize,
- const TQStyleOption& = TQStyleOption::Default ) const;
-
- int tqstyleHint(TQ_StyleHint sh, const TQWidget *, const TQStyleOption &, TQStyleHintReturn *) const;
-
- TQPixmap stylePixmap( StylePixmap sp,
- const TQWidget *widget = 0,
- const TQStyleOption& = TQStyleOption::Default ) const;
-
-
-private:
- // Disabled copy constructor and operator=
-#if defined(TQ_DISABLE_COPY)
- TQCommonStyle( const TQCommonStyle & );
- TQCommonStyle &operator=( const TQCommonStyle & );
-#endif
-};
-
-
-
-#endif // TQT_NO_STYLE
-
-#endif // TQCOMMONSTYLE_H
diff --git a/tqtinterface/qt4/src/styles/tqcompactstyle.cpp b/tqtinterface/qt4/src/styles/tqcompactstyle.cpp
deleted file mode 100644
index 7f90df9..0000000
--- a/tqtinterface/qt4/src/styles/tqcompactstyle.cpp
+++ /dev/null
@@ -1,321 +0,0 @@
-/****************************************************************************
-**
-** Implementation of compact style class
-**
-** Created : 006231
-**
-** Copyright (C) 2005-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of the widgets module of the TQt GUI Toolkit.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** This file may be used under the terms of the Q Public License as
-** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
-** included in the packaging of this file. Licensees holding valid TQt
-** Commercial licenses may use this file in accordance with the TQt
-** Commercial License Agreement provided with the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#include "tqcompactstyle.h"
-
-#if !defined(TQT_NO_STYLE_COMPACT) || defined(TQT_PLUGIN)
-
-#include "tqfontmetrics.h"
-#include "tqpalette.h"
-#include "tqpainter.h"
-#include "tqdrawutil.h"
-#include "tqmenudata.h"
-#include "tqpopupmenu.h"
-
-TQCompactStyle::TQCompactStyle()
-: TQWindowsStyle()
-{
-}
-
-/*! \reimp */
-int TQCompactStyle::tqpixelMetric( PixelMetric metric, const TQWidget *widget )
-{
- int ret;
- switch ( metric ) {
- case PM_ButtonMargin:
- ret = 2;
- break;
- // tws - I added this in to stop this "Windows Scroll behaivor." Remove it
- // if you don't want it.
- case PM_MaximumDragDistance:
- ret = -1;
- break;
- default:
- ret = TQWindowsStyle::tqpixelMetric( metric, widget );
- break;
- }
- return ret;
-}
-
-static const int motifItemFrame = 0; // menu item frame width
-static const int motifSepHeight = 2; // separator item height
-static const int motifItemHMargin = 1; // menu item hor text margin
-static const int motifItemVMargin = 2; // menu item ver text margin
-static const int motifArrowHMargin = 0; // arrow horizontal margin
-static const int motifTabSpacing = 4; // space between text and tab
-static const int motifCheckMarkHMargin = 1; // horiz. margins of check mark
-static const int windowsRightBorder = 8; // right border on windows
-static const int windowsCheckMarkWidth = 2; // checkmarks width on windows
-
-static int extraPopupMenuItemWidth( bool checkable, int maxpmw, TQMenuItem* mi, const TQFontMetrics& /*fm*/ )
-{
- int w = 2*motifItemHMargin + 2*motifItemFrame; // a little bit of border can never harm
-
- if ( mi->isSeparator() )
- return 10; // arbitrary
- else if ( mi->pixmap() )
- w += mi->pixmap()->width(); // pixmap only
-
- if ( !mi->text().isNull() ) {
- if ( mi->text().find('\t') >= 0 ) // string contains tab
- w += motifTabSpacing;
- }
-
- if ( maxpmw ) { // we have iconsets
- w += maxpmw;
- w += 6; // add a little extra border around the iconset
- }
-
- if ( checkable && maxpmw < windowsCheckMarkWidth ) {
- w += windowsCheckMarkWidth - maxpmw; // space for the checkmarks
- }
-
- if ( maxpmw > 0 || checkable ) // we have a check-column ( iconsets or checkmarks)
- w += motifCheckMarkHMargin; // add space to separate the columns
-
- w += windowsRightBorder; // windows has a strange wide border on the right side
-
- return w;
-}
-
-static int popupMenuItemHeight( bool /*checkable*/, TQMenuItem* mi, const TQFontMetrics& fm )
-{
- int h = 0;
- if ( mi->isSeparator() ) // separator height
- h = motifSepHeight;
- else if ( mi->pixmap() ) // pixmap height
- h = mi->pixmap()->height() + 2*motifItemFrame;
- else // text height
- h = fm.height() + 2*motifItemVMargin + 2*motifItemFrame - 1;
-
- if ( !mi->isSeparator() && mi->iconSet() != 0 ) {
- h = TQMAX( h, mi->iconSet()->pixmap( TQIconSet::Small, TQIconSet::Normal ).height() + 2*motifItemFrame );
- }
- if ( mi->custom() )
- h = TQMAX( h, mi->custom()->tqsizeHint().height() + 2*motifItemVMargin + 2*motifItemFrame ) - 1;
- return h;
-}
-
-void drawPopupMenuItem( TQPainter* p, bool checkable,
- int maxpmw, int tab, TQMenuItem* mi,
- const TQPalette& pal, bool act,
- bool enabled,
- int x, int y, int w, int h)
-{
-
-}
-
-/*! \reimp */
-void TQCompactStyle::tqdrawControl( ControlElement element, TQPainter *p, const TQWidget *widget, const TQRect &r,
- const TQColorGroup &g, SFlags flags, const TQStyleOption& opt )
-{
- switch ( element ) {
- case CE_PopupMenuItem:
- {
- if (! widget || opt.isDefault())
- break;
-
- const TQPopupMenu *popupmenu = (const TQPopupMenu *) widget;
- TQMenuItem *mi = opt.menuItem();
- if ( !mi )
- break;
-
- int tab = opt.tabWidth();
- int maxpmw = opt.maxIconWidth();
- bool dis = !(flags & Style_Enabled);
- bool checkable = popupmenu->isCheckable();
- bool act = flags & Style_Active;
- int x, y, w, h;
- r.rect( &x, &y, &w, &h );
-
- TQColorGroup itemg = g;
-
- if ( checkable )
- maxpmw = TQMAX( maxpmw, 8 ); // space for the checkmarks
-
- int checkcol = maxpmw;
-
- if ( mi && mi->isSeparator() ) { // draw separator
- p->setPen( g.dark() );
- p->drawLine( x, y, x+w, y );
- p->setPen( g.light() );
- p->drawLine( x, y+1, x+w, y+1 );
- return;
- }
-
- TQBrush fill = act? g.brush( TQColorGroup::Highlight ) :
- g.brush( TQColorGroup::Button );
- p->fillRect( x, y, w, h, fill);
-
- if ( !mi )
- return;
-
- if ( mi->isChecked() ) {
- if ( act && !dis ) {
- qDrawShadePanel( p, x, y, checkcol, h,
- g, TRUE, 1, &g.brush( TQColorGroup::Button ) );
- } else {
- qDrawShadePanel( p, x, y, checkcol, h,
- g, TRUE, 1, &g.brush( TQColorGroup::Midlight ) );
- }
- } else if ( !act ) {
- p->fillRect(x, y, checkcol , h,
- g.brush( TQColorGroup::Button ));
- }
-
- if ( mi->iconSet() ) { // draw iconset
- TQIconSet::Mode mode = dis ? TQIconSet::Disabled : TQIconSet::Normal;
- if (act && !dis )
- mode = TQIconSet::Active;
- TQPixmap pixmap;
- if ( checkable && mi->isChecked() )
- pixmap = mi->iconSet()->pixmap( TQIconSet::Small, mode, TQIconSet::On );
- else
- pixmap = mi->iconSet()->pixmap( TQIconSet::Small, mode );
- int pixw = pixmap.width();
- int pixh = pixmap.height();
- if ( act && !dis ) {
- if ( !mi->isChecked() )
- qDrawShadePanel( p, x, y, checkcol, h, g, FALSE, 1, &g.brush( TQColorGroup::Button ) );
- }
- TQRect cr( x, y, checkcol, h );
- TQRect pmr( 0, 0, pixw, pixh );
- pmr.moveCenter( cr.center() );
- p->setPen( itemg.text() );
- p->drawPixmap( pmr.topLeft(), pixmap );
-
- TQBrush fill = act? g.brush( TQColorGroup::Highlight ) :
- g.brush( TQColorGroup::Button );
- p->fillRect( x+checkcol + 1, y, w - checkcol - 1, h, fill);
- } else if ( checkable ) { // just "checking"...
- int mw = checkcol + motifItemFrame;
- int mh = h - 2*motifItemFrame;
- if ( mi->isChecked() ) {
-
- SFlags cflags = Style_Default;
- if (! dis)
- cflags |= Style_Enabled;
- if (act)
- cflags |= Style_On;
-
- drawPrimitive( PE_CheckMark, p, TQRect(x + motifItemFrame + 2, y + motifItemFrame,
- mw, mh), itemg, cflags, opt );
- }
- }
-
- p->setPen( act ? g.highlightedText() : g.buttonText() );
-
- TQColor discol;
- if ( dis ) {
- discol = itemg.text();
- p->setPen( discol );
- }
-
- int xm = motifItemFrame + checkcol + motifItemHMargin;
-
- if ( mi->custom() ) {
- int m = motifItemVMargin;
- p->save();
- if ( dis && !act ) {
- p->setPen( g.light() );
- mi->custom()->paint( p, itemg, act, !dis,
- x+xm+1, y+m+1, w-xm-tab+1, h-2*m );
- p->setPen( discol );
- }
- mi->custom()->paint( p, itemg, act, !dis,
- x+xm, y+m, w-xm-tab+1, h-2*m );
- p->restore();
- }
- TQString s = mi->text();
- if ( !s.isNull() ) { // draw text
- int t = s.find( '\t' );
- int m = motifItemVMargin;
- const int text_flags = AlignVCenter|ShowPrefix | DontClip | SingleLine;
- if ( t >= 0 ) { // draw tab text
- if ( dis && !act ) {
- p->setPen( g.light() );
- p->drawText( x+w-tab-windowsRightBorder-motifItemHMargin-motifItemFrame+1,
- y+m+1, tab, h-2*m, text_flags, s.mid( t+1 ));
- p->setPen( discol );
- }
- p->drawText( x+w-tab-windowsRightBorder-motifItemHMargin-motifItemFrame,
- y+m, tab, h-2*m, text_flags, s.mid( t+1 ) );
- s = s.left( t );
- }
- if ( dis && !act ) {
- p->setPen( g.light() );
- p->drawText( x+xm+1, y+m+1, w-xm+1, h-2*m, text_flags, s, t );
- p->setPen( discol );
- }
- p->drawText( x+xm, y+m, w-xm-tab+1, h-2*m, text_flags, s, t );
- } else if ( mi->pixmap() ) { // draw pixmap
- TQPixmap *pixmap = mi->pixmap();
- if ( pixmap->depth() == 1 )
- p->setBackgroundMode( OpaqueMode );
- p->drawPixmap( x+xm, y+motifItemFrame, *pixmap );
- if ( pixmap->depth() == 1 )
- p->setBackgroundMode( TransparentMode );
- }
- if ( mi->popup() ) { // draw sub menu arrow
- int dim = (h-2*motifItemFrame) / 2;
- if ( act ) {
- if ( !dis )
- discol = white;
- TQColorGroup g2( discol, g.highlight(),
- white, white,
- dis ? discol : white,
- discol, white );
- drawPrimitive(PE_ArrowRight, p, TQRect(x+w - motifArrowHMargin - motifItemFrame - dim, y + h / 2 - dim / 2, dim, dim),
- g2, Style_Enabled);
- } else {
- drawPrimitive(PE_ArrowRight, p, TQRect(x+w - motifArrowHMargin - motifItemFrame - dim, y + h / 2 - dim / 2, dim, dim),
- g, !dis ? Style_Enabled : Style_Default);
- }
- }
- }
- break;
-
- default:
- TQWindowsStyle::tqdrawControl( element, p, widget, r, g, flags, opt );
- break;
- }
-}
-
-#endif
diff --git a/tqtinterface/qt4/src/styles/tqcompactstyle.h b/tqtinterface/qt4/src/styles/tqcompactstyle.h
deleted file mode 100644
index 24c7b3a..0000000
--- a/tqtinterface/qt4/src/styles/tqcompactstyle.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/****************************************************************************
-**
-** Definition of compact style class, good for small displays
-**
-** Created : 000623
-**
-** Copyright (C) 2005-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of the widgets module of the TQt GUI Toolkit.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** This file may be used under the terms of the Q Public License as
-** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
-** included in the packaging of this file. Licensees holding valid TQt
-** Commercial licenses may use this file in accordance with the TQt
-** Commercial License Agreement provided with the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#ifndef TQCOMPACTSTYLE_H
-#define TQCOMPACTSTYLE_H
-
-#ifndef TQT_H
-#include "tqwindowsstyle.h"
-#endif // TQT_H
-
-#if !defined(TQT_NO_STYLE_COMPACT) || defined(TQT_PLUGIN)
-
-#if defined(TQT_PLUGIN)
-#define TQ_EXPORT_STYLE_COMPACT
-#else
-#define TQ_EXPORT_STYLE_COMPACT TQ_EXPORT
-#endif
-
-class TQ_EXPORT_STYLE_COMPACT TQCompactStyle : public TQWindowsStyle
-{
-public:
- TQCompactStyle();
-
- int tqpixelMetric( PixelMetric metric, const TQWidget *widget = 0 );
-
- void tqdrawControl( ControlElement element, TQPainter *p, const TQWidget *w, const TQRect &r,
- const TQColorGroup &cg, SFlags how = Style_Default, const TQStyleOption& = TQStyleOption::Default );
-
-private: // Disabled copy constructor and operator=
-#if defined(TQ_DISABLE_COPY)
- TQCompactStyle( const TQCompactStyle & );
- TQCompactStyle& operator=( const TQCompactStyle & );
-#endif
-};
-
-#endif // TQT_NO_STYLE_WINDOWS
-
-#endif // TQCOMPACTSTYLE_H
diff --git a/tqtinterface/qt4/src/styles/tqinterlacestyle.cpp b/tqtinterface/qt4/src/styles/tqinterlacestyle.cpp
deleted file mode 100644
index 1d42786..0000000
--- a/tqtinterface/qt4/src/styles/tqinterlacestyle.cpp
+++ /dev/null
@@ -1,805 +0,0 @@
-/****************************************************************************
-**
-** Implementation of TQInterlaceStyle class
-**
-** Created : 010122
-**
-** Copyright (C) 2010 Timothy Pearson and (C) 1992-2008 Trolltech ASA.
-**
-** This file is part of the widgets module of the TQt GUI Toolkit.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** This file may be used under the terms of the Q Public License as
-** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
-** included in the packaging of this file. Licensees holding valid TQt
-** Commercial licenses may use this file in accordance with the TQt
-** Commercial License Agreement provided with the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#if 0 // ###### not ported to new API yet
-
-#include "tqinterlacestyle.h"
-
-#if !defined(TQT_NO_STYLE_INTERLACE) || defined(TQT_PLUGIN)
-
-#include "tqapplication.h"
-#include "tqpainter.h"
-#include "tqdrawutil.h" // for now
-#include "tqpalette.h" // for now
-#include "tqwidget.h"
-#include "tqlabel.h"
-#include "tqpushbutton.h"
-#include "tqwidget.h"
-#include "tqrangecontrol.h"
-#include "tqscrollbar.h"
-#include "tqlistbox.h"
-
-#include <limits.h>
-
-/*!
- \class TQInterlaceStyle tqinterlacestyle.h
- \brief The TQInterlaceStyle class provides a Look and Feel suitable for interlaced displays.
- \ingroup appearance
-
- This class implements a look and feel that reduces flicker as much as
- possible on interlaced displays (i.e. television). It is an experimental
- style. In addition to using this style you will need to select a font
- that does not flicker.
-*/
-
-/*!
- Constructs a TQInterlaceStyle
-*/
-TQInterlaceStyle::TQInterlaceStyle() : TQMotifStyle()
-{
- setUseHighlightColors( TRUE );
-}
-
-/*! \reimp
-*/
-int TQInterlaceStyle::buttonDefaultIndicatorWidth() const
-{
- return 0;
-}
-
-/*! \reimp
-*/
-int TQInterlaceStyle::setSliderThickness() const
-{
- return 18;
-}
-
-/*! \reimp
-*/
-TQSize TQInterlaceStyle::scrollBarExtent() const
-{
- return TQSize( 18, 18 );
-}
-
-/*! \reimp
-*/
-int TQInterlaceStyle::defaultFrameWidth() const
-{
- return 2;
-}
-
-/*!
- \reimp
- */
-void TQInterlaceStyle::polish( TQApplication *app)
-{
- oldPalette = app->palette();
-#if 0
- TQColor bg( 128, 64, 128 );
- TQColor btn( 255, 145, 0 );
- TQColor mid = bg.dark( 120 );
- TQColor low = mid.dark( 120 );
- TQColor fg( white );
-#else
- TQColor bg( 224, 224, 224 );
- TQColor btn = bg.dark( 105 );
- TQColor mid = bg.dark( 120 );
- TQColor low = mid.dark( 120 );
- TQColor fg( black );
-#endif
-
- TQColorGroup cg( fg, btn, low, low, mid, black, black, white, bg );
- cg.setColor( TQColorGroup::Highlight, TQColor( 255, 255, 192 ) );
- cg.setColor( TQColorGroup::HighlightedText, black );
-
- TQColorGroup dcg( cg );
- dcg.setColor( TQColorGroup::ButtonText, low );
- dcg.setColor( TQColorGroup::Text, low );
-
- app->setPalette( TQPalette( cg, dcg, cg ), TRUE );
-}
-
-/*!
- \reimp
- */
-void TQInterlaceStyle::unPolish( TQApplication *app)
-{
- app->setPalette(oldPalette, TRUE);
-}
-
-/*!
- \reimp
- */
-void TQInterlaceStyle::polish( TQWidget* w)
-{
-
- // the polish function sets some widgets to transparent mode and
- // some to translate background mode in order to get the full
- // benefit from the nice pixmaps in the color group.
-
- if ( w->inherits("TQLCDNumber") ){
- return;
- }
-
- if ( !w->isTopLevel() ) {
- if ( w->inherits("TQGroupBox")
- || w->inherits("TQTabWidget")
- || w->inherits("TQPushButton") ) {
- w->setAutoMask( TRUE );
- return;
- }
- if (w->inherits("TQLabel")
- || w->inherits("TQSlider")
- || w->inherits("TQButton")
- || w->inherits("TQProgressBar")
- ){
- w->setBackgroundOrigin( TQWidget::ParentOrigin );
- }
- }
-
- if ( w->inherits( "TQFrame" ) ) {
- TQFrame *f = (TQFrame *)w;
- switch ( f->frameShape() ) {
- case TQFrame::WinPanel:
- f->setFrameShape( TQFrame::StyledPanel );
-
- case TQFrame::Panel:
- case TQFrame::Box:
- case TQFrame::StyledPanel:
- case TQFrame::PopupPanel:
- if ( f->frameWidth() == 1 )
- f->setLineWidth( 2 );
- break;
- default:
- break;
- }
- }
-
- if ( w->inherits( "TQListBox" ) ) {
- // the list box in combos has an ugly border otherwise
- TQFrame *f = (TQFrame *)w;
- if ( f->frameShadow() == TQFrame::Plain ) {
- f->setFrameShadow( TQFrame::Raised );
- f->setLineWidth( 1 );
- }
- }
-}
-
-/*!
- \reimp
-*/
-void TQInterlaceStyle::unPolish( TQWidget* w)
-{
-
- // the polish function sets some widgets to transparent mode and
- // some to translate background mode in order to get the full
- // benefit from the nice pixmaps in the color group.
-
- if ( w->inherits("TQLCDNumber") ){
- return;
- }
-
- if ( !w->isTopLevel() ) {
- if ( w->inherits("TQGroupBox")
- || w->inherits("TQTabWidget")
- || w->inherits("TQPushButton" ) ) {
- w->setAutoMask( FALSE );
- return;
- }
- if (w->inherits("TQLabel")
- || w->inherits("TQSlider")
- || w->inherits("TQButton")
- || w->inherits("TQProgressBar")
- ){
- w->setBackgroundOrigin( TQWidget::WidgetOrigin );
- }
- }
-
-}
-
-/*!
- \reimp
-*/
-TQRect TQInterlaceStyle::pushButtonContentsRect( TQPushButton *btn )
-{
- int fw = 0;
- if ( btn->isDefault() || btn->autoDefault() )
- fw = buttonDefaultIndicatorWidth();
-
- return buttonRect( fw+5, fw, btn->width()-2*fw-10, btn->height()-2*fw );
-}
-
-/*!
- \reimp
-*/
-void TQInterlaceStyle::drawFocusRect ( TQPainter *p, const TQRect &/*r*/, const TQColorGroup &g, const TQColor * bg, bool /*atBorder*/ )
-{
- if (bg ) {
- int h,s,v;
- bg->hsv(&h,&s,&v);
- if (v >= 128)
- p->setPen( TQt::black );
- else
- p->setPen( TQt::white );
- }
- else
- p->setPen( g.foreground() );
-/*
- p->setBrush( NoBrush );
- if ( atBorder ) {
- p->drawRect( TQRect( r.x()+1, r.y()+2, r.width()-2, r.height()-4 ) );
- p->drawRect( TQRect( r.x()+2, r.y()+1, r.width()-4, r.height()-2 ) );
- } else {
- p->drawRect( TQRect( r.x(), r.y()+1, r.width(), r.height()-2 ) );
- p->drawRect( TQRect( r.x()+1, r.y(), r.width()-2, r.height() ) );
- }
-*/
-}
-
-/*!
- \reimp
-*/
-void TQInterlaceStyle::drawButton( TQPainter *p, int x, int y, int w, int h,
- const TQColorGroup &g, bool /* sunken */,
- const TQBrush *fill )
-{
- const int lineWidth = 2;
-
- p->setBrush( g.brush( TQColorGroup::Dark ) );
- p->setPen( NoPen );
- p->drawRect( x+1, y+1, 2, 2 );
- p->drawRect( x+w-3, y+1, 2, 2 );
- p->drawRect( x+1, y+h-3, 2, 2 );
- p->drawRect( x+w-3, y+h-3, 2, 2 );
-
- p->drawRect( x+2, y, w-4, 2 );
- p->drawRect( x+2, y+h-lineWidth, w-4, lineWidth );
- p->drawRect( x, y+2, lineWidth, h-4 );
- p->drawRect( x+w-lineWidth, y+2, lineWidth, h-4 );
-
- if ( fill ) {
- x += 2;
- y += 2;
- w -= 4;
- h -= 4;
- p->setBrush( *fill );
- p->setPen( NoPen );
- p->drawRect( x+1, y, w-2, 1 );
- p->drawRect( x, y+1, w, h-2 );
- p->drawRect( x+1, y+h-1, w-2, 1 );
- }
-}
-
-/*! \reimp */
-void TQInterlaceStyle::drawButtonMask( TQPainter * p, int x, int y, int w, int h )
-{
- TQBrush fill( color1 );
- TQColorGroup cg;
- cg.setBrush( TQColorGroup::Dark, color1 );
- drawButton( p, x, y, w, h, cg, FALSE, &fill );
-}
-
-/*!
- \reimp
-*/
-void TQInterlaceStyle::drawBevelButton( TQPainter *p, int x, int y, int w, int h,
- const TQColorGroup &g, bool sunken, const TQBrush* fill )
-{
- TQInterlaceStyle::drawButton(p, x, y, w, h, g, sunken, fill);
-}
-
-/*!
- \reimp
-*/
-void TQInterlaceStyle::drawPushButton( TQPushButton* btn, TQPainter *p)
-{
- TQColorGroup g = btn->tqcolorGroup();
- int x1, y1, x2, y2;
-
- btn->rect().coords( &x1, &y1, &x2, &y2 ); // get coordinates
-
- TQBrush fill( g.button() );
- if ( btn->isDown() || btn->isOn() )
- fill = g.mid();
-
- if ( btn->hasFocus() )
- g.setBrush( TQColorGroup::Dark, black );
- drawButton( p, x1, y1, x2-x1+1, y2-y1+1, g, FALSE, &fill );
-
- if ( btn->isMenuButton() ) {
- int dx = (y1-y2-4)/3;
- drawArrow( p, DownArrow, FALSE,
- x2 - dx, dx, y1, y2 - y1,
- g, btn->isEnabled() );
- }
-
- if ( p->brush().style() != NoBrush )
- p->setBrush( NoBrush );
-}
-
-/*!
- \reimp
-*/
-TQSize TQInterlaceStyle::indicatorSize () const
-{
- return TQSize(13,13);
-}
-
-/*!
- \reimp
-*/
-void TQInterlaceStyle::drawIndicator( TQPainter * p, int x, int y, int w, int h, const TQColorGroup &g, int s, bool down, bool enabled )
-{
- p->fillRect( x, y, w, h, g.brush( TQColorGroup::Background ) );
- TQBrush fill;
- if ( s == TQButton::NoChange ) {
- TQBrush b = p->brush();
- TQColor c = p->backgroundColor();
- p->setBackgroundMode( TransparentMode );
- p->setBackgroundColor( green );
- fill = TQBrush(g.base(), Dense4Pattern);
- p->setBackgroundColor( c );
- p->setBrush( b );
- } else if ( down )
- fill = g.brush( TQColorGroup::Button );
- else
- fill = g.brush( enabled ? TQColorGroup::Base : TQColorGroup::Background );
-
- drawButton( p, x, y, w, h, g, FALSE, &fill );
-
- if ( s != TQButton::Off ) {
- TQPointArray a( 7*2 );
- int i, xx, yy;
- xx = x+3;
- yy = y+5;
- for ( i=0; i<3; i++ ) {
- a.setPoint( 2*i, xx, yy );
- a.setPoint( 2*i+1, xx, yy+2 );
- xx++; yy++;
- }
- yy -= 2;
- for ( i=3; i<7; i++ ) {
- a.setPoint( 2*i, xx, yy );
- a.setPoint( 2*i+1, xx, yy+2 );
- xx++; yy--;
- }
- if ( s == TQButton::NoChange ) {
- p->setPen( g.dark() );
- } else {
- p->setPen( g.text() );
- }
- p->drawLineSegments( a );
- }
-}
-
-/*!
- \reimp
-*/
-void TQInterlaceStyle::drawIndicatorMask( TQPainter *p, int x, int y, int w, int h, int )
-{
- drawButtonMask( p, x, y, w, h );
-}
-
-/*!
- \reimp
-*/
-TQSize TQInterlaceStyle::exclusiveIndicatorSize() const
-{
- return TQSize(13,13);
-}
-
-/*!
- \reimp
-*/
-void TQInterlaceStyle::drawExclusiveIndicator( TQPainter *p, int x, int y, int w, int h, const TQColorGroup &g, bool on, bool down, bool enabled )
-{
- p->fillRect( x, y, w, h, g.brush( TQColorGroup::Background ) );
- p->setBrush( g.dark() );
- p->setPen( TQPen( NoPen ) );
- p->drawEllipse( x, y, w, h );
-
- x += 2;
- y += 2;
- w -= 4;
- h -= 4;
- TQColor fillColor = ( down || !enabled ) ? g.button() : g.base();
- p->setBrush( fillColor );
- p->drawEllipse( x, y, w, h );
-
- if ( on ) {
- p->setBrush( g.text() );
- p->drawEllipse( x+2, y+2, w-4, h-4 );
- }
-}
-
-/*!
- \reimp
-*/
-void TQInterlaceStyle::drawExclusiveIndicatorMask( TQPainter *p, int x, int y, int w, int h, bool )
-{
- p->setBrush( color1 );
- p->setPen( TQPen( NoPen ) );
- p->drawEllipse( x, y, w, h );
-}
-
-static int get_combo_extra_width( int h, int *return_awh=0 )
-{
- int awh;
- if ( h < 8 ) {
- awh = 6;
- } else if ( h < 14 ) {
- awh = h - 2;
- } else {
- awh = h/2;
- }
- if ( return_awh )
- *return_awh = awh;
- return awh*3/2;
-}
-
-/*!
- \reimp
-*/
-TQRect TQInterlaceStyle::comboButtonRect ( int x, int y, int w, int h )
-{
- TQRect r = buttonRect( x, y, w, h );
- int ew = get_combo_extra_width( r.height() );
- return TQRect(r.x(), r.y(), r.width()-ew, r.height());
-}
-
-static void get_combo_parameters( const TQRect &r,
- int &ew, int &awh, int &ax,
- int &ay, int &sh, int &dh,
- int &sy )
-{
- ew = get_combo_extra_width( r.height(), &awh );
-
- sh = (awh+3)/4;
- if ( sh < 3 )
- sh = 3;
- dh = sh/2 + 1;
-
- ay = r.y() + (r.height()-awh-sh-dh)/2;
- if ( ay < 0 ) {
- //panic mode
- ay = 0;
- sy = r.height();
- } else {
- sy = ay+awh+dh;
- }
- ax = r.x() + r.width() - ew +(ew-awh)/2;
-}
-
-/*!
- \reimp
-*/
-void TQInterlaceStyle::drawComboButton( TQPainter *p, int x, int y, int w, int h,
- const TQColorGroup &g,
- bool /* sunken */,
- bool /*editable*/,
- bool /*enabled */,
- const TQBrush *fb )
-{
- TQBrush fill = fb ? *fb : g.brush( TQColorGroup::Button );
-
- int awh, ax, ay, sh, sy, dh, ew;
- get_combo_parameters( buttonRect(x,y,w,h), ew, awh, ax, ay, sh, dh, sy );
-
- drawButton( p, x, y, w, h, g, FALSE, &fill );
-
- qDrawArrow( p, DownArrow, MotifStyle, FALSE, ax, ay, awh, awh, g, TRUE );
-
- p->setPen( g.dark() );
- p->drawRect( ax+1, sy+1, awh-1, sh-1 );
-}
-
-/*!
- \reimp
-*/
-void TQInterlaceStyle::drawPushButtonLabel( TQPushButton* btn, TQPainter *p)
-{
- TQRect r = btn->rect();
- int x, y, w, h;
- r.rect( &x, &y, &w, &h );
-
- int x1, y1, x2, y2;
- btn->rect().coords( &x1, &y1, &x2, &y2 ); // get coordinates
- int dx = 0;
- int dy = 0;
- if ( btn->isMenuButton() )
- dx = (y2-y1) / 3;
- if ( btn->isOn() || btn->isDown() ) {
-// dx--;
-// dy--;
- }
- if ( dx || dy )
- p->translate( dx, dy );
-
- x += 2; y += 2; w -= 4; h -= 4;
- TQColorGroup g = btn->tqcolorGroup();
- const TQColor *col = &btn->tqcolorGroup().buttonText();
- if ( (btn->isDown() || btn->isOn()) )
- col = &btn->tqcolorGroup().brightText();
- else if ( !btn->isEnabled() )
- col = &btn->tqcolorGroup().dark();
- drawItem( p, x, y, w, h,
- AlignCenter|ShowPrefix,
- g, btn->isEnabled(),
- btn->pixmap(), btn->text(), -1, col );
-
- if ( dx || dy )
- p->translate( -dx, -dy );
-}
-
-#define HORIZONTAL (sb->orientation() == TQScrollBar::Horizontal)
-#define VERTICAL !HORIZONTAL
-#define MOTIF_BORDER defaultFrameWidth()
-#define SLIDER_MIN 9 // ### motif says 6 but that's too small
-
-
-/*! \reimp */
-
-void TQInterlaceStyle::scrollBarMetrics( const TQScrollBar* sb, int &sliderMin, int &sliderMax, int &sliderLength, int &buttonDim )
-{
- int maxLength;
- int b = MOTIF_BORDER;
- int length = HORIZONTAL ? sb->width() : sb->height();
- int extent = HORIZONTAL ? sb->height() : sb->width();
-
- if ( length > ( extent - b*2 - 1 )*2 + b*2 )
- buttonDim = extent - b*2;
- else
- buttonDim = ( length - b*2 )/2 - 1;
-
- sliderMin = b + buttonDim;
- maxLength = length - b*2 - buttonDim*2;
-
- if ( sb->maxValue() == sb->minValue() ) {
- sliderLength = maxLength;
- } else {
- uint range = sb->maxValue()-sb->minValue();
- sliderLength = (sb->pageStep()*maxLength)/
- (range + sb->pageStep());
- if ( sliderLength < SLIDER_MIN || range > INT_MAX/2 )
- sliderLength = SLIDER_MIN;
- if ( sliderLength > maxLength )
- sliderLength = maxLength;
- }
- sliderMax = sliderMin + maxLength - sliderLength;
-
-}
-
-
-/*! \reimp */
-
-void TQInterlaceStyle::drawScrollBarControls( TQPainter* p, const TQScrollBar* sb,
- int sliderStart, uint controls,
- uint activeControl )
-{
-#define ADD_LINE_ACTIVE ( activeControl == AddLine )
-#define SUB_LINE_ACTIVE ( activeControl == SubLine )
- TQColorGroup g = sb->tqcolorGroup();
-
- int sliderMin, sliderMax, sliderLength, buttonDim;
- scrollBarMetrics( sb, sliderMin, sliderMax, sliderLength, buttonDim );
-
- TQBrush fill = g.brush( TQColorGroup::Mid );
- if (sb->backgroundPixmap() ){
- fill = TQBrush( g.mid(), *sb->backgroundPixmap() );
- }
-
- if ( controls == (AddLine | SubLine | AddPage | SubPage | Slider | First | Last ) )
- drawPanel( p, 0, 0, sb->width(), sb->height(), g, FALSE, 2, &fill );
-
- if (sliderStart > sliderMax) { // sanity check
- sliderStart = sliderMax;
- }
-
- int b = MOTIF_BORDER;
- int dimB = buttonDim;
- TQRect addB;
- TQRect subB;
- TQRect addPageR;
- TQRect subPageR;
- TQRect sliderR;
- int addX, addY, subX, subY;
- int length = HORIZONTAL ? sb->width() : sb->height();
- int extent = HORIZONTAL ? sb->height() : sb->width();
-
- if ( HORIZONTAL ) {
- subY = addY = ( extent - dimB ) / 2;
- subX = b;
- addX = length - dimB - b;
- } else {
- subX = addX = ( extent - dimB ) / 2;
- subY = b;
- addY = length - dimB - b;
- }
-
- subB.setRect( subX,subY,dimB,dimB );
- addB.setRect( addX,addY,dimB,dimB );
-
- int sliderEnd = sliderStart + sliderLength;
- int sliderW = extent - b*2;
- if ( HORIZONTAL ) {
- subPageR.setRect( subB.right() + 1, b,
- sliderStart - subB.right() , sliderW );
- addPageR.setRect( sliderEnd-1, b, addX - sliderEnd+1, sliderW );
- sliderR .setRect( sliderStart, b, sliderLength, sliderW );
- } else {
- subPageR.setRect( b, subB.bottom()+1, sliderW,
- sliderStart - subB.bottom() );
- addPageR.setRect( b, sliderEnd-1, sliderW, addY - sliderEnd + 1);
- sliderR .setRect( b, sliderStart, sliderW, sliderLength );
- }
-
- if ( controls & AddLine )
- drawArrow( p, VERTICAL ? DownArrow : RightArrow,
- ADD_LINE_ACTIVE, addB.x(), addB.y(),
- addB.width(), addB.height(), g, TRUE );
- if ( controls & SubLine )
- drawArrow( p, VERTICAL ? UpArrow : LeftArrow,
- SUB_LINE_ACTIVE, subB.x(), subB.y(),
- subB.width(), subB.height(), g, TRUE );
-
- if ( controls & SubPage )
- p->fillRect( subPageR, fill );
-
- if ( controls & AddPage )
- p->fillRect( addPageR, fill );
-
- if ( controls & Slider ) {
- TQPoint bo = p->brushOrigin();
- p->setBrushOrigin(sliderR.topLeft());
- if ( sliderR.isValid() )
- drawButton( p, sliderR.x(), sliderR.y(),
- sliderR.width(), sliderR.height(), g,
- FALSE, &g.brush( TQColorGroup::Button ) );
- p->setBrushOrigin(bo);
- }
-
-}
-
-/*!
- \reimp
-*/
-void TQInterlaceStyle::drawSlider ( TQPainter * p, int x, int y, int w, int h, const TQColorGroup & g, Orientation orient, bool, bool)
-{
- p->fillRect( x, y, w, h, g.brush( TQColorGroup::Background ) );
- drawButton( p, x, y, w, h, g, FALSE, &g.brush( TQColorGroup::Button ) );
- if ( orient == Horizontal ) {
- TQCOORD mid = x + w / 2;
- qDrawShadeLine( p, mid, y , mid, y + h - 2, g, TRUE, 1);
- } else {
- TQCOORD mid = y +h / 2;
- qDrawShadeLine( p, x, mid, x + w - 2, mid, g, TRUE, 1);
- }
-}
-
-
-/*!
- \reimp
-*/
-void TQInterlaceStyle::drawSliderGroove ( TQPainter * p, int x, int y, int w, int h, const TQColorGroup & g, TQCOORD , Orientation o)
-{
- p->setBrush( g.brush( TQColorGroup::Dark ) );
- p->setPen( NoPen );
-
- if ( o == Horizontal )
- drawButton( p, x, y+h/2-3, w, 6, g, FALSE, &g.brush( TQColorGroup::Mid ) );
- else
- drawButton( p, x+w/2-3, y, 6, h, g, FALSE, &g.brush( TQColorGroup::Mid ) );
-}
-
-
-/*!
- \reimp
-*/
-int TQInterlaceStyle::splitterWidth() const
-{
- return TQMAX( 12, TQApplication::globalStrut().width() );
-}
-
-/*!
- \reimp
-*/
-void TQInterlaceStyle::drawSplitter( TQPainter *p, int x, int y, int w, int h,
- const TQColorGroup &g, Orientation orient)
-{
- const int motifOffset = 12;
- int sw = splitterWidth();
- if ( orient == Horizontal ) {
- TQCOORD xPos = x + w/2;
- TQCOORD kPos = motifOffset;
- TQCOORD kSize = sw - 4;
-
- qDrawShadeLine( p, xPos, kPos + kSize - 1 ,
- xPos, h, g );
- drawPanel( p, xPos-sw/2+2, kPos,
- kSize, kSize, g, FALSE, 2,
- &g.brush( TQColorGroup::Button ));
- qDrawShadeLine( p, xPos, 0, xPos, kPos, g );
- } else {
- TQCOORD yPos = y + h/2;
- TQCOORD kPos = w - motifOffset - sw;
- TQCOORD kSize = sw - 4;
-
- qDrawShadeLine( p, 0, yPos, kPos, yPos, g );
- drawPanel( p, kPos, yPos-sw/2+2,
- kSize, kSize, g, FALSE, 2,
- &g.brush( TQColorGroup::Button ));
- qDrawShadeLine( p, kPos + kSize -1, yPos,
- w, yPos, g );
- }
-
-}
-
-/*!
- \reimp
-*/
-void TQInterlaceStyle::drawPanel( TQPainter *p, int x, int y, int w, int h,
- const TQColorGroup &g, bool /*sunken*/,
- int lineWidth, const TQBrush *fill )
-{
- if ( lineWidth < 2 )
- lineWidth = 2;
-
- p->setBrush( g.brush( TQColorGroup::Dark ) );
- p->setPen( NoPen );
-
- p->drawRect( x, y, w, lineWidth );
- p->drawRect( x, y+h-lineWidth, w, lineWidth );
- p->drawRect( x, y, lineWidth, h );
- p->drawRect( x+w-lineWidth, y, lineWidth, h );
-
- if ( fill ) {
- x += lineWidth;
- y += lineWidth;
- w -= 2*lineWidth;
- h -= 2*lineWidth;
- p->setBrush( *fill );
- p->setPen( NoPen );
- p->drawRect( x, y, w, h );
- }
-}
-
-#endif // TQT_NO_STYLE_INTERLACE
-
-#endif
diff --git a/tqtinterface/qt4/src/styles/tqinterlacestyle.h b/tqtinterface/qt4/src/styles/tqinterlacestyle.h
deleted file mode 100644
index a0e4af5..0000000
--- a/tqtinterface/qt4/src/styles/tqinterlacestyle.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/****************************************************************************
-**
-** Implementation of TQInterlaceStyle widget class
-**
-** Created : 010122
-**
-** Copyright (C) 2010 Timothy Pearson and (C) 1992-2008 Trolltech ASA.
-**
-** This file is part of the widgets module of the TQt GUI Toolkit.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** This file may be used under the terms of the Q Public License as
-** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
-** included in the packaging of this file. Licensees holding valid TQt
-** Commercial licenses may use this file in accordance with the TQt
-** Commercial License Agreement provided with the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#if 0 // ###### not ported to new API yet
-#ifndef TQINTERLACESTYLE_H
-#define TQINTERLACESTYLE_H
-
-#ifndef TQT_H
-#include "tqmotifstyle.h"
-#endif // TQT_H
-
-#if !defined(TQT_NO_STYLE_INTERLACE) || defined(TQT_PLUGIN)
-
-#include "tqpalette.h"
-
-class TQ_EXPORT TQInterlaceStyle : public TQMotifStyle
-{
-public:
- TQInterlaceStyle();
- void polish( TQApplication*);
- void unPolish( TQApplication*);
- void polish( TQWidget* );
- void unPolish( TQWidget* );
-
- int defaultFrameWidth() const;
- TQRect pushButtonContentsRect( TQPushButton *btn );
-
- void drawFocusRect ( TQPainter *, const TQRect &, const TQColorGroup &, const TQColor * bg = 0, bool = FALSE );
- void drawButton( TQPainter *p, int x, int y, int w, int h,
- const TQColorGroup &g, bool sunken = FALSE,
- const TQBrush *fill = 0 );
- void drawButtonMask ( TQPainter * p, int x, int y, int w, int h );
- void drawBevelButton( TQPainter *p, int x, int y, int w, int h,
- const TQColorGroup &g, bool sunken = FALSE,
- const TQBrush *fill = 0 );
-
- void drawPushButton( TQPushButton* btn, TQPainter *p);
- TQSize indicatorSize () const;
- void drawIndicator ( TQPainter * p, int x, int y, int w, int h, const TQColorGroup & g, int state, bool down = FALSE, bool enabled = TRUE );
- void drawIndicatorMask( TQPainter *p, int x, int y, int w, int h, int );
- TQSize exclusiveIndicatorSize () const;
- void drawExclusiveIndicator( TQPainter * p, int x, int y, int w, int h, const TQColorGroup & g, bool on, bool down = FALSE, bool enabled = TRUE );
- void drawExclusiveIndicatorMask( TQPainter * p, int x, int y, int w, int h, bool );
- TQRect comboButtonRect ( int x, int y, int w, int h );
- void drawComboButton( TQPainter *p, int x, int y, int w, int h, const TQColorGroup &g, bool sunken, bool editable, bool enabled, const TQBrush *fb );
- void drawPushButtonLabel( TQPushButton* btn, TQPainter *p);
- void drawPanel( TQPainter *p, int x, int y, int w, int h,
- const TQColorGroup &, bool sunken,
- int lineWidth, const TQBrush *fill );
-
- void scrollBarMetrics( const TQScrollBar* sb, int &sliderMin, int &sliderMax, int &sliderLength, int &buttonDim );
- void drawScrollBarControls( TQPainter* p, const TQScrollBar* sb, int sliderStart, uint controls, uint activeControl );
- void drawSlider( TQPainter * p, int x, int y, int w, int h, const TQColorGroup & g, Orientation, bool tickAbove, bool tickBelow );
- void drawSliderGroove( TQPainter * p, int x, int y, int w, int h, const TQColorGroup & g, TQCOORD c, Orientation );
- int splitterWidth() const;
- void drawSplitter( TQPainter *p, int x, int y, int w, int h,
- const TQColorGroup &g, Orientation orient);
-
- int buttonDefaultIndicatorWidth() const;
- int setSliderThickness() const;
- TQSize scrollBarExtent() const;
-
-private:
- TQPalette oldPalette;
-};
-
-#endif // TQT_NO_STYLE_INTERLACE
-
-#endif
-#endif
diff --git a/tqtinterface/qt4/src/styles/tqmotifplusstyle.cpp b/tqtinterface/qt4/src/styles/tqmotifplusstyle.cpp
deleted file mode 100644
index c10183c..0000000
--- a/tqtinterface/qt4/src/styles/tqmotifplusstyle.cpp
+++ /dev/null
@@ -1,1586 +0,0 @@
-/****************************************************************************
-**
-** Implementation of TQMotifPlusStyle class
-**
-** Created : 000727
-**
-** Copyright (C) 2005-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of the widgets module of the TQt GUI Toolkit.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** This file may be used under the terms of the Q Public License as
-** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
-** included in the packaging of this file. Licensees holding valid TQt
-** Commercial licenses may use this file in accordance with the TQt
-** Commercial License Agreement provided with the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#include "tqmotifplusstyle.h"
-
-#if !defined(TQT_NO_STYLE_MOTIFPLUS) || defined(TQT_PLUGIN)
-
-#include "tqmenubar.h"
-#include "tqapplication.h"
-#include "tqpainter.h"
-#include "tqpalette.h"
-#include "tqframe.h"
-#include "tqpushbutton.h"
-#include "tqcheckbox.h"
-#include "tqradiobutton.h"
-#include "tqcombobox.h"
-#include "tqlineedit.h"
-#include "tqspinbox.h"
-#include "tqslider.h"
-#include "tqdrawutil.h"
-#include "tqscrollbar.h"
-#include "tqtabbar.h"
-#include "tqtoolbar.h"
-#include "tqguardedptr.h"
-#include "tqlayout.h"
-
-
-struct TQMotifPlusStylePrivate
-{
- TQMotifPlusStylePrivate()
- : hoverWidget(0), hovering(FALSE), sliderActive(FALSE), mousePressed(FALSE),
- scrollbarElement(0), lastElement(0), ref(1)
- { ; }
-
- TQGuardedPtr<TQWidget> hoverWidget;
- bool hovering, sliderActive, mousePressed;
- int scrollbarElement, lastElement, ref;
- TQPoint mousePos;
-};
-
-static TQMotifPlusStylePrivate * singleton = 0;
-
-
-static void drawMotifPlusShade(TQPainter *p,
- const TQRect &r,
- const TQColorGroup &g,
- bool sunken, bool mouseover,
- const TQBrush *fill = 0)
-{
- TQPen oldpen = p->pen();
- TQPointArray a(4);
- TQColor button =
- mouseover ? g.midlight() : g.button();
- TQBrush brush =
- mouseover ? g.brush(TQColorGroup::Midlight) : g.brush(TQColorGroup::Button);
- int x, y, w, h;
-
- r.rect(&x, &y, &w, &h);
-
- if (sunken) p->setPen(g.dark()); else p->setPen(g.light());
- a.setPoint(0, x, y + h - 1);
- a.setPoint(1, x, y);
- a.setPoint(2, x, y);
- a.setPoint(3, x + w - 1, y);
- p->drawLineSegments(a);
-
- if (sunken) p->setPen(TQt::black); else p->setPen(button);
- a.setPoint(0, x + 1, y + h - 2);
- a.setPoint(1, x + 1, y + 1);
- a.setPoint(2, x + 1, y + 1);
- a.setPoint(3, x + w - 2, y + 1);
- p->drawLineSegments(a);
-
- if (sunken) p->setPen(button); else p->setPen(g.dark());
- a.setPoint(0, x + 2, y + h - 2);
- a.setPoint(1, x + w - 2, y + h - 2);
- a.setPoint(2, x + w - 2, y + h - 2);
- a.setPoint(3, x + w - 2, y + 2);
- p->drawLineSegments(a);
-
- if (sunken) p->setPen(g.light()); else p->setPen(TQt::black);
- a.setPoint(0, x + 1, y + h - 1);
- a.setPoint(1, x + w - 1, y + h - 1);
- a.setPoint(2, x + w - 1, y + h - 1);
- a.setPoint(3, x + w - 1, y);
- p->drawLineSegments(a);
-
- if (fill)
- p->fillRect(x + 2, y + 2, w - 4, h - 4, *fill);
- else
- p->fillRect(x + 2, y + 2, w - 4, h - 4, brush);
-
- p->setPen(oldpen);
-}
-
-
-/*!
- \class TQMotifPlusStyle tqmotifplusstyle.h
- \brief The TQMotifPlusStyle class provides a more sophisticated Motif-ish look and feel.
-
- \ingroup appearance
-
- This class implements a Motif-ish look and feel with the more
- sophisticated bevelling as used by the GIMP Toolkit (GTK+) for
- Unix/X11.
-*/
-
-/*!
- Constructs a TQMotifPlusStyle
-
- If \a hoveringHighlight is TRUE (the default), then the style will
- not highlight push buttons, checkboxes, radiobuttons, comboboxes,
- scrollbars or sliders.
-*/
-TQMotifPlusStyle::TQMotifPlusStyle(bool hoveringHighlight) : TQMotifStyle(TRUE)
-{
- if ( !singleton )
- singleton = new TQMotifPlusStylePrivate;
- else
- singleton->ref++;
-
- useHoveringHighlight = hoveringHighlight;
-}
-
-/*! \reimp */
-TQMotifPlusStyle::~TQMotifPlusStyle()
-{
- if ( singleton && singleton->ref-- <= 0) {
- delete singleton;
- singleton = 0;
- }
-}
-
-
-/*! \reimp */
-void TQMotifPlusStyle::polish(TQPalette &)
-{
-}
-
-
-/*! \reimp */
-void TQMotifPlusStyle::polish(TQWidget *widget)
-{
-#ifndef TQT_NO_FRAME
- if (::tqqt_cast<TQFrame*>(widget) && ((TQFrame *) widget)->frameStyle() == TQFrame::Panel)
- ((TQFrame *) widget)->setFrameStyle(TQFrame::WinPanel);
-#endif
-
-#ifndef TQT_NO_MENUBAR
- if (::tqqt_cast<TQMenuBar*>(widget) && ((TQMenuBar *) widget)->frameStyle() != TQFrame::NoFrame)
- ((TQMenuBar *) widget)->setFrameStyle(TQFrame::StyledPanel | TQFrame::Raised);
-#endif
-
-#ifndef TQT_NO_TOOLBAR
- if (::tqqt_cast<TQToolBar*>(widget))
- widget->tqlayout()->setMargin(2);
-#endif
- if (useHoveringHighlight) {
- if (::tqqt_cast<TQButton*>(widget) || ::tqqt_cast<TQComboBox*>(widget))
- widget->installEventFilter(this);
-
- if (::tqqt_cast<TQScrollBar*>(widget) || ::tqqt_cast<TQSlider*>(widget)) {
- widget->setMouseTracking(TRUE);
- widget->installEventFilter(this);
- }
- }
-
- TQMotifStyle::polish(widget);
-}
-
-
-/*! \reimp */
-void TQMotifPlusStyle::unPolish(TQWidget *widget)
-{
- widget->removeEventFilter(this);
- TQMotifStyle::unPolish(widget);
-}
-
-
-/*! \reimp */
-void TQMotifPlusStyle::polish(TQApplication *)
-{
-}
-
-
-/*! \reimp */
-void TQMotifPlusStyle::unPolish(TQApplication *)
-{
-}
-
-
-/*! \reimp */
-int TQMotifPlusStyle::tqpixelMetric(PixelMetric metric, const TQWidget *widget) const
-{
- int ret;
-
- switch (metric) {
- case PM_ScrollBarExtent:
- ret = 15;
- break;
-
- case PM_ButtonDefaultIndicator:
- ret = 5;
- break;
-
- case PM_ButtonMargin:
- ret = 4;
- break;
-
- case PM_SliderThickness:
- ret = 15;
- break;
-
- case PM_IndicatorWidth:
- case PM_IndicatorHeight:
- ret = 10;
- break;
-
- case PM_ExclusiveIndicatorWidth:
- case PM_ExclusiveIndicatorHeight:
- ret = 11;
- break;
-
- default:
- ret = TQMotifStyle::tqpixelMetric(metric, widget);
- break;
- }
-
- return ret;
-}
-
-
-/*! \reimp */
-void TQMotifPlusStyle::tqdrawPrimitiveBase( TQ_PrimitiveElement pe,
- TQPainter *p,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags flags,
- const TQStyleOption& opt ) const
-{
- switch (pe) {
-#ifndef USE_QT4
- case PE_HeaderSection:
-#endif // USE_QT4
-
- case PE_ButtonCommand:
- case PE_ButtonBevel:
- case PE_ButtonTool:
- if (flags & (Style_Down | Style_On | Style_Raised | Style_Sunken))
- drawMotifPlusShade( p, r, cg, bool(flags & (Style_Down | Style_On)),
- bool(flags & Style_MouseOver));
- else if (flags & Style_MouseOver)
- p->fillRect(r, cg.brush(TQColorGroup::Midlight));
- else
- p->fillRect(r, cg.brush(TQColorGroup::Button));
- break;
-
- case PE_Panel:
- case PE_PanelPopup:
- case PE_PanelMenuBar:
- case PE_PanelDockWindow:
- if ( opt.lineWidth() )
- drawMotifPlusShade( p, r, cg, (flags & Style_Sunken), (flags & Style_MouseOver));
- else if ( flags & Style_MouseOver )
- p->fillRect(r, cg.brush(TQColorGroup::Midlight));
- else
- p->fillRect(r, cg.brush(TQColorGroup::Button));
- break;
-
- case PE_SpinWidgetUp:
- tqdrawPrimitive(PE_ArrowUp, p, r, cg, flags, opt);
- break;
-
- case PE_SpinWidgetDown:
- tqdrawPrimitive(PE_ArrowDown, p, r, cg, flags, opt);
- break;
-
- case PE_Indicator:
- {
- TQBrush fill;
- if (flags & Style_On)
- fill = cg.brush(TQColorGroup::Mid);
- else if (flags & Style_MouseOver)
- fill = cg.brush(TQColorGroup::Midlight);
- else
- fill = cg.brush(TQColorGroup::Button);
-
- if (flags & Style_NoChange) {
- qDrawPlainRect(p, r, cg.text(), 1, &fill);
- p->drawLine(r.topRight(), r.bottomLeft());
- } else
- drawMotifPlusShade(p, r, cg, (flags & Style_On),
- (flags & Style_MouseOver), &fill);
- break;
- }
-
- case PE_ExclusiveIndicator:
- {
- TQPen oldpen = p->pen();
- TQPointArray thick(8);
- TQPointArray thin(4);
- TQColor button = ((flags & Style_MouseOver) ? cg.midlight() : cg.button());
- TQBrush brush = ((flags & Style_MouseOver) ?
- cg.brush(TQColorGroup::Midlight) :
- cg.brush(TQColorGroup::Button));
- int x, y, w, h;
- r.rect(&x, &y, &w, &h);
-
- p->fillRect(x, y, w, h, brush);
-
-
- if (flags & Style_On) {
- thick.setPoint(0, x, y + (h / 2));
- thick.setPoint(1, x + (w / 2), y);
- thick.setPoint(2, x + 1, y + (h / 2));
- thick.setPoint(3, x + (w / 2), y + 1);
- thick.setPoint(4, x + (w / 2), y);
- thick.setPoint(5, x + w - 1, y + (h / 2));
- thick.setPoint(6, x + (w / 2), y + 1);
- thick.setPoint(7, x + w - 2, y + (h / 2));
- p->setPen(cg.dark());
- p->drawLineSegments(thick);
-
- thick.setPoint(0, x + 1, y + (h / 2) + 1);
- thick.setPoint(1, x + (w / 2), y + h - 1);
- thick.setPoint(2, x + 2, y + (h / 2) + 1);
- thick.setPoint(3, x + (w / 2), y + h - 2);
- thick.setPoint(4, x + (w / 2), y + h - 1);
- thick.setPoint(5, x + w - 2, y + (h / 2) + 1);
- thick.setPoint(6, x + (w / 2), y + h - 2);
- thick.setPoint(7, x + w - 3, y + (h / 2) + 1);
- p->setPen(cg.light());
- p->drawLineSegments(thick);
-
- thin.setPoint(0, x + 2, y + (h / 2));
- thin.setPoint(1, x + (w / 2), y + 2);
- thin.setPoint(2, x + (w / 2), y + 2);
- thin.setPoint(3, x + w - 3, y + (h / 2));
- p->setPen(TQt::black);
- p->drawLineSegments(thin);
-
- thin.setPoint(0, x + 3, y + (h / 2) + 1);
- thin.setPoint(1, x + (w / 2), y + h - 3);
- thin.setPoint(2, x + (w / 2), y + h - 3);
- thin.setPoint(3, x + w - 4, y + (h / 2) + 1);
- p->setPen(cg.mid());
- p->drawLineSegments(thin);
- } else {
- thick.setPoint(0, x, y + (h / 2));
- thick.setPoint(1, x + (w / 2), y);
- thick.setPoint(2, x + 1, y + (h / 2));
- thick.setPoint(3, x + (w / 2), y + 1);
- thick.setPoint(4, x + (w / 2), y);
- thick.setPoint(5, x + w - 1, y + (h / 2));
- thick.setPoint(6, x + (w / 2), y + 1);
- thick.setPoint(7, x + w - 2, y + (h / 2));
- p->setPen(cg.light());
- p->drawLineSegments(thick);
-
- thick.setPoint(0, x + 2, y + (h / 2) + 1);
- thick.setPoint(1, x + (w / 2), y + h - 2);
- thick.setPoint(2, x + 3, y + (h / 2) + 1);
- thick.setPoint(3, x + (w / 2), y + h - 3);
- thick.setPoint(4, x + (w / 2), y + h - 2);
- thick.setPoint(5, x + w - 3, y + (h / 2) + 1);
- thick.setPoint(6, x + (w / 2), y + h - 3);
- thick.setPoint(7, x + w - 4, y + (h / 2) + 1);
- p->setPen(cg.dark());
- p->drawLineSegments(thick);
-
- thin.setPoint(0, x + 2, y + (h / 2));
- thin.setPoint(1, x + (w / 2), y + 2);
- thin.setPoint(2, x + (w / 2), y + 2);
- thin.setPoint(3, x + w - 3, y + (h / 2));
- p->setPen(button);
- p->drawLineSegments(thin);
-
- thin.setPoint(0, x + 1, y + (h / 2) + 1);
- thin.setPoint(1, x + (w / 2), y + h - 1);
- thin.setPoint(2, x + (w / 2), y + h - 1);
- thin.setPoint(3, x + w - 2, y + (h / 2) + 1);
- p->setPen(TQt::black);
- p->drawLineSegments(thin);
- }
-
- p->setPen(oldpen);
- break;
- }
-
-
-
- case PE_ArrowDown:
- case PE_ArrowLeft:
- case PE_ArrowRight:
- case PE_ArrowUp:
- {
- TQPen oldpen = p->pen();
- TQBrush oldbrush = p->brush();
- TQPointArray poly(3);
- TQColor button = (flags & Style_MouseOver) ? cg.midlight() : cg.button();
- bool down = (flags & Style_Down);
- int x, y, w, h;
- r.rect(&x, &y, &w, &h);
-
- p->save();
- p->setBrush(button);
-
- switch (pe) {
- case PE_ArrowUp:
- {
- poly.setPoint(0, x + (w / 2), y );
- poly.setPoint(1, x, y + h - 1);
- poly.setPoint(2, x + w - 1, y + h - 1);
- p->drawPolygon(poly);
-
- if (down)
- p->setPen(button);
- else
- p->setPen(cg.dark());
- p->drawLine(x + 1, y + h - 2, x + w - 2, y + h - 2);
-
- if (down)
- p->setPen(cg.light());
- else
- p->setPen(TQt::black);
- p->drawLine(x, y + h - 1, x + w - 1, y + h - 1);
-
- if (down)
- p->setPen(button);
- else
- p->setPen(cg.dark());
- p->drawLine(x + w - 2, y + h - 1, x + (w / 2), y + 1);
-
- if (down)
- p->setPen(cg.light());
- else
- p->setPen(TQt::black);
- p->drawLine(x + w - 1, y + h - 1, x + (w / 2), y);
-
- if (down)
- p->setPen(TQt::black);
- else
- p->setPen(button);
- p->drawLine(x + (w / 2), y + 1, x + 1, y + h - 1);
-
- if (down)
- p->setPen(cg.dark());
- else
- p->setPen(cg.light());
- p->drawLine(x + (w / 2), y, x, y + h - 1);
- break;
- }
-
- case PE_ArrowDown:
- {
- poly.setPoint(0, x + w - 1, y);
- poly.setPoint(1, x, y);
- poly.setPoint(2, x + (w / 2), y + h - 1);
- p->drawPolygon(poly);
-
- if (down)
- p->setPen(TQt::black);
- else
- p->setPen(button);
- p->drawLine(x + w - 2, y + 1, x + 1, y + 1);
-
- if (down)
- p->setPen(cg.dark());
- else
- p->setPen(cg.light());
- p->drawLine(x + w - 1, y, x, y);
-
- if (down)
- p->setPen(TQt::black);
- else
- p->setPen(button);
- p->drawLine(x + 1, y, x + (w / 2), y + h - 2);
-
- if (down)
- p->setPen(cg.dark());
- else
- p->setPen(cg.light());
- p->drawLine(x, y, x + (w / 2), y + h - 1);
-
- if (down)
- p->setPen(button);
- else
- p->setPen(cg.dark());
- p->drawLine(x + (w / 2), y + h - 2, x + w - 2, y);
-
- if (down)
- p->setPen(cg.light());
- else
- p->setPen(TQt::black);
- p->drawLine(x + (w / 2), y + h - 1, x + w - 1, y);
- break;
- }
-
- case PE_ArrowLeft:
- {
- poly.setPoint(0, x, y + (h / 2));
- poly.setPoint(1, x + w - 1, y + h - 1);
- poly.setPoint(2, x + w - 1, y);
- p->drawPolygon(poly);
-
- if (down)
- p->setPen(button);
- else
- p->setPen(cg.dark());
- p->drawLine(x + 1, y + (h / 2), x + w - 1, y + h - 1);
-
- if (down)
- p->setPen(cg.light());
- else
- p->setPen(TQt::black);
- p->drawLine(x, y + (h / 2), x + w - 1, y + h - 1);
-
- if (down)
- p->setPen(button);
- else
- p->setPen(cg.dark());
- p->drawLine(x + w - 2, y + h - 1, x + w - 2, y + 1);
-
- if (down)
- p->setPen(cg.light());
- else
- p->setPen(TQt::black);
- p->drawLine(x + w - 1, y + h - 1, x + w - 1, y);
-
- if (down)
- p->setPen(TQt::black);
- else
- p->setPen(button);
- p->drawLine(x + w - 1, y + 1, x + 1, y + (h / 2));
-
- if (down)
- p->setPen(cg.dark());
- else
- p->setPen(cg.light());
- p->drawLine(x + w - 1, y, x, y + (h / 2));
- break;
- }
-
- case PE_ArrowRight:
- {
- poly.setPoint(0, x + w - 1, y + (h / 2));
- poly.setPoint(1, x, y);
- poly.setPoint(2, x, y + h - 1);
- p->drawPolygon(poly);
-
- if (down)
- p->setPen(TQt::black);
- else
- p->setPen(button);
- p->drawLine( x + w - 1, y + (h / 2), x + 1, y + 1);
-
- if (down)
- p->setPen(cg.dark());
- else
- p->setPen(cg.light());
- p->drawLine(x + w - 1, y + (h / 2), x, y);
-
- if (down)
- p->setPen(TQt::black);
- else
- p->setPen(button);
- p->drawLine(x + 1, y + 1, x + 1, y + h - 2);
-
- if (down)
- p->setPen(cg.dark());
- else
- p->setPen(cg.light());
- p->drawLine(x, y, x, y + h - 1);
-
- if (down)
- p->setPen(button);
- else
- p->setPen(cg.dark());
- p->drawLine(x + 1, y + h - 2, x + w - 1, y + (h / 2));
-
- if (down)
- p->setPen(cg.light());
- else
- p->setPen(TQt::black);
- p->drawLine(x, y + h - 1, x + w - 1, y + (h / 2));
- break;
- }
-
- default:
- break;
- }
-
- p->restore();
- p->setBrush(oldbrush);
- p->setPen(oldpen);
- break;
- }
-
- default:
- TQMotifStyle::tqdrawPrimitive(pe, p, r, cg, flags, opt);
- break;
- }
-}
-
-
-/*! \reimp
-*/
-void TQMotifPlusStyle::tqdrawControl( TQ_ControlElement element,
- TQPainter *p,
- const TQWidget *widget,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags flags,
- const TQStyleOption& opt ) const
-{
- if (widget == singleton->hoverWidget)
- flags |= Style_MouseOver;
-
- switch (element) {
- case CE_PushButton:
- {
-#ifndef TQT_NO_PUSHBUTTON
- const TQPushButton *button = (const TQPushButton *) widget;
- TQRect br = r;
- int dbi = tqpixelMetric(PM_ButtonDefaultIndicator, widget);
-
- if (button->isDefault() || button->autoDefault()) {
- if (button->isDefault())
- drawMotifPlusShade(p, br, cg, TRUE, FALSE,
- &TQT_TQBRUSH_OBJECT(cg.brush(TQColorGroup::Background)));
-
- br.setCoords(br.left() + dbi,
- br.top() + dbi,
- br.right() - dbi,
- br.bottom() - dbi);
- }
-
- if (flags & Style_HasFocus)
- br.addCoords(1, 1, -1, -1);
- p->save();
- p->setBrushOrigin( -button->backgroundOffset().x(),
- -button->backgroundOffset().y() );
- tqdrawPrimitive(PE_ButtonCommand, p, br, cg, flags);
- p->restore();
-#endif
- break;
- }
-
- case CE_CheckBoxLabel:
- {
-#ifndef TQT_NO_CHECKBOX
- const TQCheckBox *checkbox = (const TQCheckBox *) widget;
-
- if (flags & Style_MouseOver) {
- TQRegion r(checkbox->rect());
- r -= tqvisualRect(subRect(SR_CheckBoxIndicator, widget), widget);
- p->setClipRegion(r);
- p->fillRect(checkbox->rect(), cg.brush(TQColorGroup::Midlight));
- p->setClipping(FALSE);
- }
-
- int tqalignment = TQApplication::reverseLayout() ? TQt::AlignRight : TQt::AlignLeft;
- drawItem(p, r, tqalignment | TQt::AlignVCenter | TQt::ShowPrefix, cg,
- flags & Style_Enabled, checkbox->pixmap(), checkbox->text());
-
- if (checkbox->hasFocus()) {
- TQRect fr = tqvisualRect(subRect(SR_CheckBoxFocusRect, widget), widget);
- tqdrawPrimitive(PE_FocusRect, p, fr, cg, flags);
- }
-#endif
- break;
- }
-
- case CE_RadioButtonLabel:
- {
-#ifndef TQT_NO_RADIOBUTTON
- const TQRadioButton *radiobutton = (const TQRadioButton *) widget;
-
- if (flags & Style_MouseOver) {
- TQRegion r(radiobutton->rect());
- r -= tqvisualRect(subRect(SR_RadioButtonIndicator, widget), widget);
- p->setClipRegion(r);
- p->fillRect(radiobutton->rect(), cg.brush(TQColorGroup::Midlight));
- p->setClipping(FALSE);
- }
-
- int tqalignment = TQApplication::reverseLayout() ? TQt::AlignRight : TQt::AlignLeft;
- drawItem(p, r, tqalignment | TQt::AlignVCenter | TQt::ShowPrefix, cg,
- flags & Style_Enabled, radiobutton->pixmap(), radiobutton->text());
-
- if (radiobutton->hasFocus()) {
- TQRect fr = tqvisualRect(subRect(SR_RadioButtonFocusRect, widget), widget);
- tqdrawPrimitive(PE_FocusRect, p, fr, cg, flags);
- }
-#endif
- break;
- }
-
- case CE_MenuBarItem:
- {
-#ifndef TQT_NO_MENUDATA
- if (opt.isDefault())
- break;
-
- TQMenuItem *mi = opt.menuItem();
- if ((flags & Style_Enabled) && (flags & Style_Active))
- drawMotifPlusShade(p, r, cg, FALSE, TRUE);
- else
- p->fillRect(r, cg.button());
-
- drawItem(p, r, TQt::AlignCenter | TQt::ShowPrefix | TQt::DontClip | TQt::SingleLine,
- cg, flags & Style_Enabled, mi->pixmap(), mi->text(), -1,
- TQT_TQCOLOR_CONST(&cg.buttonText()));
-#endif
- break;
- }
-
-
-#ifndef TQT_NO_POPUPMENU
- case CE_PopupMenuItem:
- {
- if (! widget || opt.isDefault())
- break;
-
- TQPopupMenu *popupmenu = (TQPopupMenu *) widget;
- TQMenuItem *mi = opt.menuItem();
- if ( !mi )
- break;
-
- int tab = opt.tabWidth();
- int maxpmw = opt.maxIconWidth();
- bool dis = ! (flags & Style_Enabled);
- bool checkable = popupmenu->isCheckable();
- bool act = flags & Style_Active;
- int x, y, w, h;
-
- r.rect(&x, &y, &w, &h);
-
- if (checkable)
- maxpmw = TQMAX(maxpmw, 15);
-
- int checkcol = maxpmw;
-
- if (mi && mi->isSeparator()) {
- p->setPen( cg.dark() );
- p->drawLine( x, y, x+w, y );
- p->setPen( cg.light() );
- p->drawLine( x, y+1, x+w, y+1 );
- return;
- }
-
- if ( act && !dis )
- drawMotifPlusShade(p, TQRect(x, y, w, h), cg, FALSE, TRUE);
- else
- p->fillRect(x, y, w, h, cg.brush( TQColorGroup::Button ));
-
- if ( !mi )
- return;
-
- TQRect vrect = tqvisualRect( TQRect( x+2, y+2, checkcol, h-2 ), r );
- if ( mi->isChecked() ) {
- if ( mi->iconSet() ) {
- qDrawShadePanel( p, vrect.x(), y+2, checkcol, h-2*2,
- cg, TRUE, 1, &cg.brush( TQColorGroup::Midlight ) );
- }
- } else if ( !act ) {
- p->fillRect(vrect,
- cg.brush( TQColorGroup::Button ));
- }
-
- if ( mi->iconSet() ) { // draw iconset
- TQIconSet::Mode mode = (!dis) ? TQIconSet::Normal : TQIconSet::Disabled;
-
- if (act && !dis)
- mode = TQIconSet::Active;
-
- TQPixmap pixmap;
- if ( checkable && mi->isChecked() )
- pixmap = mi->iconSet()->pixmap( TQIconSet::Small, mode,
- TQIconSet::On );
- else
- pixmap = mi->iconSet()->pixmap( TQIconSet::Small, mode );
-
- int pixw = pixmap.width();
- int pixh = pixmap.height();
-
- TQRect pmr( 0, 0, pixw, pixh );
-
- pmr.moveCenter(vrect.center());
-
- p->setPen( cg.text() );
- p->drawPixmap( pmr.topLeft(), pixmap );
-
- } else if (checkable) {
- if (mi->isChecked()) {
- SFlags cflags = Style_Default;
- if (! dis)
- cflags |= Style_Enabled;
- if (act)
- cflags |= Style_On;
-
- tqdrawPrimitive(PE_CheckMark, p, vrect, cg, cflags);
- }
- }
-
- p->setPen( cg.buttonText() );
-
- TQColor discol;
- if (dis) {
- discol = cg.text();
- p->setPen( discol );
- }
-
- vrect = tqvisualRect( TQRect(x + checkcol + 4, y + 2,
- w - checkcol - tab - 3, h - 4), r );
- if (mi->custom()) {
- p->save();
- mi->custom()->paint(p, cg, act, !dis, vrect.x(), y + 2,
- w - checkcol - tab - 3, h - 4);
- p->restore();
- }
-
- TQString s = mi->text();
- if ( !s.isNull() ) { // draw text
- int t = s.find( '\t' );
- int m = 2;
- int text_flags = TQt::AlignVCenter|TQt::ShowPrefix | TQt::DontClip | TQt::SingleLine;
- text_flags |= (TQApplication::reverseLayout() ? TQt::AlignRight : TQt::AlignLeft );
- if ( t >= 0 ) { // draw tab text
- TQRect vr = tqvisualRect( TQRect(x+w-tab-2-2,
- y+m, tab, h-2*m), r );
- p->drawText( vr.x(),
- y+m, tab, h-2*m, text_flags, s.mid( t+1 ) );
- }
- p->drawText(vrect.x(), y + 2, w - checkcol -tab - 3, h - 4,
- text_flags, s, t);
- } else if (mi->pixmap()) {
- TQPixmap *pixmap = mi->pixmap();
-
- if (pixmap->depth() == 1) p->setBackgroundMode(Qt::OpaqueMode);
- TQRect vr = tqvisualRect( TQRect( x + checkcol + 2, y + 2, w - checkcol - 1, h - 4 ), r );
- p->drawPixmap(vr.x(), y + 2, *pixmap);
- if (pixmap->depth() == 1) p->setBackgroundMode(Qt::TransparentMode);
- }
-
- if (mi->popup()) {
- int hh = h / 2;
- TQStyle::PrimitiveElement arrow = (TQApplication::reverseLayout() ? PE_ArrowLeft : PE_ArrowRight);
- vrect = tqvisualRect( TQRect(x + w - hh - 6, y + (hh / 2), hh, hh), r );
- tqdrawPrimitive(arrow, p,
- vrect, cg,
- ((act && !dis) ?
- Style_Down : Style_Default) |
- ((!dis) ? Style_Enabled : Style_Default));
- }
- break;
- }
-#endif // TQT_NO_POPUPMENU
-
- case CE_TabBarTab:
- {
-#ifndef TQT_NO_TABBAR
- const TQTabBar *tabbar = (const TQTabBar *) widget;
- bool selected = flags & Style_Selected;
-
- TQColorGroup g = tabbar->tqcolorGroup();
- TQPen oldpen = p->pen();
- TQRect fr(r);
-
- if (! selected) {
- if (tabbar->tqshape() == TQTabBar::RoundedAbove ||
- tabbar->tqshape() == TQTabBar::TriangularAbove) {
- fr.setTop(fr.top() + 2);
- } else {
- fr.setBottom(fr.bottom() - 2);
- }
- }
-
- fr.setWidth(fr.width() - 3);
-
- p->fillRect(fr.left() + 1, fr.top() + 1, fr.width() - 2, fr.height() - 2,
- (selected) ? cg.brush(TQColorGroup::Button)
- : cg.brush(TQColorGroup::Mid));
-
- if (tabbar->tqshape() == TQTabBar::RoundedAbove) {
- // "rounded" tabs on top
- fr.setBottom(fr.bottom() - 1);
-
- p->setPen(g.light());
- p->drawLine(fr.left(), fr.top() + 1,
- fr.left(), fr.bottom() - 1);
- p->drawLine(fr.left() + 1, fr.top(),
- fr.right() - 1, fr.top());
- if (! selected)
- p->drawLine(fr.left(), fr.bottom(),
- fr.right() + 3, fr.bottom());
-
- if (fr.left() == 0)
- p->drawLine(fr.left(), fr.bottom(),
- fr.left(), fr.bottom() + 1);
-
- p->setPen(g.dark());
- p->drawLine(fr.right() - 1, fr.top() + 2,
- fr.right() - 1, fr.bottom() - 1);
-
- p->setPen(TQt::black);
- p->drawLine(fr.right(), fr.top() + 1,
- fr.right(), fr.bottom() - 1);
- } else if (tabbar->tqshape() == TQTabBar::RoundedBelow) {
- // "rounded" tabs on bottom
- fr.setTop(fr.top() + 1);
-
- p->setPen(g.dark());
- p->drawLine(fr.right() + 3, fr.top() - 1,
- fr.right() - 1, fr.top() - 1);
- p->drawLine(fr.right() - 1, fr.top(),
- fr.right() - 1, fr.bottom() - 2);
- p->drawLine(fr.right() - 1, fr.bottom() - 2,
- fr.left() + 2, fr.bottom() - 2);
- if (! selected) {
- p->drawLine(fr.right(), fr.top() - 1,
- fr.left() + 1, fr.top() - 1);
-
- if (fr.left() != 0)
- p->drawPoint(fr.left(), fr.top() - 1);
- }
-
- p->setPen(TQt::black);
- p->drawLine(fr.right(), fr.top(),
- fr.right(), fr.bottom() - 2);
- p->drawLine(fr.right() - 1, fr.bottom() - 1,
- fr.left(), fr.bottom() - 1);
- if (! selected)
- p->drawLine(fr.right() + 3, fr.top(),
- fr.left(), fr.top());
- else
- p->drawLine(fr.right() + 3, fr.top(),
- fr.right(), fr.top());
-
- p->setPen(g.light());
- p->drawLine(fr.left(), fr.top() + 1,
- fr.left(), fr.bottom() - 2);
-
- if (selected) {
- p->drawPoint(fr.left(), fr.top());
- if (fr.left() == 0)
- p->drawPoint(fr.left(), fr.top() - 1);
-
- p->setPen(g.button());
- p->drawLine(fr.left() + 2, fr.top() - 1,
- fr.left() + 1, fr.top() - 1);
- }
- } else
- // triangular drawing code
- TQMotifStyle::tqdrawControl(element, p, widget, r, cg, flags, opt);
-
- p->setPen(oldpen);
-#endif
- break;
- }
-
- default:
- TQMotifStyle::tqdrawControl(element, p, widget, r, cg, flags, opt);
- break;
- }
-}
-
-
-/*! \reimp
-*/
-TQRect TQMotifPlusStyle::subRect(SubRect r, const TQWidget *widget) const
-{
- TQRect rect;
-
- switch (r) {
- case SR_PushButtonFocusRect:
- {
-#ifndef TQT_NO_PUSHBUTTON
- const TQPushButton *button = (const TQPushButton *) widget;
- int dfi = tqpixelMetric(PM_ButtonDefaultIndicator, widget);
-
- rect = button->rect();
- if (button->isDefault() || button->autoDefault())
- rect.addCoords(dfi, dfi, -dfi, -dfi);
-#endif
- break;
- }
-
- case SR_CheckBoxIndicator:
- {
- int h = tqpixelMetric( PM_IndicatorHeight );
- rect.setRect(( widget->rect().height() - h ) / 2,
- ( widget->rect().height() - h ) / 2,
- tqpixelMetric( PM_IndicatorWidth ), h );
- break;
- }
-
- case SR_RadioButtonIndicator:
- {
- int h = tqpixelMetric( PM_ExclusiveIndicatorHeight );
- rect.setRect( ( widget->rect().height() - h ) / 2,
- ( widget->rect().height() - h ) / 2,
- tqpixelMetric( PM_ExclusiveIndicatorWidth ), h );
- break;
- }
-
- case SR_CheckBoxFocusRect:
- case SR_RadioButtonFocusRect:
- rect = widget->rect();
- break;
-
- case SR_ComboBoxFocusRect:
- {
-#ifndef TQT_NO_COMBOBOX
- const TQComboBox *combobox = (const TQComboBox *) widget;
-
- if (combobox->editable()) {
- rect = querySubControlMetrics(CC_ComboBox, widget,
- SC_ComboBoxEditField);
- rect.addCoords(-3, -3, 3, 3);
- } else
- rect = combobox->rect();
-#endif
- break;
- }
-
- case SR_SliderFocusRect:
- {
-#ifndef TQT_NO_SLIDER
- const TQSlider *slider = (const TQSlider *) widget;
- int tickOffset = tqpixelMetric( PM_SliderTickmarkOffset, widget );
- int thickness = tqpixelMetric( PM_SliderControlThickness, widget );
- int x, y, wi, he;
-
- if ( slider->orientation() == Qt::Horizontal ) {
- x = 0;
- y = tickOffset;
- wi = slider->width();
- he = thickness;
- } else {
- x = tickOffset;
- y = 0;
- wi = thickness;
- he = slider->height();
- }
-
- rect.setRect(x, y, wi, he);
-#endif
- break;
- }
-
- default:
- rect = TQMotifStyle::subRect(r, widget);
- break;
- }
-
- return rect;
-}
-
-
-/*! \reimp */
-void TQMotifPlusStyle::tqdrawComplexControl(TQ_ComplexControl control,
- TQPainter *p,
- const TQWidget *widget,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags flags,
- SCFlags controls,
- SCFlags active,
- const TQStyleOption& opt ) const
-{
- if (widget == singleton->hoverWidget)
- flags |= Style_MouseOver;
-
- switch (control) {
- case CC_ScrollBar:
- {
-#ifndef TQT_NO_SCROLLBAR
- const TQScrollBar *scrollbar = (const TQScrollBar *) widget;
- TQRect addline, subline, addpage, subpage, slider, first, last;
- bool maxedOut = (scrollbar->minValue() == scrollbar->maxValue());
-
- subline = querySubControlMetrics(control, widget, SC_ScrollBarSubLine, opt);
- addline = querySubControlMetrics(control, widget, SC_ScrollBarAddLine, opt);
- subpage = querySubControlMetrics(control, widget, SC_ScrollBarSubPage, opt);
- addpage = querySubControlMetrics(control, widget, SC_ScrollBarAddPage, opt);
- slider = querySubControlMetrics(control, widget, SC_ScrollBarSlider, opt);
- first = querySubControlMetrics(control, widget, SC_ScrollBarFirst, opt);
- last = querySubControlMetrics(control, widget, SC_ScrollBarLast, opt);
-
- bool skipUpdate = FALSE;
- if (singleton->hovering) {
- if (addline.contains(singleton->mousePos)) {
- skipUpdate =
- (singleton->scrollbarElement == SC_ScrollBarAddLine);
- singleton->scrollbarElement = SC_ScrollBarAddLine;
- } else if (subline.contains(singleton->mousePos)) {
- skipUpdate =
- (singleton->scrollbarElement == SC_ScrollBarSubLine);
- singleton->scrollbarElement = SC_ScrollBarSubLine;
- } else if (slider.contains(singleton->mousePos)) {
- skipUpdate =
- (singleton->scrollbarElement == SC_ScrollBarSlider);
- singleton->scrollbarElement = SC_ScrollBarSlider;
- } else {
- skipUpdate =
- (singleton->scrollbarElement == 0);
- singleton->scrollbarElement = 0;
- }
- } else
- singleton->scrollbarElement = 0;
-
- if (skipUpdate && singleton->scrollbarElement == singleton->lastElement)
- break;
-
- singleton->lastElement = singleton->scrollbarElement;
-
- if (controls == (SC_ScrollBarAddLine | SC_ScrollBarSubLine |
- SC_ScrollBarAddPage | SC_ScrollBarSubPage |
- SC_ScrollBarFirst | SC_ScrollBarLast | SC_ScrollBarSlider))
- drawMotifPlusShade(p, widget->rect(), cg, TRUE, FALSE,
- &TQT_TQBRUSH_OBJECT(cg.brush(TQColorGroup::Mid)));
-
- if ((controls & SC_ScrollBarSubLine) && subline.isValid())
- tqdrawPrimitive(PE_ScrollBarSubLine, p, subline, cg,
- ((active == SC_ScrollBarSubLine ||
- singleton->scrollbarElement == SC_ScrollBarSubLine) ?
- Style_MouseOver: Style_Default) |
- ((maxedOut) ? Style_Default : Style_Enabled) |
- ((active == SC_ScrollBarSubLine) ?
- Style_Down : Style_Default) |
- ((scrollbar->orientation() == Qt::Horizontal) ?
- Style_Horizontal : Style_Default));
- if ((controls & SC_ScrollBarAddLine) && addline.isValid())
- tqdrawPrimitive(PE_ScrollBarAddLine, p, addline, cg,
- ((active == SC_ScrollBarAddLine ||
- singleton->scrollbarElement == SC_ScrollBarAddLine) ?
- Style_MouseOver: Style_Default) |
- ((maxedOut) ? Style_Default : Style_Enabled) |
- ((active == SC_ScrollBarAddLine) ?
- Style_Down : Style_Default) |
- ((scrollbar->orientation() == Qt::Horizontal) ?
- Style_Horizontal : Style_Default));
- if ((controls & SC_ScrollBarSubPage) && subpage.isValid())
- tqdrawPrimitive(PE_ScrollBarSubPage, p, subpage, cg,
- ((maxedOut) ? Style_Default : Style_Enabled) |
- ((active == SC_ScrollBarSubPage) ?
- Style_Down : Style_Default) |
- ((scrollbar->orientation() == Qt::Horizontal) ?
- Style_Horizontal : Style_Default));
- if ((controls & SC_ScrollBarAddPage) && addpage.isValid())
- tqdrawPrimitive(PE_ScrollBarAddPage, p, addpage, cg,
- ((maxedOut) ? Style_Default : Style_Enabled) |
- ((active == SC_ScrollBarAddPage) ?
- Style_Down : Style_Default) |
- ((scrollbar->orientation() == Qt::Horizontal) ?
- Style_Horizontal : Style_Default));
- if ((controls & SC_ScrollBarFirst) && first.isValid())
- tqdrawPrimitive(PE_ScrollBarFirst, p, first, cg,
- ((maxedOut) ? Style_Default : Style_Enabled) |
- ((active == SC_ScrollBarFirst) ?
- Style_Down : Style_Default) |
- ((scrollbar->orientation() == Qt::Horizontal) ?
- Style_Horizontal : Style_Default));
- if ((controls & SC_ScrollBarLast) && last.isValid())
- tqdrawPrimitive(PE_ScrollBarLast, p, last, cg,
- ((maxedOut) ? Style_Default : Style_Enabled) |
- ((active == SC_ScrollBarLast) ?
- Style_Down : Style_Default) |
- ((scrollbar->orientation() == Qt::Horizontal) ?
- Style_Horizontal : Style_Default));
- if ((controls & SC_ScrollBarSlider) && slider.isValid()) {
- tqdrawPrimitive(PE_ScrollBarSlider, p, slider, cg,
- ((active == SC_ScrollBarSlider ||
- singleton->scrollbarElement == SC_ScrollBarSlider) ?
- Style_MouseOver: Style_Default) |
- ((maxedOut) ? Style_Default : Style_Enabled) |
- ((scrollbar->orientation() == Qt::Horizontal) ?
- Style_Horizontal : Style_Default));
-
- // ### perhaps this should not be able to accept focus if maxedOut?
- if (scrollbar->hasFocus()) {
- TQRect fr(slider.x() + 2, slider.y() + 2,
- slider.width() - 5, slider.height() - 5);
- tqdrawPrimitive(PE_FocusRect, p, fr, cg, Style_Default);
- }
- }
-#endif
- break;
- }
-
- case CC_ComboBox:
- {
-#ifndef TQT_NO_COMBOBOX
- const TQComboBox *combobox = (const TQComboBox *) widget;
-
- TQRect editfield, arrow;
- editfield =
- tqvisualRect(querySubControlMetrics(CC_ComboBox,
- combobox,
- SC_ComboBoxEditField,
- opt), widget);
- arrow =
- tqvisualRect(querySubControlMetrics(CC_ComboBox,
- combobox,
- SC_ComboBoxArrow,
- opt), widget);
-
- if (combobox->editable()) {
- if (controls & SC_ComboBoxEditField && editfield.isValid()) {
- editfield.addCoords(-3, -3, 3, 3);
- if (combobox->hasFocus())
- editfield.addCoords(1, 1, -1, -1);
- drawMotifPlusShade(p, editfield, cg, TRUE, FALSE,
- (widget->isEnabled() ?
- &TQT_TQBRUSH_OBJECT(cg.brush(TQColorGroup::Base)) :
- &TQT_TQBRUSH_OBJECT(cg.brush(TQColorGroup::Background))));
- }
-
- if (controls & SC_ComboBoxArrow && arrow.isValid()) {
- drawMotifPlusShade(p, arrow, cg, (active == SC_ComboBoxArrow),
- (flags & Style_MouseOver));
-
- int space = (r.height() - 13) / 2;
- arrow.addCoords(space, space, -space, -space);
-
- if (active == SC_ComboBoxArrow)
- flags |= Style_Sunken;
- tqdrawPrimitive(PE_ArrowDown, p, arrow, cg, flags);
- }
- } else {
- if (controls & SC_ComboBoxEditField && editfield.isValid()) {
- editfield.addCoords(-3, -3, 3, 3);
- if (combobox->hasFocus())
- editfield.addCoords(1, 1, -1, -1);
- drawMotifPlusShade(p, editfield, cg, FALSE,
- (flags & Style_MouseOver));
- }
-
- if (controls & SC_ComboBoxArrow && arrow.isValid())
- drawMotifPlusShade(p, arrow, cg, FALSE, (flags & Style_MouseOver));
- }
-
- if (combobox->hasFocus() ||
- (combobox->editable() && combobox->lineEdit()->hasFocus())) {
- TQRect fr = tqvisualRect(subRect(SR_ComboBoxFocusRect, widget), widget);
- tqdrawPrimitive(PE_FocusRect, p, fr, cg, flags);
- }
-#endif
- break;
- }
-
- case CC_SpinWidget:
- {
-#ifndef TQT_NO_SPINWIDGET
- const TQSpinWidget * sw = (const TQSpinWidget *) widget;
- SFlags flags = Style_Default;
-
- if (controls & SC_SpinWidgetFrame)
- drawMotifPlusShade(p, r, cg, TRUE, FALSE, &TQT_TQBRUSH_OBJECT(cg.brush(TQColorGroup::Base)));
-
- if (controls & SC_SpinWidgetUp) {
- flags = Style_Enabled;
- if (active == SC_SpinWidgetUp )
- flags |= Style_Down;
-
- PrimitiveElement pe;
- if ( sw->buttonSymbols() == TQSpinWidget::PlusMinus )
- pe = PE_SpinWidgetPlus;
- else
- pe = PE_SpinWidgetUp;
-
- TQRect re = sw->upRect();
- TQColorGroup ucg = sw->isUpEnabled() ? cg : sw->tqpalette().disabled();
- tqdrawPrimitive(pe, p, re, ucg, flags);
- }
-
- if (controls & SC_SpinWidgetDown) {
- flags = Style_Enabled;
- if (active == SC_SpinWidgetDown )
- flags |= Style_Down;
-
- PrimitiveElement pe;
- if ( sw->buttonSymbols() == TQSpinWidget::PlusMinus )
- pe = PE_SpinWidgetMinus;
- else
- pe = PE_SpinWidgetDown;
-
- TQRect re = sw->downRect();
- TQColorGroup dcg = sw->isDownEnabled() ? cg : sw->tqpalette().disabled();
- tqdrawPrimitive(pe, p, re, dcg, flags);
- }
-#endif
- break;
- }
-
- case CC_Slider:
- {
-#ifndef TQT_NO_SLIDER
- const TQSlider *slider = (const TQSlider *) widget;
- bool mouseover = (flags & Style_MouseOver);
-
- TQRect groove = querySubControlMetrics(CC_Slider, widget, SC_SliderGroove,
- opt),
- handle = querySubControlMetrics(CC_Slider, widget, SC_SliderHandle,
- opt);
-
- if ((controls & SC_SliderGroove) && groove.isValid()) {
- drawMotifPlusShade(p, groove, cg, TRUE, FALSE,
- &TQT_TQBRUSH_OBJECT(cg.brush(TQColorGroup::Mid)));
-
- if ( flags & Style_HasFocus ) {
- TQRect fr = subRect( SR_SliderFocusRect, widget );
- tqdrawPrimitive( PE_FocusRect, p, fr, cg, flags );
- }
- }
-
- if ((controls & SC_SliderHandle) && handle.isValid()) {
- if ((mouseover && handle.contains(singleton->mousePos)) ||
- singleton->sliderActive)
- flags |= Style_MouseOver;
- else
- flags &= ~Style_MouseOver;
- tqdrawPrimitive(PE_ButtonBevel, p, handle, cg, flags | Style_Raised);
-
- if ( slider->orientation() == Qt::Horizontal ) {
- TQCOORD mid = handle.x() + handle.width() / 2;
- qDrawShadeLine( p, mid, handle.y() + 1, mid ,
- handle.y() + handle.height() - 3,
- cg, TRUE, 1);
- } else {
- TQCOORD mid = handle.y() + handle.height() / 2;
- qDrawShadeLine( p, handle.x() + 1, mid,
- handle.x() + handle.width() - 3, mid,
- cg, TRUE, 1);
- }
- }
-
- if (controls & SC_SliderTickmarks)
- TQMotifStyle::tqdrawComplexControl(control, p, widget, r, cg, flags,
- SC_SliderTickmarks, active, opt);
-#endif
- break;
- }
-
- default:
- TQMotifStyle::tqdrawComplexControl(control, p, widget, r, cg, flags,
- controls, active, opt);
- }
-}
-
-
-/*! \reimp
-*/
-TQRect TQMotifPlusStyle::querySubControlMetrics(TQ_ComplexControl control,
- const TQWidget *widget,
- SubControl subcontrol,
- const TQStyleOption& opt) const
-{
- switch (control) {
- case CC_SpinWidget: {
- int fw = tqpixelMetric( PM_SpinBoxFrameWidth, 0 );
- TQSize bs;
- bs.setHeight( (widget->height() + 1)/2 );
- if ( bs.height() < 10 )
- bs.setHeight( 10 );
- bs.setWidth( bs.height() ); // 1.6 -approximate golden mean
- bs = bs.expandedTo( TQApplication::globalStrut() );
- int y = 0;
- int x, lx, rx, h;
- x = widget->width() - y - bs.width();
- lx = fw;
- rx = x - fw * 2;
- h = bs.height() * 2;
-
- switch ( subcontrol ) {
- case SC_SpinWidgetUp:
- return TQRect(x + 1, y, bs.width(), bs.height() - 1);
- case SC_SpinWidgetDown:
- return TQRect(x + 1, y + bs.height() + 1, bs.width(), bs.height());
- case SC_SpinWidgetButtonField:
- return TQRect(x, y, bs.width(), h - 2*fw);
- case SC_SpinWidgetEditField:
- return TQRect(lx, fw, rx, h - 2*fw);
- case SC_SpinWidgetFrame:
- return TQRect( 0, 0, widget->width() - bs.width(), h);
- default:
- break;
- }
- break; }
-
-#ifndef TQT_NO_COMBOBOX
- case CC_ComboBox: {
- const TQComboBox *combobox = (const TQComboBox *) widget;
- if (combobox->editable()) {
- int space = (combobox->height() - 13) / 2;
- switch (subcontrol) {
- case SC_ComboBoxFrame:
- return TQRect();
- case SC_ComboBoxEditField: {
- TQRect rect = widget->rect();
- rect.setWidth(rect.width() - 13 - space * 2);
- rect.addCoords(3, 3, -3, -3);
- return rect; }
- case SC_ComboBoxArrow:
- return TQRect(combobox->width() - 13 - space * 2, 0,
- 13 + space * 2, combobox->height());
- default: break; // shouldn't get here
- }
-
- } else {
- int space = (combobox->height() - 7) / 2;
- switch (subcontrol) {
- case SC_ComboBoxFrame:
- return TQRect();
- case SC_ComboBoxEditField: {
- TQRect rect = widget->rect();
- rect.addCoords(3, 3, -3, -3);
- return rect; }
- case SC_ComboBoxArrow: // 12 wide, 7 tall
- return TQRect(combobox->width() - 12 - space, space, 12, 7);
- default: break; // shouldn't get here
- }
- }
- break; }
-#endif
-
-#ifndef TQT_NO_SLIDER
- case CC_Slider: {
-
- if (subcontrol == SC_SliderHandle) {
- const TQSlider *slider = (const TQSlider *) widget;
- int tickOffset = tqpixelMetric( PM_SliderTickmarkOffset, widget );
- int thickness = tqpixelMetric( PM_SliderControlThickness, widget );
- int len = tqpixelMetric( PM_SliderLength, widget ) + 2;
- int sliderPos = slider->sliderStart();
- int motifBorder = 2;
-
- if ( slider->orientation() == Qt::Horizontal )
- return TQRect( sliderPos + motifBorder, tickOffset + motifBorder, len,
- thickness - 2*motifBorder );
- return TQRect( tickOffset + motifBorder, sliderPos + motifBorder,
- thickness - 2*motifBorder, len);
- }
- break; }
-#endif
- default: break;
- }
- return TQMotifStyle::querySubControlMetrics(control, widget, subcontrol, opt);
-}
-
-
-/*! \reimp */
-bool TQMotifPlusStyle::eventFilter(TQObject *object, TQEvent *event)
-{
- switch(event->type()) {
- case TQEvent::MouseButtonPress:
- {
- singleton->mousePressed = TRUE;
-
- if (!::tqqt_cast<TQSlider*>(object))
- break;
-
- singleton->sliderActive = TRUE;
- break;
- }
-
- case TQEvent::MouseButtonRelease:
- {
- singleton->mousePressed = FALSE;
-
- if (!::tqqt_cast<TQSlider*>(object))
- break;
-
- singleton->sliderActive = FALSE;
- ((TQWidget *) object)->tqrepaint(FALSE);
- break;
- }
-
- case TQEvent::Enter:
- {
- if (! object->isWidgetType())
- break;
-
- singleton->hoverWidget = (TQWidget *) object;
- if (! singleton->hoverWidget->isEnabled()) {
- singleton->hoverWidget = 0;
- break;
- }
- singleton->hoverWidget->tqrepaint(FALSE);
- break;
- }
-
- case TQEvent::Leave:
- {
- if (object != TQT_TQOBJECT(singleton->hoverWidget))
- break;
- TQWidget *w = singleton->hoverWidget;
- singleton->hoverWidget = 0;
- w->tqrepaint(FALSE);
- break;
- }
-
- case TQEvent::MouseMove:
- {
- if (! object->isWidgetType() || object != TQT_TQOBJECT(singleton->hoverWidget))
- break;
-
- if (!::tqqt_cast<TQScrollBar*>(object) && ! ::tqqt_cast<TQSlider*>(object))
- break;
-
- singleton->mousePos = ((TQMouseEvent *) event)->pos();
- if (! singleton->mousePressed) {
- singleton->hovering = TRUE;
- singleton->hoverWidget->tqrepaint(FALSE);
- singleton->hovering = FALSE;
- }
-
- break;
- }
-
- default:
- break;
- }
-
- return TQMotifStyle::eventFilter(object, event);
-}
-
-
-/*! \reimp */
-int TQMotifPlusStyle::tqstyleHint(TQ_StyleHint hint,
- const TQWidget *widget,
- const TQStyleOption &opt,
- TQStyleHintReturn *returnData) const
-{
- int ret;
- switch (hint) {
- case SH_PopupMenu_MouseTracking:
- ret = 1;
- break;
- default:
- ret = TQMotifStyle::tqstyleHint(hint, widget, opt, returnData);
- break;
- }
- return ret;
-}
-
-
-#endif // TQT_NO_STYLE_MOTIFPLUS
diff --git a/tqtinterface/qt4/src/styles/tqmotifplusstyle.h b/tqtinterface/qt4/src/styles/tqmotifplusstyle.h
deleted file mode 100644
index 7e07e22..0000000
--- a/tqtinterface/qt4/src/styles/tqmotifplusstyle.h
+++ /dev/null
@@ -1,125 +0,0 @@
-/****************************************************************************
-**
-** Definition of TQMotifPlusStyle class
-**
-** Created : 000727
-**
-** Copyright (C) 2005-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of the widgets module of the TQt GUI Toolkit.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** This file may be used under the terms of the Q Public License as
-** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
-** included in the packaging of this file. Licensees holding valid TQt
-** Commercial licenses may use this file in accordance with the TQt
-** Commercial License Agreement provided with the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#ifndef TQMOTIFPLUSSTYLE_H
-#define TQMOTIFPLUSSTYLE_H
-
-
-#ifndef TQT_H
-#include "tqmotifstyle.h"
-#endif // TQT_H
-
-#if !defined(TQT_NO_STYLE_MOTIFPLUS) || defined(TQT_PLUGIN)
-
-#if defined(TQT_PLUGIN)
-#define TQ_EXPORT_STYLE_MOTIFPLUS
-#else
-#define TQ_EXPORT_STYLE_MOTIFPLUS TQ_EXPORT
-#endif
-
-class TQ_EXPORT_STYLE_MOTIFPLUS TQMotifPlusStyle : public TQMotifStyle
-{
- Q_OBJECT
- TQ_OBJECT
-
-public:
- TQMotifPlusStyle(bool hoveringHighlight = TRUE);
- virtual ~TQMotifPlusStyle();
-
- void polish(TQPalette &pal);
- void polish(TQWidget *widget);
- void unPolish(TQWidget*widget);
-
- void polish(TQApplication *app);
- void unPolish(TQApplication *app);
-
- void tqdrawPrimitiveBase( TQ_PrimitiveElement pe,
- TQPainter *p,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags flags = Style_Default,
- const TQStyleOption& = TQStyleOption::Default ) const;
-
- void tqdrawControl( TQ_ControlElement element,
- TQPainter *p,
- const TQWidget *widget,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags how = Style_Default,
- const TQStyleOption& = TQStyleOption::Default ) const;
-
- TQRect subRect(SubRect r, const TQWidget *widget) const;
-
- void tqdrawComplexControl(TQ_ComplexControl control,
- TQPainter *p,
- const TQWidget *widget,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags how = Style_Default,
-#ifdef TQ_TQDOC
- SCFlags controls = SC_All,
-#else
- SCFlags controls = (uint)SC_All,
-#endif
- SCFlags active = SC_None,
- const TQStyleOption& = TQStyleOption::Default ) const;
-
- TQRect querySubControlMetrics(TQ_ComplexControl control,
- const TQWidget *widget,
- SubControl subcontrol,
- const TQStyleOption& = TQStyleOption::Default) const;
-
- int tqpixelMetric(PixelMetric metric, const TQWidget *widget = 0) const;
-
- int tqstyleHint(TQ_StyleHint sh, const TQWidget *, const TQStyleOption & = TQStyleOption::Default,
- TQStyleHintReturn* = 0) const;
-
-protected:
- bool eventFilter(TQObject *, TQEvent *);
-
-
-private:
- bool useHoveringHighlight;
-};
-
-
-#endif // TQT_NO_STYLE_MOTIFPLUS
-
-#endif // TQMOTIFPLUSSTYLE_H
diff --git a/tqtinterface/qt4/src/styles/tqmotifstyle.cpp b/tqtinterface/qt4/src/styles/tqmotifstyle.cpp
deleted file mode 100644
index 83d87da..0000000
--- a/tqtinterface/qt4/src/styles/tqmotifstyle.cpp
+++ /dev/null
@@ -1,2367 +0,0 @@
-/****************************************************************************
-**
-** Implementation of Motif-like style class
-**
-** Created : 981231
-**
-** Copyright (C) 1998-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of the widgets module of the TQt GUI Toolkit.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** This file may be used under the terms of the Q Public License as
-** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
-** included in the packaging of this file. Licensees holding valid TQt
-** Commercial licenses may use this file in accordance with the TQt
-** Commercial License Agreement provided with the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#include "tqmotifstyle.h"
-
-#if !defined(TQT_NO_STYLE_MOTIF) || defined(TQT_PLUGIN)
-
-#include "tqpopupmenu.h"
-#include "tqapplication.h"
-#include "tqpainter.h"
-#include "tqdrawutil.h"
-#include "tqpixmap.h"
-#include "tqpalette.h"
-#include "tqwidget.h"
-#include "tqpushbutton.h"
-#include "tqscrollbar.h"
-#include "tqtabbar.h"
-#include "tqtabwidget.h"
-#include "tqlistview.h"
-#include "tqsplitter.h"
-#include "tqslider.h"
-#include "tqcombobox.h"
-#include "tqdockwindow.h"
-#include "tqdockarea.h"
-#include "tqprogressbar.h"
-#include "tqimage.h"
-#include <limits.h>
-
-
-
-// old constants that might still be useful...
-static const int motifItemFrame = 2; // menu item frame width
-static const int motifSepHeight = 2; // separator item height
-static const int motifItemHMargin = 3; // menu item hor text margin
-static const int motifItemVMargin = 2; // menu item ver text margin
-static const int motifArrowHMargin = 6; // arrow horizontal margin
-static const int motifTabSpacing = 12; // space between text and tab
-static const int motifCheckMarkHMargin = 2; // horiz. margins of check mark
-static const int motifCheckMarkSpace = 12;
-
-
-/*!
- \class TQMotifStyle tqmotifstyle.h
- \brief The TQMotifStyle class provides Motif look and feel.
-
- \ingroup appearance
-
- This class implements the Motif look and feel. It closely
- resembles the original Motif look as defined by the Open Group,
- but with some minor improvements. The Motif style is TQt's default
- GUI style on UNIX platforms.
-*/
-
-/*!
- Constructs a TQMotifStyle.
-
- If \a useHighlightCols is FALSE (the default), the style will
- polish the application's color palette to emulate the Motif way of
- highlighting, which is a simple inversion between the base and the
- text color.
-*/
-TQMotifStyle::TQMotifStyle( bool useHighlightCols ) : TQCommonStyle()
-{
- highlightCols = useHighlightCols;
-}
-
-/*!\reimp
-*/
-TQMotifStyle::~TQMotifStyle()
-{
-}
-
-/*!
- If \a arg is FALSE, the style will polish the application's color
- palette to emulate the Motif way of highlighting, which is a
- simple inversion between the base and the text color.
-
- The effect will show up the next time an application palette is
- set via TQApplication::setPalette(). The current color palette of
- the application remains unchanged.
-
- \sa TQStyle::polish()
-*/
-void TQMotifStyle::setUseHighlightColors( bool arg )
-{
- highlightCols = arg;
-}
-
-/*!
- Returns TRUE if the style treats the highlight colors of the
- palette in a Motif-like manner, which is a simple inversion
- between the base and the text color; otherwise returns FALSE. The
- default is FALSE.
-*/
-bool TQMotifStyle::useHighlightColors() const
-{
- return highlightCols;
-}
-
-/*! \reimp */
-
-void TQMotifStyle::polish( TQPalette& pal )
-{
- if ( pal.active().light() == pal.active().base() ) {
- TQColor nlight = pal.active().light().dark(108 );
- pal.setColor( TQPalette::Active, TQColorGroup::Light, nlight ) ;
- pal.setColor( TQPalette::Disabled, TQColorGroup::Light, nlight ) ;
- pal.setColor( TQPalette::Inactive, TQColorGroup::Light, nlight ) ;
- }
-
- if ( highlightCols )
- return;
-
- // force the ugly motif way of highlighting *sigh*
- TQColorGroup disabled = pal.disabled();
- TQColorGroup active = pal.active();
-
- pal.setColor( TQPalette::Active, TQColorGroup::Highlight,
- active.text() );
- pal.setColor( TQPalette::Active, TQColorGroup::HighlightedText,
- active.base());
- pal.setColor( TQPalette::Disabled, TQColorGroup::Highlight,
- disabled.text() );
- pal.setColor( TQPalette::Disabled, TQColorGroup::HighlightedText,
- disabled.base() );
- pal.setColor( TQPalette::Inactive, TQColorGroup::Highlight,
- active.text() );
- pal.setColor( TQPalette::Inactive, TQColorGroup::HighlightedText,
- active.base() );
-}
-
-/*!
- \reimp
- \internal
- Keep TQStyle::polish() visible.
-*/
-void TQMotifStyle::polish( TQWidget* w )
-{
- TQStyle::polish(w);
-}
-
-/*!
- \reimp
- \internal
- Keep TQStyle::polish() visible.
-*/
-void TQMotifStyle::polish( TQApplication* a )
-{
- TQStyle::polish(a);
-}
-
-static void rot(TQPointArray& a, int n)
-{
- TQPointArray r(a.size());
- for (int i = 0; i < (int)a.size(); i++) {
- switch (n) {
- case 1: r.setPoint(i,-a[i].y(),a[i].x()); break;
- case 2: r.setPoint(i,-a[i].x(),-a[i].y()); break;
- case 3: r.setPoint(i,a[i].y(),-a[i].x()); break;
- }
- }
- a = r;
-}
-
-
-/*!\reimp
-*/
-void TQMotifStyle::tqdrawPrimitiveBase( TQ_PrimitiveElement pe,
- TQPainter *p,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags flags,
- const TQStyleOption& opt ) const
-{
- switch( pe ) {
-#ifndef TQT_NO_LISTVIEW
- case PE_CheckListExclusiveIndicator: {
- TQCheckListItem *item = opt.checkListItem();
- TQListView *lv = item->listView();
- if(!item)
- return;
-
- if ( item->isEnabled() )
- p->setPen( TQPen( cg.text() ) );
- else
- p->setPen( TQPen( lv->tqpalette().color( TQPalette::Disabled, TQColorGroup::Text ) ) );
- TQPointArray a;
-
- int cx = r.width()/2 - 1;
- int cy = r.height()/2;
- int e = r.width()/2 - 1;
- for ( int i = 0; i < 3; i++ ) { //penWidth 2 doesn't quite work
- a.setPoints( 4, cx-e, cy, cx, cy-e, cx+e, cy, cx, cy+e );
- p->drawPolygon( a );
- e--;
- }
- if ( item->isOn() ) {
- if ( item->isEnabled() )
- p->setPen( TQPen( cg.text()) );
- else
- p->setPen( TQPen( item->listView()->tqpalette().color( TQPalette::Disabled,
- TQColorGroup::Text ) ) );
- TQBrush saveBrush = p->brush();
- p->setBrush( cg.text() );
- e = e - 2;
- a.setPoints( 4, cx-e, cy, cx, cy-e, cx+e, cy, cx, cy+e );
- p->drawPolygon( a );
- p->setBrush( saveBrush );
- }
- break; }
-#endif
- case PE_ButtonCommand:
- case PE_ButtonBevel:
- case PE_ButtonTool:
-#ifndef USE_QT4 // [FIXME]
- case PE_HeaderSection:
-#endif // USE_QT4
- qDrawShadePanel( p, r, cg, bool(flags & (Style_Down | Style_On )),
- tqpixelMetric(PM_DefaultFrameWidth),
- &cg.brush(TQColorGroup::Button) );
- break;
-
- case PE_Indicator: {
-#ifndef TQT_NO_BUTTON
- bool on = flags & Style_On;
- bool down = flags & Style_Down;
- bool showUp = !( down ^ on );
- TQBrush fill = showUp || flags & Style_NoChange ? cg.brush( TQColorGroup::Button ) : cg.brush(TQColorGroup::Mid );
- if ( flags & Style_NoChange ) {
- qDrawPlainRect( p, r, cg.text(),
- 1, &fill );
- p->drawLine( r.x() + r.width() - 1, r.y(),
- r.x(), r.y() + r.height() - 1);
- } else
- qDrawShadePanel( p, r, cg, !showUp,
- tqpixelMetric(PM_DefaultFrameWidth), &fill );
-#endif
- break;
- }
-
- case PE_ExclusiveIndicator:
- {
-#define TQCOORDARRLEN(x) sizeof(x)/(sizeof(TQCOORD)*2)
- TQCOORD inner_pts[] = { // used for filling diamond
- 2,r.height()/2,
- r.width()/2,2,
- r.width()-3,r.height()/2,
- r.width()/2,r.height()-3
- };
- TQCOORD top_pts[] = { // top (^) of diamond
- 0,r.height()/2,
- r.width()/2,0,
- r.width()-2,r.height()/2-1,
- r.width()-3,r.height()/2-1,
- r.width()/2,1,
- 1,r.height()/2,
- 2,r.height()/2,
- r.width()/2,2,
- r.width()-4,r.height()/2-1
- };
- TQCOORD bottom_pts[] = { // bottom (v) of diamond
- 1,r.height()/2+1,
- r.width()/2,r.height()-1,
- r.width()-1,r.height()/2,
- r.width()-2,r.height()/2,
- r.width()/2,r.height()-2,
- 2,r.height()/2+1,
- 3,r.height()/2+1,
- r.width()/2,r.height()-3,
- r.width()-3,r.height()/2
- };
- bool on = flags & Style_On;
- bool down = flags & Style_Down;
- bool showUp = !(down ^ on );
- TQPointArray a( TQCOORDARRLEN(inner_pts), inner_pts );
- p->eraseRect( r );
- p->setPen( Qt::NoPen );
- p->setBrush( showUp ? cg.brush( TQColorGroup::Button ) :
- cg.brush( TQColorGroup::Mid ) );
- a.translate( r.x(), r.y() );
- p->drawPolygon( a );
- p->setPen( showUp ? cg.light() : cg.dark() );
- p->setBrush( Qt::NoBrush );
- a.setPoints( TQCOORDARRLEN(top_pts), top_pts );
- a.translate( r.x(), r.y() );
- p->drawPolyline( a );
- p->setPen( showUp ? cg.dark() : cg.light() );
- a.setPoints( TQCOORDARRLEN(bottom_pts), bottom_pts );
- a.translate( r.x(), r.y() );
- p->drawPolyline( a );
-
- break;
- }
-
- case PE_ExclusiveIndicatorMask:
- {
- static TQCOORD inner_pts[] = { // used for filling diamond
- 0,r.height()/2,
- r.width()/2,0,
- r.width()-1,r.height()/2,
- r.width()/2,r.height()-1
- };
- TQPointArray a(TQCOORDARRLEN(inner_pts), inner_pts);
- p->setPen(Qt::color1);
- p->setBrush(Qt::color1);
- a.translate(r.x(), r.y());
- p->drawPolygon(a);
- break;
- }
-
- case PE_ArrowUp:
- case PE_ArrowDown:
- case PE_ArrowRight:
- case PE_ArrowLeft:
- {
- TQRect rect = r;
- TQPointArray bFill;
- TQPointArray bTop;
- TQPointArray bBot;
- TQPointArray bLeft;
- bool vertical = pe == PE_ArrowUp || pe == PE_ArrowDown;
- bool horizontal = !vertical;
- int dim = rect.width() < rect.height() ? rect.width() : rect.height();
- int colspec = 0x0000;
-
- if ( dim < 2 )
- break;
-
- // adjust size and center (to fix rotation below)
- if ( rect.width() > dim ) {
- rect.setX( rect.x() + ((rect.width() - dim ) / 2) );
- rect.setWidth( dim );
- }
- if ( rect.height() > dim ) {
- rect.setY( rect.y() + ((rect.height() - dim ) / 2 ));
- rect.setHeight( dim );
- }
-
- if ( dim > 3 ) {
- if ( dim > 6 )
- bFill.resize( dim & 1 ? 3 : 4 );
- bTop.resize( (dim/2)*2 );
- bBot.resize( dim & 1 ? dim + 1 : dim );
- bLeft.resize( dim > 4 ? 4 : 2 );
- bLeft.putPoints( 0, 2, 0,0, 0,dim-1 );
- if ( dim > 4 )
- bLeft.putPoints( 2, 2, 1,2, 1,dim-3 );
- bTop.putPoints( 0, 4, 1,0, 1,1, 2,1, 3,1 );
- bBot.putPoints( 0, 4, 1,dim-1, 1,dim-2, 2,dim-2, 3,dim-2 );
-
- for( int i=0; i<dim/2-2 ; i++ ) {
- bTop.putPoints( i*2+4, 2, 2+i*2,2+i, 5+i*2, 2+i );
- bBot.putPoints( i*2+4, 2, 2+i*2,dim-3-i, 5+i*2,dim-3-i );
- }
- if ( dim & 1 ) // odd number size: extra line
- bBot.putPoints( dim-1, 2, dim-3,dim/2, dim-1,dim/2 );
- if ( dim > 6 ) { // dim>6: must fill interior
- bFill.putPoints( 0, 2, 1,dim-3, 1,2 );
- if ( dim & 1 ) // if size is an odd number
- bFill.setPoint( 2, dim - 3, dim / 2 );
- else
- bFill.putPoints( 2, 2, dim-4,dim/2-1, dim-4,dim/2 );
- }
- }
- else {
- if ( dim == 3 ) { // 3x3 arrow pattern
- bLeft.setPoints( 4, 0,0, 0,2, 1,1, 1,1 );
- bTop .setPoints( 2, 1,0, 1,0 );
- bBot .setPoints( 2, 1,2, 2,1 );
- }
- else { // 2x2 arrow pattern
- bLeft.setPoints( 2, 0,0, 0,1 );
- bTop .setPoints( 2, 1,0, 1,0 );
- bBot .setPoints( 2, 1,1, 1,1 );
- }
- }
-
- // We use rot() and translate() as it is more efficient that
- // matrix transformations on the painter, and because it still
- // works with TQT_NO_TRANSFORMATIONS defined.
-
- if ( pe == PE_ArrowUp || pe == PE_ArrowLeft ) {
- if ( vertical ) {
- rot(bFill,3);
- rot(bLeft,3);
- rot(bTop,3);
- rot(bBot,3);
- bFill.translate( 0, rect.height() - 1 );
- bLeft.translate( 0, rect.height() - 1 );
- bTop.translate( 0, rect.height() - 1 );
- bBot.translate( 0, rect.height() - 1 );
- } else {
- rot(bFill,2);
- rot(bLeft,2);
- rot(bTop,2);
- rot(bBot,2);
- bFill.translate( rect.width() - 1, rect.height() - 1 );
- bLeft.translate( rect.width() - 1, rect.height() - 1 );
- bTop.translate( rect.width() - 1, rect.height() - 1 );
- bBot.translate( rect.width() - 1, rect.height() - 1 );
- }
- if ( flags & Style_Down )
- colspec = horizontal ? 0x2334 : 0x2343;
- else
- colspec = horizontal ? 0x1443 : 0x1434;
- } else {
- if ( vertical ) {
- rot(bFill,1);
- rot(bLeft,1);
- rot(bTop,1);
- rot(bBot,1);
- bFill.translate( rect.width() - 1, 0 );
- bLeft.translate( rect.width() - 1, 0 );
- bTop.translate( rect.width() - 1, 0 );
- bBot.translate( rect.width() - 1, 0 );
- }
- if ( flags & Style_Down )
- colspec = horizontal ? 0x2443 : 0x2434;
- else
- colspec = horizontal ? 0x1334 : 0x1343;
- }
- bFill.translate( rect.x(), rect.y() );
- bLeft.translate( rect.x(), rect.y() );
- bTop.translate( rect.x(), rect.y() );
- bBot.translate( rect.x(), rect.y() );
-
- TQColor *cols[5];
- if ( flags & Style_Enabled ) {
- cols[0] = 0;
- cols[1] = (TQColor *)&cg.button();
- cols[2] = (TQColor *)&cg.mid();
- cols[3] = (TQColor *)&cg.light();
- cols[4] = (TQColor *)&cg.dark();
- } else {
- cols[0] = 0;
- cols[1] = (TQColor *)&cg.button();
- cols[2] = (TQColor *)&cg.button();
- cols[3] = (TQColor *)&cg.button();
- cols[4] = (TQColor *)&cg.button();
- }
-
-#define CMID *cols[ (colspec>>12) & 0xf ]
-#define CLEFT *cols[ (colspec>>8) & 0xf ]
-#define CTOP *cols[ (colspec>>4) & 0xf ]
-#define CBOT *cols[ colspec & 0xf ]
-
- TQPen savePen = p->pen();
- TQBrush saveBrush = p->brush();
- TQPen pen( Qt::NoPen );
- TQBrush brush = cg.brush( flags & Style_Enabled ? TQColorGroup::Button :
- TQColorGroup::Mid );
- p->setPen( pen );
- p->setBrush( brush );
- p->drawPolygon( bFill );
- p->setBrush( Qt::NoBrush );
-
- p->setPen( CLEFT );
- p->drawLineSegments( bLeft );
- p->setPen( CTOP );
- p->drawLineSegments( bTop );
- p->setPen( CBOT );
- p->drawLineSegments( bBot );
-
- p->setBrush( saveBrush );
- p->setPen( savePen );
-#undef CMID
-#undef CLEFT
-#undef CTOP
-#undef CBOT
- break;
- }
-
- case PE_SpinWidgetPlus:
- case PE_SpinWidgetMinus:
- {
- p->save();
- int fw = tqpixelMetric( PM_DefaultFrameWidth );
- TQRect br;
- br.setRect( r.x() + fw, r.y() + fw, r.width() - fw*2,
- r.height() - fw*2 );
-
- if ( flags & Style_Sunken )
- p->fillRect( r, cg.brush( TQColorGroup::Dark ) );
- else
- p->fillRect( r, cg.brush( TQColorGroup::Button ) );
-
- p->setPen( cg.buttonText() );
- p->setBrush( cg.buttonText() );
-
- int length;
- int x = r.x(), y = r.y(), w = r.width(), h = r.height();
- if ( w <= 8 || h <= 6 )
- length = TQMIN( w-2, h-2 );
- else
- length = TQMIN( 2*w / 3, 2*h / 3 );
-
- if ( !(length & 1) )
- length -=1;
- int xmarg = ( w - length ) / 2;
- int ymarg = ( h - length ) / 2;
-
- p->drawLine( x + xmarg, ( y + h / 2 - 1 ),
- x + xmarg + length - 1, ( y + h / 2 - 1 ) );
- if ( pe == PE_SpinWidgetPlus )
- p->drawLine( ( x+w / 2 ) - 1, y + ymarg,
- ( x+w / 2 ) - 1, y + ymarg + length - 1 );
- p->restore();
- break;
- }
-
- case PE_SpinWidgetUp:
- case PE_SpinWidgetDown:
- {
- p->save();
- int fw = tqpixelMetric( PM_DefaultFrameWidth );
- TQRect br;
- br.setRect( r.x() + fw, r.y() + fw, r.width() - fw*2,
- r.height() - fw*2 );
- if ( flags & Style_Sunken )
- p->fillRect( br, cg.brush( TQColorGroup::Mid ) );
- else
- p->fillRect( br, cg.brush( TQColorGroup::Button ) );
-
- int x = r.x(), y = r.y(), w = r.width(), h = r.height();
- int sw = w-4;
- if ( sw < 3 )
- return;
- else if ( !(sw & 1) )
- sw--;
- sw -= ( sw / 7 ) * 2; // Empty border
- int sh = sw/2 + 2; // Must have empty row at foot of arrow
-
- int sx = x + w / 2 - sw / 2 - 1;
- int sy = y + h / 2 - sh / 2 - 1;
-
- TQPointArray a;
- if ( pe == PE_SpinWidgetDown )
- a.setPoints( 3, 0, 1, sw-1, 1, sh-2, sh-1 );
- else
- a.setPoints( 3, 0, sh-1, sw-1, sh-1, sh-2, 1 );
- int bsx = 0;
- int bsy = 0;
- if ( flags & Style_Sunken ) {
- bsx = tqpixelMetric(PM_ButtonShiftHorizontal);
- bsy = tqpixelMetric(PM_ButtonShiftVertical);
- }
- p->translate( sx + bsx, sy + bsy );
- p->setPen( cg.buttonText() );
- p->setBrush( cg.buttonText() );
- p->drawPolygon( a );
- p->restore();
- break;
- }
-
- case PE_DockWindowHandle:
- {
- p->save();
- p->translate( r.x(), r.y() );
-
- TQColor dark( cg.dark() );
- TQColor light( cg.light() );
- unsigned int i;
- if ( flags & Style_Horizontal ) {
- int h = r.height();
- if ( h > 6 ) {
- if ( flags & Style_On )
- p->fillRect( 1, 1, 8, h - 2, cg.highlight() );
- TQPointArray a( 2 * ((h-6)/3) );
- int y = 3 + (h%3)/2;
- p->setPen( dark );
- p->drawLine( 8, 1, 8, h-2 );
- for( i=0; 2*i < a.size(); i ++ ) {
- a.setPoint( 2*i, 5, y+1+3*i );
- a.setPoint( 2*i+1, 2, y+2+3*i );
- }
- p->drawPoints( a );
- p->setPen( light );
- p->drawLine( 9, 1, 9, h-2 );
- for( i=0; 2*i < a.size(); i++ ) {
- a.setPoint( 2*i, 4, y+3*i );
- a.setPoint( 2*i+1, 1, y+1+3*i );
- }
- p->drawPoints( a );
- // if ( drawBorder ) {
- // p->setPen( TQPen( TQt::darkGray ) );
- // p->drawLine( 0, r.height() - 1,
- // tbExtent, r.height() - 1 );
- // }
- }
- } else {
- int w = r.width();
- if ( w > 6 ) {
- if ( flags & Style_On )
- p->fillRect( 1, 1, w - 2, 9, cg.highlight() );
- TQPointArray a( 2 * ((w-6)/3) );
-
- int x = 3 + (w%3)/2;
- p->setPen( dark );
- p->drawLine( 1, 8, w-2, 8 );
- for( i=0; 2*i < a.size(); i ++ ) {
- a.setPoint( 2*i, x+1+3*i, 6 );
- a.setPoint( 2*i+1, x+2+3*i, 3 );
- }
- p->drawPoints( a );
- p->setPen( light );
- p->drawLine( 1, 9, w-2, 9 );
- for( i=0; 2*i < a.size(); i++ ) {
- a.setPoint( 2*i, x+3*i, 5 );
- a.setPoint( 2*i+1, x+1+3*i, 2 );
- }
- p->drawPoints( a );
- // if ( drawBorder ) {
- // p->setPen( TQPen( TQt::darkGray ) );
- // p->drawLine( r.width() - 1, 0,
- // r.width() - 1, tbExtent );
- // }
- }
- }
- p->restore();
- break;
- }
-
- case PE_Splitter:
- if (flags & Style_Horizontal)
- flags &= ~Style_Horizontal;
- else
- flags |= Style_Horizontal;
- // fall through intended
-
-#ifndef USE_QT4 // [FIXME]
- case PE_DockWindowResizeHandle:
-#endif // USE_QT4
- {
- const int motifOffset = 10;
- int sw = tqpixelMetric( PM_SplitterWidth );
- if ( flags & Style_Horizontal ) {
- TQCOORD yPos = r.y() + r.height() / 2;
- TQCOORD kPos = r.width() - motifOffset - sw;
- TQCOORD kSize = sw - 2;
-
- qDrawShadeLine( p, 0, yPos, kPos, yPos, cg );
- qDrawShadePanel( p, kPos, yPos - sw / 2 + 1, kSize, kSize,
- cg, FALSE, 1, &cg.brush( TQColorGroup::Button ) );
- qDrawShadeLine( p, kPos + kSize - 1, yPos, r.width(), yPos, cg );
- } else {
- TQCOORD xPos = r.x() + r.width() / 2;
- TQCOORD kPos = motifOffset;
- TQCOORD kSize = sw - 2;
-
- qDrawShadeLine( p, xPos, kPos + kSize - 1, xPos, r.height(), cg );
- qDrawShadePanel( p, xPos - sw / 2 + 1, kPos, kSize, kSize, cg,
- FALSE, 1, &cg.brush( TQColorGroup::Button ) );
- qDrawShadeLine( p, xPos, 0, xPos, kPos, cg );
- }
- break;
- }
-
-#ifndef USE_QT4 // [FIXME]
- case PE_CheckMark:
- {
- const int markW = 6;
- const int markH = 6;
- int posX = r.x() + ( r.width() - markW ) / 2 - 1;
- int posY = r.y() + ( r.height() - markH ) / 2;
- int dfw = tqpixelMetric(PM_DefaultFrameWidth);
-
- if (dfw < 2) {
- // Could do with some optimizing/caching...
- TQPointArray a( 7*2 );
- int i, xx, yy;
- xx = posX;
- yy = 3 + posY;
- for ( i=0; i<3; i++ ) {
- a.setPoint( 2*i, xx, yy );
- a.setPoint( 2*i+1, xx, yy+2 );
- xx++; yy++;
- }
- yy -= 2;
- for ( i=3; i<7; i++ ) {
- a.setPoint( 2*i, xx, yy );
- a.setPoint( 2*i+1, xx, yy+2 );
- xx++; yy--;
- }
- if ( ! (flags & Style_Enabled) && ! (flags & Style_On) ) {
- int pnt;
- p->setPen( cg.highlightedText() );
- TQPoint offset(1,1);
- for ( pnt = 0; pnt < (int)a.size(); pnt++ )
- a[pnt] += offset;
- p->drawLineSegments( a );
- for ( pnt = 0; pnt < (int)a.size(); pnt++ )
- a[pnt] -= offset;
- }
- p->setPen( cg.text() );
- p->drawLineSegments( a );
-
- qDrawShadePanel( p, posX-2, posY-2, markW+4, markH+6, cg, TRUE, dfw);
- } else
- qDrawShadePanel( p, posX, posY, markW, markH, cg, TRUE, dfw,
- &cg.brush( TQColorGroup::Mid ) );
-
- break;
- }
-#endif // USE_QT4
-
- case PE_ScrollBarSubLine:
- tqdrawPrimitive(((flags & Style_Horizontal) ? PE_ArrowLeft : PE_ArrowUp),
- p, r, cg, Style_Enabled | flags);
- break;
-
- case PE_ScrollBarAddLine:
- tqdrawPrimitive(((flags & Style_Horizontal) ? PE_ArrowRight : PE_ArrowDown),
- p, r, cg, Style_Enabled | flags);
- break;
-
- case PE_ScrollBarSubPage:
- case PE_ScrollBarAddPage:
- p->fillRect(r, cg.brush(TQColorGroup::Mid));
- break;
-
- case PE_ScrollBarSlider:
- tqdrawPrimitive(PE_ButtonBevel, p, r, cg,
- (flags | Style_Raised) & ~Style_Down);
- break;
-
-#ifndef USE_QT4 // [FIXME]
- case PE_ProgressBarChunk:
- p->fillRect( r.x(), r.y() + 2, r.width() - 2,
- r.height() - 4, cg.brush(TQColorGroup::Highlight));
- break;
-#endif // USE_QT4
-
- default:
- TQCommonStyle::tqdrawPrimitive( pe, p, r, cg, flags, opt );
- break;
- }
-}
-
-
-/*!\reimp
-*/
-void TQMotifStyle::tqdrawControl( TQ_ControlElement element,
- TQPainter *p,
- const TQWidget *widget,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags flags,
- const TQStyleOption& opt ) const
-{
- switch( element ) {
- case CE_PushButton:
- {
-#ifndef TQT_NO_PUSHBUTTON
- int diw, x1, y1, x2, y2;
- const TQPushButton *btn;
- TQColorGroup newCg = cg;
- btn = ( const TQPushButton * )widget;
- p->setPen( cg.foreground() );
- p->setBrush( TQBrush( cg.button(), Qt::NoBrush ) );
- diw = tqpixelMetric( PM_ButtonDefaultIndicator );
- r.coords( &x1, &y1, &x2, &y2 );
- if ( btn->isDefault() || btn->autoDefault() ) {
- x1 += diw;
- y1 += diw;
- x2 -= diw;
- y2 -= diw;
- }
- TQBrush fill;
- if ( btn->isDown() )
- fill = newCg.brush( TQColorGroup::Mid );
- else if ( btn->isOn() )
- fill = TQBrush( newCg.mid(), Qt::Dense4Pattern );
- else
- fill = newCg.brush( TQColorGroup::Button );
-
- newCg.setBrush( TQColorGroup::Button, fill );
- if ( btn->isDefault() ) {
- if ( diw == 0 ) {
- TQPointArray a;
- a.setPoints( 9,
- x1, y1, x2, y1, x2, y2, x1, y2, x1, y1+1,
- x2-1, y1+1, x2-1, y2-1, x1+1, y2-1, x1+1, y1+1 );
- p->setPen( newCg.shadow() );
- p->drawPolygon( a );
- x1 += 2;
- y1 += 2;
- x2 -= 2;
- y2 -= 2;
- } else {
- qDrawShadePanel( p, r, newCg, TRUE );
- }
- }
- if ( !btn->isFlat() || btn->isOn() || btn->isDown() ) {
- TQRect tmp( x1, y1, x2 - x1 + 1, y2 - y1 + 1 );
- SFlags flags = Style_Default;
- if ( btn->isOn())
- flags |= Style_On;
- if (btn->isDown())
- flags |= Style_Down;
- p->save();
- p->setBrushOrigin( -widget->backgroundOffset().x(),
- -widget->backgroundOffset().y() );
- tqdrawPrimitive( PE_ButtonCommand, p,
- tmp, newCg,
- flags );
- p->restore();
- }
- if ( p->brush().style() != Qt::NoBrush )
- p->setBrush( Qt::NoBrush );
-#endif
- break;
- }
-
- case CE_TabBarTab:
- {
-#ifndef TQT_NO_TABBAR
- if ( !widget || !widget->parentWidget() || !opt.tab() )
- break;
-
- const TQTabBar * tb = (const TQTabBar *) widget;
- const TQTab * t = opt.tab();
-
- int dfw = tqpixelMetric( PM_DefaultFrameWidth, tb );
- bool selected = flags & Style_Selected;
- int o = dfw > 1 ? 1 : 0;
- bool lastTab = FALSE;
-
- TQRect r2( r );
- if ( tb->tqshape() == TQTabBar::RoundedAbove ) {
- if ( tqstyleHint( SH_TabBar_Alignment, tb ) == TQt::AlignRight &&
- tb->indexOf( t->identifier() ) == tb->count()-1 )
- lastTab = TRUE;
-
- if ( o ) {
- p->setPen( tb->tqcolorGroup().light() );
- p->drawLine( r2.left(), r2.bottom(), r2.right(), r2.bottom() );
- p->setPen( tb->tqcolorGroup().light() );
- p->drawLine( r2.left(), r2.bottom()-1, r2.right(), r2.bottom()-1 );
- if ( r2.left() == 0 )
- p->drawPoint( tb->rect().bottomLeft() );
- }
- else {
- p->setPen( tb->tqcolorGroup().light() );
- p->drawLine( r2.left(), r2.bottom(), r2.right(), r2.bottom() );
- }
-
- if ( selected ) {
- p->fillRect( TQRect( r2.left()+1, r2.bottom()-o, r2.width()-3, 2),
- tb->tqpalette().active().brush( TQColorGroup::Background ));
- p->setPen( tb->tqcolorGroup().background() );
- // p->drawLine( r2.left()+1, r2.bottom(), r2.right()-2, r2.bottom() );
- // if (o)
- // p->drawLine( r2.left()+1, r2.bottom()-1, r2.right()-2, r2.bottom()-1 );
- p->drawLine( r2.left()+1, r2.bottom(), r2.left()+1, r2.top()+2 );
- p->setPen( tb->tqcolorGroup().light() );
- } else {
- p->setPen( tb->tqcolorGroup().light() );
- r2.setRect( r2.left() + 2, r2.top() + 2,
- r2.width() - 4, r2.height() - 2 );
- }
-
- p->drawLine( r2.left(), r2.bottom()-1, r2.left(), r2.top() + 2 );
- p->drawPoint( r2.left()+1, r2.top() + 1 );
- p->drawLine( r2.left()+2, r2.top(),
- r2.right() - 2, r2.top() );
- p->drawPoint( r2.left(), r2.bottom());
-
- if ( o ) {
- p->drawLine( r2.left()+1, r2.bottom(), r2.left()+1, r2.top() + 2 );
- p->drawLine( r2.left()+2, r2.top()+1,
- r2.right() - 2, r2.top()+1 );
- }
-
- p->setPen( tb->tqcolorGroup().dark() );
- p->drawLine( r2.right() - 1, r2.top() + 2,
- r2.right() - 1, r2.bottom() - 1 + (selected ? o : -o));
- if ( o ) {
- p->drawPoint( r2.right() - 1, r2.top() + 1 );
- p->drawLine( r2.right(), r2.top() + 2, r2.right(),
- r2.bottom() -
- (selected ? (lastTab ? 0:1):1+o));
- p->drawPoint( r2.right() - 1, r2.top() + 1 );
- }
- } else if ( tb->tqshape() == TQTabBar::RoundedBelow ) {
- if ( tqstyleHint( SH_TabBar_Alignment, tb ) == TQt::AlignLeft &&
- tb->indexOf( t->identifier() ) == tb->count()-1 )
- lastTab = TRUE;
- if ( selected ) {
- p->fillRect( TQRect( r2.left()+1, r2.top(), r2.width()-3, 1),
- tb->tqpalette().active().brush( TQColorGroup::Background ));
- p->setPen( tb->tqcolorGroup().background() );
- // p->drawLine( r2.left()+1, r2.top(), r2.right()-2, r2.top() );
- p->drawLine( r2.left()+1, r2.top(), r2.left()+1, r2.bottom()-2 );
- p->setPen( tb->tqcolorGroup().dark() );
- } else {
- p->setPen( tb->tqcolorGroup().dark() );
- p->drawLine( r2.left(), r2.top(), r2.right(), r2.top() );
- p->drawLine( r2.left() + 1, r2.top() + 1,
- r2.right() - (lastTab ? 0 : 2),
- r2.top() + 1 );
- r2.setRect( r2.left() + 2, r2.top(),
- r2.width() - 4, r2.height() - 2 );
- }
-
- p->drawLine( r2.right() - 1, r2.top(),
- r2.right() - 1, r2.bottom() - 2 );
- p->drawPoint( r2.right() - 2, r2.bottom() - 2 );
- p->drawLine( r2.right() - 2, r2.bottom() - 1,
- r2.left() + 1, r2.bottom() - 1 );
- p->drawPoint( r2.left() + 1, r2.bottom() - 2 );
-
- if (dfw > 1) {
- p->drawLine( r2.right(), r2.top(),
- r2.right(), r2.bottom() - 1 );
- p->drawPoint( r2.right() - 1, r2.bottom() - 1 );
- p->drawLine( r2.right() - 1, r2.bottom(),
- r2.left() + 2, r2.bottom() );
- }
-
- p->setPen( tb->tqcolorGroup().light() );
- p->drawLine( r2.left(), r2.top() + (selected ? 0 : 2),
- r2.left(), r2.bottom() - 2 );
- p->drawLine( r2.left() + 1, r2.top() + (selected ? 0 : 2),
- r2.left() + 1, r2.bottom() - 3 );
-
- } else {
- TQCommonStyle::tqdrawControl( element, p, widget, r, cg, flags, opt );
- }
-#endif
- break;
- }
-
- case CE_ProgressBarGroove:
- qDrawShadePanel(p, r, cg, TRUE, 2);
- break;
-
- case CE_ProgressBarLabel:
- {
-#ifndef TQT_NO_PROGRESSBAR
- const TQProgressBar * pb = (const TQProgressBar *) widget;
- const int unit_width = tqpixelMetric( PM_ProgressBarChunkWidth, pb );
- int u = r.width() / unit_width;
- int p_v = pb->progress();
- int t_s = pb->totalSteps();
- if ( u > 0 && pb->progress() >= INT_MAX / u && t_s >= u ) {
- // scale down to something usable.
- p_v /= u;
- t_s /= u;
- }
- if ( pb->percentageVisible() && pb->totalSteps() ) {
- int nu = ( u * p_v + t_s/2 ) / t_s;
- int x = unit_width * nu;
- if (pb->indicatorFollowsStyle() || pb->centerIndicator()) {
- p->setPen( cg.highlightedText() );
- p->setClipRect( r.x(), r.y(), x, r.height() );
- p->drawText( r, TQt::AlignCenter | TQt::SingleLine, pb->progressString() );
-
- if ( pb->progress() != pb->totalSteps() ) {
- p->setClipRect( r.x() + x, r.y(), r.width() - x, r.height() );
- p->setPen( cg.highlight() );
- p->drawText( r, TQt::AlignCenter | TQt::SingleLine, pb->progressString() );
- }
- } else {
- p->setPen( cg.text() );
- p->drawText( r, TQt::AlignCenter | TQt::SingleLine, pb->progressString() );
- }
- }
-#endif
- break;
- }
-
-#ifndef TQT_NO_POPUPMENU
- case CE_PopupMenuItem:
- {
- if (! widget || opt.isDefault())
- break;
-
- const TQPopupMenu *popupmenu = (const TQPopupMenu *) widget;
- TQMenuItem *mi = opt.menuItem();
- if ( !mi )
- break;
-
- int tab = opt.tabWidth();
- int maxpmw = opt.maxIconWidth();
- bool dis = ! (flags & Style_Enabled);
- bool checkable = popupmenu->isCheckable();
- bool act = flags & Style_Active;
- int x, y, w, h;
-
- r.rect(&x, &y, &w, &h);
-
- if ( checkable )
- maxpmw = TQMAX( maxpmw, motifCheckMarkSpace );
-
- int checkcol = maxpmw;
-
- if ( mi && mi->isSeparator() ) { // draw separator
- p->setPen( cg.dark() );
- p->drawLine( x, y, x+w, y );
- p->setPen( cg.light() );
- p->drawLine( x, y+1, x+w, y+1 );
- return;
- }
-
- int pw = motifItemFrame;
-
- if ( act && !dis ) { // active item frame
- if (tqpixelMetric( PM_DefaultFrameWidth ) > 1)
- qDrawShadePanel( p, x, y, w, h, cg, FALSE, pw,
- &cg.brush( TQColorGroup::Button ) );
- else
- qDrawShadePanel( p, x+1, y+1, w-2, h-2, cg, TRUE, 1,
- &cg.brush( TQColorGroup::Button ) );
- }
- else // incognito frame
- p->fillRect(x, y, w, h, cg.brush( TQColorGroup::Button ));
-
- if ( !mi )
- return;
-
- TQRect vrect = tqvisualRect( TQRect( x+motifItemFrame, y+motifItemFrame, checkcol, h-2*motifItemFrame ), r );
- int xvis = vrect.x();
- if ( mi->isChecked() ) {
- if ( mi->iconSet() ) {
- qDrawShadePanel( p, xvis, y+motifItemFrame, checkcol, h-2*motifItemFrame,
- cg, TRUE, 1, &cg.brush( TQColorGroup::Midlight ) );
- }
- } else if ( !act ) {
- p->fillRect(xvis, y+motifItemFrame, checkcol, h-2*motifItemFrame,
- cg.brush( TQColorGroup::Button ));
- }
-
- if ( mi->iconSet() ) { // draw iconset
- TQIconSet::Mode mode = TQIconSet::Normal; // no disabled icons in Motif
- if (act && !dis )
- mode = TQIconSet::Active;
- TQPixmap pixmap;
- if ( checkable && mi->isChecked() )
- pixmap = mi->iconSet()->pixmap( TQIconSet::Small, mode, TQIconSet::On );
- else
- pixmap = mi->iconSet()->pixmap( TQIconSet::Small, mode );
-
- int pixw = pixmap.width();
- int pixh = pixmap.height();
- TQRect pmr( 0, 0, pixw, pixh );
- pmr.moveCenter( vrect.center() );
- p->setPen( cg.text() );
- p->drawPixmap( pmr.topLeft(), pixmap );
-
- } else if ( checkable ) { // just "checking"...
- int mw = checkcol;
- int mh = h - 2*motifItemFrame;
- if ( mi->isChecked() ) {
- SFlags cflags = Style_Default;
- if (! dis)
- cflags |= Style_Enabled;
- if (act)
- cflags |= Style_On;
-
- tqdrawPrimitive(PE_CheckMark, p,
- TQRect(xvis, y+motifItemFrame, mw, mh),
- cg, cflags);
- }
- }
-
-
- p->setPen( cg.buttonText() );
-
- TQColor discol;
- if ( dis ) {
- discol = cg.text();
- p->setPen( discol );
- }
-
- int xm = motifItemFrame + checkcol + motifItemHMargin;
-
- vrect = tqvisualRect( TQRect( x+xm, y+motifItemVMargin, w-xm-tab, h-2*motifItemVMargin ), r );
- xvis = vrect.x();
- if ( mi->custom() ) {
- int m = motifItemVMargin;
- p->save();
- mi->custom()->paint( p, cg, act, !dis,
- xvis, y+m, w-xm-tab+1, h-2*m );
- p->restore();
- }
- TQString s = mi->text();
- if ( !s.isNull() ) { // draw text
- int t = s.find( '\t' );
- int m = motifItemVMargin;
- int text_flags = TQt::AlignVCenter|TQt::ShowPrefix | TQt::DontClip | TQt::SingleLine;
- text_flags |= (TQApplication::reverseLayout() ? TQt::AlignRight : TQt::AlignLeft );
- if ( t >= 0 ) { // draw tab text
- TQRect vr = tqvisualRect( TQRect( x+w-tab-motifItemHMargin-motifItemFrame,
- y+motifItemVMargin, tab, h-2*motifItemVMargin ), r );
- int xv = vr.x();
- p->drawText( xv, y+m, tab, h-2*m, text_flags, s.mid( t+1 ) );
- s = s.left( t );
- }
- p->drawText( xvis, y+m, w-xm-tab+1, h-2*m, text_flags, s, t );
- } else if ( mi->pixmap() ) { // draw pixmap
- TQPixmap *pixmap = mi->pixmap();
- if ( pixmap->depth() == 1 )
- p->setBackgroundMode( Qt::OpaqueMode );
- p->drawPixmap( xvis, y+motifItemFrame, *pixmap );
- if ( pixmap->depth() == 1 )
- p->setBackgroundMode( Qt::TransparentMode );
- }
- if ( mi->popup() ) { // draw sub menu arrow
- int dim = (h-2*motifItemFrame) / 2;
- TQStyle::PrimitiveElement arrow = (TQApplication::reverseLayout() ? PE_ArrowLeft : PE_ArrowRight);
- TQRect vr = tqvisualRect( TQRect(x+w - motifArrowHMargin - motifItemFrame - dim,
- y+h/2-dim/2, dim, dim), r );
- if ( act )
- tqdrawPrimitive(arrow, p, vr, cg,
- (Style_Down |
- (dis ? Style_Default : Style_Enabled)) );
- else
- tqdrawPrimitive(arrow, p, vr, cg,
- (dis ? Style_Default : Style_Enabled));
- }
-
- break;
- }
-#endif // TQT_NO_POPUPMENU
-
- case CE_MenuBarItem:
- {
- if ( flags & Style_Active ) // active item
- qDrawShadePanel( p, r, cg, FALSE, motifItemFrame,
- &cg.brush(TQColorGroup::Button) );
- else // other item
- p->fillRect( r, cg.brush(TQColorGroup::Button) );
- TQCommonStyle::tqdrawControl( element, p, widget, r, cg, flags, opt );
- break;
- }
-
- default:
- TQCommonStyle::tqdrawControl( element, p, widget, r, cg, flags, opt );
- break;
- }
-}
-
-static int get_combo_extra_width( int h, int w, int *return_awh=0 )
-{
- int awh,
- tmp;
- if ( h < 8 ) {
- awh = 6;
- } else if ( h < 14 ) {
- awh = h - 2;
- } else {
- awh = h/2;
- }
- tmp = (awh * 3) / 2;
- if ( tmp > w / 2 ) {
- awh = w / 2 - 3;
- tmp = w / 2 + 3;
- }
-
- if ( return_awh )
- *return_awh = awh;
-
- return tmp;
-}
-
-static void get_combo_parameters( const TQRect &r,
- int &ew, int &awh, int &ax,
- int &ay, int &sh, int &dh,
- int &sy )
-{
- ew = get_combo_extra_width( r.height(), r.width(), &awh );
-
- sh = (awh+3)/4;
- if ( sh < 3 )
- sh = 3;
- dh = sh/2 + 1;
-
- ay = r.y() + (r.height()-awh-sh-dh)/2;
- if ( ay < 0 ) {
- //panic mode
- ay = 0;
- sy = r.height();
- } else {
- sy = ay+awh+dh;
- }
- ax = r.x() + r.width() - ew;
- ax += (ew-awh)/2;
-}
-
-/*!\reimp
-*/
-void TQMotifStyle::tqdrawComplexControl( TQ_ComplexControl control,
- TQPainter *p,
- const TQWidget *widget,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags flags,
- SCFlags sub,
- SCFlags subActive,
- const TQStyleOption& opt ) const
-{
- switch ( control ) {
- case CC_SpinWidget: {
- SCFlags drawSub = SC_None;
- if ( sub & SC_SpinWidgetFrame )
- qDrawShadePanel( p, r, cg, TRUE,
- tqpixelMetric( PM_DefaultFrameWidth) );
-
- if ( sub & SC_SpinWidgetUp || sub & SC_SpinWidgetDown ) {
- if ( sub & SC_SpinWidgetUp )
- drawSub |= SC_SpinWidgetUp;
- if ( sub & SC_SpinWidgetDown )
- drawSub |= SC_SpinWidgetDown;
-
- TQCommonStyle::tqdrawComplexControl( control, p, widget, r, cg, flags,
- drawSub, subActive, opt );
- }
- break; }
-
- case CC_Slider:
- {
-#ifndef TQT_NO_SLIDER
- const TQSlider * slider = (const TQSlider *) widget;
-
- TQRect groove = querySubControlMetrics(CC_Slider, widget, SC_SliderGroove,
- opt),
- handle = querySubControlMetrics(CC_Slider, widget, SC_SliderHandle,
- opt);
-
- if ((sub & SC_SliderGroove) && groove.isValid()) {
- qDrawShadePanel( p, groove, cg, TRUE, 2,
- &cg.brush( TQColorGroup::Mid ) );
-
-
- if ( flags & Style_HasFocus ) {
- TQRect fr = subRect( SR_SliderFocusRect, widget );
- tqdrawPrimitive( PE_FocusRect, p, fr, cg );
- }
- }
-
- if (( sub & SC_SliderHandle ) && handle.isValid()) {
- tqdrawPrimitive( PE_ButtonBevel, p, handle, cg );
-
- if ( slider->orientation() == Qt::Horizontal ) {
- TQCOORD mid = handle.x() + handle.width() / 2;
- qDrawShadeLine( p, mid, handle.y(), mid,
- handle.y() + handle.height() - 2,
- cg, TRUE, 1);
- } else {
- TQCOORD mid = handle.y() + handle.height() / 2;
- qDrawShadeLine( p, handle.x(), mid,
- handle.x() + handle.width() - 2, mid,
- cg, TRUE, 1);
- }
- }
-
- if ( sub & SC_SliderTickmarks )
- TQCommonStyle::tqdrawComplexControl( control, p, widget, r, cg, flags,
- SC_SliderTickmarks, subActive,
- opt );
-#endif
- break;
- }
-
- case CC_ComboBox:
-#ifndef TQT_NO_COMBOBOX
- if ( sub & SC_ComboBoxArrow ) {
- const TQComboBox * cb = (const TQComboBox *) widget;
- int awh, ax, ay, sh, sy, dh, ew;
- int fw = tqpixelMetric( PM_DefaultFrameWidth, cb);
-
- tqdrawPrimitive( PE_ButtonCommand, p, r, cg, flags );
- TQRect ar = TQStyle::tqvisualRect( querySubControlMetrics( CC_ComboBox, cb, SC_ComboBoxArrow,
- opt ), cb );
- tqdrawPrimitive( PE_ArrowDown, p, ar, cg, flags | Style_Enabled );
-
- TQRect tr = r;
- tr.addCoords( fw, fw, -fw, -fw );
- get_combo_parameters( tr, ew, awh, ax, ay, sh, dh, sy );
-
- // draws the shaded line under the arrow
- p->setPen( cg.light() );
- p->drawLine( ar.x(), sy, ar.x()+awh-1, sy );
- p->drawLine( ar.x(), sy, ar.x(), sy+sh-1 );
- p->setPen( cg.dark() );
- p->drawLine( ar.x()+1, sy+sh-1, ar.x()+awh-1, sy+sh-1 );
- p->drawLine( ar.x()+awh-1, sy+1, ar.x()+awh-1, sy+sh-1 );
-
- if ( cb->hasFocus() ) {
- TQRect re = TQStyle::tqvisualRect( subRect( SR_ComboBoxFocusRect, cb ), cb );
- tqdrawPrimitive( PE_FocusRect, p, re, cg );
- }
- }
-
- if ( sub & SC_ComboBoxEditField ) {
- TQComboBox * cb = (TQComboBox *) widget;
- if ( cb->editable() ) {
- TQRect er = TQStyle::tqvisualRect( querySubControlMetrics( CC_ComboBox, cb,
- SC_ComboBoxEditField ), cb );
- er.addCoords( -1, -1, 1, 1);
- qDrawShadePanel( p, er, cg, TRUE, 1,
- &cg.brush( TQColorGroup::Button ));
- }
- }
-#endif
- p->setPen(cg.buttonText());
- break;
-
- case CC_ScrollBar:
- {
- if (sub == (SC_ScrollBarAddLine | SC_ScrollBarSubLine | SC_ScrollBarAddPage |
- SC_ScrollBarSubPage | SC_ScrollBarFirst | SC_ScrollBarLast |
- SC_ScrollBarSlider))
- qDrawShadePanel(p, widget->rect(), cg, TRUE,
- tqpixelMetric(PM_DefaultFrameWidth, widget),
- &cg.brush(TQColorGroup::Mid));
- TQCommonStyle::tqdrawComplexControl(control, p, widget, r, cg, flags, sub,
- subActive, opt);
- break;
- }
-
-#ifndef TQT_NO_LISTVIEW
- case CC_ListView:
- {
- if ( sub & SC_ListView ) {
- TQCommonStyle::tqdrawComplexControl( control, p, widget, r, cg, flags, sub, subActive, opt );
- }
- if ( sub & ( SC_ListViewBranch | SC_ListViewExpand ) ) {
- if (opt.isDefault())
- break;
-
- TQListViewItem *item = opt.listViewItem();
- TQListViewItem *child = item->firstChild();
-
- int y = r.y();
- int c;
- TQPointArray dotlines;
- if ( subActive == (uint)SC_All && sub == SC_ListViewExpand ) {
- c = 2;
- dotlines.resize(2);
- dotlines[0] = TQPoint( r.right(), r.top() );
- dotlines[1] = TQPoint( r.right(), r.bottom() );
- } else {
- int linetop = 0, linebot = 0;
- // each branch needs at most two lines, ie. four end points
- dotlines.resize( item->childCount() * 4 );
- c = 0;
-
- // skip the stuff above the exposed rectangle
- while ( child && y + child->height() <= 0 ) {
- y += child->totalHeight();
- child = child->nextSibling();
- }
-
- int bx = r.width() / 2;
-
- // paint stuff in the magical area
- TQListView* v = item->listView();
- while ( child && y < r.height() ) {
- if (child->isVisible()) {
- int lh;
- if ( !item->multiLinesEnabled() )
- lh = child->height();
- else
- lh = p->fontMetrics().height() + 2 * v->itemMargin();
- lh = TQMAX( lh, TQApplication::globalStrut().height() );
- if ( lh % 2 > 0 )
- lh++;
- linebot = y + lh/2;
- if ( (child->isExpandable() || child->childCount()) &&
- (child->height() > 0) ) {
- // needs a box
- p->setPen( cg.text() );
- p->drawRect( bx-4, linebot-4, 9, 9 );
- TQPointArray a;
- if ( child->isOpen() )
- a.setPoints( 3, bx-2, linebot-2,
- bx, linebot+2,
- bx+2, linebot-2 ); //RightArrow
- else
- a.setPoints( 3, bx-2, linebot-2,
- bx+2, linebot,
- bx-2, linebot+2 ); //DownArrow
- p->setBrush( cg.text() );
- p->drawPolygon( a );
- p->setBrush( Qt::NoBrush );
- // dotlinery
- dotlines[c++] = TQPoint( bx, linetop );
- dotlines[c++] = TQPoint( bx, linebot - 5 );
- dotlines[c++] = TQPoint( bx + 5, linebot );
- dotlines[c++] = TQPoint( r.width(), linebot );
- linetop = linebot + 5;
- } else {
- // just dotlinery
- dotlines[c++] = TQPoint( bx+1, linebot );
- dotlines[c++] = TQPoint( r.width(), linebot );
- }
- y += child->totalHeight();
- }
- child = child->nextSibling();
- }
-
- // Expand line height to edge of rectangle if there's any
- // visible child below
- while ( child && child->height() <= 0)
- child = child->nextSibling();
- if ( child )
- linebot = r.height();
-
- if ( linetop < linebot ) {
- dotlines[c++] = TQPoint( bx, linetop );
- dotlines[c++] = TQPoint( bx, linebot );
- }
- }
-
- int line; // index into dotlines
- p->setPen( cg.text() );
- if ( sub & SC_ListViewBranch ) for( line = 0; line < c; line += 2 ) {
- p->drawLine( dotlines[line].x(), dotlines[line].y(),
- dotlines[line+1].x(), dotlines[line+1].y() );
- }
- }
-
- break;
- }
-#endif // TQT_NO_LISTVIEW
-
- default:
- TQCommonStyle::tqdrawComplexControl( control, p, widget, r, cg, flags,
- sub, subActive, opt );
- }
-}
-
-
-/*! \reimp */
-int TQMotifStyle::tqpixelMetric( PixelMetric metric, const TQWidget *widget ) const
-{
- int ret;
-
- switch( metric ) {
- case PM_ButtonDefaultIndicator:
- ret = 3;
- break;
-
- case PM_ButtonShiftHorizontal:
- case PM_ButtonShiftVertical:
- ret = 0;
- break;
-
- case PM_SplitterWidth:
- ret = TQMAX( 10, TQApplication::globalStrut().width() );
- break;
-
- case PM_SliderLength:
- ret = 30;
- break;
-
- case PM_SliderThickness:
- ret = 24;
- break;
-
- case PM_SliderControlThickness:
- {
-#ifndef TQT_NO_SLIDER
- const TQSlider * sl = (const TQSlider *) widget;
- int space = (sl->orientation() == Qt::Horizontal) ? sl->height()
- : sl->width();
- int ticks = sl->tickmarks();
- int n = 0;
- if ( ticks & TQSlider::Above ) n++;
- if ( ticks & TQSlider::Below ) n++;
- if ( !n ) {
- ret = space;
- break;
- }
-
- int thick = 6; // Magic constant to get 5 + 16 + 5
-
- space -= thick;
- //### the two sides may be unequal in size
- if ( space > 0 )
- thick += (space * 2) / (n + 2);
- ret = thick;
-#endif
- break;
- }
-
- case PM_SliderSpaceAvailable:
- {
-#ifndef TQT_NO_SLIDER
- const TQSlider * sl = (const TQSlider *) widget;
- if ( sl->orientation() == Qt::Horizontal )
- ret = sl->width() - tqpixelMetric( PM_SliderLength, sl ) - 6;
- else
- ret = sl->height() - tqpixelMetric( PM_SliderLength, sl ) - 6;
-#endif
- break;
- }
-
- case PM_DockWindowHandleExtent:
- ret = 9;
- break;
-
- case PM_ProgressBarChunkWidth:
- ret = 1;
- break;
-
- case PM_ExclusiveIndicatorWidth:
- case PM_ExclusiveIndicatorHeight:
- ret = 13;
- break;
-
- default:
- ret = TQCommonStyle::tqpixelMetric( metric, widget );
- break;
- }
- return ret;
-}
-
-
-/*!\reimp
-*/
-TQRect TQMotifStyle::querySubControlMetrics( TQ_ComplexControl control,
- const TQWidget *widget,
- SubControl sc,
- const TQStyleOption& opt ) const
-{
- switch ( control ) {
- case CC_SpinWidget: {
- if ( !widget )
- return TQRect();
- int fw = tqpixelMetric( PM_SpinBoxFrameWidth, 0 );
- TQSize bs;
- bs.setHeight( widget->height()/2 );
- if ( bs.height() < 8 )
- bs.setHeight( 8 );
- bs.setWidth( TQMIN( bs.height() * 8 / 5, widget->width() / 4 ) ); // 1.6 -approximate golden mean
- bs = bs.expandedTo( TQApplication::globalStrut() );
- int y = 0;
- int x, lx, rx;
- x = widget->width() - y - bs.width();
- lx = fw;
- rx = x - fw * 2;
- switch ( sc ) {
- case SC_SpinWidgetUp:
- return TQRect(x, y, bs.width(), bs.height());
- case SC_SpinWidgetDown:
- return TQRect(x, y + bs.height(), bs.width(), bs.height());
- case SC_SpinWidgetButtonField:
- return TQRect(x, y, bs.width(), widget->height() - 2*fw);
- case SC_SpinWidgetEditField:
- return TQRect(lx, fw, rx, widget->height() - 2*fw);
- case SC_SpinWidgetFrame:
- return TQRect( 0, 0,
- widget->width() - bs.width(), widget->height() );
- default:
- break;
- }
- break; }
-
-#ifndef TQT_NO_SLIDER
- case CC_Slider: {
- if (sc == SC_SliderHandle) {
- const TQSlider * sl = (const TQSlider *) widget;
- int tickOffset = tqpixelMetric( PM_SliderTickmarkOffset, sl );
- int thickness = tqpixelMetric( PM_SliderControlThickness, sl );
- int sliderPos = sl->sliderStart();
- int len = tqpixelMetric( PM_SliderLength, sl );
- int motifBorder = 3;
-
- if ( sl->orientation() == Qt::Horizontal )
- return TQRect( sliderPos + motifBorder, tickOffset + motifBorder, len,
- thickness - 2*motifBorder );
- return TQRect( tickOffset + motifBorder, sliderPos + motifBorder,
- thickness - 2*motifBorder, len );
- }
- break; }
-#endif
-
-#ifndef TQT_NO_SCROLLBAR
- case CC_ScrollBar: {
- if (! widget)
- return TQRect();
-
- const TQScrollBar *scrollbar = (const TQScrollBar *) widget;
- int sliderstart = scrollbar->sliderStart();
- int sbextent = tqpixelMetric(PM_ScrollBarExtent, widget);
- int fw = tqpixelMetric(PM_DefaultFrameWidth, widget);
- int buttonw = sbextent - (fw * 2);
- int buttonh = sbextent - (fw * 2);
- int maxlen = ((scrollbar->orientation() == Qt::Horizontal) ?
- scrollbar->width() : scrollbar->height()) -
- (buttonw * 2) - (fw * 2);
- int sliderlen;
-
- // calculate slider length
- if (scrollbar->maxValue() != scrollbar->minValue()) {
- uint range = scrollbar->maxValue() - scrollbar->minValue();
- sliderlen = (scrollbar->pageStep() * maxlen) /
- (range + scrollbar->pageStep());
-
- if ( sliderlen < 9 || range > INT_MAX/2 )
- sliderlen = 9;
- if ( sliderlen > maxlen )
- sliderlen = maxlen;
- } else
- sliderlen = maxlen;
-
- switch (sc) {
- case SC_ScrollBarSubLine:
- // top/left button
- if (scrollbar->orientation() == Qt::Horizontal) {
- if ( scrollbar->width()/2 < sbextent )
- buttonw = scrollbar->width()/2 - (fw*2);
- return TQRect(fw, fw, buttonw, buttonh);
- } else {
- if ( scrollbar->height()/2 < sbextent )
- buttonh = scrollbar->height()/2 - (fw*2);
- return TQRect(fw, fw, buttonw, buttonh);
- }
- case SC_ScrollBarAddLine:
- // bottom/right button
- if (scrollbar->orientation() == Qt::Horizontal) {
- if ( scrollbar->width()/2 < sbextent )
- buttonw = scrollbar->width()/2 - (fw*2);
- return TQRect(scrollbar->width() - buttonw - fw, fw,
- buttonw, buttonh);
- } else {
- if ( scrollbar->height()/2 < sbextent )
- buttonh = scrollbar->height()/2 - (fw*2);
- return TQRect(fw, scrollbar->height() - buttonh - fw,
- buttonw, buttonh);
- }
- case SC_ScrollBarSubPage:
- if (scrollbar->orientation() == Qt::Horizontal)
- return TQRect(buttonw + fw, fw, sliderstart - buttonw - fw, buttonw);
- return TQRect(fw, buttonw + fw, buttonw, sliderstart - buttonw - fw);
-
- case SC_ScrollBarAddPage:
- if (scrollbar->orientation() == Qt::Horizontal)
- return TQRect(sliderstart + sliderlen, fw,
- maxlen - sliderstart - sliderlen + buttonw + fw, buttonw);
- return TQRect(fw, sliderstart + sliderlen, buttonw,
- maxlen - sliderstart - sliderlen + buttonw + fw);
-
- case SC_ScrollBarGroove:
- if (scrollbar->orientation() == Qt::Horizontal)
- return TQRect(buttonw + fw, fw, maxlen, buttonw);
- return TQRect(fw, buttonw + fw, buttonw, maxlen);
-
- case SC_ScrollBarSlider:
- if (scrollbar->orientation() == Qt::Horizontal)
- return TQRect(sliderstart, fw, sliderlen, buttonw);
- return TQRect(fw, sliderstart, buttonw, sliderlen);
-
- default:
- break;
- }
- break; }
-#endif
-
-#ifndef TQT_NO_COMBOBOX
- case CC_ComboBox:
-
- switch ( sc ) {
- case SC_ComboBoxArrow: {
- const TQComboBox * cb = (const TQComboBox *) widget;
- int ew, awh, sh, dh, ax, ay, sy;
- int fw = tqpixelMetric( PM_DefaultFrameWidth, cb );
- TQRect cr = cb->rect();
- cr.addCoords( fw, fw, -fw, -fw );
- get_combo_parameters( cr, ew, awh, ax, ay, sh, dh, sy );
- return TQRect( ax, ay, awh, awh ); }
-
- case SC_ComboBoxEditField: {
- const TQComboBox * cb = (const TQComboBox *) widget;
- int fw = tqpixelMetric( PM_DefaultFrameWidth, cb );
- TQRect rect = cb->rect();
- rect.addCoords( fw, fw, -fw, -fw );
- int ew = get_combo_extra_width( rect.height(), rect.width() );
- rect.addCoords( 1, 1, -1-ew, -1 );
- return rect; }
-
- default:
- break;
- }
- break;
-#endif
- default: break;
- }
- return TQCommonStyle::querySubControlMetrics( control, widget, sc, opt );
-}
-
-/*!\reimp
-*/
-TQSize TQMotifStyle::tqsizeFromContents( ContentsType contents,
- const TQWidget *widget,
- const TQSize &contentsSize,
- const TQStyleOption& opt ) const
-{
- TQSize sz(contentsSize);
-
- switch(contents) {
- case CT_PushButton:
- {
-#ifndef TQT_NO_PUSHBUTTON
- const TQPushButton *button = (const TQPushButton *) widget;
- sz = TQCommonStyle::tqsizeFromContents(contents, widget, contentsSize, opt);
- if ((button->isDefault() || button->autoDefault()) &&
- sz.width() < 80 && ! button->pixmap())
- sz.setWidth(80);
-#endif
- break;
- }
-
- case CT_PopupMenuItem:
- {
-#ifndef TQT_NO_POPUPMENU
- if (! widget || opt.isDefault())
- break;
-
- const TQPopupMenu *popup = (TQPopupMenu *) widget;
- bool checkable = popup->isCheckable();
- TQMenuItem *mi = opt.menuItem();
- int maxpmw = opt.maxIconWidth();
- int w = sz.width(), h = sz.height();
-
- if (mi->custom()) {
- w = mi->custom()->tqsizeHint().width();
- h = mi->custom()->tqsizeHint().height();
- if (! mi->custom()->fullSpan())
- h += 2*motifItemVMargin + 2*motifItemFrame;
- } else if ( mi->widget() ) {
- } else if ( mi->isSeparator() ) {
- w = 10;
- h = motifSepHeight;
- } else if (mi->pixmap() || ! mi->text().isNull())
- h += 2*motifItemVMargin + 2*motifItemFrame;
-
- // a little bit of border can never harm
- w += 2*motifItemHMargin + 2*motifItemFrame;
-
- if ( !mi->text().isNull() && mi->text().find('\t') >= 0 )
- // string contains tab
- w += motifTabSpacing;
- else if (mi->popup())
- // submenu indicator needs some room if we don't have a tab column
- w += motifArrowHMargin + 4*motifItemFrame;
-
- if ( checkable && maxpmw <= 0)
- // if we are checkable and have no iconsets, add space for a checkmark
- w += motifCheckMarkSpace;
- else if (checkable && maxpmw < motifCheckMarkSpace)
- // make sure the check-column is wide enough if we have iconsets
- w += (motifCheckMarkSpace - maxpmw);
-
- // if we have a check-column ( iconsets of checkmarks), add space
- // to separate the columns
- if ( maxpmw > 0 || checkable )
- w += motifCheckMarkHMargin;
-
- sz = TQSize(w, h);
-#endif
- break;
- }
-
- default:
- sz = TQCommonStyle::tqsizeFromContents( contents, widget, contentsSize, opt );
- break;
- }
-
- return sz;
-}
-
-/*!\reimp
-*/
-TQRect TQMotifStyle::subRect( SubRect r, const TQWidget *widget ) const
-{
- TQRect rect;
- TQRect wrect = widget->rect();
-
- switch ( r ) {
- case SR_SliderFocusRect:
- rect = TQCommonStyle::subRect( r, widget );
- rect.addCoords( 2, 2, -2, -2 );
- break;
-
- case SR_ComboBoxFocusRect:
- {
- int awh, ax, ay, sh, sy, dh, ew;
- int fw = tqpixelMetric( PM_DefaultFrameWidth, widget );
- TQRect tr = wrect;
-
- tr.addCoords( fw, fw, -fw, -fw );
- get_combo_parameters( tr, ew, awh, ax, ay, sh, dh, sy );
- rect.setRect(ax-2, ay-2, awh+4, awh+sh+dh+4);
- break;
- }
-
- case SR_DockWindowHandleRect:
- {
-#ifndef TQT_NO_MAINWINDOW
- if ( !widget || !widget->parent() )
- break;
-
- const TQDockWindow * dw = (const TQDockWindow *) widget->parent();
- if ( !dw->area() || !dw->isCloseEnabled() )
- rect.setRect( 0, 0, widget->width(), widget->height() );
- else {
- if ( dw->area()->orientation() == Qt::Horizontal )
- rect.setRect(2, 15, widget->width()-2, widget->height() - 15);
- else
- rect.setRect(0, 2, widget->width() - 15, widget->height() - 2);
- }
-#endif
- break;
- }
-
- case SR_ProgressBarGroove:
- case SR_ProgressBarContents:
- {
-#ifndef TQT_NO_PROGRESSBAR
- TQFontMetrics fm( ( widget ? widget->fontMetrics() :
- TQApplication::fontMetrics() ) );
- const TQProgressBar *progressbar = (const TQProgressBar *) widget;
- int textw = 0;
- if (progressbar->percentageVisible())
- textw = fm.width("100%") + 6;
-
- if (progressbar->indicatorFollowsStyle() ||
- progressbar->centerIndicator())
- rect = wrect;
- else
- rect.setCoords(wrect.left(), wrect.top(),
- wrect.right() - textw, wrect.bottom());
-#endif
- break;
- }
-
- case SR_ProgressBarLabel:
- {
-#ifndef TQT_NO_PROGRESSBAR
- TQFontMetrics fm( ( widget ? widget->fontMetrics() :
- TQApplication::fontMetrics() ) );
- const TQProgressBar *progressbar = (const TQProgressBar *) widget;
- int textw = 0;
- if (progressbar->percentageVisible())
- textw = fm.width("100%") + 6;
-
- if (progressbar->indicatorFollowsStyle() ||
- progressbar->centerIndicator())
- rect = wrect;
- else
- rect.setCoords(wrect.right() - textw, wrect.top(),
- wrect.right(), wrect.bottom());
-#endif
- break;
- }
-
- case SR_CheckBoxContents:
- {
-#ifndef TQT_NO_CHECKBOX
- TQRect ir = subRect(SR_CheckBoxIndicator, widget);
- rect.setRect(ir.right() + 10, wrect.y(),
- wrect.width() - ir.width() - 10, wrect.height());
-#endif
- break;
- }
-
- case SR_RadioButtonContents:
- {
- TQRect ir = subRect(SR_RadioButtonIndicator, widget);
- rect.setRect(ir.right() + 10, wrect.y(),
- wrect.width() - ir.width() - 10, wrect.height());
- break;
- }
-
- default:
- rect = TQCommonStyle::subRect( r, widget );
- }
-
- return rect;
-}
-
-/*! \reimp
-*/
-void TQMotifStyle::polishPopupMenu( TQPopupMenu* p)
-{
-#ifndef TQT_NO_POPUPMENU
- if ( !p->testWState( TQt::WState_Polished ) )
- p->setCheckable( FALSE );
-#endif
-}
-
-
-#ifndef TQT_NO_IMAGEIO_XPM
-static const char * const qt_close_xpm[] = {
-"12 12 2 1",
-" s None c None",
-". c black",
-" ",
-" ",
-" . . ",
-" ... ... ",
-" ...... ",
-" .... ",
-" .... ",
-" ...... ",
-" ... ... ",
-" . . ",
-" ",
-" "};
-
-static const char * const qt_maximize_xpm[] = {
-"12 12 2 1",
-" s None c None",
-". c black",
-" ",
-" ",
-" ",
-" . ",
-" ... ",
-" ..... ",
-" ....... ",
-" ......... ",
-" ",
-" ",
-" ",
-" "};
-
-static const char * const qt_minimize_xpm[] = {
-"12 12 2 1",
-" s None c None",
-". c black",
-" ",
-" ",
-" ",
-" ",
-" ......... ",
-" ....... ",
-" ..... ",
-" ... ",
-" . ",
-" ",
-" ",
-" "};
-
-#if 0 // ### not used???
-static const char * const qt_normalize_xpm[] = {
-"12 12 2 1",
-" s None c None",
-". c black",
-" ",
-" ",
-" . ",
-" .. ",
-" ... ",
-" .... ",
-" ..... ",
-" ...... ",
-" ....... ",
-" ",
-" ",
-" "};
-#endif
-
-static const char * const qt_normalizeup_xpm[] = {
-"12 12 2 1",
-" s None c None",
-". c black",
-" ",
-" ",
-" ",
-" ....... ",
-" ...... ",
-" ..... ",
-" .... ",
-" ... ",
-" .. ",
-" . ",
-" ",
-" "};
-
-static const char * const qt_shade_xpm[] = {
-"12 12 2 1", "# c #000000",
-". c None",
-"............",
-"............",
-".#########..",
-".#########..",
-"............",
-"............",
-"............",
-"............",
-"............",
-"............",
-"............",
-"............"};
-
-
-static const char * const qt_unshade_xpm[] = {
-"12 12 2 1",
-"# c #000000",
-". c None",
-"............",
-"............",
-".#########..",
-".#########..",
-".#.......#..",
-".#.......#..",
-".#.......#..",
-".#.......#..",
-".#.......#..",
-".#########..",
-"............",
-"............"};
-
-
-static const char * dock_window_close_xpm[] = {
-"8 8 2 1",
-"# c #000000",
-". c None",
-"##....##",
-".##..##.",
-"..####..",
-"...##...",
-"..####..",
-".##..##.",
-"##....##",
-"........"};
-
-// Message box icons, from page 210 of the Windows style guide.
-
-// Hand-drawn to resemble Microsoft's icons, but in the Mac/Netscape palette.
-// Thanks to TrueColor displays, it is slightly more efficient to have
-// them duplicated.
-/* XPM */
-static const char * const information_xpm[]={
-"32 32 5 1",
-". c None",
-"c c #000000",
-"* c #999999",
-"a c #ffffff",
-"b c #0000ff",
-"...........********.............",
-"........***aaaaaaaa***..........",
-"......**aaaaaaaaaaaaaa**........",
-".....*aaaaaaaaaaaaaaaaaa*.......",
-"....*aaaaaaaabbbbaaaaaaaac......",
-"...*aaaaaaaabbbbbbaaaaaaaac.....",
-"..*aaaaaaaaabbbbbbaaaaaaaaac....",
-".*aaaaaaaaaaabbbbaaaaaaaaaaac...",
-".*aaaaaaaaaaaaaaaaaaaaaaaaaac*..",
-"*aaaaaaaaaaaaaaaaaaaaaaaaaaaac*.",
-"*aaaaaaaaaabbbbbbbaaaaaaaaaaac*.",
-"*aaaaaaaaaaaabbbbbaaaaaaaaaaac**",
-"*aaaaaaaaaaaabbbbbaaaaaaaaaaac**",
-"*aaaaaaaaaaaabbbbbaaaaaaaaaaac**",
-"*aaaaaaaaaaaabbbbbaaaaaaaaaaac**",
-"*aaaaaaaaaaaabbbbbaaaaaaaaaaac**",
-".*aaaaaaaaaaabbbbbaaaaaaaaaac***",
-".*aaaaaaaaaaabbbbbaaaaaaaaaac***",
-"..*aaaaaaaaaabbbbbaaaaaaaaac***.",
-"...caaaaaaabbbbbbbbbaaaaaac****.",
-"....caaaaaaaaaaaaaaaaaaaac****..",
-".....caaaaaaaaaaaaaaaaaac****...",
-"......ccaaaaaaaaaaaaaacc****....",
-".......*cccaaaaaaaaccc*****.....",
-"........***cccaaaac*******......",
-"..........****caaac*****........",
-".............*caaac**...........",
-"...............caac**...........",
-"................cac**...........",
-".................cc**...........",
-"..................***...........",
-"...................**..........."};
-/* XPM */
-static const char* const warning_xpm[]={
-"32 32 4 1",
-". c None",
-"a c #ffff00",
-"* c #000000",
-"b c #999999",
-".............***................",
-"............*aaa*...............",
-"...........*aaaaa*b.............",
-"...........*aaaaa*bb............",
-"..........*aaaaaaa*bb...........",
-"..........*aaaaaaa*bb...........",
-".........*aaaaaaaaa*bb..........",
-".........*aaaaaaaaa*bb..........",
-"........*aaaaaaaaaaa*bb.........",
-"........*aaaa***aaaa*bb.........",
-".......*aaaa*****aaaa*bb........",
-".......*aaaa*****aaaa*bb........",
-"......*aaaaa*****aaaaa*bb.......",
-"......*aaaaa*****aaaaa*bb.......",
-".....*aaaaaa*****aaaaaa*bb......",
-".....*aaaaaa*****aaaaaa*bb......",
-"....*aaaaaaaa***aaaaaaaa*bb.....",
-"....*aaaaaaaa***aaaaaaaa*bb.....",
-"...*aaaaaaaaa***aaaaaaaaa*bb....",
-"...*aaaaaaaaaa*aaaaaaaaaa*bb....",
-"..*aaaaaaaaaaa*aaaaaaaaaaa*bb...",
-"..*aaaaaaaaaaaaaaaaaaaaaaa*bb...",
-".*aaaaaaaaaaaa**aaaaaaaaaaa*bb..",
-".*aaaaaaaaaaa****aaaaaaaaaa*bb..",
-"*aaaaaaaaaaaa****aaaaaaaaaaa*bb.",
-"*aaaaaaaaaaaaa**aaaaaaaaaaaa*bb.",
-"*aaaaaaaaaaaaaaaaaaaaaaaaaaa*bbb",
-"*aaaaaaaaaaaaaaaaaaaaaaaaaaa*bbb",
-".*aaaaaaaaaaaaaaaaaaaaaaaaa*bbbb",
-"..*************************bbbbb",
-"....bbbbbbbbbbbbbbbbbbbbbbbbbbb.",
-".....bbbbbbbbbbbbbbbbbbbbbbbbb.."};
-/* XPM */
-static const char* const critical_xpm[]={
-"32 32 4 1",
-". c None",
-"a c #999999",
-"* c #ff0000",
-"b c #ffffff",
-"...........********.............",
-".........************...........",
-".......****************.........",
-"......******************........",
-".....********************a......",
-"....**********************a.....",
-"...************************a....",
-"..*******b**********b*******a...",
-"..******bbb********bbb******a...",
-".******bbbbb******bbbbb******a..",
-".*******bbbbb****bbbbb*******a..",
-"*********bbbbb**bbbbb*********a.",
-"**********bbbbbbbbbb**********a.",
-"***********bbbbbbbb***********aa",
-"************bbbbbb************aa",
-"************bbbbbb************aa",
-"***********bbbbbbbb***********aa",
-"**********bbbbbbbbbb**********aa",
-"*********bbbbb**bbbbb*********aa",
-".*******bbbbb****bbbbb*******aa.",
-".******bbbbb******bbbbb******aa.",
-"..******bbb********bbb******aaa.",
-"..*******b**********b*******aa..",
-"...************************aaa..",
-"....**********************aaa...",
-"....a********************aaa....",
-".....a******************aaa.....",
-"......a****************aaa......",
-".......aa************aaaa.......",
-".........aa********aaaaa........",
-"...........aaaaaaaaaaa..........",
-".............aaaaaaa............"};
-/* XPM */
-static const char *const question_xpm[] = {
-"32 32 5 1",
-". c None",
-"c c #000000",
-"* c #999999",
-"a c #ffffff",
-"b c #0000ff",
-"...........********.............",
-"........***aaaaaaaa***..........",
-"......**aaaaaaaaaaaaaa**........",
-".....*aaaaaaaaaaaaaaaaaa*.......",
-"....*aaaaaaaaaaaaaaaaaaaac......",
-"...*aaaaaaaabbbbbbaaaaaaaac.....",
-"..*aaaaaaaabaaabbbbaaaaaaaac....",
-".*aaaaaaaabbaaaabbbbaaaaaaaac...",
-".*aaaaaaaabbbbaabbbbaaaaaaaac*..",
-"*aaaaaaaaabbbbaabbbbaaaaaaaaac*.",
-"*aaaaaaaaaabbaabbbbaaaaaaaaaac*.",
-"*aaaaaaaaaaaaabbbbaaaaaaaaaaac**",
-"*aaaaaaaaaaaaabbbaaaaaaaaaaaac**",
-"*aaaaaaaaaaaaabbaaaaaaaaaaaaac**",
-"*aaaaaaaaaaaaabbaaaaaaaaaaaaac**",
-"*aaaaaaaaaaaaaaaaaaaaaaaaaaaac**",
-".*aaaaaaaaaaaabbaaaaaaaaaaaac***",
-".*aaaaaaaaaaabbbbaaaaaaaaaaac***",
-"..*aaaaaaaaaabbbbaaaaaaaaaac***.",
-"...caaaaaaaaaabbaaaaaaaaaac****.",
-"....caaaaaaaaaaaaaaaaaaaac****..",
-".....caaaaaaaaaaaaaaaaaac****...",
-"......ccaaaaaaaaaaaaaacc****....",
-".......*cccaaaaaaaaccc*****.....",
-"........***cccaaaac*******......",
-"..........****caaac*****........",
-".............*caaac**...........",
-"...............caac**...........",
-"................cac**...........",
-".................cc**...........",
-"..................***...........",
-"...................**...........",
-};
-#endif
-
-/*!
- \reimp
- */
-TQPixmap TQMotifStyle::stylePixmap(StylePixmap sp,
- const TQWidget *widget,
- const TQStyleOption& opt) const
-{
-#ifndef TQT_NO_IMAGEIO_XPM
- switch (sp) {
- case SP_TitleBarShadeButton:
- return TQPixmap((const char **)qt_shade_xpm);
- case SP_TitleBarUnshadeButton:
- return TQPixmap((const char **)qt_unshade_xpm);
- case SP_TitleBarNormalButton:
- return TQPixmap((const char **)qt_normalizeup_xpm);
- case SP_TitleBarMinButton:
- return TQPixmap((const char **)qt_minimize_xpm);
- case SP_TitleBarMaxButton:
- return TQPixmap((const char **)qt_maximize_xpm);
- case SP_TitleBarCloseButton:
- return TQPixmap((const char **)qt_close_xpm);
- case SP_DockWindowCloseButton:
- return TQPixmap((const char **)dock_window_close_xpm );
-
- case SP_MessageBoxInformation:
- case SP_MessageBoxWarning:
- case SP_MessageBoxCritical:
- case SP_MessageBoxQuestion:
- {
- const char * const * xpm_data;
- switch ( sp ) {
- case SP_MessageBoxInformation:
- xpm_data = information_xpm;
- break;
- case SP_MessageBoxWarning:
- xpm_data = warning_xpm;
- break;
- case SP_MessageBoxCritical:
- xpm_data = critical_xpm;
- break;
- case SP_MessageBoxQuestion:
- xpm_data = question_xpm;
- break;
- default:
- xpm_data = 0;
- break;
- }
- TQPixmap pm;
- if ( xpm_data ) {
- TQImage image( (const char **) xpm_data);
- // All that color looks ugly in Motif
- TQColorGroup g = TQApplication::tqpalette().active();
- switch ( sp ) {
- case SP_MessageBoxInformation:
- case SP_MessageBoxQuestion:
- image.setColor( 2, 0xff000000 | g.dark().rgb() );
- image.setColor( 3, 0xff000000 | g.base().rgb() );
- image.setColor( 4, 0xff000000 | g.text().rgb() );
- break;
- case SP_MessageBoxWarning:
- image.setColor( 1, 0xff000000 | g.base().rgb() );
- image.setColor( 2, 0xff000000 | g.text().rgb() );
- image.setColor( 3, 0xff000000 | g.dark().rgb() );
- break;
- case SP_MessageBoxCritical:
- image.setColor( 1, 0xff000000 | g.dark().rgb() );
- image.setColor( 2, 0xff000000 | g.text().rgb() );
- image.setColor( 3, 0xff000000 | g.base().rgb() );
- break;
- default:
- break;
- }
- pm.convertFromImage(image);
- }
- return pm;
- }
-
- default:
- break;
- }
-#endif
-
- return TQCommonStyle::stylePixmap(sp, widget, opt);
-}
-
-
-/*! \reimp */
-int TQMotifStyle::tqstyleHint(TQ_StyleHint hint,
- const TQWidget *widget,
- const TQStyleOption &opt,
- TQStyleHintReturn *returnData) const
-{
- int ret;
-
- switch (hint) {
- case SH_GUIStyle:
- ret = TQt::MotifStyle;
- break;
-
- case SH_ScrollBar_BackgroundMode:
- ret = TQt::PaletteMid;
- break;
-
- case SH_ScrollBar_MiddleClickAbsolutePosition:
- case SH_Slider_SloppyKeyEvents:
- case SH_ProgressDialog_CenterCancelButton:
- case SH_PopupMenu_SpaceActivatesItem:
- case SH_ScrollView_FrameOnlyAroundContents:
- ret = 1;
- break;
-
- case SH_PopupMenu_SubMenuPopupDelay:
- ret = 96;
- break;
-
- case SH_ProgressDialog_TextLabelAlignment:
- ret = TQt::AlignAuto | TQt::AlignVCenter;
- break;
-
- case SH_ItemView_ChangeHighlightOnFocus:
- ret = 0;
- break;
-
- default:
- ret = TQCommonStyle::tqstyleHint(hint, widget, opt, returnData);
- break;
- }
-
- return ret;
-}
-
-
-#endif
diff --git a/tqtinterface/qt4/src/styles/tqmotifstyle.h b/tqtinterface/qt4/src/styles/tqmotifstyle.h
deleted file mode 100644
index 28aac96..0000000
--- a/tqtinterface/qt4/src/styles/tqmotifstyle.h
+++ /dev/null
@@ -1,137 +0,0 @@
-/****************************************************************************
-**
-** Definition of Motif-like style class
-**
-** Created : 981231
-**
-** Copyright (C) 1998-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of the widgets module of the TQt GUI Toolkit.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** This file may be used under the terms of the Q Public License as
-** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
-** included in the packaging of this file. Licensees holding valid TQt
-** Commercial licenses may use this file in accordance with the TQt
-** Commercial License Agreement provided with the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#ifndef TQMOTIFSTYLE_H
-#define TQMOTIFSTYLE_H
-
-#ifndef TQT_H
-#include "tqcommonstyle.h"
-#endif // TQT_H
-
-#if !defined(TQT_NO_STYLE_MOTIF) || defined(TQT_PLUGIN)
-
-class TQPalette;
-
-#if defined(TQT_PLUGIN)
-#define TQ_EXPORT_STYLE_MOTIF
-#else
-#define TQ_EXPORT_STYLE_MOTIF TQ_EXPORT
-#endif
-
-
-class TQ_EXPORT_STYLE_MOTIF TQMotifStyle : public TQCommonStyle
-{
- Q_OBJECT
- TQ_OBJECT
-public:
- TQMotifStyle( bool useHighlightCols=FALSE );
- virtual ~TQMotifStyle();
-
- void setUseHighlightColors( bool );
- bool useHighlightColors() const;
-
- void polish( TQPalette& );
- void polish( TQWidget* );
- void polish( TQApplication* );
-
- void polishPopupMenu( TQPopupMenu* );
-
- // new style API
- void tqdrawPrimitiveBase( TQ_PrimitiveElement pe,
- TQPainter *p,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags flags = Style_Default,
- const TQStyleOption& = TQStyleOption::Default ) const;
-
- void tqdrawControl( TQ_ControlElement element,
- TQPainter *p,
- const TQWidget *widget,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags how = Style_Default,
- const TQStyleOption& = TQStyleOption::Default ) const;
-
- void tqdrawComplexControl( TQ_ComplexControl control,
- TQPainter *p,
- const TQWidget* widget,
- const TQRect& r,
- const TQColorGroup& cg,
- SFlags how = Style_Default,
-#ifdef TQ_TQDOC
- SCFlags sub = SC_All,
-#else
- SCFlags sub = (uint)SC_All,
-#endif
- SCFlags subActive = SC_None,
- const TQStyleOption& = TQStyleOption::Default ) const;
-
- TQRect querySubControlMetrics( TQ_ComplexControl control,
- const TQWidget *widget,
- SubControl sc,
- const TQStyleOption& = TQStyleOption::Default ) const;
-
- int tqpixelMetric( PixelMetric metric, const TQWidget *widget = 0 ) const;
-
- TQSize tqsizeFromContents( ContentsType contents,
- const TQWidget *widget,
- const TQSize &contentsSize,
- const TQStyleOption& = TQStyleOption::Default ) const;
-
- TQRect subRect( SubRect r, const TQWidget *widget ) const;
-
- TQPixmap stylePixmap(StylePixmap, const TQWidget * = 0, const TQStyleOption& = TQStyleOption::Default) const;
-
- int tqstyleHint(TQ_StyleHint sh, const TQWidget *, const TQStyleOption & = TQStyleOption::Default,
- TQStyleHintReturn* = 0) const;
-
-private:
- bool highlightCols;
-
- // Disabled copy constructor and operator=
-#if defined(TQ_DISABLE_COPY)
- TQMotifStyle( const TQMotifStyle & );
- TQMotifStyle& operator=( const TQMotifStyle & );
-#endif
-};
-
-#endif // TQT_NO_STYLE_MOTIF
-
-#endif // TQMOTIFSTYLE_H
diff --git a/tqtinterface/qt4/src/styles/tqplatinumstyle.cpp b/tqtinterface/qt4/src/styles/tqplatinumstyle.cpp
deleted file mode 100644
index 2be69b0..0000000
--- a/tqtinterface/qt4/src/styles/tqplatinumstyle.cpp
+++ /dev/null
@@ -1,1557 +0,0 @@
-/****************************************************************************
-**
-** Implementation of Platinum-like style class
-**
-** Created : 981231
-**
-** Copyright (C) 1998-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of the widgets module of the TQt GUI Toolkit.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** This file may be used under the terms of the Q Public License as
-** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
-** included in the packaging of this file. Licensees holding valid TQt
-** Commercial licenses may use this file in accordance with the TQt
-** Commercial License Agreement provided with the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#include "tqplatinumstyle.h"
-
-#if !defined(TQT_NO_STYLE_PLATINUM) || defined(TQT_PLUGIN)
-
-#include "tqapplication.h"
-#include "tqcombobox.h"
-#include "tqdrawutil.h"
-#include "tqpainter.h"
-#include "tqpalette.h"
-#include "tqpixmap.h"
-#include "tqpushbutton.h"
-#include "tqscrollbar.h"
-#include "tqslider.h"
-#include <limits.h>
-
-/*!
- \class TQPlatinumStyle tqplatinumstyle.h
- \brief The TQPlatinumStyle class provides Mac/Platinum look and feel.
-
- \ingroup appearance
-
- This class implements the Platinum look and feel. It's an
- experimental class that tries to resemble a Macinosh-like GUI
- style with the TQStyle system. The emulation is currently far from
- perfect.
-
- \sa TQAquaStyle
-*/
-
-
-/*!
- Constructs a TQPlatinumStyle
-*/
-TQPlatinumStyle::TQPlatinumStyle()
-{
-}
-
-/*!\reimp
-*/
-TQPlatinumStyle::~TQPlatinumStyle()
-{
-}
-
-
-/*!\reimp
- */
-void TQPlatinumStyle::tqdrawPrimitiveBase( TQ_PrimitiveElement pe,
- TQPainter *p,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags flags,
- const TQStyleOption& opt ) const
-{
- switch (pe) {
- case PE_HeaderSection:
- {
- // adjust the sunken flag, otherwise headers are drawn
- // sunken...
- if ( flags & Style_Sunken )
- flags ^= Style_Sunken;
- tqdrawPrimitive( PE_ButtonBevel, p, r, cg, flags, opt );
- break;
- }
- case PE_ButtonTool:
- {
- // tool buttons don't change color when pushed in platinum,
- // so we need to make the mid and button color the same
- TQColorGroup myCG = cg;
- TQBrush fill;
-
- // quick trick to make sure toolbuttons drawn sunken
- // when they are activated...
- if ( flags & Style_On )
- flags |= Style_Sunken;
-
- fill = myCG.brush( TQColorGroup::Button );
- myCG.setBrush( TQColorGroup::Mid, fill );
- tqdrawPrimitive( PE_ButtonBevel, p, r, myCG, flags, opt );
- break;
- }
- case PE_ButtonBevel:
- {
- int x,
- y,
- w,
- h;
- r.rect( &x, &y, &w, &h );
-
- TQPen oldPen = p->pen();
- if ( w * h < 1600 ||
- TQABS(w - h) > 10 ) {
- // small buttons
-
- if ( !(flags & (Style_Sunken | Style_Down)) ) {
- p->fillRect( x + 2, y + 2, w - 4, h - 4,
- cg.brush(TQColorGroup::Button) );
- // the bright side
- p->setPen( cg.dark() );
- // the bright side
- p->setPen( cg.dark() );
- p->drawLine( x, y, x + w - 1, y );
- p->drawLine( x, y, x, y + h - 1 );
-
- p->setPen( cg.light() );
- p->drawLine( x + 1, y + 1, x + w - 2, y + 1 );
- p->drawLine( x + 1, y + 1, x + 1, y + h - 2 );
-
- // the dark side
- p->setPen( cg.mid() );
- p->drawLine( x + 2, y + h - 2, x + w - 2, y + h - 2 );
- p->drawLine( x + w - 2, y + 2, x + w - 2, y + h - 3 );
-
- p->setPen( cg.dark().dark() );
- p->drawLine( x + 1, y + h - 1, x + w - 1,
- y + h - 1 );
- p->drawLine( x + w - 1, y + 1,
- x + w - 1,
- y + h - 2 );
- } else {
- p->fillRect(x + 2, y + 2,
- w - 4, h - 4,
- cg.brush( TQColorGroup::Mid ));
-
- // the dark side
- p->setPen( cg.dark().dark() );
- p->drawLine( x, y, x + w - 1, y );
- p->drawLine( x, y, x, y + h - 1 );
-
- p->setPen( cg.mid().dark());
- p->drawLine( x + 1, y + 1,
- x + w-2, y + 1);
- p->drawLine( x + 1, y + 1,
- x + 1, y + h - 2 );
-
-
- // the bright side!
-
- p->setPen(cg.button());
- p->drawLine( x + 1, y + h - 2,
- x + w - 2,
- y + h - 2 );
- p->drawLine( x + w - 2, y + 1,
- x + w - 2,
- y + h - 2 );
- p->setPen(cg.dark());
- p->drawLine(x, y + h - 1,
- x + w - 1,
- y + h - 1 );
- p->drawLine(x + w - 1, y,
- x + w - 1,
- y + h - 1 );
- }
- } else {
- // big ones
- if ( !(flags & (Style_Sunken | Style_Down)) ) {
- p->fillRect( x + 3, y + 3, w - 6,
- h - 6,
- cg.brush(TQColorGroup::Button) );
-
- // the bright side
- p->setPen( cg.button().dark() );
- p->drawLine( x, y, x + w - 1, y );
- p->drawLine( x, y, x, y + h - 1 );
-
- p->setPen( cg.button() );
- p->drawLine( x + 1, y + 1,
- x + w - 2, y + 1 );
- p->drawLine( x + 1, y + 1,
- x + 1, y + h - 2 );
-
- p->setPen( cg.light() );
- p->drawLine( x + 2, y + 2,
- x + 2, y + h - 2 );
- p->drawLine( x + 2, y + 2,
- x + w - 2, y + 2 );
- // the dark side!
-
- p->setPen( cg.mid() );
- p->drawLine( x + 3, y + h - 3,
- x + w - 3,
- y + h - 3 );
- p->drawLine( x + w - 3, y + 3,
- x + w - 3,
- y + h - 3 );
- p->setPen( cg.dark() );
- p->drawLine( x + 2, y + h - 2,
- x + w - 2,
- y + h - 2 );
- p->drawLine( x + w - 2, y + 2,
- x + w - 2,
- y + h - 2 );
-
- p->setPen( cg.dark().dark() );
- p->drawLine( x + 1, y + h - 1,
- x + w - 1,
- y + h - 1 );
- p->drawLine( x + w - 1, y + 1,
- x + w - 1,
- y + h - 1 );
- } else {
- p->fillRect( x + 3, y + 3, w - 6,
- h - 6,
- cg.brush( TQColorGroup::Mid ) );
-
- // the dark side
- p->setPen( cg.dark().dark().dark() );
- p->drawLine( x, y, x + w - 1, y );
- p->drawLine( x, y, x, y + h - 1 );
-
- p->setPen( cg.dark().dark() );
- p->drawLine( x + 1, y + 1,
- x + w - 2, y + 1 );
- p->drawLine( x + 1, y + 1,
- x + 1, y + h - 2 );
-
- p->setPen( cg.mid().dark() );
- p->drawLine( x + 2, y + 2,
- x + 2, y + w - 2 );
- p->drawLine( x + 2, y + 2,
- x + w - 2, y + 2 );
-
-
- // the bright side!
-
- p->setPen( cg.button() );
- p->drawLine( x + 2, y + h - 3,
- x + w - 3,
- y + h - 3 );
- p->drawLine( x + w - 3, y + 3,
- x + w - 3,
- y + h - 3 );
-
- p->setPen( cg.midlight() );
- p->drawLine( x + 1, y + h - 2,
- x + w - 2,
- y + h - 2 );
- p->drawLine( x + w - 2, y + 1,
- x + w - 2,
- y + h - 2 );
-
- p->setPen( cg.dark() );
- p->drawLine( x, y + h - 1,
- x + w - 1,
- y + h - 1 );
- p->drawLine( x + w - 1, y,
- x + w - 1,
- y + h - 1 );
-
-
- // corners
- p->setPen( mixedColor(cg.dark().dark().dark(),
- cg.dark()) );
- p->drawPoint( x, y + h - 1 );
- p->drawPoint( x + w - 1, y );
-
- p->setPen( mixedColor(cg.dark().dark(), cg.midlight()) );
- p->drawPoint( x + 1, y + h - 2 );
- p->drawPoint( x + w - 2, y + 1 );
-
- p->setPen( mixedColor(cg.mid().dark(), cg.button() ) );
- p->drawPoint( x + 2, y + h - 3 );
- p->drawPoint( x + w - 3, y + 2 );
- }
- }
- p->setPen( oldPen );
- break;
- }
- case PE_ButtonCommand:
- {
- TQPen oldPen = p->pen();
- int x,
- y,
- w,
- h;
- r.rect( &x, &y, &w, &h);
-
- if ( !(flags & (Style_Down | Style_On)) ) {
- p->fillRect( x+3, y+3, w-6, h-6,
- cg.brush( TQColorGroup::Button ));
- // the bright side
- p->setPen( cg.shadow() );
- p->drawLine( x, y, x+w-1, y );
- p->drawLine( x, y, x, y + h - 1 );
-
- p->setPen( cg.button() );
- p->drawLine( x + 1, y + 1, x + w - 2, y + 1 );
- p->drawLine( x + 1, y + 1, x + 1, y + h - 2 );
-
- p->setPen( cg.light() );
- p->drawLine( x + 2, y + 2, x + 2, y + h - 2 );
- p->drawLine( x + 2, y + 2, x + w - 2, y + 2 );
-
-
- // the dark side!
-
- p->setPen( cg.mid() );
- p->drawLine( x + 3, y + h - 3 ,x + w - 3, y + h - 3 );
- p->drawLine( x + w - 3, y + 3, x + w - 3, y + h - 3 );
-
- p->setPen( cg.dark() );
- p->drawLine( x + 2, y + h - 2, x + w - 2, y + h - 2 );
- p->drawLine( x + w - 2, y + 2, x + w - 2, y + h - 2 );
-
- p->setPen( cg.shadow() );
- p->drawLine( x + 1, y + h - 1, x + w - 1, y + h - 1 );
- p->drawLine( x + w - 1, y, x + w - 1, y + h - 1 );
-
-
- // top left corner:
- p->setPen( cg.background() );
- p->drawPoint( x, y );
- p->drawPoint( x + 1, y );
- p->drawPoint( x, y+1 );
- p->setPen( cg.shadow() );
- p->drawPoint( x + 1, y + 1 );
- p->setPen( cg.button() );
- p->drawPoint( x + 2, y + 2 );
- p->setPen( Qt::white );
- p->drawPoint( x + 3, y + 3 );
- // bottom left corner:
- p->setPen( cg.background() );
- p->drawPoint( x, y + h - 1 );
- p->drawPoint( x + 1, y + h - 1 );
- p->drawPoint( x, y + h - 2 );
- p->setPen( cg.shadow() );
- p->drawPoint( x + 1, y + h - 2 );
- p->setPen( cg.dark() );
- p->drawPoint( x + 2, y + h - 3 );
- // top right corner:
- p->setPen( cg.background() );
- p->drawPoint( x + w -1, y );
- p->drawPoint( x + w - 2, y );
- p->drawPoint( x + w - 1, y + 1 );
- p->setPen( cg.shadow() );
- p->drawPoint( x + w - 2, y + 1 );
- p->setPen( cg.dark() );
- p->drawPoint( x + w - 3, y + 2 );
- // bottom right corner:
- p->setPen( cg.background() );
- p->drawPoint( x + w - 1, y + h - 1 );
- p->drawPoint( x + w - 2, y + h - 1 );
- p->drawPoint( x + w - 1, y + h - 2 );
- p->setPen( cg.shadow() );
- p->drawPoint( x + w - 2, y + h - 2 );
- p->setPen( cg.dark() );
- p->drawPoint( x + w - 3, y + h - 3 );
- p->setPen( cg.mid() );
- p->drawPoint( x + w - 4, y + h - 4 );
-
- } else {
- p->fillRect( x + 2, y + 2, w - 4, h - 4,
- cg.brush(TQColorGroup::Dark) );
-
- // the dark side
- p->setPen( cg.shadow() );
- p->drawLine( x, y, x + w - 1, y );
- p->drawLine( x, y, x, y + h - 1 );
-
- p->setPen( cg.dark().dark() );
- p->drawLine( x + 1, y + 1, x + w - 2, y + 1 );
- p->drawLine( x + 1, y + 1, x + 1, y + h - 2 );
-
- // the bright side!
-
- p->setPen( cg.button() );
- p->drawLine( x + 1, y + h - 2, x + w - 2, y + h - 2 );
- p->drawLine( x + w - 2, y + 1, x + w - 2, y + h - 2 );
-
- p->setPen( cg.dark() );
- p->drawLine( x, y + h - 1, x + w - 1, y + h - 1 );
- p->drawLine( x + w - 1, y, x + w - 1, y + h - 1 );
-
- // top left corner:
- p->setPen( cg.background() );
- p->drawPoint( x, y );
- p->drawPoint( x + 1, y );
- p->drawPoint( x, y + 1 );
- p->setPen( cg.shadow() );
- p->drawPoint( x + 1, y + 1 );
- p->setPen( cg.dark().dark() );
- p->drawPoint( x + 3, y + 3 );
- // bottom left corner:
- p->setPen( cg.background() );
- p->drawPoint( x, y + h - 1 );
- p->drawPoint( x + 1, y + h - 1 );
- p->drawPoint( x, y + h - 2 );
- p->setPen( cg.shadow() );
- p->drawPoint( x + 1, y + h - 2 );
- // top right corner:
- p->setPen( cg.background() );
- p->drawPoint( x + w - 1, y );
- p->drawPoint( x + w - 2, y );
- p->drawPoint( x + w - 1, y + 1 );
- p->setPen( cg.shadow() );
- p->drawPoint( x + w - 2, y + 1 );
- // bottom right corner:
- p->setPen( cg.background() );
- p->drawPoint( x + w - 1, y + h - 1 );
- p->drawPoint( x + w - 2, y + h - 1 );
- p->drawPoint( x + w - 1, y + h - 2 );
- p->setPen( cg.shadow() );
- p->drawPoint( x + w - 2, y + h - 2 );
- p->setPen( cg.dark() );
- p->drawPoint( x + w - 3, y + h - 3 );
- p->setPen( cg.mid() );
- p->drawPoint( x + w - 4, y + h - 4 );
- }
- p->setPen( oldPen );
- break;
- }
- case PE_Indicator:
- {
- tqdrawPrimitive( PE_ButtonBevel, p, TQRect(r.x(), r.y(),
- r.width() - 2, r.height()),
- cg, flags );
- p->fillRect( r.x() + r.width() - 2, r.y(), 2, r.height(),
- cg.brush( TQColorGroup::Background ) );
- p->setPen( cg.shadow() );
- p->drawRect( r.x(), r.y(), r.width() - 2, r.height() );
-
- static const TQCOORD nochange_mark[] = { 3,5, 9,5, 3,6, 9,6 };
- static const TQCOORD check_mark[] = {
- 3,5, 5,5, 4,6, 5,6, 5,7, 6,7, 5,8, 6,8, 6,9, 9,9,
- 6,10, 8,10, 7,11, 8,11, 7,12, 7,12, 8,8, 9,8, 8,7, 10,7,
- 9,6, 10,6, 9,5, 11,5, 10,4, 11,4, 10,3, 12,3,
- 11,2, 12,2, 11,1, 13,1, 12,0, 13,0 };
- if ( !(flags & Style_Off) ) {
- TQPen oldPen = p->pen();
- int x1 = r.x();
- int y1 = r.y();
- if ( flags & Style_Down ) {
- x1++;
- y1++;
- }
- TQPointArray amark;
- if ( flags & Style_On ) {
- amark = TQPointArray( sizeof(check_mark)/(sizeof(TQCOORD)*2),
- check_mark );
- // ### KLUDGE!!
- flags ^= Style_On;
- flags ^= Style_Down;
- } else if ( flags & Style_NoChange ) {
- amark = TQPointArray( sizeof(nochange_mark)
- / (sizeof(TQCOORD) * 2),
- nochange_mark );
- }
-
- amark.translate( x1 + 1, y1 + 1 );
- p->setPen( cg.dark() );
- p->drawLineSegments( amark );
- amark.translate( -1, -1 );
- p->setPen( cg.foreground() );
- p->drawLineSegments( amark );
- p->setPen( oldPen );
- }
- break;
- }
- case PE_IndicatorMask:
- {
- int x,
- y,
- w,
- h;
- r.rect( &x, &y, &w, &h );
- p->fillRect( x, y, w - 2, h, Qt::color1);
- if ( flags & Style_Off ) {
- TQPen oldPen = p->pen();
- p->setPen ( TQPen(Qt::color1, 2));
- p->drawLine( x + 2, y + h / 2 - 1,
- x + w / 2 - 1, y + h - 4 );
- p->drawLine( x + w / 2 - 1, y + h - 4,
- x + w, 0);
- p->setPen( oldPen );
- }
- break;
- }
- case PE_ExclusiveIndicator:
- {
-#define TQCOORDARRLEN(x) sizeof(x) / (sizeof(TQCOORD) * 2 )
- bool down = flags & Style_Down;
- bool on = flags & Style_On;
-
- static const TQCOORD pts1[] = { // normal circle
- 5,0, 8,0, 9,1, 10,1, 11,2, 12,3, 12,4, 13,5,
- 13,8, 12,9, 12,10, 11,11, 10,12, 9,12, 8,13,
- 5,13, 4,12, 3,12, 2,11, 1,10, 1,9, 0,8, 0,5,
- 1,4, 1,3, 2,2, 3,1, 4,1 };
- static const TQCOORD pts2[] = { // top left shadow
- 5,1, 8,1, 3,2, 7,2, 2,3, 5,3, 2,4, 4,4,
- 1,5, 3,5, 1,6, 1,8, 2,6, 2,7 };
- static const TQCOORD pts3[] = { // bottom right, dark
- 5,12, 8,12, 7,11, 10,11, 8,10, 11,10,
- 9,9, 11,9, 10,8, 12,8, 11,7, 11,7,
- 12,5, 12,7 };
- static const TQCOORD pts4[] = { // bottom right, light
- 5,12, 8,12, 7,11, 10,11, 9,10, 11,10,
- 10,9, 11,9, 11,7, 11,8, 12,5, 12,8 };
- static const TQCOORD pts5[] = { // check mark
- 6,4, 8,4, 10,6, 10,8, 8,10, 6,10, 4,8, 4,6 };
- static const TQCOORD pts6[] = { // check mark extras
- 4,5, 5,4, 9,4, 10,5, 10,9, 9,10, 5,10, 4,9 };
- int x, y;
- x = r.x();
- y = r.y();
- p->eraseRect( r );
- p->setBrush( (down||on) ? cg.brush( TQColorGroup::Dark )
- : cg.brush( TQColorGroup::Button) );
- p->setPen( Qt::NoPen );
- p->drawEllipse( x, y, 13, 13 );
- p->setPen( cg.shadow() );
- TQPointArray a( TQCOORDARRLEN(pts1), pts1 );
- a.translate( x, y );
- p->drawPolyline( a ); // draw normal circle
- TQColor tc, bc;
- const TQCOORD *bp;
- int bl;
- if ( down || on ) { // pressed down or on
- tc = cg.dark().dark();
- bc = cg.light();
- bp = pts4;
- bl = TQCOORDARRLEN(pts4);
- } else { // released
- tc = cg.light();
- bc = cg.dark();
- bp = pts3;
- bl = TQCOORDARRLEN(pts3);
- }
- p->setPen( tc );
- a.setPoints( TQCOORDARRLEN(pts2), pts2 );
- a.translate( x, y );
- p->drawLineSegments( a ); // draw top shadow
- p->setPen( bc );
- a.setPoints( bl, bp );
- a.translate( x, y );
- p->drawLineSegments( a );
- if ( on ) { // draw check mark
- int x1 = x,
- y1 = y;
- p->setBrush( cg.foreground() );
- p->setPen( cg.foreground() );
- a.setPoints( TQCOORDARRLEN(pts5), pts5 );
- a.translate( x1, y1 );
- p->drawPolygon( a );
- p->setBrush( Qt::NoBrush );
- p->setPen( cg.dark() );
- a.setPoints( TQCOORDARRLEN(pts6), pts6 );
- a.translate( x1, y1 );
- p->drawLineSegments( a );
- }
- break;
- }
-
- case PE_ExclusiveIndicatorMask:
- {
- static const TQCOORD pts1[] = { // normal circle
- 5,0, 8,0, 9,1, 10,1, 11,2, 12,3, 12,4, 13,5,
- 13,8, 12,9, 12,10, 11,11, 10,12, 9,12, 8,13,
- 5,13, 4,12, 3,12, 2,11, 1,10, 1,9, 0,8, 0,5,
- 1,4, 1,3, 2,2, 3,1, 4,1 };
- TQPointArray a(TQCOORDARRLEN(pts1), pts1);
- a.translate(r.x(), r.y());
- p->setPen(Qt::color1);
- p->setBrush(Qt::color1);
- p->drawPolygon(a);
- break;
- }
- case PE_ScrollBarAddLine:
- {
- tqdrawPrimitive( PE_ButtonBevel, p, r, cg,
- (flags & Style_Enabled) | ((flags & Style_Down)
- ? Style_Sunken
- : Style_Raised) );
- p->setPen( cg.shadow() );
- p->drawRect( r );
- tqdrawPrimitive( ((flags & Style_Horizontal) ? PE_ArrowRight
- : PE_ArrowDown), p, TQRect(r.x() + 2,
- r.y() + 2,
- r.width() - 4,
- r.height() - 4),
- cg, flags );
- break;
- }
- case PE_ScrollBarSubLine:
- {
- tqdrawPrimitive( PE_ButtonBevel, p, r, cg,
- (flags & Style_Enabled) | ((flags & Style_Down)
- ? Style_Sunken
- : Style_Raised) );
- p->setPen( cg.shadow() );
- p->drawRect( r );
- tqdrawPrimitive( ((flags & Style_Horizontal) ? PE_ArrowLeft
- : PE_ArrowUp ), p, TQRect(r.x() + 2,
- r.y() + 2,
- r.width() - 4,
- r.height() - 4),
- cg, flags );
- break;
- }
- case PE_ScrollBarAddPage:
- case PE_ScrollBarSubPage:
- {
- TQPen oldPen = p->pen();
- if ( r.width() < 3 || r.height() < 3 ) {
- p->fillRect( r, cg.brush(TQColorGroup::Mid) );
- p->setPen( cg.shadow() );
- p->drawRect( r );
- p->setPen( oldPen );
- } else {
- int x,
- y,
- w,
- h;
- r.rect( &x, &y, &w, &h );
- if ( flags & Style_Horizontal ) {
- p->fillRect( x + 2, y + 2, w - 2,
- h - 4,
- cg.brush(TQColorGroup::Mid) );
- // the dark side
- p->setPen( cg.dark().dark() );
- p->drawLine( x, y, x + w - 1, y );
- p->setPen( cg.shadow());
- p->drawLine( x, y, x, y + h - 1 );
-
- p->setPen( cg.mid().dark());
- p->drawLine( x + 1, y + 1, x + w - 1,
- y + 1 );
- p->drawLine( x + 1, y + 1, x + 1,
- y + h - 2 );
-
- // the bright side!
-
- p->setPen( cg.button());
- p->drawLine( x + 1, y + h - 2,
- x + w - 1,
- y + h - 2 );
- p->setPen( cg.shadow());
- p->drawLine( x, y + h - 1,
- x + w - 1,
- y + h - 1 );
-
- } else {
- p->fillRect( x + 2, y + 2, w - 4,
- h - 2,
- cg.brush(TQColorGroup::Mid) );
-
- // the dark side
- p->setPen( cg.dark().dark() );
- p->drawLine( x, y, x + w - 1, y );
- p->setPen( cg.shadow() );
- p->drawLine( x, y, x, y + h - 1 );
-
- p->setPen( cg.mid().dark() );
- p->drawLine( x + 1, y + 1, x + w - 2,
- y + 1 );
- p->drawLine( x + 1, y + 1, x + 1,
- y + h - 1 );
-
- // the bright side!
- p->setPen( cg.button() );
- p->drawLine( x + w - 2, y + 1,
- x + w - 2,
- y + h - 1 );
-
- p->setPen( cg.shadow() );
- p->drawLine( x + w - 1, y,
- x + w - 1,
- y + h - 1 );
-
- }
- }
- p->setPen( oldPen );
- break;
- }
- case PE_ScrollBarSlider:
- {
- TQPoint bo = p->brushOrigin();
- p->setBrushOrigin( r.topLeft() );
- tqdrawPrimitive( PE_ButtonBevel, p, r, cg, Style_Raised );
- p->setBrushOrigin( bo );
- drawRiffles( p, r.x(), r.y(), r.width(), r.height(), cg,
- flags & Style_Horizontal );
- p->setPen( cg.shadow() );
- p->drawRect( r );
- if ( flags & Style_HasFocus ) {
- tqdrawPrimitive( PE_FocusRect, p, TQRect(r.x() + 2, r.y() + 2,
- r.width() - 5,
- r.height() - 5 ),
- cg, flags );
- }
- break;
- }
- default:
- TQWindowsStyle::tqdrawPrimitive( pe, p, r, cg, flags, opt );
- break;
- }
-
-}
-
-/*!\reimp
- */
-void TQPlatinumStyle::tqdrawControl( TQ_ControlElement element,
- TQPainter *p,
- const TQWidget *widget,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags how,
- const TQStyleOption& opt ) const
-{
- switch( element ) {
- case CE_PushButton:
- {
-#ifndef TQT_NO_PUSHBUTTON
- TQColorGroup myCg( cg );
- const TQPushButton *btn;
- int x1, y1, x2, y2;
- bool useBevelButton;
- SFlags flags;
- flags = Style_Default;
- btn = (const TQPushButton*)widget;
- p->setBrushOrigin( -widget->backgroundOffset().x(),
- -widget->backgroundOffset().y() );
-
- // take care of the flags based on what we know...
- if ( btn->isDown() )
- flags |= Style_Down;
- if ( btn->isOn() )
- flags |= Style_On;
- if ( btn->isEnabled() )
- flags |= Style_Enabled;
- if ( btn->isDefault() )
- flags |= Style_Default;
- if (! btn->isFlat() && !(flags & Style_Down))
- flags |= Style_Raised;
-
- r.coords( &x1, &y1, &x2, &y2 );
-
- p->setPen( cg.foreground() );
- p->setBrush( TQBrush(cg.button(), Qt::NoBrush) );
-
- TQBrush fill;
- if ( btn->isDown() ) {
- fill = cg.brush( TQColorGroup::Dark );
- // this could be done differently, but this
- // makes a down Bezel drawn correctly...
- myCg.setBrush( TQColorGroup::Mid, fill );
- } else if ( btn->isOn() ) {
- fill = TQBrush( cg.mid(), Qt::Dense4Pattern );
- myCg.setBrush( TQColorGroup::Mid, fill );
- }
- // to quote the old TQPlatinumStlye drawPushButton...
- // small or square image buttons as well as toggle buttons are
- // bevel buttons (what a heuristic....)
- if ( btn->isToggleButton()
- || ( btn->pixmap() &&
- (btn->width() * btn->height() < 1600 ||
- TQABS( btn->width() - btn->height()) < 10 )) )
- useBevelButton = TRUE;
- else
- useBevelButton = FALSE;
-
- int diw = tqpixelMetric( PM_ButtonDefaultIndicator, widget );
- if ( btn->isDefault() ) {
- x1 += 1;
- y1 += 1;
- x2 -= 1;
- y2 -= 1;
- TQColorGroup cg2( myCg );
- SFlags myFlags = flags;
- // don't draw the default button sunken, unless it's necessary.
- if ( myFlags & Style_Down )
- myFlags ^= Style_Down;
- if ( myFlags & Style_Sunken )
- myFlags ^= Style_Sunken;
-
- cg2.setColor( TQColorGroup::Button, cg.mid() );
- if ( useBevelButton ) {
- tqdrawPrimitive( PE_ButtonBevel, p, TQRect( x1, y1,
- x2 - x1 + 1,
- y2 - y1 + 1 ),
- myCg, myFlags, opt );
- } else {
- tqdrawPrimitive( PE_ButtonCommand, p, TQRect( x1, y1,
- x2 - x1 + 1,
- y2 - y1 + 1 ),
- cg2, myFlags, opt );
- }
- }
-
- if ( btn->isDefault() || btn->autoDefault() ) {
- x1 += diw;
- y1 += diw;
- x2 -= diw;
- y2 -= diw;
- }
-
- if ( !btn->isFlat() || btn->isOn() || btn->isDown() ) {
- if ( useBevelButton ) {
- // fix for toggle buttons...
- if ( flags & (Style_Down | Style_On) )
- flags |= Style_Sunken;
- tqdrawPrimitive( PE_ButtonBevel, p, TQRect( x1, y1,
- x2 - x1 + 1,
- y2 - y1 + 1 ),
- myCg, flags, opt );
- } else {
-
- tqdrawPrimitive( PE_ButtonCommand, p, TQRect( x1, y1,
- x2 - x1 + 1,
- y2 - y1 + 1 ),
- myCg, flags, opt );
- }
- }
-
-
- if ( p->brush().style() != Qt::NoBrush )
- p->setBrush( Qt::NoBrush );
- break;
-#endif
- }
- case CE_PushButtonLabel:
- {
-#ifndef TQT_NO_PUSHBUTTON
- const TQPushButton *btn;
- bool on;
- int x, y, w, h;
- SFlags flags;
- flags = Style_Default;
- btn = (const TQPushButton*)widget;
- on = btn->isDown() || btn->isOn();
- r.rect( &x, &y, &w, &h );
- if ( btn->isMenuButton() ) {
- int dx = tqpixelMetric( PM_MenuButtonIndicator, widget );
-
- TQColorGroup g = cg;
- int xx = x + w - dx - 4;
- int yy = y - 3;
- int hh = h + 6;
-
- if ( !on ) {
- p->setPen( g.mid() );
- p->drawLine( xx, yy + 2, xx, yy + hh - 3 );
- p->setPen( g.button() );
- p->drawLine( xx + 1, yy + 1, xx + 1, yy + hh - 2 );
- p->setPen( g.light() );
- p->drawLine( xx + 2, yy + 2, xx + 2, yy + hh - 2 );
- }
- if ( btn->isEnabled() )
- flags |= Style_Enabled;
- tqdrawPrimitive( PE_ArrowDown, p, TQRect(x + w - dx - 1, y + 2,
- dx, h - 4),
- g, flags, opt );
- w -= dx;
- }
-#ifndef TQT_NO_ICONSET
- if ( btn->iconSet() && !btn->iconSet()->isNull() ) {
- TQIconSet::Mode mode = btn->isEnabled()
- ? TQIconSet::Normal : TQIconSet::Disabled;
- if ( mode == TQIconSet::Normal && btn->hasFocus() )
- mode = TQIconSet::Active;
- TQIconSet::State state = TQIconSet::Off;
- if ( btn->isToggleButton() && btn->isOn() )
- state = TQIconSet::On;
- TQPixmap pixmap = btn->iconSet()->pixmap( TQIconSet::Small,
- mode, state );
- int pixw = pixmap.width();
- int pixh = pixmap.height();
- p->drawPixmap( x + 2, y + h / 2 - pixh / 2, pixmap );
- x += pixw + 4;
- w -= pixw + 4;
- }
-#endif
- drawItem( p, TQRect( x, y, w, h ),
- TQt::AlignCenter | TQt::ShowPrefix,
- btn->tqcolorGroup(), btn->isEnabled(),
- btn->pixmap(), btn->text(), -1,
- on ? TQT_TQCOLOR_CONST(&btn->tqcolorGroup().brightText())
- : TQT_TQCOLOR_CONST(&btn->tqcolorGroup().buttonText()) );
- if ( btn->hasFocus() )
- tqdrawPrimitive( PE_FocusRect, p,
- subRect(SR_PushButtonFocusRect, widget),
- cg, flags );
- break;
-#endif
- }
- default:
- TQWindowsStyle::tqdrawControl( element, p, widget, r, cg, how, opt );
- break;
- }
-}
-
-/*!\reimp
- */
-void TQPlatinumStyle::tqdrawComplexControl( TQ_ComplexControl control,
- TQPainter *p,
- const TQWidget *widget,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags how,
- SCFlags sub,
- SCFlags subActive,
- const TQStyleOption& opt ) const
-{
- switch ( control ) {
- case CC_ComboBox:
- {
- int x,
- y,
- w,
- h;
- r.rect( &x, &y, &w, &h );
- p->fillRect( x + 2, y + 2, w - 4,
- h - 4, cg.brush(TQColorGroup::Button) );
- // the bright side
- p->setPen(cg.shadow());
- p->drawLine( x, y, x + w - 1, y );
- p->drawLine( x, y, x, y + h - 1 );
-
- p->setPen( cg.light() );
- p->drawLine( x + 1, y + 1,
- x + w - 2, y + 1 );
- p->drawLine( x + 1, y + 1,
- x + 1, y + h - 2 );
-
- // the dark side!
-
-
- p->setPen( cg.mid() );
- p->drawLine( x + 2, y + h - 2,
- x + w - 2, y + h - 2 );
- p->drawLine( x + w - 2, y + 2,
- x + w - 2, y + h - 2 );
-
- p->setPen (cg.shadow() );
- p->drawLine( x + 1, y + h - 1,
- x + w - 1, y + h - 1 );
- p->drawLine( x + w - 1, y,
- x + w - 1, y + h - 1 );
-
- // top left corner:
- p->setPen( cg.background() );
- p->drawPoint( x, y );
- p->drawPoint( x + 1, y );
- p->drawPoint( x, y + 1 );
- p->setPen( cg.shadow() );
- p->drawPoint( x + 1, y + 1 );
- p->setPen( Qt::white );
- p->drawPoint( x + 3, y + 3 );
- // bottom left corner:
- p->setPen( cg.background() );
- p->drawPoint( x, y + h - 1 );
- p->drawPoint( x + 1, y + h - 1 );
- p->drawPoint( x, y + h - 2 );
- p->setPen( cg.shadow() );
- p->drawPoint( x + 1, y + h - 2 );
- // top right corner:
- p->setPen( cg.background() );
- p->drawPoint( x + w - 1, y );
- p->drawPoint( x + w - 2, y );
- p->drawPoint( x + w - 1, y + 1 );
- p->setPen( cg.shadow() );
- p->drawPoint( x + w - 2, y + 1 );
- // bottom right corner:
- p->setPen( cg.background() );
- p->drawPoint( x + w - 1, y + h - 1 );
- p->drawPoint( x + w - 2, y + h - 1 );
- p->drawPoint( x + w - 1, y + h - 2 );
- p->setPen( cg.shadow() );
- p->drawPoint( x + w - 2, y + h - 2 );
- p->setPen( cg.dark() );
- p->drawPoint( x + w - 3, y + h - 3 );
-
- if ( sub & SC_ComboBoxArrow ) {
- TQRect rTmp = querySubControlMetrics( CC_ComboBox, widget,
- SC_ComboBoxArrow, opt );
- int xx = rTmp.x(),
- yy = rTmp.y(),
- ww = rTmp.width(),
- hh = rTmp.height();
- // the bright side
-
- p->setPen( cg.mid() );
- p->drawLine( xx, yy+2, xx, yy+hh-3 );
-
- p->setPen( cg.button() );
- p->drawLine( xx+1, yy+1, xx+ww-2, yy+1 );
- p->drawLine( xx+1, yy+1, xx+1, yy+hh-2 );
-
- p->setPen( cg.light() );
- p->drawLine( xx+2, yy+2, xx+2, yy+hh-2 );
- p->drawLine( xx+2, yy+2, xx+ww-2, yy+2 );
-
-
- // the dark side!
-
- p->setPen( cg.mid() );
- p->drawLine( xx+3, yy+hh-3 ,xx+ww-3, yy+hh-3 );
- p->drawLine( xx+ww-3, yy+3, xx+ww-3, yy+hh-3 );
-
- p->setPen( cg.dark() );
- p->drawLine( xx+2, yy+hh-2 ,xx+ww-2, yy+hh-2 );
- p->drawLine( xx+ww-2, yy+2, xx+ww-2, yy+hh-2 );
-
- p->setPen( cg.shadow() );
- p->drawLine( xx+1, yy+hh-1,xx+ww-1, yy+hh-1 );
- p->drawLine( xx+ww-1, yy, xx+ww-1, yy+hh-1 );
-
- // top right corner:
- p->setPen( cg.background() );
- p->drawPoint( xx + ww - 1, yy );
- p->drawPoint( xx + ww - 2, yy );
- p->drawPoint( xx + ww - 1, yy + 1 );
- p->setPen( cg.shadow() );
- p->drawPoint( xx + ww - 2, yy + 1 );
- // bottom right corner:
- p->setPen( cg.background() );
- p->drawPoint( xx + ww - 1, yy + hh - 1 );
- p->drawPoint( xx + ww - 2, yy + hh - 1 );
- p->drawPoint( xx + ww - 1, yy + hh - 2 );
- p->setPen( cg.shadow() );
- p->drawPoint( xx + ww - 2, yy + hh - 2 );
- p->setPen( cg.dark() );
- p->drawPoint( xx + ww - 3, yy + hh - 3 );
- p->setPen( cg.mid() );
- p->drawPoint( xx + ww - 4, yy + hh - 4 );
-
- // and the arrows
- p->setPen( cg.foreground() );
- TQPointArray a ;
- a.setPoints( 7, -3,1, 3,1, -2,0, 2,0, -1,-1, 1,-1, 0,-2 );
- a.translate( xx + ww / 2, yy + hh / 2 - 3 );
- p->drawLineSegments( a, 0, 3 ); // draw arrow
- p->drawPoint( a[6] );
- a.setPoints( 7, -3,-1, 3,-1, -2,0, 2,0, -1,1, 1,1, 0,2 );
- a.translate( xx + ww / 2, yy + hh / 2 + 2 );
- p->drawLineSegments( a, 0, 3 ); // draw arrow
- p->drawPoint( a[6] );
-
- }
-#ifndef TQT_NO_COMBOBOX
- if ( sub & SC_ComboBoxEditField ) {
- const TQComboBox *cmb;
- cmb = (const TQComboBox*)widget;
- // sadly this is pretty much the windows code, except
- // for the first fillRect call...
- TQRect re =
- TQStyle::tqvisualRect( querySubControlMetrics( CC_ComboBox,
- widget,
- SC_ComboBoxEditField ),
- widget );
- if ( cmb->hasFocus() && !cmb->editable() )
- p->fillRect( re.x() + 1, re.y() + 1,
- re.width() - 2, re.height() - 2,
- cg.brush( TQColorGroup::Highlight ) );
-
- if ( cmb->hasFocus() ) {
- p->setPen( cg.highlightedText() );
- p->setBackgroundColor( cg.highlight() );
- } else {
- p->setPen( cg.text() );
- p->setBackgroundColor( cg.background() );
- }
-
- if ( cmb->hasFocus() && !cmb->editable() ) {
- TQRect re =
- TQStyle::tqvisualRect( subRect( SR_ComboBoxFocusRect,
- cmb ),
- widget );
- tqdrawPrimitive( PE_FocusRect, p, re, cg,
- Style_FocusAtBorder,
- TQStyleOption(cg.highlight()));
- }
- if ( cmb->editable() ) {
- // need this for the moment...
- // was the code in comboButton rect
- TQRect ir( x + 3, y + 3,
- w - 6 - 16, h - 6 );
- if ( TQApplication::reverseLayout() )
- ir.moveBy( 16, 0 );
- // end comboButtonRect...
- ir.setRect( ir.left() - 1, ir.top() - 1, ir.width() + 2,
- ir.height() + 2 );
- qDrawShadePanel( p, ir, cg, TRUE, 2, 0 );
- }
- }
-#endif
- break;
- }
- case CC_Slider:
- {
-#ifndef TQT_NO_SLIDER
- const TQSlider *slider = (const TQSlider *) widget;
- int thickness = tqpixelMetric( PM_SliderControlThickness, widget );
- int len = tqpixelMetric( PM_SliderLength, widget );
- int ticks = slider->tickmarks();
-
- TQRect groove = querySubControlMetrics(CC_Slider, widget, SC_SliderGroove,
- opt),
- handle = querySubControlMetrics(CC_Slider, widget, SC_SliderHandle,
- opt);
-
- if ((sub & SC_SliderGroove) && groove.isValid()) {
- p->fillRect( groove, cg.brush(TQColorGroup::Background) );
-
- int x, y, w, h;
- int mid = thickness / 2;
-
- if ( ticks & TQSlider::Above )
- mid += len / 8;
- if ( ticks & TQSlider::Below )
- mid -= len / 8;
-
- if ( slider->orientation() == Qt::Horizontal ) {
- x = 0;
- y = groove.y() + mid - 3;
- w = slider->width();
- h = 7;
- } else {
- x = groove.x() + mid - 3;
- y = 0;
- w = 7;
- h = slider->height();
- }
-
- p->fillRect( x, y, w, h, cg.brush( TQColorGroup::Dark ));
- // the dark side
- p->setPen( cg.dark() );
- p->drawLine( x, y, x + w - 1, y );
- p->drawLine( x, y, x, y + h - 1);
- p->setPen( cg.shadow() );
- p->drawLine( x + 1, y + 1, x + w - 2, y + 1 );
- p->drawLine( x + 1, y + 1, x + 1, y + h - 2 );
- // the bright side!
- p->setPen(cg.shadow());
- p->drawLine( x + 1, y + h - 2, x + w - 2, y + h - 2 );
- p->drawLine( x + w - 2, y + 1, x + w - 2, y + h - 2 );
- p->setPen( cg.light() );
- p->drawLine( x, y + h - 1, x + w - 1, y + h - 1 );
- p->drawLine( x + w - 1, y, x + w - 1, y + h - 1 );
- // top left corner:
- p->setPen(cg.background());
- p->drawPoint( x, y );
- p->drawPoint( x + 1, y );
- p->drawPoint( x, y + 1 );
- p->setPen(cg.shadow());
- p->drawPoint( x + 1, y + 1 );
- // bottom left corner:
- p->setPen( cg.background() );
- p->drawPoint( x, y + h - 1 );
- p->drawPoint( x + 1, y + h - 1 );
- p->drawPoint( x, y + h - 2 );
- p->setPen( cg.light() );
- p->drawPoint( x + 1, y + h - 2 );
- // top right corner:
- p->setPen( cg.background() );
- p->drawPoint( x + w - 1, y );
- p->drawPoint( x + w - 2, y );
- p->drawPoint( x + w - 1, y + 1 );
- p->setPen( cg.dark() );
- p->drawPoint( x + w - 2, y + 1 );
- // bottom right corner:
- p->setPen( cg.background() );
- p->drawPoint( x + w - 1, y + h - 1 );
- p->drawPoint( x + w - 2, y + h - 1 );
- p->drawPoint( x + w - 1, y + h - 2 );
- p->setPen( cg.light() );
- p->drawPoint( x + w - 2, y + h - 2 );
- p->setPen( cg.dark() );
- p->drawPoint( x + w - 3, y + h - 3 );
- // ### end slider groove
-
- if ( how & Style_HasFocus )
- tqdrawPrimitive( PE_FocusRect, p, groove, cg );
- }
-
- if ((sub & SC_SliderHandle) && handle.isValid()) {
- const TQColor c0 = cg.shadow();
- const TQColor c1 = cg.dark();
- const TQColor c3 = cg.light();
-
- int x1 = handle.x();
- int x2 = handle.x() + handle.width() - 1;
- int y1 = handle.y();
- int y2 = handle.y() + handle.height() - 1;
- int mx = handle.width() / 2;
- int my = handle.height() / 2;
-
- if ( slider->orientation() == Qt::Vertical ) {
- // Background
- TQBrush oldBrush = p->brush();
- p->setBrush( cg.brush( TQColorGroup::Button ) );
- p->setPen( Qt::NoPen );
- TQPointArray a(6);
- a.setPoint( 0, x1 + 1, y1 + 1 );
- a.setPoint( 1, x2 - my + 2, y1 + 1 );
- a.setPoint( 2, x2 - 1, y1 + my - 1 );
- a.setPoint( 3, x2 - 1, y2 - my + 1 );
- a.setPoint( 4, x2 - my + 2, y2 - 1 );
- a.setPoint( 5, x1 + 1, y2 - 1 );
- p->drawPolygon( a );
- p->setBrush( oldBrush );
-
- // shadow border
- p->setPen( c0 );
- p->drawLine( x1, y1 + 1, x1,y2 - 1 );
- p->drawLine( x2 - my + 2, y1, x2, y1 + my - 2 );
- p->drawLine( x2 - my + 2, y2, x2, y1 + my + 2 );
- p->drawLine( x2, y1 + my - 2, x2, y1 + my + 2 );
- p->drawLine( x1 + 1, y1, x2 - my + 2, y1 );
- p->drawLine( x1 + 1, y2, x2 - my + 2, y2 );
-
- // light shadow
- p->setPen( c3 );
- p->drawLine( x1 + 1, y1 + 2, x1 + 1, y2 - 2 );
- p->drawLine( x1 + 1, y1 + 1, x2 - my + 2, y1 + 1 );
- p->drawLine( x2 - my + 2, y1 + 1, x2 - 1, y1 + my - 2 );
-
- // dark shadow
- p->setPen(c1);
- p->drawLine( x2 - 1, y1 + my - 2, x2 - 1, y1 + my + 2 );
- p->drawLine( x2 - my + 2, y2 - 1, x2 - 1, y1 + my + 2 );
- p->drawLine( x1 + 1, y2 - 1, x2 -my + 2, y2 - 1 );
-
- drawRiffles( p, handle.x(), handle.y() + 2, handle.width() - 3,
- handle.height() - 4, cg, TRUE );
- } else { // Qt::Horizontal
- TQBrush oldBrush = p->brush();
- p->setBrush( cg.brush( TQColorGroup::Button ) );
- p->setPen( Qt::NoPen );
- TQPointArray a(6);
- a.setPoint( 0, x2 - 1, y1 + 1 );
- a.setPoint( 1, x2 - 1, y2 - mx + 2 );
- a.setPoint( 2, x2 - mx + 1, y2 - 1 );
- a.setPoint( 3, x1 + mx - 1, y2 - 1 );
- a.setPoint( 4, x1 + 1, y2 - mx + 2 );
- a.setPoint( 5, x1 + 1, y1 + 1 );
- p->drawPolygon( a );
- p->setBrush( oldBrush );
-
- // shadow border
- p->setPen( c0 );
- p->drawLine( x1 + 1, y1, x2 - 1, y1 );
- p->drawLine( x1, y2 - mx + 2, x1 + mx - 2, y2 );
- p->drawLine( x2, y2 - mx + 2, x1 + mx + 2, y2 );
- p->drawLine( x1 + mx - 2, y2, x1 + mx + 2, y2 );
- p->drawLine( x1, y1 + 1, x1, y2 - mx + 2 );
- p->drawLine( x2, y1 + 1, x2, y2 - mx + 2 );
-
- // light shadow
- p->setPen(c3);
- p->drawLine( x1 + 1, y1 + 1, x2 - 1, y1 + 1 );
- p->drawLine( x1 + 1, y1 + 1, x1 + 1, y2 - mx + 2 );
-
- // dark shadow
- p->setPen(c1);
- p->drawLine( x2 - 1, y1 + 1, x2 - 1, y2 - mx + 2 );
- p->drawLine( x1 + 1, y2 - mx + 2, x1 + mx - 2, y2 - 1 );
- p->drawLine( x2 - 1, y2 - mx + 2, x1 + mx + 2, y2 - 1 );
- p->drawLine( x1 + mx - 2, y2 - 1, x1 + mx + 2, y2 - 1 );
-
- drawRiffles( p, handle.x() + 2, handle.y(), handle.width() - 4,
- handle.height() - 5, cg, FALSE );
- }
- }
-
- if ( sub & SC_SliderTickmarks )
- TQCommonStyle::tqdrawComplexControl( control, p, widget, r,
- cg, how, SC_SliderTickmarks,
- subActive, opt );
-#endif
- break;
- }
- default:
- TQWindowsStyle::tqdrawComplexControl( control, p, widget, r, cg,
- how, sub, subActive, opt );
- break;
- }
-}
-
-
-
-/*!\reimp
- */
-TQRect TQPlatinumStyle::querySubControlMetrics( TQ_ComplexControl control,
- const TQWidget *widget,
- SubControl sc,
- const TQStyleOption& opt ) const
-{
- switch( control ) {
-#ifndef TQT_NO_COMBOBOX
- case CC_ComboBox:
- const TQComboBox *cb;
- cb = (const TQComboBox *)widget;
- switch( sc ) {
- case SC_ComboBoxArrow: {
- TQRect ir = cb->rect();
- int xx;
- if( TQApplication::reverseLayout() )
- xx = ir.x();
- else
- xx = ir.x() + ir.width() - 20;
- return TQRect( xx, ir.y(), 20, ir.height()); }
- default:
- break;
- }
- break;
-#endif
-#ifndef TQT_NO_SCROLLBAR
- case CC_ScrollBar: {
- const TQScrollBar *sb;
- sb = (const TQScrollBar *)widget;
- int sliderStart = sb->sliderStart();
- int sbextent = tqpixelMetric( PM_ScrollBarExtent, widget );
- int maxlen = ((sb->orientation() == Qt::Horizontal) ?
- sb->width() : sb->height()) - ( sbextent * 2 );
-
- int sliderlen;
-
- // calculate length
- if ( sb->maxValue() != sb->minValue() ) {
- uint range = sb->maxValue() - sb->minValue();
- sliderlen = ( sb->pageStep() * maxlen ) /
- ( range + sb->pageStep() );
-
- int slidermin = tqpixelMetric( PM_ScrollBarSliderMin, widget );
- if ( sliderlen < slidermin || range > INT_MAX / 2 )
- sliderlen = slidermin;
- if ( sliderlen > maxlen )
- sliderlen = maxlen;
- } else {
- sliderlen = maxlen;
- }
-
- switch ( sc ) {
- case SC_ScrollBarSubLine:
- if ( sb->orientation() == Qt::Horizontal ) {
- int buttonw = TQMIN( sb->width() / 2, sbextent );
- return TQRect( sb->width() - 2 * buttonw, 0, buttonw, sbextent );
- } else {
- int buttonh = TQMIN( sb->height() / 2, sbextent );
- return TQRect( 0, sb->height() - 2 * buttonh, sbextent, buttonh );
- }
- case SC_ScrollBarAddLine:
- if ( sb->orientation() == Qt::Horizontal ) {
- int buttonw = TQMIN( sb->width() / 2, sbextent );
- return TQRect( sb->width() - buttonw, 0, sbextent, buttonw );
- } else {
- int buttonh = TQMIN( sb->height() / 2, sbextent );
- return TQRect(0, sb->height() - buttonh, sbextent, buttonh );
- }
- case SC_ScrollBarSubPage:
- if ( sb->orientation() == Qt::Horizontal )
- return TQRect( 1, 0, sliderStart, sbextent );
- return TQRect( 0, 1, sbextent, sliderStart );
- case SC_ScrollBarAddPage:
- if ( sb->orientation() == Qt::Horizontal )
- return TQRect( sliderStart + sliderlen, 0, maxlen - sliderStart - sliderlen, sbextent );
- return TQRect( 0, sliderStart + sliderlen, sbextent, maxlen - sliderStart - sliderlen );
- case SC_ScrollBarGroove:
- if ( sb->orientation() == Qt::Horizontal )
- return TQRect( 1, 0, sb->width() - sbextent * 2, sb->height() );
- return TQRect( 0, 1, sb->width(), sb->height() - sbextent * 2 );
- default:
- break;
- }
- break; }
-#endif
-#ifndef TQT_NO_SLIDER
- case CC_Slider: {
-
- const TQSlider *slider = (const TQSlider *) widget;
- int tickOffset = tqpixelMetric( PM_SliderTickmarkOffset, widget);
- int thickness = tqpixelMetric( PM_SliderControlThickness, widget);
- int mid = thickness / 2;
- int ticks = slider->tickmarks();
- int len = tqpixelMetric( PM_SliderLength, widget );
-
- switch ( sc ) {
- case SC_SliderGroove:
- if ( ticks & TQSlider::Above )
- mid += len / 8;
- if ( ticks & TQSlider::Below )
- mid -= len / 8;
- if ( slider->orientation() == Qt::Horizontal )
- return TQRect( 0, tickOffset, slider->width(), thickness );
- return TQRect( tickOffset, 0, thickness, slider->height() );
- default:
- break;
- }
- break; }
-#endif
- default:
- break;
- }
- return TQWindowsStyle::querySubControlMetrics( control, widget, sc, opt );
-}
-
-
-/*!\reimp
- */
-int TQPlatinumStyle::tqpixelMetric( PixelMetric metric,
- const TQWidget *widget ) const
-{
- int ret;
- switch( metric ) {
- case PM_ButtonDefaultIndicator:
- ret = 3;
- break;
- case PM_ButtonShiftHorizontal:
- case PM_ButtonShiftVertical:
- ret = 0;
- break;
- case PM_IndicatorWidth:
- ret = 15;
- break;
- case PM_IndicatorHeight:
- ret = 13;
- break;
- case PM_ExclusiveIndicatorHeight:
- case PM_ExclusiveIndicatorWidth:
- ret = 15;
- break;
- case PM_SliderLength:
- ret = 17;
- break;
- case PM_MaximumDragDistance:
- ret = -1;
- break;
- default:
- ret = TQWindowsStyle::tqpixelMetric( metric, widget );
- break;
- }
- return ret;
-}
-
-/*!\reimp
- */
-TQRect TQPlatinumStyle::subRect( SubRect r, const TQWidget *widget ) const
-{
- TQRect rect;
- switch ( r ) {
- case SR_ComboBoxFocusRect:
- {
- TQRect tmpR = widget->rect();
- rect = TQRect( tmpR.x() + 4, tmpR.y() + 4, tmpR.width() - 8 - 16,
- tmpR.height() - 8 );
- break;
- }
- default:
- rect = TQWindowsStyle::subRect( r, widget );
- break;
- }
- return rect;
-}
-
-/*!
- Mixes two colors \a c1 and \a c2 to a new color.
-*/
-TQColor TQPlatinumStyle::mixedColor(const TQColor &c1, const TQColor &c2) const
-{
- int h1,s1,v1,h2,s2,v2;
- c1.hsv(&h1,&s1,&v1);
- c2.hsv(&h2,&s2,&v2);
- return TQColor( (h1+h2)/2, (s1+s2)/2, (v1+v2)/2, TQColor::Hsv );
-}
-
-/*!
- Draws the nifty Macintosh decoration used on sliders using painter
- \a p and colorgroup \a g. \a x, \a y, \a w, \a h and \a horizontal
- specify the tqgeometry and orientation of the riffles.
-*/
-void TQPlatinumStyle::drawRiffles( TQPainter* p, int x, int y, int w, int h,
- const TQColorGroup &g, bool horizontal ) const
-{
- if (!horizontal) {
- if (h > 20) {
- y += (h-20)/2 ;
- h = 20;
- }
- if (h > 8) {
- int n = h / 4;
- int my = y+h/2-n;
- int i ;
- p->setPen(g.light());
- for (i=0; i<n; i++) {
- p->drawLine(x+3, my+2*i, x+w-5, my+2*i);
- }
- p->setPen(g.dark());
- my++;
- for (i=0; i<n; i++) {
- p->drawLine(x+4, my+2*i, x+w-4, my+2*i);
- }
- }
- }
- else {
- if (w > 20) {
- x += (w-20)/2 ;
- w = 20;
- }
- if (w > 8) {
- int n = w / 4;
- int mx = x+w/2-n;
- int i ;
- p->setPen(g.light());
- for (i=0; i<n; i++) {
- p->drawLine(mx+2*i, y+3, mx + 2*i, y+h-5);
- }
- p->setPen(g.dark());
- mx++;
- for (i=0; i<n; i++) {
- p->drawLine(mx+2*i, y+4, mx + 2*i, y+h-4);
- }
- }
- }
-}
-
-
-#endif
diff --git a/tqtinterface/qt4/src/styles/tqplatinumstyle.h b/tqtinterface/qt4/src/styles/tqplatinumstyle.h
deleted file mode 100644
index cd72357..0000000
--- a/tqtinterface/qt4/src/styles/tqplatinumstyle.h
+++ /dev/null
@@ -1,118 +0,0 @@
-/****************************************************************************
-**
-** Definition of Platinum-like style class
-**
-** Created : 981231
-**
-** Copyright (C) 1998-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of the widgets module of the TQt GUI Toolkit.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** This file may be used under the terms of the Q Public License as
-** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
-** included in the packaging of this file. Licensees holding valid TQt
-** Commercial licenses may use this file in accordance with the TQt
-** Commercial License Agreement provided with the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#ifndef TQPLATINUMSTYLE_H
-#define TQPLATINUMSTYLE_H
-
-#ifndef TQT_H
-#include "tqwindowsstyle.h"
-#endif // TQT_H
-
-#if !defined(TQT_NO_STYLE_PLATINUM) || defined(TQT_PLUGIN)
-
-class TQPalette;
-
-#if defined(TQT_PLUGIN)
-#define TQ_EXPORT_STYLE_PLATINUM
-#else
-#define TQ_EXPORT_STYLE_PLATINUM TQ_EXPORT
-#endif
-
-class TQ_EXPORT_STYLE_PLATINUM TQPlatinumStyle : public TQWindowsStyle
-{
- Q_OBJECT
- TQ_OBJECT
-public:
- TQPlatinumStyle();
- virtual ~TQPlatinumStyle();
-
- // new Style Stuff
- void tqdrawPrimitiveBase( TQ_PrimitiveElement pe,
- TQPainter *p,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags flags = Style_Default,
- const TQStyleOption& = TQStyleOption::Default ) const;
-
- void tqdrawControl( TQ_ControlElement element,
- TQPainter *p,
- const TQWidget *widget,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags how = Style_Default,
- const TQStyleOption& = TQStyleOption::Default ) const;
-
- void tqdrawComplexControl( TQ_ComplexControl control,
- TQPainter *p,
- const TQWidget *widget,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags how = Style_Default,
-#ifdef TQ_TQDOC
- SCFlags sub = SC_All,
-#else
- SCFlags sub = (uint)SC_All,
-#endif
- SCFlags subActive = SC_None,
- const TQStyleOption& = TQStyleOption::Default ) const;
-
- TQRect querySubControlMetrics( TQ_ComplexControl control,
- const TQWidget *widget,
- SubControl sc,
- const TQStyleOption& = TQStyleOption::Default ) const;
-
- int tqpixelMetric( PixelMetric metric, const TQWidget *widget = 0 ) const;
-
- TQRect subRect( SubRect r, const TQWidget *widget ) const;
-
-protected:
- TQColor mixedColor(const TQColor &, const TQColor &) const;
- void drawRiffles( TQPainter* p, int x, int y, int w, int h,
- const TQColorGroup &g, bool horizontal ) const;
-private: // Disabled copy constructor and operator=
-#if defined(TQ_DISABLE_COPY)
- TQPlatinumStyle( const TQPlatinumStyle & );
- TQPlatinumStyle& operator=( const TQPlatinumStyle & );
-#endif
-};
-
-#endif // TQT_NO_STYLE_PLATINUM
-
-#endif // TQPLATINUMSTYLE_H
diff --git a/tqtinterface/qt4/src/styles/tqsgistyle.cpp b/tqtinterface/qt4/src/styles/tqsgistyle.cpp
deleted file mode 100644
index 45ac25b..0000000
--- a/tqtinterface/qt4/src/styles/tqsgistyle.cpp
+++ /dev/null
@@ -1,1470 +0,0 @@
-/****************************************************************************
-**
-** Implementation of Motif-like style class
-**
-** Created : 981231
-**
-** Copyright (C) 1998-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of the widgets module of the TQt GUI Toolkit.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** This file may be used under the terms of the Q Public License as
-** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
-** included in the packaging of this file. Licensees holding valid TQt
-** Commercial licenses may use this file in accordance with the TQt
-** Commercial License Agreement provided with the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#include "tqsgistyle.h"
-
-#if !defined(TQT_NO_STYLE_SGI) || defined(TQT_PLUGIN)
-
-#include "tqpopupmenu.h"
-#include "tqapplication.h"
-#include "tqbutton.h"
-#include "tqpainter.h"
-#include "tqdrawutil.h"
-#include "tqpixmap.h"
-#include "tqpalette.h"
-#include "tqwidget.h"
-#include "tqpushbutton.h"
-#include "tqscrollbar.h"
-#include "tqcombobox.h"
-#include "tqslider.h"
-#include "tqtextedit.h"
-#include "tqtoolbar.h"
-#include "tqlineedit.h"
-#include "tqmenubar.h"
-#include <limits.h>
-
-#ifndef TQT_NO_SLIDER
-struct SliderLastPosition
-{
- SliderLastPosition() : rect(0,-1,0,-1), slider(0) {}
- TQRect rect;
- const TQSlider* slider;
-};
-#endif
-
-#ifndef TQT_NO_SCROLLBAR
-struct ScrollbarLastPosition
-{
- ScrollbarLastPosition() : rect( 0,-1, 0,-1 ), scrollbar(0) {}
- TQRect rect;
- const TQScrollBar *scrollbar;
-};
-#endif
-
-class TQSGIStylePrivate
-{
-public:
- TQSGIStylePrivate()
- : hotWidget( 0 ), mousePos( -1, -1 )
- {
- }
-
- const TQWidget *hotWidget;
- TQPoint mousePos;
-#ifndef TQT_NO_SCROLLBAR
- ScrollbarLastPosition lastScrollbarRect;
-#endif
-#ifndef TQT_NO_SLIDER
- SliderLastPosition lastSliderRect;
-#endif
-};
-
-/*!
- \class TQSGIStyle tqsgistyle.h
- \brief The TQSGIStyle class provides SGI/Irix look and feel.
-
- \ingroup appearance
-
- This class implements the SGI look and feel. It resembles the
- SGI/Irix Motif GUI style as closely as TQStyle allows.
-*/
-
-/*!
- Constructs a TQSGIStyle.
-
- If \a useHighlightCols is FALSE (default value), the style will
- polish the application's color palette to emulate the Motif way of
- highlighting, which is a simple inversion between the base and the
- text color.
-
- \sa TQMotifStyle::useHighlightColors()
-*/
-TQSGIStyle::TQSGIStyle( bool useHighlightCols ) : TQMotifStyle( useHighlightCols ), isApplicationStyle( 0 )
-{
- d = new TQSGIStylePrivate;
-}
-
-/*!
- Destroys the style.
-*/
-TQSGIStyle::~TQSGIStyle()
-{
- delete d;
-}
-
-/*!
- \reimp
-
- Changes some application-wide settings to be SGI-like, e.g. sets a
- bold italic font for menu options.
-*/
-void
-TQSGIStyle::polish( TQApplication* app)
-{
- isApplicationStyle = 1;
- TQMotifStyle::polish( app );
-
- TQPalette pal = TQApplication::palette();
- // check this on SGI-Boxes
- //pal.setColor( TQColorGroup::Background, pal.active().midlight() );
- if (pal.active().button() == pal.active().background())
- pal.setColor( TQColorGroup::Button, pal.active().button().dark(120) );
- // darker basecolor in list-widgets
- pal.setColor( TQColorGroup::Base, pal.active().base().dark(130) );
- if (! useHighlightColors() ) {
- pal.setColor( TQPalette::Active, TQColorGroup::Highlight, pal.active().text() );
- pal.setColor( TQPalette::Active, TQColorGroup::HighlightedText, pal.active().base() );
- pal.setColor( TQPalette::Inactive, TQColorGroup::Highlight, pal.inactive().text() );
- pal.setColor( TQPalette::Inactive, TQColorGroup::HighlightedText, pal.inactive().base() );
- pal.setColor( TQPalette::Disabled, TQColorGroup::Highlight, pal.disabled().text() );
- pal.setColor( TQPalette::Disabled, TQColorGroup::HighlightedText, pal.disabled().base() );
- }
- TQApplication::tqsetPalette( pal, TRUE );
-
- // different basecolor and highlighting in Q(Multi)LineEdit
- pal.setColor( TQColorGroup::Base, TQColor(211,181,181) );
- pal.setColor( TQPalette::Active, TQColorGroup::Highlight, pal.active().midlight() );
- pal.setColor( TQPalette::Active, TQColorGroup::HighlightedText, pal.active().text() );
- pal.setColor( TQPalette::Inactive, TQColorGroup::Highlight, pal.inactive().midlight() );
- pal.setColor( TQPalette::Inactive, TQColorGroup::HighlightedText, pal.inactive().text() );
- pal.setColor( TQPalette::Disabled, TQColorGroup::Highlight, pal.disabled().midlight() );
- pal.setColor( TQPalette::Disabled, TQColorGroup::HighlightedText, pal.disabled().text() );
-
- TQApplication::tqsetPalette( pal, TRUE, "TQLineEdit" );
- TQApplication::tqsetPalette( pal, TRUE, "TQTextEdit" );
- TQApplication::tqsetPalette( pal, TRUE, "TQDateTimeEditBase" );
-
- pal = TQApplication::palette();
- pal.setColor( TQColorGroup::Button, pal.active().background() );
- TQApplication::tqsetPalette( pal, TRUE, "TQMenuBar" );
- TQApplication::tqsetPalette( pal, TRUE, "TQToolBar" );
- TQApplication::tqsetPalette( pal, TRUE, "TQPopupMenu" );
-}
-
-/*! \reimp
-*/
-void
-TQSGIStyle::unPolish( TQApplication* /* app */ )
-{
- TQFont f = TQApplication::font();
- TQApplication::tqsetFont( f, TRUE ); // get rid of the special fonts for special widget classes
-}
-
-/*!
- \reimp
-
- Installs an event filter for several widget classes to enable
- hovering.
-*/
-void
-TQSGIStyle::polish( TQWidget* w )
-{
- TQMotifStyle::polish(w);
-
- if ( !isApplicationStyle ) {
- TQPalette sgiPal = TQApplication::palette();
-
- sgiPal.setColor( TQColorGroup::Background, sgiPal.active().midlight() );
- if (sgiPal.active().button() == sgiPal.active().background())
- sgiPal.setColor( TQColorGroup::Button, sgiPal.active().button().dark(110) );
- sgiPal.setColor( TQColorGroup::Base, sgiPal.active().base().dark(130) );
- if (! useHighlightColors() ) {
- sgiPal.setColor( TQPalette::Active, TQColorGroup::Highlight, sgiPal.active().text() );
- sgiPal.setColor( TQPalette::Active, TQColorGroup::HighlightedText, sgiPal.active().base() );
- sgiPal.setColor( TQPalette::Inactive, TQColorGroup::Highlight, sgiPal.inactive().text() );
- sgiPal.setColor( TQPalette::Inactive, TQColorGroup::HighlightedText, sgiPal.inactive().base() );
- sgiPal.setColor( TQPalette::Disabled, TQColorGroup::Highlight, sgiPal.disabled().text() );
- sgiPal.setColor( TQPalette::Disabled, TQColorGroup::HighlightedText, sgiPal.disabled().base() );
- }
-
- if ( ::tqqt_cast<TQLineEdit*>(w) || ::tqqt_cast<TQTextEdit*>(w) ) {
- // different basecolor and highlighting in Q(Multi)LineEdit
- sgiPal.setColor( TQColorGroup::Base, TQColor(211,181,181) );
- sgiPal.setColor( TQPalette::Active, TQColorGroup::Highlight, sgiPal.active().midlight() );
- sgiPal.setColor( TQPalette::Active, TQColorGroup::HighlightedText, sgiPal.active().text() );
- sgiPal.setColor( TQPalette::Inactive, TQColorGroup::Highlight, sgiPal.inactive().midlight() );
- sgiPal.setColor( TQPalette::Inactive, TQColorGroup::HighlightedText, sgiPal.inactive().text() );
- sgiPal.setColor( TQPalette::Disabled, TQColorGroup::Highlight, sgiPal.disabled().midlight() );
- sgiPal.setColor( TQPalette::Disabled, TQColorGroup::HighlightedText, sgiPal.disabled().text() );
-
- } else if ( ::tqqt_cast<TQMenuBar*>(w) || ::tqqt_cast<TQToolBar*>(w) ) {
- sgiPal.setColor( TQColorGroup::Button, sgiPal.active().midlight() );
- }
-
- w->setPalette( sgiPal );
- }
-
- if ( ::tqqt_cast<TQButton*>(w) || ::tqqt_cast<TQSlider*>(w) || ::tqqt_cast<TQScrollBar*>(w) ) {
- w->installEventFilter( this );
- w->setMouseTracking( TRUE );
-#ifndef TQT_NO_SCROLLBAR
- if ( ::tqqt_cast<TQScrollBar*>(w) )
- w->setBackgroundMode( TQt::NoBackground );
-#endif
- } else if ( ::tqqt_cast<TQComboBox*>(w) ) {
- TQFont f = TQApplication::font();
- f.setBold( TRUE );
- f.setItalic( TRUE );
- w->setFont( f );
-#ifndef TQT_NO_MENUBAR
- } else if ( ::tqqt_cast<TQMenuBar*>(w) ) {
- ((TQFrame*) w)->setFrameStyle(TQFrame::StyledPanel | TQFrame::Raised);
- w->setBackgroundMode( TQt::PaletteBackground );
- TQFont f = TQApplication::font();
- f.setBold( TRUE );
- f.setItalic( TRUE );
- w->setFont( f );
-#endif
-#ifndef TQT_NO_POPUPMENU
- } else if ( ::tqqt_cast<TQPopupMenu*>(w) ) {
- ((TQFrame*) w)->setLineWidth( tqpixelMetric( PM_DefaultFrameWidth ) + 1 );
- TQFont f = TQApplication::font();
- f.setBold( TRUE );
- f.setItalic( TRUE );
- w->setFont( f );
-#endif
- } else if ( ::tqqt_cast<TQToolBar*>(w) || w->inherits("TQToolBarSeparator") ) {
- w->setBackgroundMode( TQt::PaletteBackground );
- }
-}
-
-/*! \reimp */
-void
-TQSGIStyle::unPolish( TQWidget* w )
-{
- if ( ::tqqt_cast<TQButton*>(w) || ::tqqt_cast<TQSlider*>(w) || ::tqqt_cast<TQScrollBar*>(w) ) {
- w->removeEventFilter( this );
-#ifndef TQT_NO_POPUPMENU
- } else if ( ::tqqt_cast<TQPopupMenu*>(w) ) {
- ((TQFrame*)w)->setLineWidth( tqpixelMetric( PM_DefaultFrameWidth ) );
- w->setFont( TQApplication::font() );
-#endif
-#if !defined(TQT_NO_MENUBAR) || !defined(TQT_NO_COMBOBOX)
- } else if ( ::tqqt_cast<TQMenuBar*>(w) || ::tqqt_cast<TQComboBox*>(w) ) {
- w->setFont( TQApplication::font() );
-#endif
- }
-}
-
-/*! \reimp */
-bool TQSGIStyle::eventFilter( TQObject* o, TQEvent* e )
-{
- if ( !o->isWidgetType() || e->type() == TQEvent::Paint )
- return TQMotifStyle::eventFilter( o, e );
-
- TQWidget *widget = (TQWidget*)o;
-
- switch ( e->type() ) {
- case TQEvent::MouseButtonPress:
- {
-#ifndef TQT_NO_SCROLLBAR
- if ( ::tqqt_cast<TQScrollBar*>(widget) ) {
- d->lastScrollbarRect.rect = ((TQScrollBar*)widget)->sliderRect();
- d->lastScrollbarRect.scrollbar = ((TQScrollBar*)widget);
- widget->tqrepaint( FALSE );
- } else
-#endif
- {
-#ifndef TQT_NO_SLIDER
- if ( ::tqqt_cast<TQSlider*>(widget) ) {
- d->lastSliderRect.rect = ((TQSlider*)widget)->sliderRect();
- d->lastSliderRect.slider = ((TQSlider*)widget);
- widget->tqrepaint( FALSE );
- }
-#endif
- }
- }
- break;
-
- case TQEvent::MouseButtonRelease:
- {
- if ( 0 ) {
-#ifndef TQT_NO_SCROLLBAR
- } else if ( ::tqqt_cast<TQScrollBar*>(widget) ) {
- TQRect oldRect = d->lastScrollbarRect.rect;
- d->lastScrollbarRect.rect = TQRect( 0, -1, 0, -1 );
- widget->tqrepaint( oldRect, FALSE );
-#endif
-#ifndef TQT_NO_SLIDER
- } else if ( ::tqqt_cast<TQSlider*>(widget) ) {
- TQRect oldRect = d->lastSliderRect.rect;
- d->lastSliderRect.rect = TQRect( 0, -1, 0, -1 );
- widget->tqrepaint( oldRect, FALSE );
-#endif
- }
- }
- break;
-
- case TQEvent::MouseMove:
- if ( !widget->isActiveWindow() )
- break;
- if ( ((TQMouseEvent*)e)->button() )
- break;
-
- d->hotWidget = widget;
- d->mousePos = ((TQMouseEvent*)e)->pos();
- widget->tqrepaint( FALSE );
- break;
-
- case TQEvent::Enter:
- if ( !widget->isActiveWindow() )
- break;
- d->hotWidget = widget;
- widget->tqrepaint( FALSE );
- break;
-
- case TQEvent::Leave:
- if ( !widget->isActiveWindow() )
- break;
- if ( widget == d->hotWidget) {
- d->hotWidget = 0;
- widget->tqrepaint( FALSE );
- }
- break;
-
- default:
- break;
- }
- return TQMotifStyle::eventFilter( o, e );
-}
-
-static const int sgiItemFrame = 2; // menu item frame width
-// static const int sgiSepHeight = 1; // separator item height
-static const int sgiItemHMargin = 3; // menu item hor text margin
-static const int sgiItemVMargin = 2; // menu item ver text margin
-static const int sgiArrowHMargin = 6; // arrow horizontal margin
-static const int sgiTabSpacing = 12; // space between text and tab
-// static const int sgiCheckMarkHMargin = 2; // horiz. margins of check mark ### not used?!?
-static const int sgiCheckMarkSpace = 20;
-
-/*! \reimp */
-int TQSGIStyle::tqpixelMetric( PixelMetric metric, const TQWidget *widget ) const
-{
- switch ( metric ) {
- case PM_DefaultFrameWidth:
- return 2;
-
- case PM_ButtonDefaultIndicator:
- return 4;
-
- case PM_ScrollBarExtent:
- return 21;
-
- case PM_IndicatorWidth:
- case PM_IndicatorHeight:
- return 14;
-
- case PM_ExclusiveIndicatorWidth:
- case PM_ExclusiveIndicatorHeight:
- return 12;
-
- case PM_SplitterWidth:
- return TQMAX( 10, TQApplication::globalStrut().width() );
-
- default:
- break;
- }
- return TQMotifStyle::tqpixelMetric( metric, widget );
-}
-
-static void drawPanel( TQPainter *p, int x, int y, int w, int h,
- const TQColorGroup &g, bool sunken,
- int lineWidth, const TQBrush* fill)
-{
- if ( w == 0 || h == 0 )
- return;
-#if defined(CHECK_RANGE)
- ASSERT( w > 0 && h > 0 && lineWidth >= 0 );
-#endif
- TQPen oldPen = p->pen(); // save pen
- TQPointArray a( 4*lineWidth );
- if ( sunken )
- p->setPen( g.dark() );
- else
- p->setPen( g.light() );
- int x1, y1, x2, y2;
- int i;
- int n = 0;
- x1 = x;
- y1 = y2 = y;
- x2 = x+w-2;
- for ( i=0; i<lineWidth; i++ ) { // top shadow
- a.setPoint( n++, x1, y1++ );
- a.setPoint( n++, x2--, y2++ );
- }
- x2 = x1;
- y1 = y+h-2;
- for ( i=0; i<lineWidth; i++ ) { // left shadow
- a.setPoint( n++, x1++, y1 );
- a.setPoint( n++, x2++, y2-- );
- }
- p->drawLineSegments( a );
- n = 0;
- if ( sunken )
- p->setPen( g.light() );
- else
- p->setPen( g.dark() );
- x1 = x;
- y1 = y2 = y+h-1;
- x2 = x+w-1;
- for ( i=0; i<lineWidth; i++ ) { // bottom shadow
- a.setPoint( n++, x1++, y1-- );
- a.setPoint( n++, x2, y2-- );
- }
- x1 = x2;
- y1 = y;
- y2 = y+h-lineWidth-1;
- for ( i=0; i<lineWidth; i++ ) { // right shadow
- a.setPoint( n++, x1--, y1++ );
- a.setPoint( n++, x2--, y2 );
- }
- p->drawLineSegments( a );
- if ( fill ) { // fill with fill color
- TQBrush oldBrush = p->brush();
- p->setPen( TQt::NoPen );
- p->setBrush( *fill );
- p->drawRect( x+lineWidth, y+lineWidth, w-lineWidth*2, h-lineWidth*2 );
- p->setBrush( oldBrush );
- }
- p->setPen( oldPen ); // restore pen
-}
-
-static void drawSeparator( TQPainter *p, int x1, int y1, int x2, int y2,
- const TQColorGroup &g )
-{
- TQPen oldPen = p->pen();
-
- p->setPen( g.midlight() );
- p->drawLine( x1, y1, x2, y2 );
- p->setPen( g.shadow() );
- if ( y2-y1 < x2-x1 )
- p->drawLine( x1, y1+1, x2, y2+1 );
- else
- p->drawLine( x1+1, y1, x2+1, y2 );
-
- p->setPen( oldPen );
-}
-
-static void drawSGIPrefix( TQPainter *p, int x, int y, TQString* miText )
-{
- if ( miText && (!!(*miText)) ) {
- int amp = 0;
- bool nextAmp = FALSE;
- while ( ( amp = miText->find( '&', amp ) ) != -1 ) {
- if ( (uint)amp == miText->length()-1 )
- return;
- miText->remove( amp,1 );
- nextAmp = (*miText)[amp] == '&'; // next time if &&
-
- if ( !nextAmp ) { // draw special underlining
- uint ulx = p->fontMetrics().width(*miText, amp);
-
- uint ulw = p->fontMetrics().width(*miText, amp+1) - ulx;
-
- p->drawLine( x+ulx, y, x+ulx+ulw, y );
- p->drawLine( x+ulx, y+1, x+ulx+ulw/2, y+1 );
- p->drawLine( x+ulx, y+2, x+ulx+ulw/4, y+2 );
- }
- amp++;
- }
- }
-}
-
-static int get_combo_extra_width( int h, int *return_awh=0 )
-{
- int awh;
- if ( h < 8 ) {
- awh = 6;
- } else if ( h < 14 ) {
- awh = h - 2;
- } else {
- awh = h/2;
- }
- if ( return_awh )
- *return_awh = awh;
- return awh*2;
-}
-
-static void get_combo_parameters( const TQRect &r,
- int &ew, int &awh, int &ax,
- int &ay, int &sh, int &dh,
- int &sy )
-{
- ew = get_combo_extra_width( r.height(), &awh );
-
- sh = (awh+3)/4;
- if ( sh < 3 )
- sh = 3;
- dh = sh/2 + 1;
-
- ay = r.y() + (r.height()-awh-sh-dh)/2;
- if ( ay < 0 ) {
- //panic mode
- ay = 0;
- sy = r.height();
- } else {
- sy = ay+awh+dh;
- }
- if( TQApplication::reverseLayout() )
- ax = r.x();
- else
- ax = r.x() + r.width() - ew;
- ax += (ew-awh)/2;
-}
-
-/*! \reimp */
-void TQSGIStyle::tqdrawPrimitiveBase( TQ_PrimitiveElement pe,
- TQPainter *p,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags flags,
- const TQStyleOption& opt ) const
-{
- const int x = r.x();
- const int y = r.y();
- const int w = r.width();
- const int h = r.height();
- const bool sunken = flags & ( Style_Sunken | Style_Down | Style_On );
- const int defaultFrameWidth = tqpixelMetric( PM_DefaultFrameWidth );
- bool hot = ( flags & Style_MouseOver ) && ( flags & Style_Enabled );
-
- switch ( pe ) {
- case PE_ButtonCommand:
- {
- TQBrush fill;
- if ( hot ) {
- if ( sunken )
- fill = cg.brush( TQColorGroup::Dark );
- else
- fill = cg.brush( TQColorGroup::Midlight );
- } else if ( sunken ) {
- fill = cg.brush( TQColorGroup::Mid );
- } else {
- fill = cg.brush( TQColorGroup::Button );
- }
-
- drawPanel( p, x, y, w, h, cg, sunken, defaultFrameWidth, &fill );
- }
- break;
-
- case PE_PanelPopup:
- case PE_ButtonBevel:
- case PE_ButtonTool:
- {
- tqdrawPrimitive( PE_ButtonCommand, p, TQRect( x+1, y+1, w-2, h-2 ), cg, flags, opt );
-
- TQPen oldPen = p->pen();
- TQPointArray a;
-
- // draw twocolored rectangle
- p->setPen( sunken ? cg.light() : TQT_TQCOLOR_OBJECT(cg.dark().dark(200)) );
- a.setPoints( 3, x, y+h-1, x+w-1, y+h-1, x+w-1, y );
- p->drawPolyline( a );
- p->setPen( cg.dark() );
- a.setPoints( 3, x, y+h-2, x, y, x+w-2, y );
- p->drawPolyline( a );
-
- p->setPen( oldPen );
- }
- break;
-
- case PE_ArrowUp:
- case PE_ArrowDown:
- case PE_ArrowLeft:
- case PE_ArrowRight:
- {
- TQPointArray a; // arrow polygon
- switch ( pe ) {
- case PE_ArrowUp:
- a.setPoints( 3, 0,-5, -5,4, 4,4 );
- break;
- case PE_ArrowDown:
- a.setPoints( 3, 0,4, -4,-4, 4,-4 );
- break;
- case PE_ArrowLeft:
- a.setPoints( 3, -4,0, 4,-5, 4,4 );
- break;
- case PE_ArrowRight:
- a.setPoints( 3, 4,0, -4,-5, -4,4 );
- break;
- default:
- return;
- }
-
- p->save();
- p->setPen( TQt::NoPen );
- a.translate( x+w/2, y+h/2 );
- p->setBrush( flags & Style_Enabled ? cg.dark() : cg.light() );
- p->drawPolygon( a ); // draw arrow
- p->restore();
- }
- break;
-
- case PE_Indicator:
- {
- TQRect er = r;
- er.addCoords( 1, 1, -1, -1 );
- int iflags = flags & ~Style_On;
- tqdrawPrimitive( PE_ButtonBevel, p, er, cg, (QStyle::StateFlag)iflags, opt );
- if ( !(flags & TQStyle::Style_Off) ) {
- er = r;
- er.addCoords( 1, 2, 1, 1 );
- tqdrawPrimitive( PE_CheckMark, p, er, cg, flags, opt );
- }
- }
- break;
-
- case PE_IndicatorMask:
- {
- TQPen oldPen = p->pen();
- TQBrush oldBrush = p->brush();
-
- p->setPen( TQt::color1 );
- p->setBrush( TQt::color1 );
- p->fillRect( x, y, w, h, TQBrush( TQt::color0 ) );
- TQRect er = r;
- er.addCoords( 1, 1, -1, -1 );
- p->fillRect(er, TQBrush(TQt::color1));
-
- if ( !(flags & TQStyle::Style_Off) ) {
- er = r;
- er.addCoords( 1, 2, 1, 1 );
- static const TQCOORD check_mark[] = {
- 14,0, 10,0, 11,1, 8,1, 9,2, 7,2, 8,3, 6,3,
- 7,4, 1,4, 6,5, 1,5, 6,6, 3,6, 5,7, 4,7,
- 5,8, 5,8, 4,3, 2,3, 3,2, 3,2 };
-
- TQPointArray amark;
- amark = TQPointArray( sizeof(check_mark)/(sizeof(TQCOORD)*2), check_mark );
- amark.translate( er.x()+1, er.y()+1 );
- p->drawLineSegments( amark );
- amark.translate( -1, -1 );
- p->drawLineSegments( amark );
- }
-
- p->setBrush( oldBrush );
- p->setPen( oldPen );
- }
- break;
-
-#ifndef USE_QT4 // [FIXME]
- case PE_CheckMark:
- {
- static const TQCOORD check_mark[] = {
- 14,0, 10,0, 11,1, 8,1, 9,2, 7,2, 8,3, 6,3,
- 7,4, 1,4, 6,5, 1,5, 6,6, 3,6, 5,7, 4,7,
- 5,8, 5,8, 4,3, 2,3, 3,2, 3,2 };
-
- TQPen oldPen = p->pen();
-
- TQPointArray amark;
- amark = TQPointArray( sizeof(check_mark)/(sizeof(TQCOORD)*2), check_mark );
- amark.translate( x+1, y+1 );
-
- if ( flags & Style_On ) {
- p->setPen( flags & Style_Enabled ? cg.shadow() : cg.dark() );
- p->drawLineSegments( amark );
- amark.translate( -1, -1 );
- p->setPen( flags & Style_Enabled ? TQColor(255,0,0) : cg.dark() );
- p->drawLineSegments( amark );
- p->setPen( oldPen );
- } else {
- p->setPen( flags & Style_Enabled ? cg.dark() : cg.mid() );
- p->drawLineSegments( amark );
- amark.translate( -1, -1 );
- p->setPen( flags & Style_Enabled ? TQColor(230,120,120) : cg.dark() );
- p->drawLineSegments( amark );
- p->setPen( oldPen );
- }
- }
- break;
-#endif // USE_QT4
-
- case PE_ExclusiveIndicator:
- {
- p->save();
- p->eraseRect( x, y, w, h );
- p->translate( x, y );
-
- p->setPen( cg.button() );
- p->setBrush( hot ? cg.midlight() : cg.button() );
- TQPointArray a;
- a.setPoints( 4, 5,0, 11,6, 6,11, 0,5);
- p->drawPolygon( a );
-
- p->setPen( cg.dark() );
- p->drawLine( 0,5, 5,0 );
- p->drawLine( 6,0, 11,5 );
- p->setPen( flags & Style_Down ? cg.light() : cg.dark() );
- p->drawLine( 11,6, 6,11 );
- p->drawLine( 5,11, 0,6 );
- p->drawLine( 2,7, 5,10 );
- p->drawLine( 6,10, 9,7 );
- p->setPen( cg.light() );
- p->drawLine( 2,5, 5,2 );
-
- if ( flags & Style_On ) {
- p->setPen( flags & Style_Enabled ? TQt::blue : TQt::darkGray );
- p->setBrush( flags & Style_Enabled ? TQt::blue : TQt::darkGray );
- a.setPoints(3, 6,2, 8,4, 6,6 );
- p->drawPolygon( a );
- p->setBrush( TQt::NoBrush );
-
- p->setPen( cg.shadow() );
- p->drawLine( 7,7, 9,5 );
- } else {
- p->drawLine( 6,2, 9,5 );
- }
- p->restore();
- }
- break;
-
- case PE_ExclusiveIndicatorMask:
- {
- p->save();
- TQPen oldPen = p->pen();
- TQBrush oldBrush = p->brush();
-
- p->setPen( TQt::color1 );
- p->setBrush( TQt::color1 );
- TQPointArray a;
- a.setPoints( 8, 0,5, 5,0, 6,0, 11,5, 11,6, 6,11, 5,11, 0,6 );
- a.translate( x, y );
- p->drawPolygon( a );
-
- p->setBrush( oldBrush );
- p->setPen( oldPen );
- p->restore();
- }
- break;
-
- case PE_Panel:
- {
- const int lineWidth = opt.isDefault() ? defaultFrameWidth : opt.lineWidth();
- drawPanel( p, x, y, w, h, cg, flags & (Style_Sunken | Style_Down | Style_On), lineWidth, 0 );
- if ( lineWidth <= 1 )
- return;
-
- // draw extra shadinglines
- TQPen oldPen = p->pen();
- p->setPen( cg.midlight() );
- p->drawLine( x+1, y+h-3, x+1, y+1 );
- p->drawLine( x+1, y+1, x+w-3, y+1 );
- p->setPen( cg.mid() );
- p->drawLine( x+1, y+h-2, x+w-2, y+h-2 );
- p->drawLine( x+w-2, y+h-2, x+w-2, y+1 );
- p->setPen(oldPen);
- }
- break;
-
- case PE_ScrollBarSubLine:
- if ( !r.contains( d->mousePos ) && !(flags & Style_Active) )
- flags &= ~Style_MouseOver;
- tqdrawPrimitive( PE_ButtonCommand, p, r, cg, flags, opt );
- tqdrawPrimitive(((flags & Style_Horizontal) ? PE_ArrowLeft : PE_ArrowUp),
- p, r, cg, Style_Enabled | flags);
- break;
-
- case PE_ScrollBarAddLine:
- if ( !r.contains( d->mousePos ) )
- flags &= ~Style_MouseOver;
- tqdrawPrimitive( PE_ButtonCommand, p, r, cg, flags, opt );
- tqdrawPrimitive(((flags & Style_Horizontal) ? PE_ArrowRight : PE_ArrowDown),
- p, r, cg, Style_Enabled | flags);
- break;
-
- case PE_ScrollBarSubPage:
- case PE_ScrollBarAddPage:
- if ( !r.contains( d->mousePos ) )
- flags &= ~Style_MouseOver;
- if ( r.isValid() )
- qDrawShadePanel( p, x, y, w, h, cg, FALSE, 1, hot ? &cg.brush( TQColorGroup::Midlight ) : &cg.brush( TQColorGroup::Button ) );
- break;
-
- case PE_ScrollBarSlider:
- {
- if ( !r.isValid() )
- break;
- if ( !(r.contains( d->mousePos ) || flags & Style_Active) || !(flags & Style_Enabled ) )
- flags &= ~Style_MouseOver;
-
- TQPixmap pm( r.width(), r.height() );
- TQPainter bp( &pm );
- tqdrawPrimitive(PE_ButtonBevel, &bp, TQRect(0,0,r.width(),r.height()), cg, flags | Style_Enabled | Style_Raised);
- if ( flags & Style_Horizontal ) {
- const int sliderM = r.width() / 2;
- if ( r.width() > 20 ) {
- drawSeparator( &bp, sliderM-5, 2, sliderM-5, r.height()-3, cg );
- drawSeparator( &bp, sliderM+3, 2, sliderM+3, r.height()-3, cg );
- }
- if ( r.width() > 10 )
- drawSeparator( &bp, sliderM-1, 2, sliderM-1, r.height()-3, cg );
-
- } else {
- const int sliderM = r.height() / 2;
- if ( r.height() > 20 ) {
- drawSeparator( &bp, 2, sliderM-5, r.width()-3, sliderM-5, cg );
- drawSeparator( &bp, 2, sliderM+3, r.width()-3, sliderM+3, cg );
- }
- if ( r.height() > 10 )
- drawSeparator( &bp, 2, sliderM-1, r.width()-3, sliderM-1, cg );
- }
- bp.end();
- p->drawPixmap( r.x(), r.y(), pm );
- }
-
- break;
-
- case PE_Splitter:
- {
- const int motifOffset = 10;
- int sw = tqpixelMetric( PM_SplitterWidth );
- if ( flags & Style_Horizontal ) {
- int xPos = x + w/2;
- int kPos = motifOffset;
- int kSize = sw - 2;
-
- qDrawShadeLine( p, xPos, kPos + kSize - 1 ,
- xPos, h, cg );
-
- tqdrawPrimitive( PE_ButtonBevel, p, TQRect(xPos-sw/2+1, kPos, kSize, kSize+1), cg, flags, opt );
- qDrawShadeLine( p, xPos+2, 0, xPos, kPos, cg );
- } else {
- int yPos = y + h/2;
- int kPos = w - motifOffset - sw;
- int kSize = sw - 2;
-
- qDrawShadeLine( p, 0, yPos, kPos, yPos, cg );
- tqdrawPrimitive( PE_ButtonBevel, p, TQRect( kPos, yPos-sw/2+1, kSize+1, kSize ), cg, flags, opt );
- qDrawShadeLine( p, kPos + kSize+1, yPos, w, yPos, cg );
- }
- }
- break;
-
- default:
- TQMotifStyle::tqdrawPrimitive( pe, p, r, cg, flags, opt );
- break;
- }
-}
-
-/*! \reimp */
-void TQSGIStyle::tqdrawControl( TQ_ControlElement element,
- TQPainter *p,
- const TQWidget *widget,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags flags,
- const TQStyleOption& opt ) const
-{
- if ( widget == d->hotWidget )
- flags |= Style_MouseOver;
-
- switch ( element ) {
- case CE_PushButton:
- {
-#ifndef TQT_NO_PUSHBUTTON
- const TQPushButton *btn = (TQPushButton*)widget;
- int x1, y1, x2, y2;
- r.coords( &x1, &y1, &x2, &y2 );
-
- p->setPen( cg.foreground() );
- p->setBrush( TQBrush( cg.button(), Qt::NoBrush ) );
- p->setBrushOrigin( -widget->backgroundOffset().x(),
- -widget->backgroundOffset().y() );
-
- int diw = tqpixelMetric( TQStyle::PM_ButtonDefaultIndicator );
- if ( btn->isDefault() || btn->autoDefault() ) {
- x1 += diw;
- y1 += diw;
- x2 -= diw;
- y2 -= diw;
- }
-
- TQPointArray a;
- if ( btn->isDefault() ) {
- if ( diw == 0 ) {
- a.setPoints( 9,
- x1, y1, x2, y1, x2, y2, x1, y2, x1, y1+1,
- x2-1, y1+1, x2-1, y2-1, x1+1, y2-1, x1+1, y1+1 );
- p->setPen( cg.shadow() );
- p->drawPolyline( a );
- x1 += 2;
- y1 += 2;
- x2 -= 2;
- y2 -= 2;
- } else {
- qDrawShadePanel( p, btn->rect(), cg, TRUE );
- }
- }
-
- TQBrush fill = cg.brush( TQColorGroup::Button );
- if ( !btn->isFlat() || btn->isOn() || btn->isDown() )
- tqdrawPrimitive( PE_ButtonBevel, p, TQRect( x1, y1, x2-x1+1, y2-y1+1 ), cg, flags, opt );
-
- if ( p->brush().style() != TQt::NoBrush )
- p->setBrush( TQt::NoBrush );
-#endif
- }
- break;
-
- case CE_PopupMenuItem:
- {
-#ifndef TQT_NO_POPUPMENU
- if (! widget || opt.isDefault())
- break;
- TQMenuItem *mi = opt.menuItem();
- if ( !mi )
- break;
- const TQPopupMenu *popupmenu = (const TQPopupMenu *) widget;
- int tab = opt.tabWidth();
- int maxpmw = opt.maxIconWidth();
- bool dis = ! (flags & Style_Enabled);
- bool checkable = popupmenu->isCheckable();
- bool act = flags & Style_Active;
- int x, y, w, h;
-
- r.rect(&x, &y, &w, &h);
-
- if ( checkable )
- maxpmw = TQMAX( maxpmw, sgiCheckMarkSpace );
- int checkcol = maxpmw;
-
- if (mi && mi->isSeparator() ) {
- p->setPen( cg.mid() );
- p->drawLine(x, y, x+w, y );
- return;
- }
-
- int pw = sgiItemFrame;
-
- if ( act && !dis ) {
- if ( tqpixelMetric( PM_DefaultFrameWidth ) > 1 )
- drawPanel( p, x, y, w, h, cg, FALSE, pw,
- &TQT_TQBRUSH_OBJECT(cg.brush( TQColorGroup::Light )) );
- else
- drawPanel( p, x+1, y+1, w-2, h-2, cg, FALSE, 1,
- &TQT_TQBRUSH_OBJECT(cg.brush( TQColorGroup::Light )) );
- } else {
- p->fillRect( x, y, w, h, cg.brush( TQColorGroup::Button ) );
- }
-
- if ( !mi )
- return;
-
- if ( mi->isChecked() ) {
- if ( mi->iconSet() ) {
- drawPanel( p, x+sgiItemFrame, y+sgiItemFrame, checkcol, h-2*sgiItemFrame,
- cg, TRUE, 1, &TQT_TQBRUSH_OBJECT(cg.brush( TQColorGroup::Light )) );
- }
- } else {
- if ( !act )
- p->fillRect( x+sgiItemFrame, y+sgiItemFrame, checkcol, h-2*sgiItemFrame,
- cg.brush( TQColorGroup::Button ) );
- }
-
- if ( mi->iconSet() ) {
- TQIconSet::Mode mode = TQIconSet::Normal;
- if ( act && !dis )
- mode = TQIconSet::Active;
- TQPixmap pixmap;
- if ( checkable && mi->isChecked() )
- pixmap = mi->iconSet()->pixmap( TQIconSet::Small, mode, TQIconSet::On );
- else
- pixmap = mi->iconSet()->pixmap( TQIconSet::Small, mode );
-
- int pixw = pixmap.width();
- int pixh = pixmap.height();
- TQRect cr( x+sgiItemFrame, y+sgiItemFrame, checkcol, h-2*sgiItemFrame );
- TQRect pmr( 0, 0, pixw, pixh );
- pmr.moveCenter( cr.center() );
- p->setPen( cg.text() );
- p->drawPixmap( pmr.topLeft(), pixmap );
- } else {
- if ( checkable ) {
- SFlags cflags = Style_Default;
- if (! dis)
- cflags |= Style_Enabled;
- if (act)
- cflags |= Style_On;
-
- if ( mi->isChecked() ) {
- TQRect er( x+sgiItemFrame+1, y+sgiItemFrame+3,
- tqpixelMetric(PM_IndicatorWidth),
- tqpixelMetric(PM_IndicatorHeight) );
- er.addCoords( 1, 1, -1, -1 );
- tqdrawPrimitive( PE_ButtonBevel, p, er, cg, cflags, opt );
- er.addCoords( 0, 1, 1, 1 );
- tqdrawPrimitive( PE_CheckMark, p, er, cg, cflags | Style_On, opt );
- }
- }
- }
-
- p->setPen( cg.buttonText() );
-
- TQColor discol;
- if ( dis ) {
- discol = cg.text();
- p->setPen( discol );
- }
-
- int xm = sgiItemFrame + checkcol + sgiItemHMargin;
-
- if ( mi->custom() ) {
- int m = sgiItemVMargin;
- p->save();
- mi->custom()->paint( p, cg, act, !dis,
- x+xm, y+m, w-xm-tab+1, h-2*m );
- p->restore();
- }
-
- TQString s = mi->text();
- if ( !!s ) {
- int t = s.find( '\t' );
- int m = sgiItemVMargin;
- const int text_flags = TQt::AlignVCenter | TQt::DontClip | TQt::SingleLine; //special underline for &x
-
- TQString miText = s;
- if ( t>=0 ) {
- p->drawText(x+w-tab-sgiItemHMargin-sgiItemFrame,
- y+m, tab, h-2*m, text_flags, miText.mid( t+1 ) );
- miText = s.mid( 0, t );
- }
- TQRect br = p->fontMetrics().boundingRect( x+xm, y+m, w-xm-tab+1, h-2*m,
- text_flags, mi->text() );
-
- drawSGIPrefix( p, br.x()+p->fontMetrics().leftBearing(miText[0]),
- br.y()+br.height()+p->fontMetrics().underlinePos()-2, &miText );
- p->drawText( x+xm, y+m, w-xm-tab+1, h-2*m, text_flags, miText, miText.length() );
- } else {
- if ( mi->pixmap() ) {
- TQPixmap *pixmap = mi->pixmap();
- if ( pixmap->depth() == 1 )
- p->setBackgroundMode( Qt::OpaqueMode );
- p->drawPixmap( x+xm, y+sgiItemFrame, *pixmap );
- if ( pixmap->depth() == 1 )
- p->setBackgroundMode( Qt::TransparentMode );
- }
- }
- if ( mi->popup() ) {
- int dim = (h-2*sgiItemFrame) / 2;
- tqdrawPrimitive( PE_ArrowRight, p, TQRect( x+w-sgiArrowHMargin-sgiItemFrame-dim, y+h/2-dim/2, dim, dim ), cg, flags );
- }
-#endif
- }
- break;
-
- case CE_MenuBarItem:
- {
-#ifndef TQT_NO_MENUDATA
- if (opt.isDefault())
- break;
-
- TQMenuItem *mi = opt.menuItem();
-
- bool active = flags & Style_Active;
- int x, y, w, h;
- r.rect( &x, &y, &w, &h );
-
- if ( active ) {
- p->setPen( TQPen( cg.shadow(), 1) );
- p->drawRect( x, y, w, h );
- qDrawShadePanel( p, TQRect(x+1,y+1,w-2,h-2), cg, FALSE, 2,
- &cg.brush( TQColorGroup::Light ));
- } else {
- p->fillRect( x, y, w, h, cg.brush( TQColorGroup::Button ));
- }
-
- if ( mi->pixmap() )
- drawItem( p, r, TQt::AlignCenter|TQt::DontClip|TQt::SingleLine,
- cg, mi->isEnabled(), mi->pixmap(), "", -1, TQT_TQCOLOR_CONST(&cg.buttonText()) );
-
- if ( !!mi->text() ) {
- TQString* text = new TQString(mi->text());
- TQRect br = p->fontMetrics().boundingRect( x, y-2, w+1, h,
- TQt::AlignCenter|TQt::DontClip|TQt::SingleLine|TQt::ShowPrefix, mi->text() );
-
- drawSGIPrefix( p, br.x()+p->fontMetrics().leftBearing((*text)[0]),
- br.y()+br.height()+p->fontMetrics().underlinePos()-2, text );
- p->drawText( x, y-2, w+1, h, TQt::AlignCenter|TQt::DontClip|TQt::SingleLine, *text, text->length() );
- delete text;
- }
-#endif
- }
- break;
-
- case CE_CheckBox:
- TQMotifStyle::tqdrawControl( element, p, widget, r, cg, flags, opt );
- break;
-
- default:
- TQMotifStyle::tqdrawControl( element, p, widget, r, cg, flags, opt );
- break;
- }
-}
-
-/*! \reimp */
-void TQSGIStyle::tqdrawComplexControl( TQ_ComplexControl control,
- TQPainter *p,
- const TQWidget* widget,
- const TQRect& r,
- const TQColorGroup& cg,
- SFlags flags,
- SCFlags sub,
- SCFlags subActive,
- const TQStyleOption& opt ) const
-{
- if ( widget == d->hotWidget )
- flags |= Style_MouseOver;
-
- switch ( control ) {
- case CC_Slider:
- {
-#ifndef TQT_NO_SLIDER
- const TQSlider * slider = (const TQSlider *) widget;
-
- TQRect groove = querySubControlMetrics(CC_Slider, widget, SC_SliderGroove,
- opt),
- handle = querySubControlMetrics(CC_Slider, widget, SC_SliderHandle,
- opt);
-
- if ((sub & SC_SliderGroove) && groove.isValid()) {
- TQRegion region( groove );
- if ( ( sub & SC_SliderHandle ) && handle.isValid() )
- region = region.subtract( handle );
- if ( d->lastSliderRect.slider == slider && d->lastSliderRect.rect.isValid() )
- region = region.subtract( d->lastSliderRect.rect );
- p->setClipRegion( region );
-
- TQRect grooveTop = groove;
- grooveTop.addCoords( 1, 1, -1, -1 );
- tqdrawPrimitive( PE_ButtonBevel, p, grooveTop, cg, flags & ~Style_MouseOver, opt );
-
- if ( flags & Style_HasFocus ) {
- TQRect fr = subRect( SR_SliderFocusRect, widget );
- tqdrawPrimitive( PE_FocusRect, p, fr, cg, flags & ~Style_MouseOver );
- }
-
- if ( d->lastSliderRect.slider == slider && d->lastSliderRect.rect.isValid() ) {
- if ( ( sub & SC_SliderHandle ) && handle.isValid() ) {
- region = widget->rect();
- region = region.subtract( handle );
- p->setClipRegion( region );
- } else {
- p->setClipping( FALSE );
- }
- qDrawShadePanel( p, d->lastSliderRect.rect, cg, TRUE, 1, &cg.brush( TQColorGroup::Dark ) );
- }
- p->setClipping( FALSE );
- }
-
- if (( sub & SC_SliderHandle ) && handle.isValid()) {
- if ( flags & Style_MouseOver && !handle.contains( d->mousePos ) && subActive != SC_SliderHandle )
- flags &= ~Style_MouseOver;
- tqdrawPrimitive( PE_ButtonBevel, p, handle, cg, flags );
-
- if ( slider->orientation() == Qt::Horizontal ) {
- TQCOORD mid = handle.x() + handle.width() / 2;
- qDrawShadeLine( p, mid, handle.y(), mid,
- handle.y() + handle.height() - 2,
- cg, TRUE, 1);
- } else {
- TQCOORD mid = handle.y() + handle.height() / 2;
- qDrawShadeLine( p, handle.x(), mid,
- handle.x() + handle.width() - 2, mid,
- cg, TRUE, 1);
- }
- }
-
- if ( sub & SC_SliderTickmarks )
- TQMotifStyle::tqdrawComplexControl( control, p, widget, r, cg, flags,
- SC_SliderTickmarks, subActive,
- opt );
-#endif
- break;
- }
- case CC_ComboBox:
- {
-#ifndef TQT_NO_COMBOBOX
- const TQComboBox * cb = (TQComboBox *) widget;
-
- if (sub & SC_ComboBoxFrame) {
- TQRect fr =
- TQStyle::tqvisualRect( querySubControlMetrics( CC_ComboBox, cb,
- SC_ComboBoxFrame ), cb );
- tqdrawPrimitive( PE_ButtonBevel, p, fr, cg, flags );
- }
-
- if ( sub & SC_ComboBoxArrow ) {
- p->save();
- TQRect er =
- TQStyle::tqvisualRect( querySubControlMetrics( CC_ComboBox, cb, SC_ComboBoxArrow ), cb );
-
- er.addCoords( 0, 3, 0, 0 );
-
- tqdrawPrimitive( PE_ArrowDown, p, er, cg, flags | Style_Enabled, opt );
-
- int awh, ax, ay, sh, sy, dh, ew;
- get_combo_parameters( widget->rect(), ew, awh, ax, ay, sh, dh, sy );
-
- TQBrush arrow = cg.brush( TQColorGroup::Dark );
- p->fillRect( ax, sy-1, awh, sh, arrow );
-
- p->restore();
- if ( cb->hasFocus() ) {
- TQRect re = TQStyle::tqvisualRect( subRect( SR_ComboBoxFocusRect, cb ), cb );
- tqdrawPrimitive( PE_FocusRect, p, re, cg );
- }
- }
- if ( sub & SC_ComboBoxEditField ) {
- if ( cb->editable() ) {
- TQRect er =
- TQStyle::tqvisualRect( querySubControlMetrics( CC_ComboBox, cb,
- SC_ComboBoxEditField ), cb );
- er.addCoords( -1, -1, 1, 1);
- qDrawShadePanel( p, TQRect( er.x()-1, er.y()-1,
- er.width()+2, er.height()+2 ),
- cg, TRUE, 1, &cg.brush( TQColorGroup::Button ) );
- }
- }
-#endif
- p->setPen(cg.buttonText());
- break;
- }
-
- case CC_ScrollBar:
- {
-#ifndef TQT_NO_SCROLLBAR
- TQScrollBar *scrollbar = (TQScrollBar*)widget;
- bool maxedOut = (scrollbar->minValue() == scrollbar->maxValue());
- if ( maxedOut )
- flags &= ~Style_Enabled;
-
- TQRect handle = TQStyle::tqvisualRect( querySubControlMetrics( CC_ScrollBar, widget, SC_ScrollBarSlider, opt ), widget );
-
- if ( sub & SC_ScrollBarGroove ) {
- }
- if ( sub & SC_ScrollBarAddLine ) {
- TQRect er = TQStyle::tqvisualRect( querySubControlMetrics( CC_ScrollBar, widget, SC_ScrollBarAddLine, opt ), widget );
- tqdrawPrimitive( PE_ScrollBarAddLine, p, er, cg, flags, opt );
- }
- if ( sub & SC_ScrollBarSubLine ) {
- TQRect er = TQStyle::tqvisualRect( querySubControlMetrics( CC_ScrollBar, widget, SC_ScrollBarSubLine, opt ), widget );
- tqdrawPrimitive( PE_ScrollBarSubLine, p, er, cg, flags, opt );
- }
- if ( sub & SC_ScrollBarAddPage ) {
- TQRect er = TQStyle::tqvisualRect( querySubControlMetrics( CC_ScrollBar, widget, SC_ScrollBarAddPage, opt ), widget );
- TQRegion region( er );
- if ( d->lastScrollbarRect.scrollbar == scrollbar &&
- d->lastScrollbarRect.rect.isValid() &&
- er.intersects( d->lastScrollbarRect.rect ) ) {
- region = region.subtract( d->lastScrollbarRect.rect );
- p->setClipRegion( region );
- }
- if ( sub & SC_ScrollBarSlider && er.intersects( handle ) ) {
- region = region.subtract( handle );
- p->setClipRegion( region );
- }
-
- tqdrawPrimitive( PE_ScrollBarAddPage, p, er, cg, flags & ~Style_MouseOver, opt );
-
- if ( d->lastScrollbarRect.scrollbar == scrollbar &&
- d->lastScrollbarRect.rect.isValid() &&
- er.intersects( d->lastScrollbarRect.rect ) ) {
- if ( sub & SC_ScrollBarSlider && handle.isValid() ) {
- region = er;
- region.subtract( handle );
- p->setClipRegion( region );
- } else {
- p->setClipping( FALSE );
- }
- qDrawShadePanel( p, d->lastScrollbarRect.rect, cg, TRUE, 1, &cg.brush( TQColorGroup::Dark ) );
- }
- p->setClipping( FALSE );
- }
- if ( sub & SC_ScrollBarSubPage ) {
- TQRect er = TQStyle::tqvisualRect( querySubControlMetrics( CC_ScrollBar, widget, SC_ScrollBarSubPage, opt ), widget );
- TQRegion region( er );
- if ( d->lastScrollbarRect.scrollbar == scrollbar &&
- d->lastScrollbarRect.rect.isValid() &&
- er.intersects( d->lastScrollbarRect.rect ) ) {
- region = region.subtract( d->lastScrollbarRect.rect );
- p->setClipRegion( region );
- }
- if ( sub & SC_ScrollBarSlider && er.intersects( handle ) ) {
- region = region.subtract( handle );
- p->setClipRegion( region );
- }
- tqdrawPrimitive( PE_ScrollBarSubPage, p, er, cg, flags & ~Style_MouseOver, opt );
- if ( d->lastScrollbarRect.scrollbar == scrollbar &&
- d->lastScrollbarRect.rect.isValid() &&
- er.intersects( d->lastScrollbarRect.rect ) ) {
- if ( sub & SC_ScrollBarSlider && handle.isValid() ) {
- region = er;
- region.subtract( handle );
- p->setClipRegion( region );
- } else {
- p->setClipping( FALSE );
- }
- qDrawShadePanel( p, d->lastScrollbarRect.rect, cg, TRUE, 1, &cg.brush( TQColorGroup::Dark ) );
- }
- p->setClipping( FALSE );
- }
- if ( sub & SC_ScrollBarSlider ) {
- p->setClipping( FALSE );
- if ( subActive == SC_ScrollBarSlider )
- flags |= Style_Active;
-
- tqdrawPrimitive( PE_ScrollBarSlider, p, handle, cg, flags, opt );
- }
-#endif
- }
- break;
-
- default:
- TQMotifStyle::tqdrawComplexControl( control, p, widget, r, cg, flags, sub, subActive, opt );
- break;
- }
-}
-
-/*!\reimp
-*/
-TQSize TQSGIStyle::tqsizeFromContents( ContentsType contents,
- const TQWidget *widget,
- const TQSize &contentsSize,
- const TQStyleOption& opt ) const
-{
- TQSize sz(contentsSize);
-
- switch(contents) {
- case CT_PopupMenuItem:
- {
-#ifndef TQT_NO_POPUPMENU
- if (! widget || opt.isDefault())
- break;
-
- TQMenuItem *mi = opt.menuItem();
- sz = TQMotifStyle::tqsizeFromContents( contents, widget, contentsSize,
- opt );
- // SGI checkmark items needs a bit more room
- const TQPopupMenu *popup = (TQPopupMenu *) widget;
- if ( popup && popup->isCheckable() )
- sz.setWidth( sz.width() + 8 );
- // submenu indicator needs a bit more room
- if (mi->popup())
- sz.setWidth( sz.width() + sgiTabSpacing );
-#endif
- break;
- }
- case CT_ComboBox:
- sz.rwidth() += 30;
- break;
-
- default:
- sz = TQMotifStyle::tqsizeFromContents( contents, widget, contentsSize, opt );
- break;
- }
-
- return sz;
-}
-
-/*! \reimp */
-TQRect TQSGIStyle::subRect( SubRect r, const TQWidget *widget ) const
-{
- TQRect rect;
-
- switch ( r ) {
- case SR_ComboBoxFocusRect:
- {
- int awh, ax, ay, sh, sy, dh, ew;
- int fw = tqpixelMetric( PM_DefaultFrameWidth, widget );
- TQRect tr = widget->rect();
-
- tr.addCoords( fw, fw, -fw, -fw );
- get_combo_parameters( tr, ew, awh, ax, ay, sh, dh, sy );
- rect.setRect(ax-2, ay-2, awh+4, awh+sh+dh+4);
- }
- break;
- default:
- return TQMotifStyle::subRect( r, widget );
- }
-
- return rect;
-}
-
-/*! \reimp */
-TQRect TQSGIStyle::querySubControlMetrics( TQ_ComplexControl control,
- const TQWidget *widget,
- SubControl sub,
- const TQStyleOption& opt ) const
-{
- switch ( control ) {
- case CC_ComboBox:
- switch ( sub ) {
- case SC_ComboBoxFrame:
- return widget->rect();
-
- case SC_ComboBoxArrow: {
- int ew, awh, sh, dh, ax, ay, sy;
- int fw = tqpixelMetric( PM_DefaultFrameWidth, widget );
- TQRect cr = widget->rect();
- cr.addCoords( fw, fw, -fw, -fw );
- get_combo_parameters( cr, ew, awh, ax, ay, sh, dh, sy );
- return TQRect( ax, ay, awh, awh ); }
-
- case SC_ComboBoxEditField: {
- int fw = tqpixelMetric( PM_DefaultFrameWidth, widget );
- TQRect rect = widget->rect();
- rect.addCoords( fw, fw, -fw, -fw );
- int ew = get_combo_extra_width( rect.height() );
- rect.addCoords( 1, 1, -1-ew, -1 );
- return rect; }
-
- default:
- break;
- }
- break;
- case CC_ScrollBar:
- return TQCommonStyle::querySubControlMetrics( control, widget, sub, opt );
- default: break;
- }
- return TQMotifStyle::querySubControlMetrics( control, widget, sub, opt );
-}
-
-#endif // TQT_NO_STYLE_SGI
diff --git a/tqtinterface/qt4/src/styles/tqsgistyle.h b/tqtinterface/qt4/src/styles/tqsgistyle.h
deleted file mode 100644
index 8458a70..0000000
--- a/tqtinterface/qt4/src/styles/tqsgistyle.h
+++ /dev/null
@@ -1,134 +0,0 @@
-/****************************************************************************
-**
-** Definition of SGI-like style class
-**
-** Created : 981231
-**
-** Copyright (C) 1998-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of the widgets module of the TQt GUI Toolkit.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** This file may be used under the terms of the Q Public License as
-** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
-** included in the packaging of this file. Licensees holding valid TQt
-** Commercial licenses may use this file in accordance with the TQt
-** Commercial License Agreement provided with the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#ifndef TQSGISTYLE_H
-#define TQSGISTYLE_H
-
-#ifndef TQT_H
-#include "tqmotifstyle.h"
-#include "tqguardedptr.h"
-#include "tqwidget.h"
-#endif // TQT_H
-
-#if !defined(TQT_NO_STYLE_SGI) || defined(TQT_PLUGIN)
-
-#if defined(TQT_PLUGIN)
-#define TQ_EXPORT_STYLE_SGI
-#else
-#define TQ_EXPORT_STYLE_SGI TQ_EXPORT
-#endif
-
-class TQSGIStylePrivate;
-
-class TQ_EXPORT_STYLE_SGI TQSGIStyle: public TQMotifStyle
-{
- Q_OBJECT
- TQ_OBJECT
-public:
- TQSGIStyle( bool useHighlightCols = FALSE );
- virtual ~TQSGIStyle();
-
-#if !defined(TQ_NO_USING_KEYWORD)
- using TQMotifStyle::polish;
-#endif
- void polish( TQWidget* );
- void unPolish( TQWidget* );
- void polish( TQApplication* );
- void unPolish( TQApplication* );
-
- void tqdrawPrimitiveBase( TQ_PrimitiveElement pe,
- TQPainter *p,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags flags = Style_Default,
- const TQStyleOption& = TQStyleOption::Default ) const;
-
- void tqdrawControl( TQ_ControlElement element,
- TQPainter *p,
- const TQWidget *widget,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags how = Style_Default,
- const TQStyleOption& = TQStyleOption::Default ) const;
-
- void tqdrawComplexControl( TQ_ComplexControl control,
- TQPainter *p,
- const TQWidget* widget,
- const TQRect& r,
- const TQColorGroup& cg,
- SFlags how = Style_Default,
-#ifdef TQ_TQDOC
- SCFlags sub = SC_All,
-#else
- SCFlags sub = (uint)SC_All,
-#endif
- SCFlags subActive = SC_None,
- const TQStyleOption& = TQStyleOption::Default ) const;
-
- int tqpixelMetric( PixelMetric metric, const TQWidget *widget = 0 ) const;
-
- TQSize tqsizeFromContents( ContentsType contents,
- const TQWidget *widget,
- const TQSize &contentsSize,
- const TQStyleOption& = TQStyleOption::Default ) const;
-
- TQRect subRect( SubRect r, const TQWidget *widget ) const;
- TQRect querySubControlMetrics( TQ_ComplexControl control,
- const TQWidget *widget,
- SubControl sc,
- const TQStyleOption& = TQStyleOption::Default ) const;
-
-protected:
- bool eventFilter( TQObject*, TQEvent*);
-
-private:
- TQSGIStylePrivate *d;
-
- uint isApplicationStyle :1;
-#if defined(TQ_DISABLE_COPY)
- TQSGIStyle( const TQSGIStyle & );
- TQSGIStyle& operator=( const TQSGIStyle & );
-#endif
-
-};
-
-#endif // TQT_NO_STYLE_SGI
-
-#endif // TQSGISTYLE_H
diff --git a/tqtinterface/qt4/src/styles/tqstylefactory.cpp b/tqtinterface/qt4/src/styles/tqstylefactory.cpp
deleted file mode 100644
index 6d72738..0000000
--- a/tqtinterface/qt4/src/styles/tqstylefactory.cpp
+++ /dev/null
@@ -1,268 +0,0 @@
-/****************************************************************************
-**
-** Implementation of TQStyleFactory class
-**
-** Created : 001103
-**
-** Copyright (C) 2010 Timothy Pearson and (C) 1992-2008 Trolltech ASA.
-**
-** This file is part of the widgets module of the TQt GUI Toolkit.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** This file may be used under the terms of the Q Public License as
-** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
-** included in the packaging of this file. Licensees holding valid TQt
-** Commercial licenses may use this file in accordance with the TQt
-** Commercial License Agreement provided with the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#include "tqstyleinterface_p.h" // up here for GCC 2.7.* compatibility
-#include "tqstylefactory.h"
-
-#ifndef TQT_NO_STYLE
-
-#include "tqapplication.h"
-#include "tqwindowsstyle.h"
-#include "tqmotifstyle.h"
-#include "tqcdestyle.h"
-#include "tqmotifplusstyle.h"
-#include "tqplatinumstyle.h"
-#include "tqsgistyle.h"
-#include "tqcompactstyle.h"
-#ifndef TQT_NO_STYLE_WINDOWSXP
-#include "tqwindowsxpstyle.h"
-#endif
-#ifndef TQT_NO_STYLE_AQUA
-#include "tqaquastyle.h"
-#endif
-#ifndef TQT_NO_STYLE_POCKETPC
-#include "tqpocketpcstyle_wce.h"
-#endif
-
-#if !defined( TQT_NO_STYLE_MAC ) && defined( TQ_WS_MAC )
-TQString p2qstring(const unsigned char *c); //qglobal.cpp
-#include "tqt_mac.h"
-#include "tqmacstyle_mac.h"
-#endif
-#include <stdlib.h>
-
-#include <private/tqpluginmanager_p.h>
-#ifndef TQT_NO_COMPONENT
-class TQStyleFactoryPrivate : public TQObject
-{
-public:
- TQStyleFactoryPrivate();
- ~TQStyleFactoryPrivate();
-
- static TQPluginManager<TQStyleFactoryInterface> *manager;
-};
-
-static TQStyleFactoryPrivate *instance = 0;
-TQPluginManager<TQStyleFactoryInterface> *TQStyleFactoryPrivate::manager = 0;
-
-TQStyleFactoryPrivate::TQStyleFactoryPrivate()
-: TQObject( tqApp )
-{
- manager = new TQPluginManager<TQStyleFactoryInterface>( IID_TQStyleFactory, TQApplication::libraryPaths(), "/styles", FALSE );
-}
-
-TQStyleFactoryPrivate::~TQStyleFactoryPrivate()
-{
- delete manager;
- manager = 0;
-
- instance = 0;
-}
-
-#endif //TQT_NO_COMPONENT
-
-/*!
- \class TQStyleFactory tqstylefactory.h
- \brief The TQStyleFactory class creates TQStyle objects.
-
- The style factory creates a TQStyle object for a given key with
- TQStyleFactory::create(key).
-
- The styles are either built-in or dynamically loaded from a style
- plugin (see \l TQStylePlugin).
-
- TQStyleFactory::keys() returns a list of valid keys, typically
- including "Windows", "Motif", "CDE", "MotifPlus", "Platinum",
- "SGI" and "Compact". Depending on the platform, "WindowsXP",
- "Aqua" or "Macintosh" may be available.
-*/
-
-/*!
- Creates a TQStyle object that matches \a key case-insensitively.
- This is either a built-in style, or a style from a style plugin.
-
- \sa keys()
-*/
-TQStyle *TQStyleFactory::create( const TQString& key )
-{
- TQStyle *ret = 0;
- TQString style = key.lower();
-#ifndef TQT_NO_STYLE_WINDOWS
- if ( style == "windows" )
- ret = new TQWindowsStyle;
- else
-#endif
-#ifndef TQT_NO_STYLE_WINDOWSXP
- if ( style == "windowsxp" )
- ret = new TQWindowsXPStyle;
- else
-#endif
-#ifndef TQT_NO_STYLE_MOTIF
- if ( style == "motif" )
- ret = new TQMotifStyle;
- else
-#endif
-#ifndef TQT_NO_STYLE_CDE
- if ( style == "cde" )
- ret = new TQCDEStyle;
- else
-#endif
-#ifndef TQT_NO_STYLE_MOTIFPLUS
- if ( style == "motifplus" )
- ret = new TQMotifPlusStyle;
- else
-#endif
-#ifndef TQT_NO_STYLE_PLATINUM
- if ( style == "platinum" )
- ret = new TQPlatinumStyle;
- else
-#endif
-#ifndef TQT_NO_STYLE_SGI
- if ( style == "sgi")
- ret = new TQSGIStyle;
- else
-#endif
-#ifndef TQT_NO_STYLE_COMPACT
- if ( style == "compact" )
- ret = new TQCompactStyle;
- else
-#endif
-#ifndef TQT_NO_STYLE_AQUA
- if ( style == "aqua" )
- ret = new TQAquaStyle;
-#endif
-#ifndef TQT_NO_STYLE_POCKETPC
- if ( style == "pocketpc" )
- ret = new TQPocketPCStyle;
-#endif
-#if !defined( TQT_NO_STYLE_MAC ) && defined( TQ_WS_MAC )
- if( style.left(9) == "macintosh" )
- ret = new TQMacStyle;
-#endif
- { } // Keep these here - they make the #ifdefery above work
-
-#ifndef TQT_NO_COMPONENT
- if(!ret) {
- if ( !instance )
- instance = new TQStyleFactoryPrivate;
-
- TQInterfacePtr<TQStyleFactoryInterface> iface;
- TQStyleFactoryPrivate::manager->queryInterface( style, &iface );
-
- if ( iface )
- ret = iface->create( style );
- }
- if(ret)
- TQT_TQOBJECT(ret)->setName(key);
-#endif
- return ret;
-}
-
-#ifndef TQT_NO_STRINGLIST
-/*!
- Returns the list of keys this factory can create styles for.
-
- \sa create()
-*/
-TQStringList TQStyleFactory::keys()
-{
- TQStringList list;
-#ifndef TQT_NO_COMPONENT
- if ( !instance )
- instance = new TQStyleFactoryPrivate;
-
- list = TQStyleFactoryPrivate::manager->featureList();
-#endif //TQT_NO_COMPONENT
-
-#ifndef TQT_NO_STYLE_WINDOWS
- if ( !list.contains( "Windows" ) )
- list << "Windows";
-#endif
-#ifndef TQT_NO_STYLE_WINDOWSXP
- if ( !list.contains( "WindowsXP" ) && TQWindowsXPStyle::resolveSymbols() )
- list << "WindowsXP";
-#endif
-#ifndef TQT_NO_STYLE_MOTIF
- if ( !list.contains( "Motif" ) )
- list << "Motif";
-#endif
-#ifndef TQT_NO_STYLE_CDE
- if ( !list.contains( "CDE" ) )
- list << "CDE";
-#endif
-#ifndef TQT_NO_STYLE_MOTIFPLUS
- if ( !list.contains( "MotifPlus" ) )
- list << "MotifPlus";
-#endif
-#ifndef TQT_NO_STYLE_PLATINUM
- if ( !list.contains( "Platinum" ) )
- list << "Platinum";
-#endif
-#ifndef TQT_NO_STYLE_SGI
- if ( !list.contains( "SGI" ) )
- list << "SGI";
-#endif
-#ifndef TQT_NO_STYLE_COMPACT
- if ( !list.contains( "Compact" ) )
- list << "Compact";
-#endif
-#ifndef TQT_NO_STYLE_ATQUA
- if ( !list.contains( "Aqua" ) )
- list << "Aqua";
-#endif
-#if !defined( TQT_NO_STYLE_MAC ) && defined( TQ_WS_MAC )
- TQString mstyle = "Macintosh";
- Collection c = NewCollection();
- if (c) {
- GetTheme(c);
- Str255 str;
- long int s = 256;
- if(!GetCollectionItem(c, kThemeNameTag, 0, &s, &str))
- mstyle += " (" + p2qstring(str) + ")";
- }
- if (!list.contains(mstyle))
- list << mstyle;
- DisposeCollection(c);
-#endif
-
- return list;
-}
-#endif
-#endif // TQT_NO_STYLE
diff --git a/tqtinterface/qt4/src/styles/tqstylefactory.h b/tqtinterface/qt4/src/styles/tqstylefactory.h
deleted file mode 100644
index 0b9a37d..0000000
--- a/tqtinterface/qt4/src/styles/tqstylefactory.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/****************************************************************************
-**
-** ...
-**
-** Copyright (C) 2000-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of the widgets module of the TQt GUI Toolkit.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** This file may be used under the terms of the Q Public License as
-** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
-** included in the packaging of this file. Licensees holding valid TQt
-** Commercial licenses may use this file in accordance with the TQt
-** Commercial License Agreement provided with the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#ifndef TQSTYLEFACTORY_H
-#define TQSTYLEFACTORY_H
-
-#ifndef TQT_H
-#include "tqstringlist.h"
-#endif // TQT_H
-
-#ifndef TQT_NO_STYLE
-
-class TQString;
-class TQStyle;
-
-class TQ_EXPORT TQStyleFactory
-{
-public:
-#ifndef TQT_NO_STRINGLIST
- static TQStringList keys();
-#endif
- static TQStyle *create( const TQString& );
-};
-
-#endif //TQT_NO_STYLE
-
-#endif //TQSTYLEFACTORY_H
diff --git a/tqtinterface/qt4/src/styles/tqstyleinterface_p.h b/tqtinterface/qt4/src/styles/tqstyleinterface_p.h
deleted file mode 100644
index 6b401c2..0000000
--- a/tqtinterface/qt4/src/styles/tqstyleinterface_p.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** ...
-**
-** Copyright (C) 2000-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of the widgets module of the TQt GUI Toolkit.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** This file may be used under the terms of the Q Public License as
-** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
-** included in the packaging of this file. Licensees holding valid TQt
-** Commercial licenses may use this file in accordance with the TQt
-** Commercial License Agreement provided with the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#ifndef TQSTYLEINTERFACE_P_H
-#define TQSTYLEINTERFACE_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the TQt API. This header file may
-// change from version to version without notice, or even be
-// removed.
-//
-// We mean it.
-//
-//
-
-#ifndef TQT_H
-#include <private/tqcom_p.h>
-#endif // TQT_H
-
-#ifndef TQT_NO_STYLE
-#ifndef TQT_NO_COMPONENT
-
-class TQStyle;
-
-// {FC1B6EBE-053C-49c1-A483-C377739AB9A5}
-#ifndef IID_TQStyleFactory
-#define IID_TQStyleFactory TQUuid(0xfc1b6ebe, 0x53c, 0x49c1, 0xa4, 0x83, 0xc3, 0x77, 0x73, 0x9a, 0xb9, 0xa5)
-#endif
-
-struct TQ_EXPORT TQStyleFactoryInterface : public TQFeatureListInterface
-{
- virtual TQStyle* create( const TQString& style ) = 0;
-};
-
-#endif //TQT_NO_COMPONENT
-#endif //TQT_NO_STYLE
-
-#endif //TQSTYLEINTERFACE_P_H
diff --git a/tqtinterface/qt4/src/styles/tqstyleplugin.cpp b/tqtinterface/qt4/src/styles/tqstyleplugin.cpp
deleted file mode 100644
index 970d4bb..0000000
--- a/tqtinterface/qt4/src/styles/tqstyleplugin.cpp
+++ /dev/null
@@ -1,185 +0,0 @@
-/****************************************************************************
-**
-** Implementation of TQSqlDriverPlugin class
-**
-** Created : 010920
-**
-** Copyright (C) 2005-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of the widgets module of the TQt GUI Toolkit.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** This file may be used under the terms of the Q Public License as
-** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
-** included in the packaging of this file. Licensees holding valid TQt
-** Commercial licenses may use this file in accordance with the TQt
-** Commercial License Agreement provided with the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#include "tqstyleplugin.h"
-
-#ifndef TQT_NO_STYLE
-#ifndef TQT_NO_COMPONENT
-
-#include "tqstyleinterface_p.h"
-#include "tqobjectcleanuphandler.h"
-#include "tqstyle.h"
-
-/*!
- \class TQStylePlugin tqstyleplugin.h
- \brief The TQStylePlugin class provides an abstract base for custom TQStyle plugins.
-
- \ingroup plugins
-
- The style plugin is a simple plugin interface that makes it easy
- to create custom styles that can be loaded dynamically into
- applications with a TQStyleFactory.
-
- Writing a style plugin is achieved by subclassing this base class,
- reimplementing the pure virtual functions keys() and create(), and
- exporting the class with the \c TQ_EXPORT_PLUGIN macro. See the
- \link plugins-howto.html plugins documentation\endlink for an
- example.
-*/
-
-/*!
- \fn TQStringList TQStylePlugin::keys() const
-
- Returns the list of style keys this plugin supports.
-
- These keys are usually the class names of the custom styles that
- are implemented in the plugin.
-
- \sa create()
-*/
-
-/*!
- \fn TQStyle* TQStylePlugin::create( const TQString& key )
-
- Creates and returns a TQStyle object for the style key \a key. The
- style key is usually the class name of the required style.
-
- \sa keys()
-*/
-
-class TQStylePluginPrivate : public TQStyleFactoryInterface, public TQLibraryInterface
-{
-public:
- TQStylePluginPrivate( TQStylePlugin *p )
- : plugin( p )
- {
- }
-
- virtual ~TQStylePluginPrivate();
-
- TQRESULT queryInterface( const TQUuid &iid, TQUnknownInterface **iface );
- TQ_REFCOUNT;
-
- TQStringList featureList() const;
- TQStyle *create( const TQString &key );
-
- bool init();
- void cleanup();
- bool canUnload() const;
-
-private:
- TQStylePlugin *plugin;
- TQObjectCleanupHandler styles;
-};
-
-TQRESULT TQStylePluginPrivate::queryInterface( const TQUuid &iid, TQUnknownInterface **iface )
-{
- *iface = 0;
-
- if ( iid == IID_TQUnknown )
- *iface = (TQStyleFactoryInterface*)this;
- else if ( iid == IID_TQFeatureList )
- *iface = (TQFeatureListInterface*)this;
- else if ( iid == IID_TQStyleFactory )
- *iface = (TQStyleFactoryInterface*)this;
- else if ( iid == IID_TQLibrary )
- *iface = (TQLibraryInterface*) this;
- else
- return TQE_NOINTERFACE;
-
- (*iface)->addRef();
- return TQS_OK;
-}
-
-TQStylePluginPrivate::~TQStylePluginPrivate()
-{
- delete plugin;
-}
-
-TQStringList TQStylePluginPrivate::featureList() const
-{
- return plugin->keys();
-}
-
-TQStyle *TQStylePluginPrivate::create( const TQString &key )
-{
- TQStyle *st = plugin->create( key );
- styles.add( TQT_TQOBJECT(st) );
- return st;
-}
-
-bool TQStylePluginPrivate::init()
-{
- return TRUE;
-}
-
-void TQStylePluginPrivate::cleanup()
-{
- styles.clear();
-}
-
-bool TQStylePluginPrivate::canUnload() const
-{
- return styles.isEmpty();
-}
-
-
-/*!
- Constructs a style plugin. This is invoked automatically by the
- \c TQ_EXPORT_PLUGIN macro.
-*/
-TQStylePlugin::TQStylePlugin()
- : TQGPlugin( (TQStyleFactoryInterface*)(d = new TQStylePluginPrivate( this )) )
-{
-}
-
-/*!
- Destroys the style plugin.
-
- You never have to call this explicitly. TQt destroys a plugin
- automatically when it is no longer used.
-*/
-TQStylePlugin::~TQStylePlugin()
-{
- // don't delete d, as this is deleted by d
-}
-
-#endif // TQT_NO_COMPONENT
-#endif // TQT_NO_STYLE
diff --git a/tqtinterface/qt4/src/styles/tqstyleplugin.h b/tqtinterface/qt4/src/styles/tqstyleplugin.h
deleted file mode 100644
index 75245f3..0000000
--- a/tqtinterface/qt4/src/styles/tqstyleplugin.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/****************************************************************************
-**
-** Definition of TQStylePlugin class
-**
-** Created : 010920
-**
-** Copyright (C) 2005-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of the widgets module of the TQt GUI Toolkit.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** This file may be used under the terms of the Q Public License as
-** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
-** included in the packaging of this file. Licensees holding valid TQt
-** Commercial licenses may use this file in accordance with the TQt
-** Commercial License Agreement provided with the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#ifndef TQSTYLEPLUGIN_H
-#define TQSTYLEPLUGIN_H
-
-#ifndef TQT_H
-#include "tqgplugin.h"
-#include "tqstringlist.h"
-#endif // TQT_H
-
-#ifndef TQT_NO_STYLE
-#ifndef TQT_NO_COMPONENT
-
-class TQStyle;
-class TQStylePluginPrivate;
-
-class TQ_EXPORT TQStylePlugin : public TQGPlugin
-{
- Q_OBJECT
- TQ_OBJECT
-public:
- TQStylePlugin();
- ~TQStylePlugin();
-
- virtual TQStringList keys() const = 0;
- virtual TQStyle *create( const TQString &key ) = 0;
-
-private:
- TQStylePluginPrivate *d;
-};
-
-#endif // TQT_NO_COMPONENT
-#endif // TQT_NO_STYLE
-
-#endif // TQSTYLEPLUGIN_H
diff --git a/tqtinterface/qt4/src/styles/tqwindowsstyle.cpp b/tqtinterface/qt4/src/styles/tqwindowsstyle.cpp
deleted file mode 100644
index 7588997..0000000
--- a/tqtinterface/qt4/src/styles/tqwindowsstyle.cpp
+++ /dev/null
@@ -1,2166 +0,0 @@
-/****************************************************************************
-**
-** Implementation of Windows-like style class
-**
-** Created : 981231
-**
-** Copyright (C) 1998-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of the widgets module of the TQt GUI Toolkit.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-// ** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** This file may be used under the terms of the Q Public License as
-** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
-** included in the packaging of this file. Licensees holding valid TQt
-** Commercial licenses may use this file in accordance with the TQt
-** Commercial License Agreement provided with the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#include "tqwindowsstyle.h"
-
-#if !defined(TQT_NO_STYLE_WINDOWS) || defined(TQT_PLUGIN)
-
-#include "tqpopupmenu.h"
-#include "tqapplication.h"
-#include "tqpainter.h"
-#include "tqdrawutil.h" // for now
-#include "tqpixmap.h" // for now
-#include "tqwidget.h"
-#include "tqbrush.h"
-#include "tqlabel.h"
-#include "tqimage.h"
-#include "tqpushbutton.h"
-#include "tqcombobox.h"
-#include "tqlistbox.h"
-#include "tqwidget.h"
-#include "tqrangecontrol.h"
-#include "tqscrollbar.h"
-#include "tqslider.h"
-#include "tqtabwidget.h"
-#include "tqtabbar.h"
-#include "tqlistview.h"
-#include "tqbitmap.h"
-#include "tqcleanuphandler.h"
-#include "tqdockwindow.h"
-#include "tqobjectlist.h"
-#include "tqmenubar.h"
-
-#if defined(TQ_WS_WIN)
-#include "tqt_windows.h"
-#endif
-
-#include <limits.h>
-
-
-static const int windowsItemFrame = 2; // menu item frame width
-static const int windowsSepHeight = 2; // separator item height
-static const int windowsItemHMargin = 3; // menu item hor text margin
-static const int windowsItemVMargin = 2; // menu item ver text margin
-static const int windowsArrowHMargin = 6; // arrow horizontal margin
-static const int windowsTabSpacing = 12; // space between text and tab
-static const int windowsCheckMarkHMargin = 2; // horiz. margins of check mark
-static const int windowsRightBorder = 12; // right border on windows
-static const int windowsCheckMarkWidth = 12; // checkmarks width on windows
-
-static bool use2000style = TRUE;
-
-enum TQSliderDirection { SlUp, SlDown, SlLeft, SlRight };
-
-// A friendly class providing access to TQMenuData's protected member.
-class FriendlyMenuData : public TQMenuData
-{
- friend class TQWindowsStyle;
-};
-
-// Private class
-class TQWindowsStyle::Private : public TQObject
-{
-public:
- Private(TQWindowsStyle *parent);
-
- bool hasSeenAlt(const TQWidget *widget) const;
- bool altDown() const { return alt_down; }
-
-protected:
- bool eventFilter(TQObject *o, TQEvent *e);
-
-private:
- TQPtrList<TQWidget> seenAlt;
- bool alt_down;
- int menuBarTimer;
-};
-
-TQWindowsStyle::Private::Private(TQWindowsStyle *parent)
-: TQObject(parent, "TQWindowsStylePrivate"), alt_down(FALSE), menuBarTimer(0)
-{
-}
-
-// Returns true if the toplevel parent of \a widget has seen the Alt-key
-bool TQWindowsStyle::Private::hasSeenAlt(const TQWidget *widget) const
-{
- widget = widget->tqtopLevelWidget();
- return seenAlt.contains(widget);
-}
-
-// Records Alt- and Focus events
-bool TQWindowsStyle::Private::eventFilter(TQObject *o, TQEvent *e)
-{
- if (!o->isWidgetType())
- return TQObject::eventFilter(o, e);
-
- TQWidget *widget = ::tqqt_cast<TQWidget*>(o);
-
- switch(e->type()) {
- case TQEvent::KeyPress:
- if (((TQKeyEvent*)e)->key() == Qt::Key_Alt) {
- widget = widget->tqtopLevelWidget();
-
- // Alt has been pressed - find all widgets that care
- TQObjectList *l = widget->queryList("TQWidget");
- TQObjectListIt it( *l );
- TQWidget *w;
- while ( (w = (TQWidget*)it.current()) != 0 ) {
- ++it;
- if (w->isTopLevel() || !w->isVisible() ||
- w->tqstyle().tqstyleHint(SH_UnderlineAccelerator, w))
- l->removeRef(TQT_TQOBJECT(w));
- }
- // Update states before repainting
- seenAlt.append(widget);
- alt_down = TRUE;
-
- // Repaint all relevant widgets
- it.toFirst();
- while ( (w = (TQWidget*)it.current()) != 0 ) {
- ++it;
- w->tqrepaint(FALSE);
- }
- delete l;
- }
- break;
- case TQEvent::KeyRelease:
- if (((TQKeyEvent*)e)->key() == Qt::Key_Alt) {
- widget = widget->tqtopLevelWidget();
-
- // Update state
- alt_down = FALSE;
- // Repaint only menubars
- TQObjectList *l = widget->queryList("TQMenuBar");
- TQObjectListIt it( *l );
- TQMenuBar *menuBar;
- while ( (menuBar = (TQMenuBar*)it.current()) != 0) {
- ++it;
- menuBar->tqrepaint(FALSE);
- }
- }
- break;
- case TQEvent::FocusIn:
- case TQEvent::FocusOut:
- {
- // Menubars toggle based on focus
- TQMenuBar *menuBar = ::tqqt_cast<TQMenuBar*>(o);
- if (menuBar && !menuBarTimer) // delayed tqrepaint to avoid flicker
- menuBarTimer = menuBar->startTimer(0);
- }
- break;
- case TQEvent::Close:
- // Reset widget when closing
- seenAlt.removeRef(TQT_TQWIDGET(widget));
- seenAlt.removeRef(TQT_TQWIDGET(widget->tqtopLevelWidget()));
- break;
- case TQEvent::Timer:
- {
- TQMenuBar *menuBar = ::tqqt_cast<TQMenuBar*>(o);
- TQTimerEvent *te = (TQTimerEvent*)e;
- if (menuBar && te->timerId() == menuBarTimer) {
- menuBar->killTimer(te->timerId());
- menuBarTimer = 0;
- menuBar->tqrepaint(FALSE);
- return TRUE;
- }
- }
- break;
- default:
- break;
- }
-
- return TQObject::eventFilter(o, e);
-}
-
-/*!
- \class TQWindowsStyle tqwindowsstyle.h
- \brief The TQWindowsStyle class provides a Microsoft Windows-like look and feel.
-
- \ingroup appearance
-
- This style is TQt's default GUI style on Windows.
-*/
-
-/*!
- Constructs a TQWindowsStyle
-*/
-TQWindowsStyle::TQWindowsStyle() : TQCommonStyle(), d(0)
-{
-#if defined(TQ_OS_WIN32)
- use2000style = qWinVersion() != TQt::WV_NT && qWinVersion() != TQt::WV_95;
-#endif
-}
-
-/*! \reimp */
-TQWindowsStyle::~TQWindowsStyle()
-{
- delete d;
-}
-
-/*! \reimp */
-void TQWindowsStyle::polish(TQApplication *app)
-{
- // We only need the overhead when shortcuts are sometimes hidden
- if (!tqstyleHint(SH_UnderlineAccelerator, 0)) {
- d = new Private(this);
- app->installEventFilter(d);
- }
-}
-
-/*! \reimp */
-void TQWindowsStyle::unPolish(TQApplication *)
-{
- delete d;
- d = 0;
-}
-
-/*! \reimp */
-void TQWindowsStyle::polish(TQWidget *widget)
-{
- TQCommonStyle::polish(widget);
-}
-
-/*! \reimp */
-void TQWindowsStyle::unPolish(TQWidget *widget)
-{
- TQCommonStyle::polish(widget);
-}
-
-/*! \reimp */
-void TQWindowsStyle::polish( TQPalette &pal )
-{
- TQCommonStyle::polish(pal);
-}
-
-/*! \reimp */
-void TQWindowsStyle::tqdrawPrimitiveBase( TQ_PrimitiveElement pe,
- TQPainter *p,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags flags,
- const TQStyleOption& opt ) const
-{
- TQRect rr( r );
- switch (pe) {
- case PE_ButtonCommand:
- {
- TQBrush fill;
-
- if (! (flags & Style_Down) && (flags & Style_On))
- fill = TQBrush(cg.light(), Qt::Dense4Pattern);
- else
- fill = cg.brush(TQColorGroup::Button);
-
- if (flags & Style_ButtonDefault && flags & Style_Down) {
- p->setPen(cg.dark());
- p->setBrush(fill);
- p->drawRect(r);
- } else if (flags & (Style_Raised | Style_Down | Style_On | Style_Sunken))
- qDrawWinButton(p, r, cg, flags & (Style_Sunken | Style_Down |
- Style_On), &fill);
- else
- p->fillRect(r, fill);
- break;
- }
-
- case PE_ButtonBevel:
- case PE_HeaderSection:
- {
- TQBrush fill;
-
- if (! (flags & Style_Down) && (flags & Style_On))
- fill = TQBrush(cg.light(), Qt::Dense4Pattern);
- else
- fill = cg.brush(TQColorGroup::Button);
-
- if (flags & (Style_Raised | Style_Down | Style_On | Style_Sunken))
- qDrawWinButton(p, r, cg, flags & (Style_Down | Style_On), &fill);
- else
- p->fillRect(r, fill);
- break;
- }
-#if defined(TQ_WS_WIN)
- case PE_HeaderArrow:
- p->save();
- if ( flags & Style_Up ) { // invert logic to follow Windows style guide
- TQPointArray pa( 3 );
- p->setPen( cg.light() );
- p->drawLine( r.x() + r.width(), r.y(), r.x() + r.width() / 2, r.height() );
- p->setPen( cg.dark() );
- pa.setPoint( 0, r.x() + r.width() / 2, r.height() );
- pa.setPoint( 1, r.x(), r.y() );
- pa.setPoint( 2, r.x() + r.width(), r.y() );
- p->drawPolyline( pa );
- } else {
- TQPointArray pa( 3 );
- p->setPen( cg.light() );
- pa.setPoint( 0, r.x(), r.height() );
- pa.setPoint( 1, r.x() + r.width(), r.height() );
- pa.setPoint( 2, r.x() + r.width() / 2, r.y() );
- p->drawPolyline( pa );
- p->setPen( cg.dark() );
- p->drawLine( r.x(), r.height(), r.x() + r.width() / 2, r.y() );
- }
- p->restore();
- break;
-#endif
-
- case PE_ButtonDefault:
- p->setPen(cg.shadow());
- p->drawRect(r);
- break;
-
- case PE_ButtonTool:
- {
- TQBrush fill;
- bool stippled = FALSE;
-
- if (! (flags & (Style_Down | Style_MouseOver)) &&
- (flags & Style_On) &&
- use2000style) {
- fill = TQBrush(cg.light(), Qt::Dense4Pattern);
- stippled = TRUE;
- } else
- fill = cg.brush(TQColorGroup::Button);
-
- if (flags & (Style_Raised | Style_Down | Style_On)) {
- if (flags & Style_AutoRaise) {
- qDrawShadePanel(p, r, cg, flags & (Style_Down | Style_On),
- 1, &fill);
-
- if (stippled) {
- p->setPen(cg.button());
- p->drawRect(r.x() + 1, r.y() + 1, r.width() - 2, r.height() - 2);
- }
- } else
- qDrawWinButton(p, r, cg, flags & (Style_Down | Style_On),
- &fill);
- } else
- p->fillRect(r, fill);
-
- break;
- }
-
- case PE_FocusRect:
- if (opt.isDefault())
- p->drawWinFocusRect(r);
-#ifndef USE_QT4 // [FIXME]
- else
- p->drawWinFocusRect(r, opt.color());
-#endif // USE_QT4
- break;
-
- case PE_Indicator:
- {
- TQBrush fill;
- if (flags & Style_NoChange) {
- TQBrush b = p->brush();
- TQColor c = p->backgroundColor();
- p->setBackgroundMode( Qt::TransparentMode );
- p->setBackgroundColor( Qt::green );
- fill = TQBrush(cg.base(), Qt::Dense4Pattern);
- p->setBackgroundColor( c );
- p->setBrush( b );
- } else if (flags & Style_Down)
- fill = cg.brush( TQColorGroup::Button );
- else if (flags & Style_Enabled)
- fill = cg.brush( TQColorGroup::Base );
- else
- fill = cg.brush( TQColorGroup::Background );
-
- qDrawWinPanel( p, r, cg, TRUE, &fill );
-
- if (flags & Style_NoChange )
- p->setPen( cg.dark() );
- else
- p->setPen( cg.text() );
- } // FALLTHROUGH
- case PE_CheckListIndicator:
- if ( pe == PE_CheckListIndicator ) { //since we fall through from PE_Indicator
- if ( flags & Style_Enabled )
- p->setPen( TQPen( cg.text(), 1 ) );
- else
- p->setPen( TQPen( cg.dark(), 1 ) );
- if ( flags & Style_NoChange )
- p->setBrush( cg.brush( TQColorGroup::Button ) );
- p->drawRect( r.x()+1, r.y()+1, 11, 11 );
- }
- if (! (flags & Style_Off)) {
- TQPointArray a( 7*2 );
- int i, xx, yy;
- xx = rr.x() + 3;
- yy = rr.y() + 5;
-
- for ( i=0; i<3; i++ ) {
- a.setPoint( 2*i, xx, yy );
- a.setPoint( 2*i+1, xx, yy+2 );
- xx++; yy++;
- }
-
- yy -= 2;
- for ( i=3; i<7; i++ ) {
- a.setPoint( 2*i, xx, yy );
- a.setPoint( 2*i+1, xx, yy+2 );
- xx++; yy--;
- }
-
- p->drawLineSegments( a );
- }
- break;
-
- case PE_ExclusiveIndicator:
- {
-#define TQCOORDARRLEN(x) sizeof(x)/(sizeof(TQCOORD)*2)
- static const TQCOORD pts1[] = { // dark lines
- 1,9, 1,8, 0,7, 0,4, 1,3, 1,2, 2,1, 3,1, 4,0, 7,0, 8,1, 9,1 };
- static const TQCOORD pts2[] = { // black lines
- 2,8, 1,7, 1,4, 2,3, 2,2, 3,2, 4,1, 7,1, 8,2, 9,2 };
- static const TQCOORD pts3[] = { // background lines
- 2,9, 3,9, 4,10, 7,10, 8,9, 9,9, 9,8, 10,7, 10,4, 9,3 };
- static const TQCOORD pts4[] = { // white lines
- 2,10, 3,10, 4,11, 7,11, 8,10, 9,10, 10,9, 10,8, 11,7,
- 11,4, 10,3, 10,2 };
- static const TQCOORD pts5[] = { // inner fill
- 4,2, 7,2, 9,4, 9,7, 7,9, 4,9, 2,7, 2,4 };
-
- // make sure the indicator is square
- TQRect ir = r;
-
- if (r.width() < r.height()) {
- ir.setTop(r.top() + (r.height() - r.width()) / 2);
- ir.setHeight(r.width());
- } else if (r.height() < r.width()) {
- ir.setLeft(r.left() + (r.width() - r.height()) / 2);
- ir.setWidth(r.height());
- }
-
- p->eraseRect(ir);
- bool down = flags & Style_Down;
- bool enabled = flags & Style_Enabled;
- bool on = flags & Style_On;
- TQPointArray a;
- a.setPoints( TQCOORDARRLEN(pts1), pts1 );
- a.translate( ir.x(), ir.y() );
- p->setPen( cg.dark() );
- p->drawPolyline( a );
- a.setPoints( TQCOORDARRLEN(pts2), pts2 );
- a.translate( ir.x(), ir.y() );
- p->setPen( cg.shadow() );
- p->drawPolyline( a );
- a.setPoints( TQCOORDARRLEN(pts3), pts3 );
- a.translate( ir.x(), ir.y() );
- p->setPen( cg.midlight() );
- p->drawPolyline( a );
- a.setPoints( TQCOORDARRLEN(pts4), pts4 );
- a.translate( ir.x(), ir.y() );
- p->setPen( cg.light() );
- p->drawPolyline( a );
- a.setPoints( TQCOORDARRLEN(pts5), pts5 );
- a.translate( ir.x(), ir.y() );
- TQColor fillColor = ( down || !enabled ) ? cg.button() : cg.base();
- p->setPen( fillColor );
- p->setBrush( fillColor ) ;
- p->drawPolygon( a );
- if ( on ) {
- p->setPen( Qt::NoPen );
- p->setBrush( cg.text() );
- p->drawRect( ir.x() + 5, ir.y() + 4, 2, 4 );
- p->drawRect( ir.x() + 4, ir.y() + 5, 4, 2 );
- }
- break;
- }
-
- case PE_Panel:
- case PE_PanelPopup:
- {
- int lw = opt.isDefault() ? tqpixelMetric(PM_DefaultFrameWidth)
- : opt.lineWidth();
-
- if (lw == 2) {
- TQColorGroup popupCG = cg;
- if ( pe == PE_PanelPopup ) {
- popupCG.setColor( TQColorGroup::Light, cg.background() );
- popupCG.setColor( TQColorGroup::Midlight, cg.light() );
- }
- qDrawWinPanel(p, r, popupCG, flags & Style_Sunken);
- } else {
- TQCommonStyle::tqdrawPrimitive(pe, p, r, cg, flags, opt);
- }
- break;
- }
-
- case PE_Splitter:
- {
- TQPen oldPen = p->pen();
- p->setPen( cg.light() );
- if ( flags & Style_Horizontal ) {
- p->drawLine( r.x() + 1, r.y(), r.x() + 1, r.height() );
- p->setPen( cg.dark() );
- p->drawLine( r.x(), r.y(), r.x(), r.height() );
- p->drawLine( r.right()-1, r.y(), r.right()-1, r.height() );
- p->setPen( cg.shadow() );
- p->drawLine( r.right(), r.y(), r.right(), r.height() );
- } else {
- p->drawLine( r.x(), r.y() + 1, r.width(), r.y() + 1 );
- p->setPen( cg.dark() );
- p->drawLine( r.x(), r.bottom() - 1, r.width(), r.bottom() - 1 );
- p->setPen( cg.shadow() );
- p->drawLine( r.x(), r.bottom(), r.width(), r.bottom() );
- }
- p->setPen( oldPen );
- break;
- }
-#ifndef USE_QT4 // [FIXME]
- case PE_DockWindowResizeHandle:
- {
- TQPen oldPen = p->pen();
- p->setPen( cg.light() );
- if ( flags & Style_Horizontal ) {
- p->drawLine( r.x(), r.y(), r.width(), r.y() );
- p->setPen( cg.dark() );
- p->drawLine( r.x(), r.bottom() - 1, r.width(), r.bottom() - 1 );
- p->setPen( cg.shadow() );
- p->drawLine( r.x(), r.bottom(), r.width(), r.bottom() );
- } else {
- p->drawLine( r.x(), r.y(), r.x(), r.height() );
- p->setPen( cg.dark() );
- p->drawLine( r.right()-1, r.y(), r.right()-1, r.height() );
- p->setPen( cg.shadow() );
- p->drawLine( r.right(), r.y(), r.right(), r.height() );
- }
- p->setPen( oldPen );
- break;
- }
-#endif // USE_QT4
-
- case PE_ScrollBarSubLine:
- if (use2000style) {
- if (flags & Style_Down) {
- p->setPen( cg.dark() );
- p->setBrush( cg.brush( TQColorGroup::Button ) );
- p->drawRect( r );
- } else
- tqdrawPrimitive(PE_ButtonBevel, p, r, cg, flags | Style_Raised);
- } else
- tqdrawPrimitive(PE_ButtonBevel, p, r, cg, (flags & Style_Enabled) |
- ((flags & Style_Down) ? Style_Down : Style_Raised));
-
- tqdrawPrimitive(((flags & Style_Horizontal) ? PE_ArrowLeft : PE_ArrowUp),
- p, r, cg, flags);
- break;
-
- case PE_ScrollBarAddLine:
- if (use2000style) {
- if (flags & Style_Down) {
- p->setPen( cg.dark() );
- p->setBrush( cg.brush( TQColorGroup::Button ) );
- p->drawRect( r );
- } else
- tqdrawPrimitive(PE_ButtonBevel, p, r, cg, flags | Style_Raised);
- } else
- tqdrawPrimitive(PE_ButtonBevel, p, r, cg, (flags & Style_Enabled) |
- ((flags & Style_Down) ? Style_Down : Style_Raised));
-
- tqdrawPrimitive(((flags & Style_Horizontal) ? PE_ArrowRight : PE_ArrowDown),
- p, r, cg, flags);
- break;
-
- case PE_ScrollBarAddPage:
- case PE_ScrollBarSubPage:
- {
- TQBrush br;
- TQColor c = p->backgroundColor();
-
- p->setPen(Qt::NoPen);
- p->setBackgroundMode(Qt::OpaqueMode);
-
- if (flags & Style_Down) {
- br = TQBrush(cg.shadow(), Qt::Dense4Pattern);
- p->setBackgroundColor( cg.dark() );
- p->setBrush( TQBrush(cg.shadow(), Qt::Dense4Pattern) );
- } else {
- br = (TQT_TQBRUSH_OBJECT(cg.brush(TQColorGroup::Light)).pixmap() ?
- cg.brush(TQColorGroup::Light) :
- TQBrush(cg.light(), Qt::Dense4Pattern));
- p->setBrush(br);
- }
-
- p->drawRect(r);
- p->setBackgroundColor(c);
- break;
- }
-
- case PE_ScrollBarSlider:
- if (! (flags & Style_Enabled)) {
- TQBrush br = (TQT_TQBRUSH_OBJECT(cg.brush(TQColorGroup::Light)).pixmap() ?
- cg.brush(TQColorGroup::Light) :
- TQBrush(cg.light(), Qt::Dense4Pattern));
- p->setPen(Qt::NoPen);
- p->setBrush(br);
- p->setBackgroundMode(Qt::OpaqueMode);
- p->drawRect(r);
- } else
- tqdrawPrimitive(PE_ButtonBevel, p, r, cg, Style_Enabled | Style_Raised);
- break;
-
- case PE_WindowFrame:
- {
- TQColorGroup popupCG = cg;
- popupCG.setColor( TQColorGroup::Light, cg.background() );
- popupCG.setColor( TQColorGroup::Midlight, cg.light() );
- qDrawWinPanel(p, r, popupCG, flags & Style_Sunken);
- }
- break;
-
- default:
- if (pe >= PE_ArrowUp && pe <= PE_ArrowLeft) {
- TQPointArray a;
-
- switch ( pe ) {
- case PE_ArrowUp:
- a.setPoints( 7, -4,1, 2,1, -3,0, 1,0, -2,-1, 0,-1, -1,-2 );
- break;
-
- case PE_ArrowDown:
- a.setPoints( 7, -4,-2, 2,-2, -3,-1, 1,-1, -2,0, 0,0, -1,1 );
- break;
-
- case PE_ArrowRight:
- a.setPoints( 7, -2,-3, -2,3, -1,-2, -1,2, 0,-1, 0,1, 1,0 );
- break;
-
- case PE_ArrowLeft:
- a.setPoints( 7, 0,-3, 0,3, -1,-2, -1,2, -2,-1, -2,1, -3,0 );
- break;
-
- default:
- break;
- }
-
- if (a.isNull())
- return;
-
- p->save();
- if ( flags & Style_Down )
- p->translate( tqpixelMetric( PM_ButtonShiftHorizontal ),
- tqpixelMetric( PM_ButtonShiftVertical ) );
-
- if ( flags & Style_Enabled ) {
- a.translate( r.x() + r.width() / 2, r.y() + r.height() / 2 );
- p->setPen( cg.buttonText() );
- p->drawLineSegments( a, 0, 3 ); // draw arrow
- p->drawPoint( a[6] );
- } else {
- a.translate( r.x() + r.width() / 2 + 1, r.y() + r.height() / 2 + 1 );
- p->setPen( cg.light() );
- p->drawLineSegments( a, 0, 3 ); // draw arrow
- p->drawPoint( a[6] );
- a.translate( -1, -1 );
- p->setPen( cg.mid() );
- p->drawLineSegments( a, 0, 3 ); // draw arrow
- p->drawPoint( a[6] );
- }
- p->restore();
- } else
- TQCommonStyle::tqdrawPrimitive(pe, p, r, cg, flags, opt);
- }
-}
-
-
-/*!
- \reimp
-*/
-void TQWindowsStyle::tqdrawControl( TQ_ControlElement element,
- TQPainter *p,
- const TQWidget *widget,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags flags,
- const TQStyleOption& opt ) const
-{
- switch (element) {
-#ifndef TQT_NO_TABBAR
- case CE_TabBarTab:
- {
- if ( !widget || !widget->parentWidget() || !opt.tab() )
- break;
-
- const TQTabBar * tb = (const TQTabBar *) widget;
- const TQTab * t = opt.tab();
- bool selected = flags & Style_Selected;
- bool lastTab = (tb->indexOf( t->identifier() ) == tb->count()-1) ?
- TRUE : FALSE;
- TQRect r2( r );
- if ( tb->tqshape() == TQTabBar::RoundedAbove ) {
- p->setPen( cg.midlight() );
-
- p->drawLine( r2.left(), r2.bottom(), r2.right(), r2.bottom() );
- p->setPen( cg.light() );
- p->drawLine( r2.left(), r2.bottom()-1, r2.right(), r2.bottom()-1 );
- if ( r2.left() == 0 )
- p->drawPoint( tb->rect().bottomLeft() );
-
- if ( selected ) {
- p->fillRect( TQRect( r2.left()+1, r2.bottom()-1, r2.width()-3, 2),
- cg.brush( TQColorGroup::Background ));
- p->setPen( cg.background() );
- p->drawLine( r2.left()+1, r2.bottom(), r2.left()+1, r2.top()+2 );
- p->setPen( cg.light() );
- } else {
- p->setPen( cg.light() );
- r2.setRect( r2.left() + 2, r2.top() + 2,
- r2.width() - 4, r2.height() - 2 );
- }
-
- int x1, x2;
- x1 = r2.left();
- x2 = r2.right() - 2;
- p->drawLine( x1, r2.bottom()-1, x1, r2.top() + 2 );
- x1++;
- p->drawPoint( x1, r2.top() + 1 );
- x1++;
- p->drawLine( x1, r2.top(), x2, r2.top() );
- if ( r2.left() > 0 ) {
- p->setPen( cg.midlight() );
- }
- x1 = r2.left();
- p->drawPoint( x1, r2.bottom());
-
- p->setPen( cg.midlight() );
- x1++;
- p->drawLine( x1, r2.bottom(), x1, r2.top() + 2 );
- x1++;
- p->drawLine( x1, r2.top()+1, x2, r2.top()+1 );
-
- p->setPen( cg.dark() );
- x2 = r2.right() - 1;
- p->drawLine( x2, r2.top() + 2, x2, r2.bottom() - 1 +
- (selected ? 1:-1) );
- p->setPen( cg.shadow() );
- p->drawPoint( x2, r2.top() + 1 );
- p->drawPoint( x2, r2.top() + 1 );
- x2++;
- p->drawLine( x2, r2.top() + 2, x2, r2.bottom() -
- (selected ? (lastTab ? 0:1) :2));
- } else if ( tb->tqshape() == TQTabBar::RoundedBelow ) {
- bool rightAligned = tqstyleHint( SH_TabBar_Alignment, tb ) == TQt::AlignRight;
- bool firstTab = tb->indexOf( t->identifier() ) == 0;
- if ( selected ) {
- p->fillRect( TQRect( r2.left()+1, r2.top(), r2.width()-3, 1),
- cg.brush( TQColorGroup::Background ));
- p->setPen( cg.background() );
- p->drawLine( r2.left()+1, r2.top(), r2.left()+1, r2.bottom()-2 );
- p->setPen( cg.dark() );
- } else {
- p->setPen( cg.shadow() );
- p->drawLine( r2.left() +
- (rightAligned && firstTab ? 0 : 1),
- r2.top() + 1,
- r2.right() - (lastTab ? 0 : 2),
- r2.top() + 1 );
-
- if ( rightAligned && lastTab )
- p->drawPoint( r2.right(), r2.top() );
- p->setPen( cg.dark() );
- p->drawLine( r2.left(), r2.top(), r2.right() - 1,
- r2.top() );
- r2.setRect( r2.left() + 2, r2.top(),
- r2.width() - 4, r2.height() - 2 );
- }
-
- p->drawLine( r2.right() - 1, r2.top() + (selected ? 0: 2),
- r2.right() - 1, r2.bottom() - 2 );
- p->drawPoint( r2.right() - 2, r2.bottom() - 2 );
- p->drawLine( r2.right() - 2, r2.bottom() - 1,
- r2.left() + 1, r2.bottom() - 1 );
-
- p->setPen( cg.midlight() );
- p->drawLine( r2.left() + 1, r2.bottom() - 2,
- r2.left() + 1, r2.top() + (selected ? 0 : 2) );
-
- p->setPen( cg.shadow() );
- p->drawLine( r2.right(),
- r2.top() + (lastTab && rightAligned &&
- selected) ? 0 : 1,
- r2.right(), r2.bottom() - 1 );
- p->drawPoint( r2.right() - 1, r2.bottom() - 1 );
- p->drawLine( r2.right() - 1, r2.bottom(),
- r2.left() + 2, r2.bottom() );
-
- p->setPen( cg.light() );
- p->drawLine( r2.left(), r2.top() + (selected ? 0 : 2),
- r2.left(), r2.bottom() - 2 );
- } else {
- TQCommonStyle::tqdrawControl(element, p, widget, r, cg, flags, opt);
- }
- break;
- }
-#endif // TQT_NO_TABBAR
- case CE_ToolBoxTab:
- {
- qDrawShadePanel( p, r, cg, flags & (Style_Sunken | Style_Down | Style_On) , 1,
- &cg.brush(TQColorGroup::Button));
- break;
- }
-
-#ifndef TQT_NO_POPUPMENU
- case CE_PopupMenuItem:
- {
- if (! widget || opt.isDefault())
- break;
-
- const TQPopupMenu *popupmenu = (const TQPopupMenu *) widget;
- TQMenuItem *mi = opt.menuItem();
- if ( !mi )
- break;
-
- int tab = opt.tabWidth();
- int maxpmw = opt.maxIconWidth();
- bool dis = !(flags&Style_Enabled);
- bool checkable = popupmenu->isCheckable();
- bool act = flags & Style_Active;
- int x, y, w, h;
-
- r.rect(&x, &y, &w, &h);
-
- if ( checkable ) {
- // space for the checkmarks
- if (use2000style)
- maxpmw = TQMAX( maxpmw, 20 );
- else
- maxpmw = TQMAX( maxpmw, 12 );
- }
-
- int checkcol = maxpmw;
-
- if ( mi && mi->isSeparator() ) { // draw separator
- p->setPen( cg.dark() );
- p->drawLine( x, y, x+w, y );
- p->setPen( cg.light() );
- p->drawLine( x, y+1, x+w, y+1 );
- return;
- }
-
- TQBrush fill = (act ?
- cg.brush( TQColorGroup::Highlight ) :
- cg.brush( TQColorGroup::Button ));
- p->fillRect( x, y, w, h, fill);
-
- if ( !mi )
- return;
-
- int xpos = x;
- TQRect vrect = tqvisualRect( TQRect( xpos, y, checkcol, h ), r );
- int xvis = vrect.x();
- if ( mi->isChecked() ) {
- if ( act && !dis )
- qDrawShadePanel( p, xvis, y, checkcol, h,
- cg, TRUE, 1, &cg.brush( TQColorGroup::Button ) );
- else {
- TQBrush fill( cg.light(), Qt::Dense4Pattern );
- // set the brush origin for the hash pattern to the x/y coordinate
- // of the menu item's checkmark... this way, the check marks have
- // a consistent look
- TQPoint origin = p->brushOrigin();
- p->setBrushOrigin( xvis, y );
- qDrawShadePanel( p, xvis, y, checkcol, h, cg, TRUE, 1,
- &fill );
- // restore the previous brush origin
- p->setBrushOrigin( origin );
- }
- } else if (! act)
- p->fillRect(xvis, y, checkcol , h, cg.brush( TQColorGroup::Button ));
-
- if ( mi->iconSet() ) { // draw iconset
- TQIconSet::Mode mode = dis ? TQIconSet::Disabled : TQIconSet::Normal;
- if (act && !dis )
- mode = TQIconSet::Active;
- TQPixmap pixmap;
- if ( checkable && mi->isChecked() )
- pixmap = mi->iconSet()->pixmap( TQIconSet::Small, mode, TQIconSet::On );
- else
- pixmap = mi->iconSet()->pixmap( TQIconSet::Small, mode );
- int pixw = pixmap.width();
- int pixh = pixmap.height();
- if ( act && !dis && !mi->isChecked() )
- qDrawShadePanel( p, xvis, y, checkcol, h, cg, FALSE, 1,
- &cg.brush( TQColorGroup::Button ) );
- TQRect pmr( 0, 0, pixw, pixh );
- pmr.moveCenter( vrect.center() );
- p->setPen( cg.text() );
- p->drawPixmap( pmr.topLeft(), pixmap );
-
- fill = (act ?
- cg.brush( TQColorGroup::Highlight ) :
- cg.brush( TQColorGroup::Button ));
- int xp = xpos + checkcol + 1;
- p->fillRect( tqvisualRect( TQRect( xp, y, w - checkcol - 1, h ), r ), fill);
- } else if ( checkable ) { // just "checking"...
- if ( mi->isChecked() ) {
- int xp = xpos + windowsItemFrame;
-
- SFlags cflags = Style_Default;
- if (! dis)
- cflags |= Style_Enabled;
- if (act)
- cflags |= Style_On;
-
- tqdrawPrimitive(PE_CheckMark, p,
- tqvisualRect( TQRect(xp, y + windowsItemFrame,
- checkcol - 2*windowsItemFrame,
- h - 2*windowsItemFrame), r ), cg, cflags);
- }
- }
-
- p->setPen( act ? cg.highlightedText() : cg.buttonText() );
-
- TQColor discol;
- if ( dis ) {
- discol = cg.text();
- p->setPen( discol );
- }
-
- int xm = windowsItemFrame + checkcol + windowsItemHMargin;
- xpos += xm;
-
- vrect = tqvisualRect( TQRect( xpos, y+windowsItemVMargin, w-xm-tab+1, h-2*windowsItemVMargin ), r );
- xvis = vrect.x();
- if ( mi->custom() ) {
- p->save();
- if ( dis && !act ) {
- p->setPen( cg.light() );
- mi->custom()->paint( p, cg, act, !dis,
- xvis+1, y+windowsItemVMargin+1, w-xm-tab+1, h-2*windowsItemVMargin );
- p->setPen( discol );
- }
- mi->custom()->paint( p, cg, act, !dis,
- xvis, y+windowsItemVMargin, w-xm-tab+1, h-2*windowsItemVMargin );
- p->restore();
- }
- TQString s = mi->text();
- if ( !s.isNull() ) { // draw text
- int t = s.find( '\t' );
- int text_flags = TQt::AlignVCenter|TQt::ShowPrefix | TQt::DontClip | TQt::SingleLine;
- if (!tqstyleHint(SH_UnderlineAccelerator, widget))
- text_flags |= TQt::NoAccel;
- text_flags |= (TQApplication::reverseLayout() ? TQt::AlignRight : TQt::AlignLeft );
- if ( t >= 0 ) { // draw tab text
- int xp = x + w - tab - windowsItemHMargin - windowsItemFrame + 1;
- if ( use2000style )
- xp -= 20;
- else
- xp -= windowsRightBorder;
- int xoff = tqvisualRect( TQRect( xp, y+windowsItemVMargin, tab, h-2*windowsItemVMargin ), r ).x();
- if ( dis && !act ) {
- p->setPen( cg.light() );
- p->drawText( xoff+1, y+windowsItemVMargin+1, tab, h-2*windowsItemVMargin, text_flags, s.mid( t+1 ));
- p->setPen( discol );
- }
- p->drawText( xoff, y+windowsItemVMargin, tab, h-2*windowsItemVMargin, text_flags, s.mid( t+1 ) );
- s = s.left( t );
- }
- if ( dis && !act ) {
- p->setPen( cg.light() );
- p->drawText( xvis+1, y+windowsItemVMargin+1, w-xm-tab+1, h-2*windowsItemVMargin, text_flags, s, t );
- p->setPen( discol );
- }
- p->drawText( xvis, y+windowsItemVMargin, w-xm-tab+1, h-2*windowsItemVMargin, text_flags, s, t );
- } else if ( mi->pixmap() ) { // draw pixmap
- TQPixmap *pixmap = mi->pixmap();
- if ( pixmap->depth() == 1 )
- p->setBackgroundMode( Qt::OpaqueMode );
- p->drawPixmap( xvis, y+windowsItemFrame, *pixmap );
- if ( pixmap->depth() == 1 )
- p->setBackgroundMode( Qt::TransparentMode );
- }
- if ( mi->popup() ) { // draw sub menu arrow
- int dim = (h-2*windowsItemFrame) / 2;
- PrimitiveElement arrow;
- arrow = ( TQApplication::reverseLayout() ? PE_ArrowLeft : PE_ArrowRight );
- xpos = x+w - windowsArrowHMargin - windowsItemFrame - dim;
- vrect = tqvisualRect( TQRect(xpos, y + h / 2 - dim / 2, dim, dim), r );
- if ( act ) {
- TQColorGroup g2 = cg;
- g2.setColor( TQColorGroup::ButtonText, g2.highlightedText() );
- tqdrawPrimitive(arrow, p, vrect,
- g2, dis ? Style_Default : Style_Enabled);
- } else {
- tqdrawPrimitive(arrow, p, vrect,
- cg, dis ? Style_Default : Style_Enabled );
- }
- }
-
- break;
- }
-#endif
-
- case CE_MenuBarItem:
- {
- bool active = flags & Style_Active;
- bool hasFocus = flags & Style_HasFocus;
- bool down = flags & Style_Down;
- TQRect pr = r;
-
- p->fillRect( r, cg.brush( TQColorGroup::Button ) );
- if ( active || hasFocus ) {
- TQBrush b = cg.brush( TQColorGroup::Button );
- if ( active && down )
- p->setBrushOrigin(p->brushOrigin() + TQPoint(1,1));
- if ( active && hasFocus )
- qDrawShadeRect( p, r.x(), r.y(), r.width(), r.height(),
- cg, active && down, 1, 0, &b );
- if ( active && down ) {
- pr.moveBy( tqpixelMetric(PM_ButtonShiftHorizontal, widget),
- tqpixelMetric(PM_ButtonShiftVertical, widget) );
- p->setBrushOrigin(p->brushOrigin() - TQPoint(1,1));
- }
- }
- TQCommonStyle::tqdrawControl(element, p, widget, pr, cg, flags, opt);
- break;
- }
-
- default:
- TQCommonStyle::tqdrawControl(element, p, widget, r, cg, flags, opt);
- }
-}
-
-
-/*!
- \reimp
-*/
-int TQWindowsStyle::tqpixelMetric(PixelMetric metric, const TQWidget *widget) const
-{
- int ret;
-
- switch (metric) {
- case PM_ButtonDefaultIndicator:
- case PM_ButtonShiftHorizontal:
- case PM_ButtonShiftVertical:
- ret = 1;
- break;
-
- case PM_MaximumDragDistance:
- ret = 60;
- break;
-
-#ifndef TQT_NO_SLIDER
- case PM_SliderLength:
- ret = 11;
- break;
-
- // Returns the number of pixels to use for the business part of the
- // slider (i.e., the non-tickmark portion). The remaining space is shared
- // equally between the tickmark regions.
- case PM_SliderControlThickness:
- {
- const TQSlider * sl = (const TQSlider *) widget;
- int space = (sl->orientation() == Qt::Horizontal) ? sl->height()
- : sl->width();
- int ticks = sl->tickmarks();
- int n = 0;
- if ( ticks & TQSlider::Above ) n++;
- if ( ticks & TQSlider::Below ) n++;
- if ( !n ) {
- ret = space;
- break;
- }
-
- int thick = 6; // Magic constant to get 5 + 16 + 5
- if ( ticks != TQSlider::Both && ticks != TQSlider::NoMarks )
- thick += tqpixelMetric( PM_SliderLength, sl ) / 4;
-
- space -= thick;
- //### the two sides may be unequal in size
- if ( space > 0 )
- thick += (space * 2) / (n + 2);
- ret = thick;
- break;
- }
-#endif // TQT_NO_SLIDER
-
- case PM_MenuBarFrameWidth:
- ret = 0;
- break;
-
-#if defined(TQ_WS_WIN)
- case PM_TitleBarHeight:
- if ( widget && ( widget->testWFlags( WStyle_Tool ) || ::tqqt_cast<TQDockWindow*>(widget) ) ) {
- // MS always use one less than they say
-#if defined(TQ_OS_TEMP)
- ret = GetSystemMetrics( SM_CYCAPTION ) - 1;
-#else
- ret = GetSystemMetrics( SM_CYSMCAPTION ) - 1;
-#endif
- } else {
- ret = GetSystemMetrics( SM_CYCAPTION ) - 1;
- }
- break;
-
- case PM_ScrollBarExtent:
- {
-#ifndef TQ_OS_TEMP
- NONCLIENTMETRICS ncm;
- ncm.cbSize = sizeof(NONCLIENTMETRICS);
- if ( SystemParametersInfo( SPI_GETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICS), &ncm, 0 ) )
- ret = TQMAX( ncm.iScrollHeight, ncm.iScrollWidth );
- else
-#endif
- ret = TQCommonStyle::tqpixelMetric( metric, widget );
- }
- break;
-#endif
-
- case PM_SplitterWidth:
- ret = TQMAX( 6, TQApplication::globalStrut().width() );
- break;
-
-#if defined(TQ_WS_WIN)
- case PM_MDIFrameWidth:
- ret = GetSystemMetrics(SM_CYFRAME);
- break;
-#endif
-
- default:
- ret = TQCommonStyle::tqpixelMetric(metric, widget);
- break;
- }
-
- return ret;
-}
-
-
-/*!
- \reimp
-*/
-TQSize TQWindowsStyle::tqsizeFromContents( ContentsType contents,
- const TQWidget *widget,
- const TQSize &contentsSize,
- const TQStyleOption& opt ) const
-{
- TQSize sz(contentsSize);
-
- switch (contents) {
- case CT_PushButton:
- {
-#ifndef TQT_NO_PUSHBUTTON
- const TQPushButton *button = (const TQPushButton *) widget;
- sz = TQCommonStyle::tqsizeFromContents(contents, widget, contentsSize, opt);
- int w = sz.width(), h = sz.height();
-
- int defwidth = 0;
- if (button->isDefault() || button->autoDefault())
- defwidth = 2*tqpixelMetric( PM_ButtonDefaultIndicator, widget );
-
- if (w < 80+defwidth && !button->pixmap())
- w = 80+defwidth;
- if (h < 23+defwidth)
- h = 23+defwidth;
-
- sz = TQSize(w, h);
-#endif
- break;
- }
-
- case CT_PopupMenuItem:
- {
-#ifndef TQT_NO_POPUPMENU
- if (! widget || opt.isDefault())
- break;
-
- const TQPopupMenu *popup = (const TQPopupMenu *) widget;
- bool checkable = popup->isCheckable();
- TQMenuItem *mi = opt.menuItem();
- int maxpmw = opt.maxIconWidth();
- int w = sz.width(), h = sz.height();
-
- if (mi->custom()) {
- w = mi->custom()->tqsizeHint().width();
- h = mi->custom()->tqsizeHint().height();
- if (! mi->custom()->fullSpan())
- h += 2*windowsItemVMargin + 2*windowsItemFrame;
- } else if ( mi->widget() ) {
- } else if (mi->isSeparator()) {
- w = 10; // arbitrary
- h = windowsSepHeight;
- } else {
- if (mi->pixmap())
- h = TQMAX(h, mi->pixmap()->height() + 2*windowsItemFrame);
- else if (! mi->text().isNull())
- h = TQMAX(h, popup->fontMetrics().height() + 2*windowsItemVMargin +
- 2*windowsItemFrame);
-
- if (mi->iconSet() != 0)
- h = TQMAX(h, mi->iconSet()->pixmap(TQIconSet::Small,
- TQIconSet::Normal).height() +
- 2*windowsItemFrame);
- }
-
- if (! mi->text().isNull() && mi->text().find('\t') >= 0) {
- if ( use2000style )
- w += 20;
- else
- w += windowsTabSpacing;
- } else if (mi->popup()) {
- w += 2*windowsArrowHMargin;
- }
-
- if (use2000style) {
- if (checkable && maxpmw < 20)
- w += 20 - maxpmw;
- } else {
- if (checkable && maxpmw < windowsCheckMarkWidth)
- w += windowsCheckMarkWidth - maxpmw;
- }
- if (checkable || maxpmw > 0)
- w += windowsCheckMarkHMargin;
- if (use2000style)
- w += 20;
- else
- w += windowsRightBorder;
-
- sz = TQSize(w, h);
-#endif
- break;
- }
-
- default:
- sz = TQCommonStyle::tqsizeFromContents(contents, widget, sz, opt);
- break;
- }
-
- return sz;
-}
-
-/*! \reimp
-*/
-void TQWindowsStyle::polishPopupMenu( TQPopupMenu* p)
-{
-#ifndef TQT_NO_POPUPMENU
- if ( !p->testWState( TQt::WState_Polished ) )
- p->setCheckable( TRUE );
-#endif
-}
-
-#ifndef TQT_NO_IMAGEIO_XPM
-static const char * const qt_close_xpm[] = {
-"12 12 2 1",
-"# c #000000",
-". c None",
-"............",
-"............",
-"..##....##..",
-"...##..##...",
-"....####....",
-".....##.....",
-"....####....",
-"...##..##...",
-"..##....##..",
-"............",
-"............",
-"............"};
-
-static const char * const qt_maximize_xpm[]={
-"12 12 2 1",
-"# c #000000",
-". c None",
-"............",
-".#########..",
-".#########..",
-".#.......#..",
-".#.......#..",
-".#.......#..",
-".#.......#..",
-".#.......#..",
-".#.......#..",
-".#########..",
-"............",
-"............"};
-
-
-static const char * const qt_minimize_xpm[] = {
-"12 12 2 1",
-"# c #000000",
-". c None",
-"............",
-"............",
-"............",
-"............",
-"............",
-"............",
-"............",
-"............",
-"..######....",
-"..######....",
-"............",
-"............"};
-
-static const char * const qt_normalizeup_xpm[] = {
-"12 12 2 1",
-"# c #000000",
-". c None",
-"............",
-"....######..",
-"....######..",
-"....#....#..",
-"..######.#..",
-"..######.#..",
-"..#....###..",
-"..#....#....",
-"..#....#....",
-"..######....",
-"............",
-"............"};
-
-
-static const char * const qt_shade_xpm[] = {
-"12 12 2 1",
-"# c #000000",
-". c None",
-"............",
-"............",
-"............",
-"............",
-"............",
-".....#......",
-"....###.....",
-"...#####....",
-"..#######...",
-"............",
-"............",
-"............"};
-
-static const char * const qt_unshade_xpm[] = {
-"12 12 2 1",
-"# c #000000",
-". c None",
-"............",
-"............",
-"............",
-"............",
-"..#######...",
-"...#####....",
-"....###.....",
-".....#......",
-"............",
-"............",
-"............",
-"............"};
-
-static const char * dock_window_close_xpm[] = {
-"8 8 2 1",
-"# c #000000",
-". c None",
-"........",
-".##..##.",
-"..####..",
-"...##...",
-"..####..",
-".##..##.",
-"........",
-"........"};
-
-/* XPM */
-static const char * const information_xpm[]={
-"32 32 5 1",
-". c None",
-"c c #000000",
-"* c #999999",
-"a c #ffffff",
-"b c #0000ff",
-"...........********.............",
-"........***aaaaaaaa***..........",
-"......**aaaaaaaaaaaaaa**........",
-".....*aaaaaaaaaaaaaaaaaa*.......",
-"....*aaaaaaaabbbbaaaaaaaac......",
-"...*aaaaaaaabbbbbbaaaaaaaac.....",
-"..*aaaaaaaaabbbbbbaaaaaaaaac....",
-".*aaaaaaaaaaabbbbaaaaaaaaaaac...",
-".*aaaaaaaaaaaaaaaaaaaaaaaaaac*..",
-"*aaaaaaaaaaaaaaaaaaaaaaaaaaaac*.",
-"*aaaaaaaaaabbbbbbbaaaaaaaaaaac*.",
-"*aaaaaaaaaaaabbbbbaaaaaaaaaaac**",
-"*aaaaaaaaaaaabbbbbaaaaaaaaaaac**",
-"*aaaaaaaaaaaabbbbbaaaaaaaaaaac**",
-"*aaaaaaaaaaaabbbbbaaaaaaaaaaac**",
-"*aaaaaaaaaaaabbbbbaaaaaaaaaaac**",
-".*aaaaaaaaaaabbbbbaaaaaaaaaac***",
-".*aaaaaaaaaaabbbbbaaaaaaaaaac***",
-"..*aaaaaaaaaabbbbbaaaaaaaaac***.",
-"...caaaaaaabbbbbbbbbaaaaaac****.",
-"....caaaaaaaaaaaaaaaaaaaac****..",
-".....caaaaaaaaaaaaaaaaaac****...",
-"......ccaaaaaaaaaaaaaacc****....",
-".......*cccaaaaaaaaccc*****.....",
-"........***cccaaaac*******......",
-"..........****caaac*****........",
-".............*caaac**...........",
-"...............caac**...........",
-"................cac**...........",
-".................cc**...........",
-"..................***...........",
-"...................**..........."};
-/* XPM */
-static const char* const warning_xpm[]={
-"32 32 4 1",
-". c None",
-"a c #ffff00",
-"* c #000000",
-"b c #999999",
-".............***................",
-"............*aaa*...............",
-"...........*aaaaa*b.............",
-"...........*aaaaa*bb............",
-"..........*aaaaaaa*bb...........",
-"..........*aaaaaaa*bb...........",
-".........*aaaaaaaaa*bb..........",
-".........*aaaaaaaaa*bb..........",
-"........*aaaaaaaaaaa*bb.........",
-"........*aaaa***aaaa*bb.........",
-".......*aaaa*****aaaa*bb........",
-".......*aaaa*****aaaa*bb........",
-"......*aaaaa*****aaaaa*bb.......",
-"......*aaaaa*****aaaaa*bb.......",
-".....*aaaaaa*****aaaaaa*bb......",
-".....*aaaaaa*****aaaaaa*bb......",
-"....*aaaaaaaa***aaaaaaaa*bb.....",
-"....*aaaaaaaa***aaaaaaaa*bb.....",
-"...*aaaaaaaaa***aaaaaaaaa*bb....",
-"...*aaaaaaaaaa*aaaaaaaaaa*bb....",
-"..*aaaaaaaaaaa*aaaaaaaaaaa*bb...",
-"..*aaaaaaaaaaaaaaaaaaaaaaa*bb...",
-".*aaaaaaaaaaaa**aaaaaaaaaaa*bb..",
-".*aaaaaaaaaaa****aaaaaaaaaa*bb..",
-"*aaaaaaaaaaaa****aaaaaaaaaaa*bb.",
-"*aaaaaaaaaaaaa**aaaaaaaaaaaa*bb.",
-"*aaaaaaaaaaaaaaaaaaaaaaaaaaa*bbb",
-"*aaaaaaaaaaaaaaaaaaaaaaaaaaa*bbb",
-".*aaaaaaaaaaaaaaaaaaaaaaaaa*bbbb",
-"..*************************bbbbb",
-"....bbbbbbbbbbbbbbbbbbbbbbbbbbb.",
-".....bbbbbbbbbbbbbbbbbbbbbbbbb.."};
-/* XPM */
-static const char* const critical_xpm[]={
-"32 32 4 1",
-". c None",
-"a c #999999",
-"* c #ff0000",
-"b c #ffffff",
-"...........********.............",
-".........************...........",
-".......****************.........",
-"......******************........",
-".....********************a......",
-"....**********************a.....",
-"...************************a....",
-"..*******b**********b*******a...",
-"..******bbb********bbb******a...",
-".******bbbbb******bbbbb******a..",
-".*******bbbbb****bbbbb*******a..",
-"*********bbbbb**bbbbb*********a.",
-"**********bbbbbbbbbb**********a.",
-"***********bbbbbbbb***********aa",
-"************bbbbbb************aa",
-"************bbbbbb************aa",
-"***********bbbbbbbb***********aa",
-"**********bbbbbbbbbb**********aa",
-"*********bbbbb**bbbbb*********aa",
-".*******bbbbb****bbbbb*******aa.",
-".******bbbbb******bbbbb******aa.",
-"..******bbb********bbb******aaa.",
-"..*******b**********b*******aa..",
-"...************************aaa..",
-"....**********************aaa...",
-"....a********************aaa....",
-".....a******************aaa.....",
-"......a****************aaa......",
-".......aa************aaaa.......",
-".........aa********aaaaa........",
-"...........aaaaaaaaaaa..........",
-".............aaaaaaa............"};
-/* XPM */
-static const char *const question_xpm[] = {
-"32 32 5 1",
-". c None",
-"c c #000000",
-"* c #999999",
-"a c #ffffff",
-"b c #0000ff",
-"...........********.............",
-"........***aaaaaaaa***..........",
-"......**aaaaaaaaaaaaaa**........",
-".....*aaaaaaaaaaaaaaaaaa*.......",
-"....*aaaaaaaaaaaaaaaaaaaac......",
-"...*aaaaaaaabbbbbbaaaaaaaac.....",
-"..*aaaaaaaabaaabbbbaaaaaaaac....",
-".*aaaaaaaabbaaaabbbbaaaaaaaac...",
-".*aaaaaaaabbbbaabbbbaaaaaaaac*..",
-"*aaaaaaaaabbbbaabbbbaaaaaaaaac*.",
-"*aaaaaaaaaabbaabbbbaaaaaaaaaac*.",
-"*aaaaaaaaaaaaabbbbaaaaaaaaaaac**",
-"*aaaaaaaaaaaaabbbaaaaaaaaaaaac**",
-"*aaaaaaaaaaaaabbaaaaaaaaaaaaac**",
-"*aaaaaaaaaaaaabbaaaaaaaaaaaaac**",
-"*aaaaaaaaaaaaaaaaaaaaaaaaaaaac**",
-".*aaaaaaaaaaaabbaaaaaaaaaaaac***",
-".*aaaaaaaaaaabbbbaaaaaaaaaaac***",
-"..*aaaaaaaaaabbbbaaaaaaaaaac***.",
-"...caaaaaaaaaabbaaaaaaaaaac****.",
-"....caaaaaaaaaaaaaaaaaaaac****..",
-".....caaaaaaaaaaaaaaaaaac****...",
-"......ccaaaaaaaaaaaaaacc****....",
-".......*cccaaaaaaaaccc*****.....",
-"........***cccaaaac*******......",
-"..........****caaac*****........",
-".............*caaac**...........",
-"...............caac**...........",
-"................cac**...........",
-".................cc**...........",
-"..................***...........",
-"...................**...........",
-};
-#endif //TQT_NO_IMAGEIO_XPM
-
-/*!
- \reimp
- */
-TQPixmap TQWindowsStyle::stylePixmap(StylePixmap stylepixmap,
- const TQWidget *widget,
- const TQStyleOption& opt) const
-{
-#ifndef TQT_NO_IMAGEIO_XPM
- switch (stylepixmap) {
- case SP_TitleBarShadeButton:
- return TQPixmap( (const char **)qt_shade_xpm );
- case SP_TitleBarUnshadeButton:
- return TQPixmap( (const char **)qt_unshade_xpm );
- case SP_TitleBarNormalButton:
- return TQPixmap( (const char **)qt_normalizeup_xpm );
- case SP_TitleBarMinButton:
- return TQPixmap( (const char **)qt_minimize_xpm );
- case SP_TitleBarMaxButton:
- return TQPixmap( (const char **)qt_maximize_xpm );
- case SP_TitleBarCloseButton:
- return TQPixmap( (const char **)qt_close_xpm );
- case SP_DockWindowCloseButton:
- return TQPixmap( (const char **)dock_window_close_xpm );
- case SP_MessageBoxInformation:
- return TQPixmap( (const char **)information_xpm);
- case SP_MessageBoxWarning:
- return TQPixmap( (const char **)warning_xpm );
- case SP_MessageBoxCritical:
- return TQPixmap( (const char **)critical_xpm );
- case SP_MessageBoxQuestion:
- return TQPixmap( (const char **)question_xpm );
- default:
- break;
- }
-#endif //TQT_NO_IMAGEIO_XPM
- return TQCommonStyle::stylePixmap(stylepixmap, widget, opt);
-}
-
-/*!\reimp
-*/
-void TQWindowsStyle::tqdrawComplexControl( TQ_ComplexControl ctrl, TQPainter *p,
- const TQWidget *widget,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags flags,
- SCFlags sub,
- SCFlags subActive,
- const TQStyleOption& opt ) const
-{
- switch (ctrl) {
-#ifndef TQT_NO_LISTVIEW
- case CC_ListView:
- {
- if ( sub & SC_ListView ) {
- TQCommonStyle::tqdrawComplexControl( ctrl, p, widget, r, cg, flags, sub, subActive, opt );
- }
- if ( sub & ( SC_ListViewBranch | SC_ListViewExpand ) ) {
- if (opt.isDefault())
- break;
-
- TQListViewItem *item = opt.listViewItem(),
- *child = item->firstChild();
-
- int y = r.y();
- int c;
- int dotoffset = 0;
- TQPointArray dotlines;
- if ( subActive == (uint)SC_All && sub == SC_ListViewExpand ) {
- c = 2;
- dotlines.resize(2);
- dotlines[0] = TQPoint( r.right(), r.top() );
- dotlines[1] = TQPoint( r.right(), r.bottom() );
- } else {
- int linetop = 0, linebot = 0;
- // each branch needs at most two lines, ie. four end points
- dotoffset = (item->itemPos() + item->height() - y) %2;
- dotlines.resize( item->childCount() * 4 );
- c = 0;
-
- // skip the stuff above the exposed rectangle
- while ( child && y + child->height() <= 0 ) {
- y += child->totalHeight();
- child = child->nextSibling();
- }
-
- int bx = r.width() / 2;
-
- // paint stuff in the magical area
- TQListView* v = item->listView();
- while ( child && y < r.height() ) {
- if (child->isVisible()) {
- int lh;
- if ( !item->multiLinesEnabled() )
- lh = child->height();
- else
- lh = p->fontMetrics().height() + 2 * v->itemMargin();
- lh = TQMAX( lh, TQApplication::globalStrut().height() );
- if ( lh % 2 > 0 )
- lh++;
- linebot = y + lh/2;
- if ( (child->isExpandable() || child->childCount()) &&
- (child->height() > 0) ) {
- // needs a box
- p->setPen( cg.mid() );
- p->drawRect( bx-4, linebot-4, 9, 9 );
- // plus or minus
- p->setPen( cg.text() );
- p->drawLine( bx - 2, linebot, bx + 2, linebot );
- if ( !child->isOpen() )
- p->drawLine( bx, linebot - 2, bx, linebot + 2 );
- // dotlinery
- p->setPen( cg.mid() );
- dotlines[c++] = TQPoint( bx, linetop );
- dotlines[c++] = TQPoint( bx, linebot - 4 );
- dotlines[c++] = TQPoint( bx + 5, linebot );
- dotlines[c++] = TQPoint( r.width(), linebot );
- linetop = linebot + 5;
- } else {
- // just dotlinery
- dotlines[c++] = TQPoint( bx+1, linebot -1);
- dotlines[c++] = TQPoint( r.width(), linebot -1);
- }
- y += child->totalHeight();
- }
- child = child->nextSibling();
- }
-
- // Expand line height to edge of rectangle if there's any
- // visible child below
- while ( child && child->height() <= 0)
- child = child->nextSibling();
- if ( child )
- linebot = r.height();
-
- if ( linetop < linebot ) {
- dotlines[c++] = TQPoint( bx, linetop );
- dotlines[c++] = TQPoint( bx, linebot );
- }
- }
- p->setPen( cg.text() );
-
- static TQBitmap *verticalLine = 0, *horizontalLine = 0;
- static TQCleanupHandler<TQBitmap> qlv_cleanup_bitmap;
- if ( !verticalLine ) {
- // make 128*1 and 1*128 bitmaps that can be used for
- // drawing the right sort of lines.
- verticalLine = new TQBitmap( 1, 129, TRUE );
- horizontalLine = new TQBitmap( 128, 1, TRUE );
- TQPointArray a( 64 );
- TQPainter p;
- p.begin( verticalLine );
- int i;
- for( i=0; i<64; i++ )
- a.setPoint( i, 0, i*2+1 );
- p.setPen( Qt::color1 );
- p.drawPoints( a );
- p.end();
- TQApplication::flushX();
- verticalLine->setMask( *verticalLine );
- p.begin( horizontalLine );
- for( i=0; i<64; i++ )
- a.setPoint( i, i*2+1, 0 );
- p.setPen( Qt::color1 );
- p.drawPoints( a );
- p.end();
- TQApplication::flushX();
- horizontalLine->setMask( *horizontalLine );
- qlv_cleanup_bitmap.add( &verticalLine );
- qlv_cleanup_bitmap.add( &horizontalLine );
- }
-
- int line; // index into dotlines
- if ( sub & SC_ListViewBranch ) for( line = 0; line < c; line += 2 ) {
- // assumptions here: lines are horizontal or vertical.
- // lines always start with the numerically lowest
- // coordinate.
-
- // point ... relevant coordinate of current point
- // end ..... same coordinate of the end of the current line
- // other ... the other coordinate of the current point/line
- if ( dotlines[line].y() == dotlines[line+1].y() ) {
- int end = dotlines[line+1].x();
- int point = dotlines[line].x();
- int other = dotlines[line].y();
- while( point < end ) {
- int i = 128;
- if ( i+point > end )
- i = end-point;
- p->drawPixmap( point, other, *horizontalLine,
- 0, 0, i, 1 );
- point += i;
- }
- } else {
- int end = dotlines[line+1].y();
- int point = dotlines[line].y();
- int other = dotlines[line].x();
- int pixmapoffset = ((point & 1) != dotoffset ) ? 1 : 0;
- while( point < end ) {
- int i = 128;
- if ( i+point > end )
- i = end-point;
- p->drawPixmap( other, point, *verticalLine,
- 0, pixmapoffset, 1, i );
- point += i;
- }
- }
- }
- }
- }
- break;
-#endif //TQT_NO_LISTVIEW
-
-#ifndef TQT_NO_COMBOBOX
- case CC_ComboBox:
- if ( sub & SC_ComboBoxArrow ) {
- SFlags flags = Style_Default;
-
- qDrawWinPanel( p, r, cg, TRUE, widget->isEnabled() ?
- &cg.brush( TQColorGroup::Base ):
- &cg.brush( TQColorGroup::Background ) );
-
- TQRect ar =
- TQStyle::tqvisualRect( querySubControlMetrics( CC_ComboBox, widget,
- SC_ComboBoxArrow ), widget );
- if ( subActive == SC_ComboBoxArrow ) {
- p->setPen( cg.dark() );
- p->setBrush( cg.brush( TQColorGroup::Button ) );
- p->drawRect( ar );
- } else
- qDrawWinPanel( p, ar, cg, FALSE,
- &cg.brush( TQColorGroup::Button ) );
-
- ar.addCoords( 2, 2, -2, -2 );
- if ( widget->isEnabled() )
- flags |= Style_Enabled;
-
- if ( subActive == SC_ComboBoxArrow ) {
- flags |= Style_Sunken;
- }
- tqdrawPrimitive( PE_ArrowDown, p, ar, cg, flags );
- }
-
- if ( sub & SC_ComboBoxEditField ) {
- const TQComboBox * cb = (const TQComboBox *) widget;
- TQRect re =
- TQStyle::tqvisualRect( querySubControlMetrics( CC_ComboBox, widget,
- SC_ComboBoxEditField ), widget );
- if ( cb->hasFocus() && !cb->editable() )
- p->fillRect( re.x(), re.y(), re.width(), re.height(),
- cg.brush( TQColorGroup::Highlight ) );
-
- if ( cb->hasFocus() ) {
- p->setPen( cg.highlightedText() );
- p->setBackgroundColor( cg.highlight() );
-
- } else {
- p->setPen( cg.text() );
- p->setBackgroundColor( cg.background() );
- }
-
- if ( cb->hasFocus() && !cb->editable() ) {
- TQRect re =
- TQStyle::tqvisualRect( subRect( SR_ComboBoxFocusRect, cb ), widget );
- tqdrawPrimitive( PE_FocusRect, p, re, cg, Style_FocusAtBorder, TQStyleOption(cg.highlight()));
- }
- }
-
- break;
-#endif // TQT_NO_COMBOBOX
-
-#ifndef TQT_NO_SLIDER
- case CC_Slider:
- {
- const TQSlider *sl = (const TQSlider *) widget;
- int thickness = tqpixelMetric( PM_SliderControlThickness, widget );
- int len = tqpixelMetric( PM_SliderLength, widget );
- int ticks = sl->tickmarks();
-
- TQRect groove = querySubControlMetrics(CC_Slider, widget, SC_SliderGroove,
- opt),
- handle = querySubControlMetrics(CC_Slider, widget, SC_SliderHandle,
- opt);
-
- if ((sub & SC_SliderGroove) && groove.isValid()) {
- int mid = thickness / 2;
-
- if ( ticks & TQSlider::Above )
- mid += len / 8;
- if ( ticks & TQSlider::Below )
- mid -= len / 8;
-
- p->setPen( cg.shadow() );
- if ( sl->orientation() == Qt::Horizontal ) {
- qDrawWinPanel( p, groove.x(), groove.y() + mid - 2,
- groove.width(), 4, cg, TRUE );
- p->drawLine( groove.x() + 1, groove.y() + mid - 1,
- groove.x() + groove.width() - 3, groove.y() + mid - 1 );
- } else {
- qDrawWinPanel( p, groove.x() + mid - 2, groove.y(),
- 4, groove.height(), cg, TRUE );
- p->drawLine( groove.x() + mid - 1, groove.y() + 1,
- groove.x() + mid - 1,
- groove.y() + groove.height() - 3 );
- }
- }
-
- if (sub & SC_SliderTickmarks)
- TQCommonStyle::tqdrawComplexControl(ctrl, p, widget, r, cg, flags,
- SC_SliderTickmarks, subActive,
- opt );
-
- if ( sub & SC_SliderHandle ) {
- // 4444440
- // 4333310
- // 4322210
- // 4322210
- // 4322210
- // 4322210
- // *43210*
- // **410**
- // ***0***
- const TQColor c0 = cg.shadow();
- const TQColor c1 = cg.dark();
- // const TQColor c2 = g.button();
- const TQColor c3 = cg.midlight();
- const TQColor c4 = cg.light();
-
- int x = handle.x(), y = handle.y(),
- wi = handle.width(), he = handle.height();
-
- int x1 = x;
- int x2 = x+wi-1;
- int y1 = y;
- int y2 = y+he-1;
-
- Qt::Orientation orient = sl->orientation();
- bool tickAbove = sl->tickmarks() == TQSlider::Above;
- bool tickBelow = sl->tickmarks() == TQSlider::Below;
-
- p->fillRect( x, y, wi, he, cg.brush( TQColorGroup::Background ) );
-
- if ( flags & Style_HasFocus ) {
- TQRect re = subRect( SR_SliderFocusRect, sl );
- tqdrawPrimitive( PE_FocusRect, p, re, cg );
- }
-
- if ( (tickAbove && tickBelow) || (!tickAbove && !tickBelow) ) {
- qDrawWinButton( p, TQRect(x,y,wi,he), cg, FALSE,
- &cg.brush( TQColorGroup::Button ) );
- return;
- }
-
- TQSliderDirection dir;
-
- if ( orient == Qt::Horizontal )
- if ( tickAbove )
- dir = SlUp;
- else
- dir = SlDown;
- else
- if ( tickAbove )
- dir = SlLeft;
- else
- dir = SlRight;
-
- TQPointArray a;
-
- int d = 0;
- switch ( dir ) {
- case SlUp:
- y1 = y1 + wi/2;
- d = (wi + 1) / 2 - 1;
- a.setPoints(5, x1,y1, x1,y2, x2,y2, x2,y1, x1+d,y1-d );
- break;
- case SlDown:
- y2 = y2 - wi/2;
- d = (wi + 1) / 2 - 1;
- a.setPoints(5, x1,y1, x1,y2, x1+d,y2+d, x2,y2, x2,y1 );
- break;
- case SlLeft:
- d = (he + 1) / 2 - 1;
- x1 = x1 + he/2;
- a.setPoints(5, x1,y1, x1-d,y1+d, x1,y2, x2,y2, x2,y1);
- break;
- case SlRight:
- d = (he + 1) / 2 - 1;
- x2 = x2 - he/2;
- a.setPoints(5, x1,y1, x1,y2, x2,y2, x2+d,y1+d, x2,y1 );
- break;
- }
-
- TQBrush oldBrush = p->brush();
- p->setBrush( cg.brush( TQColorGroup::Button ) );
- p->setPen( Qt::NoPen );
- p->drawRect( x1, y1, x2-x1+1, y2-y1+1 );
- p->drawPolygon( a );
- p->setBrush( oldBrush );
-
- if ( dir != SlUp ) {
- p->setPen( c4 );
- p->drawLine( x1, y1, x2, y1 );
- p->setPen( c3 );
- p->drawLine( x1, y1+1, x2, y1+1 );
- }
- if ( dir != SlLeft ) {
- p->setPen( c3 );
- p->drawLine( x1+1, y1+1, x1+1, y2 );
- p->setPen( c4 );
- p->drawLine( x1, y1, x1, y2 );
- }
- if ( dir != SlRight ) {
- p->setPen( c0 );
- p->drawLine( x2, y1, x2, y2 );
- p->setPen( c1 );
- p->drawLine( x2-1, y1+1, x2-1, y2-1 );
- }
- if ( dir != SlDown ) {
- p->setPen( c0 );
- p->drawLine( x1, y2, x2, y2 );
- p->setPen( c1 );
- p->drawLine( x1+1, y2-1, x2-1, y2-1 );
- }
-
- switch ( dir ) {
- case SlUp:
- p->setPen( c4 );
- p->drawLine( x1, y1, x1+d, y1-d);
- p->setPen( c0 );
- d = wi - d - 1;
- p->drawLine( x2, y1, x2-d, y1-d);
- d--;
- p->setPen( c3 );
- p->drawLine( x1+1, y1, x1+1+d, y1-d );
- p->setPen( c1 );
- p->drawLine( x2-1, y1, x2-1-d, y1-d);
- break;
- case SlDown:
- p->setPen( c4 );
- p->drawLine( x1, y2, x1+d, y2+d);
- p->setPen( c0 );
- d = wi - d - 1;
- p->drawLine( x2, y2, x2-d, y2+d);
- d--;
- p->setPen( c3 );
- p->drawLine( x1+1, y2, x1+1+d, y2+d );
- p->setPen( c1 );
- p->drawLine( x2-1, y2, x2-1-d, y2+d);
- break;
- case SlLeft:
- p->setPen( c4 );
- p->drawLine( x1, y1, x1-d, y1+d);
- p->setPen( c0 );
- d = he - d - 1;
- p->drawLine( x1, y2, x1-d, y2-d);
- d--;
- p->setPen( c3 );
- p->drawLine( x1, y1+1, x1-d, y1+1+d );
- p->setPen( c1 );
- p->drawLine( x1, y2-1, x1-d, y2-1-d);
- break;
- case SlRight:
- p->setPen( c4 );
- p->drawLine( x2, y1, x2+d, y1+d);
- p->setPen( c0 );
- d = he - d - 1;
- p->drawLine( x2, y2, x2+d, y2-d);
- d--;
- p->setPen( c3 );
- p->drawLine( x2, y1+1, x2+d, y1+1+d );
- p->setPen( c1 );
- p->drawLine( x2, y2-1, x2+d, y2-1-d);
- break;
- }
- }
-
- break;
- }
-#endif // TQT_NO_SLIDER
-
- default:
- TQCommonStyle::tqdrawComplexControl( ctrl, p, widget, r, cg, flags, sub,
- subActive, opt );
- break;
- }
-}
-
-
-/*! \reimp */
-int TQWindowsStyle::tqstyleHint( TQ_StyleHint hint,
- const TQWidget *widget,
- const TQStyleOption &opt,
- TQStyleHintReturn *returnData ) const
-{
- int ret;
-
- switch (hint) {
- case SH_EtchDisabledText:
- case SH_Slider_SnapToValue:
- case SH_PrintDialog_RightAlignButtons:
- case SH_MainWindow_SpaceBelowMenuBar:
- case SH_FontDialog_SelectAssociatedText:
- case SH_PopupMenu_AllowActiveAndDisabled:
- case SH_MenuBar_AltKeyNavigation:
- case SH_MenuBar_MouseTracking:
- case SH_PopupMenu_MouseTracking:
- case SH_ComboBox_ListMouseTracking:
- case SH_ScrollBar_StopMouseOverSlider:
- ret = 1;
- break;
-
- case SH_ItemView_ChangeHighlightOnFocus:
-#if defined(TQ_WS_WIN)
- if ( qWinVersion() != WV_95 && qWinVersion() != WV_NT )
- ret = 1;
- else
-#endif
- ret = 0;
- break;
-
- case SH_ToolBox_SelectedPageTitleBold:
- ret = 0;
- break;
-
-#if defined(TQ_WS_WIN)
- case SH_UnderlineAccelerator:
- ret = 1;
- if ( qWinVersion() != WV_95 && qWinVersion() != WV_98 && qWinVersion() != WV_NT ) {
- BOOL cues;
- SystemParametersInfo(SPI_GETKEYBOARDCUES, 0, &cues, 0);
- ret = cues ? 1 : 0;
- // Do nothing if we always paint underlines
- if (!ret && widget && d) {
- TQMenuBar *menuBar = ::tqqt_cast<TQMenuBar*>(widget);
- TQPopupMenu *popupMenu = 0;
- if (!menuBar)
- popupMenu = ::tqqt_cast<TQPopupMenu*>(widget);
-
- // If we paint a menubar draw underlines if it has focus, or if alt is down,
- // or if a popup menu belonging to the menubar is active and paints underlines
- if (menuBar) {
- if (menuBar->hasFocus()) {
- ret = 1;
- } else if (d->altDown()) {
- ret = 1;
- } else if (tqApp->tqfocusWidget() && tqApp->tqfocusWidget()->isPopup()) {
- popupMenu = ::tqqt_cast<TQPopupMenu*>(tqApp->tqfocusWidget());
- TQMenuData *pm = popupMenu ? (TQMenuData*)popupMenu->tqqt_cast("TQMenuData") : 0;
- if (pm && ((FriendlyMenuData*)pm)->parentMenu == menuBar) {
- if (d->hasSeenAlt(menuBar))
- ret = 1;
- }
- }
- // If we paint a popup menu draw underlines if the respective menubar does
- } else if (popupMenu) {
- TQMenuData *pm = (TQMenuData*)popupMenu->tqqt_cast("TQMenuData");
- while (pm) {
- if (((FriendlyMenuData*)pm)->isMenuBar) {
- menuBar = (TQMenuBar*)pm;
- if (d->hasSeenAlt(menuBar))
- ret = 1;
- break;
- }
- pm = ((FriendlyMenuData*)pm)->parentMenu;
- }
- // Otherwise draw underlines if the toplevel widget has seen an alt-press
- } else if (d->hasSeenAlt(widget)) {
- ret = 1;
- }
- }
-
- }
- break;
-#endif
-
- default:
- ret = TQCommonStyle::tqstyleHint(hint, widget, opt, returnData);
- break;
- }
-
- return ret;
-}
-
-/*! \reimp */
-TQRect TQWindowsStyle::subRect(SubRect r, const TQWidget *widget) const
-{
- TQRect rect;
-
- switch (r) {
-#ifndef TQT_NO_SLIDER
- case SR_SliderFocusRect:
- {
- rect = widget->rect();
- break;
- }
-#endif // TQT_NO_SLIDER
- case SR_ToolBoxTabContents:
- rect = widget->rect();
- break;
- default:
- rect = TQCommonStyle::subRect( r, widget );
- break;
- }
-
- return rect;
-}
-
-#endif
diff --git a/tqtinterface/qt4/src/styles/tqwindowsstyle.h b/tqtinterface/qt4/src/styles/tqwindowsstyle.h
deleted file mode 100644
index 0ba06a4..0000000
--- a/tqtinterface/qt4/src/styles/tqwindowsstyle.h
+++ /dev/null
@@ -1,135 +0,0 @@
-/****************************************************************************
-**
-** Definition of Windows-like style class
-**
-** Created : 981231
-**
-** Copyright (C) 2010 Timothy Pearson and (C) 1992-2008 Trolltech ASA.
-**
-** This file is part of the widgets module of the TQt GUI Toolkit.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** This file may be used under the terms of the Q Public License as
-** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
-** included in the packaging of this file. Licensees holding valid TQt
-** Commercial licenses may use this file in accordance with the TQt
-** Commercial License Agreement provided with the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#ifndef TQWINDOWSSTYLE_H
-#define TQWINDOWSSTYLE_H
-
-#ifndef TQT_H
-#include "tqcommonstyle.h"
-#endif // TQT_H
-
-#if !defined(TQT_NO_STYLE_WINDOWS) || defined(TQT_PLUGIN)
-
-#if defined(TQT_PLUGIN)
-#define TQ_EXPORT_STYLE_WINDOWS
-#else
-#define TQ_EXPORT_STYLE_WINDOWS TQ_EXPORT
-#endif
-
-
-class TQ_EXPORT_STYLE_WINDOWS TQWindowsStyle : public TQCommonStyle
-{
- Q_OBJECT
- TQ_OBJECT
-public:
- TQWindowsStyle();
- ~TQWindowsStyle();
-
- void polish(TQApplication*);
- void unPolish(TQApplication*);
-
- void polish(TQWidget*);
- void unPolish(TQWidget*);
-
- void polish( TQPalette & );
-
- virtual void polishPopupMenu( TQPopupMenu* );
-
- // new stuff
- void tqdrawPrimitiveBase( TQ_PrimitiveElement pe,
- TQPainter *p,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags flags = Style_Default,
- const TQStyleOption& = TQStyleOption::Default ) const;
-
- void tqdrawControl( TQ_ControlElement element,
- TQPainter *p,
- const TQWidget *widget,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags flags = Style_Default,
- const TQStyleOption& = TQStyleOption::Default ) const;
-
- void tqdrawComplexControl( TQ_ComplexControl control,
- TQPainter* p,
- const TQWidget* widget,
- const TQRect& r,
- const TQColorGroup& cg,
- SFlags flags = Style_Default,
-#ifdef TQ_TQDOC
- SCFlags sub = SC_All,
-#else
- SCFlags sub = (uint)SC_All,
-#endif
- SCFlags subActive = SC_None,
- const TQStyleOption& = TQStyleOption::Default ) const;
-
- int tqpixelMetric( PixelMetric metric,
- const TQWidget *widget = 0 ) const;
-
- TQSize tqsizeFromContents( ContentsType contents,
- const TQWidget *widget,
- const TQSize &contentsSize,
- const TQStyleOption& = TQStyleOption::Default ) const;
-
- int tqstyleHint(TQ_StyleHint sh, const TQWidget *, const TQStyleOption & = TQStyleOption::Default,
- TQStyleHintReturn* = 0) const;
-
- TQPixmap stylePixmap( StylePixmap stylepixmap,
- const TQWidget *widget = 0,
- const TQStyleOption& = TQStyleOption::Default ) const;
-
- TQRect subRect( SubRect r, const TQWidget *widget ) const;
-
-private:
- class Private;
- Private *d;
-
- // Disabled copy constructor and operator=
-#if defined(TQ_DISABLE_COPY)
- TQWindowsStyle( const TQWindowsStyle & );
- TQWindowsStyle& operator=( const TQWindowsStyle & );
-#endif
-};
-
-#endif // TQT_NO_STYLE_WINDOWS
-
-#endif // TQWINDOWSSTYLE_H