KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > apisupport > project > ui > customizer > SuiteCustomizer


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * 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-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.apisupport.project.ui.customizer;
21
22 import java.io.IOException JavaDoc;
23 import java.util.Set JavaDoc;
24 import org.netbeans.api.project.Project;
25 import org.netbeans.modules.apisupport.project.NbModuleProject;
26 import org.netbeans.modules.apisupport.project.suite.SuiteProject;
27 import org.netbeans.spi.project.support.ant.AntProjectHelper;
28 import org.netbeans.spi.project.support.ant.PropertyEvaluator;
29 import org.netbeans.spi.project.ui.support.ProjectCustomizer;
30 import org.openide.util.Lookup;
31 import org.openide.util.NbBundle;
32 import org.openide.util.lookup.Lookups;
33
34 /**
35  * Adding ability for a NetBeans Suite modules to provide a GUI customizer.
36  *
37  * @author Martin Krauskopf
38  */

39 public final class SuiteCustomizer extends BasicCustomizer {
40     
41     // Programmatic names of categories
42
static final String JavaDoc SOURCES = "Sources"; // NOI18N
43
static final String JavaDoc LIBRARIES = "Libraries"; // NOI18N
44
public static final String JavaDoc APPLICATION = "Application"; // NOI18N
45
public static final String JavaDoc APPLICATION_CREATE_STANDALONE_APPLICATION = "standaloneApp"; // NOI18N
46
static final String JavaDoc SPLASH_SCREEN = "SplashScreen"; // NOI18N
47

48     private final AntProjectHelper helper;
49     private final PropertyEvaluator evaluator;
50     
51     private SuiteProperties suiteProps;
52     
53     public SuiteCustomizer(Project project, AntProjectHelper helper,
54             PropertyEvaluator evaluator) {
55         super(project, "Projects/org-netbeans-modules-apisupport-project-suite/Customizer");
56         this.helper = helper;
57         this.evaluator = evaluator;
58     }
59     
60     void storeProperties() throws IOException JavaDoc {
61         suiteProps.triggerLazyStorages();
62         suiteProps.storeProperties();
63     }
64     
65     void dialogCleanup() {
66         suiteProps = null;
67     }
68     
69     void postSave() { /* nothing needs to be done for now */ }
70     
71     protected Lookup prepareData() {
72         Set JavaDoc<NbModuleProject> subModules = SuiteUtils.getSubProjects(getProject());
73         suiteProps = new SuiteProperties((SuiteProject) getProject(), helper, evaluator, subModules);
74         return Lookups.fixed(suiteProps, getProject());
75     }
76 }
77
78
Popular Tags