• 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  Q_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::SO_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::SO_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( TQ_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::SO_Default ) const;
298 
299 // #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
300 
301 // void drawPrimitive( TQ_ControlElement pe,
302 // TQPainter* p,
303 // const TQStyleControlElementData &ceData,
304 // ControlElementFlags elementFlags,
305 // const TQRect &r,
306 // const TQColorGroup &cg,
307 // SFlags flags = Style_Default,
308 // const TQStyleOption& = TQStyleOption::SO_Default ) const;
309 
310 // #endif // USE_QT4
311 
312  void drawControl( TQ_ControlElement element,
313  TQPainter* p,
314  const TQStyleControlElementData &ceData,
315  ControlElementFlags elementFlags,
316  const TQRect &r,
317  const TQColorGroup &cg,
318  SFlags flags = Style_Default,
319  const TQStyleOption& = TQStyleOption::SO_Default,
320  const TQWidget* widget = 0 ) const;
321 
322  void drawComplexControl( TQ_ComplexControl control,
323  TQPainter *p,
324  const TQStyleControlElementData &ceData,
325  ControlElementFlags elementFlags,
326  const TQRect &r,
327  const TQColorGroup &cg,
328  SFlags flags = Style_Default,
329  SCFlags controls = SC_All,
330  SCFlags active = SC_None,
331  const TQStyleOption& = TQStyleOption::SO_Default,
332  const TQWidget* widget = 0 ) const;
333 
334  SubControl querySubControl( TQ_ComplexControl control,
335  const TQStyleControlElementData &ceData,
336  ControlElementFlags elementFlags,
337  const TQPoint &pos,
338  const TQStyleOption& = TQStyleOption::SO_Default,
339  const TQWidget* widget = 0 ) const;
340 
341  TQRect querySubControlMetrics( TQ_ComplexControl control,
342  const TQStyleControlElementData &ceData,
343  ControlElementFlags elementFlags,
344  SubControl sc,
345  const TQStyleOption& = TQStyleOption::SO_Default,
346  const TQWidget* widget = 0 ) const;
347 
348  int pixelMetric( PixelMetric m, const TQStyleControlElementData &ceData, ControlElementFlags elementFlags,
349  const TQWidget* widget = 0 ) const;
350 
351  TQRect subRect( SubRect r, const TQStyleControlElementData &ceData, const ControlElementFlags elementFlags,
352  const TQWidget* widget = 0 ) const;
353 
354  TQPixmap stylePixmap( StylePixmap stylepixmap,
355  const TQStyleControlElementData &ceData,
356  ControlElementFlags elementFlags,
357  const TQStyleOption& = TQStyleOption::SO_Default,
358  const TQWidget* widget = 0 ) const;
359 
360  int styleHint( TQ_StyleHint sh, const TQStyleControlElementData &ceData,
361  ControlElementFlags elementFlags,
362  const TQStyleOption &opt = TQStyleOption::SO_Default,
363  TQStyleHintReturn* shr = 0,
364  const TQWidget* w = 0 ) const;
365 
366  protected:
367  virtual bool objectEventHandler( const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, void* source, TQEvent *e );
368 
369  private:
370  // Disable copy constructor and = operator
371  TDEStyle( const TDEStyle & );
372  TDEStyle& operator=( const TDEStyle & );
373 
374  protected:
375  virtual void virtual_hook( int id, void* data );
376  private:
377  TDEStylePrivate *d;
378 };
379 #endif
380 
TDEStyle::WindowsStyleScrollBar
two button, windows style
Definition: tdestyle.h:111
KPixmap
Off-screen paint device with extended features.
Definition: kpixmap.h:57
TDEStyle::TDEStylePrimitive
TDEStylePrimitive
TDEStyle Primitive Elements:
Definition: tdestyle.h:228
TDEStyle::TDEStyleOption
TDEStyleOption
Definition: tdestyle.h:81
TDEStyle
Simplifies and extends the TQStyle API to make style coding easier.
Definition: tdestyle.h:57
TDEStyle::TDEStyleFlags
uint TDEStyleFlags
TDEStyle Flags:
Definition: tdestyle.h:80
TDEStyle::Default
All options disabled.
Definition: tdestyle.h:82
TDEStyle::TDEStyleScrollBarType
TDEStyleScrollBarType
TDEStyle ScrollBarType:
Definition: tdestyle.h:110

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
  •     tdecore
  • tdeabc
  • tdecmshell
  • tdecore
  • tdefx
  • tdehtml
  • tdeinit
  • tdeio
  •   bookmarks
  •   httpfilter
  •   kpasswdserver
  •   kssl
  • tdeioslave
  •   http
  •   tdefile
  •   tdeio
  •   tdeioexec
  • tdemdi
  •   tdemdi
  • tdenewstuff
  • tdeparts
  • tdeprint
  • tderandr
  • tderesources
  • tdespell2
  • tdesu
  • tdeui
  • tdeunittest
  • tdeutils
  • tdewallet
Generated for tdefx by doxygen 1.8.8
This website is maintained by Timothy Pearson.