📄 iaggregation.h
字号:
/**********************************************************************
*<
FILE: IAggregation.h
DESCRIPTION: Interface to object aggregation manager
CREATED BY: John Hutchinson
HISTORY: Created January 9, 1999
*> Copyright (c) 1994, All Rights Reserved.
**********************************************************************/
#pragma once
// DESCRIPTION:
// The IAggregation class is the interface class for representing
// the process of object aggregation
//some constants passed to association class descriptors when editing parameters
#define BEGIN_EDIT 1
#define END_EDIT 2
#define IMAGE_LOAD 3
typedef enum {eUncommitted,
ePending,
ePartial,
eFully,
eRejecting,
eAborting}
commitlevels;
typedef enum {eNoAffinity,
eSuperClassAffinity,
ePseudoSuperClassAffinity,
eClassAffinity,
eInterfaceAffinity,
eInstanceAffinity}
aggregationaffinity;
class IAggregation
{
public:
virtual void SetActiveComplex(INode* node) = 0;
virtual INode* GetActiveComplex() = 0;
virtual void Reset() = 0;
virtual bool SetProductFactory(SClass_ID superID, Class_ID classID) = 0;
virtual bool RegisterIntermediateFactory(ClassDesc* cd, int affinity) = 0;
virtual void ResetFactories() = 0;
virtual IRollupWindow* GetParamRollup() = 0;
virtual ClassDesc* GetSelClassDesc() const = 0;
virtual Animatable* GetSelClassTemplate() = 0;
virtual int ToolbarIndex(ClassDesc* cd) = 0;
virtual HIMAGELIST ToolbarImagelist(int which) = 0;
virtual bool RegisterAssocClass(ClassDesc* cd, int whichbar, int ioe_idx, int iod_idx, int iie_idx, int iid_idx) = 0;
virtual int CommitAggregation(int action, int flag) = 0;
virtual void Suspend() = 0;
virtual void Resume() = 0;
virtual bool isSuspended() = 0;
virtual INode* ReactToNode(INode* newnode) = 0;
virtual commitlevels Status() = 0;
};
class ValenceData
{
public:
ValenceData():m_type(0){};
int m_type;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -