• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • tdefx
 

tdefx

tdestyle.h
00001 /*
00002  * $Id$
00003  * 
00004  * TDEStyle
00005  * Copyright (C) 2001-2002 Karol Szwed <gallium@kde.org>
00006  * 
00007  * TQWindowsStyle CC_ListView and style images were kindly donated by TrollTech,
00008  * Copyright (C) 1998-2000 TrollTech AS.
00009  * 
00010  * Many thanks to Bradley T. Hughes for the 3 button scrollbar code.
00011  *
00012  * This library is free software; you can redistribute it and/or
00013  * modify it under the terms of the GNU Library General Public
00014  * License version 2 as published by the Free Software Foundation.
00015  *
00016  * This library is distributed in the hope that it will be useful,
00017  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00018  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00019  * Library General Public License for more details.
00020  *
00021  * You should have received a copy of the GNU Library General Public License
00022  * along with this library; see the file COPYING.LIB.  If not, write to
00023  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00024  * Boston, MA 02110-1301, USA.
00025  */
00026 
00027 #ifndef __TDESTYLE_H
00028 #define __TDESTYLE_H
00029 
00030 // W A R N I N G
00031 // -------------
00032 // This API is still subject to change.
00033 // I will remove this warning when I feel the API is sufficiently flexible.
00034 
00035 #include <tqcommonstyle.h>
00036 
00037 #include <tdelibs_export.h>
00038 
00039 class KPixmap;
00040 
00041 struct TDEStylePrivate;
00057 class TDEFX_EXPORT TDEStyle: public TQCommonStyle
00058 {
00059     Q_OBJECT
00060     
00061 
00062     public:
00063 
00080         typedef uint TDEStyleFlags;
00081         enum TDEStyleOption {
00082             Default           =     0x00000000, 
00083             AllowMenuTransparency =     0x00000001, 
00084             FilledFrameWorkaround =     0x00000002  
00085         };
00086 
00110         enum TDEStyleScrollBarType {
00111             WindowsStyleScrollBar  =    0x00000000, 
00112             PlatinumStyleScrollBar =    0x00000001, 
00113             ThreeButtonScrollBar   =    0x00000002, 
00114             NextStyleScrollBar     =    0x00000004  
00115         };
00116 
00136         TDEStyle( TDEStyleFlags flags = TDEStyle::Default, 
00137             TDEStyleScrollBarType sbtype = TDEStyle::WindowsStyleScrollBar );
00138 
00142         ~TDEStyle();
00143 
00147         static TQString defaultStyle();
00148 
00160         void setScrollBarType(TDEStyleScrollBarType sbtype);
00161 
00167         TDEStyleFlags styleFlags() const;
00168 
00169         // ---------------------------------------------------------------------------
00170 
00182         virtual void renderMenuBlendPixmap( KPixmap& pix, const TQColorGroup& cg, 
00183                             const TQPopupMenu* popup ) const;
00184 
00228         enum TDEStylePrimitive {
00229             KPE_DockWindowHandle,
00230             KPE_ToolBarHandle,
00231             KPE_GeneralHandle,
00232 
00233             KPE_SliderGroove,
00234             KPE_SliderHandle,
00235 
00236             KPE_ListViewExpander,
00237             KPE_ListViewBranch
00238         };
00239 
00240         // Old API
00241         // DEPRECATED
00242         virtual void drawTDEStylePrimitive( TDEStylePrimitive kpe,
00243                     TQPainter* p,
00244                     const TQWidget* widget,
00245                     const TQRect &r,
00246                     const TQColorGroup &cg,
00247                     SFlags flags = Style_Default,
00248                     const TQStyleOption& = TQStyleOption::SO_Default ) const;
00249 
00259         virtual void drawTDEStylePrimitive( TDEStylePrimitive kpe,
00260                     TQPainter* p,
00261                     const TQStyleControlElementData &ceData,
00262                     ControlElementFlags elementFlags,
00263                     const TQRect &r,
00264                     const TQColorGroup &cg,
00265                     SFlags flags = Style_Default,
00266                     const TQStyleOption& = TQStyleOption::SO_Default,
00267                     const TQWidget* widget = 0 ) const;
00268 
00269 
00270         enum TDEStylePixelMetric {
00271             KPM_MenuItemSeparatorHeight     = 0x00000001,
00272             KPM_MenuItemHMargin         = 0x00000002,
00273             KPM_MenuItemVMargin         = 0x00000004,
00274             KPM_MenuItemHFrame          = 0x00000008,
00275             KPM_MenuItemVFrame          = 0x00000010,
00276             KPM_MenuItemCheckMarkHMargin            = 0x00000020,
00277             KPM_MenuItemArrowHMargin        = 0x00000040,
00278             KPM_MenuItemTabSpacing          = 0x00000080,
00279             KPM_ListViewBranchThickness     = 0x00000100
00280         };
00281 
00282         int kPixelMetric( TDEStylePixelMetric kpm, const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, const TQWidget* widget = 0 ) const;
00283 
00284         // ---------------------------------------------------------------------------
00285 
00286         void polish( const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, void * );
00287         void unPolish( const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, void * );
00288         void polishPopupMenu( const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, void *ptr );
00289 
00290         void drawPrimitive( TQ_PrimitiveElement pe,
00291                     TQPainter* p,
00292                     const TQStyleControlElementData &ceData,
00293                     ControlElementFlags elementFlags,
00294                     const TQRect &r,
00295                     const TQColorGroup &cg,
00296                     SFlags flags = Style_Default,
00297                     const TQStyleOption& = TQStyleOption::SO_Default ) const;
00298 
00299 // #ifdef USE_QT4 // tdebindings / smoke needs this function declaration available at all times.  Furthermore I don't think it would hurt to have the declaration available at all times...so leave these commented out for now
00300 
00301 //      void drawPrimitive( TQ_ControlElement pe,
00302 //                  TQPainter* p,
00303 //                  const TQStyleControlElementData &ceData,
00304 //                  ControlElementFlags elementFlags,
00305 //                  const TQRect &r,
00306 //                  const TQColorGroup &cg,
00307 //                  SFlags flags = Style_Default,
00308 //                  const TQStyleOption& = TQStyleOption::SO_Default ) const;
00309 
00310 // #endif // USE_QT4
00311 
00312         void drawControl( TQ_ControlElement element,
00313                     TQPainter* p,
00314                     const TQStyleControlElementData &ceData,
00315                     ControlElementFlags elementFlags,
00316                     const TQRect &r,
00317                     const TQColorGroup &cg,
00318                     SFlags flags = Style_Default,
00319                     const TQStyleOption& = TQStyleOption::SO_Default,
00320                     const TQWidget* widget = 0 ) const;
00321 
00322         void drawComplexControl( TQ_ComplexControl control,
00323                     TQPainter *p,
00324                     const TQStyleControlElementData &ceData,
00325                     ControlElementFlags elementFlags,
00326                     const TQRect &r,
00327                     const TQColorGroup &cg,
00328                     SFlags flags = Style_Default,
00329                     SCFlags controls = SC_All,
00330                     SCFlags active = SC_None,
00331                     const TQStyleOption& = TQStyleOption::SO_Default,
00332                     const TQWidget* widget = 0 ) const;
00333 
00334         SubControl querySubControl( TQ_ComplexControl control,
00335                     const TQStyleControlElementData &ceData,
00336                     ControlElementFlags elementFlags,
00337                     const TQPoint &pos,
00338                     const TQStyleOption& = TQStyleOption::SO_Default,
00339                     const TQWidget* widget = 0 ) const;
00340 
00341         TQRect querySubControlMetrics( TQ_ComplexControl control,
00342                     const TQStyleControlElementData &ceData,
00343                     ControlElementFlags elementFlags,
00344                     SubControl sc,
00345                     const TQStyleOption& = TQStyleOption::SO_Default,
00346                     const TQWidget* widget = 0 ) const;
00347 
00348         int pixelMetric( PixelMetric m, const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, 
00349                     const TQWidget* widget = 0 ) const;
00350 
00351         TQRect subRect( SubRect r, const TQStyleControlElementData &ceData, const ControlElementFlags elementFlags, 
00352                     const TQWidget* widget = 0 ) const;
00353 
00354         TQPixmap stylePixmap( StylePixmap stylepixmap,
00355                     const TQStyleControlElementData &ceData,
00356                     ControlElementFlags elementFlags,
00357                     const TQStyleOption& = TQStyleOption::SO_Default,
00358                     const TQWidget* widget = 0 ) const;
00359 
00360         int styleHint( TQ_StyleHint sh, const TQStyleControlElementData &ceData,
00361                     ControlElementFlags elementFlags,
00362                     const TQStyleOption &opt = TQStyleOption::SO_Default,
00363                     TQStyleHintReturn* shr = 0,
00364                     const TQWidget* w = 0 ) const;
00365 
00366     protected:
00367         virtual bool objectEventHandler( const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, void* source, TQEvent *e );
00368 
00369     private:
00370         // Disable copy constructor and = operator
00371         TDEStyle( const TDEStyle & );
00372         TDEStyle& operator=( const TDEStyle & );
00373 
00374     protected:
00375         virtual void virtual_hook( int id, void* data );
00376     private:
00377         TDEStylePrivate *d;
00378 };
00379 
00380 
00381 // vim: set noet ts=4 sw=4:
00382 #endif
00383 

tdefx

Skip menu "tdefx"
  • Main Page
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Class Members

tdefx

Skip menu "tdefx"
  • arts
  • dcop
  • dnssd
  • interfaces
  •   kspeech
  •     interface
  •     library
  •   tdetexteditor
  • kate
  • kded
  • kdoctools
  • kimgio
  • kjs
  • libtdemid
  • libtdescreensaver
  • tdeabc
  • tdecmshell
  • tdecore
  • tdefx
  • tdehtml
  • tdeinit
  • tdeio
  •   bookmarks
  •   httpfilter
  •   kpasswdserver
  •   kssl
  •   tdefile
  •   tdeio
  •   tdeioexec
  • tdeioslave
  •   http
  • tdemdi
  •   tdemdi
  • tdenewstuff
  • tdeparts
  • tdeprint
  • tderandr
  • tderesources
  • tdespell2
  • tdesu
  • tdeui
  • tdeunittest
  • tdeutils
  • tdewallet
Generated for tdefx by doxygen 1.7.6.1
This website is maintained by Timothy Pearson.