Heheh, I'm not so well explaining in English.
It's not a game, but a 2d model editor. I don't want it to be refreshed (redrawn) all the time. Avoiding this, avoids the constant CPU use.
The relationship is that, usually, it should be redrawn on SFML/GUI events (like window repaint, mouse move, selection of a node in a treeview...)
I just hacked the SFML canvas class, now it only draws on idle if an event happened (either from wx or sfml) between the idle event and the last draw. Need to handle this on the idle events to avoid redrawing on each non-idle event. This way I flag when an SFML/GUI event happened, and the process it on the idle event.
I happened to be switching between my graphics editor and this utility I'm making... and having 100% cpu load from the utility didn't allow me to work on the graphics editor.
Solved now, also dispatching events to another virtual function as you suggested.
-Thanks
-Martín