void TextEditor::OpenFile(const QString FileLocation) { qApp->setOverrideCursor(Qt::WaitCursor); if (!FileLocation.isEmpty()) { QFile File(FileLocation); if (File.open(QFile::ReadOnly | QFile::WriteOnly | QFile::ReadWrite)) { QTextStream InputFile(&File); InputFile.setCodec("UTF-8"); setPlainText(InputFile.readAll()); QObject::connect(c, SIGNAL(activated(QString)), this, SLOT(insertCompletion(QString))); File.close(); Filename = FileLocation; SetupFile(); qApp->restoreOverrideCursor(); return; } QMessageBox::warning(this, Shared::Error, Shared::CannotReadFile.arg(FileLocation).arg(File.errorString())); qApp->restoreOverrideCursor(); return; } qApp->restoreOverrideCursor(); }
CCodeEdit::CCodeEdit(QWidget *parent) : QPlainTextEdit(parent) , m_lineIconBackgroundColorRole(QPalette::Window) , m_lineNumberBackgroundColorRole(QPalette::Light) , m_lineNumberTextColorRole(QPalette::Text) , m_lineIconBackgroundColor(QColor(255, 255, 255, 255)) , m_lineNumberBackgroundColor(QColor(255, 255, 255, 255)) , m_lineNumberTextColor(QColor(255, 0, 0, 0)) , m_visibleLineNumber(true) , m_lineIconSize(16, 16) , m_tabStopCharWidth(4) { m_lineNumberWidget = new CLineNumberArea(this); m_completer = new QCompleter(this); m_completer->setWidget(this); m_completer->setCompletionMode(QCompleter::UnfilteredPopupCompletion); m_completer->setCaseSensitivity(Qt::CaseInsensitive); m_completer->setModelSorting(QCompleter::CaseInsensitivelySortedModel); m_completer->setWrapAround(false); connect(this, SIGNAL(blockCountChanged(int)), this, SLOT(updateLineNumberWidth(int))); connect(this, SIGNAL(updateRequest(QRect,int)), this, SLOT(updateLineNumber(QRect,int))); connect(m_completer, SIGNAL(activated(QString)), this, SLOT(insertCompletion(QString))); updateLineNumberWidth(0); // タブストップを設定 setTabStopCharWidth(m_tabStopCharWidth); }
CodeArea::CodeArea(QWidget *parent) :QPlainTextEdit(parent) ,highlighter(this->document()) { QFont font; font.setFamily("Courier"); font.setFixedPitch(true); font.setPointSize(10); font.insertSubstitution(" "," "); setFont(font); setWordWrapMode(QTextOption::NoWrap); lineNumberArea = new LineNumberArea(this); connect(this, SIGNAL(blockCountChanged(int)), this, SLOT(updateLineNumberAreaWidth(int))); connect(this, SIGNAL(updateRequest(QRect,int)), this, SLOT(updateLineNumberArea(QRect,int))); connect(this, SIGNAL(cursorPositionChanged()), this, SLOT(highlightCurrentLine())); updateLineNumberAreaWidth(0); highlightCurrentLine(); mCompleter = new QCompleter(this); mCompleter->setModel(new QStringListModel(mWordList, mCompleter)); mCompleter->setModelSorting(QCompleter::CaseSensitivelySortedModel); mCompleter->setCaseSensitivity(Qt::CaseSensitive); mCompleter->setWrapAround(false); mCompleter->setWidget(this); mCompleter->setCompletionMode(QCompleter::PopupCompletion); mCompleter->setCaseSensitivity(Qt::CaseInsensitive); QObject::connect(mCompleter, SIGNAL(activated(QString)), this, SLOT(insertCompletion(QString))); connect(this,SIGNAL(textChanged()), this, SLOT(onTextChange())); }
SqlTextEdit::SqlTextEdit(QWidget* parent) : QPlainTextEdit(parent), m_defaultCompleterModel(0) { // basic auto completer for sqliteedit m_Completer = new QCompleter(this); m_Completer->setCaseSensitivity(Qt::CaseInsensitive); m_Completer->setCompletionMode(QCompleter::PopupCompletion); m_Completer->setWrapAround(false); m_Completer->setWidget(this); // Set font QFont font("Monospace"); font.setStyleHint(QFont::TypeWriter); font.setPointSize(PreferencesDialog::getSettingsValue("editor", "fontsize").toInt()); setFont(font); QFontMetrics fm(font); setTabStopWidth(fm.width(" ") * PreferencesDialog::getSettingsValue("editor", "tabsize").toInt()); // Create syntax highlighter m_syntaxHighlighter = new SQLiteSyntaxHighlighter(document()); // Create line number area lineNumberArea = new LineNumberArea(this); connect(this, SIGNAL(blockCountChanged(int)), this, SLOT(updateLineNumberAreaWidth())); connect(this, SIGNAL(updateRequest(QRect,int)), this, SLOT(updateLineNumberArea(QRect,int))); connect(m_Completer, SIGNAL(activated(QString)), this, SLOT(insertCompletion(QString))); connect(this, SIGNAL(cursorPositionChanged()), this, SLOT(highlightCurrentLine())); highlightCurrentLine(); updateLineNumberAreaWidth(); }
//----------------------------------------------------------------------------- void ctkConsolePrivate::setCompleter(ctkConsoleCompleter* completer) { if (this->Completer) { this->Completer->setWidget(0); disconnect(this->Completer, SIGNAL(activated(QString)), this, SLOT(insertCompletion(QString))); } this->Completer = completer; if (this->Completer) { this->Completer->setWidget(this); connect(this->Completer, SIGNAL(activated(QString)), this, SLOT(insertCompletion(QString))); } }
void TextEdit::execSbMenuAction(const QString& title) { insertCompletion(title); if ( title.startsWith("operacion:") ) { setFocus(); } }
void Console::setCompleter(QCompleter* c) { m_completer = c; c->setParent(this); c->setWidget(this); c->setCompletionMode(QCompleter::PopupCompletion); c->setCaseSensitivity(Qt::CaseInsensitive); connect(c, SIGNAL(activated(QString)), this, SLOT(insertCompletion(QString))); }
Completer::Completer(QObject* parent) : QCompleter(parent) { d.lineEdit = 0; d.defaultModel = 0; d.slashModel = 0; setCaseSensitivity(Qt::CaseInsensitive); setCompletionMode(InlineCompletion); connect(this, SIGNAL(highlighted(QString)), this, SLOT(insertCompletion(QString))); }
//----------------------------------------------------------------------------- void TextEdit::setCompleter(QCompleter *completer) { if(c && c!=completer) { QObject::disconnect(c); c->setWidget(0); delete c; c=0; } if(!completer) return; c = completer; c->setWidget(this); c->setCompletionMode(QCompleter::PopupCompletion); c->setCaseSensitivity(Qt::CaseInsensitive); QObject::connect(c, SIGNAL(activated(QString)), this, SLOT(insertCompletion(QString))); }
GmacsCompleter::GmacsCompleter(QPlainTextEdit *editor) : QCompleter() { //setModelSorting(QCompleter::CaseInsensitivelySortedModel); //setCaseSensitivity(Qt::CaseInsensitive); setWrapAround(false); setMaxVisibleItems(20); setCompletionMode(QCompleter::PopupCompletion); setWidget(editor); QObject::connect(this, SIGNAL(activated(QString)), editor, SLOT(insertCompletion(QString))); }
void ContactListEdit::insertCompletion( const QModelIndex& completionIndex ) { if( !completionIndex.isValid()) return; QString completion = completionIndex.data().toString(); int row = completionIndex.data(Qt::UserRole).toInt(); row = row / 2; //DLNFIX consider telling ContactListEdit about addressbookmodel some other way eventually QModelIndex index = getKeyhoteeWindow()->getAddressBookModel()->index(row,0); auto contact = getKeyhoteeWindow()->getAddressBookModel()->getContact(index); insertCompletion(completion, contact); }
TextEdit::TextEdit(QWidget* parent) : QTextEdit(parent) { m_Highlighter = new Highlighter(document()); m_Completer = new QCompleter(QStringList() << "class"<< "def"<< "import"<< "from"<< "with" << "__extern__" << "__result__" << "__result_str__", this); // TODO: add support to load from file m_Completer->setCompletionMode(QCompleter::PopupCompletion); m_Completer->setCaseSensitivity(Qt::CaseInsensitive); m_Completer->setWidget(this); CHECKED_CONNECT(connect(m_Completer, SIGNAL(activated(QString)), this, SLOT(insertCompletion(QString)))); setAcceptRichText(false); }
LiteCompleter::LiteCompleter(QObject *parent) : LiteApi::ICompleter(parent), m_completer( new TreeModelCompleter(this)), m_model(new QStandardItemModel(this)) { m_completer->setModel(m_model); m_completer->setCompletionMode(QCompleter::PopupCompletion); m_completer->setCaseSensitivity(Qt::CaseSensitive); m_completer->setSeparator("."); m_stop = '('; QObject::connect(m_completer, SIGNAL(activated(QModelIndex)), this, SLOT(insertCompletion(QModelIndex))); }
void ContactListEdit::insertCompletion( const QModelIndex& completionIndex ) { if( !completionIndex.isValid()) return; QString completion = completionIndex.data().toString(); int row = completionIndex.data(Qt::UserRole).toInt(); row = row / 2; auto addressbook = bts::get_profile()->get_addressbook(); auto contacts = addressbook->get_contacts(); auto contact = contacts[row]; insertCompletion(completion, contact); }
void CompletingTextEdit::setCompleter(QCompleter *c) { if (completer()) disconnect(completer(), 0, this, 0); d->m_completer = c; if (!c) return; completer()->setWidget(this); completer()->setCompletionMode(QCompleter::PopupCompletion); connect(completer(), SIGNAL(activated(QString)), this, SLOT(insertCompletion(QString))); }
int TextEdit::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QTextEdit::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: insertCompletion((*reinterpret_cast< const QString(*)>(_a[1]))); break; default: ; } _id -= 1; } return _id; }
void TikzEditor::setCompleter(QCompleter *completer) { if (m_completer) disconnect(m_completer, 0, this, 0); m_completer = completer; if (!m_completer) return; m_completer->setWidget(this); m_completer->setCompletionMode(QCompleter::PopupCompletion); m_completer->setCaseSensitivity(Qt::CaseInsensitive); connect(m_completer, SIGNAL(activated(QString)), this, SLOT(insertCompletion(QString))); }
void CodeEditor::setCompleter(QCompleter *completer){ if(completer_){ QObject::disconnect(completer_, 0, this, 0); } completer_ = completer; if (!completer_){ return; } completer_->setWidget(this); completer_->setCompletionMode(QCompleter::PopupCompletion); completer_->setCaseSensitivity(Qt::CaseInsensitive); QObject::connect(completer_, SIGNAL(activated(QString)), this, SLOT(insertCompletion(QString))); }
LiteCompleter::LiteCompleter(QObject *parent) : LiteApi::ICompleter(parent), m_completer( new CodeCompleterEx(this)), m_model(new QStandardItemModel(this)), m_bSearchSeparator(true), m_bExternalMode(false) { m_completer->setModel(m_model); m_completer->setCaseSensitivity(Qt::CaseSensitive); m_completer->setSeparator("."); m_stop = '('; QObject::connect(m_completer, SIGNAL(activated(QModelIndex)), this, SLOT(insertCompletion(QModelIndex))); }
void SyntaxTextEditor::setCompleter(SyntaxCompleter *completer) { if (editCompleter) QObject::disconnect(editCompleter, 0, this, 0); editCompleter = completer; if (!editCompleter) return; editCompleter->setFileName(this->curFile); editCompleter->setWidget(this); QObject::connect(editCompleter, SIGNAL(activated(QString)), this, SLOT(insertCompletion(QString))); }
void MimeTextEdit::setCompleter(QCompleter *completer) { if (mCompleter) QObject::disconnect(mCompleter, 0, this, 0); mCompleter = completer; if (!mCompleter) return; mCompleter->setWidget(this); mCompleter->setCompletionMode(QCompleter::PopupCompletion); mCompleter->setCaseSensitivity(Qt::CaseInsensitive); QObject::connect(mCompleter, SIGNAL(activated(QString)), this, SLOT(insertCompletion(QString))); }
void LineEdit::setCompleter(QCompleter *completer) { if (c) QObject::disconnect(c, 0, this, 0); c = completer; if (!c) return; c->setWidget(this); c->setCompletionMode(QCompleter::PopupCompletion); c->setCaseSensitivity(Qt::CaseInsensitive); QObject::connect(c, SIGNAL(activated(QString)), this, SLOT(insertCompletion(QString))); }
void RecipientEdit::setChoices(QStringList choices) { m_choices = choices; if (m_completer) delete m_completer; m_completer = new QCompleter(this); m_completer->setWidget(this); m_completer->setCaseSensitivity(Qt::CaseInsensitive); QStringListModel* model = new QStringListModel(choices); m_completer->setModel(model); //m_completer->setCompletionMode(QCompleter::PopupCompletion); connect(m_completer, SIGNAL(activated(QString)), this, SLOT(insertCompletion(QString))); }
void ContactListEdit::setCompleter( QCompleter* completer ) { if( _completer ) { QObject::disconnect(_completer, 0, this, 0 ); } _completer = completer; if( !_completer ) return; _completer->setWidget(this); _completer->setCompletionMode( QCompleter::PopupCompletion ); _completer->setCaseSensitivity(Qt::CaseInsensitive); connect(_completer, SIGNAL(activated(QString)), this, SLOT(insertCompletion(QString))); }
void XmlEdit::performCompletion(const QString &completionPrefix) { populateModel(completionPrefix); if (completionPrefix != completer->completionPrefix()) { completer->setCompletionPrefix(completionPrefix); completer->popup()->setCurrentIndex( completer->completionModel()->index(0, 0)); } if (completer->completionCount() == 1) insertCompletion(completer->currentCompletion(), true); else { QRect rect = cursorRect(); rect.setWidth(completer->popup()->sizeHintForColumn(0) + completer->popup()->verticalScrollBar()-> sizeHint().width()); completer->complete(rect); } }
TagEditor::TagEditor(QWidget* parent) : KTextEdit(parent) { // Don't keep scroll bars setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOff ); setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOff ); setContextMenuPolicy( Qt::NoContextMenu ); setPlaceholderText( QLatin1String("Tags (comma separated)") ); connect( document()->documentLayout(), SIGNAL(documentSizeChanged(QSizeF)), this, SLOT(slotDocumentSizeChanged()) ); slotDocumentSizeChanged(); m_completer = new TagCompleter( this ); m_completer->setWidget( this ); m_completer->setCompletionMode( QCompleter::PopupCompletion ); connect( m_completer, SIGNAL(activated(QString)), this, SLOT(insertCompletion(QString)) ); }
SCsCodeEditor::SCsCodeEditor(QWidget *parent) : QPlainTextEdit(parent) { mLineNumberArea = new SCsLineNumberArea(this); mAnalyzer = new SCsCodeAnalyzer(this); mCompleter = new SCsCodeCompleter(this); mCompleter->setWidget(this); mCompleter->setCompletionMode(QCompleter::PopupCompletion); mCompleter->setCaseSensitivity(Qt::CaseSensitive); mCompleter->setModelSorting(QCompleter::CaseInsensitivelySortedModel); connect(mCompleter, SIGNAL(activated(QModelIndex)), this, SLOT(insertCompletion(QModelIndex))); connect(this, SIGNAL(blockCountChanged(int)), this, SLOT(updateLineNumberAreaWidth(int))); connect(this, SIGNAL(updateRequest(QRect,int)), this, SLOT(updateLineNumberArea(QRect,int))); connect(this, SIGNAL(cursorPositionChanged()), this, SLOT(highlightCurrentLine())); connect(this, SIGNAL(textChanged()), this, SLOT(updateAnalyzer())); updateLineNumberAreaWidth(0); highlightCurrentLine(); }
void LuaEditor::inite() { // inite kite2D model initeModel(); // create editor editor = new CodeEditor(completer, this); // create highlighter hlight = new LuaHLight(editor->document()); //main layout auto vlayout = new QVBoxLayout(this); vlayout->setMargin(2); vlayout->addWidget(editor); reload(); // connect completer connect(completer, SIGNAL(activated(QString)), editor, SLOT(insertCompletion(QString))); }
CodeEditor::CodeEditor(QWidget *parent) : QTextEdit(parent) { setAcceptRichText(false); setTabStopWidth(40); SHL = new SyntaxHL(this); //Adding syntax highlighter. //Auto-complete setup: compList << "add" << "addu" << "sub" << "subu" << "and" << "or" << "xor" << "srlv" << "sllv" << "srav" << "slt" << "sltu" << "addi" << "addiu" << "andi" << "ori" << "nori" << "xori" << "srl" << "sll" << "sra" << "slti" << "sltiu" << "beq" << "bne" << "lui" << "sb" << "lb" << "lbu" << "sh" << "lh" << "lhu" << "sw" << "lw" << "lwl" << "lwr" << "swl" << "swr" <<"ll" << "sc" << "jr" << "jalr" << "mfhi" << "mflo" << "mthi" << "mtlo" << "mult" << "multu" << "div" << "divu" << "j" << "jal" << "syscall" << "nop"; //for (int i = 0; i < 32; i++) compList.append(QString("$" + QString::number(i))); compList << "$0" << "$zero" << "$at" << "$v0" << "$v1" <<"$a0" << "$a1" << "$a2" << "$a3" << "$t0" << "$t1" << "$t2" << "$t3" << "$t4" << "$t5" << "$t6" << "$t7" << "$s0" << "$s1" << "$s2" << "$s3" << "$s4" << "$s5" << "$s6" << "$s7" << "$t8" << "$t9" << "$gp" << "$fp" << "$ra" << "$sp"; compList << "blt" << "bgt" << "ble" << "bge" << "bltu" << "bgtu" << "bleu" << "bgeu" << "blti" << "bgti" << "blei" << "bgei" << "bltiu" << "bgtiu" << "bleiu" << "bgeiu" << "beqz" << "bnez" << "bltz" << "bgtz" << "blez" << "bgez" << "li" << "ror" << "rol" << "not" << "neg" << "move" << "abs" << "mul" << "div" << "rem" << "clear" << "subi" << "la" << ".align" << ".ascii" << ".asciiz" << ".byte" << ".double" <<".float" << ".half" << ".space" << ".word"; lCounter = NULL; model = new QStringListModel(compList, this); codeCompleter = new QCompleter(model, this); codeCompleter->setCompletionMode(QCompleter::PopupCompletion); CompleterList *cl = new CompleterList(this); codeCompleter->setPopup(cl); codeCompleter->setCaseSensitivity(Qt::CaseInsensitive); codeCompleter->setWidget(this); QObject::connect(codeCompleter, SIGNAL(activated(QString)), this, SLOT(insertCompletion(QString))); QObject::connect(this, SIGNAL(textChanged()), this, SLOT(updateCounter())); QObject::connect(this, SIGNAL(textChanged()), this, SLOT(refreshScroll())); QObject::connect(this, SIGNAL(cursorPositionChanged()), this, SLOT(refreshScroll())); QObject::connect(this, SIGNAL(textChanged()), this, SLOT(completerPop())); QObject::connect(this, SIGNAL(selectionChanged()), this, SLOT(highlightLine())); QObject::connect(this, SIGNAL(cursorPositionChanged()), this, SLOT(highlightLine())); QObject::connect(this, SIGNAL(cursorPositionChanged()), this, SLOT(updateCounterFormat())); QObject::connect(this, SIGNAL(textChanged()), this, SLOT(updateCounterFormat())); selectionStart = selectionEnd = 0; }