#155405 - python module added from python project node goes to top-level project directory
authorRalph Benjamin Ruijs <ralphbenjamin@netbeans.org>
Mon, 14 Sep 2015 20:32:18 +0200
changeset 18315b3bafec343dc
parent 18314 64f06c7da146
child 18316 0474d60634b8
#155405 - python module added from python project node goes to top-level project directory
python.project/src/org/netbeans/modules/python/project/PythonLogicalView.java
python.project2/src/org/netbeans/modules/python/project2/PythonProject2.java
     1.1 --- a/python.project/src/org/netbeans/modules/python/project/PythonLogicalView.java	Sun Sep 13 11:47:42 2015 +0200
     1.2 +++ b/python.project/src/org/netbeans/modules/python/project/PythonLogicalView.java	Mon Sep 14 20:32:18 2015 +0200
     1.3 @@ -85,7 +85,8 @@
     1.4  
     1.5          public PythonProjectNode() {
     1.6              super(NodeFactorySupport.createCompositeChildren(project, "Projects/org-netbeans-modules-python-project/Nodes"),
     1.7 -                    Lookups.singleton(project));
     1.8 +                    project.sourceRoots.getRoots().length > 0 ? Lookups.fixed(project, project.sourceRoots.getRoots()[0]) :
     1.9 +                            Lookups.singleton(project));
    1.10              setIconBaseWithExtension("org/netbeans/modules/python/project/resources/py_25_16.png");
    1.11              super.setName(ProjectUtils.getInformation(project).getDisplayName());
    1.12          }
     2.1 --- a/python.project2/src/org/netbeans/modules/python/project2/PythonProject2.java	Sun Sep 13 11:47:42 2015 +0200
     2.2 +++ b/python.project2/src/org/netbeans/modules/python/project2/PythonProject2.java	Mon Sep 14 20:32:18 2015 +0200
     2.3 @@ -24,7 +24,9 @@
     2.4  import org.netbeans.spi.project.AuxiliaryConfiguration;
     2.5  import org.netbeans.spi.project.ProjectState;
     2.6  import org.netbeans.spi.project.ui.LogicalViewProvider;
     2.7 +import org.netbeans.spi.project.ui.PrivilegedTemplates;
     2.8  import org.netbeans.spi.project.ui.ProjectOpenedHook;
     2.9 +import org.netbeans.spi.project.ui.RecommendedTemplates;
    2.10  import org.openide.filesystems.FileAttributeEvent;
    2.11  import org.openide.filesystems.FileChangeListener;
    2.12  import org.openide.filesystems.FileEvent;
    2.13 @@ -114,10 +116,11 @@
    2.14  //            new PythonPlatformProvider(getEvaluator()),
    2.15              new PythonCoverageProvider(this),
    2.16              new PythonProjectSourceLevelQuery(this),
    2.17 +            new RecommendedTemplatesImpl(),
    2.18              state
    2.19          });
    2.20      }
    2.21 -
    2.22 +    
    2.23      public void addPropertyChangeListener(PropertyChangeListener propertyChangeListener) {
    2.24          support.addPropertyChangeListener(propertyChangeListener);
    2.25      }
    2.26 @@ -379,4 +382,32 @@
    2.27  //            }
    2.28          }
    2.29      }
    2.30 +
    2.31 +    private static final class RecommendedTemplatesImpl implements RecommendedTemplates, PrivilegedTemplates {
    2.32 +
    2.33 +        // List of primarily supported templates
    2.34 +        private static final String[] APPLICATION_TYPES = new String[]{
    2.35 +            "python", // NOI18N
    2.36 +            "XML", // NOI18N
    2.37 +            "simple-files" // NOI18N
    2.38 +        };
    2.39 +
    2.40 +        private static final String[] PRIVILEGED_NAMES = new String[]{
    2.41 +            "Templates/Python/_package", // NOI18N
    2.42 +            "Templates/Python/_module.py", //NOI18N
    2.43 +            "Templates/Python/_main.py", // NOI18N
    2.44 +            "Templates/Python/_empty_module.py", // NOI18N
    2.45 +            "Templates/Python/_test.py", // NOI18N
    2.46 +        };
    2.47 +
    2.48 +        @Override
    2.49 +        public String[] getRecommendedTypes() {
    2.50 +            return APPLICATION_TYPES;
    2.51 +        }
    2.52 +
    2.53 +        @Override
    2.54 +        public String[] getPrivilegedTemplates() {
    2.55 +            return PRIVILEGED_NAMES;
    2.56 +        }
    2.57 +    }
    2.58  }