Initial commit
This commit is contained in:
73
Torque/SDK/lib/maxsdk40/tvnode.h
Normal file
73
Torque/SDK/lib/maxsdk40/tvnode.h
Normal file
@@ -0,0 +1,73 @@
|
||||
/**********************************************************************
|
||||
*<
|
||||
FILE: tvnode.h
|
||||
|
||||
DESCRIPTION: Track View Node Class
|
||||
|
||||
CREATED BY: Rolf Berteig
|
||||
|
||||
HISTORY: 11-14-96
|
||||
|
||||
*> Copyright (c) 1996, All Rights Reserved.
|
||||
**********************************************************************/
|
||||
|
||||
|
||||
#ifndef __TVNODE_H__
|
||||
#define __TVNODE_H__
|
||||
|
||||
#define TVNODE_CLASS_ID Class_ID(0x8d73b8aa, 0x90f2ee71)
|
||||
|
||||
// Default position for appending
|
||||
#define TVNODE_APPEND -1
|
||||
|
||||
|
||||
// TrackViewNodes can contain one or more sub nodes or controllers.
|
||||
// Sub-nodes and controllers are identified by a unique ID in the
|
||||
// form of a Class_ID variable. This does not necessarily have to
|
||||
// be the class ID of an existing plug-in, however plug-ins may
|
||||
// wish to use thier class ID for any items they add to be sure they
|
||||
// are unique.
|
||||
//
|
||||
// The Interface class provides access to the root track view node.
|
||||
// From this node, new nodes can be added. There are two defined
|
||||
// sub nodes:
|
||||
|
||||
#define GLOBAL_VAR_TVNODE_CLASS_ID Class_ID(0xb27e9f2a, 0x73fad370)
|
||||
#define VIDEO_POST_TVNODE_CLASS_ID Class_ID(0x482b8d30, 0xb72c8511)
|
||||
|
||||
// These can be retreived by calling GetNode() on the track view root
|
||||
// node and passing in one of the above IDs.
|
||||
|
||||
|
||||
// These can be registered with a TVNode to intercept reference notifications
|
||||
class TVNodeNotify {
|
||||
public:
|
||||
virtual RefResult NotifyRefChanged(
|
||||
Interval changeInt, RefTargetHandle hTarget,
|
||||
PartID& partID, RefMessage message)=0;
|
||||
};
|
||||
|
||||
class ITrackViewNode : public ReferenceTarget {
|
||||
public:
|
||||
virtual void AddNode(ITrackViewNode *node, TCHAR *name, Class_ID cid, int pos=TVNODE_APPEND)=0;
|
||||
virtual void AddController(Control *c, TCHAR *name, Class_ID cid, int pos=TVNODE_APPEND)=0;
|
||||
virtual int FindItem(Class_ID cid)=0;
|
||||
virtual void RemoveItem(int i)=0;
|
||||
virtual void RemoveItem(Class_ID cid)=0;
|
||||
virtual Control *GetController(int i)=0;
|
||||
virtual Control *GetController(Class_ID cid)=0;
|
||||
virtual ITrackViewNode *GetNode(int i)=0;
|
||||
virtual ITrackViewNode *GetNode(Class_ID cid)=0;
|
||||
virtual int NumItems()=0;
|
||||
virtual void SwapPositions(int i1, int i2)=0;
|
||||
virtual TCHAR *GetName(int i)=0;
|
||||
virtual void SetName(int i,TCHAR *name)=0;
|
||||
virtual void RegisterTVNodeNotify(TVNodeNotify *notify)=0;
|
||||
virtual void UnRegisterTVNodeNotify(TVNodeNotify *notify)=0;
|
||||
//watje this will prevent children from showing up in the TV
|
||||
virtual void HideChildren(BOOL chide)=0;
|
||||
};
|
||||
|
||||
CoreExport ITrackViewNode *CreateITrackViewNode(BOOL hidden=FALSE);
|
||||
|
||||
#endif // __TVNODE_H__
|
||||
Reference in New Issue
Block a user