Exemple #1
0
 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);
 }
Exemple #2
0
void TextEditor::SetupFile()
{
    document()->setModified(false);
    HighlightByExtension();

    setDocumentTitle(QFileInfo(Filename).fileName());
    // requestUpdateTitle();
}
Exemple #3
0
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;
    }
}
Exemple #4
0
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;
}
Exemple #5
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;
}
Exemple #6
0
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);
}
Exemple #7
0
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;
}