no message
This commit is contained in:
5
.idea/workspace.xml
generated
5
.idea/workspace.xml
generated
@@ -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" />
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
10
src/Common/Database/DataSetFilter.java
Normal file
10
src/Common/Database/DataSetFilter.java
Normal 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){
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user