author | Dan Labrecque <dan.labrecque@oracle.com> |
Thu, 24 May 2012 04:16:47 -0400 | |
changeset 827 | 0944d8c0158b |
permissions | -rw-r--r-- |
827
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
1 |
/* |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
2 |
* CDDL HEADER START |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
3 |
* |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
4 |
* The contents of this file are subject to the terms of the |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
5 |
* Common Development and Distribution License (the "License"). |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
6 |
* You may not use this file except in compliance with the License. |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
7 |
* |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
8 |
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
9 |
* or http://www.opensolaris.org/os/licensing. |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
10 |
* See the License for the specific language governing permissions |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
11 |
* and limitations under the License. |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
12 |
* |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
13 |
* When distributing Covered Code, include this CDDL HEADER in each |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
14 |
* file and include the License file at usr/src/OPENSOLARIS.LICENSE. |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
15 |
* If applicable, add the following below this CDDL HEADER, with the |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
16 |
* fields enclosed by brackets "[]" replaced with your own identifying |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
17 |
* information: Portions Copyright [yyyy] [name of copyright owner] |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
18 |
* |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
19 |
* CDDL HEADER END |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
20 |
*/ |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
21 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
22 |
/* |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
23 |
* Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
24 |
*/ |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
25 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
26 |
package com.oracle.solaris.vp.panels.apache.client.swing; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
27 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
28 |
import java.awt.event.*; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
29 |
import java.beans.PropertyChangeListener; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
30 |
import java.util.Map; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
31 |
import com.oracle.solaris.vp.panel.common.control.*; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
32 |
import com.oracle.solaris.vp.panel.common.smf.SmfEnabledProperty; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
33 |
import com.oracle.solaris.vp.panel.swing.control.*; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
34 |
import com.oracle.solaris.vp.util.misc.finder.Finder; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
35 |
import com.oracle.solaris.vp.util.misc.property.MutableProperty; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
36 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
37 |
public class GlobalControl |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
38 |
extends SettingsControl<ApachePanelDescriptor, GlobalPanel> |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
39 |
implements PropertyChangeListener, HasMimeTypes, HasModules { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
40 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
41 |
// |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
42 |
// Static data |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
43 |
// |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
44 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
45 |
public static final String ID = "global"; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
46 |
public static final String NAME = Finder.getString("global.name"); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
47 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
48 |
// |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
49 |
// Constructors |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
50 |
// |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
51 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
52 |
public GlobalControl(ApachePanelDescriptor descriptor) { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
53 |
super(ID, NAME, descriptor); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
54 |
} |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
55 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
56 |
// |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
57 |
// HasMimeTypes methods |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
58 |
// |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
59 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
60 |
@Override |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
61 |
public MimeTypes getMimeTypes() { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
62 |
return getPanelDescriptor().getMimeTypes(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
63 |
} |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
64 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
65 |
// |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
66 |
// HasModules methods |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
67 |
// |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
68 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
69 |
@Override |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
70 |
public Modules getModules() { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
71 |
return getPanelDescriptor().getModules(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
72 |
} |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
73 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
74 |
// |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
75 |
// Control methods |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
76 |
// |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
77 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
78 |
@Override |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
79 |
public String getHelpMapID() { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
80 |
return "apache-global"; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
81 |
} |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
82 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
83 |
@Override |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
84 |
protected UnsavedChangesAction getUnsavedChangesAction() { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
85 |
// Automatically save changes to the ApachePanelDescriptor -- |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
86 |
// let MainControl prompt the user to save them to the repo |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
87 |
return UnsavedChangesAction.SAVE; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
88 |
} |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
89 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
90 |
@Override |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
91 |
protected boolean isChanged() { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
92 |
// Save unconditionally, since a property that reports itself as |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
93 |
// unchanged in the panel may still be changed from the corresponding |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
94 |
// property in the ApachePanelDescriptor. Alternatively, we could |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
95 |
// compare each panel property to its ApachePanelDescriptor counterpart |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
96 |
// and save only if there are differences, but this is easier and save() |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
97 |
// has low overhead. |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
98 |
return true; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
99 |
} |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
100 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
101 |
@Override |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
102 |
protected void save() { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
103 |
setPropertyChangeIgnore(true); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
104 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
105 |
try { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
106 |
GlobalPanel panel = getComponent(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
107 |
ApachePanelDescriptor descriptor = getPanelDescriptor(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
108 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
109 |
MutableProperty<Boolean> customEnabledProperty = |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
110 |
panel.getCustomEnabledProperty(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
111 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
112 |
MutableProperty<String> customFileProperty = |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
113 |
panel.getCustomFileProperty(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
114 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
115 |
descriptor.getCustomEnabledProperty().setFirstValue( |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
116 |
customEnabledProperty.getValue()); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
117 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
118 |
descriptor.getCustomFileProperty().setFirstValue( |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
119 |
customFileProperty.getValue()); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
120 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
121 |
descriptor.getEnabledProperty().setValue( |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
122 |
panel.getEnabledProperty().getValue()); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
123 |
} finally { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
124 |
setPropertyChangeIgnore(false); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
125 |
} |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
126 |
} |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
127 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
128 |
@Override |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
129 |
public void start(Navigator navigator, Map<String, String> parameters) |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
130 |
throws NavigationAbortedException, InvalidParameterException, |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
131 |
NavigationFailedException { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
132 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
133 |
setPropertyChangeSource(getPanelDescriptor(), SmfEnabledProperty.NAME, |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
134 |
ApachePanelDescriptor.PROPERTY_CUSTOM_ENABLED, |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
135 |
ApachePanelDescriptor.PROPERTY_CUSTOM_FILE); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
136 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
137 |
super.start(navigator, parameters); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
138 |
} |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
139 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
140 |
// |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
141 |
// DefaultControl methods |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
142 |
// |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
143 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
144 |
@Override |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
145 |
protected void ensureChildrenCreated() { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
146 |
if (children.size() == 0) { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
147 |
ApachePanelDescriptor descriptor = getPanelDescriptor(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
148 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
149 |
DefaultControl control = new DialogControl<ApachePanelDescriptor>( |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
150 |
descriptor); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
151 |
control.addChildren( |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
152 |
new MimeTypesControl(descriptor, this), |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
153 |
new ModulesControl(descriptor, this)); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
154 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
155 |
addChildren(control); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
156 |
} |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
157 |
} |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
158 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
159 |
// |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
160 |
// SwingControl methods |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
161 |
// |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
162 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
163 |
@Override |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
164 |
protected GlobalPanel createComponent() { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
165 |
GlobalPanel panel = new GlobalPanel(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
166 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
167 |
panel.getMimeTypesButton().addActionListener( |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
168 |
new ActionListener() { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
169 |
@Override |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
170 |
public void actionPerformed(ActionEvent e) { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
171 |
Navigable[] navigables = { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
172 |
new SimpleNavigable(DialogControl.ID, null), |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
173 |
new SimpleNavigable(MimeTypesControl.ID, null), |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
174 |
}; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
175 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
176 |
getNavigator().goToAsync(false, GlobalControl.this, |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
177 |
navigables); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
178 |
} |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
179 |
}); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
180 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
181 |
panel.getModulesButton().addActionListener( |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
182 |
new ActionListener() { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
183 |
@Override |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
184 |
public void actionPerformed(ActionEvent e) { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
185 |
Navigable[] navigables = { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
186 |
new SimpleNavigable(DialogControl.ID, null), |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
187 |
new SimpleNavigable(ModulesControl.ID, null), |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
188 |
}; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
189 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
190 |
getNavigator().goToAsync(false, GlobalControl.this, |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
191 |
navigables); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
192 |
} |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
193 |
}); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
194 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
195 |
return panel; |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
196 |
} |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
197 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
198 |
@Override |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
199 |
protected void deinitComponent() { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
200 |
ApachePanelDescriptor descriptor = getPanelDescriptor(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
201 |
GlobalPanel panel = getComponent(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
202 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
203 |
descriptor.getMimeTypes().getChangeableAggregator(). |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
204 |
removeChangeListener(panel.getMimeTypesButton()); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
205 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
206 |
descriptor.getModules().getChangeableAggregator(). |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
207 |
removeChangeListener(panel.getModulesButton()); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
208 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
209 |
panel.init(null); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
210 |
} |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
211 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
212 |
@Override |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
213 |
protected void initComponent() { |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
214 |
ApachePanelDescriptor descriptor = getPanelDescriptor(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
215 |
GlobalPanel panel = getComponent(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
216 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
217 |
descriptor.getMimeTypes().getChangeableAggregator().addChangeListener( |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
218 |
panel.getMimeTypesButton()); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
219 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
220 |
descriptor.getModules().getChangeableAggregator().addChangeListener( |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
221 |
panel.getModulesButton()); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
222 |
|
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
223 |
panel.getChangeableAggregator().reset(); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
224 |
panel.init(descriptor); |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
225 |
} |
0944d8c0158b
7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff
changeset
|
226 |
} |