01: /*
02: * The contents of this file are subject to the terms of the Common Development
03: * and Distribution License (the License). You may not use this file except in
04: * compliance with the License.
05: *
06: * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
07: * or http://www.netbeans.org/cddl.txt.
08: *
09: * When distributing Covered Code, include this CDDL Header Notice in each file
10: * and include the License file at http://www.netbeans.org/cddl.txt.
11: * If applicable, add the following below the CDDL Header, with the fields
12: * enclosed by brackets [] replaced by your own identifying information:
13: * "Portions Copyrighted [year] [name of copyright owner]"
14: *
15: * The Original Software is NetBeans. The Initial Developer of the Original
16: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
17: * Microsystems, Inc. All Rights Reserved.
18: */
19:
20: package org.netbeans.modules.bpel.design;
21:
22: import java.awt.event.ActionEvent;
23: import java.awt.event.ActionListener;
24: import javax.swing.Icon;
25: import javax.swing.ImageIcon;
26: import javax.swing.JToggleButton;
27: import org.netbeans.modules.bpel.design.model.ViewFilters;
28: import org.openide.util.NbBundle;
29:
30: public class PartnerLinkFilterButton extends JToggleButton implements
31: ActionListener {
32:
33: private DesignView designView;
34:
35: public PartnerLinkFilterButton(DesignView designView) {
36: super (ICON);
37:
38: this .designView = designView;
39:
40: setSelected(getViewFilters().showPartnerlinks());
41: setToolTipText(NbBundle.getMessage(DesignView.class,
42: "LBL_PartnerLinksFilterButton")); // NOI18N
43: setFocusable(false);
44:
45: addActionListener(this );
46: }
47:
48: public void actionPerformed(ActionEvent e) {
49: getViewFilters().setShowPartnerlinks(isSelected());
50: updateView();
51: }
52:
53: private void updateView() {
54: boolean showPLs = isSelected();
55: designView.getConsumersView().setVisible(showPLs);
56: designView.getProvidersView().setVisible(showPLs);
57:
58: designView.reloadModel();
59: designView.diagramChanged();
60: designView.getValidationDecorationProvider()
61: .updateDecorations();
62:
63: }
64:
65: private ViewFilters getViewFilters() {
66: return designView.getModel().getFilters();
67: }
68:
69: private static final Icon ICON = new ImageIcon(DesignView.class
70: .getResource("resources/partner_link_filter.png")); // NOI18N
71: }
|