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: package org.netbeans.modules.bpel.design.decoration.providers;
20:
21: import java.awt.Color;
22: import java.util.ArrayList;
23: import org.netbeans.modules.bpel.design.DesignView;
24: import org.netbeans.modules.bpel.design.decoration.Decoration;
25: import org.netbeans.modules.bpel.design.decoration.DecorationProvider;
26: import org.netbeans.modules.bpel.design.decoration.Descriptor;
27: import org.netbeans.modules.bpel.design.decoration.StripeDescriptor;
28: import org.netbeans.modules.bpel.design.decoration.StrokeDescriptor;
29: import org.netbeans.modules.bpel.design.selection.DiagramSelectionListener;
30: import org.netbeans.modules.bpel.model.api.BpelEntity;
31: import org.netbeans.modules.bpel.model.api.support.UniqueId;
32:
33: /**
34: * @author aa160298
35: */
36: public class SelectionDecorationProvider extends DecorationProvider
37: implements DiagramSelectionListener {
38:
39: public SelectionDecorationProvider() {
40: }
41:
42: public SelectionDecorationProvider(DesignView designView) {
43: super (designView);
44: designView.getSelectionModel().addSelectionListener(this );
45: }
46:
47: public Decoration getDecoration(BpelEntity entity) {
48: UniqueId entityID = entity.getUID();
49: UniqueId selectedEntityID = getDesignView().getSelectionModel()
50: .getSelectedID();
51:
52: if (entityID != null && entityID.equals(selectedEntityID)) {
53: return new Decoration(new Descriptor[] { STROKE_DESCRIPTOR,
54: StripeDescriptor.createSelection() });
55: }
56: return null;
57: }
58:
59: public void selectionChanged(BpelEntity oldSelection,
60: BpelEntity newSelection) {
61: fireDecorationChanged();
62: }
63:
64: private static final Descriptor STROKE_DESCRIPTOR = new StrokeDescriptor(
65: new Color(0x5D985C), 2);
66: }
|