本文整理汇总了C++中Component::Attach方法的典型用法代码示例。如果您正苦于以下问题:C++ Component::Attach方法的具体用法?C++ Component::Attach怎么用?C++ Component::Attach使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Component
的用法示例。
在下文中一共展示了Component::Attach方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Update
void Viewer::Update () {
Selection* s = GetSelection();
GraphicView* view = GetGraphicView();
Component* viewComp = view->GetGraphicComp();
Component* edComp = _editor->GetComponent();
if (viewComp != edComp) {
ComponentView* newView = edComp->Create(ViewCategory());
if (newView->IsA(GRAPHIC_VIEW)) {
edComp->Attach(newView);
newView->Update();
SetGraphicView((GraphicView*) newView);
} else {
delete newView;
}
} else {
s->Hide(this);
_viewerView->Update();
GraphicBlock::UpdatePerspective();
_damage->Repair();
s->Show(this);
}
}
示例2: dup_as_needed
void AttributeValue::dup_as_needed() {
if (_type == AttributeValue::ArrayType) {
AttributeValueList* avl = _v.arrayval.ptr;
_v.arrayval.ptr = new AttributeValueList(avl);
Resource::ref(_v.arrayval.ptr);
Resource::unref(avl);
} else if (_type == AttributeValue::StreamType) {
AttributeValueList* avl = _v.streamval.listptr;
_v.streamval.listptr = new AttributeValueList(avl);
Resource::ref(_v.streamval.listptr);
Resource::unref(avl);
}
#ifdef RESOURCE_COMPVIEW
else if (_type == AttributeValue::ObjectType && object_compview()) {
ComponentView* oldview = (ComponentView*)_v.objval.ptr;
Component* subject = oldview->GetSubject();
ComponentView* newview = oldview->Duplicate();
newview->SetSubject(subject);
subject->Attach(newview);
_v.objval.ptr = newview;
Resource::ref(newview);
Resource::unref(oldview);
}
#endif
}