public class Jacob { public void selectMainClass() { // package holen, das FilePath entspricht String sThisPath = _pController.getInit().getFilePath(); Util.debug("Jacob: selectMainClass: sThisPath: " + sThisPath); Package pckThisPackage = null; for(Enumeration e = _pckMain.elements(); e.hasMoreElements(); ) { Package pckNext = (Package)e.nextElement(); String sPackagePath = (String)pckNext.getPath(); Util.debug("Jacob: selectMainClass: sPackagePath: " + sPackagePath); if (FileUtil.equalsPath(sThisPath, sPackagePath)) { Util.debug("Jacob: selectMainClass: equals"); pckThisPackage = pckNext; break; } } if (pckThisPackage == null) { AWTUtil.showMessage("Your application directory is not a package directory!\nFirst create a package that corresponds to the application directory."); _pController.requestFocus(); return; } Vector vClassNames = pckThisPackage.getClassNames(); if (vClassNames.size() == 0) { AWTUtil.showMessage("There are no classes to select in the main package\n" + pckThisPackage.getName() + "!\nPlease first create at least one new class inside that package."); _pController.requestFocus(); return; } String sSelection = AWTUtil.inputListCancel("Please select the Main Class\nout of the " + pckThisPackage.getName() + " package!", vClassNames); _pController.requestFocus(); if (sSelection == null) { // na dann eben nicht return; } _sMainClass = pckThisPackage.getName() + "." + sSelection; } public void removeClasses() { Vector vSelection = _selectClasses("Please select the Classes to remove!", true); if (vSelection == null) { // na dann eben nicht return; } Package pckSelected = _pckMain.getPackage((String)vSelection.elementAt(0)); vSelection.removeElementAt(0); String sPackageName = pckSelected.getName(); for(Enumeration eDelClasses = pckSelected.getClassNamesElements(); eDelClasses.hasMoreElements(); ) { String sClassName = (String)eDelClasses.nextElement(); _htDependencies.remove(sPackageName + "." + sClassName); } pckSelected.removeClasses(vSelection); _showPackages(); showClasses(); } public void addClasses() { Vector vNewClassPackages = _pckMain.getPackagesWithNewClasses(); // Enumerieren und Classen holen in zweiten vector Vector vClasses = new Vector(); Vector vPackages = new Vector(); for(Enumeration e = vNewClassPackages.elements(); e.hasMoreElements(); ) { Package pckNext = (Package)e.nextElement(); vPackages.addElement(pckNext.getName()); vClasses.addElement(pckNext.getClassNames()); } if (vClasses.size() == 0) { AWTUtil.showMessage("There is no Class to add!\nMaybe you want to add another Package."); _pController.requestFocus(); return; } Vector vSelection = AWTUtil. inputDoubleListCancel("Please select the Classes to add!", vPackages, vClasses, true); _pController.requestFocus(); if (vSelection == null) { return; } Package pckSelected = _pckMain.getPackage((String)vSelection.elementAt(0)); vSelection.removeElementAt(0); pckSelected.addClasses(vSelection); _showPackages(); showClasses(); } public void exit() { Util.debug("Jacob: exit"); String sFileFullName = _pController.getInit().getFileFullName(); if (sFileFullName != null && (!sFileFullName.equals(""))) { _gnudoit("(set-screen-width " + _pController.getInit(). getKeyValue(S_EMACSORGWIDTH) + ")"); } } // test funktionen ------------------------------------------------- public void getMainPackage(Test pTest_) { Util.panicIf(pTest_ == null); pTest_.setValue(_pckMain); } }