diff --git a/source/ArmarXGui/applications/ArmarXGui/Widgets/ViewerWidget.cpp b/source/ArmarXGui/applications/ArmarXGui/Widgets/ViewerWidget.cpp
index 6054d63c81def76681ca8a8225ad6f69d7996623..b5ae0c31864aacd183ab06ed161c26013f486363 100644
--- a/source/ArmarXGui/applications/ArmarXGui/Widgets/ViewerWidget.cpp
+++ b/source/ArmarXGui/applications/ArmarXGui/Widgets/ViewerWidget.cpp
@@ -369,3 +369,10 @@ void Viewer3DWidget::configDialogLoadSettings()
 
     configDialogApplySettings();
 }
+
+
+QIcon armarx::Viewer3DWidget::getWidgetIcon() const
+{
+    ARMARX_IMPORTANT << "ICCCOOON";
+    return QIcon(":icons/Outline-3D.png");
+}
diff --git a/source/ArmarXGui/applications/ArmarXGui/Widgets/ViewerWidget.h b/source/ArmarXGui/applications/ArmarXGui/Widgets/ViewerWidget.h
index 4564c98eb33c691052524b828a7c1cec67b99786..c61c4c4ed150d93a4c05b1619a1787c61681e72a 100644
--- a/source/ArmarXGui/applications/ArmarXGui/Widgets/ViewerWidget.h
+++ b/source/ArmarXGui/applications/ArmarXGui/Widgets/ViewerWidget.h
@@ -93,6 +93,10 @@ namespace armarx
         Ui_ViewerWidgetConfigDialog* configDialogUi;
         QSettings settings;
         QAction* viewingModeAction;
+
+        // ArmarXWidgetController interface
+    public:
+        QIcon getWidgetIcon() const;
     };
     typedef IceUtil::Handle<Viewer3DWidget> Viewer3DWidgetPtr;
 }
diff --git a/source/ArmarXGui/gui-plugins/ClockPlugin/ClockWidgetController.cpp b/source/ArmarXGui/gui-plugins/ClockPlugin/ClockWidgetController.cpp
index f458b6181ee193cfb42c7cc35e68dcb68ac8a515..0e8e5f0ca2a127ef9d23e1f7730180215a483925 100644
--- a/source/ArmarXGui/gui-plugins/ClockPlugin/ClockWidgetController.cpp
+++ b/source/ArmarXGui/gui-plugins/ClockPlugin/ClockWidgetController.cpp
@@ -154,3 +154,9 @@ void ClockWidgetController::speedChanged(double newSpeed)
         timeServerPtr->setSpeed(newSpeed);
     }
 }
+
+
+QIcon armarx::ClockWidgetController::getWidgetIcon() const
+{
+    return QIcon(":icons/Time-And-Date-Clock-icon.png");
+}
diff --git a/source/ArmarXGui/gui-plugins/ClockPlugin/ClockWidgetController.h b/source/ArmarXGui/gui-plugins/ClockPlugin/ClockWidgetController.h
index 175820442658cca36baddc3e2dc9204df94ce7a3..6db75a1e3d13593a3eef809b07f51c07c8ec6cbc 100644
--- a/source/ArmarXGui/gui-plugins/ClockPlugin/ClockWidgetController.h
+++ b/source/ArmarXGui/gui-plugins/ClockPlugin/ClockWidgetController.h
@@ -126,6 +126,10 @@ namespace armarx
         Ui::ClockWidget widget;
         QTimer* updateTimer;
         TimeServerInterfacePtr timeServerPtr;
+
+        // ArmarXWidgetController interface
+    public:
+        QIcon getWidgetIcon() const;
     };
 }
 
diff --git a/source/ArmarXGui/gui-plugins/ScenarioManager/ScenarioManagerWidgetController.cpp b/source/ArmarXGui/gui-plugins/ScenarioManager/ScenarioManagerWidgetController.cpp
index 23f6d89564b7b9a991dd37435c42c564eebf3460..3faeb8145ac19a62fc7f87965ed37626a626a4f1 100644
--- a/source/ArmarXGui/gui-plugins/ScenarioManager/ScenarioManagerWidgetController.cpp
+++ b/source/ArmarXGui/gui-plugins/ScenarioManager/ScenarioManagerWidgetController.cpp
@@ -275,6 +275,7 @@ void ScenarioManagerWidgetController::updateModels()
     //widget.scenarioView->setModel(scenarioListController.getTreeModel());
 }
 
+
 void ScenarioManagerWidgetController::editMode(bool edit)
 {
     QSettings settings;
@@ -282,3 +283,8 @@ void ScenarioManagerWidgetController::editMode(bool edit)
     widget.detailedApplicationView->setVisible(edit);
     widget.applicationDatabase->setVisible(edit);
 }
+
+QIcon armarx::ScenarioManagerWidgetController::getWidgetIcon() const
+{
+    return QIcon(":icons/app-drawer.svg");
+}
diff --git a/source/ArmarXGui/gui-plugins/ScenarioManager/ScenarioManagerWidgetController.h b/source/ArmarXGui/gui-plugins/ScenarioManager/ScenarioManagerWidgetController.h
index bc1b2ba392765428b95218a5b7e1f3b4498c5256..1d9e8baf45639269b7af01a2baf69ae4933882e8 100644
--- a/source/ArmarXGui/gui-plugins/ScenarioManager/ScenarioManagerWidgetController.h
+++ b/source/ArmarXGui/gui-plugins/ScenarioManager/ScenarioManagerWidgetController.h
@@ -144,6 +144,9 @@ namespace armarx
         // ArmarXWidgetController interface
     public:
         QPointer<QWidget> getCustomTitlebarWidget(QWidget* parent);
+        // ArmarXWidgetController interface
+    public:
+        QIcon getWidgetIcon() const;
     };
 }
 
diff --git a/source/ArmarXGui/gui-plugins/SystemStateMonitorPlugin/SystemStateMonitorWidget.cpp b/source/ArmarXGui/gui-plugins/SystemStateMonitorPlugin/SystemStateMonitorWidget.cpp
index 976da117ebdfbe28d3721cab66d491a4965aa90d..647dda6f35f3cd4039fb323bbcf121cd14e14bf1 100644
--- a/source/ArmarXGui/gui-plugins/SystemStateMonitorPlugin/SystemStateMonitorWidget.cpp
+++ b/source/ArmarXGui/gui-plugins/SystemStateMonitorPlugin/SystemStateMonitorWidget.cpp
@@ -298,3 +298,8 @@ void SystemStateMonitorWidget::delayedFilterExpansion()
 {
     InfixFilterModel::ExpandFilterResults(ui.monitoredManagersTree);
 }
+
+QIcon armarx::SystemStateMonitorWidget::getWidgetIcon() const
+{
+    return QIcon(":icons/activity_monitor.png");
+}
diff --git a/source/ArmarXGui/gui-plugins/SystemStateMonitorPlugin/SystemStateMonitorWidget.h b/source/ArmarXGui/gui-plugins/SystemStateMonitorPlugin/SystemStateMonitorWidget.h
index 6c88d175d0f11cca4804189e61f673bb6578fadf..3259d202cd79482f5f2e8519b63ac7bb26165cc9 100644
--- a/source/ArmarXGui/gui-plugins/SystemStateMonitorPlugin/SystemStateMonitorWidget.h
+++ b/source/ArmarXGui/gui-plugins/SystemStateMonitorPlugin/SystemStateMonitorWidget.h
@@ -188,6 +188,10 @@ namespace armarx
         QStringList fetchOnlineManagers();
 
 
+
+        // ArmarXWidgetController interface
+    public:
+        QIcon getWidgetIcon() const;
     };
 }