本文整理汇总了C++中KateView::cursorPosition方法的典型用法代码示例。如果您正苦于以下问题:C++ KateView::cursorPosition方法的具体用法?C++ KateView::cursorPosition怎么用?C++ KateView::cursorPosition使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KateView
的用法示例。
在下文中一共展示了KateView::cursorPosition方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: testSelectionUndo
void UndoManagerTest::testSelectionUndo()
{
TestDocument doc;
KateView *view = static_cast<KateView*>(doc.createView(0));
doc.setText("aaaa bbbb cccc\n"
"dddd eeee ffff");
view->setCursorPosition(KTextEditor::Cursor(1, 9));
KTextEditor::Range selectionRange(KTextEditor::Cursor(0, 5),
KTextEditor::Cursor(1, 9));
view->setSelection(selectionRange);
doc.typeChars(view, "eeee");
// cursor position: "aaaa eeee| ffff", no selection anymore
QCOMPARE(view->cursorPosition(), KTextEditor::Cursor(0, 9));
QCOMPARE(view->selection(), false);
// undo to remove "eeee" and add selection and text again
doc.undo();
QCOMPARE(view->cursorPosition(), KTextEditor::Cursor(1, 9));
QCOMPARE(view->selection(), true);
QCOMPARE(view->selectionRange(), selectionRange);
// redo to insert "eeee" again and remove selection
// cursor position: "aaaa eeee| ffff", no selection anymore
doc.redo();
QCOMPARE(view->cursorPosition(), KTextEditor::Cursor(0, 9));
QCOMPARE(view->selection(), false);
delete view;
}
示例2: testCursorPosition
void UndoManagerTest::testCursorPosition()
{
TestDocument doc;
KateView *view = static_cast<KateView*>(doc.createView(0));
doc.setText("aaaa bbbb cccc\n"
"dddd ffff");
view->setCursorPosition(KTextEditor::Cursor(1, 5));
doc.typeChars(view, "eeee");
// cursor position: "dddd eeee| ffff"
QCOMPARE(view->cursorPosition(), KTextEditor::Cursor(1, 9));
// undo once to remove "eeee", cursor position: "dddd | ffff"
doc.undo();
QCOMPARE(view->cursorPosition(), KTextEditor::Cursor(1, 5));
// redo once to insert "eeee" again. cursor position: "dddd eeee| ffff"
doc.redo();
QCOMPARE(view->cursorPosition(), KTextEditor::Cursor(1, 9));
delete view;
}
示例3: testFeedbackCaret
// tests:
// - RangeFeedback::caretEnteredRange
// - RangeFeedback::caretExitedRange
void MovingRangeTest::testFeedbackCaret()
{
KateDocument doc (false, false, false);
// the range created below will span the 'x' characters
QString text("..xxxx\n"
"xxxx..");
doc.setText(text);
KateView* view = static_cast<KateView*>(doc.createView(0));
// create range feedback
RangeFeedback rf;
// first test: with ExpandLeft | ExpandRight
{
view->setCursorPosition(Cursor(1, 6));
MovingRange* range = doc.newMovingRange(Range(Cursor(0, 2), Cursor(1, 4)),
KTextEditor::MovingRange::ExpandLeft |
KTextEditor::MovingRange::ExpandRight,
KTextEditor::MovingRange::InvalidateIfEmpty);
rf.reset();
range->setFeedback(&rf);
rf.verifyReset();
// left
view->cursorLeft();
QCOMPARE(view->cursorPosition(), Cursor(1, 5));
QVERIFY(!rf.caretEnteredRangeCalled());
QVERIFY(!rf.caretExitedRangeCalled());
view->cursorLeft();
QCOMPARE(view->cursorPosition(), Cursor(1, 4));
QVERIFY(rf.caretEnteredRangeCalled()); // ExpandRight: include cursor already now
QVERIFY(!rf.caretExitedRangeCalled());
rf.reset();
view->cursorLeft();
QCOMPARE(view->cursorPosition(), Cursor(1, 3));
QVERIFY(!rf.caretEnteredRangeCalled());
QVERIFY(!rf.caretExitedRangeCalled());
rf.reset();
view->up();
QCOMPARE(view->cursorPosition(), Cursor(0, 3));
QVERIFY(!rf.caretEnteredRangeCalled());
QVERIFY(!rf.caretExitedRangeCalled());
rf.reset();
view->cursorLeft();
QCOMPARE(view->cursorPosition(), Cursor(0, 2));
QVERIFY(!rf.caretEnteredRangeCalled());
QVERIFY(!rf.caretExitedRangeCalled());
rf.reset();
view->cursorLeft();
QCOMPARE(view->cursorPosition(), Cursor(0, 1)); // ExpandLeft: now we left it, not before
QVERIFY(!rf.caretEnteredRangeCalled());
QVERIFY(rf.caretExitedRangeCalled());
delete range;
}
// second test: with DoNotExpand
{
view->setCursorPosition(Cursor(1, 6));
MovingRange* range = doc.newMovingRange(Range(Cursor(0, 2), Cursor(1, 4)),
KTextEditor::MovingRange::DoNotExpand,
KTextEditor::MovingRange::InvalidateIfEmpty);
rf.reset();
range->setFeedback(&rf);
rf.verifyReset();
// left
view->cursorLeft();
QCOMPARE(view->cursorPosition(), Cursor(1, 5));
QVERIFY(!rf.caretEnteredRangeCalled());
QVERIFY(!rf.caretExitedRangeCalled());
view->cursorLeft();
QCOMPARE(view->cursorPosition(), Cursor(1, 4));
QVERIFY(!rf.caretEnteredRangeCalled()); // DoNotExpand: does not include cursor
QVERIFY(!rf.caretExitedRangeCalled());
rf.reset();
view->cursorLeft();
QCOMPARE(view->cursorPosition(), Cursor(1, 3));
QVERIFY(rf.caretEnteredRangeCalled());
QVERIFY(!rf.caretExitedRangeCalled());
rf.reset();
view->up();
QCOMPARE(view->cursorPosition(), Cursor(0, 3));
QVERIFY(!rf.caretEnteredRangeCalled());
QVERIFY(!rf.caretExitedRangeCalled());
//.........这里部分代码省略.........
示例4: args
//.........这里部分代码省略.........
cmd == "goto" )
{
// find a integer value > 0
if ( ! args.count() )
KCC_ERR( i18n("Missing argument. Usage: %1 <value>", cmd ) );
bool ok;
int val ( args.first().toInt( &ok, 10 ) ); // use base 10 even if the string starts with '0'
if ( !ok )
KCC_ERR( i18n("Failed to convert argument '%1' to integer.",
args.first() ) );
if ( cmd == "set-tab-width" )
{
if ( val < 1 )
KCC_ERR( i18n("Width must be at least 1.") );
v->doc()->config()->setTabWidth( val );
}
else if ( cmd == "set-indent-width" )
{
if ( val < 1 )
KCC_ERR( i18n("Width must be at least 1.") );
v->doc()->config()->setIndentationWidth( val );
}
else if ( cmd == "set-word-wrap-column" )
{
if ( val < 2 )
KCC_ERR( i18n("Column must be at least 1.") );
v->doc()->setWordWrapAt( val );
}
else if ( cmd == "goto" )
{
if ( args.first().at(0) == '-' || args.first().at(0) == '+' ) {
// if the number starts with a minus or plus sign, add/subract the number
val = v->cursorPosition().line() + val;
} else {
val--; // convert given line number to the internal representation of line numbers
}
// constrain cursor to the range [0, number of lines]
if ( val < 0 ) {
val = 0;
} else if ( val > v->doc()->lines()-1 ) {
val = v->doc()->lines()-1;
}
v->setCursorPosition( KTextEditor::Cursor( val, 0 ) );
return true;
}
return true;
}
// ALL commands that takes 1 boolean argument.
else if ( cmd == "set-icon-border" ||
cmd == "set-folding-markers" ||
cmd == "set-line-numbers" ||
cmd == "set-replace-tabs" ||
cmd == "set-show-tabs" ||
cmd == "set-word-wrap" ||
cmd == "set-wrap-cursor" ||
cmd == "set-replace-tabs-save" ||
cmd == "set-show-indent" )
{
if ( ! args.count() )
KCC_ERR( i18n("Usage: %1 on|off|1|0|true|false", cmd ) );
bool enable = false;
KateDocumentConfig * const config = v->doc()->config();