no message

This commit is contained in:
2023-12-26 16:18:23 +03:00
parent f604f94858
commit 05ec4871a1
5 changed files with 69 additions and 52 deletions

5
.idea/workspace.xml generated
View File

@@ -7,8 +7,11 @@
</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/Common/Database/DataSetFilter.java" 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/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/Common/Database/TableFilter.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Database/DBObjectFilter.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/Group/GroupsDBTable.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/Group/GroupsDBTable.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTasks/DVMRunTasksSet.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTasks/DVMRunTasksSet.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

@@ -3,15 +3,24 @@ import Common.UI.Menus_2023.StableMenuItem;
import Common.Utils.Utils; import Common.Utils.Utils;
import javax.swing.*; import javax.swing.*;
public class TableFilter<D extends DBObject> { //одиночный фильтр, пункт фильтрационного меню.
DataSet table; public abstract class DBObjectFilter<D extends DBObject> {
public JMenuItem menuItem; //пункт меню фильтра. ( возможно потом сделать и кнопку)
String description; String description;
public boolean active = true; //включен ли фильтр boolean active = true; //включен ли фильтр
public int count = 0; int count = 0;
protected boolean validate(D object) { //--
return true; public JMenuItem menuItem; //пункт меню фильтра. ( возможно потом сделать и кнопку)
//--
static String getNotActiveIconPath() {
return "/icons/NotPick.png";
} }
static String getActiveIconPath() {
return "/icons/Pick.png";
}
void Mark() {
menuItem.setIcon(Utils.getIcon(active ? getActiveIconPath() : getNotActiveIconPath()));
}
//-------
public boolean Validate(D object) { public boolean Validate(D object) {
if (active) { if (active) {
boolean valid = validate(object); boolean valid = validate(object);
@@ -21,14 +30,10 @@ public class TableFilter<D extends DBObject> {
} }
return false; return false;
} }
static String getNotActiveIconPath() { public void ResetCount() {
return "/icons/NotPick.png"; count = 0;
} }
static String getActiveIconPath() { public DBObjectFilter(DataSet table, String description_in, boolean active_in) {
return "/icons/Pick.png";
}
public TableFilter(DataSet table_in, String description_in, boolean active_in) {
table = table_in;
menuItem = new StableMenuItem((description = description_in) + " (0)"); menuItem = new StableMenuItem((description = description_in) + " (0)");
active = active_in; active = active_in;
menuItem.addActionListener(e -> { menuItem.addActionListener(e -> {
@@ -38,13 +43,12 @@ public class TableFilter<D extends DBObject> {
}); });
Mark(); Mark();
} }
public TableFilter(DataSet table_in, String description_in){ public DBObjectFilter(DataSet table_in, String description_in) {
this(table_in, description_in, true); this(table_in, description_in, true);
} }
public void Mark() {
menuItem.setIcon(Utils.getIcon(active ? getActiveIconPath() : getNotActiveIconPath()));
}
public void ShowDescriptionAndCount() { public void ShowDescriptionAndCount() {
menuItem.setText(description + " " + Utils.RBrackets(count)); menuItem.setText(description + " " + Utils.RBrackets(count));
} }
//--
protected abstract boolean validate(D object);
} }

View File

@@ -0,0 +1,10 @@
package Common.Database;
import TestingSystem.Common.Group.Group;
import java.util.Vector;
public class DataSetFilter {
public Vector<DBObjectFilter<Group>> filters;
public DataSetFilter(String name){
}
}

View File

@@ -16,8 +16,8 @@ import java.util.Vector;
//- //-
public class GroupsDBTable extends iDBTable<Group> { public class GroupsDBTable extends iDBTable<Group> {
public static boolean filterMyOnly = false; public static boolean filterMyOnly = false;
public Vector<TableFilter<Group>> typeFilters; public Vector<DBObjectFilter<Group>> typeFilters;
public Vector<TableFilter<Group>> languageFilters; public Vector<DBObjectFilter<Group>> languageFilters;
//------------------------------------------------>>> //------------------------------------------------>>>
public GroupsDBTable() { public GroupsDBTable() {
super(Group.class); super(Group.class);
@@ -28,7 +28,7 @@ public class GroupsDBTable extends iDBTable<Group> {
//-- //--
for (TestType type : TestType.values()) { for (TestType type : TestType.values()) {
typeFilters.add( typeFilters.add(
new TableFilter<Group>(this, type.getDescription()) { new DBObjectFilter<Group>(this, type.getDescription()) {
@Override @Override
protected boolean validate(Group object) { protected boolean validate(Group object) {
return object.type.equals(type); return object.type.equals(type);
@@ -37,7 +37,7 @@ public class GroupsDBTable extends iDBTable<Group> {
} }
//-- //--
for (LanguageName languageName : LanguageName.values()) { for (LanguageName languageName : LanguageName.values()) {
languageFilters.add(new TableFilter<Group>(this, languageName.getDescription()) { languageFilters.add(new DBObjectFilter<Group>(this, languageName.getDescription()) {
@Override @Override
protected boolean validate(Group object) { protected boolean validate(Group object) {
return object.language.equals(languageName); return object.language.equals(languageName);
@@ -56,40 +56,40 @@ public class GroupsDBTable extends iDBTable<Group> {
menuBar.addFilters( menuBar.addFilters(
new VisualiserMenu("Тип", "/icons/Filter.png", true) { new VisualiserMenu("Тип", "/icons/Filter.png", true) {
{ {
for (TableFilter filter : typeFilters) for (DBObjectFilter filter : typeFilters)
add(filter.menuItem); add(filter.menuItem);
} }
}, },
new VisualiserMenu("Язык", "/icons/Filter.png", true) { new VisualiserMenu("Язык", "/icons/Filter.png", true) {
{ {
for (TableFilter filter : languageFilters) for (DBObjectFilter filter : languageFilters)
add(filter.menuItem); add(filter.menuItem);
} }
} }
); );
} }
public void ResetFiltersCount() { public void ResetFiltersCount() {
for (TableFilter filter : typeFilters) for (DBObjectFilter filter : typeFilters)
filter.count = 0; filter.ResetCount();
for (TableFilter filter : languageFilters) for (DBObjectFilter filter : languageFilters)
filter.count = 0; filter.ResetCount();
} }
public void ShowFiltersCount() { public void ShowFiltersCount() {
for (TableFilter filter : typeFilters) for (DBObjectFilter filter : typeFilters)
filter.ShowDescriptionAndCount(); filter.ShowDescriptionAndCount();
for (TableFilter filter : languageFilters) for (DBObjectFilter filter : languageFilters)
filter.ShowDescriptionAndCount(); filter.ShowDescriptionAndCount();
} }
public boolean applyFilters(Group object) { public boolean applyFilters(Group object) {
boolean type = false; boolean type = false;
//возвращать сразу нельзя. иначе количество не посчитает. //возвращать сразу нельзя. иначе количество не посчитает.
for (TableFilter filter : typeFilters) { for (DBObjectFilter filter : typeFilters) {
if (filter.Validate(object)) { if (filter.Validate(object)) {
type |= true; type |= true;
} }
} }
boolean language = false; boolean language = false;
for (TableFilter filter : languageFilters) { for (DBObjectFilter filter : languageFilters) {
if (filter.Validate(object)) { if (filter.Validate(object)) {
language |= true; language |= true;
} }

View File

@@ -1,7 +1,7 @@
package TestingSystem.DVM.DVMTasks; package TestingSystem.DVM.DVMTasks;
import Common.Current; import Common.Current;
import Common.Database.DataSet; import Common.Database.DataSet;
import Common.Database.TableFilter; import Common.Database.DBObjectFilter;
import Common.UI.DataSetControlForm; import Common.UI.DataSetControlForm;
import Common.UI.Menus_2023.VisualiserMenu; import Common.UI.Menus_2023.VisualiserMenu;
import Common.UI.UI; import Common.UI.UI;
@@ -15,8 +15,8 @@ import static Common.UI.Tables.TableRenderers.RendererProgress;
import static Common.UI.Tables.TableRenderers.RendererStatusEnum; import static Common.UI.Tables.TableRenderers.RendererStatusEnum;
public class DVMRunTasksSet extends DataSet<Integer, DVMRunTask> { public class DVMRunTasksSet extends DataSet<Integer, DVMRunTask> {
//todo обобщить бы наличие фильтров для всех таблиц. //todo обобщить бы наличие фильтров для всех таблиц.
public Vector<TableFilter<DVMRunTask>> compilationFilters; public Vector<DBObjectFilter<DVMRunTask>> compilationFilters;
public Vector<TableFilter<DVMRunTask>> runFilters; public Vector<DBObjectFilter<DVMRunTask>> runFilters;
DVMPackage target; DVMPackage target;
public DVMRunTasksSet() { public DVMRunTasksSet() {
super(Integer.class, DVMRunTask.class); super(Integer.class, DVMRunTask.class);
@@ -27,7 +27,7 @@ public class DVMRunTasksSet extends DataSet<Integer, DVMRunTask> {
//-- //--
for (TaskState state : TaskState.values()) { for (TaskState state : TaskState.values()) {
if (state.isVisible()) { if (state.isVisible()) {
compilationFilters.add(new TableFilter<DVMRunTask>(this, state.getDescription()) { compilationFilters.add(new DBObjectFilter<DVMRunTask>(this, state.getDescription()) {
@Override @Override
protected boolean validate(DVMRunTask object) { protected boolean validate(DVMRunTask object) {
return object.compilation_state.equals(state); return object.compilation_state.equals(state);
@@ -38,7 +38,7 @@ public class DVMRunTasksSet extends DataSet<Integer, DVMRunTask> {
//-- //--
for (TaskState state : TaskState.values()) { for (TaskState state : TaskState.values()) {
if (state.isVisible()) { if (state.isVisible()) {
runFilters.add(new TableFilter<DVMRunTask>(this, state.getDescription()) { runFilters.add(new DBObjectFilter<DVMRunTask>(this, state.getDescription()) {
@Override @Override
protected boolean validate(DVMRunTask object) { protected boolean validate(DVMRunTask object) {
return object.state.equals(state); return object.state.equals(state);
@@ -49,29 +49,29 @@ public class DVMRunTasksSet extends DataSet<Integer, DVMRunTask> {
} }
} }
public void ResetFiltersCount() { public void ResetFiltersCount() {
for (TableFilter<DVMRunTask> filter : compilationFilters) for (DBObjectFilter<DVMRunTask> filter : compilationFilters)
filter.count = 0; filter.ResetCount();
for (TableFilter<DVMRunTask> filter : runFilters) for (DBObjectFilter<DVMRunTask> filter : runFilters)
filter.count = 0; filter.ResetCount();
} }
public void ShowFiltersCount() { public void ShowFiltersCount() {
for (TableFilter<DVMRunTask> filter : compilationFilters) { for (DBObjectFilter<DVMRunTask> filter : compilationFilters) {
filter.ShowDescriptionAndCount(); filter.ShowDescriptionAndCount();
} }
for (TableFilter<DVMRunTask> filter : runFilters) { for (DBObjectFilter<DVMRunTask> filter : runFilters) {
filter.ShowDescriptionAndCount(); filter.ShowDescriptionAndCount();
} }
} }
public boolean applyFilters(DVMRunTask object) { public boolean applyFilters(DVMRunTask object) {
boolean compilation = false; boolean compilation = false;
//возвращать сразу нельзя. иначе количество не посчитает. //возвращать сразу нельзя. иначе количество не посчитает.
for (TableFilter filter : compilationFilters) { for (DBObjectFilter filter : compilationFilters) {
if (filter.Validate(object)) { if (filter.Validate(object)) {
compilation |= true; compilation |= true;
} }
} }
boolean run = false; boolean run = false;
for (TableFilter filter : runFilters) { for (DBObjectFilter filter : runFilters) {
if (filter.Validate(object)) { if (filter.Validate(object)) {
run |= true; run |= true;
} }
@@ -88,13 +88,13 @@ public class DVMRunTasksSet extends DataSet<Integer, DVMRunTask> {
menuBar.addFilters( menuBar.addFilters(
new VisualiserMenu("Компиляция", "/icons/Filter.png", true) { new VisualiserMenu("Компиляция", "/icons/Filter.png", true) {
{ {
for (TableFilter filter : compilationFilters) for (DBObjectFilter filter : compilationFilters)
add(filter.menuItem); add(filter.menuItem);
} }
}, },
new VisualiserMenu("Запуск", "/icons/Filter.png", true) { new VisualiserMenu("Запуск", "/icons/Filter.png", true) {
{ {
for (TableFilter filter : runFilters) for (DBObjectFilter filter : runFilters)
add(filter.menuItem); add(filter.menuItem);
} }
} }