ExpressionQueryWidget::ExpressionQueryWidget(Mode mode, QDeclarativeEngineDebug *client, QWidget *parent) : QWidget(parent), m_mode(mode), m_client(client), m_query(0), m_textEdit(new QPlainTextEdit), m_lineEdit(0) { m_prompt = QLatin1String(">"); QVBoxLayout *layout = new QVBoxLayout(this); layout->setMargin(0); layout->setSpacing(0); layout->addWidget(m_textEdit); m_textEdit->setFrameStyle(QFrame::NoFrame); updateTitle(); m_highlighter = new QmlJSEditor::Highlighter(m_textEdit->document()); m_highlighter->setParent(m_textEdit->document()); if (m_mode == SeparateEntryMode) { Utils::StyledBar *bar = new Utils::StyledBar; m_lineEdit = new Utils::FilterLineEdit; m_lineEdit->setPlaceholderText(tr("<Type expression to evaluate>")); m_lineEdit->setToolTip(tr("Write and evaluate QtScript expressions.")); m_clearButton = new QToolButton(); m_clearButton->setToolTip(tr("Clear Output")); m_clearButton->setIcon(QIcon(Core::Constants::ICON_CLEAN_PANE)); connect(m_clearButton, SIGNAL(clicked()), this, SLOT(clearTextEditor())); connect(m_lineEdit, SIGNAL(textChanged(QString)), SLOT(changeContextHelpId(QString))); connect(m_lineEdit, SIGNAL(returnPressed()), SLOT(executeExpression())); QHBoxLayout *hbox = new QHBoxLayout(bar); hbox->setMargin(1); hbox->setSpacing(1); hbox->addWidget(m_lineEdit); hbox->addWidget(m_clearButton); layout->addWidget(bar); m_textEdit->setReadOnly(true); m_lineEdit->installEventFilter(this); } else { m_textEdit->installEventFilter(this); appendPrompt(); } setFontSettings(); clear(); }
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(); 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 if (editorDocument()) { const QString &fileName = editorDocument()->filePath(); if (TextEditorSettings::highlighterSettings().isIgnoredFilePattern(fileName)) m_isMissingSyntaxDefinition = false; } } setFontSettings(TextEditorSettings::fontSettings()); emit configured(editor()); }