本文整理汇总了C++中ktexteditor::View类的典型用法代码示例。如果您正苦于以下问题:C++ View类的具体用法?C++ View怎么用?C++ View使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了View类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: cursorContextDeclaration
///The first definition that belongs to a context that surrounds the current cursor
Declaration* cursorContextDeclaration() {
KTextEditor::View* view = ICore::self()->documentController()->activeTextDocumentView();
if(!view)
return nullptr;
KDevelop::DUChainReadLocker lock( DUChain::lock() );
TopDUContext* ctx = DUChainUtils::standardContextForUrl(view->document()->url());
if(!ctx)
return nullptr;
KTextEditor::Cursor cursor(view->cursorPosition());
DUContext* subCtx = ctx->findContext(ctx->transformToLocalRevision(cursor));
while(subCtx && !subCtx->owner())
subCtx = subCtx->parentContext();
Declaration* definition = nullptr;
if(!subCtx || !subCtx->owner())
definition = DUChainUtils::declarationInLine(cursor, ctx);
else
definition = subCtx->owner();
if(!definition)
return nullptr;
return definition;
}
示例2: createView
KTextEditor::View* HtmlEditor::createView( QWidget* parent )
{
KTextEditor::Document *document = mEditor->createDocument( parent );
bool result = document->setHighlightingMode( "html" );
if ( result ) {
kDebug() << "Syntax highlighting enabled";
}
KTextEditor::View *view = document->createView( parent );
QMenu *menu = view->defaultContextMenu();
KTextEditor::ConfigInterface *interface = qobject_cast< KTextEditor::ConfigInterface* >( view );
if ( interface ) {
KAction *actWordWrap = new KAction( i18n( "Dynamic Word Wrap" ), view );
actWordWrap->setCheckable( true );
connect( actWordWrap, SIGNAL(triggered(bool)), this, SLOT(toggleWordWrap()) );
KAction *actLineNumber = new KAction( i18n("Show line numbers"), view );
actLineNumber->setCheckable( true );
connect( actLineNumber, SIGNAL(triggered(bool)), this, SLOT(toggleLineNumber()) );
QMenu *options = new QMenu( i18n( "Options" ), qobject_cast< QWidget* >( view ) );
options->addAction( actWordWrap );
options->addAction( actLineNumber );
menu->addSeparator();
menu->addMenu( options );
interface->setConfigValue( "dynamic-word-wrap", true );
actWordWrap->setChecked( true );
}
view->setContextMenu( menu );
return view;
}
示例3: sync
void Konsole::sync()
{
if(!KileConfig::syncConsoleDirWithTabs()) {
return;
}
KTextEditor::Document *doc = m_ki->activeTextDocument();
KTextEditor::View *view = Q_NULLPTR;
if(doc) {
view = doc->views().first();
}
if(view) {
QString finame;
QUrl url = view->document()->url();
if(url.path().isEmpty()) {
return;
}
QFileInfo fic(url.adjusted(QUrl::RemoveFilename|QUrl::StripTrailingSlash).path());
if(fic.isReadable()) {
setDirectory(url.adjusted(QUrl::RemoveFilename|QUrl::StripTrailingSlash).path());
}
}
}
示例4: createView
bool KateViewManager::createView ( KTextEditor::Document *doc )
{
if (m_blockViewCreationAndActivation) return false;
// create doc
if (!doc)
doc = KateDocManager::self()->createDoc ();
// create view, registers its XML gui itself
KTextEditor::View *view = (KTextEditor::View *) doc->createView (activeViewSpace()->stack);
m_viewList.append (view);
m_activeStates[view] = false;
// disable settings dialog action
delete view->actionCollection()->action( "set_confdlg" );
delete view->actionCollection()->action( "editor_options" );
//view->setContextMenu(view->defaultContextMenu());
connect(view, SIGNAL(dropEventPass(QDropEvent *)), mainWindow(), SLOT(slotDropEvent(QDropEvent *)));
connect(view, SIGNAL(focusIn(KTextEditor::View *)), this, SLOT(activateSpace(KTextEditor::View *)));
activeViewSpace()->addView( view );
viewCreated(view);
activateView( view );
return true;
}
示例5: cursorDeclaration
Declaration* cursorDeclaration() {
KTextEditor::View* view = ICore::self()->documentController()->activeTextDocumentView();
if(!view)
return nullptr;
KDevelop::DUChainReadLocker lock( DUChain::lock() );
return DUChainUtils::declarationForDefinition( DUChainUtils::itemUnderCursor( view->document()->url(), KTextEditor::Cursor(view->cursorPosition()) ).declaration );
}
示例6: QWidget
TextEditor::TextEditor(KTextEditor::Document *editorPart, PackageModel *model, QWidget *parent)
: QWidget(parent)
{
QHBoxLayout *l = new QHBoxLayout(this);
QWidget *centralWidget = editorPart->widget();
KTextEditor::View *view = qobject_cast<KTextEditor::View*>(centralWidget);
if (view) {
view->setContextMenu(view->defaultContextMenu());
//modify the toolbar
modifyToolBar(view);
KTextEditor::ConfigInterface *config = qobject_cast<KTextEditor::ConfigInterface*>(view);
if (config) {
config->setConfigValue("line-numbers", true);
config->setConfigValue("dynamic-word-wrap", true);
}
config = dynamic_cast<KTextEditor::ConfigInterface*>(editorPart);
if (config) {
config->setConfigValue("backup-on-save-prefix", ".");
}
// set nice defaults for katepart
KTextEditor::CommandInterface *command = dynamic_cast<KTextEditor::CommandInterface *>(editorPart->editor());
QString ret;
if (command) { //generic
command->queryCommand("set-indent-mode")->exec(view, "set-indent-mode normal", ret); // more friendly
command->queryCommand("set-replace-tabs")->exec(view, "set-replace-tabs 1", ret);// replaces tabs with spaces????
command->queryCommand("set-indent-width")->exec(view, "set-indent-width 4", ret);//4 spaces, Plasma's general coding style
}
//we should be setting the specific editing indentation, highlighting based on the type of document
if (model->implementationApi() == "declarativeappletscript" || model->implementationApi() == "javascript") {
editorPart->setHighlightingMode("JavaScript");
} else if (model->implementationApi() == "ruby-script") {
editorPart->setHighlightingMode("ruby");
if (command) {
command->queryCommand("set-indent-width")->exec(view, "set-indent-width 2", ret);// 2 spaces recommended for ruby
}
}
//there is no need for one more control. But we keep the code because it is easier to understand.
//so keep the generic format.
/*} else if (editorPart->setHighlightingMode() == "python") {
continue;
// Q: why we don't change the spaces?
// A: 4 spaces are recommended for python
}*/
}
l->addWidget(centralWidget);
}
示例7: docUrl
QUrl KateBuildView::docUrl()
{
KTextEditor::View *kv = m_win->activeView();
if (!kv) {
qDebug() << "no KTextEditor::View" << endl;
return QUrl();
}
if (kv->document()->isModified()) kv->document()->save();
return kv->document()->url();
}
示例8: createView
KTextEditor::View* TextInfo::createView(QWidget *parent, const char* /* name */)
{
if(!m_doc) {
return Q_NULLPTR;
}
KTextEditor::View *view = m_doc->createView(parent);
installEventFilters(view);
installSignalConnections(view);
registerCodeCompletionModels(view);
view->setStatusBarEnabled(false);
connect(view, SIGNAL(destroyed(QObject*)), this, SLOT(slotViewDestroyed(QObject*)));
return view;
}
示例9: displayBuildResult
void KateBuildView::displayBuildResult(const QString &msg, KTextEditor::Message::MessageType level)
{
KTextEditor::View *kv = m_win->activeView();
if (!kv) return;
delete m_infoMessage;
m_infoMessage = new KTextEditor::Message(xi18nc("@info", "<title>Make Results:</title><nl/>%1", msg), level);
m_infoMessage->setWordWrap(true);
m_infoMessage->setPosition(KTextEditor::Message::BottomInView);
m_infoMessage->setAutoHide(5000);
m_infoMessage->setAutoHideMode(KTextEditor::Message::Immediate);
m_infoMessage->setView(kv);
kv->document()->postMessage(m_infoMessage);
}
示例10: slotDocChanged
void KatePluginSymbolViewerView::slotDocChanged()
{
slotRefreshSymbol();
KTextEditor::View *view = m_mainWindow->activeView();
//qDebug()<<"Document changed !!!!" << view;
if (view) {
connect(view, SIGNAL(cursorPositionChanged(KTextEditor::View*,KTextEditor::Cursor)),
this, SLOT(cursorPositionChanged()), Qt::UniqueConnection);
if (view->document()) {
connect(view->document(), SIGNAL(textChanged(KTextEditor::Document*)),
this, SLOT(slotDocEdited()), Qt::UniqueConnection);
}
}
示例11: lock
void KDevelop::DocumentationController::doShowDocumentation()
{
IDocument* doc = ICore::self()->documentController()->activeDocument();
if(!doc)
return;
KTextEditor::Document* textDoc = doc->textDocument();
if(!textDoc)
return;
KTextEditor::View* view = textDoc->activeView();
if(!view)
return;
KDevelop::DUChainReadLocker lock( DUChain::lock() );
Declaration *dec = DUChainUtils::declarationForDefinition( DUChainUtils::itemUnderCursor( doc->url(), SimpleCursor(view->cursorPosition()) ) );
if(dec) {
KSharedPtr< IDocumentation > documentation = documentationForDeclaration(dec);
if(documentation) {
showDocumentation(documentation);
}
}
}
示例12: slotEditKeys
void MainWindow::slotEditKeys()
{
KKeyDialog dlg;
dlg.insert(actionCollection());
if(m_tabEditor->count() != 0)
{
KTextEditor::View* view = m_tabEditor->currentView();
if(view)
{
dlg.insert(view->actionCollection());
}
}
dlg.configure();
}
示例13: showView
bool KateViewSpace::showView(KTextEditor::Document *document)
{
const int index = m_lruDocList.lastIndexOf(document);
if (index < 0) {
return false;
}
if (! m_docToView.contains(document)) {
return false;
}
KTextEditor::View *kv = m_docToView[document];
// move view to end of list
m_lruDocList.removeAt(index);
m_lruDocList.append(document);
stack->setCurrentWidget(kv);
kv->show();
// in case a tab does not exist, add one
if (! m_docToTabId.contains(document)) {
// if space is available, add button
if (m_tabBar->count() < m_tabBar->maxTabCount()) {
// just insert
insertTab(m_tabBar->count(), document);
} else {
// remove "oldest" button and replace with new one
Q_ASSERT(m_lruDocList.size() > m_tabBar->count());
// we need to subtract by 1 more, as we just added ourself to the end of the lru list!
KTextEditor::Document * docToHide = m_lruDocList[m_lruDocList.size() - m_tabBar->maxTabCount() - 1];
Q_ASSERT(m_docToTabId.contains(docToHide));
const int insertIndex = removeTab(docToHide, false);
// add new one at removed position
insertTab(insertIndex, document);
}
}
// follow current view
Q_ASSERT(m_docToTabId.contains(document));
m_tabBar->setCurrentTab(m_docToTabId.value(document, -1));
return true;
}
示例14: getCursorPos
// /home/follinge/projects/kscope-kde4/src/editorpage4.h:61:7: error: candidate is: bool kscope4::EditorPage::getCursorPos(uint&, uint&)
bool EditorPage::getCursorPos(int& nLine, int& nCol)
{
KTextEditor::View* pCursorIf;
// Acquire the view cursor
pCursorIf = dynamic_cast<KTextEditor::View*>(m_pView);
if (pCursorIf == NULL)
return false;
// Get the cursor position (adjusted to 1-based counting)
//pCursorIf->cursorPosition(&nLine, &nCol);
pCursorIf->cursorPosition().position(nLine, nCol);
nLine++;
nCol++;
return true;
}
示例15: slotClicked
void PluginKateXMLCheckView::slotClicked(QTreeWidgetItem *item, int column)
{
Q_UNUSED(column);
qDebug() << "slotClicked";
if( item ) {
bool ok = true;
uint line = item->text(1).toUInt(&ok);
bool ok2 = true;
uint column = item->text(2).toUInt(&ok);
if( ok && ok2 ) {
KTextEditor::View *kv = m_mainWindow->activeView();
if( ! kv )
return;
kv->setCursorPosition(KTextEditor::Cursor (line-1, column));
}
}
}