本文整理汇总了C++中WModelIndex::depth方法的典型用法代码示例。如果您正苦于以下问题:C++ WModelIndex::depth方法的具体用法?C++ WModelIndex::depth怎么用?C++ WModelIndex::depth使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WModelIndex
的用法示例。
在下文中一共展示了WModelIndex::depth方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
bool WModelIndex::operator< (const WModelIndex& i2) const
{
const WModelIndex& i1 = *this;
if (!i1.isValid())
return i2.isValid();
else if (!i2.isValid())
return false;
else if (i1 == i2)
return false;
else if (i1.model() != i2.model()) {
LOG_ERROR("comparing indexes from different models are you?");
return false;
}
int i1Depth = i1.depth();
int i2Depth = i2.depth();
unsigned e = std::min(i1Depth, i2Depth);
WModelIndex a1 = i1.ancestor(i1Depth - e);
WModelIndex a2 = i2.ancestor(i2Depth - e);
if (a1 == a2)
return i1Depth < i2Depth;
for (unsigned i = e; i > 0; --i) {
WModelIndex p1 = a1.parent();
WModelIndex p2 = a2.parent();
if (p1 == p2) {
if (a1.row() < a2.row())
return true;
else if (a1.row() > a2.row())
return false;
else if (a1.column() < a2.column())
return true;
else
return false;
}
a1 = p1;
a2 = p2;
}
return false; // unreachable code
}