Inherited from NULL
Inherited by PrePicker
Friend class NULL
Description
Picker负责管理被用户选择的对象,这些对象在Picker中以UniqueEntity的形式存在,它包括对象的类型,身份ID以及父对象ID等主要信息,对象的类型在后续定制开发过程中按照一定的规则可进行扩展和补充。K2中有大量的类本身拥有不同的目标对象,如LBC/Metric等等,Picker可以通过bindContainer将类的目标与Picker绑定起来。PickContainer是Picker面向用户的UI视图。
Members
Public interface
Picker(MemPool * pItemPool,MemPool * pHashPool)
UniqueEntity *
insertItem(ModelTypeID mt, UniqueEntityTagID t, ulong id)
-
void
removeItem(ModelTypeID mt, UniqueEntityTagID t, ulong id)
-
-
bool
isItemPicked(ModelTypeID mt, UniqueEntityTagID t, ulong id)
-
-
-
-
-
-
-
virtual void
bindContainer(TreeItem * pContainer,bool bUpdateContainer = false)
PickingItemHash * m_pPickingItemHash
被管理的对象Hash,对象以UniqueEntity形式保持
LinkList * m_pPickList
被管理的对象list,新加入的对象都放在该对象末尾,以记录对象被选择的顺序
LinkList * m_pFragmentList
碎片对象list,碎片具体的对象取决于实际需要,比如前处理中某些内部体单元等
MemPool * m_pItemPool
内存池
int m_iItemCount[UETag_Type_Count]
记录每种对象的个数
Picker(MemPool * pItemPool,MemPool * pHashPool)
function: 构造Picker
parameters:
[i]MemPool * pItemPool:
[i]MemPool * pHashPool:
return value:
UniqueEntity * insertItem(ModelTypeID mt, UniqueEntityTagID t, ulong id)
function:
parameters:
[i]ModelTypeID mt:
[i] UniqueEntityTagID t:
[i] ulong id:
return value:
UniqueEntity * getLastItem()
function:
parameters: NULL
return value:
void removeItem(ModelTypeID mt, UniqueEntityTagID t, ulong id)
function:
parameters:
[i]ModelTypeID mt:
[i] UniqueEntityTagID t:
[i] ulong id:
return value:
int getItemCount(UniqueEntityTagID t = UETag_None)
function:
parameters:
[i]UniqueEntityTagID t = UETag_None:
return value:
void clear()
function:
parameters: NULL
return value:
bool isItemPicked(ModelTypeID mt, UniqueEntityTagID t, ulong id)
function:
parameters:
[i]ModelTypeID mt:
[i] UniqueEntityTagID t:
[i] ulong id:
return value:
void bindItemIterator(Iterator * iter)
function:
parameters:
[i]Iterator * iter:
return value:
void setPickingRule(UniqueEntityTagID t,int count)
function:
parameters:
[i]UniqueEntityTagID t:
[i]int count:
return value:
virtual void infoItemPicked(IDocument * pDoc,UniqueEntity * ue)
function:
parameters:
[i]IDocument * pDoc:
[i]UniqueEntity * ue:
return value:
int getFragmentItemCount()
function:
parameters: NULL
return value:
void clearFragment()
function:
parameters: NULL
return value:
void bindFragmentIterator(Iterator * iter)
function:
parameters:
[i]Iterator * iter:
return value:
LinkList * getFragmentList()
function:
parameters: NULL
return value:
virtual void bindContainer(TreeItem * pContainer,bool bUpdateContainer = false)
function:
parameters:
[i]TreeItem * pContainer:
[i]bool bUpdateContainer = false:
return value: