IActionItemOverrideManager.h

Go to the documentation of this file.
00001 //**************************************************************************/
00002 // Copyright (c) 1998-2007 Autodesk, Inc.
00003 // All rights reserved.
00004 // 
00005 // These coded instructions, statements, and computer programs contain
00006 // unpublished proprietary information written by Autodesk, Inc., and are
00007 // protected by Federal copyright law. They may not be disclosed to third
00008 // parties or copied or duplicated in any form, in whole or in part, without
00009 // the prior written consent of Autodesk, Inc.
00010 /**************************************************************************
00011     FILE: IActionItemOverrideManager.h
00012 
00013     DESCRIPTION: Declares a public header for a function published core interface
00014                  for managing Action Item Overrides.
00015     AUTHOR: Michael Zyracki - created 01.02.2007
00016 /***************************************************************************/
00017 #pragma once
00018 #include "MaxHeap.h"
00019 #include <WTypes.h>
00020 #include "ifnpub.h"
00021 
00022 class ActionItem;
00023 
00025 
00032 class IActionItemOverride : public MaxHeapOperators
00033 {
00034 public:
00036     virtual ~IActionItemOverride(){};
00037 
00040     virtual BOOL IsOverrideActive() = 0;
00041 
00043 
00047     virtual BOOL StartOverride() = 0;
00048 
00049 
00051 
00055     virtual BOOL EndOverride() = 0;
00056 };
00057 
00059 #define IACTIONITEMOVERRIDEMANAGER_INTERFACE Interface_ID(0x5e1b66eb, 0x4bc034de)
00060 
00062 
00068 class IActionItemOverrideManager : public FPStaticInterface
00069 {
00070 public:
00071 
00073 
00075     virtual void SetOverridesActive(BOOL active) = 0;
00076     
00078     
00080     virtual BOOL GetOverridesActive(void)const = 0;
00081 
00083 
00085     virtual void SetTimeToStartOverride(float secs) =0;
00086 
00088     
00090     virtual float GetTimeToStartOverride()const = 0;
00091 
00092 
00094 
00099     virtual void RegisterActionItemOverride(ActionItem *aItem,MSTR &overrideDescription) =0;
00100 
00102 
00106     virtual void UnregisterActionItemOverride(ActionItem *aItem) =0;
00107 
00112     virtual BOOL IsActionItemRegistered(ActionItem *aItem,MSTR &description) = 0;
00114 
00121     virtual void ActivateActionItemOverride(ActionItem *aItem,IActionItemOverride*  aItemOverride)=0;
00122     
00124 
00130     virtual void DeactivateActionItemOverride(ActionItem* aItem)=0;
00131 
00133     
00136     virtual IActionItemOverride * FindOverride(ActionItem * aItem)=0 ;
00137 
00138 
00140 
00142     virtual ActionItem* GetOverridingActionItem()const = 0;
00143 
00144 };
00145 
00146