diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 37565620..e04ef253 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -7,15 +7,15 @@ - + + - - - - - - - + + + + + + @@ -93,7 +93,7 @@ - + @@ -106,9 +106,9 @@ + - diff --git a/src/Common/UI/Menus_2023/TestingBar/TestingBar.java b/src/Common/UI/Menus_2023/TestingBar/TestingBar.java index c54a3705..eb0f6060 100644 --- a/src/Common/UI/Menus_2023/TestingBar/TestingBar.java +++ b/src/Common/UI/Menus_2023/TestingBar/TestingBar.java @@ -27,7 +27,8 @@ public class TestingBar extends VisualiserMenuBar { sKernels.setPreferredSize(new Dimension(60, 26)); sKernels.setMaximumSize(new Dimension(60, 26)); sKernels.setModel(new SpinnerNumberModel(Global.properties.TestingKernels, 1, - Utils.getTestingMaxKernels(), 1)); + Utils.getTestingMaxKernels(), + 1)); sKernels.setValue(Global.properties.TestingKernels); UI.MakeSpinnerRapid(sKernels, e -> { Global.properties.updateField("TestingKernels", sKernels.getValue()); diff --git a/src/Common/Utils/Utils.java b/src/Common/Utils/Utils.java index d0df5630..4bd863f4 100644 --- a/src/Common/Utils/Utils.java +++ b/src/Common/Utils/Utils.java @@ -1,6 +1,5 @@ package Common.Utils; import Common.Constants; -import Common.Current; import Common.Global; import Common.UI.UI; import Common.Utils.Files.VDirectoryChooser; @@ -1056,11 +1055,9 @@ public class Utils { } return false; } + //временно. public static int getTestingMaxKernels() { - if (Current.HasAccount()) { - return (Current.getAccount().isAdmin()) ? 64 : 14; - } - return 1; + return 64; // (Current.getAccount().isAdmin()) ? 64 : 14; } //-- public static boolean isCrushedLine(String line) { diff --git a/src/ProjectData/LanguageName.java b/src/ProjectData/LanguageName.java index 9727c733..3b89d5c7 100644 --- a/src/ProjectData/LanguageName.java +++ b/src/ProjectData/LanguageName.java @@ -1,5 +1,8 @@ package ProjectData; import org.fife.ui.rsyntaxtextarea.SyntaxConstants; + +import java.util.Arrays; +import java.util.Vector; public enum LanguageName { n, fortran, @@ -22,10 +25,10 @@ public enum LanguageName { switch (this) { case fortran: return "f"; - //"flink"; + //"flink"; case c: return "c"; - //"clink"; + //"clink"; default: return ""; } @@ -53,8 +56,8 @@ public enum LanguageName { return SyntaxConstants.SYNTAX_STYLE_NONE; } } - public String getIcon(){ - switch (this){ + public String getIcon() { + switch (this) { case fortran: return "/icons/Languages/Fortran.png"; case c: @@ -65,4 +68,25 @@ public enum LanguageName { return ""; } } + public Vector getExtensions() { + String[] res; + switch (this) { + case fortran: + res = new String[]{"f", "fdv", "for", "f77", "f90", "h"}; + break; + case c: + res = new String[]{"c", "cdv", "h"}; + break; + case cpp: + res = new String[]{"cpp", "h"}; + break; + default: + res = new String[]{}; + break; + } + return new Vector<>(Arrays.asList(res)); + } + public String PrintExtensions(){ + return String.join(",", getExtensions()); + } } diff --git a/src/Visual_DVM_2021/Passes/All/CreateTestFromDirectory.java b/src/Visual_DVM_2021/Passes/All/CreateTestFromDirectory.java index 9eac9883..53cc2815 100644 --- a/src/Visual_DVM_2021/Passes/All/CreateTestFromDirectory.java +++ b/src/Visual_DVM_2021/Passes/All/CreateTestFromDirectory.java @@ -57,7 +57,7 @@ public class CreateTestFromDirectory extends Pass_2021 { project_files = new Vector<>(); int subdirs = 0; int bad = 0; - int fortran_programs = 0; + int active_programs = 0; int headers = 0; int other_project_files = 0; //--- @@ -89,16 +89,17 @@ public class CreateTestFromDirectory extends Pass_2021 { } if (file.isFile()) { ProjectFile projectFile = new ProjectFile(file); - project_files.add(projectFile); switch (projectFile.fileType) { case program: - if (projectFile.languageName.equals(group.language)) - fortran_programs++; - else + if (projectFile.languageName.equals(group.language)) { + active_programs++; + project_files.add(projectFile); + } else other_project_files++; break; case header: headers++; + project_files.add(projectFile); break; default: other_project_files++; @@ -114,15 +115,23 @@ public class CreateTestFromDirectory extends Pass_2021 { if (bad > 0) { return false; } - if (fortran_programs == 0) { + if (active_programs == 0) { Log.Writeln_("Папка не содержит ни одной программы на языке " + group.language.getDescription() + "."); return false; } + /* if (other_project_files > 0) { Log.Writeln_("Папка содержит файлы, не являющиеся программами на языке " + group.language.getDescription() + ", или заголовочными."); return false; + } + */ + if (project_files.isEmpty()){ + Log.Writeln_("В папке не найдено файлов с допустимыми расширениями для языка "+ + group.language.getDescription()+"\n"+ + group.language.PrintExtensions() + ); } //----- target = new Test(); @@ -136,6 +145,8 @@ public class CreateTestFromDirectory extends Pass_2021 { target.files = String.join("\n", filesNames); return true; } + protected void fillProjectFiles() throws Exception { + } @Override protected void body() throws Exception { ShowMessage1(dir.getName()); diff --git a/src/Visual_DVM_2021/Passes/All/CreateTestFromFile.java b/src/Visual_DVM_2021/Passes/All/CreateTestFromFile.java new file mode 100644 index 00000000..4c999a90 --- /dev/null +++ b/src/Visual_DVM_2021/Passes/All/CreateTestFromFile.java @@ -0,0 +1,4 @@ +package Visual_DVM_2021.Passes.All; +import Visual_DVM_2021.Passes.Pass_2021; +public class CreateTestFromFile extends Pass_2021 { +} diff --git a/src/Visual_DVM_2021/Passes/PassCode_2021.java b/src/Visual_DVM_2021/Passes/PassCode_2021.java index 9007edc3..ba6bf54a 100644 --- a/src/Visual_DVM_2021/Passes/PassCode_2021.java +++ b/src/Visual_DVM_2021/Passes/PassCode_2021.java @@ -301,12 +301,15 @@ public enum PassCode_2021 { CreateTestFromDirectory, CreateTestFromCurrentProject, SPF_RemoveComments, + CreateTestFromFile, //-> TestPass; public String getDescription() { switch (this) { case Undefined: return "?"; + case CreateTestFromFile: + return "Создать тест из файла"; case SPF_RemoveComments: return "Удаление комментариев"; case CreateTestFromCurrentProject: diff --git a/src/Visual_DVM_2021/UI/Main/TestingForm.java b/src/Visual_DVM_2021/UI/Main/TestingForm.java index b1e27f2e..a9e325d7 100644 --- a/src/Visual_DVM_2021/UI/Main/TestingForm.java +++ b/src/Visual_DVM_2021/UI/Main/TestingForm.java @@ -58,8 +58,8 @@ public class TestingForm implements FormWithSplitters, TestingWindow { private final SapforPackagesComparisonForm sapforPackageTreeMaster; //сравнение деревьев пакетов SAPFOR. private final SapforPackagesComparisonForm sapforPackageTreeSlave; //-- - private SapforVersionsComparisonForm sapforVersionMaster; //сравнение версий тестов SAPFOR. - private SapforVersionsComparisonForm sapforVersionSlave; + private final SapforVersionsComparisonForm sapforVersionMaster; //сравнение версий тестов SAPFOR. + private final SapforVersionsComparisonForm sapforVersionSlave; //-- public TestingForm() { content.add(UI.testingBar, BorderLayout.NORTH); diff --git a/src/icons/AddFile.png b/src/icons/AddFile.png new file mode 100644 index 00000000..eb527819 Binary files /dev/null and b/src/icons/AddFile.png differ