Source code: org/altara/mars/swingui/FaultListContextMenuSupport.java
1 /* MARS Network Monitor Swing User Interface
2 Copyright (C) 1999 Brian H. Trammell
3 Copyright (C) 2002 Leapfrog Research & Development, LLC
4
5 This program is free software; you can redistribute it and/or
6 modify it under the terms of the GNU General Public License
7 as published by the Free Software Foundation; either version 2
8 of the License, or (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, it is available at
17 http:///www.gnu.org/copyleft/gpl.html, or by writing to the
18 Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 Boston, MA 02111-1307, USA.
20 */
21
22 package org.altara.mars.swingui;
23
24 import org.altara.util.*;
25 import org.altara.mars.*;
26 import org.altara.mars.engine.*;
27 import java.util.*;
28 import java.awt.*;
29 import java.awt.event.*;
30 import javax.swing.*;
31 import javax.swing.event.*;
32
33 /** Implements the fault list's context menus
34 */
35
36 public class FaultListContextMenuSupport extends ListContextMenuSupport {
37
38 private Action hideFaultAction;
39 private Action showFaultsAction;
40
41 private FaultListModel model;
42
43 public FaultListContextMenuSupport (JList faultList) {
44
45 super(faultList);
46 this.model = (FaultListModel)faultList.getModel();
47
48 // Initialize actions
49 initializeActions();
50 }
51
52 private void initializeActions() {
53 // first, create each action
54 hideFaultAction = new AbstractAction("Hide") {
55 public void actionPerformed(ActionEvent ae) {
56 model.hideFault((Service)getLastInvoked());
57 }
58 };
59
60 showFaultsAction = new AbstractAction("Show All") {
61 public void actionPerformed(ActionEvent ae) {
62 model.showAllFaults();
63 }
64 };
65
66 // bind them to the appropriate classes
67 addClassAction(String.class,showFaultsAction);
68 addClassAction(Service.class,hideFaultAction);
69 addClassAction(Service.class,showFaultsAction);
70 }
71 }