tge/lib/maxsdk40/tvutil.h
2017-04-17 06:17:10 -06:00

67 lines
1.9 KiB
C++
Executable File

/**********************************************************************
*<
FILE: tvutil.h
DESCRIPTION: Track view utility plug-in class
CREATED BY: Rolf Berteig
HISTORY: 12/18/96
*> Copyright (c) 1996, All Rights Reserved.
**********************************************************************/
#ifndef __TVUTIL_H__
#define __TVUTIL_H__
class TrackViewUtility;
// The five track view major modes
#define TVMODE_EDITKEYS 0
#define TVMODE_EDITTIME 1
#define TVMODE_EDITRANGES 2
#define TVMODE_POSRANGES 3
#define TVMODE_EDITFCURVE 4
// This is an interface that is given to track view utilities
// that allows them to access the track view they were launched from.
class ITVUtility {
public:
virtual int GetNumTracks()=0;
virtual Animatable *GetAnim(int i)=0;
virtual Animatable *GetClient(int i)=0;
virtual int GetSubNum(int i)=0;
virtual TSTR GetTrackName(int i)=0;
virtual BOOL IsSelected(int i)=0;
virtual void SetSelect(int i,BOOL sel)=0;
virtual HWND GetTrackViewHWnd()=0;
virtual int GetMajorMode()=0;
virtual Interval GetTimeSelection()=0;
virtual BOOL SubTreeMode()=0;
virtual Animatable *GetTVRoot()=0;
// This must be called when a track view utility is closing
// so that it can be unregistered from notifications
virtual void TVUtilClosing(TrackViewUtility *util)=0;
};
// This is the base class for track view utilities. Plug-ins will
// derive their classes from this class.
class TrackViewUtility {
public:
virtual void DeleteThis()=0;
virtual void BeginEditParams(Interface *ip,ITVUtility *iu) {}
virtual void EndEditParams(Interface *ip,ITVUtility *iu) {}
virtual void TrackSelectionChanged() {}
virtual void NodeSelectionChanged() {}
virtual void KeySelectionChanged() {}
virtual void TimeSelectionChanged() {}
virtual void MajorModeChanged() {}
virtual void TrackListChanged() {}
};
#endif //__TVUTIL_H__