diff options
author | Michele Calgaro <michele.calgaro@yahoo.it> | 2019-04-21 23:28:33 +0900 |
---|---|---|
committer | Michele Calgaro <michele.calgaro@yahoo.it> | 2019-04-21 23:28:33 +0900 |
commit | 1df632a0e6e550a5a100247c6b4713078e78f413 (patch) | |
tree | e8577c3d310285ebb4c8beea37998f408286bda3 /tqtinterface/qt4/src/styles/tqplatinumstyle.cpp | |
parent | 012b00740f33c01949c88d7ea97e2dee81fabb41 (diff) | |
download | experimental-r14.0.7.tar.gz experimental-r14.0.7.zip |
Removed unnecessary and/or TDE-unrelated code.r14.0.7
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
Diffstat (limited to 'tqtinterface/qt4/src/styles/tqplatinumstyle.cpp')
-rw-r--r-- | tqtinterface/qt4/src/styles/tqplatinumstyle.cpp | 1557 |
1 files changed, 0 insertions, 1557 deletions
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 |