本文整理汇总了C++中KoParagraphStyle::parentStyle方法的典型用法代码示例。如果您正苦于以下问题:C++ KoParagraphStyle::parentStyle方法的具体用法?C++ KoParagraphStyle::parentStyle怎么用?C++ KoParagraphStyle::parentStyle使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KoParagraphStyle
的用法示例。
在下文中一共展示了KoParagraphStyle::parentStyle方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: createMapping
void ValidParentStylesProxyModel::createMapping()
{
if (!m_styleManager || !m_sourceModel) {
return;
}
m_sourceToProxy.clear();
m_proxyToSource.clear();
for(int i = 0; i < m_sourceModel->rowCount(QModelIndex()); ++i) {
QModelIndex index = m_sourceModel->index(i, 0, QModelIndex());
int id = (int)index.internalId();
KoParagraphStyle *paragraphStyle = m_styleManager->paragraphStyle(id);
if (paragraphStyle) {
bool ok = true;
KoParagraphStyle *testStyle = paragraphStyle;
while (testStyle && ok) {
ok = testStyle->styleId() != m_currentChildStyleId;
testStyle = testStyle->parentStyle();
}
if (!ok) {
continue; //we cannot inherit ourself even indirectly through the parent chain
}
m_proxyToSource.append(i); //the style is ok for parenting
}
else {
KoCharacterStyle *characterStyle = m_styleManager->characterStyle(id);
if (characterStyle) {
bool ok = true;
KoCharacterStyle *testStyle = characterStyle;
while (testStyle && ok) {
ok = testStyle->styleId() != m_currentChildStyleId;
testStyle = testStyle->parentStyle();
}
if (!ok) {
continue; //we cannot inherit ourself even indirectly through the parent chain
}
m_proxyToSource.append(i); //the style is ok for parenting
}
}
}
m_sourceToProxy.fill(-1, m_sourceModel->rowCount(QModelIndex()));
for(int i = 0; i < m_proxyToSource.count(); ++i) {
m_sourceToProxy[m_proxyToSource.at(i)] = i;
}
}