changeset 13407:b2902b9ba84d

Started to build file editor widget.
author Jacob Dawid <jacob.dawid@googlemail.com>
date Mon, 11 Apr 2011 22:53:32 +0200
parents 91d64ef98f81
children e954cbe099fe
files gui//Quint.pro gui//src/FileEditorMdiSubWindow.cpp gui//src/FileEditorMdiSubWindow.h gui//src/MainWindow.cpp
diffstat 4 files changed, 71 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/gui//Quint.pro	Mon Apr 11 22:18:04 2011 +0200
+++ b/gui//Quint.pro	Mon Apr 11 22:53:32 2011 +0200
@@ -44,7 +44,8 @@
     src/HistoryDockWidget.cpp \
     src/FilesDockWidget.cpp \
     src/CodeEdit.cpp \
-    src/Syntax.cpp
+    src/Syntax.cpp \
+    src/FileEditorMdiSubWindow.cpp
 
 HEADERS += \
         src/TerminalCharacterDecoder.h \
@@ -85,7 +86,8 @@
     src/HistoryDockWidget.h \
     src/FilesDockWidget.h \
     src/CodeEdit.h \
-    src/Syntax.h
+    src/Syntax.h \
+    src/FileEditorMdiSubWindow.h
 
 INCFLAGS = -g3 $$system(mkoctfile -p INCFLAGS)
 LFLAGS = $$system(mkoctfile -p LFLAGS) \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gui//src/FileEditorMdiSubWindow.cpp	Mon Apr 11 22:53:32 2011 +0200
@@ -0,0 +1,42 @@
+#include "FileEditorMdiSubWindow.h"
+#include <QVBoxLayout>
+#include <QApplication>
+#include <QFile>
+
+FileEditorMdiSubWindow::FileEditorMdiSubWindow(QWidget *parent)
+    : QMdiSubWindow(parent) {
+    construct();
+}
+
+void FileEditorMdiSubWindow::loadFile(QString fileName) {
+    setWindowTitle(fileName);
+    // TODO: Load file.
+}
+
+void FileEditorMdiSubWindow::construct() {
+    QStyle *style = QApplication::style();
+    setWidget(new QWidget());
+    m_toolBar = new QToolBar(this);
+    m_codeEdit = new CodeEdit(this);
+    m_statusBar = new QStatusBar(this);
+
+    QAction *newAction = new QAction(style->standardIcon(QStyle::SP_FileIcon),
+        "", m_toolBar);
+    QAction *saveAction = new QAction(style->standardIcon(QStyle::SP_DriveHDIcon),
+        "", m_toolBar);
+    QAction *undoAction = new QAction(style->standardIcon(QStyle::SP_ArrowLeft),
+        "", m_toolBar);
+    QAction *redoAction = new QAction(style->standardIcon(QStyle::SP_ArrowRight),
+        "", m_toolBar);
+
+    m_toolBar->addAction(newAction);
+    m_toolBar->addAction(saveAction);
+    m_toolBar->addAction(undoAction);
+    m_toolBar->addAction(redoAction);
+
+    QVBoxLayout *layout = new QVBoxLayout();
+    layout->addWidget(m_toolBar);
+    layout->addWidget(m_codeEdit);
+    layout->addWidget(m_statusBar);
+    widget()->setLayout(layout);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gui//src/FileEditorMdiSubWindow.h	Mon Apr 11 22:53:32 2011 +0200
@@ -0,0 +1,21 @@
+#ifndef FILEEDITORMDISUBWINDOW_H
+#define FILEEDITORMDISUBWINDOW_H
+
+#include <QMdiSubWindow>
+#include <QToolBar>
+#include <QStatusBar>
+#include "CodeEdit.h"
+
+class FileEditorMdiSubWindow : public QMdiSubWindow {
+public:
+    FileEditorMdiSubWindow(QWidget *parent = 0);
+    void loadFile(QString fileName);
+
+private:
+    void construct();
+    QToolBar *m_toolBar;
+    CodeEdit *m_codeEdit;
+    QStatusBar *m_statusBar;
+};
+
+#endif // FILEEDITORMDISUBWINDOW_H
--- a/gui//src/MainWindow.cpp	Mon Apr 11 22:18:04 2011 +0200
+++ b/gui//src/MainWindow.cpp	Mon Apr 11 22:53:32 2011 +0200
@@ -22,6 +22,7 @@
 #include <QSettings>
 #include <QDesktopServices>
 #include "MainWindow.h"
+#include "FileEditorMdiSubWindow.h"
 
 MainWindow::MainWindow(QWidget *parent)
     : QMainWindow(parent),
@@ -37,7 +38,9 @@
 
 void MainWindow::handleOpenFileRequest(QString fileName) {
     reportStatusMessage("Opening file.");
-    // TODO: Open mdi subwindow.
+    FileEditorMdiSubWindow *subWindow = new FileEditorMdiSubWindow(m_openedFiles);
+    subWindow->loadFile(fileName);
+    m_openedFiles->addSubWindow(subWindow);
 }
 
 void MainWindow::reportStatusMessage(QString statusMessage) {