пока завершение рефакторинга и обощения фильтров

This commit is contained in:
2024-10-22 01:35:30 +03:00
parent 20044315fb
commit 348b7602ff
10 changed files with 104 additions and 107 deletions

View File

@@ -7,6 +7,7 @@ import Common.Database.Tables.DataSet;
import Common.Database.Tables.FKBehaviour;
import Common.MainModule_;
import Common.Utils.Utils_;
import Common.Visual.Controls.MenuBarButton;
import Common.Visual.Menus.DataMenuBar;
import Common.Visual.Menus.TableMenu;
import Common.Visual.Tables.*;
@@ -43,12 +44,12 @@ public class DataSetControlForm<D extends DBObject> extends ControlForm<DataTabl
}
return res;
}
public void AddFilter(DBObjectFilter_ filter_in){
public void AddFilter(DBObjectFilter_<D> filter_in){
allFilters.add(filter_in);
}
//---
//фильтры и подсчеты. todo слить с баром (?)
MatchesCounter f_ui = null;
MatchesCounter counter_ui = null;
//--
Object savedCurrentKey = null;
Vector<Object> savedSelectedKeys = new Vector<>();
@@ -70,11 +71,16 @@ public class DataSetControlForm<D extends DBObject> extends ControlForm<DataTabl
}
mountPanel.add(bar, BorderLayout.NORTH);
//--
f_ui = (count -> bar.countLabel.setText(String.valueOf(count)));
//todo возможно улушить объект бара
counter_ui = (count -> bar.countLabel.setText(String.valueOf(count)));
//--фильтры всегда в конец бара.
bar.add(new JSeparator());
for (FilterFlag filter : getFilters(FilterFlag.class)) {
bar.add(filter.getControl());
}
for (JMenu filter : getFilters(DataSetFiltersMenu.class)) {
bar.addMenus(filter);
}
//------------------------
} catch (Exception ex) {
ex.printStackTrace();
}
@@ -342,7 +348,7 @@ public class DataSetControlForm<D extends DBObject> extends ControlForm<DataTabl
}
protected boolean ApplyFilters(D object) {
for (DBObjectFilter_ filterInterface: allFilters){
if (!filterInterface.Validate(object))
if (!filterInterface.Validate(object)) //??
return false;
}
return true;
@@ -355,7 +361,7 @@ public class DataSetControlForm<D extends DBObject> extends ControlForm<DataTabl
public void Show() {
for (DBObjectFilter_ filter_ : allFilters) filter_.DropMatchesCount();
super.Show();
if (f_ui != null) f_ui.ShowMatchesCount(getRowCount());
if (counter_ui != null) counter_ui.ShowMatchesCount(getRowCount());
for (DBObjectFilter_ filter_ : allFilters) filter_.ShowMatchesCount();
}
public void Show(Object pk) {
@@ -372,7 +378,7 @@ public class DataSetControlForm<D extends DBObject> extends ControlForm<DataTabl
@Override
public void Clear() {
super.Clear();
if (f_ui != null) f_ui.ShowNoMatches();
if (counter_ui != null) counter_ui.ShowNoMatches();
}
public int getRowCount() {
return control.getRowCount();