Mercurial > hg > truffle
comparison visualizer/Settings/src/com/sun/hotspot/igv/settings/ViewOptionsPanelController.java @ 4512:015fb895586b
Moved visualizer to new directory.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Tue, 07 Feb 2012 22:41:09 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
4511:6cb549627941 | 4512:015fb895586b |
---|---|
1 /* | |
2 * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved. | |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | |
4 * | |
5 * This code is free software; you can redistribute it and/or modify it | |
6 * under the terms of the GNU General Public License version 2 only, as | |
7 * published by the Free Software Foundation. | |
8 * | |
9 * This code is distributed in the hope that it will be useful, but WITHOUT | |
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
12 * version 2 for more details (a copy is included in the LICENSE file that | |
13 * accompanied this code). | |
14 * | |
15 * You should have received a copy of the GNU General Public License version | |
16 * 2 along with this work; if not, write to the Free Software Foundation, | |
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | |
18 * | |
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA | |
20 * or visit www.oracle.com if you need additional information or have any | |
21 * questions. | |
22 * | |
23 */ | |
24 package com.sun.hotspot.igv.settings; | |
25 | |
26 import java.beans.PropertyChangeListener; | |
27 import java.beans.PropertyChangeSupport; | |
28 import javax.swing.JComponent; | |
29 import org.netbeans.spi.options.OptionsPanelController; | |
30 import org.openide.util.HelpCtx; | |
31 import org.openide.util.Lookup; | |
32 | |
33 /** | |
34 * | |
35 * @author Thomas Wuerthinger | |
36 */ | |
37 final class ViewOptionsPanelController extends OptionsPanelController { | |
38 | |
39 private ViewPanel panel; | |
40 private final PropertyChangeSupport pcs = new PropertyChangeSupport(this); | |
41 private boolean changed; | |
42 | |
43 @Override | |
44 public void update() { | |
45 getPanel().load(); | |
46 changed = false; | |
47 } | |
48 | |
49 @Override | |
50 public void applyChanges() { | |
51 getPanel().store(); | |
52 changed = false; | |
53 } | |
54 | |
55 @Override | |
56 public void cancel() { | |
57 // need not do anything special, if no changes have been persisted yet | |
58 } | |
59 | |
60 @Override | |
61 public boolean isValid() { | |
62 return getPanel().valid(); | |
63 } | |
64 | |
65 @Override | |
66 public boolean isChanged() { | |
67 return changed; | |
68 } | |
69 | |
70 @Override | |
71 public HelpCtx getHelpCtx() { | |
72 return null; // new HelpCtx("...ID") if you have a help set | |
73 } | |
74 | |
75 @Override | |
76 public JComponent getComponent(Lookup masterLookup) { | |
77 return getPanel(); | |
78 } | |
79 | |
80 @Override | |
81 public void addPropertyChangeListener(PropertyChangeListener l) { | |
82 pcs.addPropertyChangeListener(l); | |
83 } | |
84 | |
85 @Override | |
86 public void removePropertyChangeListener(PropertyChangeListener l) { | |
87 pcs.removePropertyChangeListener(l); | |
88 } | |
89 | |
90 private ViewPanel getPanel() { | |
91 if (panel == null) { | |
92 panel = new ViewPanel(this); | |
93 } | |
94 return panel; | |
95 } | |
96 | |
97 void changed() { | |
98 if (!changed) { | |
99 changed = true; | |
100 pcs.firePropertyChange(OptionsPanelController.PROP_CHANGED, false, true); | |
101 } | |
102 pcs.firePropertyChange(OptionsPanelController.PROP_VALID, null, null); | |
103 } | |
104 } |