diff options
author | Orochimarufan <orochimarufan.x3@gmail.com> | 2013-02-22 18:18:23 +0100 |
---|---|---|
committer | Orochimarufan <orochimarufan.x3@gmail.com> | 2013-02-22 18:18:23 +0100 |
commit | 3a173648e789f30b2843241ee38e694d16e10358 (patch) | |
tree | 9941f7025d8f3f5ff19c515bde8ae3ebca98a4a8 /gui/consolewindow.h | |
parent | 10c707363b3f19a8862b5ebd2858bcaad1304a13 (diff) | |
download | MultiMC-3a173648e789f30b2843241ee38e694d16e10358.tar MultiMC-3a173648e789f30b2843241ee38e694d16e10358.tar.gz MultiMC-3a173648e789f30b2843241ee38e694d16e10358.tar.lz MultiMC-3a173648e789f30b2843241ee38e694d16e10358.tar.xz MultiMC-3a173648e789f30b2843241ee38e694d16e10358.zip |
Implement ConsoleWindow
Diffstat (limited to 'gui/consolewindow.h')
-rw-r--r-- | gui/consolewindow.h | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/gui/consolewindow.h b/gui/consolewindow.h new file mode 100644 index 00000000..1d322afb --- /dev/null +++ b/gui/consolewindow.h @@ -0,0 +1,69 @@ +#ifndef CONSOLEWINDOW_H +#define CONSOLEWINDOW_H + +#include <QDialog> + +namespace Ui { +class ConsoleWindow; +} + +class ConsoleWindow : public QDialog +{ + Q_OBJECT + +public: + /** + * @brief The WriteMode enum + * defines how stuff is displayed + */ + enum WriteMode { + DEFAULT, + ERROR, + MULTIMC + }; + + explicit ConsoleWindow(QWidget *parent = 0); + ~ConsoleWindow(); + + /** + * @brief specify if the window is allowed to close + * @param mayclose + * used to keep it alive while MC runs + */ + void setMayClose(bool mayclose); + +public slots: + /** + * @brief write a string + * @param data the string + * @param mode the WriteMode + * lines have to be put through this as a whole! + */ + void write(QString data, WriteMode mode=MULTIMC); + + /** + * @brief write a colored paragraph + * @param data the string + * @param color the css color name + * this will only insert a single paragraph. + * \n are ignored. a real \n is always appended. + */ + void writeColor(QString data, const char *color=nullptr); + + /** + * @brief clear the text widget + */ + void clear(); + +private slots: + void on_closeButton_clicked(); + +protected: + void closeEvent(QCloseEvent *); + +private: + Ui::ConsoleWindow *ui; + bool m_mayclose; +}; + +#endif // CONSOLEWINDOW_H |