diff --git a/components/ApplicationWindow.qml b/components/ApplicationWindow.qml
new file mode 100644
index 0000000000000000000000000000000000000000..001a17d1a39efb62e7ee169cb0bb1f429e9ff9e5
--- /dev/null
+++ b/components/ApplicationWindow.qml
@@ -0,0 +1,32 @@
+import QtQuick 1.1
+
+Window {
+    width: 320
+    height: 240
+
+    property alias toolBar: toolBarArea.data
+    property alias statusBar: statusBarArea.data
+    default property alias data: contentArea.data
+
+    Column {
+        id: toolBarArea
+        anchors.top: parent.top
+        anchors.left: parent.left
+        anchors.right: parent.right
+    }
+
+    Item {
+        id: contentArea
+        anchors.top: toolBarArea.bottom
+        anchors.left: parent.left
+        anchors.right: parent.right
+        anchors.bottom: statusBarArea.top
+    }
+
+    Column {
+        id: statusBarArea
+        anchors.bottom: parent.bottom
+        anchors.left: parent.left
+        anchors.right: parent.right
+    }
+}
diff --git a/components/StatusBar.qml b/components/StatusBar.qml
index aba6c31854463eff38fddbaef8e3265e969ef461..ae2b6fcb5396680b865d22fdbc3b913fd3aa1b6c 100644
--- a/components/StatusBar.qml
+++ b/components/StatusBar.qml
@@ -3,7 +3,7 @@ import "."
 import "custom" as Components
 
 StyleItem {
-    width: 200
+    width: parent ? parent.width : 200
     height: 24
     elementType: "statusbar"
 }
diff --git a/components/ToolBar.qml b/components/ToolBar.qml
index 6eda98b7b74ec61c9fb5f0890c9d79fcbaf5a4a2..855895bbf6a0890ec6b3ed8a17f5b9b025d8321f 100644
--- a/components/ToolBar.qml
+++ b/components/ToolBar.qml
@@ -4,8 +4,7 @@ import "custom" as Components
 
 StyleItem {
     id: toolbar
-    width: 200
+    width: parent ? parent.width : 200
     height: 40
     elementType: "toolbar"
 }
-
diff --git a/components/components.pro b/components/components.pro
index 50e2161fbfbe4560cd8773bbede0fb8bd662daa7..5d88656975a24289559e6814e8d2bc47b53a69d1 100644
--- a/components/components.pro
+++ b/components/components.pro
@@ -40,7 +40,8 @@ QML_FILES = \
             SplitterColumn.qml \
             StatusBar.qml \
             TableColumn.qml \
-            TextField.qml
+            TextField.qml \
+            ApplicationWindow.qml
 
 QML_DIRS = \
         custom \
diff --git a/components/qmldir b/components/qmldir
index cae6b2bca204b89fc9a2e86fa319aeadb014e49f..9264cd462b481328f804e21f8f9a266f11dcbef4 100644
--- a/components/qmldir
+++ b/components/qmldir
@@ -30,3 +30,4 @@ MenuItem 0.1 MenuItem.qml
 Dialog 0.1 Dialog.qml
 StatusBar 0.1 StatusBar.qml
 SplitterItem 0.1 SplitterItem.qml
+ApplicationWindow 0.1 ApplicationWindow.qml
diff --git a/src/qtoplevelwindow.h b/src/qtoplevelwindow.h
index bd293bd09adeb68cda917f1efea82a7cba387793..cd516e1eb8450e0ccd48a63b72d5bad9116d72bd 100644
--- a/src/qtoplevelwindow.h
+++ b/src/qtoplevelwindow.h
@@ -41,6 +41,7 @@ public:
     QGraphicsScene *scene() { return _view->scene(); }
     QDeclarativeView *view() { return _view; }
 
+
     void registerChildWindow(QTopLevelWindow* child);
     void hideChildWindows();
     void initPosition();