00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef COIN_SOWWWANCHOR_H
00021 #define COIN_SOWWWANCHOR_H
00022
00023 #include <Inventor/nodes/SoSubNode.h>
00024 #include <Inventor/nodes/SoLocateHighlight.h>
00025 #include <Inventor/fields/SoSFString.h>
00026 #include <Inventor/fields/SoSFEnum.h>
00027
00028
00029 class SoWWWAnchor;
00030
00031 typedef void SoWWWAnchorCB(const SbString & url, void * data,
00032 SoWWWAnchor * node);
00033
00034
00035
00036 class COIN_DLL_API SoWWWAnchor : public SoLocateHighlight {
00037 typedef SoLocateHighlight inherited;
00038
00039 SO_NODE_HEADER(SoWWWAnchor);
00040
00041 public:
00042 static void initClass(void);
00043 SoWWWAnchor(void);
00044
00045 enum Mapping {
00046 NONE, POINT
00047 };
00048
00049 SoSFString name;
00050 SoSFString description;
00051 SoSFEnum map;
00052
00053 void setFullURLName(const SbString & url);
00054 const SbString & getFullURLName(void);
00055
00056 virtual void handleEvent(SoHandleEventAction * action);
00057
00058 static void setFetchURLCallBack(SoWWWAnchorCB * f, void * userData);
00059 static void setHighlightURLCallBack(SoWWWAnchorCB * f, void * userData);
00060
00061 protected:
00062 virtual ~SoWWWAnchor();
00063
00064 virtual void redrawHighlighted(SoAction * act, SbBool isNowHighlighting);
00065 };
00066
00067 #endif // !COIN_SOWWWANCHOR_H