|  | Home · All Classes · Main Classes · Grouped Classes · Modules · Functions |

# textedit.h Example File
demos/textedit/textedit.h

    /****************************************************************************
    **
    ** Copyright (C) 2004-2006 Trolltech ASA. All rights reserved.
    **
    ** This file is part of the demonstration applications of the Qt Toolkit.
    **
    ** Licensees holding valid Qt Preview licenses may use this file in
    ** accordance with the Qt Preview License Agreement provided with the
    ** Software.
    **
    ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
    ** information about Qt Commercial License Agreements.
    **
    ** Contact info@trolltech.com if any conditions of this licensing are
    ** not clear to you.
    **
    ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
    ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
    **
    ****************************************************************************/

    #ifndef TEXTEDIT_H
    #define TEXTEDIT_H

    #include <QMainWindow>
    #include <QMap>
    #include <QPointer>

    class QAction;
    class QComboBox;
    class QFontComboBox;
    class QTextEdit;
    class QTextCharFormat;
    class QMenu;

    class TextEdit : public QMainWindow
    {
        Q_OBJECT

    public:
        TextEdit(QWidget *parent = 0);

    protected:
        virtual void closeEvent(QCloseEvent *e);

    private:
        void setupFileActions();
        void setupEditActions();
        void setupTextActions();
        bool load(const QString &f);
        bool maybeSave();
        void setCurrentFileName(const QString &fileName);

    private slots:
        void fileNew();
        void fileOpen();
        bool fileSave();
        bool fileSaveAs();
        void filePrint();
        void filePrintPreview();
        void filePrintPdf();

        void textBold();
        void textUnderline();
        void textItalic();
        void textFamily(const QString &f);
        void textSize(const QString &p);
        void textStyle(int styleIndex);
        void textColor();
        void textAlign(QAction *a);

        void currentCharFormatChanged(const QTextCharFormat &format);
        void cursorPositionChanged();

        void clipboardDataChanged();

    private:
        void mergeFormatOnWordOrSelection(const QTextCharFormat &format);
        void fontChanged(const QFont &f);
        void colorChanged(const QColor &c);
        void alignmentChanged(Qt::Alignment a);

        QAction *actionSave,
            *actionTextBold,
            *actionTextUnderline,
            *actionTextItalic,
            *actionTextColor,
            *actionAlignLeft,
            *actionAlignCenter,
            *actionAlignRight,
            *actionAlignJustify,
            *actionUndo,
            *actionRedo,
            *actionCut,
            *actionCopy,
            *actionPaste;

        QComboBox *comboStyle;
        QFontComboBox *comboFont;
        QComboBox *comboSize;

        QToolBar *tb;
        QString fileName;
        QTextEdit *textEdit;
    };

    #endif