This commit is contained in:
2023-12-26 20:23:09 +03:00
parent 7030e13238
commit b21e25e932
3 changed files with 47 additions and 15 deletions

3
.idea/workspace.xml generated
View File

@@ -8,9 +8,8 @@
<component name="ChangeListManager">
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Common/Database/DBObjectFilter.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Database/DBObjectFilter.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Common/Database/DataSet.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Database/DataSet.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Common/Database/DataSetFilter.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Database/DataSetFilter.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" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />

View File

@@ -1,6 +1,10 @@
package Common.Database;
import Common.UI.Menus.VisualiserMenuItem;
import Common.UI.Menus_2023.StableMenuItem;
import Common.UI.Menus_2023.VisualiserMenu;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;
public abstract class DataSetFilter<D extends DBObject> {
public VisualiserMenu menu;
@@ -20,6 +24,28 @@ public abstract class DataSetFilter<D extends DBObject> {
for (DBObjectFilter<D> filter : filters)
menu.add(filter.menuItem);
menu.addSeparator();
menu.add(new StableMenuItem("Выбрать всё", "/icons/SelectAll.png") {
{
addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
selectAll(true);
dataSet.ShowUI();
}
});
}
});
menu.add(new StableMenuItem("Отменить всё", "/icons/UnselectAll.png") {
{
addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
selectAll(false);
dataSet.ShowUI();
}
});
}
});
}
void selectAll(boolean flag) {
for (DBObjectFilter filter : filters)
@@ -43,6 +69,9 @@ public abstract class DataSetFilter<D extends DBObject> {
}
public boolean Validate(D object) {
if (!isActive()) {
//считаем без учета результатов
for (DBObjectFilter<D> filter : filters)
filter.Validate(object);
return true;
}
boolean res = false;

View File

@@ -34,17 +34,21 @@ public class GroupsDBTable extends iDBTable<Group> {
});
}
});
}
/*
filters.add(new DataSetFilter<Group>("Язык", this) {
@Override
public void fill() {
for (LanguageName languageName : LanguageName.values()) {
languageFilters.add(new DBObjectFilter<Group>(this, languageName.getDescription()) {
filters.add(new DBObjectFilter<Group>(dataSet, languageName.getDescription()) {
@Override
protected boolean validate(Group object) {
return object.language.equals(languageName);
}
});
}
*/
}
});
}
@Override
public String getSingleDescription() {
return "группа тестов";