Index: code/branches/pickup4/data/gui/schemes/OrxonoxGUIScheme.scheme
===================================================================
--- code/branches/pickup4/data/gui/schemes/OrxonoxGUIScheme.scheme	(revision 6669)
+++ code/branches/pickup4/data/gui/schemes/OrxonoxGUIScheme.scheme	(revision 6675)
@@ -2,3 +2,4 @@
 <GUIScheme Name="OrxonoxGUI">
     <Imageset Name="MainMenuBackground" Filename="MainMenuBackground.imageset"/>
+    <Imageset Name="PickupInventory" Filename="PickupInventory.imageset"/>
 </GUIScheme>
Index: code/branches/pickup4/data/gui/scripts/InitialiseGUI.lua
===================================================================
--- code/branches/pickup4/data/gui/scripts/InitialiseGUI.lua	(revision 6669)
+++ code/branches/pickup4/data/gui/scripts/InitialiseGUI.lua	(revision 6675)
@@ -223,4 +223,5 @@
 end
 
+--TODO: Needed?
 function test(e)
     debug(0, "Blubb")
Index: code/branches/pickup4/data/gui/scripts/PickupInventory.lua
===================================================================
--- code/branches/pickup4/data/gui/scripts/PickupInventory.lua	(revision 6669)
+++ code/branches/pickup4/data/gui/scripts/PickupInventory.lua	(revision 6675)
@@ -23,16 +23,15 @@
     P.visible = true
     
-    table.insert(P.carrierList, 4)
-    
     local pickupManager = orxonox.PickupManager:getInstance()
     local carrier = pickupManager:getPawn()
-    P.getCarrierList(carrier)
     
+    local root = winMgr:getWindow("orxonox/PickupInventory/Inventory")
+    
+    P.getCarrierList(carrier)    
     for k,v in pairs(P.carrierList) do
-        local args = {}
-        table.insert(args, v)
-        table.insert(args, k)
-        local window = P.createCarrierBox(args)
+        local window = P.createCarrierBox(v,k)
+        root:addChildWindow(window);
     end
+
 end
 
@@ -59,21 +58,55 @@
 end
 
-function P.createCarrierBox(args)
-    local carrier = args[1]
-    local index = args[2]
-    
+function P.createCarrierBox(carrier, index)
+
     local name = "orxonox/PickupInventory/Carrier" .. index
     local window = winMgr:createWindow("TaharezLook/StaticText", name .. "/Title")
+    --TODO: Align text to the top
     window:setText(carrier:getCarrierName())
-    -- TODO: Does this exist?
-    local height = window:getHeight()
     
     local box = winMgr:createWindow("TaharezLook/ScrollablePane", name .. "/Box")
-    box:setPosition(CEGUI.UVector2(CEGUI.UDim(0.05, 0), CEGUI.UDim(0, height)))
-    box:setWidth(CEGUI.UDim(0.9, 0))
+    box:setPosition(CEGUI.UVector2(CEGUI.UDim(0.05, 0), CEGUI.UDim(0, 35)))
+    box:setSize(CEGUI.UVector2(CEGUI.UDim(0.9, 0), CEGUI.UDim(1, 0)))
+    window:addChildWindow(box)
     
-    local numPickups = orxonox.PickupManager.getInstance():getNumPickups(carrier)
+    --Design parameters:
+    imageHeight = 50
+    textHeight = 30
+    
+    local numPickups = orxonox.PickupManager:getInstance():getNumPickups(carrier)
     for i=0,numPickups-1,1 do
+        local pickup = orxonox.PickupManager:getInstance():getPickupRepresentation(i, carrier)
         
+        local item = winMgr:createWindow("TaharezLook/StaticText", name .. "/Box/Pickup" .. i)
+        item:setSize(CEGUI.UVector2(CEGUI.UDim(1, 0), CEGUI.UDim(0, imageHeight)))
+        item:setPosition(CEGUI.UVector2(CEGUI.UDim(0, 0), CEGUI.UDim(0, (imageHeight+5)*i)))
+        box:addChildWindow(item)
+        
+        local image = winMgr:createWindow("TaharezLook/StaticImage", name .. "/Box/Pickup" .. i .. "/Image")
+        image:setProperty("Image", "set:PickupInventory image:" .. pickup:getInventoryRepresentation())
+        image:setProperty("BackgroundEnabled", "set:False")
+        image:setProperty("FrameEnabled", "set:True")
+        image:setSize(CEGUI.UVector2(CEGUI.UDim(0, imageHeight), CEGUI.UDim(0, imageHeight)))
+        item:addChildWindow(image)
+        
+        local title = winMgr:createWindow("TaharezLook/StaticText", name .. "/Box/Pickup" .. i .. "/Title")
+        title:setPosition(CEGUI.UVector2(CEGUI.UDim(0, imageHeight+5), CEGUI.UDim(0, (imageHeight-textHeight)/2)))
+        title:setSize(CEGUI.UVector2(CEGUI.UDim(0.4, 0), CEGUI.UDim(0, textHeight)))
+        title:setText(pickup:getPickupName())
+        item:addChildWindow(title)
+        
+        local useButton = winMgr:createWindow("TaharezLook/Button", name .. "/Box/Pickup" .. i .. "/UseButton")
+        useButton:setPosition(CEGUI.UVector2(CEGUI.UDim(0.4, imageHeight+10),CEGUI.UDim(0, (imageHeight-textHeight)/2)))
+        useButton:setSize(CEGUI.UVector2(CEGUI.UDim(0.2, 0), CEGUI.UDim(0, textHeight)))
+        useButton:setText("use")
+        orxonox.GUIManager:subscribeEventHelper(useButton, "Clicked", P.filename .. ".InventoryUseButton_clicked")
+        item:addChildWindow(useButton)
+        
+        local dropButton = winMgr:createWindow("TaharezLook/Button", name .. "/Box/Pickup" .. i .. "/DropButton")
+        dropButton:setPosition(CEGUI.UVector2(CEGUI.UDim(0.6, imageHeight+15),CEGUI.UDim(0, (imageHeight-textHeight)/2)))
+        dropButton:setSize(CEGUI.UVector2(CEGUI.UDim(0.2, 0), CEGUI.UDim(0, textHeight)))
+        dropButton:setText("drop")
+        orxonox.GUIManager:subscribeEventHelper(dropButton, "Clicked", P.filename .. ".InventoryDropButton_clicked")
+        item:addChildWindow(dropButton)
     end
     
@@ -81,10 +114,28 @@
 end
 
+function P.windowToCarrierHelper(e)
+    local we = CEGUI.toWindowEventArgs(e)
+    local name = we.window:getName()
+    debug(0, "Name: " .. name)
+
+    local match = string.gmatch(name, "%d+")
+    local carrierNr = tonumber(match())
+    local pickupNr = tonumber(match())
+
+    local arguments = {}
+    arguments[1] = carrierNr
+    arguments[2] = pickupNr
+    return arguments
+end
+
 function P.InventoryUseButton_clicked(e)
-
+    local arguments = P.windowToCarrierHelper(e)
+    debug(0, "(Buh: " .. arguments[1] .. "|" .. arguments[2] .. ")")
+    orxonox.PickupManager:getInstance():usePickup(arguments[2], P.carrierList[arguments[1]], 1)
 end
 
 function P.InventoryDropButton_clicked(e)
-
+    local arguments = P.windowToCarierHelper(e)
+    orxonox.PickupManager:getInstance():dropPickup(arguments[2], P.carrierList[arguments[1]])
 end
 
Index: code/branches/pickup4/data/levels/includes/pickups.oxi
===================================================================
--- code/branches/pickup4/data/levels/includes/pickups.oxi	(revision 6669)
+++ code/branches/pickup4/data/levels/includes/pickups.oxi	(revision 6675)
@@ -1,5 +1,5 @@
 <PickupRepresentation
-    name = "Small Health Boost"
-    description = "Adds a small amout of health to the ship."
+    pickupName = "Small Health Boost"
+    pickupDescription = "Adds a small amout of health to the ship."
     spawnerTemplate = "smallhealthpickupRepresentation"
 >
@@ -10,6 +10,6 @@
 
 <PickupRepresentation
-    name = "Medium Health Boost"
-    description = "Adds a medium amout of health to the ship."
+    pickupName = "Medium Health Boost"
+    pickupDescription = "Adds a medium amout of health to the ship."
     spawnerTemplate = "mediumhealthpickupRepresentation"
 >
@@ -20,6 +20,6 @@
 
 <PickupRepresentation
-    name = "Huge Health Boost"
-    description = "Adds a huge amout of health to the ship."
+    pickupName = "Huge Health Boost"
+    pickupDescription = "Adds a huge amout of health to the ship."
     spawnerTemplate = "hugehealthpickupRepresentation"
 >
@@ -30,6 +30,6 @@
 
 <PickupRepresentation
-    name = "Crazy Madness Health Boost"
-    description = "Adds a crazy amout of health to the ship."
+    pickupName = "Crazy Madness Health Boost"
+    pickupDescription = "Adds a crazy amout of health to the ship."
     spawnerTemplate = "crazyhealthpickupRepresentation"
 >
@@ -40,6 +40,6 @@
 
 <PickupRepresentation
-    name = "Double Pickup"
-    description = "Does stuff."
+    pickupName = "Double Pickup"
+    pickupDescription = "Does stuff."
     spawnerTemplate = "crazyhealthpickupRepresentation"
 >
Index: code/branches/pickup4/data/levels/pickup.oxw
===================================================================
--- code/branches/pickup4/data/levels/pickup.oxw	(revision 6669)
+++ code/branches/pickup4/data/levels/pickup.oxw	(revision 6675)
@@ -37,5 +37,11 @@
     <PickupSpawner position="-50,0,-100" triggerDistance="10" respawnTime="30" maxSpawnedItems="10">
         <pickup>
-            <HealthPickup health=50 healthRate=5 durationType=continuous activationType=immediate healthType=permanent />
+            <HealthPickup health=50 healthRate=5 durationType=continuous activationType=onUse healthType=permanent />
+        </pickup>
+    </PickupSpawner>
+    
+    <PickupSpawner position="-50,0,-125" triggerDistance="10" respawnTime="30" maxSpawnedItems="10">
+        <pickup>
+            <HealthPickup health=50 healthRate=5 durationType=continuous activationType=onUse healthType=permanent />
         </pickup>
     </PickupSpawner>
