• 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
39class KPixmap;
40
41struct TDEStylePrivate;
57class 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.4
This website is maintained by Timothy Pearson.