рефактиринг фильтров завершен.
This commit is contained in:
2023-12-26 20:37:20 +03:00
parent b21e25e932
commit 64073e8b15
7 changed files with 50 additions and 142 deletions

View File

@@ -1,5 +1,4 @@
package Common.Database;
import Common.UI.Menus.VisualiserMenuItem;
import Common.UI.Menus_2023.StableMenuItem;
import Common.UI.Menus_2023.VisualiserMenu;
@@ -14,14 +13,14 @@ public abstract class DataSetFilter<D extends DBObject> {
//JMenuItem bSelectAll;
//JMenuItem bUnSelectAll;
//--
protected Vector<DBObjectFilter<D>> filters;
protected Vector<DBObjectFilter<D>> field_filters;
public DataSetFilter(String name, DataSet dataSet_in) {
dataSet = dataSet_in;
menu = new VisualiserMenu(name, "/icons/Filter.png", true);
filters = new Vector<>();
field_filters = new Vector<>();
fill();
//-
for (DBObjectFilter<D> filter : filters)
for (DBObjectFilter<D> filter : field_filters)
menu.add(filter.menuItem);
menu.addSeparator();
menu.add(new StableMenuItem("Выбрать всё", "/icons/SelectAll.png") {
@@ -48,20 +47,20 @@ public abstract class DataSetFilter<D extends DBObject> {
});
}
void selectAll(boolean flag) {
for (DBObjectFilter filter : filters)
for (DBObjectFilter filter : field_filters)
filter.setActive(flag);
}
public abstract void fill();
public void Drop() {
for (DBObjectFilter<D> filter : filters)
for (DBObjectFilter<D> filter : field_filters)
filter.Drop();
}
public void Refresh() {
for (DBObjectFilter<D> filter : filters)
for (DBObjectFilter<D> filter : field_filters)
filter.Refresh();
}
public boolean isActive() {
for (DBObjectFilter<D> filter : filters) {
for (DBObjectFilter<D> filter : field_filters) {
if (filter.isActive())
return true;
}
@@ -70,12 +69,12 @@ public abstract class DataSetFilter<D extends DBObject> {
public boolean Validate(D object) {
if (!isActive()) {
//считаем без учета результатов
for (DBObjectFilter<D> filter : filters)
for (DBObjectFilter<D> filter : field_filters)
filter.Validate(object);
return true;
}
boolean res = false;
for (DBObjectFilter<D> filter : filters)
for (DBObjectFilter<D> filter : field_filters)
if (filter.Validate(object))
res |= true;
return res;