1 package fr.ifremer.quadrige3.ui.swing.table.action;
2
3 /*
4 * #%L
5 * Reef DB :: UI
6 * $Id:$
7 * $HeadURL:$
8 * %%
9 * Copyright (C) 2014 - 2015 Ifremer
10 * %%
11 * This program is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Affero General Public License as published by
13 * the Free Software Foundation, either version 3 of the License, or
14 * (at your option) any later version.
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * You should have received a copy of the GNU Affero General Public License
22 * along with this program. If not, see <http://www.gnu.org/licenses/>.
23 * #L%
24 */
25
26 import javax.swing.AbstractAction;
27 import javax.swing.Action;
28 import java.awt.event.ActionEvent;
29 import java.util.ArrayList;
30 import java.util.List;
31
32 /**
33 * abstract class for additional table actions that will appears in ColumnControlButton menu
34 *
35 * Created by Ludovic on 14/12/2015.
36 */
37 public class AdditionalTableActions extends AbstractAction {
38
39 /** Constant <code>ACTION_NAME="additionalTableAction"</code> */
40 public static final String ACTION_NAME = "additionalTableActions";
41
42 public static final String ACTION_TARGET_GROUP = "actionTargetGroup";
43 public static final int DEFAULT_ACTION_TARGET_GROUP = 1;
44
45 private List<Action> delegateActions = new ArrayList<>();
46
47 public List<Action> getActions() {
48 return delegateActions;
49 }
50
51 public void addAction(Action action) {
52 delegateActions.add(action);
53 }
54
55 @Override
56 public void actionPerformed(ActionEvent e) {
57 throw new IllegalStateException("No action can be performed in this AdditionalTableActions object, please use one of the delegate actions");
58 }
59 }