void PlainTextEditorWidget::configure(const MimeType &mimeType) { Highlighter *highlighter = new Highlighter(); baseTextDocument()->setSyntaxHighlighter(highlighter); setCodeFoldingSupported(false); if (!mimeType.isNull()) { m_isMissingSyntaxDefinition = true; setMimeTypeForHighlighter(highlighter, mimeType); const QString &type = mimeType.type(); baseTextDocument()->setMimeType(type); QString definitionId = Manager::instance()->definitionIdByMimeType(type); if (definitionId.isEmpty()) definitionId = findDefinitionId(mimeType, true); if (!definitionId.isEmpty()) { m_isMissingSyntaxDefinition = false; const QSharedPointer<HighlightDefinition> &definition = Manager::instance()->definition(definitionId); if (!definition.isNull() && definition->isValid()) { m_commentDefinition.isAfterWhiteSpaces = definition->isCommentAfterWhiteSpaces(); m_commentDefinition.singleLine = definition->singleLineComment(); m_commentDefinition.multiLineStart = definition->multiLineCommentStart(); m_commentDefinition.multiLineEnd = definition->multiLineCommentEnd(); setCodeFoldingSupported(true); } } else { const QString &fileName = baseTextDocument()->filePath(); if (TextEditorSettings::highlighterSettings().isIgnoredFilePattern(fileName)) m_isMissingSyntaxDefinition = false; } } baseTextDocument()->setFontSettings(TextEditorSettings::fontSettings()); emit configured(editor()); }
ProFileEditorWidget::ProFileEditorWidget(QWidget *parent, ProFileEditorFactory *factory, TextEditor::TextEditorActionHandler *ah) : BaseTextEditorWidget(parent), m_factory(factory), m_ah(ah) { QSharedPointer<ProFileDocument> doc(new ProFileDocument()); doc->setMimeType(QLatin1String(Constants::PROFILE_MIMETYPE)); setBaseTextDocument(doc); ah->setupActions(this); baseTextDocument()->setSyntaxHighlighter(new ProFileHighlighter); m_commentDefinition.clearCommentStyles(); m_commentDefinition.singleLine = QLatin1Char('#'); }
EditorWidget::EditorWidget(QWidget *parent) :TextEditor::BaseTextEditorWidget(parent) { m_commentDefinition.multiLineStart.clear(); m_commentDefinition.multiLineEnd.clear(); m_commentDefinition.singleLine = QLatin1Char('#'); setParenthesesMatchingEnabled(true); setMarksVisible(true); setCodeFoldingSupported(true); setIndenter(new PythonIndenter()); new PythonHighlighter(baseTextDocument().data()); }
void ProFileEditorWidget::setFontSettings(const TextEditor::FontSettings &fs) { TextEditor::BaseTextEditorWidget::setFontSettings(fs); ProFileHighlighter *highlighter = qobject_cast<ProFileHighlighter*>(baseTextDocument()->syntaxHighlighter()); if (!highlighter) return; static QVector<TextEditor::TextStyle> categories; if (categories.isEmpty()) { categories << TextEditor::C_TYPE << TextEditor::C_KEYWORD << TextEditor::C_COMMENT << TextEditor::C_VISUAL_WHITESPACE; } highlighter->setFormats(fs.toTextCharFormats(categories)); highlighter->rehighlight(); }
void VCSBaseEditorWidget::init() { switch (d->m_parameters->type) { case RegularCommandOutput: case LogOutput: case AnnotateOutput: // Annotation highlighting depends on contents, which is set later on connect(this, SIGNAL(textChanged()), this, SLOT(slotActivateAnnotation())); break; case DiffOutput: { DiffHighlighter *dh = createDiffHighlighter(); setCodeFoldingSupported(true); baseTextDocument()->setSyntaxHighlighter(dh); d->m_diffFilePattern = dh->filePattern(); connect(this, SIGNAL(textChanged()), this, SLOT(slotPopulateDiffBrowser())); connect(this, SIGNAL(cursorPositionChanged()), this, SLOT(slotDiffCursorPositionChanged())); } break; } }
Internal::FormWindowFile *DesignerXmlEditorWidget::formWindowFile() const { return qobject_cast<FormWindowFile *>(baseTextDocument()); }
QTextCodec *VCSBaseEditorWidget::codec() const { return baseTextDocument()->codec(); }
bool VCSBaseEditorWidget::isForceReadOnly() const { const Internal::VCSBaseTextDocument *vbd = qobject_cast<const Internal::VCSBaseTextDocument*>(baseTextDocument()); QTC_ASSERT(vbd, return false); return vbd->isForceReadOnly(); }
void VCSBaseEditorWidget::setForceReadOnly(bool b) { Internal::VCSBaseTextDocument *vbd = qobject_cast<Internal::VCSBaseTextDocument*>(baseTextDocument()); VCSBaseEditor *eda = qobject_cast<VCSBaseEditor *>(editor()); QTC_ASSERT(vbd != 0 && eda != 0, return); setReadOnly(b); vbd->setForceReadOnly(b); eda->setTemporary(b); }