26#ifndef _SO_WIN_DIRECTIONAL_LIGHT_EDITOR_
27#define _SO_WIN_DIRECTIONAL_LIGHT_EDITOR_
29#include <Inventor/Win/SoWinBeginStrict.h>
30#include <Inventor/sys/port.h>
31#include <Inventor/SbBasic.h>
32#include <Inventor/SbColor.h>
33#include <Inventor/misc/SoCallbackList.h>
34#include <Inventor/Win/SoWinComponent.h>
51class SoWinColorSlider;
102 SoWidget parent = NULL,
103 const char *name = NULL,
104 SbBool buildInsideParent = TRUE);
141 void *userData = NULL);
148 void *userData = NULL);
171 virtual SbString getDefaultWidgetName()
const;
172 virtual SbString getDefaultTitle()
const;
173 virtual SbString getDefaultIconTitle()
const;
184 SoWinColorSlider *intensitySlider;
189 static char *geomBuffer;
200 void updateLocalComponents();
206 static WBOOL CALLBACK mgrDlgProc( Hwnd hdlg, UINT message,
207 WPARAM wParam, LPARAM lParam );
208 static void onCommand(
219 void handleMenu(Hwnd hdlg,
223 void initPlacement() ;
225 static void colorEditorCloseCB(
void *userData,
SoWinComponent *comp) ;
228 static void colorEditorCB(
void *,
const SbColor *);
229 static void intensitySliderCB(
void *,
float);
230 static void pasteDoneCB(
void *,
SoPathList *);
231 static void dirLightManipCB(
void *,
SoDragger *);
234 static void menuPick(SoWidget,
int, XmAnyCallbackStruct *);
241 SoWidget buildWidget(SoWidget parent);
242 SoWidget buildPulldownMenu(SoWidget parent);
244 static void visibilityChangeCB(
void *pt,
SbBool visible);
249 void constructorCommon(
SbBool buildNow);
257 SoWinDirectionalLightEditorCB *f,
259{ callbackList->
addCallback((SoCallbackListCB *) f, userData); }
263 SoWinDirectionalLightEditorCB *f,
265{ callbackList->
removeCallback((SoCallbackListCB *) f, userData); }
267#include <Inventor/Win/SoWinEndStrict.h>
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.
Abstract base class for all database 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.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Supports copy/pa...
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Component that l...
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Abstract base cl...
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Component for ed...
void attach(SoPath *pathToLight)
Attaches the editor to a directional light.
void removeLightChangedCallback(SoWinDirectionalLightEditorCB *f, void *userData=NULL)
Removes the lightChanged callback.
void addLightChangedCallback(SoWinDirectionalLightEditorCB *f, void *userData=NULL)
Adds lightChanged callback.
void SoWinDirectionalLightEditorCB(void *userData, const SoDirectionalLight *light)
SoWinDirectionalLightEditor(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.
virtual void show()
This shows the component.
const SoDirectionalLight & getLight() const
Gets the current light values.
void setLight(const SoDirectionalLight &newLight)
Sets new light values.
SbBool isAttached()
Returns TRUE if the editor is attached.
~SoWinDirectionalLightEditor()
Destructor.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Component for re...