wrangler.h

Go to the documentation of this file.
00001 /**********************************************************************
00002  *<
00003     FILE: wrangler.h
00004                   
00005     DESCRIPTION:  Wrangler information
00006     CREATED BY: Audrey Peterson
00007 
00008     HISTORY: created 1 February 2000
00009 
00010  *>     Copyright (c) 1994, All Rights Reserved.
00011  **********************************************************************/
00012 
00013 #pragma once
00014 #include "tvnode.h"
00015 #include "inode.h"
00016 #include "maxapi.h"
00017 #include "plugapi.h"
00018 #include "pod.h"
00019 
00020 #define OPENPV_NEW      0
00021 #define OPENPV_LAST     -1
00022 #define WRANGLER_CLASS_ID       0x141a5cd6
00023 
00024 #define BASER       1
00025 class Wrangler: public ITrackViewNode {
00026 public:
00027     Tab<INode*> podlist;
00028     int podmax,groupmax;
00029     Tab<TVNodeNotify*> notifyCBs;
00030     IParamBlock2 *pblock;
00031     virtual void DeleteThis(){};
00032     // Reference
00033     int NumRefs() { return BASER + podlist.Count();}
00034     #pragma warning(push)
00035     #pragma warning(disable:4100)
00036     virtual void AddPod(INode *node,int pos = TVNODE_APPEND){};
00037     virtual int FindPod(INode *pod){return -1;};
00038     virtual void RemovePod(INode *pod){};
00039     virtual void RemovePod(int i){};
00040 
00041     // From ITrackViewNode
00042     void AddNode(ITrackViewNode *node, MCHAR *name, Class_ID cid, int pos=TVNODE_APPEND){};
00043     void AddController(Control *c, MCHAR *name, Class_ID cid, int pos=TVNODE_APPEND){};
00044     int FindItem(Class_ID cid) {return -1;}
00045     void RemoveItem(int i){};
00046     void RemoveItem(Class_ID cid){};
00047     Control *GetController(int i) {return NULL;}
00048     Control *GetController(Class_ID cid) {return GetController(FindItem(cid));}
00049     ITrackViewNode *GetNode(int i) {return (ITrackViewNode*)podlist[i];}
00050     ITrackViewNode *GetNode(Class_ID cid){ return NULL;}
00051     int NumItems() {return podlist.Count();}
00052     virtual void SwapPositions(int i1, int i2){};
00053     MCHAR *GetName(int i) {return podlist[i]->GetName();}
00054     virtual void SetName(int i,MCHAR *name) {};
00055     virtual void RegisterTVNodeNotify(TVNodeNotify *notify){};
00056     virtual void UnRegisterTVNodeNotify(TVNodeNotify *notify){};
00057     virtual PodObj* GetPodByNumber(int num){return NULL;}
00058     virtual void MergeGroups(int oldg,int newg){};
00059     virtual IOResult Load(ILoad *iload)=0;
00060     virtual IOResult Save(ISave *isave)=0;
00061 
00062     // This is a temporary build fix from Scott Morrison 6/14/00
00063     virtual void HideChildren(BOOL chide) {}
00064     #pragma warning(pop)
00065 
00066 };
00067