/* * Copyright 2004 - 2008 Christian Sprajc. All rights reserved. * * This file is part of PowerFolder. * * PowerFolder is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation. * * PowerFolder is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with PowerFolder. If not, see <http://www.gnu.org/licenses/>. * * $Id$ */ package de.dal33t.powerfolder.ui.action; import de.dal33t.powerfolder.Controller; import de.dal33t.powerfolder.ui.action.BaseAction; import de.dal33t.powerfolder.ui.event.SelectionChangeListener; import de.dal33t.powerfolder.ui.event.SelectionModel; import javax.swing.*; /** * your inheriting class needs to implements those:<BR> * public void selectionChanged(SelectionChangeEvent e)<BR> * public void selectionsChanged(SelectionChangeEvent e)<BR> * public void actionPerformed(ActionEvent e) */ public abstract class SelectionBaseAction extends BaseAction implements SelectionChangeListener { private SelectionModel selectionModel; protected SelectionBaseAction(String actionId, Controller controller, SelectionModel selectionModel) { super(actionId, controller); setSelectionModel(selectionModel); } protected SelectionBaseAction(String name, Icon icon, Controller controller, SelectionModel selectionModel) { super(name, icon, controller); setSelectionModel(selectionModel); } /** only set by constructor */ private void setSelectionModel(SelectionModel selectionModel) { if (selectionModel == null) { throw new NullPointerException("Selectionmodel is null"); } this.selectionModel = selectionModel; selectionModel.addSelectionChangeListener(this); } public SelectionModel getSelectionModel() { return selectionModel; } }