Index: applications/editors/josm/plugins/smed/src/smed/menu/SmedMenuBar.java
===================================================================
--- applications/editors/josm/plugins/smed/src/smed/menu/SmedMenuBar.java	(revision 23315)
+++ applications/editors/josm/plugins/smed/src/smed/menu/SmedMenuBar.java	(revision 23324)
@@ -12,4 +12,5 @@
 import smed.menu.file.TabManager;
 import smed.plug.ifc.SmedPluggable;
+import smed.tabs.SmedTabbedPane;
 
 public class SmedMenuBar extends JMenuBar {
@@ -23,6 +24,5 @@
      JMenu menu, submenu;
      JMenuItem menuItem;
-     public List<SmedPluggable> plugins = null;
-     TabManager hideAction = null;
+     private List<SmedPluggable> plugins = null;
      
      public SmedMenuBar() {
@@ -38,11 +38,12 @@
 
         menuItem.addActionListener(new java.awt.event.ActionListener() {
-
+        	
 			public void actionPerformed(java.awt.event.ActionEvent e) {
 				DefaultListModel myModel = new DefaultListModel();
+				plugins = SmedTabbedPane.getPlugins();
 
 				for(SmedPluggable p : plugins) myModel.addElement (p.getName());
 				
-				hideAction = new TabManager(myModel);
+				new TabManager(myModel);
 			}
 		});
Index: applications/editors/josm/plugins/smed/src/smed/menu/file/TabManager.java
===================================================================
--- applications/editors/josm/plugins/smed/src/smed/menu/file/TabManager.java	(revision 23315)
+++ applications/editors/josm/plugins/smed/src/smed/menu/file/TabManager.java	(revision 23324)
@@ -8,13 +8,21 @@
 import javax.swing.JPanel;
 import java.awt.Dimension;
-import javax.swing.JList;
 import java.awt.Rectangle;
 import javax.swing.JButton;
 import java.awt.Font;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.List;
+
 import javax.swing.JLabel;
 import javax.swing.JTextField;
 
-
-public class TabManager extends JDialog {
+import smed.jide.swing.CheckBoxList;
+import smed.jide.swing.CheckBoxListSelectionModel;
+import smed.plug.ifc.SmedPluggable;
+import smed.tabs.SmedTabbedPane;
+
+
+public class TabManager extends JDialog implements ActionListener {
 	/**
 	 * 
@@ -22,42 +30,30 @@
 	private static final long serialVersionUID = 1L;
 	
-	DefaultListModel model;
-
+	private DefaultListModel model;
+	private CheckBoxListSelectionModel selModel;
+	private List<SmedPluggable> plugins = null;
+	private int modelSize = 0;
 
 	private JDialog tabManagerDialog = null;  //  @jve:decl-index=0:visual-constraint="59,23"
-
 	private JPanel tabManagerPanel = null;
-
 	private JScrollPane tabScrollPane = null;
-
-	private JList tabList = null;
-
+	private CheckBoxList tabList = null;
 	private JButton tabButtonOk = null;
-
 	private JButton tabButtonCancel = null;
-
 	private JButton tabButtonUndo = null;
-
 	private JButton tabButtonLoad = null;
-
 	private JButton tabButtonSave = null;
-
 	private JButton tabButtonDelete = null;
-
 	private JButton tabButtonVisible = null;
-
 	private JButton tabButtonAll = null;
-
 	private JButton tabButtonNone = null;
-
 	private JLabel tabLabelSelect = null;
-
 	private JLabel tabLabelRename = null;
-
 	private JTextField tabTextFieldRename = null;
 
 	public TabManager(DefaultListModel model) {
 		this.model = model;
-		
+		plugins = SmedTabbedPane.getPlugins();
+		modelSize = model.getSize();
 		getTabManagerDialog().setVisible(true);
 	}
@@ -136,7 +132,8 @@
 	 * @return javax.swing.JList	
 	 */
-	private JList getTabList() {
+	private CheckBoxList getTabList() {
 		if (tabList == null) {
-			tabList = new JList();
+			tabList = new CheckBoxList(model);
+			selModel = ((CheckBoxList) tabList).getCheckBoxListSelectionModel();
 		}
 		return tabList;
@@ -154,4 +151,6 @@
 			tabButtonOk.setFont(new Font("Dialog", Font.BOLD, 12));
 			tabButtonOk.setText("Ok");
+			tabButtonOk.addActionListener(this);
+			tabButtonOk.setActionCommand("ok");
 		}
 		return tabButtonOk;
@@ -169,4 +168,6 @@
 			tabButtonCancel.setFont(new Font("Dialog", Font.BOLD, 12));
 			tabButtonCancel.setText("Cancel");
+			tabButtonCancel.addActionListener(this);
+			tabButtonCancel.setActionCommand("cancel");
 		}
 		return tabButtonCancel;
@@ -184,4 +185,6 @@
 			tabButtonUndo.setFont(new Font("Dialog", Font.BOLD, 12));
 			tabButtonUndo.setText("Undo");
+			tabButtonUndo.addActionListener(this);
+			tabButtonUndo.setActionCommand("undo");
 		}
 		return tabButtonUndo;
@@ -199,4 +202,6 @@
 			tabButtonLoad.setFont(new Font("Dialog", Font.BOLD, 12));
 			tabButtonLoad.setText("Load");
+			tabButtonLoad.addActionListener(this);
+			tabButtonLoad.setActionCommand("load");
 		}
 		return tabButtonLoad;
@@ -214,4 +219,6 @@
 			tabButtonSave.setFont(new Font("Dialog", Font.BOLD, 12));
 			tabButtonSave.setText("Save");
+			tabButtonSave.addActionListener(this);
+			tabButtonSave.setActionCommand("save");
 		}
 		return tabButtonSave;
@@ -228,4 +235,6 @@
 			tabButtonDelete.setBounds(new Rectangle(186, 362, 104, 30));
 			tabButtonDelete.setText("Delete");
+			tabButtonDelete.addActionListener(this);
+			tabButtonDelete.setActionCommand("delete");
 		}
 		return tabButtonDelete;
@@ -241,5 +250,7 @@
 			tabButtonVisible = new JButton();
 			tabButtonVisible.setBounds(new Rectangle(293, 362, 104, 30));
-			tabButtonVisible.setText("visible");
+			tabButtonVisible.setText("invisible");
+			tabButtonVisible.addActionListener(this);
+			tabButtonVisible.setActionCommand("invisible");
 		}
 		return tabButtonVisible;
@@ -257,4 +268,6 @@
 			tabButtonAll.setFont(new Font("Dialog", Font.PLAIN, 12));
 			tabButtonAll.setText("all");
+			tabButtonAll.addActionListener(this);
+			tabButtonAll.setActionCommand("all");
 		}
 		return tabButtonAll;
@@ -272,4 +285,6 @@
 			tabButtonNone.setFont(new Font("Dialog", Font.PLAIN, 12));
 			tabButtonNone.setText("none");
+			tabButtonNone.addActionListener(this);
+			tabButtonNone.setActionCommand("none");
 		}
 		return tabButtonNone;
@@ -289,3 +304,51 @@
 	}
 
+	@Override
+	public void actionPerformed(ActionEvent e) {
+		String cmd = e.getActionCommand();
+		
+		if(cmd.equals("ok")) {
+			System.out.println("Aufraeumarbeiten beginnen");
+			tabManagerDialog.setVisible(false);
+			tabManagerDialog.dispose();
+			return;
+		}
+		
+		if(cmd.equals("cancel")) {
+			tabManagerDialog.setVisible(false);
+			tabManagerDialog.dispose();
+			return;
+		}
+		
+		if(cmd.equals("all")) {
+			selModel.addSelectionInterval(0, modelSize - 1);
+			return;
+		}
+		
+		if(cmd.equals("none")) {
+			selModel.removeSelectionInterval(0, modelSize - 1);
+			return;
+		}
+		
+		if(cmd.equals("invisible")) {
+			for(int i = 0; i < modelSize ; i++) {
+				if(selModel.isSelectedIndex(i)) model.set(i,"invisible");				
+			}
+		}
+		
+		if(cmd.equals("delete")) {
+			for(int i = 0; i < modelSize ; i++) {
+				if(selModel.isSelectedIndex(i)) model.set(i,"");				
+			}
+		}
+		
+		if(cmd.equals("undo")) {
+			int i = 0;
+			
+			for(SmedPluggable p : plugins) model.set(i++,p.getName());
+			selModel.removeSelectionInterval(0, modelSize - 1);
+		}
+
+	}
+
 }
Index: applications/editors/josm/plugins/smed/src/smed/tabs/SmedTabbedPane.java
===================================================================
--- applications/editors/josm/plugins/smed/src/smed/tabs/SmedTabbedPane.java	(revision 23315)
+++ applications/editors/josm/plugins/smed/src/smed/tabs/SmedTabbedPane.java	(revision 23324)
@@ -18,6 +18,4 @@
 
 public class SmedTabbedPane extends JPanel {
-	
-	List<SmedPluggable> plugins = null;
 
     /**
@@ -26,4 +24,6 @@
     private static final long serialVersionUID = 1L;
 
+	static private List<SmedPluggable> plugins = null;
+	
     public SmedTabbedPane() {
         super(new GridLayout(1, 1));
@@ -58,3 +58,7 @@
         }
     }
+    
+    public static List<SmedPluggable> getPlugins() {
+		return plugins;
+    }
 }
