本文整理汇总了C++中TreeViewItem::isInterestedInDragSource方法的典型用法代码示例。如果您正苦于以下问题:C++ TreeViewItem::isInterestedInDragSource方法的具体用法?C++ TreeViewItem::isInterestedInDragSource怎么用?C++ TreeViewItem::isInterestedInDragSource使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TreeViewItem
的用法示例。
在下文中一共展示了TreeViewItem::isInterestedInDragSource方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getInsertPosition
TreeViewItem* TreeView::getInsertPosition (int& x, int& y, int& insertIndex,
const StringArray& files, const String& sourceDescription,
Component* sourceComponent) const throw()
{
insertIndex = 0;
TreeViewItem* item = getItemAt (y);
if (item == 0)
return 0;
Rectangle<int> itemPos (item->getItemPosition (true));
insertIndex = item->getIndexInParent();
const int oldY = y;
y = itemPos.getY();
if (item->getNumSubItems() == 0 || ! item->isOpen())
{
if (files.size() > 0 ? item->isInterestedInFileDrag (files)
: item->isInterestedInDragSource (sourceDescription, sourceComponent))
{
// Check if we're trying to drag into an empty group item..
if (oldY > itemPos.getY() + itemPos.getHeight() / 4
&& oldY < itemPos.getBottom() - itemPos.getHeight() / 4)
{
insertIndex = 0;
x = itemPos.getX() + getIndentSize();
y = itemPos.getBottom();
return item;
}
}
}
if (oldY > itemPos.getCentreY())
{
y += item->getItemHeight();
while (item->isLastOfSiblings() && item->parentItem != 0
&& item->parentItem->parentItem != 0)
{
if (x > itemPos.getX())
break;
item = item->parentItem;
itemPos = item->getItemPosition (true);
insertIndex = item->getIndexInParent();
}
++insertIndex;
}
x = itemPos.getX();
return item->parentItem;
}