From 10b6cc03abf5f7c5b795fc331916e31dd58bfcbc Mon Sep 17 00:00:00 2001 From: 02090095 Date: Thu, 30 Nov 2023 01:25:26 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=BC=D0=B5=D0=B6=D1=83?= =?UTF-8?q?=D1=82=D0=BE=D1=87=D0=BD=D1=8B=D0=B9.=20=D0=B2=D1=80=D0=B5?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D0=BD=D1=8B=D0=B9=20=D1=84=D0=B8=D0=BA=D1=81?= =?UTF-8?q?=20=D0=B1=D0=B0=D0=B3=D0=B0=20=D1=81=20=D0=BE=D1=82=D0=BE=D0=B1?= =?UTF-8?q?=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8=D0=B5=D0=BC=20=D1=8F=D0=B4?= =?UTF-8?q?=D0=B5=D1=80=20=D0=B5=D1=81=D0=BB=D0=B8=20=D0=BE=D0=B1=D0=B0=20?= =?UTF-8?q?=D1=81=D0=B5=D1=80=D0=B2=D0=B5=D1=80=D0=B0=20=D0=BD=D0=B5=20?= =?UTF-8?q?=D0=B0=D0=BA=D1=82=D0=B8=D0=B2=D0=BD=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/workspace.xml | 22 ++++++------ .../UI/Menus_2023/TestingBar/TestingBar.java | 3 +- src/Common/Utils/Utils.java | 7 ++-- src/ProjectData/LanguageName.java | 32 +++++++++++++++--- .../Passes/All/CreateTestFromDirectory.java | 23 +++++++++---- .../Passes/All/CreateTestFromFile.java | 4 +++ src/Visual_DVM_2021/Passes/PassCode_2021.java | 3 ++ src/Visual_DVM_2021/UI/Main/TestingForm.java | 4 +-- src/icons/AddFile.png | Bin 0 -> 1463 bytes 9 files changed, 69 insertions(+), 29 deletions(-) create mode 100644 src/Visual_DVM_2021/Passes/All/CreateTestFromFile.java create mode 100644 src/icons/AddFile.png 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 0000000000000000000000000000000000000000..eb527819ed5796218cc0f05a88e3f1e8d759226c GIT binary patch literal 1463 zcmV;o1xWgdP)P000>X1^@s6#OZ}&00009a7bBm000XU z000XU0RWnu7ytkOAY({UO#lFTB>(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ>JxN4CRCwB?)csErcL2xn?_8GsykyD#i$&*Pz;Q=>*F zasIHmN48{{naMIuJA&X8BP|aC8l^C2K;yuzls-crX|H$J$Fnqs^4Sjv&H=)*Z}Q6B zeeZ{N?)%MsNlVLD29Aq8h(y8@;c)1Q@N>mxBNMin$au}MGYtw^F=1Jnuq^Y!T8Py; z)LtkQkj-WxNfIP!@tVy_$Y!%oNdJ&U{*eT~kVf4V`@G`7>GxQ=gs?2VcI3v5K~p}T zM=F)tFe#IQFDjt!R~zVG#^)6uo>~m4Ru7TE!2x4FpGPv8+^}pq3EwOaUE4T{&)>(^ zpGN14_MT{9IJ$8o^F7ft>KoQxd7v3no=rah{lR5U|a z=4puZ_V$>P$t0rD=(-ZoByNTWuy6Vu)cRDY^QlqoRiMVJM6Fka`d}sYL~0BAPTe_m z1@kgXFNR1@Pq#@F6PTTyeXhi80(~J13_dONJ`HyGD$qEy3%AmP7?bXzIeY|quLf^T zS7R4f1H(W?7prAnVwDUb-Q8xRD2j+gB5UFzaXbu9V2`g3bzU{Wa_1-G%j8&oLy!w=?oF>F#F&lYaKsX#;MF`<=7<^bj%gpD{dF0sc(ZS%+ zqS8&{R?Pnp{T8a}QdD*++lkqH z&Gfv;Y#@p|Gb7MB<*0S3af=^>Gc$$B)L)pEd{|gm{1R@CgDv$Z9BDfqrpB?~+X&4} zIdpA`ABoxAW#Tw)%}6K^g3Is3Zl@lsg92-(ptH-t*tX&Dbkp*lv~m|f+1`N8E{Dcm z4vj;GO1}c?&**p8jRXP#Z~+cqx;}+$YAdu3IkXNLXnPS3&3y1Q62AayatpK$8MF>L zbS@g&37Ti?nOBL$vVJ5Ij9`5F57bVo!AuoHGbMw3vIvK!o0j*WjWeOtwi%i!88lNe zr~~C-zb`+=mNSG{Ear>JZICL8hR6}WC&?)K2b9=GW@&MIy5#kw8&~58XF$AF5fS`8?}y(of|wmroJol zE4(F8xQkI{+l(^X7RVh%Q2ENBoGhJFo~OQMHS~*1ha_Q`a-vo%h(@D)hE}UuF{jZe zNwr!>G