void TextBuffer::insertText (const KTextEditor::Cursor &position, const QString &text) { // only allowed if editing transaction running Q_ASSERT (m_editingTransactions > 0); // skip work, if no text to insert if (text.isEmpty()) return; // get block, this will assert on invalid line int blockIndex = blockForLine (position.line()); // let the block handle the insertText m_blocks.at(blockIndex)->insertText (position, text); // remember changes ++m_revision; // update changed line interval if (position.line () < m_editingMinimalLineChanged || m_editingMinimalLineChanged == -1) m_editingMinimalLineChanged = position.line (); if (position.line () > m_editingMaximalLineChanged) m_editingMaximalLineChanged = position.line (); // emit signal about done change emit textInserted (position, text); }
int MainWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QMainWindow::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: backgroundButtonGroupClicked((*reinterpret_cast< QAbstractButton*(*)>(_a[1]))); break; case 1: buttonGroupClicked((*reinterpret_cast< int(*)>(_a[1]))); break; case 2: deleteItem(); break; case 3: pointerGroupClicked((*reinterpret_cast< int(*)>(_a[1]))); break; case 4: bringToFront(); break; case 5: sendToBack(); break; case 6: itemInserted((*reinterpret_cast< DiagramItem*(*)>(_a[1]))); break; case 7: textInserted((*reinterpret_cast< QGraphicsTextItem*(*)>(_a[1]))); break; case 8: currentFontChanged((*reinterpret_cast< const QFont(*)>(_a[1]))); break; case 9: fontSizeChanged((*reinterpret_cast< const QString(*)>(_a[1]))); break; case 10: sceneScaleChanged((*reinterpret_cast< const QString(*)>(_a[1]))); break; case 11: textColorChanged(); break; case 12: itemColorChanged(); break; case 13: lineColorChanged(); break; case 14: textButtonTriggered(); break; case 15: fillButtonTriggered(); break; case 16: lineButtonTriggered(); break; case 17: handleFontChange(); break; case 18: itemSelected((*reinterpret_cast< QGraphicsItem*(*)>(_a[1]))); break; case 19: about(); break; default: ; } _id -= 20; } return _id; }
KateLayoutCache::KateLayoutCache(KateRenderer* renderer, QObject* parent) : QObject(parent) , m_renderer(renderer) , m_startPos(-1,-1) , m_viewWidth(0) , m_wrap(false) , m_acceptDirtyLayouts (false) { Q_ASSERT(m_renderer); /** * connect to all possible editing primitives */ connect(&m_renderer->doc()->buffer(), SIGNAL(lineWrapped(KTextEditor::Cursor)), this, SLOT(wrapLine(KTextEditor::Cursor))); connect(&m_renderer->doc()->buffer(), SIGNAL(lineUnwrapped(int)), this, SLOT(unwrapLine(int))); connect(&m_renderer->doc()->buffer(), SIGNAL(textInserted(KTextEditor::Cursor,QString)), this, SLOT(insertText(KTextEditor::Cursor,QString))); connect(&m_renderer->doc()->buffer(), SIGNAL(textRemoved(KTextEditor::Range,QString)), this, SLOT(removeText(KTextEditor::Range))); }
//! [6] void DiagramScene::mousePressEvent(QGraphicsSceneMouseEvent *mouseEvent) { if (mouseEvent->button() != Qt::LeftButton) return; DiagramItem *item; switch (myMode) { case InsertItem: item = new DiagramItem(myItemType, myItemMenu); item->setBrush(myItemColor); addItem(item); item->setPos(mouseEvent->scenePos()); emit itemInserted(item); break; //! [6] //! [7] case InsertLine: line = new QGraphicsLineItem(QLineF(mouseEvent->scenePos(), mouseEvent->scenePos())); line->setPen(QPen(myLineColor, 2)); addItem(line); break; //! [7] //! [8] case InsertText: textItem = new DiagramTextItem(); textItem->setFont(myFont); textItem->setTextInteractionFlags(Qt::TextEditorInteraction); textItem->setZValue(1000.0); connect(textItem, SIGNAL(lostFocus(DiagramTextItem*)), this, SLOT(editorLostFocus(DiagramTextItem*))); connect(textItem, SIGNAL(selectedChange(QGraphicsItem*)), this, SIGNAL(itemSelected(QGraphicsItem*))); addItem(textItem); textItem->setDefaultTextColor(myTextColor); textItem->setPos(mouseEvent->scenePos()); emit textInserted(textItem); //! [8] //! [9] default: ; } QGraphicsScene::mousePressEvent(mouseEvent); }
void TextBuffer::emitTextInserted( unsigned int offset, InfTextChunk *textChunk, InfUser *user ) { emit( textInserted( offset, TextChunk( textChunk ), User::wrap( user ) ) ); }