Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-corinthia
diff --git a/experiments/editorFramework/src/Toolkit_Layer_1/qt/Editor.cpp b/experiments/editorFramework/src/Toolkit_Layer_1/qt/Editor.cpp
index 2b515ac..644595d 100644
--- a/experiments/editorFramework/src/Toolkit_Layer_1/qt/Editor.cpp
+++ b/experiments/editorFramework/src/Toolkit_Layer_1/qt/Editor.cpp
@@ -18,15 +18,13 @@
 #include "qt_classes.hpp"
 
 
-void Editor::webViewloadFinished(bool ok) {}
 
-Editor::Editor(QWidget *parent, Qt::WindowFlags f) {}
-Editor::~Editor() {}
+Editor::Editor() {
+    webView.setParent(this);
+
+    layout.setContentsMargins(0, 0, 0, 0);
+    layout.addWidget(&webView);
+    setLayout(&layout);
+}
 
 
-void Editor::mouseDoubleClickEvent(QMouseEvent *event) {}
-void Editor::mouseMoveEvent(QMouseEvent *event) {}
-void Editor::mousePressEvent(QMouseEvent *event) {}
-void Editor::mouseReleaseEvent(QMouseEvent *event) {}
-void Editor::resizeEvent(QResizeEvent *event) {}
-bool Editor::eventFilter(QObject *obj, QEvent *event) { return true; }
diff --git a/experiments/editorFramework/src/Toolkit_Layer_1/qt/MainWindow.cpp b/experiments/editorFramework/src/Toolkit_Layer_1/qt/MainWindow.cpp
index f31cb0c..3456152 100644
--- a/experiments/editorFramework/src/Toolkit_Layer_1/qt/MainWindow.cpp
+++ b/experiments/editorFramework/src/Toolkit_Layer_1/qt/MainWindow.cpp
@@ -18,7 +18,7 @@
 #include "qt_classes.hpp"
 
 
-MainWindow::MainWindow() {
+MainWindow::MainWindow() : QWidget(0) {
     toolbar.setParent(this);
     editor.setParent(this);
 
diff --git a/experiments/editorFramework/src/Toolkit_Layer_1/qt/moc_qt_classes.cpp b/experiments/editorFramework/src/Toolkit_Layer_1/qt/moc_qt_classes.cpp
index be69779..924eab3 100644
--- a/experiments/editorFramework/src/Toolkit_Layer_1/qt/moc_qt_classes.cpp
+++ b/experiments/editorFramework/src/Toolkit_Layer_1/qt/moc_qt_classes.cpp
@@ -19,8 +19,8 @@
 
 QT_BEGIN_MOC_NAMESPACE
 struct qt_meta_stringdata_Editor_t {
-    QByteArrayData data[4];
-    char stringdata0[31];
+    QByteArrayData data[1];
+    char stringdata0[7];
 };
 #define QT_MOC_LITERAL(idx, ofs, len) \
     Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
@@ -29,13 +29,10 @@
     )
 static const qt_meta_stringdata_Editor_t qt_meta_stringdata_Editor = {
     {
-QT_MOC_LITERAL(0, 0, 6), // "Editor"
-QT_MOC_LITERAL(1, 7, 19), // "webViewloadFinished"
-QT_MOC_LITERAL(2, 27, 0), // ""
-QT_MOC_LITERAL(3, 28, 2) // "ok"
+QT_MOC_LITERAL(0, 0, 6) // "Editor"
 
     },
-    "Editor\0webViewloadFinished\0\0ok"
+    "Editor"
 };
 #undef QT_MOC_LITERAL
 
@@ -45,32 +42,22 @@
        7,       // revision
        0,       // classname
        0,    0, // classinfo
-       1,   14, // methods
+       0,    0, // methods
        0,    0, // properties
        0,    0, // enums/sets
        0,    0, // constructors
        0,       // flags
        0,       // signalCount
 
- // slots: name, argc, parameters, tag, flags
-       1,    1,   19,    2, 0x0a /* Public */,
-
- // slots: parameters
-    QMetaType::Void, QMetaType::Bool,    3,
-
        0        // eod
 };
 
 void Editor::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
 {
-    if (_c == QMetaObject::InvokeMetaMethod) {
-        Editor *_t = static_cast<Editor *>(_o);
-        Q_UNUSED(_t)
-        switch (_id) {
-        case 0: _t->webViewloadFinished((*reinterpret_cast< bool(*)>(_a[1]))); break;
-        default: ;
-        }
-    }
+    Q_UNUSED(_o);
+    Q_UNUSED(_id);
+    Q_UNUSED(_c);
+    Q_UNUSED(_a);
 }
 
 const QMetaObject Editor::staticMetaObject = {
@@ -97,15 +84,6 @@
     _id = QWidget::qt_metacall(_c, _id, _a);
     if (_id < 0)
         return _id;
-    if (_c == QMetaObject::InvokeMetaMethod) {
-        if (_id < 1)
-            qt_static_metacall(this, _c, _id, _a);
-        _id -= 1;
-    } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
-        if (_id < 1)
-            *reinterpret_cast<int*>(_a[0]) = -1;
-        _id -= 1;
-    }
     return _id;
 }
 struct qt_meta_stringdata_Toolbar_t {
@@ -245,8 +223,8 @@
     return _id;
 }
 struct qt_meta_stringdata_qt_toolkit_t {
-    QByteArrayData data[5];
-    char stringdata0[29];
+    QByteArrayData data[7];
+    char stringdata0[52];
 };
 #define QT_MOC_LITERAL(idx, ofs, len) \
     Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
@@ -259,10 +237,13 @@
 QT_MOC_LITERAL(1, 11, 4), // "save"
 QT_MOC_LITERAL(2, 16, 0), // ""
 QT_MOC_LITERAL(3, 17, 6), // "saveAs"
-QT_MOC_LITERAL(4, 24, 4) // "load"
+QT_MOC_LITERAL(4, 24, 4), // "load"
+QT_MOC_LITERAL(5, 29, 19), // "webViewloadFinished"
+QT_MOC_LITERAL(6, 49, 2) // "ok"
 
     },
-    "qt_toolkit\0save\0\0saveAs\0load"
+    "qt_toolkit\0save\0\0saveAs\0load\0"
+    "webViewloadFinished\0ok"
 };
 #undef QT_MOC_LITERAL
 
@@ -272,7 +253,7 @@
        7,       // revision
        0,       // classname
        0,    0, // classinfo
-       3,   14, // methods
+       4,   14, // methods
        0,    0, // properties
        0,    0, // enums/sets
        0,    0, // constructors
@@ -280,14 +261,16 @@
        0,       // signalCount
 
  // slots: name, argc, parameters, tag, flags
-       1,    0,   29,    2, 0x0a /* Public */,
-       3,    0,   30,    2, 0x0a /* Public */,
-       4,    0,   31,    2, 0x0a /* Public */,
+       1,    0,   34,    2, 0x0a /* Public */,
+       3,    0,   35,    2, 0x0a /* Public */,
+       4,    0,   36,    2, 0x0a /* Public */,
+       5,    1,   37,    2, 0x0a /* Public */,
 
  // slots: parameters
     QMetaType::Void,
     QMetaType::Void,
     QMetaType::Void,
+    QMetaType::Void, QMetaType::Bool,    6,
 
        0        // eod
 };
@@ -301,10 +284,10 @@
         case 0: _t->save(); break;
         case 1: _t->saveAs(); break;
         case 2: _t->load(); break;
+        case 3: _t->webViewloadFinished((*reinterpret_cast< bool(*)>(_a[1]))); break;
         default: ;
         }
     }
-    Q_UNUSED(_a);
 }
 
 const QMetaObject qt_toolkit::staticMetaObject = {
@@ -334,13 +317,13 @@
     if (_id < 0)
         return _id;
     if (_c == QMetaObject::InvokeMetaMethod) {
-        if (_id < 3)
+        if (_id < 4)
             qt_static_metacall(this, _c, _id, _a);
-        _id -= 3;
+        _id -= 4;
     } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
-        if (_id < 3)
+        if (_id < 4)
             *reinterpret_cast<int*>(_a[0]) = -1;
-        _id -= 3;
+        _id -= 4;
     }
     return _id;
 }
diff --git a/experiments/editorFramework/src/Toolkit_Layer_1/qt/qt_classes.hpp b/experiments/editorFramework/src/Toolkit_Layer_1/qt/qt_classes.hpp
index 3d51aa0..238f7f0 100644
--- a/experiments/editorFramework/src/Toolkit_Layer_1/qt/qt_classes.hpp
+++ b/experiments/editorFramework/src/Toolkit_Layer_1/qt/qt_classes.hpp
@@ -19,6 +19,7 @@
 #include <QtWidgets/QWidget>
 #include <QtWidgets/QBoxLayout>
 #include <QtWidgets/QPushbutton>
+#include <QtWebkitWidgets/QWebView>
 
 
 
@@ -47,30 +48,17 @@
 
 class Editor : public QWidget
 {
+    // Editor is the html viewer / editor
     Q_OBJECT
 public:
-    Editor(QWidget *parent = 0, Qt::WindowFlags f = 0);
-    virtual ~Editor();
-    QWebView *webView() const { return _webView; }
-//    JSInterface *js() const { return _js; }
+    // Constructor/Destructor
+    Editor();
+    ~Editor() {};
 
-    public slots:
-    void webViewloadFinished(bool ok);
 
-protected:
-    virtual void mouseDoubleClickEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
-    virtual void mouseMoveEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
-    virtual void mousePressEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
-    virtual void mouseReleaseEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
-    virtual void resizeEvent(QResizeEvent *event) Q_DECL_OVERRIDE;
-    virtual bool eventFilter(QObject *obj, QEvent *event) Q_DECL_OVERRIDE;
-
-private:
-    QWebView *_webView;
-//    EditorJSCallbacks *_callbacks;
-//    EditorJSEvaluator *_evaluator;
-//    JSInterface *_js;
-    bool _selecting;
+    // Graphical elements
+    QWebView    webView;
+    QVBoxLayout layout;
 };
 
 
@@ -86,7 +74,10 @@
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 class Toolbar : public QWidget
 {
+    /* toolbar contains all buttons for the editor*/
     Q_OBJECT
+
+
 public:
     // Constructor/Destructor
     Toolbar();
@@ -111,6 +102,8 @@
 {
     /* Main window, this adds all other widgets inside */
     Q_OBJECT
+
+
 public:
     // Constructor/Destructor
     MainWindow();
@@ -147,16 +140,15 @@
     void run();
     bool callJavascript(const char *function);
 
+    static QApplication *app;
+    MainWindow           window;
+    toolkit_callback    *callback;
+    int                  debugLevel;
+
 
 public slots:
     void save();
     void saveAs();
     void load();
-
- 
-private:
-    static QApplication *app;
-    MainWindow           window;
-    toolkit_callback    *callback;
-    int                  debugLevel;
+    void webViewloadFinished(bool ok);
 };
diff --git a/experiments/editorFramework/src/Toolkit_Layer_1/qt/qt_toolkit.cpp b/experiments/editorFramework/src/Toolkit_Layer_1/qt/qt_toolkit.cpp
index c3a2ea4..dc84019 100644
--- a/experiments/editorFramework/src/Toolkit_Layer_1/qt/qt_toolkit.cpp
+++ b/experiments/editorFramework/src/Toolkit_Layer_1/qt/qt_toolkit.cpp
@@ -38,25 +38,26 @@
 
 // Constructor/Destructor
 qt_toolkit::qt_toolkit(toolkit_callback *setCallback, int setDebugLevel) :
+    window(),
     callback(setCallback),
     debugLevel(setDebugLevel)
 {
-    // Application is only added once 
-    if (!app) {
-        int    argc = 0;
-        char **argv = NULL;
-        app         = new QApplication(argc, argv);
-    }
-
     // get notification, when user click on button
-    QObject::connect((const QObject *)&window.toolbar.saveButton, SIGNAL(clicked()), this, SLOT(saveButton()));
-    QObject::connect((const QObject *)&window.toolbar.saveAsButton, SIGNAL(clicked()), this, SLOT(saveAsButton()));
-    QObject::connect((const QObject *)&window.toolbar.loadButton, SIGNAL(clicked()), this, SLOT(saveAsButton()));
+    QObject::connect((const QObject *)&window.toolbar.saveButton,   SIGNAL(clicked()),          this, SLOT(saveButton()));
+    QObject::connect((const QObject *)&window.toolbar.saveAsButton, SIGNAL(clicked()),          this, SLOT(saveAsButton()));
+    QObject::connect((const QObject *)&window.toolbar.loadButton,   SIGNAL(clicked()),          this, SLOT(saveAsButton()));
+    QObject::connect((const QObject *)&window.editor.webView,       SIGNAL(loadFinished(bool)), this, SLOT(webViewloadFinished(bool)));
 }
 
 
 // Instanciate the derived class.
 toolkit * toolkit::createInstance(toolkit_callback *tk, int setDebugLevel) {
+    // Application is only added once 
+    if (!qt_toolkit::app) {
+        int    argc = 0;
+        char **argv = NULL;
+        qt_toolkit::app = new QApplication(argc, argv);
+    }
     return (toolkit *)new qt_toolkit(tk, setDebugLevel);
 }
 
@@ -92,4 +93,9 @@
 
 // Notify load was requested
 void qt_toolkit::load() {
+}
+
+
+// Notify load was done
+void qt_toolkit::webViewloadFinished(bool ok) {
 }
\ No newline at end of file