Index: openide/arch/arch-openide-datasystems.xml =================================================================== RCS file: /shared/data/ccvs/repository/openide/arch/arch-openide-datasystems.xml,v retrieving revision 1.34 diff -u -r1.34 arch-openide-datasystems.xml --- openide/arch/arch-openide-datasystems.xml 13 Feb 2007 09:51:31 -0000 1.34 +++ openide/arch/arch-openide-datasystems.xml 13 Feb 2007 10:26:27 -0000 @@ -444,6 +444,14 @@ if true, the DataShadow name is used instead of original's name, affects DataShadows of filesystem roots only + + + templates and folders under Templates/ + folder can be annotated with <attr name="simple" boolvalue="false"< + if they are supposed to be hidden in Template Manager. + If a folder is annotated with this attribute, it is also hidden + in standard New File wizard. + Index: core/favorites/src/org/netbeans/modules/favorites/templates/TemplatesPanel.java =================================================================== RCS file: /shared/data/ccvs/repository/core/favorites/src/org/netbeans/modules/favorites/templates/TemplatesPanel.java,v retrieving revision 1.11 diff -u -r1.11 TemplatesPanel.java --- core/favorites/src/org/netbeans/modules/favorites/templates/TemplatesPanel.java 28 Oct 2006 21:57:53 -0000 1.11 +++ core/favorites/src/org/netbeans/modules/favorites/templates/TemplatesPanel.java 13 Feb 2007 10:26:40 -0000 @@ -162,9 +162,7 @@ } private boolean acceptTemplate (DataObject d) { - if (d.isTemplate ()) { - return true; - } else if (d instanceof DataFolder) { + if (d.isTemplate () || d instanceof DataFolder) { Object o = d.getPrimaryFile ().getAttribute ("simple"); // NOI18N return o == null || Boolean.TRUE.equals (o); } else { @@ -353,12 +351,12 @@ // //GEN-END:initComponents private void moveDownButtonActionPerformed (java.awt.event.ActionEvent evt) {//GEN-FIRST:event_moveDownButtonActionPerformed - moveDown (manager.getSelectedNodes ()); - }//GEN-LAST:event_moveDownButtonActionPerformed + moveDown (manager.getSelectedNodes ());//GEN-LAST:event_moveDownButtonActionPerformed + } private void moveUpButtonActionPerformed (java.awt.event.ActionEvent evt) {//GEN-FIRST:event_moveUpButtonActionPerformed - moveUp (manager.getSelectedNodes ()); - }//GEN-LAST:event_moveUpButtonActionPerformed + moveUp (manager.getSelectedNodes ());//GEN-LAST:event_moveUpButtonActionPerformed + } private void newFolderButtonActionPerformed (java.awt.event.ActionEvent evt) {//GEN-FIRST:event_newFolderButtonActionPerformed @@ -383,8 +381,8 @@ } catch (PropertyVetoException pve) { Logger.getLogger(TemplatesPanel.class.getName()).log(Level.WARNING, null, pve); } - - }//GEN-LAST:event_newFolderButtonActionPerformed +//GEN-LAST:event_newFolderButtonActionPerformed + } private void deleteButtonActionPerformed (java.awt.event.ActionEvent evt) {//GEN-FIRST:event_deleteButtonActionPerformed Node [] nodes = manager.getSelectedNodes (); @@ -395,27 +393,27 @@ catch (IOException ioe) { Logger.getLogger(TemplatesPanel.class.getName()).log(Level.WARNING, null, ioe); } - } - }//GEN-LAST:event_deleteButtonActionPerformed + }//GEN-LAST:event_deleteButtonActionPerformed + } private void duplicateButtonActionPerformed (java.awt.event.ActionEvent evt) {//GEN-FIRST:event_duplicateButtonActionPerformed Node [] nodes = manager.getSelectedNodes (); assert nodes != null : "Selected Nodes cannot be null."; assert nodes.length == 1 : "One one node can be selected, but was " + Arrays.asList (nodes); createDuplicateFromNode (nodes [0]); - - }//GEN-LAST:event_duplicateButtonActionPerformed +//GEN-LAST:event_duplicateButtonActionPerformed + } private void renameButtonActionPerformed (java.awt.event.ActionEvent evt) {//GEN-FIRST:event_renameButtonActionPerformed Node [] nodes = manager.getSelectedNodes (); assert nodes != null : "Selected Nodes cannot be null."; assert nodes.length == 1 : "One one node can be selected, but was " + Arrays.asList (nodes); - view.invokeInplaceEditing (); - }//GEN-LAST:event_renameButtonActionPerformed + view.invokeInplaceEditing ();//GEN-LAST:event_renameButtonActionPerformed + } private void addButtonActionPerformed (java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addButtonActionPerformed - doAdd (manager.getSelectedNodes ()); - }//GEN-LAST:event_addButtonActionPerformed + doAdd (manager.getSelectedNodes ());//GEN-LAST:event_addButtonActionPerformed + } // Variables declaration - do not modify//GEN-BEGIN:variables Index: core/favorites/test/unit/src/org/netbeans/modules/favorites/templates/TemplatesPanelTest.java =================================================================== RCS file: /shared/data/ccvs/repository/core/favorites/test/unit/src/org/netbeans/modules/favorites/templates/TemplatesPanelTest.java,v retrieving revision 1.3 diff -u -r1.3 TemplatesPanelTest.java --- core/favorites/test/unit/src/org/netbeans/modules/favorites/templates/TemplatesPanelTest.java 13 Feb 2007 10:17:11 -0000 1.3 +++ core/favorites/test/unit/src/org/netbeans/modules/favorites/templates/TemplatesPanelTest.java 13 Feb 2007 10:26:40 -0000 @@ -105,4 +105,13 @@ Node[] arr = n.getChildren().getNodes(true); assertEquals("Empty: " + Arrays.asList(arr), 0, arr.length); } + public void testIgnoresSimpleNonFolders() throws Exception { + FileObject root = Repository.getDefault ().getDefaultFileSystem ().getRoot (); + FileObject fo = FileUtil.createData(root, "Templates/SimpleFolder.java"); + fo.setAttribute("simple", Boolean.FALSE); + fo.setAttribute("template", Boolean.TRUE); + Node n = TemplatesPanel.getTemplateRootNode(); + Node[] arr = n.getChildren().getNodes(true); + assertEquals("Empty: " + Arrays.asList(arr), 0, arr.length); + } }