промежуточный. Перенос отладки текущего проекта к его вкладкам.

This commit is contained in:
2023-10-11 01:31:38 +03:00
parent 7a1d5211ae
commit 08e3c87b78
13 changed files with 525 additions and 11 deletions

View File

@@ -19,4 +19,5 @@ public interface MainWindow {
void HideTestingTab();
//-
void ShowCredentials();
void ShowCheckedTestsCount();
}

View File

@@ -77,7 +77,9 @@ import TestingSystem.Tasks.TestRunTasksDBTable;
import TestingSystem.TasksPackage.TasksPackageDBTable;
import TestingSystem.Test.TestDBTable;
import Visual_DVM_2021.Passes.PassCode_2021;
import Visual_DVM_2021.UI.Interface.DebugWindow;
import Visual_DVM_2021.UI.Interface.VersionsWindow;
import Visual_DVM_2021.UI.Main.DebugForm;
import Visual_DVM_2021.UI.Main.MainForm;
import Visual_DVM_2021.UI.Main.ProfilesForm;
import Visual_DVM_2021.UI.Main.VersionsForm;
@@ -107,6 +109,7 @@ public class UI {
public static FastAccessMenuBar fastAccessMenuBar = null;
//------------
public static VersionsWindow versionsWindow = null;
public static DebugWindow debugWindow = null;
//------------
public static final Highlighter.HighlightPainter GoodLoopPainter = new DefaultHighlighter.DefaultHighlightPainter(new Color(152, 251, 152, 90));
public static final Highlighter.HighlightPainter BadLoopPainter = new DefaultHighlighter.DefaultHighlightPainter(new Color(240, 128, 128, 90));
@@ -426,6 +429,11 @@ public class UI {
public static void CreateVersionsWindow() {
versionsWindow = new VersionsForm(Current.getRoot());
}
public static DebugWindow getDebugWindow() {
if (debugWindow==null)
debugWindow = new DebugForm();
return debugWindow;
}
//-
public static void ShowSearchForm(boolean replace) {
getSearchReplaceForm().setMode(replace);

View File

@@ -35,6 +35,6 @@ public class Group extends rDBObject {
public void select(boolean flag) {
super.select(flag);
if (Current.hasUI())
UI.getMainWindow().getTestingWindow().ShowCheckedTestsCount();
UI.getMainWindow().ShowCheckedTestsCount();
}
}

View File

@@ -38,6 +38,6 @@ public class Test extends rDBObject {
public void select(boolean flag) {
super.select(flag);
if (Current.hasUI())
UI.getMainWindow().getTestingWindow().ShowCheckedTestsCount();
UI.getMainWindow().ShowCheckedTestsCount();
}
}

View File

@@ -53,7 +53,7 @@ public class SynchronizeTests extends TestingSystemPass<Object> {
server.db.groups.ShowUI();
server.db.sapforConfigurations.ShowUI();
server.db.RestoreLastSelections();
UI.getMainWindow().getTestingWindow().ShowCheckedTestsCount();
UI.getMainWindow().ShowCheckedTestsCount();
}
}
}

View File

@@ -0,0 +1,6 @@
package Visual_DVM_2021.UI.Interface;
import javax.swing.*;
public interface DebugWindow {
JPanel getContent();
void ShowAll();
}

View File

@@ -8,9 +8,10 @@ public interface TestingWindow extends VisualizerForm {
void DropTestRunTasksComparison();
void DropRunTasksComparison();
void DropCompilationTasksComparison();
void DropSapforTasksComparison();
void ShowCurrentTestRunTask();
void ShowNoTestRunTask();
void DropSapforTasksComparison();
default void ShowSession() {
ShowProjectMaxCompilationTime();
ShowProjectMaxRunTime();
@@ -39,7 +40,6 @@ public interface TestingWindow extends VisualizerForm {
void ShowCurrentSapforTasksPackage();
void ShowNoSapforTasksPackage();
//----------------------------------------->>>
void ShowCheckedTestsCount();
//--
void ShowLastCompilationTask();
void ShowLastRunTask();

View File

@@ -0,0 +1,393 @@
<?xml version="1.0" encoding="UTF-8"?>
<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="Visual_DVM_2021.UI.Main.DebugForm">
<grid id="27dc6" binding="content" layout-manager="BorderLayout" hgap="0" vgap="0">
<constraints>
<xy x="20" y="20" width="853" height="600"/>
</constraints>
<properties/>
<border type="none"/>
<children>
<tabbedpane id="d4095" binding="debugTabs">
<constraints border-constraint="Center"/>
<properties/>
<border type="none"/>
<children>
<grid id="5bc0d" layout-manager="BorderLayout" hgap="0" vgap="0">
<constraints>
<tabbedpane title="Компиляция">
<tooltip value="Компиляция"/>
</tabbedpane>
</constraints>
<properties/>
<border type="none"/>
<children>
<splitpane id="66319" binding="SC51">
<constraints border-constraint="Center"/>
<properties>
<dividerLocation value="200"/>
<dividerSize value="3"/>
<orientation value="0"/>
</properties>
<border type="none"/>
<children>
<grid id="26730" layout-manager="BorderLayout" hgap="0" vgap="0">
<constraints>
<splitpane position="right"/>
</constraints>
<properties/>
<border type="none"/>
<children>
<splitpane id="41f85" binding="SC40">
<constraints border-constraint="Center"/>
<properties>
<dividerLocation value="197"/>
<dividerSize value="3"/>
<orientation value="0"/>
</properties>
<border type="none"/>
<children>
<grid id="e9fb3" layout-manager="BorderLayout" hgap="0" vgap="0">
<constraints>
<splitpane position="left"/>
</constraints>
<properties/>
<border type="none"/>
<children>
<grid id="b9fa8" binding="compilationTasksPanel" layout-manager="BorderLayout" hgap="0" vgap="0">
<constraints border-constraint="Center"/>
<properties>
<minimumSize width="0" height="150"/>
</properties>
<border type="none"/>
<children/>
</grid>
</children>
</grid>
<grid id="d0a9d" layout-manager="GridLayoutManager" row-count="1" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="0" left="0" bottom="0" right="0"/>
<constraints>
<splitpane position="right"/>
</constraints>
<properties/>
<border type="none"/>
<children>
<splitpane id="c4387" binding="SC41">
<constraints>
<grid row="0" column="0" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false">
<preferred-size width="200" height="200"/>
</grid>
</constraints>
<properties>
<dividerLocation value="500"/>
<dividerSize value="3"/>
</properties>
<border type="none"/>
<children>
<grid id="9f685" layout-manager="GridLayoutManager" row-count="1" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="0" left="0" bottom="0" right="0"/>
<constraints>
<splitpane position="left"/>
</constraints>
<properties>
<minimumSize width="200" height="200"/>
</properties>
<border type="none"/>
<children/>
</grid>
<grid id="3d69e" layout-manager="GridLayoutManager" row-count="1" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="0" left="0" bottom="0" right="0"/>
<constraints>
<splitpane position="right"/>
</constraints>
<properties>
<minimumSize width="200" height="200"/>
</properties>
<border type="none"/>
<children/>
</grid>
</children>
</splitpane>
</children>
</grid>
</children>
</splitpane>
</children>
</grid>
<grid id="b9033" layout-manager="BorderLayout" hgap="0" vgap="0">
<constraints>
<splitpane position="left"/>
</constraints>
<properties>
<minimumSize width="600" height="200"/>
</properties>
<border type="none"/>
<children>
<splitpane id="6ed81" binding="SC20">
<constraints border-constraint="Center"/>
<properties>
<dividerLocation value="548"/>
<dividerSize value="3"/>
</properties>
<border type="none"/>
<children>
<grid id="daa4a" layout-manager="BorderLayout" hgap="0" vgap="0">
<constraints>
<splitpane position="left"/>
</constraints>
<properties>
<maximumSize width="-1" height="-1"/>
<minimumSize width="300" height="-1"/>
<preferredSize width="-1" height="-1"/>
</properties>
<border type="none"/>
<children>
<grid id="65ac6" binding="makefilesPanel" layout-manager="BorderLayout" hgap="0" vgap="0">
<constraints border-constraint="Center"/>
<properties/>
<border type="none"/>
<children/>
</grid>
</children>
</grid>
<grid id="709a" layout-manager="BorderLayout" hgap="0" vgap="0">
<constraints>
<splitpane position="right"/>
</constraints>
<properties>
<maximumSize width="-1" height="-1"/>
<minimumSize width="300" height="-1"/>
<preferredSize width="-1" height="-1"/>
</properties>
<border type="none"/>
<children>
<grid id="361cf" binding="modulesPanel" layout-manager="BorderLayout" hgap="0" vgap="0">
<constraints border-constraint="Center"/>
<properties/>
<border type="none"/>
<children/>
</grid>
</children>
</grid>
</children>
</splitpane>
</children>
</grid>
</children>
</splitpane>
</children>
</grid>
<grid id="1c08a" layout-manager="BorderLayout" hgap="0" vgap="0">
<constraints>
<tabbedpane title="Запуск">
<tooltip value="Запуск"/>
</tabbedpane>
</constraints>
<properties/>
<border type="none"/>
<children>
<splitpane id="44d2e" binding="SC52">
<constraints border-constraint="Center"/>
<properties>
<dividerLocation value="150"/>
<dividerSize value="3"/>
<orientation value="0"/>
</properties>
<border type="none"/>
<children>
<grid id="dfa38" layout-manager="BorderLayout" hgap="0" vgap="0">
<constraints>
<splitpane position="right"/>
</constraints>
<properties/>
<border type="none"/>
<children>
<splitpane id="78844" binding="SC42">
<constraints border-constraint="Center"/>
<properties>
<dividerLocation value="200"/>
<dividerSize value="3"/>
<orientation value="0"/>
</properties>
<border type="none"/>
<children>
<grid id="94509" layout-manager="GridLayoutManager" row-count="1" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="0" left="0" bottom="0" right="0"/>
<constraints>
<splitpane position="right"/>
</constraints>
<properties>
<minimumSize width="0" height="200"/>
</properties>
<border type="none"/>
<children>
<splitpane id="c578" binding="SC43">
<constraints>
<grid row="0" column="0" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false">
<preferred-size width="200" height="200"/>
</grid>
</constraints>
<properties>
<dividerLocation value="500"/>
<dividerSize value="3"/>
</properties>
<border type="none"/>
<children>
<grid id="10b43" layout-manager="GridLayoutManager" row-count="1" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="0" left="0" bottom="0" right="0"/>
<constraints>
<splitpane position="left"/>
</constraints>
<properties>
<minimumSize width="150" height="100"/>
</properties>
<border type="none"/>
<children/>
</grid>
<grid id="1c6f2" layout-manager="GridLayoutManager" row-count="1" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="0" left="0" bottom="0" right="0"/>
<constraints>
<splitpane position="right"/>
</constraints>
<properties>
<minimumSize width="150" height="100"/>
</properties>
<border type="none"/>
<children/>
</grid>
</children>
</splitpane>
</children>
</grid>
<grid id="fadcf" layout-manager="BorderLayout" hgap="0" vgap="0">
<constraints>
<splitpane position="left"/>
</constraints>
<properties>
<minimumSize width="0" height="100"/>
</properties>
<border type="none"/>
<children>
<grid id="e03b4" binding="runTasksPanel" layout-manager="BorderLayout" hgap="0" vgap="0">
<constraints border-constraint="Center"/>
<properties/>
<border type="none"/>
<children/>
</grid>
</children>
</grid>
</children>
</splitpane>
</children>
</grid>
<grid id="c389f" layout-manager="BorderLayout" hgap="0" vgap="0">
<constraints>
<splitpane position="left"/>
</constraints>
<properties/>
<border type="none"/>
<children>
<splitpane id="7d248" binding="SC21">
<constraints border-constraint="Center"/>
<properties>
<dividerLocation value="450"/>
<dividerSize value="3"/>
</properties>
<border type="none"/>
<children>
<grid id="c844d" layout-manager="BorderLayout" hgap="0" vgap="0">
<constraints>
<splitpane position="left"/>
</constraints>
<properties>
<maximumSize width="-1" height="-1"/>
<minimumSize width="350" height="100"/>
<preferredSize width="-1" height="-1"/>
</properties>
<border type="none"/>
<children>
<grid id="7070" binding="runConfigurationsPanel" layout-manager="BorderLayout" hgap="0" vgap="0">
<constraints border-constraint="Center"/>
<properties>
<minimumSize width="0" height="0"/>
</properties>
<border type="none"/>
<children/>
</grid>
</children>
</grid>
<grid id="2473c" layout-manager="GridLayoutManager" row-count="1" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="0" left="0" bottom="0" right="0"/>
<constraints>
<splitpane position="right"/>
</constraints>
<properties>
<maximumSize width="-1" height="-1"/>
<minimumSize width="500" height="100"/>
<preferredSize width="-1" height="-1"/>
</properties>
<border type="none"/>
<children>
<splitpane id="6e137" binding="SC35">
<constraints>
<grid row="0" column="0" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false">
<minimum-size width="200" height="-1"/>
<preferred-size width="200" height="200"/>
</grid>
</constraints>
<properties>
<dividerLocation value="250"/>
<dividerSize value="3"/>
</properties>
<border type="none"/>
<children>
<grid id="f354" layout-manager="BorderLayout" hgap="0" vgap="0">
<constraints>
<splitpane position="left"/>
</constraints>
<properties>
<minimumSize width="250" height="100"/>
</properties>
<border type="none"/>
<children>
<grid id="238e" binding="environmentsPanel" layout-manager="BorderLayout" hgap="0" vgap="0">
<constraints border-constraint="Center"/>
<properties/>
<border type="none"/>
<children/>
</grid>
</children>
</grid>
<grid id="9f17d" layout-manager="BorderLayout" hgap="0" vgap="0">
<constraints>
<splitpane position="right"/>
</constraints>
<properties>
<minimumSize width="250" height="100"/>
</properties>
<border type="none"/>
<children>
<grid id="ce7e2" binding="dvmParametersPanel" layout-manager="BorderLayout" hgap="0" vgap="0">
<constraints border-constraint="Center"/>
<properties/>
<border type="none"/>
<children/>
</grid>
</children>
</grid>
</children>
</splitpane>
</children>
</grid>
</children>
</splitpane>
</children>
</grid>
</children>
</splitpane>
</children>
</grid>
</children>
</tabbedpane>
</children>
</grid>
</form>

View File

@@ -0,0 +1,65 @@
package Visual_DVM_2021.UI.Main;
import Common.Global;
import Visual_DVM_2021.UI.Interface.DebugWindow;
import Visual_DVM_2021.UI.Interface.FormWithSplitters;
import javax.swing.*;
public class DebugForm implements DebugWindow, FormWithSplitters {
private JPanel content;
public JSplitPane SC51;
public JSplitPane SC40;
public JTabbedPane debugTabs;
public JSplitPane SC41;
public JSplitPane SC20;
public JSplitPane SC52;
public JSplitPane SC42;
public JSplitPane SC43;
public JSplitPane SC21;
public JSplitPane SC35;
private JPanel compilationTasksPanel;
private JPanel makefilesPanel;
private JPanel modulesPanel;
private JPanel runTasksPanel;
private JPanel runConfigurationsPanel;
private JPanel environmentsPanel;
private JPanel dvmParametersPanel;
//--
//-
public RunTasksComparisonForm singleRunTaskMaster; // одиночные запуски
public RunTasksComparisonForm singleRunTaskSlave;
//
public CompilationTasksComparisonForm singleCompilationTaskMaster; // одиночная компиляция
public CompilationTasksComparisonForm singleCompilationTaskSlave;
//--
//--
@Override
public JPanel getContent() {
return content;
}
@Override
public void ShowAll() {
}
public DebugForm(){
LoadSplitters();
//--
Global.db.makefiles.mountUI(makefilesPanel);
//-----------------------------------------------
Global.db.modules.mountUI(modulesPanel);
Global.db.runConfigurations.mountUI(runConfigurationsPanel);
Global.db.environmentValues.mountUI(environmentsPanel);
Global.db.dvmParameters.mountUI(dvmParametersPanel);
//-
Global.db.compilationTasks.mountUI(compilationTasksPanel);
Global.db.runTasks.mountUI(runTasksPanel);
//--
singleCompilationTaskMaster = new CompilationTasksComparisonForm(singleCompilationTaskSlave = new CompilationTasksComparisonForm(null));
singleRunTaskMaster = new RunTasksComparisonForm(singleRunTaskSlave = new RunTasksComparisonForm(null));
//--
//-
SC41.setLeftComponent(singleCompilationTaskMaster.getContent());
SC41.setRightComponent(singleCompilationTaskSlave.getContent());
SC43.setLeftComponent(singleRunTaskMaster.getContent());
SC43.setRightComponent(singleRunTaskSlave.getContent());
}
}

View File

@@ -6,12 +6,15 @@ import Common.UI.UI;
import Common.UI.Windows.Form;
import Common.UI.Windows.FormType;
import Common.Utils.Utils;
import TestingSystem.Group.Group;
import TestingSystem.Test.Test;
import Visual_DVM_2021.Passes.PassCode_2021;
import Visual_DVM_2021.Passes.Pass_2021;
import Visual_DVM_2021.UI.Interface.*;
import javax.swing.*;
import java.awt.*;
import java.util.Vector;
public class MainForm extends Form implements MainWindow {
private final WelcomeForm welcomeForm = new WelcomeForm(); //заглушка когда проекта нет.
int global_index = 0;
@@ -56,6 +59,8 @@ public class MainForm extends Form implements MainWindow {
SaveCredentialsPanel();
SaveTestsPanel();
SaveTestingPanel();
if (UI.debugWindow!=null)
((FormWithSplitters) UI.debugWindow).SaveSplitters();
Global.FinishApplication();
}
public MainForm() {
@@ -169,6 +174,29 @@ public class MainForm extends Form implements MainWindow {
globalTabs.setTitleAt(2, res);
*/
}
@Override
public void ShowCheckedTestsCount() {
int res = 0;
for (Group group : Global.testingServer.db.groups.getCheckedItems()) {
Vector<Test> selected_tests = new Vector<>();
Vector<Test> group_tests = new Vector<>();
for (Test test : Global.testingServer.db.tests.Data.values()) {
if (test.group_id.equals(group.id)) {
if (test.isSelected())
selected_tests.add(test);
else
group_tests.add(test);
}
}
//-
if (selected_tests.isEmpty())
res += group_tests.size();
else
res += selected_tests.size();
}
//--
globalTabs.setTitleAt(3, "Тесты: " + res);
}
private void SaveTestingPanel() {
if (testingForm != null) {
testingForm.SaveSplitters();

View File

@@ -77,6 +77,7 @@ public class ProjectForm implements FormWithSplitters, ProjectWindow {
//-
filesForm.Show();
InstallVersionsPanel();
InstallDebugPanel();
ShowAllAnalyses();
ShowProjectView();
SwitchScreen(Global.db.settings.get(SettingName.SmallScreen).toBoolean());
@@ -285,6 +286,12 @@ public class ProjectForm implements FormWithSplitters, ProjectWindow {
UI.getVersionsWindow().getContent(),
"Версии", 5);
}
private void InstallDebugPanel(){
projectTabs.insertTab("",
Utils.getIcon("/icons/Command.png"),
UI.getDebugWindow().getContent(),
"Компиляция и запуск", 6);
}
@Override
public void FocusVersions() {
projectTabs.setSelectedIndex(5);

View File

@@ -4,14 +4,11 @@ import Common.UI.Menus_2023.TasksPackagesMenuBar.TasksPackagesMenuBar;
import Common.UI.TextField.StyledTextField;
import Common.UI.UI;
import TestingSystem.Configuration.UI.ConfigurationDBTable;
import TestingSystem.Group.Group;
import TestingSystem.TasksPackage.TasksPackageDBTable;
import TestingSystem.Test.Test;
import Visual_DVM_2021.UI.Interface.FormWithSplitters;
import Visual_DVM_2021.UI.Interface.TestingWindow;
import javax.swing.*;
import java.util.Vector;
public class TestingForm implements FormWithSplitters, TestingWindow {
private JPanel content;
@Override
@@ -325,6 +322,7 @@ public class TestingForm implements FormWithSplitters, TestingWindow {
UI.Clear(packageVersionsPanel);
}
//--->>>
/*
@Override
public void ShowCheckedTestsCount() {
int res = 0;
@@ -348,6 +346,7 @@ public class TestingForm implements FormWithSplitters, TestingWindow {
//--
testingTabs.setTitleAt(2, "Тесты: " + res);
}
*/
@Override
public void ShowLastCompilationTask() {
singleCompilationTaskMaster.ApplyObject();