00001 /********************************************************************** 00002 *< 00003 FILE: IUtilityPanel.h 00004 00005 DESCRIPTION: Function-published interface to access the utility panel 00006 00007 CREATED BY: David Cunningham 00008 00009 HISTORY: August 31, 2001 file created 00010 00011 *> Copyright (c) 2001, All Rights Reserved. 00012 **********************************************************************/ 00013 00014 #pragma once 00015 00016 #include "iFnPub.h" 00017 #define IUTIL_FO_INTERFACE Interface_ID(0x7476dc, 0x4364dc) 00018 00019 00020 //============================================================================== 00021 // class IUtilityPanel 00022 // 00023 // The interface to the utility panel manager. 00024 // 00025 // This class defines an interface for opening and closing utility plugins, and 00026 // provides maxscript access to the same. 00027 // 00028 // An instance of this interface can be retrieved using the following line of 00029 // code: 00030 // 00031 // static_cast<IUtilityPanel*>(GetCOREInterface(IUTIL_FO_INTERFACE)); 00032 // 00033 // Or, from maxscript (examples): 00034 // 00035 // UtilityPanel.OpenUtility Resource_Collector 00036 // UtilityPanel.OpenUtility Bitmap_Photometric_Path_Editor 00037 // UtilityPanel.CloseUtility 00038 // 00039 // The last example closes the currently open utility, if any. 00040 // 00041 //============================================================================== 00042 00043 // maxscript method enum 00044 enum { util_open, util_close }; 00045 00056 class IUtilityPanel : public FPStaticInterface { 00057 public: 00058 00068 virtual BOOL OpenUtility(ClassDesc*) = 0; 00070 virtual void CloseUtility() = 0; 00071 00072 }; 00073 00074