本文整理汇总了C++中QDocumentCursor::isWithinSelection方法的典型用法代码示例。如果您正苦于以下问题:C++ QDocumentCursor::isWithinSelection方法的具体用法?C++ QDocumentCursor::isWithinSelection怎么用?C++ QDocumentCursor::isWithinSelection使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QDocumentCursor
的用法示例。
在下文中一共展示了QDocumentCursor::isWithinSelection方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: removeRow
void LatexTables::removeRow(QDocumentCursor &c){
QDocumentCursor cur(c);
const QStringList tokens("\\\\");
if(cur.hasSelection()){
if(cur.lineNumber()>cur.anchorLineNumber()||(cur.lineNumber()==cur.anchorLineNumber() && cur.columnNumber()>cur.anchorColumnNumber())){
cur.moveTo(cur.anchorLineNumber(),cur.anchorColumnNumber());
}
}
int result=findNextToken(cur,tokens,false,true);
if(result==0) cur.movePosition(2,QDocumentCursor::Right);
if(result==-2) cur.movePosition(1,QDocumentCursor::EndOfLine);
bool breakLoop=false;
while(!(breakLoop=(findNextToken(cur,tokens,true)==-1)) && c.isWithinSelection(cur) ){
}
if(!breakLoop) {
// check if end of cursor is at line end
QDocumentCursor c2(cur.document(),cur.anchorLineNumber(),cur.anchorColumnNumber());
if(c2.atLineEnd()) {
c2.movePosition(1,QDocumentCursor::Right);
cur.moveTo(c2,QDocumentCursor::KeepAnchor);
}
// remove text
cur.beginEditBlock();
cur.removeSelectedText();
if(cur.line().text().isEmpty()) cur.deleteChar(); // don't leave empty lines
cur.endEditBlock();
}
}