Event Handlers for AspectBackgroundColor


Functions

void SmartWin::AspectBackgroundColor::onBackgroundColor (typename MessageMapType::itsBrushFunctionTakingCanvas eventHandler)
 Setting the event handler for the "erase background" event.

Detailed Description

General info on event handlers and events.
An event handler is a typesafe callback function defined by your application which will be "raised" or called whenever the specified event occurs.
E.g. if you define a WidgetWindow::onClosing event handler for a WidgetWindow widget your function will be called when your widget is being closed.
All event handlers are completely typesafe which means if you don't supply the right signature or try to set an event handler to a member of another class you will get a compile bug.
Also all events can be set to either a global/static member function or a member function of your derived WidgetWindow class, if you're setting an event handler to a global or static function you will recieve a pointer to the calling widget in the event handler (it will be expected to be part of the function signature) if you're setting an event handler to a member function of your class, this is not necessary off course since you will then be able to access the widget anyway. Also all Event Handlers handled by the "parent" Widget or another Widget then the Widget raising the event will demand passing the Widget pointer as the first parameter to the event handler function. Meaning a member version of an event for a WidgetButton taking an integer returning a bool will look like this; bool foo( WidgetButton * btn, int value ); and must be a member of the parent class. A global/static event handler for the same event if the class name is Bar will look like this; bool foo( Bar * bar, WidgetButton * btn, int value );

Function Documentation

void onBackgroundColor ( typename MessageMapType::itsBrushFunctionTakingCanvas  eventHandler  )  [inherited]

Setting the event handler for the "erase background" event.

The erase background event is raised when the Widget needs to redraw its background.
Since the Brush object needs to live past the function call we use a BrushPtr to wrap the Brush object into, you can for instance add a BrushPtr object as a member of your Widget class and return that BrushPtr from your event handler.
The parameter passed is Canvas & and return value is BrushPtr
Note!
It is imperative that you keep a reference to the BrushPtr yourself somewhere e.g. as member of class since otherwise the brush will be released before it is returned to the system and cannot be used!

Back to SmartWin website
SourceForge.net Logo