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

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)
@@ -34,15 +60,18 @@ public abstract class DataSetFilter<D extends DBObject> {
for (DBObjectFilter<D> filter : filters)
filter.Refresh();
}
public boolean isActive(){
for (DBObjectFilter<D> filter: filters){
public boolean isActive() {
for (DBObjectFilter<D> filter : filters) {
if (filter.isActive())
return true;
}
return false;
}
public boolean Validate(D object) {
if (!isActive()){
if (!isActive()) {
//считаем без учета результатов
for (DBObjectFilter<D> filter : filters)
filter.Validate(object);
return true;
}
boolean res = false;