diff options
Diffstat (limited to 'style/qtc_kstyle.h')
-rw-r--r-- | style/qtc_kstyle.h | 339 |
1 files changed, 0 insertions, 339 deletions
diff --git a/style/qtc_kstyle.h b/style/qtc_kstyle.h deleted file mode 100644 index 28fa024..0000000 --- a/style/qtc_kstyle.h +++ /dev/null @@ -1,339 +0,0 @@ -/* - * $Id$ - * - * TDEStyle - * Copyright (C) 2001-2002 Karol Szwed <[email protected]> - * - * TQWindowsStyle CC_ListView and style images were kindly donated by TrollTech, - * Copyright (C) 1998-2000 TrollTech AS. - * - * Many thanks to Bradley T. Hughes for the 3 button scrollbar code. - * - * 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 __TQTC_KSTYLE_H -#define __TQTC_KSTYLE_H - -// W A R N I N G -// ------------- -// This API is still subject to change. -// I will remove this warning when I feel the API is sufficiently flexible. - -#include <tqcommonstyle.h> - -struct TQtCTDEStylePrivate; -/** - * Simplifies and extends the TQStyle API to make style coding easier. - * - * The TDEStyle class provides a simple internal menu transparency engine - * which attempts to use XRender for accelerated blending where requested, - * or falls back to fast internal software tinting/blending routines. - * It also simplifies more complex portions of the TQStyle API, such as - * the PopupMenuItems, ScrollBars and Sliders by providing extra "primitive - * elements" which are simple to implement by the style writer. - * - * @see TQStyle::TQStyle - * @see TQCommonStyle::TQCommonStyle - * @author Karol Szwed ([email protected]) - * @version $Id$ - */ -class TQtCTDEStyle: public TQCommonStyle -{ - Q_OBJECT - - - public: - - /** - * TQtCTDEStyle Flags: - * - * @li Default - Default style setting, where menu transparency - * and the FilledFrameWorkaround are disabled. - * - * @li AllowMenuTransparency - Enable this flag to use TQtCTDEStyle's - * internal menu transparency engine. - * - * @li FilledFrameWorkaround - Enable this flag to facilitate - * proper repaints of TQMenuBars and TQToolBars when the style chooses - * to paint the interior of a TQFrame. The style primitives in question - * are PE_PanelMenuBar and PE_PanelDockWindow. The HighColor style uses - * this workaround to enable painting of gradients in menubars and - * toolbars. - */ - typedef uint TDEStyleFlags; - enum TDEStyleOption { - Default = 0x00000000, //!< All options disabled - AllowMenuTransparency = 0x00000001, //!< Internal transparency enabled - FilledFrameWorkaround = 0x00000002 //!< Filled frames enabled - }; - - /** - * TDEStyle ScrollBarType: - * - * Allows the style writer to easily select what type of scrollbar - * should be used without having to duplicate large amounts of source - * code by implementing the complex control CC_ScrollBar. - * - * @li WindowsStyleScrollBar - Two button scrollbar with the previous - * button at the top/left, and the next button at the bottom/right. - * - * @li PlatinumStyleScrollBar - Two button scrollbar with both the - * previous and next buttons at the bottom/right. - * - * @li ThreeButtonScrollBar - %KDE style three button scrollbar with - * two previous buttons, and one next button. The next button is always - * at the bottom/right, whilst the two previous buttons are on either - * end of the scrollbar. - * - * @li NextStyleScrollBar - Similar to the PlatinumStyle scroll bar, but - * with the buttons grouped on the opposite end of the scrollbar. - * - * @see TDEStyle::TDEStyle() - */ - enum TDEStyleScrollBarType { - WindowsStyleScrollBar = 0x00000000, //!< two button, windows style - PlatinumStyleScrollBar = 0x00000001, //!< two button, platinum style - ThreeButtonScrollBar = 0x00000002, //!< three buttons, %KDE style - NextStyleScrollBar = 0x00000004 //!< two button, NeXT style - }; - - /** - * Constructs a TDEStyle object. - * - * Select the appropriate TDEStyle flags and scrollbar type - * for your style. The user's style preferences selected in KControl - * are read by using TQSettings and are automatically applied to the style. - * As a fallback, TDEStyle paints progressbars and tabbars. It inherits from - * TQCommonStyle for speed, so don't expect much to be implemented. - * - * It is advisable to use a currently implemented style such as the HighColor - * style as a foundation for any new TDEStyle, so the limited number of - * drawing fallbacks should not prove problematic. - * - * @param flags the style to be applied - * @param sbtype the scroll bar type - * @see TDEStyle::TDEStyleFlags - * @see TDEStyle::TDEStyleScrollBarType - * @author Karol Szwed ([email protected]) - */ - TQtCTDEStyle( TDEStyleFlags flags = TQtCTDEStyle::Default, - TDEStyleScrollBarType sbtype = TQtCTDEStyle::WindowsStyleScrollBar ); - - /** - * Destructs the TQtCTDEStyle object. - */ - ~TQtCTDEStyle(); - - /** - * Returns the default widget style depending on color depth. - */ - static TQString defaultStyle(); - - /** - * Modifies the scrollbar type used by the style. - * - * This function is only provided for convenience. It allows - * you to make a late decision about what scrollbar type to use for the - * style after performing some processing in your style's constructor. - * In most situations however, setting the scrollbar type via the TQtCTDEStyle - * constructor should suffice. - * @param sbtype the scroll bar type - * @see TQtCTDEStyle::TDEStyleScrollBarType - */ - void setScrollBarType(TDEStyleScrollBarType sbtype); - - /** - * Returns the TDEStyle flags used to initialize the style. - * - * This is used solely for the kcmstyle module, and hence is internal. - */ - TDEStyleFlags styleFlags() const; - - /** - * TDEStyle Primitive Elements: - * - * The TDEStyle class extends the TQt's Style API by providing certain - * simplifications for parts of TQStyle. To do this, the TDEStylePrimitive - * elements were defined, which are very similar to TQt's PrimitiveElement. - * - * The first three Handle primitives simplify and extend PE_DockWindowHandle, - * so do not reimplement PE_DockWindowHandle if you want the TDEStyle handle - * simplifications to be operable. Similarly do not reimplement CC_Slider, - * SC_SliderGroove and SC_SliderHandle when using the TDEStyle slider - * primitives. TDEStyle automatically double-buffers slider painting - * when they are drawn via these TDEStyle primitives to avoid flicker. - * - * @li KPE_DockWindowHandle - This primitive is already implemented in TDEStyle, - * and paints a bevelled rect with the DockWindow caption text. Re-implement - * this primitive to perform other more fancy effects when drawing the dock window - * handle. - * - * @li KPE_ToolBarHandle - This primitive must be reimplemented. It currently - * only paints a filled rectangle as default behavior. This primitive is used - * to render TQToolBar handles. - * - * @li KPE_GeneralHandle - This primitive must be reimplemented. It is used - * to render general handles that are not part of a TQToolBar or TQDockWindow, such - * as the applet handles used in Kicker. The default implementation paints a filled - * rect of arbitrary color. - * - * @li KPE_SliderGroove - This primitive must be reimplemented. It is used to - * paint the slider groove. The default implementation paints a filled rect of - * arbitrary color. - * - * @li KPE_SliderHandle - This primitive must be reimplemented. It is used to - * paint the slider handle. The default implementation paints a filled rect of - * arbitrary color. - * - * @li KPE_ListViewExpander - This primitive is already implemented in TDEStyle. It - * is used to draw the Expand/Collapse element in TQListViews. To indicate the - * expanded state, the style flags are set to Style_Off, while Style_On implies collapsed. - * - * @li KPE_ListViewBranch - This primitive is already implemented in TDEStyle. It is - * used to draw the ListView branches where necessary. - */ - enum TDEStylePrimitive { - KPE_DockWindowHandle, - KPE_ToolBarHandle, - KPE_GeneralHandle, - - KPE_SliderGroove, - KPE_SliderHandle, - - KPE_ListViewExpander, - KPE_ListViewBranch - }; - - /** - * This function is identical to TQt's TQStyle::drawPrimitive(), except that - * it adds one further parameter, 'widget', that can be used to determine - * the widget state of the TDEStylePrimitive in question. - * - * @see TDEStyle::TDEStylePrimitive - * @see TQStyle::drawPrimitive - * @see TQStyle::drawComplexControl - */ - virtual void drawTDEStylePrimitive( TDEStylePrimitive kpe, - TQPainter* p, - TQStyleControlElementData ceData, - ControlElementFlags elementFlags, - const TQRect &r, - const TQColorGroup &cg, - SFlags flags = Style_Default, - const TQStyleOption& = TQStyleOption::Default, - const TQWidget* widget = 0 ) const; - - - enum TDEStylePixelMetric { - KPM_MenuItemSeparatorHeight = 0x00000001, - KPM_MenuItemHMargin = 0x00000002, - KPM_MenuItemVMargin = 0x00000004, - KPM_MenuItemHFrame = 0x00000008, - KPM_MenuItemVFrame = 0x00000010, - KPM_MenuItemCheckMarkHMargin = 0x00000020, - KPM_MenuItemArrowHMargin = 0x00000040, - KPM_MenuItemTabSpacing = 0x00000080, - KPM_ListViewBranchThickness = 0x00000100 - }; - - int kPixelMetric( TDEStylePixelMetric kpm, TQStyleControlElementData ceData, ControlElementFlags elementFlags, const TQWidget* widget = 0 ) const; - - // --------------------------------------------------------------------------- - - void polish( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void * ); - void unPolish( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void * ); - void polishPopupMenu( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void *ptr ); - - void drawPrimitive( PrimitiveElement pe, - TQPainter* p, - TQStyleControlElementData ceData, - ControlElementFlags elementFlags, - const TQRect &r, - const TQColorGroup &cg, - SFlags flags = Style_Default, - const TQStyleOption& = TQStyleOption::Default ) const; - - void drawControl( ControlElement element, - TQPainter* p, - TQStyleControlElementData ceData, - ControlElementFlags elementFlags, - const TQRect &r, - const TQColorGroup &cg, - SFlags flags = Style_Default, - const TQStyleOption& = TQStyleOption::Default, - const TQWidget* widget = 0 ) const; - - void drawComplexControl( ComplexControl control, - TQPainter *p, - TQStyleControlElementData ceData, - ControlElementFlags elementFlags, - const TQRect &r, - const TQColorGroup &cg, - SFlags flags = Style_Default, - SCFlags controls = SC_All, - SCFlags active = SC_None, - const TQStyleOption& = TQStyleOption::Default, - const TQWidget* widget = 0 ) const; - - SubControl querySubControl( ComplexControl control, - TQStyleControlElementData ceData, - ControlElementFlags elementFlags, - const TQPoint &pos, - const TQStyleOption& = TQStyleOption::Default, - const TQWidget* widget = 0 ) const; - - TQRect querySubControlMetrics( ComplexControl control, - TQStyleControlElementData ceData, - ControlElementFlags elementFlags, - SubControl sc, - const TQStyleOption& = TQStyleOption::Default, - const TQWidget* widget = 0 ) const; - - int pixelMetric( PixelMetric m, TQStyleControlElementData ceData, ControlElementFlags elementFlags, - const TQWidget* widget = 0 ) const; - - TQRect subRect( SubRect r, const TQStyleControlElementData ceData, const ControlElementFlags elementFlags, - const TQWidget* widget = 0 ) const; - - TQPixmap stylePixmap( StylePixmap stylepixmap, - TQStyleControlElementData ceData, - ControlElementFlags elementFlags, - const TQStyleOption& = TQStyleOption::Default, - const TQWidget* widget = 0 ) const; - - int styleHint( StyleHint sh, TQStyleControlElementData ceData, ControlElementFlags elementFlags, - const TQStyleOption &opt = TQStyleOption::Default, - TQStyleHintReturn* shr = 0, - const TQWidget* w = 0 ) const; - - protected: - virtual bool objectEventHandler( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void* source, TQEvent *e ); - - private: - // Disable copy constructor and = operator - TQtCTDEStyle( const TQtCTDEStyle & ); - TQtCTDEStyle& operator=( const TQtCTDEStyle & ); - - protected: - virtual void virtual_hook( int id, void* data ); - private: - TQtCTDEStylePrivate *d; -}; - - -// vim: set noet ts=4 sw=4: -#endif - |