отрисовка StateSummary

This commit is contained in:
2023-11-05 19:42:38 +03:00
parent 2f83a1854d
commit bcd40d5acf
9 changed files with 44 additions and 25 deletions

12
.idea/workspace.xml generated
View File

@@ -7,13 +7,15 @@
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment=""> <list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/UI/StateSummary.java" afterDir="false" /> <change afterPath="$PROJECT_DIR$/src/icons/versions/DoneStateSummary.png" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/UI/TreeSummary.java" afterDir="false" /> <change afterPath="$PROJECT_DIR$/src/icons/versions/ErrorsStateSummary.png" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/icons/versions/UnknownStateSummary.png" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/SapforTasksPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/SapforTasksPackage.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/SapforTasksPackageInterface.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/SapforTasksPackageInterface.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/SapforTasksPackageInterface.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/SapforTasksPackageInterface.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/PackageVersionsComparisonForm.java" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/UI/SapforTasksPackageTree.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/UI/SapforTasksPackageTree.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/SapforPackagesComparisonForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/SapforPackagesComparisonForm.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/UI/SapforVersionsTreeCellRenderer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/UI/SapforVersionsTreeCellRenderer.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/UI/StateSummary.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/UI/StateSummary.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/UI/TreeSummary.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/UI/TreeSummary.java" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />

View File

@@ -6,6 +6,7 @@ import GlobalData.Tasks.TaskState;
import SapforTestingSystem.Json.SapforTasksResults_json; import SapforTestingSystem.Json.SapforTasksResults_json;
import SapforTestingSystem.SapforTask.SapforTask; import SapforTestingSystem.SapforTask.SapforTask;
import SapforTestingSystem.SapforTasksPackage.UI.ConfigurationDescription; import SapforTestingSystem.SapforTasksPackage.UI.ConfigurationDescription;
import SapforTestingSystem.SapforTasksPackage.UI.StateSummary;
import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultMutableTreeNode;
import java.io.File; import java.io.File;
@@ -43,9 +44,10 @@ public class SapforTasksPackageInterface {
//-- //--
DefaultMutableTreeNode root = new DefaultMutableTreeNode(package_in.id); DefaultMutableTreeNode root = new DefaultMutableTreeNode(package_in.id);
for (TaskState state : sortedTasks.keySet()) { for (TaskState state : sortedTasks.keySet()) {
int count = 0;
//-- //--
DefaultMutableTreeNode stateNode = new DefaultMutableTreeNode(state.getDescription()); StateSummary stateSummary = new StateSummary(state);
//--
DefaultMutableTreeNode stateNode = new DefaultMutableTreeNode(stateSummary);
LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>> tasksByConfigurations = sortedTasks.get(state); LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>> tasksByConfigurations = sortedTasks.get(state);
for (String configuration_id : tasksByConfigurations.keySet()) { for (String configuration_id : tasksByConfigurations.keySet()) {
//-- //--
@@ -55,7 +57,8 @@ public class SapforTasksPackageInterface {
for (String group : groups_tasks.keySet()) { for (String group : groups_tasks.keySet()) {
DefaultMutableTreeNode groupNode = new DefaultMutableTreeNode(group); DefaultMutableTreeNode groupNode = new DefaultMutableTreeNode(group);
for (SapforTask task : groups_tasks.get(group)) { for (SapforTask task : groups_tasks.get(group)) {
count++; //--
stateSummary.count++;
//-- //--
if (configurationNode == null) if (configurationNode == null)
configurationNode = new DefaultMutableTreeNode(new ConfigurationDescription(configuration_id, task)); configurationNode = new DefaultMutableTreeNode(new ConfigurationDescription(configuration_id, task));
@@ -66,8 +69,8 @@ public class SapforTasksPackageInterface {
} }
stateNode.add(configurationNode); stateNode.add(configurationNode);
} }
if (stateNode.getChildCount() > 0) { if (stateSummary.count > 0) {
stateNode.setUserObject(state.getDescription() + ": " + count); stateSummary.refreshText();
root.add(stateNode); root.add(stateNode);
} }
} }

View File

@@ -1,6 +1,7 @@
package SapforTestingSystem.SapforTasksPackage.UI; package SapforTestingSystem.SapforTasksPackage.UI;
import Common.Current; import Common.Current;
import Common.UI.Trees.DataTree; import Common.UI.Trees.DataTree;
import Common.UI.Trees.TreeRenderers;
import Common.UI.UI; import Common.UI.UI;
import SapforTestingSystem.Json.SapforVersion_json; import SapforTestingSystem.Json.SapforVersion_json;
@@ -19,12 +20,11 @@ public class SapforTasksPackageTree extends DataTree {
@Override @Override
public void LeftMouseAction2() { public void LeftMouseAction2() {
} }
/*
@Override @Override
public TreeRenderers getRenderer() { public TreeRenderers getRenderer() {
return TreeRenderers.RendererSapforVersion; return TreeRenderers.RendererSapforVersion;
} }
*/
@Override @Override
public Current getCurrent() { public Current getCurrent() {
return current; return current;

View File

@@ -1,32 +1,29 @@
package SapforTestingSystem.SapforTasksPackage.UI; package SapforTestingSystem.SapforTasksPackage.UI;
import Common.UI.Trees.StyledTreeCellRenderer; import Common.UI.Trees.StyledTreeCellRenderer;
import SapforTestingSystem.Json.SapforVersion_json;
import javax.swing.*; import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultMutableTreeNode;
import java.net.URL;
public class SapforVersionsTreeCellRenderer extends StyledTreeCellRenderer { public class SapforVersionsTreeCellRenderer extends StyledTreeCellRenderer {
public java.awt.Component getTreeCellRendererComponent( public java.awt.Component getTreeCellRendererComponent(
JTree tree, Object value, JTree tree, Object value,
boolean selected, boolean expanded, boolean selected, boolean expanded,
boolean leaf, int row, boolean hasFocus) { boolean leaf, int row, boolean hasFocus) {
super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus); super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus);
URL imageUrl = null;
Object o = ((DefaultMutableTreeNode) value).getUserObject(); Object o = ((DefaultMutableTreeNode) value).getUserObject();
if (o instanceof SapforVersion_json) { if (o instanceof TreeSummary) {
SapforVersion_json version_json = (SapforVersion_json) o; TreeSummary summary = (TreeSummary) o;
setForeground(tree.getForeground()); setForeground(tree.getForeground());
setFont(getFont().deriveFont((float) 14.0)); setFont(getFont().deriveFont((float) 14.0));
imageUrl = getClass().getResource("/icons/versions/" + setIcon(summary.getIcon());
(version_json.success ? "Version" : "BadVersion") + }
".png"); /*
if (imageUrl != null) { else
setIcon(new ImageIcon(imageUrl));
} {
} else {
setForeground(tree.getForeground()); setForeground(tree.getForeground());
setFont(getFont().deriveFont((float) 14.0)); setFont(getFont().deriveFont((float) 14.0));
} }
*/
return this; return this;
} }
} }

View File

@@ -10,4 +10,15 @@ public class StateSummary extends TreeSummary{
public void refreshText(){ public void refreshText(){
text = state.getDescription()+" : "+count; text = state.getDescription()+" : "+count;
} }
@Override
public String getImageKey() {
switch (state){
case Done:
return "DoneStateSummary";
case DoneWithErrors:
return "ErrorsStateSummary";
default:
return "UnknownStateSummary";
}
}
} }

View File

@@ -1,9 +1,15 @@
package SapforTestingSystem.SapforTasksPackage.UI; package SapforTestingSystem.SapforTasksPackage.UI;
import javax.swing.*;
import java.util.Objects;
public abstract class TreeSummary { public abstract class TreeSummary {
public String text=""; public String text = "";
public abstract void refreshText(); public abstract void refreshText();
@Override @Override
public String toString() { public String toString() {
return text; return text;
} }
public ImageIcon getIcon() {
return new ImageIcon(Objects.requireNonNull(getClass().getResource("/icons/versions/" + getImageKey() + ".png")));
}
public abstract String getImageKey();
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 694 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 644 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 561 B