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

tdefx

  • tdefx
tdestyle.h
1 /*
2  * $Id$
3  *
4  * TDEStyle
5  * Copyright (C) 2001-2002 Karol Szwed <gallium@kde.org>
6  *
7  * TQWindowsStyle CC_ListView and style images were kindly donated by TrollTech,
8  * Copyright (C) 1998-2000 TrollTech AS.
9  *
10  * Many thanks to Bradley T. Hughes for the 3 button scrollbar code.
11  *
12  * This library is free software; you can redistribute it and/or
13  * modify it under the terms of the GNU Library General Public
14  * License version 2 as published by the Free Software Foundation.
15  *
16  * This library is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19  * Library General Public License for more details.
20  *
21  * You should have received a copy of the GNU Library General Public License
22  * along with this library; see the file COPYING.LIB. If not, write to
23  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
24  * Boston, MA 02110-1301, USA.
25  */
26 
27 #ifndef __TDESTYLE_H
28 #define __TDESTYLE_H
29 
30 // W A R N I N G
31 // -------------
32 // This API is still subject to change.
33 // I will remove this warning when I feel the API is sufficiently flexible.
34 
35 #include <tqcommonstyle.h>
36 
37 #include <tdelibs_export.h>
38 
39 class KPixmap;
40 
41 struct TDEStylePrivate;
57 class TDEFX_EXPORT TDEStyle: public TQCommonStyle
58 {
59  TQ_OBJECT
60 
61 
62  public:
63 
80  typedef uint TDEStyleFlags;
81  enum TDEStyleOption {
82  Default = 0x00000000,
83  AllowMenuTransparency = 0x00000001,
84  FilledFrameWorkaround = 0x00000002
85  };
86 
110  enum TDEStyleScrollBarType {
111  WindowsStyleScrollBar = 0x00000000,
112  PlatinumStyleScrollBar = 0x00000001,
113  ThreeButtonScrollBar = 0x00000002,
114  NextStyleScrollBar = 0x00000004
115  };
116 
136  TDEStyle( TDEStyleFlags flags = TDEStyle::Default,
137  TDEStyleScrollBarType sbtype = TDEStyle::WindowsStyleScrollBar );
138 
142  ~TDEStyle();
143 
147  static TQString defaultStyle();
148 
160  void setScrollBarType(TDEStyleScrollBarType sbtype);
161 
167  TDEStyleFlags styleFlags() const;
168 
169  // ---------------------------------------------------------------------------
170 
182  virtual void renderMenuBlendPixmap( KPixmap& pix, const TQColorGroup& cg,
183  const TQPopupMenu* popup ) const;
184 
228  enum TDEStylePrimitive {
229  KPE_DockWindowHandle,
230  KPE_ToolBarHandle,
231  KPE_GeneralHandle,
232 
233  KPE_SliderGroove,
234  KPE_SliderHandle,
235 
236  KPE_ListViewExpander,
237  KPE_ListViewBranch
238  };
239 
240  // Old API
241  // DEPRECATED
242  virtual void drawTDEStylePrimitive( TDEStylePrimitive kpe,
243  TQPainter* p,
244  const TQWidget* widget,
245  const TQRect &r,
246  const TQColorGroup &cg,
247  SFlags flags = Style_Default,
248  const TQStyleOption& = TQStyleOption::Default ) const;
249 
259  virtual void drawTDEStylePrimitive( TDEStylePrimitive kpe,
260  TQPainter* p,
261  const TQStyleControlElementData &ceData,
262  ControlElementFlags elementFlags,
263  const TQRect &r,
264  const TQColorGroup &cg,
265  SFlags flags = Style_Default,
266  const TQStyleOption& = TQStyleOption::Default,
267  const TQWidget* widget = 0 ) const;
268 
269 
270  enum TDEStylePixelMetric {
271  KPM_MenuItemSeparatorHeight = 0x00000001,
272  KPM_MenuItemHMargin = 0x00000002,
273  KPM_MenuItemVMargin = 0x00000004,
274  KPM_MenuItemHFrame = 0x00000008,
275  KPM_MenuItemVFrame = 0x00000010,
276  KPM_MenuItemCheckMarkHMargin = 0x00000020,
277  KPM_MenuItemArrowHMargin = 0x00000040,
278  KPM_MenuItemTabSpacing = 0x00000080,
279  KPM_ListViewBranchThickness = 0x00000100
280  };
281 
282  int kPixelMetric( TDEStylePixelMetric kpm, const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, const TQWidget* widget = 0 ) const;
283 
284  // ---------------------------------------------------------------------------
285 
286  void polish( const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, void * );
287  void unPolish( const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, void * );
288  void polishPopupMenu( const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, void *ptr );
289 
290  void drawPrimitive( PrimitiveElement pe,
291  TQPainter* p,
292  const TQStyleControlElementData &ceData,
293  ControlElementFlags elementFlags,
294  const TQRect &r,
295  const TQColorGroup &cg,
296  SFlags flags = Style_Default,
297  const TQStyleOption& = TQStyleOption::Default ) const;
298 
299  void drawControl( ControlElement element,
300  TQPainter* p,
301  const TQStyleControlElementData &ceData,
302  ControlElementFlags elementFlags,
303  const TQRect &r,
304  const TQColorGroup &cg,
305  SFlags flags = Style_Default,
306  const TQStyleOption& = TQStyleOption::Default,
307  const TQWidget* widget = 0 ) const;
308 
309  void drawComplexControl( ComplexControl control,
310  TQPainter *p,
311  const TQStyleControlElementData &ceData,
312  ControlElementFlags elementFlags,
313  const TQRect &r,
314  const TQColorGroup &cg,
315  SFlags flags = Style_Default,
316  SCFlags controls = SC_All,
317  SCFlags active = SC_None,
318  const TQStyleOption& = TQStyleOption::Default,
319  const TQWidget* widget = 0 ) const;
320 
321  SubControl querySubControl( ComplexControl control,
322  const TQStyleControlElementData &ceData,
323  ControlElementFlags elementFlags,
324  const TQPoint &pos,
325  const TQStyleOption& = TQStyleOption::Default,
326  const TQWidget* widget = 0 ) const;
327 
328  TQRect querySubControlMetrics( ComplexControl control,
329  const TQStyleControlElementData &ceData,
330  ControlElementFlags elementFlags,
331  SubControl sc,
332  const TQStyleOption& = TQStyleOption::Default,
333  const TQWidget* widget = 0 ) const;
334 
335  int pixelMetric( PixelMetric m, const TQStyleControlElementData &ceData, ControlElementFlags elementFlags,
336  const TQWidget* widget = 0 ) const;
337 
338  TQRect subRect( SubRect r, const TQStyleControlElementData &ceData, const ControlElementFlags elementFlags,
339  const TQWidget* widget = 0 ) const;
340 
341  TQPixmap stylePixmap( StylePixmap stylepixmap,
342  const TQStyleControlElementData &ceData,
343  ControlElementFlags elementFlags,
344  const TQStyleOption& = TQStyleOption::Default,
345  const TQWidget* widget = 0 ) const;
346 
347  int styleHint( StyleHint sh, const TQStyleControlElementData &ceData,
348  ControlElementFlags elementFlags,
349  const TQStyleOption &opt = TQStyleOption::Default,
350  TQStyleHintReturn* shr = 0,
351  const TQWidget* w = 0 ) const;
352 
353  protected:
354  virtual bool objectEventHandler( const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, void* source, TQEvent *e );
355 
356  private:
357  // Disable copy constructor and = operator
358  TDEStyle( const TDEStyle & );
359  TDEStyle& operator=( const TDEStyle & );
360 
361  protected:
362  virtual void virtual_hook( int id, void* data );
363  private:
364  TDEStylePrivate *d;
365 };
366 #endif
367 
KPixmap
Off-screen paint device with extended features.
Definition: kpixmap.h:58
TDEStyle
Simplifies and extends the TQStyle API to make style coding easier.
Definition: tdestyle.h:58
TDEStyle::TDEStyleScrollBarType
TDEStyleScrollBarType
TDEStyle ScrollBarType:
Definition: tdestyle.h:110
TDEStyle::WindowsStyleScrollBar
@ WindowsStyleScrollBar
two button, windows style
Definition: tdestyle.h:111
TDEStyle::TDEStyleOption
TDEStyleOption
Definition: tdestyle.h:81
TDEStyle::Default
@ Default
All options disabled.
Definition: tdestyle.h:82
TDEStyle::TDEStyleFlags
uint TDEStyleFlags
TDEStyle Flags:
Definition: tdestyle.h:80
TDEStyle::TDEStylePrimitive
TDEStylePrimitive
TDEStyle Primitive Elements:
Definition: tdestyle.h:228

tdefx

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

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.9.1
This website is maintained by Timothy Pearson.