ide::Editor::Editor(QWidget* w) : QPlainTextEdit(w) { setFont(monospace_font()); setBackgroundRole(QPalette::Base); setLineWrapMode(NoWrap); // please, no line wrap. setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred); setDocumentTitle(path.isEmpty() ? "*unsaved*" : path); }
void TextEditor::SetupFile() { document()->setModified(false); HighlightByExtension(); setDocumentTitle(QFileInfo(Filename).fileName()); // requestUpdateTitle(); }
bool TextEditor::closeDocument() { if (document()->isModified()) { if (Filename.isEmpty()) { int Return; setDocumentTitle(Shared::Untitled + QString::number(documentNumber)); QMessageBox MessageBox; MessageBox.setText(Shared::SaveChangesToDocument.arg(documentTitle())); MessageBox.setInformativeText(Shared::YourChangesWillBeLost); MessageBox.setWindowTitle(" "); MessageBox.setIconPixmap(QPixmap(":/Icons/Resources/Icons/48x48/TextpadEditor.png")); MessageBox.setStandardButtons(QMessageBox::Discard | QMessageBox::Cancel | QMessageBox::Save); Return = MessageBox.exec(); if (Return == QMessageBox::Cancel) { return false; } else if (Return == QMessageBox::Save) { return Save(); } else { return true; } } else { int Return; setDocumentTitle(Shared::Untitled + QString::number(documentNumber)); QMessageBox MessageBox; MessageBox.setText(Shared::SaveChangesToDocument.arg(documentTitle())); MessageBox.setInformativeText(Shared::YourChangesWillBeLost); MessageBox.setWindowTitle(" "); MessageBox.setIconPixmap(QPixmap(":/Icons/Resources/Icons/48x48/TextpadEditor.png")); MessageBox.setStandardButtons(QMessageBox::Discard | QMessageBox::Cancel | QMessageBox::Save); Return = MessageBox.exec(); if (Return == QMessageBox::Cancel) { return false; } else if (Return == QMessageBox::Save) { return Save(); } else { return true; } } } else { return true; } }
ClientTextEdit::ClientTextEdit(QWidget* parent) : QTextEdit(parent) { setReadOnly(true); setOverwriteMode(true); setUndoRedoEnabled(false); setDocumentTitle("mClient"); setTextInteractionFlags(Qt::TextSelectableByMouse | Qt::LinksAccessibleByMouse); setTabChangesFocus(false); //_doc->setMaximumBlockCount(Config().scrollbackSize); // max number of lines? document()->setUndoRedoEnabled(false); QTextFrame* frame = document()->rootFrame(); _cursor = frame->firstCursorPosition(); // Default Colors _foregroundColor = Qt::lightGray; _backgroundColor = Qt::black; _blackColor = Qt::darkGray; _redColor = Qt::darkRed; _greenColor = Qt::darkGreen; _yellowColor = Qt::darkYellow; _blueColor = Qt::darkBlue; _magentaColor = Qt::darkMagenta; _cyanColor = Qt::darkCyan; _grayColor = Qt::lightGray; _darkGrayColor = Qt::gray; _brightRedColor = Qt::red; _brightGreenColor = Qt::green; _brightYellowColor = Qt::yellow; _brightBlueColor = Qt::blue; _brightMagentaColor = Qt::magenta; _brightCyanColor = Qt::cyan; _whiteColor = Qt::white; // Default Fonts _serverOutputFont = QFont("Monospace", 10); _inputLineFont = QFont("Monospace", 10); //QApplication::font(); _serverOutputFont.setStyleHint(QFont::TypeWriter, QFont::PreferAntialias); QTextFrameFormat frameFormat = frame->frameFormat(); frameFormat.setBackground(_backgroundColor); frameFormat.setForeground(_foregroundColor); frame->setFrameFormat(frameFormat); _format = _cursor.charFormat(); setDefaultFormat(_format); _defaultFormat = _format; _cursor.setCharFormat(_format); QFontMetrics fm(_serverOutputFont); setTabStopWidth(fm.width(" ") * 8); // A tab is 8 spaces wide QScrollBar* scrollbar = verticalScrollBar(); scrollbar->setSingleStep(fm.leading()+fm.height()); connect(scrollbar, SIGNAL(sliderReleased()), this, SLOT(scrollBarReleased())); previous = 0; }
bool EBTextEdit::readFile() { qDebug()<< "EBTextEdit::readFile" << qPrintable(m_FullFileName); QFile file(m_FullFileName); if (!file.open(QFile::ReadOnly | QFile::Text)) return false; if (m_ViewType == EditorView::XmlSource) { qDebug() << "file.read(SOURCE): "<< m_FullFileName; setPlainText(file.readAll()); } else if (m_ViewType == EditorView::Text || m_ViewType == EditorView::OnlyPlainData ) { qDebug() << "file.read(DOM): "<< m_FullFileName; QDomDocument doc( m_FullFileName ); QString errotMsg(""); int iErrorLine(0), iErrorCol(0); if ( !doc.setContent( &file,false, &errotMsg, &iErrorLine, &iErrorCol)) { file.close(); qCritical()<< "QDomDocument::setContent: " << errotMsg << " Line " << iErrorLine << " column: " << iErrorCol; return false; } file.close(); QString tagName(""); QDomElement docElem = doc.documentElement(); QDomNode n = docElem.firstChild(); //we take only data if(m_ViewType == EditorView::OnlyPlainData) { QString sData = docElem.elementsByTagName(DataOwnerSingl::XmlKeywords::KEYWORD_DATA).at(0).toElement().text(); if(sData.startsWith("\n")) sData = sData.mid(1); appendPlainText(sData); } else { while(!n.isNull()) { QDomElement e = n.toElement(); if (!e.isNull()) { //qDebug()<< qPrintable(e.tagName()) << " : " << qPrintable(e.text()); tagName = DataOwnerSingl::XmlKeywords::convertKeywordXml2Txt(e.tagName()); appendPlainText(tagName + qPrintable(e.text())); } n = n.nextSibling(); } } } else qCritical("More views are not implemented yet."); setDocumentTitle(m_FullFileName); return true; }
Editor::Editor(QWidget *parent ) : QTextEdit(parent){ numUntitleDocuments++; action = new QAction(this); action->setCheckable(true); isUntitle = true; curFile = tr("Untitle Document %1").arg(numUntitleDocuments); document()->setModified(false); connect(document(), SIGNAL(contentsChanged()), this, SLOT(documentWasModified())); setDocumentTitle(curFile); setAttribute(Qt::WA_DeleteOnClose); }
bool TextEditor::MaybeSave() { if (document()->isModified()) { if (Filename.isEmpty()) { int Return; setDocumentTitle(Shared::Untitled + QString::number(documentNumber)); QMessageBox MessageBox; MessageBox.setText(Shared::SaveChangesToDocument.arg(documentTitle())); MessageBox.setInformativeText(Shared::YourChangesWillBeLost); MessageBox.setWindowTitle(" "); MessageBox.setIconPixmap(QPixmap(":/Icons/Resources/Icons/48x48/TextpadEditor.png")); MessageBox.setStandardButtons(QMessageBox::Discard | QMessageBox::Cancel | QMessageBox::Save); Return = MessageBox.exec(); if (Return == QMessageBox::Cancel) return false; else if (Return == QMessageBox::Save) return Save(); } else if (toPlainText().isEmpty()) { int Return; QMessageBox MessageBox; MessageBox.setText(Shared::AreYouSure); MessageBox.setInformativeText(Shared::YouErasedAllContent); MessageBox.setWindowTitle(" "); MessageBox.setIconPixmap(QPixmap(":/Icons/Resources/Icons/48x48/TextpadEditor.png")); MessageBox.setStandardButtons(QMessageBox::Discard | QMessageBox::Cancel | QMessageBox::Save); MessageBox.setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint); Return = MessageBox.exec(); if (Return == QMessageBox::Cancel) return false; if (Return == QMessageBox::Discard) return true; } else return Save(); } return true; }
int QPlainTextEdit::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QAbstractScrollArea::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { if (_id < 25) qt_static_metacall(this, _c, _id, _a); _id -= 25; } #ifndef QT_NO_PROPERTIES else if (_c == QMetaObject::ReadProperty) { void *_v = _a[0]; switch (_id) { case 0: *reinterpret_cast< bool*>(_v) = tabChangesFocus(); break; case 1: *reinterpret_cast< QString*>(_v) = documentTitle(); break; case 2: *reinterpret_cast< bool*>(_v) = isUndoRedoEnabled(); break; case 3: *reinterpret_cast< LineWrapMode*>(_v) = lineWrapMode(); break; case 4: *reinterpret_cast< bool*>(_v) = isReadOnly(); break; case 5: *reinterpret_cast< QString*>(_v) = toPlainText(); break; case 6: *reinterpret_cast< bool*>(_v) = overwriteMode(); break; case 7: *reinterpret_cast< int*>(_v) = tabStopWidth(); break; case 8: *reinterpret_cast< int*>(_v) = cursorWidth(); break; case 9: *reinterpret_cast< Qt::TextInteractionFlags*>(_v) = textInteractionFlags(); break; case 10: *reinterpret_cast< int*>(_v) = blockCount(); break; case 11: *reinterpret_cast< int*>(_v) = maximumBlockCount(); break; case 12: *reinterpret_cast< bool*>(_v) = backgroundVisible(); break; case 13: *reinterpret_cast< bool*>(_v) = centerOnScroll(); break; } _id -= 14; } else if (_c == QMetaObject::WriteProperty) { void *_v = _a[0]; switch (_id) { case 0: setTabChangesFocus(*reinterpret_cast< bool*>(_v)); break; case 1: setDocumentTitle(*reinterpret_cast< QString*>(_v)); break; case 2: setUndoRedoEnabled(*reinterpret_cast< bool*>(_v)); break; case 3: setLineWrapMode(*reinterpret_cast< LineWrapMode*>(_v)); break; case 4: setReadOnly(*reinterpret_cast< bool*>(_v)); break; case 5: setPlainText(*reinterpret_cast< QString*>(_v)); break; case 6: setOverwriteMode(*reinterpret_cast< bool*>(_v)); break; case 7: setTabStopWidth(*reinterpret_cast< int*>(_v)); break; case 8: setCursorWidth(*reinterpret_cast< int*>(_v)); break; case 9: setTextInteractionFlags(*reinterpret_cast< Qt::TextInteractionFlags*>(_v)); break; case 11: setMaximumBlockCount(*reinterpret_cast< int*>(_v)); break; case 12: setBackgroundVisible(*reinterpret_cast< bool*>(_v)); break; case 13: setCenterOnScroll(*reinterpret_cast< bool*>(_v)); break; } _id -= 14; } else if (_c == QMetaObject::ResetProperty) { _id -= 14; } else if (_c == QMetaObject::QueryPropertyDesignable) { _id -= 14; } else if (_c == QMetaObject::QueryPropertyScriptable) { _id -= 14; } else if (_c == QMetaObject::QueryPropertyStored) { _id -= 14; } else if (_c == QMetaObject::QueryPropertyEditable) { _id -= 14; } else if (_c == QMetaObject::QueryPropertyUser) { _id -= 14; } #endif // QT_NO_PROPERTIES return _id; }