Component that lets you edit a color interactively. More...
#include <Inventor/Win/SoWinColorEditor.h>
Public Types | |
enum | Sliders { NONE , INTENSITY , RGB , HSV , RGB_V , RGB_HSV } |
list of possible slider combinations, which is used to specify which sliders should be displayed at any time. More... | |
enum | UpdateFrequency { CONTINUOUS , AFTER_ACCEPT } |
UpdateFrequency is how often new values should be sent to the node or the callback routine. More... | |
typedef void | SoWinColorEditorCB(void *userData, const SbColor *color) |
Public Types inherited from SoWinComponent | |
typedef void | SoWinComponentCB(void *userData, SoWinComponent *comp) |
Public Member Functions | |
SoWinColorEditor (SoWidget parent=NULL, const char *name=NULL, SbBool buildInsideParent=TRUE) | |
Constructor. | |
~SoWinColorEditor () | |
Destructor. | |
void | attach (SoSFColor *color, SoBase *node) |
Attaches the editor to a color node and edits the specified color. | |
void | attach (SoMFColor *color, int index, SoBase *node) |
Attaches the editor to a color node and edits the specified color. | |
void | attach (SoMFUInt32 *color, int index, SoBase *node) |
Handles attaching to an "orderedRGBA" field (e.g. SoVertexProperty) | |
void | detach () |
Detaches the editor from a color node. | |
SbBool | isAttached () |
Returns TRUE if the editor is attached. | |
void | addColorChangedCallback (SoWinColorEditorCB *f, void *userData=NULL) |
Additional way of using the color editor, by registering a callback which will be called whenever the color changes (check the UpdateFrequency to find when the callbacks will be called). | |
void | removeColorChangedCallback (SoWinColorEditorCB *f, void *userData=NULL) |
Removes colorChanged callback. | |
void | setColor (const SbColor &color) |
Sets a new color value. | |
const SbColor & | getColor () |
Gets the current color value. | |
void | setWYSIWYG (SbBool trueOrFalse) |
Sets the WYSIWYG (what-you-see-is-what-you-get) mode on/off for the colored backgrounds of the sliders. | |
SbBool | isWYSIWYG () |
Gets the WYSIWYG mode. | |
void | setCurrentSliders (SoWinColorEditor::Sliders whichSliders) |
Sets which slider(s) should be displayed. | |
SoWinColorEditor::Sliders | getCurrentSliders () |
Gets which slider(s) should be displayed. | |
void | setUpdateFrequency (SoWinColorEditor::UpdateFrequency freq) |
Sets the update frequency. | |
SoWinColorEditor::UpdateFrequency | getUpdateFrequency () |
Gets the update frequency. | |
Public Member Functions inherited from SoWinComponent | |
virtual void | show () |
This shows the component. | |
virtual void | hide () |
This hides the component. | |
SbBool | isVisible () |
Returns TRUE if this component is mapped onto the screen. | |
SoWidget | getWidget () const |
This returns the base window handle for this component. | |
SbBool | isTopLevelShell () const |
Returns TRUE if this component is a top level shell component (has its own window). | |
SoWidget | getShellWidget () const |
Returns the shell window handle (NULL if the shell hasn't been created by this component). | |
SoWidget | getParentWidget () const |
Returns the parent window handle, be it a shell or not. | |
void | setSize (const SbVec2s &size) |
Convenience routine on the window handle. | |
SbVec2s | getSize () |
Convenience routine on the window handle. | |
SbBool | setFullScreen (const SbBool enable) |
Switches the viewer into (or out of) fullscreen mode. | |
SbBool | isFullScreen () const |
Queries if the viewer is in fullscreen mode. | |
void | setFullScreenEnable (const SbBool enable) |
Enables/disables fullscreen mode. | |
SbBool | isFullScreenEnable (void) const |
Queries if it is possible to put the viewer in fullscreen mode. | |
UINT * | getDisplay () |
Included for portability only. | |
SoNONUNICODE void | setTitle (const char *newTitle) |
Sets window title. | |
void | setTitle (const SbString &newTitle) |
Sets window title. | |
SbString | getTitle () const |
Gets window title. | |
SoNONUNICODE void | setIconTitle (const char *newIconTitle) |
Included for portability only. | |
void | setIconTitle (const SbString &newIconTitle) |
Included for portability only. | |
SbString | getIconTitle () const |
Included for portability only. | |
void | setWindowCloseCallback (SoWinComponentCB *func, void *data=NULL) |
Sets which callback to call when the user closes this component (double click in the upper left corner) - by default hide() is called on this component, unless a callback is specified. | |
SbString | getWidgetName () const |
Returns the window handle name. | |
SbString | getClassName () const |
Returns the class name. | |
virtual | ~SoWinComponent () |
Destructor. | |
Public Attributes | |
SbBool | alwaysOnTop |
Public Attributes inherited from SoWinComponent | |
SbString | helpFileName |
Name of help file to open when the viewer Help button is pressed. | |
UINT | helpContextID |
The context ID of the help topic to open when the viewer Help button is pressed. | |
SbString | helpContextString |
The TopicID of the help topic to open when the viewer Help button is pressed. | |
Additional Inherited Members | |
Static Public Member Functions inherited from SoWinComponent | |
SoDEPRECATED static SoNONUNICODE void | displayHelp (const char *filename, UINT contextID) |
Static method to display the specified topic of the specified help file. | |
static SoDEPRECATED void | displayHelp (const SbString &filename, UINT contextID) |
Static method to display the specified topic of the specified help file. | |
static SoWinComponent * | getComponent (SoWidget w) |
Returns the SoWinComponent for this window handle. | |
Component that lets you edit a color interactively.
The SoWinColorEditor class lets you interactively edit colors using color sliders and a color wheel. You can either use it directly to edit a color field in the database by using the attach()/detach() routines, or use it by registering a callback routine which will get called whenever the color changes (passing an SbColor to that routine).
The editor can currently be attached to only one color at a time. Attaching two different colors will automatically detach the first one before attaching the second.
Definition at line 96 of file SoWinColorEditor.h.
typedef void SoWinColorEditorCB(void *userData, const SbColor *color) |
Definition at line 61 of file SoWinColorEditor.h.
list of possible slider combinations, which is used to specify which sliders should be displayed at any time.
Definition at line 103 of file SoWinColorEditor.h.
UpdateFrequency is how often new values should be sent to the node or the callback routine.
Enumerator | |
---|---|
CONTINUOUS | Send updates with every mouse motion. |
AFTER_ACCEPT | Only send updates after user hits accept button. |
Definition at line 134 of file SoWinColorEditor.h.
SoWinColorEditor::SoWinColorEditor | ( | SoWidget | parent = NULL , |
const char * | name = NULL , |
||
SbBool | buildInsideParent = TRUE |
||
) |
Constructor.
SoWinColorEditor::~SoWinColorEditor | ( | ) |
Destructor.
|
inline |
Additional way of using the color editor, by registering a callback which will be called whenever the color changes (check the UpdateFrequency to find when the callbacks will be called).
Definition at line 430 of file SoWinColorEditor.h.
Attaches the editor to a color node and edits the specified color.
See attach() for details.
void SoWinColorEditor::attach | ( | SoMFUInt32 * | color, |
int | index, | ||
SoBase * | node | ||
) |
Handles attaching to an "orderedRGBA" field (e.g. SoVertexProperty)
Attaches the editor to a color node and edits the specified color.
Attaching to the color node increments the reference count of the color node.
The color editor uses a sensor on the color field to automatically update itself when the color is changed externally.
NOTE: The node containing the field needs to also be passed to attach the sensor to it (since field sensors are not yet supported).
NOTE: The color editor can only be attached to either a single field or a multiple field at any given time. Even when attached to a multiple field, only a single color from that field is edited, as specified by index.
void SoWinColorEditor::detach | ( | ) |
Detaches the editor from a color node.
Detaching from the color node decrements the reference count of the color node.
|
inline |
Gets the current color value.
Definition at line 219 of file SoWinColorEditor.h.
|
inline |
Gets which slider(s) should be displayed.
Definition at line 248 of file SoWinColorEditor.h.
|
inline |
Gets the update frequency.
Definition at line 257 of file SoWinColorEditor.h.
|
inline |
Returns TRUE if the editor is attached.
Definition at line 192 of file SoWinColorEditor.h.
|
inline |
Gets the WYSIWYG mode.
Definition at line 239 of file SoWinColorEditor.h.
|
inline |
Removes colorChanged callback.
Definition at line 436 of file SoWinColorEditor.h.
void SoWinColorEditor::setColor | ( | const SbColor & | color | ) |
Sets a new color value.
NOTE: setColor() will call colorChanged callbacks if the color differs.
void SoWinColorEditor::setCurrentSliders | ( | SoWinColorEditor::Sliders | whichSliders | ) |
Sets which slider(s) should be displayed.
void SoWinColorEditor::setUpdateFrequency | ( | SoWinColorEditor::UpdateFrequency | freq | ) |
Sets the update frequency.
See the UpdateFrequency enum declaration.
void SoWinColorEditor::setWYSIWYG | ( | SbBool | trueOrFalse | ) |
Sets the WYSIWYG (what-you-see-is-what-you-get) mode on/off for the colored backgrounds of the sliders.
In WYSIWYG mode, the color shown on the slider background beneath the slider pointer is what you get. For example, if R,G,B sliders in WYSIWYG mode are set to (0,1,1), the color beneath each slider pointer will be cyan because (0,1,1) corresponds to cyan.
In non-WYSIWYG mode, the color shown on the slider background reflects only the value of the parameter that the slider controls. For example, the background of the red slider will display only red values, the green slider will display only green values, and so forth.
SbBool SoWinColorEditor::alwaysOnTop |
Definition at line 261 of file SoWinColorEditor.h.