summaryrefslogtreecommitdiffstats
path: root/gui/consolewindow.h
diff options
context:
space:
mode:
authorOrochimarufan <orochimarufan.x3@gmail.com>2013-02-22 18:18:23 +0100
committerOrochimarufan <orochimarufan.x3@gmail.com>2013-02-22 18:18:23 +0100
commit3a173648e789f30b2843241ee38e694d16e10358 (patch)
tree9941f7025d8f3f5ff19c515bde8ae3ebca98a4a8 /gui/consolewindow.h
parent10c707363b3f19a8862b5ebd2858bcaad1304a13 (diff)
downloadMultiMC-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.h69
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