texteditor.h
author insilmaril
Sat Feb 24 12:32:53 2007 +0000 (2007-02-24)
changeset 431 c2ffbc9b832d
parent 390 0e1aeb21cb78
child 442 dfbc371b7280
permissions -rw-r--r--
bak
     1 #ifndef TEXTEDITOR_H 
     2 #define TEXTEDITOR_H
     3 
     4 #include <QtGui>
     5 
     6 enum EditorState {inactiveEditor,emptyEditor,filledEditor};
     7 
     8 class MyTextEdit;
     9 
    10 class TextEditor : public QMainWindow {
    11     Q_OBJECT
    12 public:
    13     TextEditor();
    14     ~TextEditor();
    15 
    16 	bool isEmpty();
    17 	void setShowWithMain (bool);
    18 	bool showWithMain ();
    19 	void setFontHint(const QString&);
    20 	QString getFontHint();
    21 	QString getFontHintDefault();
    22 	void setFilename (const QString&);
    23 	QString getFilename ();
    24 	void setFilenameHint (const QString&);
    25 	QString getFilenameHint ();
    26 	bool findText(const QString &, const QTextDocument::FindFlags &); // find Text 
    27 
    28 protected:
    29 	void setupFileActions();
    30 	void setupEditActions();
    31 	void setupFormatActions();
    32 	void setupSettingsActions();
    33     void closeEvent( QCloseEvent* );
    34 	
    35 
    36 public:
    37 	QString getText();
    38 
    39 public slots:
    40 	void editorChanged();	// received when text() changed
    41 	void setText(QString);	// set Text (by MapEditor)
    42 	void setInactive();		// Nothing can be entered
    43 	void editCopyAll();
    44 
    45 signals:
    46 	void textHasChanged();
    47 	void textEditorClosed();
    48 	void fontFamilyHasChanged();
    49 	void fontSizeHasChanged();
    50 	
    51 private slots:
    52     void textLoad();
    53     void textSaveAs();
    54     void textSave();
    55 	void textExportAsASCII();
    56     void textPrint();
    57 	void textEditUndo();
    58     void toggleFonthint();
    59     void setFixedFont();
    60     void setVarFont();
    61     void textBold();
    62     void textUnderline();
    63     void textItalic();
    64     void textFamily( const QString &f );
    65     void textSize( const QString &p );
    66 	void textColor();
    67 	void textAlign(QAction*);
    68 	void textVAlign();
    69     void fontChanged( const QFont &f );
    70     void colorChanged( const QColor &c );
    71 	void formatChanged (const QTextCharFormat &f);
    72     void alignmentChanged( int a );
    73     void verticalAlignmentChanged(QTextCharFormat::VerticalAlignment);
    74 	void enableActions();
    75 	void disableActions();
    76 	void setState (EditorState);
    77 
    78 private:
    79     QPrinter *printer;
    80     QTextEdit *e;
    81 	QPoint lastPos;			// save last position of window
    82     QString filename;
    83     QString filenameHint;
    84 
    85 	QBrush emptyPaper;		// setting the background color
    86 	QBrush filledPaper;		// depending on the state
    87 	QBrush inactivePaper;	// depending on the state
    88 	EditorState state;
    89 	bool showwithmain;		// same visibility as mainwindow?
    90 	bool blockChangedSignal;
    91 
    92 	QFont varFont;
    93 	QFont fixedFont;
    94     QComboBox *comboFont, *comboSize;
    95 	
    96 	QAction *actionFileLoad,
    97 	*actionFileSave,
    98 	*actionFileSaveAs,
    99 	*actionFilePrint,
   100 	*actionEditUndo,
   101 	*actionEditRedo,
   102 	*actionEditCopy,
   103 	*actionEditCut,
   104 	*actionEditPaste,
   105 	*actionEditDeleteAll,
   106 	*actionFormatUseFixedFont,
   107 	*actionSettingsVarFont,
   108 	*actionSettingsFixedFont,
   109 	*actionSettingsFonthintDefault,
   110     *actionTextBold,
   111 	*actionTextUnderline,
   112 	*actionTextItalic,
   113 	*actionTextColor,
   114 	*actionAlignSubScript,
   115 	*actionAlignSuperScript,
   116 	*actionAlignLeft,
   117 	*actionAlignCenter,
   118 	*actionAlignRight,
   119 	*actionAlignJustify;
   120 };
   121 
   122 #endif