public void performAction(Node[] activatedNodes) { Node n = activatedNodes[0]; Folder folder = (Folder) n.getValue("Folder"); // NOI18N assert folder != null; Node thisNode = (Node) n.getValue("This"); // NOI18N assert thisNode != null; Project project = (Project) n.getValue("Project"); // NOI18N assert project != null; ConfigurationDescriptorProvider pdp = project.getLookup().lookup(ConfigurationDescriptorProvider.class); MakeConfigurationDescriptor makeConfigurationDescriptor = pdp.getConfigurationDescriptor(); if (!makeConfigurationDescriptor.okToChange()) { return; } NotifyDescriptor.InputLine dlg = new NotifyDescriptor.InputLine(getString("FolderNameTxt"), getString("NewFolderName")); dlg.setInputText(folder.suggestedNewFolderName()); String newname = null; if (NotifyDescriptor.OK_OPTION.equals(DialogDisplayer.getDefault().notify(dlg))) { newname = dlg.getInputText(); } else { return; } Folder newFolder = folder.addNewFolder(true); newFolder.setDisplayName(newname); MakeLogicalViewProvider.setVisible(project, newFolder); }
private void setOptions(Project project, Folder testFolder) { ConfigurationDescriptorProvider cdp = project.getLookup().lookup(ConfigurationDescriptorProvider.class); MakeConfigurationDescriptor projectDescriptor = cdp.getConfigurationDescriptor(); FolderConfiguration folderConfiguration = testFolder.getFolderConfiguration(projectDescriptor.getActiveConfiguration()); LinkerConfiguration linkerConfiguration = folderConfiguration.getLinkerConfiguration(); linkerConfiguration.getOutput().setValue("${TESTDIR}/" + testFolder.getPath()); // NOI18N CCompilerConfiguration cCompilerConfiguration = folderConfiguration.getCCompilerConfiguration(); CCCompilerConfiguration ccCompilerConfiguration = folderConfiguration.getCCCompilerConfiguration(); cCompilerConfiguration.getIncludeDirectories().add("."); // NOI18N ccCompilerConfiguration.getIncludeDirectories().add("."); // NOI18N }
@Override public Set<DataObject> instantiate(TemplateWizard wiz) throws IOException { UIGesturesSupport.submit( "USG_CND_UNIT_TESTS_SIMPLE_" + wiz.getTemplate().getPrimaryFile().getExt().toUpperCase()); // NOI18N Project project = Templates.getProject(wiz); Set<DataObject> dataObjects = new HashSet<DataObject>(); if (getTestFileName() == null || getTestName() == null) { return dataObjects; } DataFolder targetFolder = wiz.getTargetFolder(); Map<String, Object> params = new HashMap<String, Object>(); params.put(CreateFromTemplateHandler.FREE_FILE_EXTENSION, true); List<CsmFunction> fs = new ArrayList<CsmFunction>(); Object listObj = wiz.getProperty(CND_UNITTEST_FUNCTIONS); if (listObj instanceof List<?>) { List<?> list = (List<?>) listObj; for (Object obj : list) { if (obj instanceof CsmFunction) { fs.add((CsmFunction) obj); } } } FileObject rootFolder = getRootFolder(); FSPath rootFolderFilePath = FSPath.toFSPath(rootFolder); params.putAll( CodeGenerator.generateTemplateParamsForFunctions( getTestFileName().replaceFirst("[.].*", ""), // NOI18N rootFolderFilePath, fs, ("cpp".equals(wiz.getTemplate().getPrimaryFile().getExt()) ? CodeGenerator.Language.CPP : CodeGenerator.Language.C))); // NOI18N DataObject formDataObject = NewTestSimplePanel.getTemplateDataObject( "simpletestfile." + wiz.getTemplate().getPrimaryFile().getExt()); // NOI18N DataObject dataObject = formDataObject.createFromTemplate(targetFolder, getTestFileName(), params); Folder folder = null; Folder testsRoot = getTestsRootFolder(project); if (testsRoot == null) { testsRoot = createTestsRootFolder(project); MakefileUtils.createTestTargets(project); } if (testsRoot != null) { Folder newFolder = testsRoot.addNewFolder(true, Folder.Kind.TEST); newFolder.setDisplayName(getTestName()); folder = newFolder; } if (folder == null) { return dataObjects; } setOptions(project, folder); addItemToLogicalFolder(project, folder, dataObject); dataObjects.add(dataObject); return dataObjects; }