/** ***************************************************************************** */ PybaseProject(PybaseMain pm, String name, File base) { pybase_main = pm; project_manager = pm.getProjectManager(); base_directory = base.getAbsoluteFile(); try { base_directory = base_directory.getCanonicalFile(); } catch (IOException e) { } if (name == null) name = base.getName(); project_name = name; project_paths = new ArrayList<IPathSpec>(); project_files = new ArrayList<IFileSpec>(); pybase_prefs = new PybasePreferences(pm.getSystemPreferences()); all_files = new HashSet<IFileData>(); parse_data = new HashMap<IFileData, ISemanticData>(); File f = new File(base_directory, ".pybase"); if (!f.exists()) f.mkdir(); File f1 = new File(base_directory, ".pyproject"); Element xml = IvyXml.loadXmlFromFile(f1); if (xml == null) { setupDefaults(); } else { String bfile = IvyXml.getTextElement(xml, "EXE"); File bf = (bfile == null ? null : new File(bfile)); python_interpreter = project_manager.findInterpreter(bf); for (Element pe : IvyXml.children(xml, "PATH")) { IPathSpec ps = project_manager.createPathSpec(pe); project_paths.add(ps); } for (Element fe : IvyXml.children(xml, "FILE")) { IFileSpec fs = project_manager.createFileSpec(fe); project_files.add(fs); } pybase_prefs.loadXml(xml); } project_nature = new PybaseNature(pm, this); is_open = false; saveProject(); }