#ifndef EDMPLUGINMAIN_VISITED #define EDMPLUGINMAIN_VISITED /***************************************************************************\ * Flags for menu reactors. These flags can be OR:ed together. \***************************************************************************/ const int Rmnu_Nothing = 0; //No requirements. const int Rmnu_MustHaveSelection = 1; //Item only available when file/folder selected. const int Rmnu_OnlyFiles = 2; //Only files, not folders valid for command. const int Rmnu_OnlyFolders = 4; //Only folders, not files valid for command. const int Rmnu_OnlySingleSelection = 8; //Only valid on a single file/folder. const int Rmnu_OnlyMultipleSelection = 16; //Only valid on multiple files/folders. const int Rmnu_OnlyInContextMenu = 32; //Only display item in context menu. const int Rmnu_NeverInContextMenu = 64; //Only in standard menu, not in the context menu. /***************************************************************************\ * Access rights flags. These flags can be OR:ed together. * The flags can be passed as argument to IEdmFile::HasRights \***************************************************************************/ const int Right_Read = 1; const int Right_Lock = 2; const int Right_Destroy = 4; const int Right_AddRename = 8; const int Right_Share = 16; /***************************************************************************\ * Control types. These constants are returned by the method * IEdmCardControl::GetType \***************************************************************************/ const int CtrlType_Icon = 1; const int CtrlType_Text = 2; const int CtrlType_Frame = 3; const int CtrlType_Editbox = 4; const int CtrlType_Button = 5; const int CtrlType_RadioColumn = 6; const int CtrlType_ComboboxSimple = 7; const int CtrlType_ComboboxDropdown = 8; const int CtrlType_ComboboxDroplist = 9; const int CtrlType_Listbox = 10; const int CtrlType_TabControl = 11; const int CtrlType_Viewer = 12; const int CtrlType_Checkbox = 13; /***************************************************************************\ * Validation types. Returned from IEdmCardControl::GetValidation. \***************************************************************************/ const int CtrlValidation_None = 0; //No validation. const int CtrlValidation_String = 1; //Check string length. const int CtrlValidation_Int = 2; //Check integer range. const int CtrlValidation_Double = 3; //Check floating point value range. const int CtrlValidation_Date = 4; //Check date range. /***************************************************************************\ * Value types. Returned from IEdmCardCtrl::GetValueType. \***************************************************************************/ const int CtrlValue_None = 0; //Not connected to a variable. const int CtrlValue_Attribute = 1; //Obsolete in Conisio 5.0 const int CtrlValue_AttributeClass = 2; //Obsolete in Conisio 5.0 const int CtrlValue_Variable = 3; //Connected to a variable. /***************************************************************************\ * Bit flags for the file format plugins. \***************************************************************************/ enum EdmFileFormatFlags { EdmFmt_HasReferences = 1, //A file can reference other files? EdmFmt_HasExtraSubFileNavigation = 2, //Has sub-file navigation besides references? EdmFmt_HasPreview = 4, //Has IEdmFilePreview interface? EdmFmt_HasAttributes = 8, //Can store attributes? EdmFmt_PreviewExtendsViewMenu = 16, //Will preview add items to view menu? EdmFmt_HasProjectName = 32, //Supports a ProjectName variable? EdmFmt_CustomRootFolder = 64, //The root folder is a custom sub-file folder? EdmFmt_HasConfigurations = 128,//Supports configurations? EdmFmt_RoutedClass = 256,//Some functionality handled by another plugin? EdmFmt_HasGhosts = 512,//Ghostreferences, references referenced by reference but stored in main drawing EdmFmt_GetNotify = 1024,//call plugin after get EdmFmt_GetTopNodeData = 2048,//call plugin when starting to process a topnode ref EdmFmt_HasBOMs = 4096,//Supports BOMs? EdmFmt_All = 0xffffffff //All flags, used as mask. }; /***************************************************************************\ * Flags to IEdmVault::CreatePluginMenu2. These flags are defined in the * type library. \***************************************************************************/ /* typedef enum tagPluginMenuFlags { PMF_AllItemsInSameFolder = 1, PMF_IncludeAdminItem = 2, PMF_GrayOutInvalidItems = 4, PMF_ContextMenu = 8 } PluginMenuFlags; */ /***************************************************************************\ * IDs of interfaces and classes. \***************************************************************************/ #ifndef _EDMINTERFACE_MAIN #ifdef __cplusplus extern "C" { #endif extern const GUID IID_IEdmReactor; extern const GUID IID_IEdmReactorMenu; extern const GUID IID_IEdmReactorState; extern const GUID IID_IEdmReactorLock; extern const GUID IID_IEdmReactorFileOp; //Class IDs. #define CLSID__EdmStrLst __uuidof(EdmStrLst) //{0x0969ABCC,0x61CE,0x11D3,{0x90,0xDD,0x00,0xC0,0x4F,0x56,0xB3,0xAF}}; #define CLSID__EdmVault __uuidof(EdmVault) //{0xAE784C6C,0x0155,0x11D3,{0xB2,0x4B,0x00,0x00,0xF8,0x79,0xF9,0x3B}}; #ifdef __cplusplus } #endif #endif /***************************************************************************\ * Useful macros \***************************************************************************/ #define VERIFY_PTR(PTR) if(!PTR) { ASSERT(false); return E_POINTER; } #endif