PanelStyler Class Reference

#include <Pt/Forms/PanelStyler.h>

Binds a panel-like widget to the current style renderer. More...

Inherits Styler.

Public Member Functions

 PanelStyler ()
 Constructs an unbound panel styler.
const Gfx::Brushbackground () const
 Returns the effective background brush.
void setBackground (const Gfx::Brush &brush)
 Sets the widget-local background brush to brush.
const Gfx::Pencontour () const
 Returns the effective contour pen.
void setContour (const Gfx::Pen &pen)
 Sets the widget-local contour pen to pen.
const Gfx::ColortextColor () const
 Returns the effective text color.
void setTextColor (const Gfx::Color &color)
 Sets the widget-local text color to color.
Gfx::Font font () const
 Returns the effective font.
void setFont (const Gfx::Font &font)
 Sets the widget-local font to font.
void setFontSize (std::size_t size)
 Sets the widget-local font size to size.
void setFontWeight (Gfx::Font::Weight weight)
 Sets the widget-local font weight to weight.
void setFontSlant (Gfx::Font::Slant slant)
 Sets the widget-local font slant to slant.
Gfx::SizeF measureFrame (PaintSurface &surface, const Gfx::SizeF &contentSize) const
 Measures the frame enclosing contentSize.
Gfx::RectF layoutFrame (PaintSurface &surface, const Gfx::RectF &frameRect) const
 Returns the frame content rectangle within frameRect.
const PaintertextPainter (PaintSurface &surface) const
 Returns the text painter for surface, or 0 when unavailable.
void renderBackground (PaintContext &context, const Gfx::RectF &rect, const PanelState &state) const
 Renders the panel background within rect for state.
void renderFrame (PaintContext &context, const Gfx::RectF &rect, const PanelState &state) const
 Renders the panel frame within rect for state.
void renderText (PaintContext &context, const Gfx::RectF &rect, const String &text, const Gfx::PointF &pos, const PanelState &state) const
 Renders text at pos within rect for state.
void renderIcon (PaintContext &context, const Gfx::RectF &rect, const Pixmap &picture, const Gfx::PointF &pos, const PanelState &state) const
 Renders picture at pos within rect for state.
void setRenderer (PanelRenderer *renderer=0)
 Assigns a specific panel renderer.
StyleOptionsoptions ()
 Returns the bound effective panel options.
const StyleOptionsoptions () const
 Returns the bound effective panel options.
bool bind (const Style &style, const StyleOptions &styleOptions)
 Binds this styler to style and styleOptions.
bool isBound () const
 Returns true if a renderer is bound.

Protected Member Functions

virtual StyleOptionsonBindOptions (const StyleOptions &styleOptions)
 Binds the overlay to styleOptions and returns it.
virtual RendereronStyleRenderer (const Style &style)
 Returns the shared panel renderer from style, or 0.
virtual RendereronCreateRenderer (const Style &style)
 Creates an independent clone of the style renderer, or 0.
void init (Renderer *renderer)
 Replaces the bound renderer with renderer.

Detailed Description

A Panel or Label owns a PanelStyler. Applications do not construct one. Call Styler::bind() from onInvalidate(). When the overlay has no local options, bind uses the shared renderer from the style. Local options use a private clone. setRenderer() keeps an assigned renderer until it is cleared. A null renderer falls back on the next bind.

Appearance getters return effective tokens after bind. Setters write widget-local options. Measure, layout, and paint call the typed methods on this styler, not a public renderer accessor.

Member Function Documentation

◆ options()

StyleOptions & options ( )

Use StyleOptions::findLocal() to query an explicit widget-local token.

◆ bind()

bool bind ( const Style & style,
const StyleOptions & styleOptions )
inherited

Returns true when the effective renderer or the effective options changed.

◆ init()

void init ( Renderer * renderer)
protectedinherited

A non-null renderer is a custom renderer. bind() keeps it until init() is called with 0, which falls back to the current style.