51# include <Inventor/Qt/SoQtDirectionalLightEditor.h>
53# include <Inventor/Win/SoWinDirectionalLightEditor.h>
56#ifndef _SO_XT_DIRECTIONAL_LIGHT_EDITOR_
57#define _SO_XT_DIRECTIONAL_LIGHT_EDITOR_
59#include <X11/Intrinsic.h>
61#include <Inventor/SbBasic.h>
62#include <Inventor/SbColor.h>
63#include <Inventor/misc/SoCallbackList.h>
64#include <Inventor/Xt/SoXtComponent.h>
144 SoWidget parent = NULL,
145 const char *name = NULL,
146 SbBool buildInsideParent = TRUE);
180 inline void addLightChangedCallback(
181 SoXtDirectionalLightEditorCB *f,
182 void *userData = NULL);
186 inline void removeLightChangedCallback(
187 SoXtDirectionalLightEditorCB *f,
188 void *userData = NULL);
208 virtual SbString getDefaultWidgetName()
const;
209 virtual SbString getDefaultTitle()
const;
210 virtual SbString getDefaultIconTitle()
const;
221 SoXtColorSlider *intensitySlider;
226 static char *geomBuffer;
237 void updateLocalComponents();
241 static void colorEditorCB(
void *,
const SbColor *);
242 static void intensitySliderCB(
void *,
float);
243 static void pasteDoneCB(
void *,
SoPathList *);
244 static void dirLightManipCB(
void *,
SoDragger *);
247 static void menuPick(SoWidget,
int, XmAnyCallbackStruct *);
254 SoWidget buildWidget(SoWidget parent);
255 SoWidget buildPulldownMenu(SoWidget parent);
257 static void visibilityChangeCB(
void *pt,
SbBool visible);
262 void constructorCommon(
SbBool buildNow);
269 SoXtDirectionalLightEditorCB *f,
271{ callbackList->
addCallback((SoCallbackListCB *) f, userData); }
275 SoXtDirectionalLightEditorCB *f,
277{ callbackList->
removeCallback((SoCallbackListCB *) f, userData); }
Class for smart character strings.
Base class for all nodes, paths, and engines.
Manages a list of callbacks and associated data.
void addCallback(SoCallbackListCB *f, void *userData=NULL)
Adds a function to the list of callback functions.
void removeCallback(SoCallbackListCB *f, void *userData=NULL)
Removes a function from the list of callback functions.
Abstract base class for camera nodes.
Node representing a directional light source.
Directional light node with 3D interface for editing direction.
Base class for nodekits that move in response to click-drag-release mouse events.
Base class for all group nodes.
Sensor class that can be attached to Open Inventor nodes.
Path that points to a list of hierarchical nodes.
Maintains a list of pointers to paths.
Abstract base class for Open Inventor sensors.
Group node that saves and restores traversal state.
Supports copy/paste for Open Inventor using the Xt clipboard.
Component that lets you edit a color interactively.
Abstract base class for all Open Inventor components.
Component for editing directional lights.
void removeLightChangedCallback(SoXtDirectionalLightEditorCB *f, void *userData=NULL)
Removes the lightChanged callback.
~SoXtDirectionalLightEditor()
Destructor.
void attach(SoPath *pathToLight)
Attaches the editor to a directional light.
const SoDirectionalLight & getLight() const
Gets the current light values.
void SoXtDirectionalLightEditorCB(void *userData, const SoDirectionalLight *light)
virtual void show()
This shows the component.
SbBool isAttached()
Returns TRUE if the editor is attached.
SoXtDirectionalLightEditor(SoWidget parent=NULL, const char *name=NULL, SbBool buildInsideParent=TRUE)
Constructor.
virtual void hide()
This hides the component.
void detach()
Detaches the editor from a directional light.
void addLightChangedCallback(SoXtDirectionalLightEditorCB *f, void *userData=NULL)
Adds lightChanged callback.
void setLight(const SoDirectionalLight &newLight)
Sets new light values.
Component for rendering Open Inventor scene graphs.