本文整理汇总了C++中ItemList::toSingle方法的典型用法代码示例。如果您正苦于以下问题:C++ ItemList::toSingle方法的具体用法?C++ ItemList::toSingle怎么用?C++ ItemList::toSingle使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ItemList
的用法示例。
在下文中一共展示了ItemList::toSingle方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: onItemSelectionChanged
void BodyBarImpl::onItemSelectionChanged(const ItemList<BodyItem>& bodyItems)
{
bool selectedBodyItemsChanged = false;
if(selectedBodyItems != bodyItems){
selectedBodyItems = bodyItems;
selectedBodyItemsChanged = true;
}
BodyItem* firstItem = bodyItems.toSingle();
if(firstItem && firstItem != currentBodyItem){
currentBodyItem = firstItem;
connectionOfCurrentBodyItemDetachedFromRoot.disconnect();
connectionOfCurrentBodyItemDetachedFromRoot = currentBodyItem->sigDetachedFromRoot().connect(
std::bind(&BodyBarImpl::onBodyItemDetachedFromRoot, this));
sigCurrentBodyItemChanged(currentBodyItem.get());
}
if(selectedBodyItemsChanged){
sigBodyItemSelectionChanged(selectedBodyItems);
}
targetBodyItems.clear();
if(selectedBodyItems.empty()){
if(currentBodyItem){
targetBodyItems.push_back(currentBodyItem);
}
} else {
targetBodyItems = selectedBodyItems;
}
}
示例2: onItemSelectionChanged
void TextEditViewImpl::onItemSelectionChanged(const ItemList<AbstractTextItem>& textItems)
{
if(selectedTextItems_ != textItems)
selectedTextItems_ = textItems;
else
return;
AbstractTextItemPtr firstItem = textItems.toSingle();
if(firstItem && firstItem != currentTextItem_){
if(currentTextItem_)
maybeSave();
currentTextItem_ = firstItem;
connectionOfCurrentBodyItemDetachedFromRoot.disconnect();
connectionOfCurrentBodyItemDetachedFromRoot = currentTextItem_->sigDetachedFromRoot().connect(
boost::bind(&TextEditViewImpl::onTextItemDetachedFromRoot, this));
open();
}
}