Index: code/branches/notifications/data/gui/scripts/NotificationLayer.lua
===================================================================
--- code/branches/notifications/data/gui/scripts/NotificationLayer.lua	(revision 7353)
+++ code/branches/notifications/data/gui/scripts/NotificationLayer.lua	(revision 7354)
@@ -6,9 +6,11 @@
 P.nameList = {}
 P.visible = nil
+P.editMode = false
+P.editList = {}
 
 function P.createQueue(name, size)
     local root = winMgr:getWindow("orxonox/NotificationLayer/Root")
     local queue = winMgr:createWindow("MenuWidgets/Listbox", "orxonox/NotificationLayer/Root/Queue/" .. name)
-    queue:setProperty("BackgroundColor", "66FFFFFF")
+    queue:setProperty("BackgroundColor", "00FFFFFF")
     root:addChildWindow(queue)
 
@@ -123,4 +125,40 @@
 end
 
+function P.enterEditMode()
+    P.editMode = true
+
+    local root = winMgr:getWindow("orxonox/NotificationLayer/Root")
+    --Replace all queues with FrameWindows
+    for k,v in pairs(P.queueList) do
+        if v ~= nil then
+            root:removeChildWindow(v)
+            local frame = winMgr:createWindow("MenuWidgets/FrameWindow", "orxonox/NotificationLayer/Root/EditMode/" .. P.nameList(k))
+            frame:setArea(v:getArea())
+            P.editList[k] = frame
+        end
+    end
+end
+
+function P.leaveEditMode()
+    P.editMode = false
+
+    local root = winMgr:getWindow("orxonox/NotificationLayer/Root")
+    --Replace all queues with FrameWindows
+    for k,v in pairs(P.queueList) do
+        if v ~= nil then
+            root:addChildWindow(v)
+            v:setArea(P.editList[k]:getArea())
+            winMgr:destroyWindow(P.editList[k])
+            P.editList[k] = nil
+        end
+    end
+end
+
+function P.onHide()
+    if P.editMode then
+        P.leaveEditMode()
+    end
+end
+
 function P.nameToQueueHelper(name)
     local queue = nil
Index: code/branches/notifications/data/levels/Fight in our Back.oxw
===================================================================
--- code/branches/notifications/data/levels/Fight in our Back.oxw	(revision 7353)
+++ code/branches/notifications/data/levels/Fight in our Back.oxw	(revision 7354)
@@ -7,13 +7,4 @@
     include("templates/spaceship_Transporter.oxt")
 ?>
-
-<NotificationQueue
-    name     = "notification"
-    position = "0.40, 0.05"
-    font     = "VeraMono"
-    textsize = 0.020
-    length   = 3
-    width    = 50
-/>
 
 <!--*****************************************************************************************************************************************************************************************-->
Index: code/branches/notifications/data/levels/Quest_PirateAttack.oxw
===================================================================
--- code/branches/notifications/data/levels/Quest_PirateAttack.oxw	(revision 7353)
+++ code/branches/notifications/data/levels/Quest_PirateAttack.oxw	(revision 7354)
@@ -19,15 +19,4 @@
     dofile("includes/CuboidSpaceStation.lua")
 ?>
-
-<NotificationQueue
-     name     = "notification"
-     position = "0.40, 0.05"
-     font     = "VeraMono"
-     textsize = 0.020
-     length   = 3
-     width    = 50
-/>
-    
-    
     
 <Level
Index: code/branches/notifications/data/levels/old/princessaeryn.oxw
===================================================================
--- code/branches/notifications/data/levels/old/princessaeryn.oxw	(revision 7353)
+++ code/branches/notifications/data/levels/old/princessaeryn.oxw	(revision 7354)
@@ -8,10 +8,4 @@
     dofile("includes/CuboidSpaceStation.lua")
 ?>
-
-<NotificationQueue
- name  = "notification"
- position = "1.0, 1.0"
- targets = "questsystem"
-/>
 
 <Level
Index: code/branches/notifications/data/levels/old/questsystem.oxw
===================================================================
--- code/branches/notifications/data/levels/old/questsystem.oxw	(revision 7353)
+++ code/branches/notifications/data/levels/old/questsystem.oxw	(revision 7354)
@@ -4,10 +4,4 @@
   include("templates/spaceship_assff.oxt")
 ?>
-
-<NotificationQueue
- name  = "notification"
- position = "1.0, 1.0"
- targets = "all"
-/>
 
 <Level
Index: code/branches/notifications/data/levels/princessaeryn.oxw
===================================================================
--- code/branches/notifications/data/levels/princessaeryn.oxw	(revision 7353)
+++ code/branches/notifications/data/levels/princessaeryn.oxw	(revision 7354)
@@ -14,13 +14,4 @@
  description  = "The Tale of Princess Aeryn"
 >
-
-  <NotificationQueue
-   name   = "notification"
-   position = "0.55, 0.05"
-   font   = "VeraMono"
-   textsize = 0.020
-   length   = 3
-   width  = 50
-  />
 
   <templates>
Index: code/branches/notifications/data/levels/tutorial.oxw
===================================================================
--- code/branches/notifications/data/levels/tutorial.oxw	(revision 7353)
+++ code/branches/notifications/data/levels/tutorial.oxw	(revision 7354)
@@ -13,13 +13,4 @@
     <Template link=lodtemplate_default />
   </templates>
-
-  <NotificationQueue
-   name   = "notification"
-   position = "0.05, 0.05"
-   font   = "VeraMono"
-   textsize = 0.020
-   length   = 3
-   width  = 50
-  />
 
   <Scene
Index: code/branches/notifications/src/modules/notifications/CMakeLists.txt
===================================================================
--- code/branches/notifications/src/modules/notifications/CMakeLists.txt	(revision 7353)
+++ code/branches/notifications/src/modules/notifications/CMakeLists.txt	(revision 7354)
@@ -12,4 +12,5 @@
   FIND_HEADER_FILES
   TOLUA_FILES
+    NotificationManager.h
   PCH_FILE
     NotificationsPrecompiledHeaders.h
Index: code/branches/notifications/src/modules/notifications/NotificationManager.cc
===================================================================
--- code/branches/notifications/src/modules/notifications/NotificationManager.cc	(revision 7353)
+++ code/branches/notifications/src/modules/notifications/NotificationManager.cc	(revision 7354)
@@ -34,6 +34,8 @@
 #include "NotificationManager.h"
 
+#include "core/command/ConsoleCommand.h"
 #include "core/CoreIncludes.h"
 #include "core/GUIManager.h"
+#include "core/LuaState.h"
 #include "util/ScopedSingletonManager.h"
 #include "interfaces/NotificationListener.h"
@@ -49,4 +51,7 @@
     ManageScopedSingleton(NotificationManager, ScopeID::Graphics, false);
 
+    //TODO: Make work.
+    //SetConsoleCommand("enterEditMode", &NotificationManager::enterEditMode).description("Enter the NotificationLayer edit mode.");
+
     /**
     @brief
@@ -64,5 +69,5 @@
 
             // Create first queue:
-            this->queue_ = new NotificationQueue("all");
+            this->queues_.push_back(new NotificationQueue("all"));
         }
     }
@@ -74,5 +79,12 @@
     NotificationManager::~NotificationManager()
     {
-        //this->queue_->destroy();
+        
+    }
+
+    void NotificationManager::preDestroy(void)
+    {
+        for(std::vector<NotificationQueue*>::iterator it = this->queues_.begin(); it != this->queues_.end(); it++)
+            (*it)->destroy();
+        this->queues_.clear();
     }
 
@@ -291,3 +303,8 @@
     }
 
+    void NotificationManager::createQueue(const std::string& name, const std::string& targets, unsigned int size, unsigned int displayTime)
+    {
+        this->queues_.push_back(new NotificationQueue(name, targets, size, displayTime));
+    }
+
 }
Index: code/branches/notifications/src/modules/notifications/NotificationManager.h
===================================================================
--- code/branches/notifications/src/modules/notifications/NotificationManager.h	(revision 7353)
+++ code/branches/notifications/src/modules/notifications/NotificationManager.h	(revision 7354)
@@ -40,10 +40,12 @@
 #include <map>
 #include <string>
+#include <vector>
 
 #include "util/Singleton.h"
 #include "core/OrxonoxClass.h"
 
-namespace orxonox
-{
+namespace orxonox // tolua_export
+{ // tolua_export
+
     /**
     @brief
@@ -53,10 +55,15 @@
         Damian 'Mozork' Frick
     */
-    class _NotificationsExport NotificationManager : public Singleton<NotificationManager>, public OrxonoxClass
-    {
+    class _NotificationsExport NotificationManager  // tolua_export
+        : public Singleton<NotificationManager>, public OrxonoxClass
+    { // tolua_export
             friend class Singleton<NotificationManager>;
         public:
             NotificationManager();
             virtual ~NotificationManager();
+
+            virtual void preDestroy(void);
+
+            static NotificationManager& getInstance() { return Singleton<NotificationManager>::getInstance(); } // tolua_export
 
             static const std::string ALL; //!< Static string to indicate a sender that sends to all NotificationListeners.
@@ -80,8 +87,12 @@
                 { return this->getNotifications(listener, map, std::time(0)-timeDelay, std::time(0)); }
 
+            void enterEditMode(void);
+
+            void createQueue(const std::string& name, const std::string& targets, unsigned int size, unsigned int displayTime); // tolua_export
+
         private:
             static NotificationManager* singletonPtr_s;
 
-            NotificationQueue* queue_; //!< Initial, first, NotificationQueue.
+            std::vector<NotificationQueue*> queues_; //!< The list of NotificationQueues created by the NotificationManager.
 
             int highestIndex_; //!< This variable holds the highest index (resp. key) in notificationLists_s, to secure that no key appears twice.
@@ -94,7 +105,7 @@
             bool removeNotification(Notification* notification, std::multimap<std::time_t, Notification*>& map); //!< Helper method that removes an input notification form an input map.
 
-    };
+    }; // tolua_export
 
-}
+} // tolua_export
 
 #endif /* _NotificationManager_H__ */
Index: code/branches/notifications/src/modules/notifications/NotificationQueue.cc
===================================================================
--- code/branches/notifications/src/modules/notifications/NotificationQueue.cc	(revision 7353)
+++ code/branches/notifications/src/modules/notifications/NotificationQueue.cc	(revision 7354)
@@ -45,11 +45,9 @@
 {
 
-    const Vector2 NotificationQueue::DEFAULT_POSITION(0.0,0.0);
-
     /**
     @brief
         Constructor. Creates and initializes the object.
     */
-    NotificationQueue::NotificationQueue(const std::string& name, const std::string& senders, unsigned int size, const Vector2& position, unsigned int displayTime)
+    NotificationQueue::NotificationQueue(const std::string& name, const std::string& senders, unsigned int size, unsigned int displayTime)
     {
         this->registered_ = false;
@@ -62,9 +60,7 @@
         this->name_ = name;
         this->maxSize_ = size;
-        this->position_ = position;
         this->setDisplayTime(displayTime);
 
         this->create();
-        this->positionChanged();
 
         NotificationManager::getInstance().registerListener(this);
@@ -245,13 +241,4 @@
         this->size_ = 0;
         GUIManager::getInstance().getLuaState()->doString("NotificationLayer.clearQueue(\"" + this->getName() + "\")");
-    }
-
-    /**
-    @brief
-        Adjusts the NotificationQueue, when the position has changed.
-    */
-    void NotificationQueue::positionChanged(void)
-    {
-        GUIManager::getInstance().getLuaState()->doString("NotificationLayer.changePosition(\"" + this->getName() + "\", " + multi_cast<std::string>(this->getPosition().x) + ", " + multi_cast<std::string>(this->getPosition().y) + ")");
     }
 
Index: code/branches/notifications/src/modules/notifications/NotificationQueue.h
===================================================================
--- code/branches/notifications/src/modules/notifications/NotificationQueue.h	(revision 7353)
+++ code/branches/notifications/src/modules/notifications/NotificationQueue.h	(revision 7354)
@@ -43,5 +43,4 @@
 
 #include "tools/interfaces/Tickable.h"
-#include "util/Math.h"
 #include "interfaces/NotificationListener.h"
 #include "NotificationManager.h"
@@ -73,5 +72,5 @@
 
         public:
-            NotificationQueue(const std::string& name, const std::string& senders = NotificationManager::ALL, unsigned int size = NotificationQueue::DEFAULT_SIZE, const Vector2& position = NotificationQueue::DEFAULT_POSITION, unsigned int displayTime = NotificationQueue::DEFAULT_DISPLAY_TIME);
+            NotificationQueue(const std::string& name, const std::string& senders = NotificationManager::ALL, unsigned int size = NotificationQueue::DEFAULT_SIZE, unsigned int displayTime = NotificationQueue::DEFAULT_DISPLAY_TIME);
             virtual ~NotificationQueue();
 
@@ -106,10 +105,4 @@
             inline float getDisplayTime() const
                 { return this->displayTime_; }
-            /**
-            @brief Returns the position of the NotificationQueue.
-            @return Returns the position.
-            */
-            inline const Vector2 & getPosition() const
-                { return this->position_; }
 
             /**
@@ -121,15 +114,7 @@
             bool getTargets(std::string* string) const; //!< Returns a string consisting of the concatination of the targets.
 
-            /**
-            @brief Sets the position of the NotificationQueue.
-            @param pos The position.
-            */
-            inline void setPosition(Vector2 pos)
-                { this->position_ = pos; this->positionChanged(); }
-
         private:
             static const unsigned int DEFAULT_SIZE = 5; //!< The default maximum number of Notifications displayed.
             static const unsigned int DEFAULT_DISPLAY_TIME = 30; //!< The default display time.
-            static const Vector2 DEFAULT_POSITION; //!< the default position.
 
             std::string name_; //!< The name of the NotificationQueue.
@@ -137,7 +122,5 @@
             unsigned int maxSize_; //!< The maximal number of Notifications displayed.
             unsigned int size_; //!< The number of Notifications displayed.
-            unsigned int notificationLength_; //!< The maximal number of characters a Notification-message is allowed to have.
             unsigned int displayTime_; //!< The time a Notification is displayed.
-            Vector2 position_; //!< The position of the NotificationQueue.
 
             std::set<std::string> targets_; //!< The targets the Queue displays Notifications of.
@@ -161,5 +144,4 @@
             bool setTargets(const std::string & targets); //!< Set the targets of this NotificationQueue.
 
-            void positionChanged(void); //!< Aligns all the Notifications to the position of the NotificationQueue.
             void sizeChanged(void); //!< Adjusts the NotificationQueue, when the maximum size has changed.
 
