summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--examples/themes/metal.cpp228
-rw-r--r--examples/themes/metal.h24
-rw-r--r--examples/themes/wood.cpp364
-rw-r--r--examples/themes/wood.h44
4 files changed, 362 insertions, 298 deletions
diff --git a/examples/themes/metal.cpp b/examples/themes/metal.cpp
index 93522f194..a84547518 100644
--- a/examples/themes/metal.cpp
+++ b/examples/themes/metal.cpp
@@ -41,113 +41,129 @@ MetalStyle::MetalStyle() : TQWindowsStyle() { }
/*!
Reimplementation from TQStyle
*/
-void MetalStyle::polish( TQApplication *app)
+void MetalStyle::applicationPolish( TQStyleControlElementData ceData, ControlElementFlags, void *ptr )
{
- oldPalette = app->palette();
-
- // we simply create a nice TQColorGroup with a couple of fancy
- // pixmaps here and apply to it all widgets
-
- TQFont f("times", app->font().pointSize() );
- f.setBold( TRUE );
- f.setItalic( TRUE );
- app->setFont( f, TRUE, "TQMenuBar");
- app->setFont( f, TRUE, "TQPopupMenu");
-
-
-
- // TQPixmap button( stonedark_xpm );
-
- TQColor gold("#B9B9A5A54040"); //same as topgrad below
- TQPixmap button( 1, 1 ); button.fill( gold );
-
- TQPixmap background(marble_xpm);
- TQPixmap dark( 1, 1 ); dark.fill( red.dark() );
- TQPixmap mid( stone1_xpm );
- TQPixmap light( stone1_xpm );//1, 1 ); light.fill( green );
-
- TQPalette op = app->palette();
-
- TQColor backCol( 227,227,227 );
-
- // TQPalette op(white);
- TQColorGroup active (op.active().foreground(),
- TQBrush(op.active().button(),button),
- TQBrush(op.active().light(), light),
- TQBrush(op.active().dark(), dark),
- TQBrush(op.active().mid(), mid),
- op.active().text(),
- TQt::white,
- op.active().base(),// TQColor(236,182,120),
- TQBrush(backCol, background)
- );
- active.setColor( TQColorGroup::ButtonText, TQt::white );
- active.setColor( TQColorGroup::Shadow, TQt::black );
- TQColorGroup disabled (op.disabled().foreground(),
- TQBrush(op.disabled().button(),button),
- TQBrush(op.disabled().light(), light),
- op.disabled().dark(),
- TQBrush(op.disabled().mid(), mid),
- op.disabled().text(),
- TQt::white,
- op.disabled().base(),// TQColor(236,182,120),
- TQBrush(backCol, background)
- );
-
- TQPalette newPalette( active, disabled, active );
- app->setPalette( newPalette, TRUE );
+ if (ceData.widgetObjectTypes.contains("TQApplication")) {
+ TQApplication *app = reinterpret_cast<TQApplication*>(ptr);
+
+ oldPalette = app->palette();
+
+ // we simply create a nice TQColorGroup with a couple of fancy
+ // pixmaps here and apply to it all widgets
+
+ TQFont f("times", app->font().pointSize() );
+ f.setBold( TRUE );
+ f.setItalic( TRUE );
+ app->setFont( f, TRUE, "TQMenuBar");
+ app->setFont( f, TRUE, "TQPopupMenu");
+
+
+
+ // TQPixmap button( stonedark_xpm );
+
+ TQColor gold("#B9B9A5A54040"); //same as topgrad below
+ TQPixmap button( 1, 1 ); button.fill( gold );
+
+ TQPixmap background(marble_xpm);
+ TQPixmap dark( 1, 1 ); dark.fill( red.dark() );
+ TQPixmap mid( stone1_xpm );
+ TQPixmap light( stone1_xpm );//1, 1 ); light.fill( green );
+
+ TQPalette op = app->palette();
+
+ TQColor backCol( 227,227,227 );
+
+ // TQPalette op(white);
+ TQColorGroup active (op.active().foreground(),
+ TQBrush(op.active().button(),button),
+ TQBrush(op.active().light(), light),
+ TQBrush(op.active().dark(), dark),
+ TQBrush(op.active().mid(), mid),
+ op.active().text(),
+ TQt::white,
+ op.active().base(),// TQColor(236,182,120),
+ TQBrush(backCol, background)
+ );
+ active.setColor( TQColorGroup::ButtonText, TQt::white );
+ active.setColor( TQColorGroup::Shadow, TQt::black );
+ TQColorGroup disabled (op.disabled().foreground(),
+ TQBrush(op.disabled().button(),button),
+ TQBrush(op.disabled().light(), light),
+ op.disabled().dark(),
+ TQBrush(op.disabled().mid(), mid),
+ op.disabled().text(),
+ TQt::white,
+ op.disabled().base(),// TQColor(236,182,120),
+ TQBrush(backCol, background)
+ );
+
+ TQPalette newPalette( active, disabled, active );
+ app->setPalette( newPalette, TRUE );
+ }
}
/*!
Reimplementation from TQStyle
*/
-void MetalStyle::unPolish( TQApplication *app)
+void MetalStyle::applicationUnPolish( TQStyleControlElementData ceData, ControlElementFlags, void *ptr )
{
- app->setPalette(oldPalette, TRUE);
- app->setFont( app->font(), TRUE );
+ if (ceData.widgetObjectTypes.contains("TQApplication")) {
+ TQApplication *app = reinterpret_cast<TQApplication*>(ptr);
+
+ app->setPalette(oldPalette, TRUE);
+ app->setFont( app->font(), TRUE );
+ }
}
/*!
Reimplementation from TQStyle
*/
-void MetalStyle::polish( TQWidget* w)
+void MetalStyle::polish( TQStyleControlElementData ceData, ControlElementFlags, void *ptr )
{
+ if (ceData.widgetObjectTypes.contains("TQWidget")) {
+ TQWidget *w = reinterpret_cast<TQWidget*>(ptr);
- // the polish function sets some widgets to transparent mode and
- // some to translate background mode in order to get the full
- // benefit from the nice pixmaps in the color group.
-
- if (w->inherits("TQPushButton")){
- w->setBackgroundMode( TQWidget::NoBackground );
- return;
- }
-
- if ( !w->isTopLevel() ) {
- if ( w->backgroundPixmap() )
- w->setBackgroundOrigin( TQWidget::WindowOrigin );
- }
+ // the polish function sets some widgets to transparent mode and
+ // some to translate background mode in order to get the full
+ // benefit from the nice pixmaps in the color group.
+
+ if (w->inherits("TQPushButton")){
+ w->setBackgroundMode( TQWidget::NoBackground );
+ return;
+ }
+
+ if ( !w->isTopLevel() ) {
+ if ( w->backgroundPixmap() ) {
+ w->setBackgroundOrigin( TQWidget::WindowOrigin );
+ }
+ }
+ }
}
-void MetalStyle::unPolish( TQWidget* w)
+void MetalStyle::unPolish( TQStyleControlElementData ceData, ControlElementFlags, void *ptr )
{
+ if (ceData.widgetObjectTypes.contains("TQWidget")) {
+ TQWidget *w = reinterpret_cast<TQWidget*>(ptr);
- // the polish function sets some widgets to transparent mode and
- // some to translate background mode in order to get the full
- // benefit from the nice pixmaps in the color group.
-
- if (w->inherits("TQPushButton")){
- w->setBackgroundMode( TQWidget::PaletteButton );
- return;
- }
- if ( !w->isTopLevel() ) {
- if ( w->backgroundPixmap() )
- w->setBackgroundOrigin( TQWidget::WidgetOrigin );
- }
-
+ // the polish function sets some widgets to transparent mode and
+ // some to translate background mode in order to get the full
+ // benefit from the nice pixmaps in the color group.
+
+ if (w->inherits("TQPushButton")){
+ w->setBackgroundMode( TQWidget::PaletteButton );
+ return;
+ }
+ if ( !w->isTopLevel() ) {
+ if ( w->backgroundPixmap() )
+ w->setBackgroundOrigin( TQWidget::WidgetOrigin );
+ }
+ }
}
void MetalStyle::drawPrimitive( PrimitiveElement pe,
TQPainter *p,
+ TQStyleControlElementData ceData,
+ ControlElementFlags elementFlags,
const TQRect &r,
const TQColorGroup &cg,
SFlags flags, const TQStyleOption& opt ) const
@@ -170,13 +186,13 @@ void MetalStyle::drawPrimitive( PrimitiveElement pe,
drawMetalButton( p, r.x(), r.y(), r.width(), r.height(),
flags & Style_Down, !( flags & Style_Horizontal ) );
drawPrimitive( (flags & Style_Horizontal) ? PE_ArrowRight :PE_ArrowDown,
- p, r, cg, flags, opt );
+ p, ceData, elementFlags, r, cg, flags, opt );
break;
case PE_ScrollBarSubLine:
drawMetalButton( p, r.x(), r.y(), r.width(), r.height(),
flags & Style_Down, !( flags & Style_Horizontal ) );
drawPrimitive( (flags & Style_Horizontal) ? PE_ArrowLeft : PE_ArrowUp,
- p, r, cg, flags, opt );
+ p, ceData, elementFlags, r, cg, flags, opt );
break;
@@ -185,18 +201,20 @@ void MetalStyle::drawPrimitive( PrimitiveElement pe,
flags & Style_Horizontal );
break;
default:
- TQWindowsStyle::drawPrimitive( pe, p, r, cg, flags, opt );
+ TQWindowsStyle::drawPrimitive( pe, p, ceData, elementFlags, r, cg, flags, opt );
break;
}
}
void MetalStyle::drawControl( ControlElement element,
TQPainter *p,
- const TQWidget *widget,
+ TQStyleControlElementData ceData,
+ ControlElementFlags elementFlags,
const TQRect &r,
const TQColorGroup &cg,
SFlags how,
- const TQStyleOption& opt ) const
+ const TQStyleOption& opt,
+ const TQWidget *widget ) const
{
switch( element ) {
case CE_PushButton:
@@ -238,7 +256,7 @@ void MetalStyle::drawControl( ControlElement element,
flags |= Style_Down;
if ( !btn->isFlat() && !btn->isDown() )
flags |= Style_Raised;
- drawPrimitive( PE_ButtonCommand, p,
+ drawPrimitive( PE_ButtonCommand, p, ceData, elementFlags,
TQRect( x1, y1, x2 - x1 + 1, y2 - y1 + 1),
cg, flags, opt );
@@ -248,7 +266,7 @@ void MetalStyle::drawControl( ControlElement element,
flags |= Style_Enabled;
int dx = ( y1 - y2 - 4 ) / 3;
- drawPrimitive( PE_ArrowDown, p,
+ drawPrimitive( PE_ArrowDown, p, ceData, elementFlags,
TQRect(x2 - dx, dx, y1, y2 - y1),
cg, flags, opt );
}
@@ -289,29 +307,31 @@ void MetalStyle::drawControl( ControlElement element,
break;
}
default:
- TQWindowsStyle::drawControl( element, p, widget, r, cg, how, opt );
+ TQWindowsStyle::drawControl( element, p, ceData, elementFlags, r, cg, how, opt, widget );
break;
}
}
void MetalStyle::drawComplexControl( ComplexControl cc,
TQPainter *p,
- const TQWidget *widget,
+ TQStyleControlElementData ceData,
+ ControlElementFlags elementFlags,
const TQRect &r,
const TQColorGroup &cg,
SFlags how,
SCFlags sub,
SCFlags subActive,
- const TQStyleOption& opt ) const
+ const TQStyleOption& opt,
+ const TQWidget *widget ) const
{
switch ( cc ) {
case CC_Slider:
{
const TQSlider *slider = ( const TQSlider* ) widget;
- TQRect handle = querySubControlMetrics( CC_Slider, widget,
- SC_SliderHandle, opt);
+ TQRect handle = querySubControlMetrics( CC_Slider, ceData, elementFlags,
+ SC_SliderHandle, opt, widget);
if ( sub & SC_SliderGroove )
- TQWindowsStyle::drawComplexControl( cc, p, widget, r, cg, how,
- SC_SliderGroove, subActive, opt );
+ TQWindowsStyle::drawComplexControl( cc, p, ceData, elementFlags, r, cg, how,
+ SC_SliderGroove, subActive, opt, widget );
if ( (sub & SC_SliderHandle) && handle.isValid() )
drawMetalButton( p, handle.x(), handle.y(), handle.width(),
handle.height(), FALSE,
@@ -328,7 +348,7 @@ void MetalStyle::drawComplexControl( ComplexControl cc,
&cg.brush( TQColorGroup::Background ) );
drawMetalButton( p, r.x() + r.width() - 2 - 16, r.y() + 2, 16, r.height() - 4,
how & Style_Sunken, TRUE );
- drawPrimitive( PE_ArrowDown, p,
+ drawPrimitive( PE_ArrowDown, p, ceData, elementFlags,
TQRect( r.x() + r.width() - 2 - 16 + 2,
r.y() + 2 + 2, 16 - 4, r.height() - 4 -4 ),
cg,
@@ -337,8 +357,8 @@ void MetalStyle::drawComplexControl( ComplexControl cc,
break;
}
default:
- TQWindowsStyle::drawComplexControl( cc, p, widget, r, cg, how, sub, subActive,
- opt );
+ TQWindowsStyle::drawComplexControl( cc, p, ceData, elementFlags, r, cg, how, sub, subActive,
+ opt, widget );
break;
}
}
@@ -473,13 +493,13 @@ void MetalStyle::drawMetalGradient( TQPainter *p, int x, int y, int w, int h,
-int MetalStyle::pixelMetric( PixelMetric metric, const TQWidget *w ) const
+int MetalStyle::pixelMetric( PixelMetric metric, TQStyleControlElementData ceData, ControlElementFlags elementFlags, const TQWidget *w ) const
{
switch ( metric ) {
case PM_MenuBarFrameWidth:
return 2;
default:
- return TQWindowsStyle::pixelMetric( metric, w );
+ return TQWindowsStyle::pixelMetric( metric, ceData, elementFlags, w );
}
}
diff --git a/examples/themes/metal.h b/examples/themes/metal.h
index ac6fe84f6..d90cb36db 100644
--- a/examples/themes/metal.h
+++ b/examples/themes/metal.h
@@ -26,13 +26,15 @@ class MetalStyle : public TQWindowsStyle
{
public:
MetalStyle();
- void polish( TQApplication*);
- void unPolish( TQApplication*);
- void polish( TQWidget* );
- void unPolish( TQWidget* );
+ void applicationPolish( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void * );
+ void applicationUnPolish( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void * );
+ void polish( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void * );
+ void unPolish( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void * );
void drawPrimitive( PrimitiveElement pe,
TQPainter *p,
+ TQStyleControlElementData ceData,
+ ControlElementFlags elementFlags,
const TQRect &r,
const TQColorGroup &cg,
SFlags flags = Style_Default,
@@ -40,22 +42,26 @@ public:
void drawControl( ControlElement element,
TQPainter *p,
- const TQWidget *widget,
+ TQStyleControlElementData ceData,
+ ControlElementFlags elementFlags,
const TQRect &r,
const TQColorGroup &cg,
SFlags how = Style_Default,
- const TQStyleOption& = TQStyleOption::Default ) const;
+ const TQStyleOption& = TQStyleOption::Default,
+ const TQWidget *widget = 0 ) const;
void drawComplexControl( ComplexControl cc,
TQPainter *p,
- const TQWidget *widget,
+ TQStyleControlElementData ceData,
+ ControlElementFlags elementFlags,
const TQRect &r,
const TQColorGroup &cg,
SFlags how = Style_Default,
SCFlags sub = SC_All,
SCFlags subActive = SC_None,
- const TQStyleOption& = TQStyleOption::Default ) const;
- int pixelMetric( PixelMetric, const TQWidget * ) const;
+ const TQStyleOption& = TQStyleOption::Default,
+ const TQWidget *widget = 0 ) const;
+ int pixelMetric( PixelMetric, TQStyleControlElementData ceData, ControlElementFlags elementFlags, const TQWidget * = 0 ) const;
private:
diff --git a/examples/themes/wood.cpp b/examples/themes/wood.cpp
index 8b2830b32..55e888249 100644
--- a/examples/themes/wood.cpp
+++ b/examples/themes/wood.cpp
@@ -769,156 +769,171 @@ NorwegianWoodStyle::NorwegianWoodStyle() : TQWindowsStyle()
/*!
Reimplementation from TQStyle
*/
-void NorwegianWoodStyle::polish( TQApplication *app)
+void NorwegianWoodStyle::applicationPolish( TQStyleControlElementData ceData, ControlElementFlags, void *ptr )
{
+ if (ceData.widgetObjectTypes.contains("TQApplication")) {
+ TQApplication *app = reinterpret_cast<TQApplication*>(ptr);
- oldPalette = app->palette();
-
- // we simply create a nice TQColorGroup with a couple of fancy wood
- // pixmaps here and apply to it all widgets
-
- TQImage img(button_xpm);
- TQImage orig = img;
- orig.detach();
- TQPixmap button;
- button.convertFromImage(img);
-
-
- int i;
- for (i=0; i<img.numColors(); i++) {
- TQRgb rgb = img.color(i);
- TQColor c(rgb);
- rgb = c.dark(120).rgb();
- img.setColor(i,rgb);
- }
- TQPixmap mid;
- mid.convertFromImage(img);
-
- img = orig;
- img.detach();
- for (i=0; i<img.numColors(); i++) {
- TQRgb rgb = img.color(i);
- TQColor c(rgb);
- rgb = c.light().rgb();
- img.setColor(i,rgb);
- }
- TQPixmap light;
- light.convertFromImage(img);
-
- img = orig;
- img.detach();
- for (i=0; i<img.numColors(); i++) {
- TQRgb rgb = img.color(i);
- TQColor c(rgb);
- rgb = c.dark(180).rgb();
- img.setColor(i,rgb);
- }
- TQPixmap dark;
- dark.convertFromImage(img);
-
-
- TQImage bgimage(polish_xpm);
- TQPixmap background;
- background.convertFromImage(bgimage);
-
- img = bgimage;
- img.detach();
- for (i=0; i<img.numColors(); i++) {
- TQRgb rgb = img.color(i);
- TQColor c(rgb);
- rgb = c.dark(180).rgb();
- img.setColor(i,rgb);
- }
- sunkenDark = new TQPixmap;
- sunkenDark->convertFromImage(img);
-
-
- img = bgimage;
- img.detach();
- for (i=0; i<img.numColors(); i++) {
- TQRgb rgb = img.color(i);
- TQColor c(rgb);
- rgb = c.light(130).rgb();
- img.setColor(i,rgb);
- }
- sunkenLight= new TQPixmap;
- sunkenLight->convertFromImage(img);
-
-
-
- TQPalette op(TQColor(212,140,95));
- // TQPalette op(white);
- TQColorGroup active (op.active().foreground(),
- TQBrush(op.active().button(),button),
- TQBrush(op.active().light(), light),
- TQBrush(op.active().dark(), dark),
- TQBrush(op.active().mid(), mid),
- op.active().text(),
- TQt::white,
- TQColor(236,182,120),
- TQBrush(op.active().background(), background)
- );
- TQColorGroup disabled (op.disabled().foreground(),
- TQBrush(op.disabled().button(),button),
- TQBrush(op.disabled().light(), light),
- op.disabled().dark(),
- TQBrush(op.disabled().mid(), mid),
- op.disabled().text(),
- TQt::white,
- TQColor(236,182,120),
- TQBrush(op.disabled().background(), background)
- );
-
- app->setPalette(TQPalette(active, disabled, active), TRUE );
-
+ oldPalette = app->palette();
+
+ // we simply create a nice TQColorGroup with a couple of fancy wood
+ // pixmaps here and apply to it all widgets
+
+ TQImage img(button_xpm);
+ TQImage orig = img;
+ orig.detach();
+ TQPixmap button;
+ button.convertFromImage(img);
+
+
+ int i;
+ for (i=0; i<img.numColors(); i++) {
+ TQRgb rgb = img.color(i);
+ TQColor c(rgb);
+ rgb = c.dark(120).rgb();
+ img.setColor(i,rgb);
+ }
+ TQPixmap mid;
+ mid.convertFromImage(img);
+
+ img = orig;
+ img.detach();
+ for (i=0; i<img.numColors(); i++) {
+ TQRgb rgb = img.color(i);
+ TQColor c(rgb);
+ rgb = c.light().rgb();
+ img.setColor(i,rgb);
+ }
+ TQPixmap light;
+ light.convertFromImage(img);
+
+ img = orig;
+ img.detach();
+ for (i=0; i<img.numColors(); i++) {
+ TQRgb rgb = img.color(i);
+ TQColor c(rgb);
+ rgb = c.dark(180).rgb();
+ img.setColor(i,rgb);
+ }
+ TQPixmap dark;
+ dark.convertFromImage(img);
+
+
+ TQImage bgimage(polish_xpm);
+ TQPixmap background;
+ background.convertFromImage(bgimage);
+
+ img = bgimage;
+ img.detach();
+ for (i=0; i<img.numColors(); i++) {
+ TQRgb rgb = img.color(i);
+ TQColor c(rgb);
+ rgb = c.dark(180).rgb();
+ img.setColor(i,rgb);
+ }
+ sunkenDark = new TQPixmap;
+ sunkenDark->convertFromImage(img);
+
+
+ img = bgimage;
+ img.detach();
+ for (i=0; i<img.numColors(); i++) {
+ TQRgb rgb = img.color(i);
+ TQColor c(rgb);
+ rgb = c.light(130).rgb();
+ img.setColor(i,rgb);
+ }
+ sunkenLight= new TQPixmap;
+ sunkenLight->convertFromImage(img);
+
+
+
+ TQPalette op(TQColor(212,140,95));
+ // TQPalette op(white);
+ TQColorGroup active (op.active().foreground(),
+ TQBrush(op.active().button(),button),
+ TQBrush(op.active().light(), light),
+ TQBrush(op.active().dark(), dark),
+ TQBrush(op.active().mid(), mid),
+ op.active().text(),
+ TQt::white,
+ TQColor(236,182,120),
+ TQBrush(op.active().background(), background)
+ );
+ TQColorGroup disabled (op.disabled().foreground(),
+ TQBrush(op.disabled().button(),button),
+ TQBrush(op.disabled().light(), light),
+ op.disabled().dark(),
+ TQBrush(op.disabled().mid(), mid),
+ op.disabled().text(),
+ TQt::white,
+ TQColor(236,182,120),
+ TQBrush(op.disabled().background(), background)
+ );
+
+ app->setPalette(TQPalette(active, disabled, active), TRUE );
+ }
}
-void NorwegianWoodStyle::unPolish( TQApplication *app)
+void NorwegianWoodStyle::applicationUnPolish( TQStyleControlElementData ceData, ControlElementFlags, void *ptr )
{
- app->setPalette(oldPalette, TRUE);
+ if (ceData.widgetObjectTypes.contains("TQApplication")) {
+ TQApplication *app = reinterpret_cast<TQApplication*>(ptr);
+
+ app->setPalette(oldPalette, TRUE);
+ }
}
/*!
Reimplementation from TQStyle
*/
-void NorwegianWoodStyle::polish( TQWidget* w)
+void NorwegianWoodStyle::polish( TQStyleControlElementData ceData, ControlElementFlags, void *ptr )
{
+ if (ceData.widgetObjectTypes.contains("TQWidget")) {
+ TQWidget *w = reinterpret_cast<TQWidget*>(ptr);
- // the polish function sets some widgets to transparent mode and
- // some to translate background mode in order to get the full
- // benefit from the nice pixmaps in the color group.
-
- if ( !w->isTopLevel() ) {
- if ( w->inherits("TQPushButton")
- || w->inherits("TQToolButton")
- || w->inherits("TQComboBox") ) {
- w->setAutoMask( TRUE );
- return;
+ // the polish function sets some widgets to transparent mode and
+ // some to translate background mode in order to get the full
+ // benefit from the nice pixmaps in the color group.
+
+ if ( !w->isTopLevel() ) {
+ if ( w->inherits("TQPushButton")
+ || w->inherits("TQToolButton")
+ || w->inherits("TQComboBox") ) {
+ w->setAutoMask( TRUE );
+ return;
+ }
+ if ( w->backgroundPixmap() )
+ w->setBackgroundOrigin( TQWidget::WindowOrigin );
+ }
}
- if ( w->backgroundPixmap() )
- w->setBackgroundOrigin( TQWidget::WindowOrigin );
- }
}
-void NorwegianWoodStyle::unPolish( TQWidget* w)
+void NorwegianWoodStyle::unPolish( TQStyleControlElementData ceData, ControlElementFlags, void *ptr )
{
- // the polish function sets some widgets to transparent mode and
- // some to translate background mode in order to get the full
- // benefit from the nice pixmaps in the color group.
- if ( !w->isTopLevel() ) {
- if ( w->inherits("TQPushButton")
- || w->inherits("TQToolButton")
- || w->inherits("TQComboBox") ) {
- w->setAutoMask( FALSE );
- return;
+ if (ceData.widgetObjectTypes.contains("TQWidget")) {
+ TQWidget *w = reinterpret_cast<TQWidget*>(ptr);
+
+ // the polish function sets some widgets to transparent mode and
+ // some to translate background mode in order to get the full
+ // benefit from the nice pixmaps in the color group.
+ if ( !w->isTopLevel() ) {
+ if ( w->inherits("TQPushButton")
+ || w->inherits("TQToolButton")
+ || w->inherits("TQComboBox") ) {
+ w->setAutoMask( FALSE );
+ return;
+ }
+ if ( w->backgroundPixmap() )
+ w->setBackgroundOrigin( TQWidget::WidgetOrigin );
+ }
}
- if ( w->backgroundPixmap() )
- w->setBackgroundOrigin( TQWidget::WidgetOrigin );
- }
}
void NorwegianWoodStyle::drawPrimitive( PrimitiveElement pe,
TQPainter *p,
+ TQStyleControlElementData ceData,
+ ControlElementFlags elementFlags,
const TQRect &r,
const TQColorGroup &cg,
SFlags flags, const TQStyleOption& opt ) const
@@ -970,28 +985,30 @@ void NorwegianWoodStyle::drawPrimitive( PrimitiveElement pe,
}
case PE_ScrollBarAddLine:
if ( flags & Style_Horizontal )
- drawSemicircleButton( p, r, PointRight, flags & Style_Down, cg );
+ drawSemicircleButton( p, ceData, elementFlags, r, PointRight, flags & Style_Down, cg );
else
- drawSemicircleButton( p, r, PointDown, flags & Style_Down, cg );
+ drawSemicircleButton( p, ceData, elementFlags, r, PointDown, flags & Style_Down, cg );
break;
case PE_ScrollBarSubLine:
if ( flags & Style_Horizontal )
- drawSemicircleButton( p, r, PointLeft, flags & Style_Down, cg );
+ drawSemicircleButton( p, ceData, elementFlags, r, PointLeft, flags & Style_Down, cg );
else
- drawSemicircleButton( p, r, PointUp, flags & Style_Down, cg );
+ drawSemicircleButton( p, ceData, elementFlags, r, PointUp, flags & Style_Down, cg );
break;
default:
- TQWindowsStyle::drawPrimitive( pe, p, r, cg, flags, opt );
+ TQWindowsStyle::drawPrimitive( pe, p, ceData, elementFlags, r, cg, flags, opt );
break;
}
}
void NorwegianWoodStyle::drawControl( ControlElement element,
TQPainter *p,
- const TQWidget *widget,
+ TQStyleControlElementData ceData,
+ ControlElementFlags elementFlags,
const TQRect &r,
const TQColorGroup &cg,
- SFlags how, const TQStyleOption& opt ) const
+ SFlags how, const TQStyleOption& opt,
+ const TQWidget *widget ) const
{
switch( element ) {
case CE_PushButton:
@@ -1033,7 +1050,7 @@ void NorwegianWoodStyle::drawControl( ControlElement element,
y2 -= 2;
}
- drawPrimitive( PE_ButtonCommand, p,
+ drawPrimitive( PE_ButtonCommand, p, ceData, elementFlags,
TQRect( x1, y1, x2 - x1 + 1, y2 - y1 + 1),
myCg, flags, opt );
@@ -1052,7 +1069,7 @@ void NorwegianWoodStyle::drawControl( ControlElement element,
flags = Style_Default;
if ( btn->isEnabled() )
flags |= Style_Enabled;
- drawPrimitive( PE_ArrowDown, p,
+ drawPrimitive( PE_ArrowDown, p, ceData, elementFlags,
TQRect( x2 - dx, dx, y1, y2 - y1),
myCg, flags, opt );
}
@@ -1092,16 +1109,18 @@ void NorwegianWoodStyle::drawControl( ControlElement element,
break;
}
default:
- TQWindowsStyle::drawControl( element, p, widget, r, cg, how, opt );
+ TQWindowsStyle::drawControl( element, p, ceData, elementFlags, r, cg, how, opt, widget );
break;
}
}
void NorwegianWoodStyle::drawControlMask( ControlElement element,
TQPainter *p,
- const TQWidget *widget,
+ TQStyleControlElementData ceData,
+ ControlElementFlags elementFlags,
const TQRect &r,
- const TQStyleOption& opt ) const
+ const TQStyleOption& opt,
+ const TQWidget *widget ) const
{
switch( element ) {
case CE_PushButton:
@@ -1113,20 +1132,22 @@ void NorwegianWoodStyle::drawControlMask( ControlElement element,
break;
}
default:
- TQWindowsStyle::drawControlMask( element, p, widget, r, opt );
+ TQWindowsStyle::drawControlMask( element, p, ceData, elementFlags, r, opt, widget );
break;
}
}
void NorwegianWoodStyle::drawComplexControl( ComplexControl cc,
TQPainter *p,
- const TQWidget *widget,
+ TQStyleControlElementData ceData,
+ ControlElementFlags elementFlags,
const TQRect &r,
const TQColorGroup &cg,
SFlags how,
SCFlags sub,
SCFlags subActive,
- const TQStyleOption& opt ) const
+ const TQStyleOption& opt,
+ const TQWidget *widget ) const
{
switch( cc ) {
case CC_ComboBox:
@@ -1135,15 +1156,15 @@ void NorwegianWoodStyle::drawComplexControl( ComplexControl cc,
cmb = (const TQComboBox*)widget;
int awh, ax, ay, sh, sy, dh, ew;
- get_combo_parameters( subRect(SR_PushButtonContents, widget),
+ get_combo_parameters( subRect(SR_PushButtonContents, ceData, elementFlags, widget),
ew, awh, ax, ay, sh, dh, sy );
- drawPrimitive( PE_ButtonCommand, p, r, cg, Style_Raised, opt );
+ drawPrimitive( PE_ButtonCommand, p, ceData, elementFlags, r, cg, Style_Raised, opt );
TQStyle *mstyle = TQStyleFactory::create( "Motif" );
if ( mstyle )
- mstyle->drawPrimitive( PE_ArrowDown, p,
+ mstyle->drawPrimitive( PE_ArrowDown, p, ceData, elementFlags,
TQRect(ax, ay, awh, awh), cg, how, opt );
else
- drawPrimitive( PE_ArrowDown, p,
+ drawPrimitive( PE_ArrowDown, p, ceData, elementFlags,
TQRect(ax, ay, awh, awh), cg, how, opt );
TQPen oldPen = p->pen();
@@ -1156,8 +1177,8 @@ void NorwegianWoodStyle::drawComplexControl( ComplexControl cc,
p->setPen( oldPen );
if ( cmb->editable() ) {
- TQRect r( querySubControlMetrics(CC_ComboBox, widget,
- SC_ComboBoxEditField, opt) );
+ TQRect r( querySubControlMetrics(CC_ComboBox, ceData, elementFlags,
+ SC_ComboBoxEditField, opt, widget) );
qDrawShadePanel( p, r, cg, TRUE, 1,
&cg.brush(TQColorGroup::Button) );
}
@@ -1165,17 +1186,19 @@ void NorwegianWoodStyle::drawComplexControl( ComplexControl cc,
break;
}
default:
- TQWindowsStyle::drawComplexControl( cc, p, widget, r, cg, how,
- sub, subActive, opt );
+ TQWindowsStyle::drawComplexControl( cc, p, ceData, elementFlags, r, cg, how,
+ sub, subActive, opt, widget );
break;
}
}
void NorwegianWoodStyle::drawComplexControlMask( ComplexControl control,
TQPainter *p,
- const TQWidget *widget,
+ const TQStyleControlElementData ceData,
+ const ControlElementFlags elementFlags,
const TQRect &r,
- const TQStyleOption& opt ) const
+ const TQStyleOption& opt,
+ const TQWidget *widget ) const
{
switch ( control ) {
case CC_ComboBox:
@@ -1187,15 +1210,17 @@ void NorwegianWoodStyle::drawComplexControlMask( ComplexControl control,
break;
}
default:
- TQWindowsStyle::drawComplexControlMask( control, p, widget, r, opt );
+ TQWindowsStyle::drawComplexControlMask( control, p, ceData, elementFlags, r, opt, widget );
break;
}
}
TQRect NorwegianWoodStyle::querySubControlMetrics( ComplexControl control,
- const TQWidget *widget,
+ TQStyleControlElementData ceData,
+ ControlElementFlags elementFlags,
SubControl sc,
- const TQStyleOption& opt ) const
+ const TQStyleOption& opt,
+ const TQWidget *widget ) const
{
TQRect rect;
switch ( control ) {
@@ -1204,15 +1229,15 @@ TQRect NorwegianWoodStyle::querySubControlMetrics( ComplexControl control,
switch( sc ) {
case SC_ComboBoxEditField:
{
- rect = subRect( SR_PushButtonContents, widget );
+ rect = subRect( SR_PushButtonContents, ceData, elementFlags, widget );
int ew = get_combo_extra_width( rect.height(), 0 );
rect.setRect( rect.x() + 1, rect.y() + 1,
rect.width() - 2 - ew, rect.height() - 2 );
break;
}
default:
- rect = TQWindowsStyle::querySubControlMetrics( control, widget,
- sc, opt );
+ rect = TQWindowsStyle::querySubControlMetrics( control, ceData, elementFlags,
+ sc, opt, widget );
break;
}
break;
@@ -1237,21 +1262,21 @@ TQRect NorwegianWoodStyle::querySubControlMetrics( ComplexControl control,
rect.setRect( b, b, w - 2 * b, w - 2 * b );
break;
default:
- rect = TQWindowsStyle::querySubControlMetrics( control, widget,
- sc, opt );
+ rect = TQWindowsStyle::querySubControlMetrics( control, ceData, elementFlags,
+ sc, opt, widget );
break;
}
break;
}
default:
- rect = TQWindowsStyle::querySubControlMetrics( control, widget,
- sc, opt );
+ rect = TQWindowsStyle::querySubControlMetrics( control, ceData, elementFlags,
+ sc, opt, widget );
break;
}
return rect;
}
-TQRect NorwegianWoodStyle::subRect( SubRect sr, const TQWidget * widget ) const
+TQRect NorwegianWoodStyle::subRect( SubRect sr, const TQStyleControlElementData ceData, const ControlElementFlags elementFlags, const TQWidget * widget ) const
{
TQRect r;
switch ( sr ) {
@@ -1276,14 +1301,14 @@ TQRect NorwegianWoodStyle::subRect( SubRect sr, const TQWidget * widget ) const
}
case SR_ComboBoxFocusRect:
{
- r = subRect( SR_PushButtonContents, widget );
+ r = subRect( SR_PushButtonContents, ceData, elementFlags, widget );
int ew = get_combo_extra_width( r.height() );
r.setRect( r.x() + 1, r.y() + 1, r.width() - 2 - ew,
r.height() - 2 );
break;
}
default:
- r = TQWindowsStyle::subRect( sr, widget );
+ r = TQWindowsStyle::subRect( sr, ceData, elementFlags, widget );
break;
}
return r;
@@ -1358,11 +1383,12 @@ static void get_combo_parameters( const TQRect &r,
static inline int buttonthickness( int d )
{ return d > 20 ? 5 : ( d < 10 ? 2: 3 ); }
-void NorwegianWoodStyle::drawSemicircleButton( TQPainter *p, const TQRect &r,
+void NorwegianWoodStyle::drawSemicircleButton( TQPainter *p, TQStyleControlElementData ceData,
+ ControlElementFlags elementFlags, const TQRect &r,
int dir, bool sunken,
const TQColorGroup &g ) const
{
- int b = pixelMetric( PM_ScrollBarExtent ) > 20 ? 3 : 2;
+ int b = pixelMetric( PM_ScrollBarExtent, ceData, elementFlags ) > 20 ? 3 : 2;
TQRegion extrn( r.x(), r.y(), r.width(), r.height(), TQRegion::Ellipse );
TQRegion intern( r.x()+b, r.y()+b, r.width()-2*b, r.height()-2*b, TQRegion::Ellipse );
diff --git a/examples/themes/wood.h b/examples/themes/wood.h
index dd2d10624..a572e24bb 100644
--- a/examples/themes/wood.h
+++ b/examples/themes/wood.h
@@ -26,13 +26,15 @@ class NorwegianWoodStyle : public TQWindowsStyle
{
public:
NorwegianWoodStyle();
- void polish( TQApplication*);
- void polish( TQWidget* );
- void unPolish( TQWidget* );
- void unPolish( TQApplication*);
+ void applicationPolish( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void * );
+ void polish( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void * );
+ void unPolish( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void * );
+ void applicationUnPolish( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void * );
void drawPrimitive( PrimitiveElement pe,
TQPainter *p,
+ TQStyleControlElementData ceData,
+ ControlElementFlags elementFlags,
const TQRect &r,
const TQColorGroup &cg,
SFlags flags = Style_Default,
@@ -40,44 +42,54 @@ public:
void drawControl( ControlElement element,
TQPainter *p,
- const TQWidget *widget,
+ TQStyleControlElementData ceData,
+ ControlElementFlags elementFlags,
const TQRect &r,
const TQColorGroup &cg,
SFlags how = Style_Default,
- const TQStyleOption& = TQStyleOption::Default ) const;
+ const TQStyleOption& = TQStyleOption::Default,
+ const TQWidget *widget = 0 ) const;
void drawControlMask( ControlElement element,
TQPainter *p,
- const TQWidget *widget,
+ TQStyleControlElementData ceData,
+ ControlElementFlags elementFlags,
const TQRect &r,
- const TQStyleOption& = TQStyleOption::Default ) const;
+ const TQStyleOption& = TQStyleOption::Default,
+ const TQWidget *widget = 0 ) const;
void drawComplexControl( ComplexControl cc,
TQPainter *p,
- const TQWidget *widget,
+ TQStyleControlElementData ceData,
+ ControlElementFlags elementFlags,
const TQRect &r,
const TQColorGroup &cg,
SFlags how = Style_Default,
SCFlags sub = SC_All,
SCFlags subActive = SC_None,
- const TQStyleOption& = TQStyleOption::Default ) const;
+ const TQStyleOption& = TQStyleOption::Default,
+ const TQWidget *widget = 0 ) const;
void drawComplexControlMask( ComplexControl control,
TQPainter *p,
- const TQWidget *widget,
+ const TQStyleControlElementData ceData,
+ const ControlElementFlags elementFlags,
const TQRect &r,
- const TQStyleOption& = TQStyleOption::Default ) const;
+ const TQStyleOption& = TQStyleOption::Default,
+ const TQWidget *widget = 0 ) const;
TQRect querySubControlMetrics( ComplexControl control,
- const TQWidget *widget,
+ TQStyleControlElementData ceData,
+ ControlElementFlags elementFlags,
SubControl sc,
- const TQStyleOption& = TQStyleOption::Default ) const;
+ const TQStyleOption& = TQStyleOption::Default,
+ const TQWidget *widget = 0 ) const;
- TQRect subRect( SubRect r, const TQWidget *widget ) const;
+ TQRect subRect( SubRect r, const TQStyleControlElementData ceData, const ControlElementFlags elementFlags, const TQWidget *widget ) const;
private:
- void drawSemicircleButton(TQPainter *p, const TQRect &r, int dir,
+ void drawSemicircleButton(TQPainter *p, TQStyleControlElementData ceData, ControlElementFlags elementFlags, const TQRect &r, int dir,
bool sunken, const TQColorGroup &g ) const;
TQPalette oldPalette;
TQPixmap *sunkenDark;