v++
рефактиринг фильтров завершен.
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user