diff options
Diffstat (limited to 'kstyles/kthemestyle/kthemebase.h')
-rw-r--r-- | kstyles/kthemestyle/kthemebase.h | 865 |
1 files changed, 0 insertions, 865 deletions
diff --git a/kstyles/kthemestyle/kthemebase.h b/kstyles/kthemestyle/kthemebase.h deleted file mode 100644 index 1e16bcee7..000000000 --- a/kstyles/kthemestyle/kthemebase.h +++ /dev/null @@ -1,865 +0,0 @@ -/* - $Id$ - - This file is part of the KDE libraries - Copyright (C) 1999 Daniel M. Duley <mosfet@kde.org> - - KDE3 port (C) 2001 Maksim Orlovich <mo002j@mail.rochester.edu> - - Palette setup code is from TDEApplication, -Copyright (C) 1997 Matthias Kalle Dalheimer (kalle@kde.org) -Copyright (C) 1998, 1999, 2000 KDE Team - - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License version 2 as published by the Free Software Foundation. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#ifndef KTHEMEBASE_H -#define KTHEMEBASE_H - -#include <tqtimer.h> -#include <tqdatetime.h> -#include <kpixmap.h> -#include <tqintcache.h> -#include <tqstring.h> -#include <tdestyle.h> -#include <tqsettings.h> -#include <tqpalette.h> // for QColorGroup -#include "kstyledirs.h" -#include <tqmap.h> - -class TQImage; - - - -/** - * This class adds simple time management to KPixmap for use in flushing - * KThemeCache. - * - * @author Daniel M. Duley <mosfet@kde.org> - */ -class KThemePixmap : public KPixmap -{ -public: - enum BorderType{Top = 0, Bottom, Left, Right, TopLeft, TopRight, BottomLeft, - BottomRight}; - - KThemePixmap( bool timer = true ); - KThemePixmap( const KThemePixmap &p ); - KThemePixmap( const KThemePixmap &p, const TQPixmap& rp ); - ~KThemePixmap(); - TQPixmap* border( BorderType type ); - void setBorder( BorderType type, const TQPixmap &p ); - void updateAccessed(); - bool isOld(); -protected: - TQTime *t; - TQPixmap *b[ 8 ]; - -private: - class KThemePixmapPrivate; - KThemePixmapPrivate *d; -}; - -inline TQPixmap* KThemePixmap::border( BorderType type ) -{ - return ( b[ type ] ); -} - -inline void KThemePixmap::setBorder( BorderType type, const TQPixmap &p ) -{ - if ( b[ type ] ) - { - tqWarning( "KThemePixmap: Overwriting existing border!" ); - delete( b[ type ] ); - } - b[ type ] = new TQPixmap( p ); -} - -inline void KThemePixmap::updateAccessed() -{ - if ( t ) - t->start(); -} - -inline bool KThemePixmap::isOld() -{ - return ( t ? t->elapsed() >= 300000 : false ); -} - -/** - * A very simple pixmap cache for theme plugins. TQPixmapCache is not used - * since it uses TQString keys which are not needed. All the information we - * need can be encoded in a numeric key. Using TQIntCache instead allows us to - * skip the string operations. - * - * This class is mostly just inline methods that do bit operations on a key - * composed of the widget ID, width and/or height, and then calls - * TQIntCache::find(). - * - * One other thing to note is that full, horizontal, and vertically scaled - * pixmaps are not used interchangeably. For example, if you insert a fully - * scaled pixmap that is 32x32 then request a horizontally scaled pixmap with - * a width of 32, they will not match. This is because a pixmap that has been - * inserted into the cache has already been scaled at some point and it is - * very likely the vertical height was not originally 32. Thus the pixmap - * will be wrong when drawn, even though the horizontal width matches. - * - * @author Daniel M. Duley <mosfet@kde.org> - * - */ -class KThemeCache : public TQObject -{ - Q_OBJECT -public: - /** - * The scale hints supported by the cache. Note that Tiled is not here - * since tiled pixmaps are kept only once in KThemeBase. - */ - enum ScaleHint{FullScale, HorizontalScale, VerticalScale}; - /** - * The constructor. - * - * @param maxSize The maximum size of the cache in kilobytes. - * @param parent The parent object. - * @param name The name of the object. - */ - KThemeCache( int maxSize, TQObject *parent = 0, const char *name = 0 ); - /** - * Inserts a new pixmap into the cache. - * - * @param pixmap The pixmap to insert. - * @param scale The scaling type of the pixmap. - * @param widgetID The widget ID of the pixmap, usually from KThemeBase's - * WidgetType enum. - * @param border True if the pixmap has a border. - * @param mask True if the pixmap has a mask. - * - * @return True if the insert was successful, false otherwise. - */ - bool insert( KThemePixmap *pixmap, ScaleHint scale, int widgetID, - bool border = false, bool mask = false ); - /** - * Returns a fully scaled pixmap. - * - * @param w The pixmap width to search for. - * @param h The pixmap height to search for. - * @param widgetID The widget ID to search for. - * @param border True if the pixmap has a border. - * @param mask True if the pixmap has a mask. - * - * @return True if a pixmap matching the width, height, and widget ID of - * the pixmap exists, NULL otherwise. - */ - KThemePixmap* pixmap( int w, int h, int widgetID, bool border = false, - bool mask = false ); - /** - * Returns a horizontally scaled pixmap. - * - * @param w The pixmap width to search for. - * @param widgetID The widget ID to search for. - * - * @return True if a pixmap matching the width and widget ID of - * the pixmap exists, NULL otherwise. - */ - KThemePixmap* horizontalPixmap( int w, int widgetID ); - /** - * Returns a vertically scaled pixmap. - * - * @param h The pixmap height to search for. - * @param widgetID The widget ID to search for. - * - * @return True if a pixmap matching the height and widget ID of - * the pixmap exists, NULL otherwise. - */ - KThemePixmap* verticalPixmap( int h, int widgetID ); -protected slots: - void flushTimeout(); -protected: - TQIntCache<KThemePixmap> cache; - TQTimer flushTimer; - -private: - class KThemeCachePrivate; - KThemeCachePrivate *d; -}; - - - -class KThemeBasePrivate; -/** - * This is a base class for KDE themed styles. It implements a cache, - * configuration file parsing, pixmap scaling, gradients, and a lot - * of inline methods for accessing user specified parameters. - * - * Note that this class *does not* actually implement any themes. It just - * provides the groundwork for doing so. The only reason to use this class - * directly is if you plan to reimplement all of the widgets. Otherwise, - * refer to KThemeStyle for a fully themed style you can derive from. - * - * @author Daniel M. Duley <mosfet@kde.org> - */ -class KThemeBase: public TDEStyle -{ - Q_OBJECT -public: - /** - * Constructs a new KThemeBase object. - */ - KThemeBase( const TQString &dirs, const TQString &configFile ); - ~KThemeBase(); - /** - * Describes if a pixmap should be scaled fully, horizontally, vertically, - * or not at all and tiled. - */ - enum ScaleHint{FullScale, HorizontalScale, VerticalScale, TileScale}; - /** - * The default arrow types. - */ - enum ArrowStyle{MotifArrow, LargeArrow, SmallArrow}; - /** - * The default frame shading styles. - */ - enum ShadeStyle{Motif, Windows, Next, KDE}; - /** - * The default scrollbar button layout. BottomLeft is like what Next - * uses, BottomRight is like Platinum, and Opposite it like Windows and - * Motif. - */ - enum SButton{SBBottomLeft, SBBottomRight, SBOpposite}; - /** - * The gradient types. Horizontal is left to right, Vertical is top to - * bottom, and diagonal is upper-left to bottom-right. - */ - enum Gradient{GrNone, GrHorizontal, GrVertical, GrDiagonal, GrPyramid, - GrRectangle, GrElliptic, GrReverseBevel}; - /** - * This provides a list of widget types that KThemeBase recognizes. - */ - /* Internal note: The order here is important. Some widgets inherit - * properties. This is usually for when you have two settings for the - * same widget, ie: on(sunken), and off. The on settings will inherit - * the properties of the off one when nothing is specified in the config. - * - * In order to be able to handle this while still having everything in - * one group that is easy to loop from we have the following order: - * unsunked(off) items, sunken(on)items, and then the ones that don't - * matter. INHERIT_ITEMS define the number of widgets that have inheritence - * so if 0 == PushButtonOff then INHERIT_ITEMS should == PushButtonOn - * and so on. WIDGETS define the total number of widgets. - */ - enum WidgetType{ - // Off (unsunken widgets) - PushButton = 0, ComboBox, HScrollBarSlider, VScrollBarSlider, Bevel, - ToolButton, ScrollButton, HScrollDeco, VScrollDeco, - ComboDeco, MenuItem, InactiveTab, ArrowUp, ArrowDown, ArrowLeft, - ArrowRight, - // On (sunken widgets) - PushButtonDown, ComboBoxDown, HScrollBarSliderDown, - VScrollBarSliderDown, BevelDown, ToolButtonDown, ScrollButtonDown, - HScrollDecoDown, VScrollDecoDown, ComboDecoDown, MenuItemDown, - ActiveTab, SunkenArrowUp, SunkenArrowDown, SunkenArrowLeft, - SunkenArrowRight, - // Everything else (indicators must have separate settings) - HScrollGroove, VScrollGroove, Slider, SliderGroove, IndicatorOn, - IndicatorOff, IndicatorTri, ExIndicatorOn, ExIndicatorOff, HBarHandle, VBarHandle, - ToolBar, Splitter, CheckMark, MenuBar, DisArrowUp, DisArrowDown, - DisArrowLeft, DisArrowRight, ProgressBar, ProgressBg, MenuBarItem, - Background, RotSliderGroove, RotInactiveTab, RotActiveTab, WIDGETS}; - - /** - * The scaling type specified by the TDEConfig file. - * - * @param widget A Widgets enum value. - * - * @return A ScaleHint enum value. - */ - ScaleHint scaleHint( WidgetType widget ) const; - /** - * The gradient type specified by the TDEConfig file. - * - * @param widget A Widgets enum value. - * - * @return A Gradient enum value. - */ - Gradient gradientHint( WidgetType widget ) const; - /** - * The color group specified for a given widget. - * If a color group is set in the theme configuration - * that is used, otherwise defaultColor is returned. - * - * @param defaultGroup The colorGroup to set if one is available. - * - * @param widget The widget whose color group to retrieve. - * - */ - const TQColorGroup* colorGroup( const TQColorGroup &defaultGroup, - WidgetType widget ) const; - - TQBrush pixmapBrush( const TQColorGroup &group, TQColorGroup::ColorRole role, - int w, int h, WidgetType widget ); - /** - * True if the widget has a pixmap or gradient specified. - */ - bool isPixmap( WidgetType widget ) const; - /** - * True if the widget has a color group specified. - */ - bool isColor( WidgetType widget ) const; - /** - * True if the user specified a 3D focus rectangle - */ - bool is3DFocus() const; - /** - * If the user specified a 3D focus rectangle, they may also specify an - * offset from the default rectangle to use when drawing it. This returns - * the specified offset. - */ - int focusOffset() const; - /** - * The border width of the specified widget. - */ - int borderWidth( WidgetType widget ) const; - /** - * Pixmap border width of the specified widget. - */ - int pixBorderWidth( WidgetType widget ) const; - /** - * Returns the border pixmap if enabled for the specified widget. This - * will contain the originial pixmap, plus the edges separated in - * KThemePixmap::border() if valid. If invalid it will return NULL. - */ - KThemePixmap* borderPixmap( WidgetType widget ) const; - /** - * The highlight width of the specified widget. - */ - int highlightWidth( WidgetType widget ) const; - /** - * The border plus highlight width of the widget. - */ - int decoWidth( WidgetType widget ) const; - /** - * The extent (width for vertical, height for horizontal) requested - * for the scrollbars. - */ - int getSBExtent() const; - /** - * The scrollbar button layout. - */ - SButton scrollBarLayout() const; - /** - * The arrow type. - */ - ArrowStyle arrowType() const; - /** - * The shading type. - */ - ShadeStyle shade() const; - /** - * The frame width. - */ - int frameWidth() const; - /** - * The splitter width. - */ - int splitWidth() const; - /** - * The contrast for some bevel effects such as reverse gradient. - */ - int bevelContrast( WidgetType widget ) const; - /** - * The button text X shift. - */ - int buttonXShift() const; - /** - * The button text Y shift. - */ - int buttonYShift() const; - /** - * Returns either the slider length of the slider pixmap if available, - * otherwise the length specified in the config file. - */ - int sliderButtonLength() const; - /** - * True if rounded buttons are requested. - */ - bool roundButton() const; - /** - * True if rounded comboboxes are requested. - */ - bool roundComboBox() const; - /** - * True if rounded slider grooves are requested. - */ - bool roundSlider() const; - /** - * True if a line should be drawn on the bottom of active tabs. - */ - bool activeTabLine() const; - /** - * True if a line should be drawn on the bottom of inactive tabs. - */ - bool inactiveTabLine() const; - /** - * Returns the current uncached pixmap for the given widget. This will - * usually be either the last scaled or gradient pixmap if those have - * been specified in the config file, the original pixmap if not, or NULL - * if no pixmap has been specified. - */ - KThemePixmap* uncached( WidgetType widget ) const; - /** - * Returns the pixmap for the given widget at the specified width and - * height. This will return NULL if no pixmap or gradient is specified. - * It may also return a different sized pixmap if the scaling - * is set to Tiled. When using this method, you should call it using - * the needed width and height then use TQPainter::drawTiledPixmap to - * paint it. Doing this, if the pixmap is scaled it will be the proper - * size, otherwise it will be tiled. - * - * @param w Requested width. - * @param h Requested height. - * @param widget Widget type. - * @return The pixmap or NULL if one is not specified. - */ - virtual KThemePixmap *scalePixmap( int w, int h, WidgetType widget ) const; -protected: - /** - * This method reads a configuration file and sets things up so - * overrideColorGroup works. Modiying user's config files within - * a style is evil, IMHO (SadEagle). On the other hand, this will - * make it simply ignore settings. - * - * @param config The configuration file to apply. - */ - void applyConfigFile( TQSettings & config ); - - /* - * Generates a new palette based on the values for which have been specified explicitly - * in the .themerc file. - */ - TQPalette overridePalette( const TQPalette& pal ); - - /** - * Returns a TQImage for the given widget if the widget is scaled, NULL - * otherwise. QImages of the original pixmap are stored for scaled - * widgets in order to facilitate fast and accurate smooth-scaling. This - * also saves us a conversion from a pixmap to an image then back again. - */ - TQImage* image( WidgetType widget ) const; - /** - * Returns the gradient high color if one is specified, NULL otherwise. - */ - TQColor* gradientHigh( WidgetType widget ) const; - /** - * Returns the gradient low color if one is specified, NULL otherwise. - */ - TQColor* gradientLow( WidgetType widget ) const; - /** - * Reads in all the configuration file entries supported. - * - * @param colorStyle The style for the color groups. In KDE, colors were - * calculated a little differently for Motif vs Windows styles. This - * is obsolete. - */ - void readConfig( TQt::GUIStyle colorStyle = TQt::WindowsStyle ); - void readWidgetConfig( int i, TQSettings *config, TQString *pixnames, - TQString *brdnames, bool *loadArray ); - void copyWidgetConfig( int sourceID, int destID, TQString *pixnames, - TQString *brdnames ); - /** - * Makes a full color group based on the given foreground and background - * colors. This is the same code used by KDE (kapp.cpp) in previous - * versions. - */ - TQColorGroup* makeColorGroup( const TQColor &fg, const TQColor &bg, - TQt::GUIStyle style = TQt::WindowsStyle ); - KThemePixmap* scale( int w, int h, WidgetType widget ) const; - KThemePixmap* scaleBorder( int w, int h, WidgetType type ) const; - KThemePixmap* gradient( int w, int h, WidgetType widget ) const ; - KThemePixmap* blend( WidgetType widget ) const; - void generateBorderPix( int i ); - void applyResourceGroup( TQSettings *config, int i ); - void applyMiscResourceGroup( TQSettings *config ); - void readResourceGroup( int i, TQString *pixnames, TQString *brdnames, - bool *loadArray ); - void readMiscResourceGroup(); - /** - * Attempts to load a pixmap from the default KThemeBase locations. - */ - KThemePixmap* loadPixmap( const TQString &name ); - /** - * Attempts to load a image from the default KThemeBase locations. - */ - TQImage* loadImage( const TQString &name ); - - - /** - These are included for fuuture extension purposes.. - */ - virtual int pixelMetric ( PixelMetric metric, const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, const TQWidget * widget = 0 ) const - { - return TDEStyle::pixelMetric( metric, ceData, elementFlags, widget ); - } - - virtual void drawPrimitive ( PrimitiveElement pe, TQPainter * p, const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, const TQRect & r, const TQColorGroup & cg, - SFlags flags = Style_Default, - const TQStyleOption& option = TQStyleOption::Default ) const - { - TDEStyle::tqdrawPrimitive ( pe, p, ceData, elementFlags, r, cg, - flags, option ); - } - - - virtual void drawControl( TQ_ControlElement element, - TQPainter *p, - const TQStyleControlElementData &ceData, - ControlElementFlags elementFlags, - const TQRect &r, - const TQColorGroup &cg, - SFlags how = Style_Default, - const TQStyleOption& opt = TQStyleOption::Default, - const TQWidget *widget = 0 ) const - { - TDEStyle::drawControl( element, p, ceData, elementFlags, - r, cg, how, opt, widget ); - } - - virtual void drawControlMask( TQ_ControlElement element, - TQPainter *p, - const TQStyleControlElementData &ceData, - ControlElementFlags elementFlags, - const TQRect &r, - const TQStyleOption& opt = TQStyleOption::Default, - const TQWidget *widget = 0 ) const - { - TDEStyle::drawControlMask( element, p, ceData, elementFlags, r, opt, widget ); - } - - - virtual void drawComplexControl( TQ_ComplexControl control, - TQPainter *p, - const TQStyleControlElementData &ceData, - ControlElementFlags elementFlags, - const TQRect &r, - const TQColorGroup &cg, - SFlags flags = Style_Default, - SCFlags controls = SC_All, - SCFlags active = SC_None, - const TQStyleOption& opt = TQStyleOption::Default, - const TQWidget* widget = 0 ) const - { - TDEStyle::drawComplexControl( control, p, ceData, elementFlags, r, cg, flags, controls, active, opt, widget ); - } - - - virtual void drawTDEStylePrimitive( TDEStylePrimitive kpe, - TQPainter* p, - const TQStyleControlElementData &ceData, - ControlElementFlags elementFlags, - const TQRect &r, - const TQColorGroup &cg, - SFlags flags = Style_Default, - const TQStyleOption& opt = TQStyleOption::Default, - const TQWidget* widget = 0 ) const - { - TDEStyle::drawTDEStylePrimitive( kpe, - p, ceData, elementFlags, r, - cg, flags, opt, widget ); - } - - - virtual int styleHint( StyleHint sh, const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, - const TQStyleOption& opt = TQStyleOption::Default, - TQStyleHintReturn* returnData = 0, - const TQWidget *widget = 0 ) const - { - return TDEStyle::styleHint( sh, - ceData, - elementFlags, - opt, - returnData, - widget ); - } - - virtual TQSize sizeFromContents( ContentsType contents, - const TQStyleControlElementData &ceData, - ControlElementFlags elementFlags, - const TQSize &contentsSize, - const TQStyleOption& opt = TQStyleOption::Default, - const TQWidget *widget = 0 ) const - { - return TDEStyle::sizeFromContents( contents, - ceData, elementFlags, contentsSize, opt, widget ); - } - -private: - KThemeBasePrivate *d; - - SButton sbPlacement; - ArrowStyle arrowStyle; - ShadeStyle shading; - int defaultFrame; - int btnXShift, btnYShift; - int sliderLen; - int splitterWidth; - int focus3DOffset; - int sbExtent; - bool smallGroove; - bool roundedButton, roundedCombo, roundedSlider; - bool aTabLine, iTabLine; - bool focus3D; - KThemeCache *cache; - int cacheSize; - TQString configFileName; - TQString configDirName; - - /** - * The theme pixmaps. Many of these may be NULL if no pixmap is specified. - * There may also be duplicate pixmap pointers if more than one widget - * uses the same tiled pixmap. If a pixmap is tiled, it is kept here and - * this acts as a cache. Otherwise this will hold whatever the last scaled - * pixmap was. - */ - mutable KThemePixmap *pixmaps[ WIDGETS ]; - /** - * The theme images. These are for scaled images and are kept in order - * to maintain fast smoothscaling. - */ - mutable TQImage *images[ WIDGETS ]; - /** - * The border widths - */ - mutable unsigned char borders[ WIDGETS ]; - /** - * The highlight widths - */ - mutable unsigned char highlights[ WIDGETS ]; - /** - * The scale hints for pixmaps and gradients. - */ - mutable ScaleHint scaleHints[ WIDGETS ]; - /** - * All the color groups. - */ - mutable TQColorGroup *colors[ WIDGETS ]; - /** - * Gradient low colors (or blend background). - */ - mutable TQColor *grLowColors[ WIDGETS ]; - /** - * Gradient high colors. - */ - mutable TQColor *grHighColors[ WIDGETS ]; - /** - * Gradient types. - */ - mutable Gradient gradients[ WIDGETS ]; - /** - * Blend intensity factors - */ - mutable float blends[ WIDGETS ]; - /** - * Bevel contrasts - */ - mutable unsigned char bContrasts[ WIDGETS ]; - /** - * Duplicate pixmap entries (used during destruction). - */ - mutable bool duplicate[ WIDGETS ]; - /** - * Pixmapped border widths - */ - mutable int pbWidth[ WIDGETS ]; - /** - * Pixmapped borders - */ - mutable KThemePixmap *pbPixmaps[ WIDGETS ]; - /** - * Duplicate border pixmapped border entries - */ - mutable bool pbDuplicate[ WIDGETS ]; - -}; - -inline bool KThemeBase::isPixmap( WidgetType widget ) const -{ - return ( pixmaps[ widget ] != NULL || gradients[ widget ] != GrNone ); -} - -inline bool KThemeBase::isColor( WidgetType widget ) const -{ - return ( colors[ widget ] != NULL ); -} - -inline bool KThemeBase::is3DFocus() const -{ - return ( focus3D ); -} - -inline int KThemeBase::focusOffset() const -{ - return ( focus3DOffset ); -} - -inline int KThemeBase::bevelContrast( WidgetType widget ) const -{ - return ( bContrasts[ widget ] ); -} - -inline KThemeBase::ScaleHint KThemeBase::scaleHint( WidgetType widget ) const -{ - return ( ( widget < WIDGETS ) ? scaleHints[ widget ] : TileScale ); -} - -inline KThemeBase::Gradient KThemeBase::gradientHint( WidgetType widget ) const -{ - return ( ( widget < WIDGETS ) ? gradients[ widget ] : GrNone ); -} - -inline KThemePixmap* KThemeBase::uncached( WidgetType widget ) const -{ - return ( pixmaps[ widget ] ); -} - -inline TQBrush KThemeBase::pixmapBrush( const TQColorGroup &group, - TQColorGroup::ColorRole role, - int w, int h, WidgetType widget ) -{ - if ( pixmaps[ widget ] || images[ widget ] ) - return ( TQBrush( group.color( role ), *scalePixmap( w, h, widget ) ) ); - else - return ( group.color( role ) ); -} - -inline const TQColorGroup* KThemeBase::colorGroup( const TQColorGroup &defaultGroup, - WidgetType widget ) const -{ - return ( ( colors[ widget ] ) ? colors[ widget ] : &defaultGroup ); -} - -inline int KThemeBase::borderWidth( WidgetType widget ) const -{ - return ( pbWidth[ widget ] ? pbWidth[ widget ] : borders[ widget ] ); -} - -inline int KThemeBase::pixBorderWidth( WidgetType widget ) const -{ - return ( pbWidth[ widget ] ); -} - -inline int KThemeBase::highlightWidth( WidgetType widget ) const -{ - return ( pbWidth[ widget ] ? 0 : highlights[ widget ] ); -} - -inline int KThemeBase::decoWidth( WidgetType widget ) const -{ - return ( pbWidth[ widget ] ? pbWidth[ widget ] : borders[ widget ] + highlights[ widget ] ); -} - -inline TQColor* KThemeBase::gradientHigh( WidgetType widget ) const -{ - return ( grHighColors[ widget ] ); -} - -inline TQColor* KThemeBase::gradientLow( WidgetType widget ) const -{ - return ( grLowColors[ widget ] ); -} - -inline TQImage* KThemeBase::image( WidgetType widget ) const -{ - return ( images[ widget ] ); -} - -inline KThemeBase::SButton KThemeBase::scrollBarLayout() const -{ - return ( sbPlacement ); -} - -inline KThemeBase::ArrowStyle KThemeBase::arrowType() const -{ - return ( arrowStyle ); -} - -inline KThemeBase::ShadeStyle KThemeBase::shade() const -{ - return ( shading ); -} - -inline int KThemeBase::frameWidth() const -{ - return ( defaultFrame ); -} - -inline int KThemeBase::buttonXShift() const -{ - return ( btnXShift ); -} - -inline int KThemeBase::splitWidth() const -{ - return ( splitterWidth ); -} - -inline int KThemeBase::buttonYShift() const -{ - return ( btnYShift ); -} - -inline int KThemeBase::sliderButtonLength() const -{ - if ( isPixmap( Slider ) ) - return ( uncached( Slider ) ->width() ); - else - return ( sliderLen ); -} - -inline bool KThemeBase::roundButton() const -{ - return ( roundedButton ); -} - -inline bool KThemeBase::roundComboBox() const -{ - return ( roundedCombo ); -} - -inline bool KThemeBase::roundSlider() const -{ - return ( roundedSlider ); -} - -inline bool KThemeBase::activeTabLine() const -{ - return ( aTabLine ); -} - -inline bool KThemeBase::inactiveTabLine() const -{ - return ( iTabLine ); -} - -inline int KThemeBase::getSBExtent() const -{ - return ( sbExtent ); -} - -inline KThemePixmap* KThemeBase::borderPixmap( WidgetType widget ) const -{ - return ( pbPixmaps[ widget ] ); -} - -#endif |