v++
рефактиринг фильтров завершен.
This commit is contained in:
@@ -5,18 +5,6 @@ import Visual_DVM_2021.Passes.PassCode_2021;
|
||||
|
||||
import javax.swing.*;
|
||||
public class DVMRunTasksBar extends DataMenuBar {
|
||||
JMenuBar filters= null;
|
||||
public void DropFilters() {
|
||||
if (filters != null) {
|
||||
remove(filters);
|
||||
filters = null;
|
||||
}
|
||||
revalidate();
|
||||
repaint();
|
||||
}
|
||||
public void addFilters(JMenu cFilterMenu, JMenu rFilterMenu) {
|
||||
filters= addMenus(cFilterMenu, rFilterMenu);
|
||||
}
|
||||
public DVMRunTasksBar() {
|
||||
super("задачи", PassCode_2021.DownloadTaskTest);
|
||||
}
|
||||
|
||||
@@ -1,116 +1,52 @@
|
||||
package TestingSystem.DVM.DVMTasks;
|
||||
import Common.Current;
|
||||
import Common.Database.DataSet;
|
||||
import Common.Database.DBObjectFilter;
|
||||
import Common.Database.DataSet;
|
||||
import Common.Database.DataSetFilter;
|
||||
import Common.UI.DataSetControlForm;
|
||||
import Common.UI.Menus_2023.VisualiserMenu;
|
||||
import Common.UI.UI;
|
||||
import GlobalData.Tasks.TaskState;
|
||||
import TestingSystem.DVM.DVMPackage.DVMPackage;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.util.Vector;
|
||||
|
||||
import static Common.UI.Tables.TableRenderers.RendererProgress;
|
||||
import static Common.UI.Tables.TableRenderers.RendererStatusEnum;
|
||||
public class DVMRunTasksSet extends DataSet<Integer, DVMRunTask> {
|
||||
//todo обобщить бы наличие фильтров для всех таблиц.
|
||||
public Vector<DBObjectFilter<DVMRunTask>> compilationFilters;
|
||||
public Vector<DBObjectFilter<DVMRunTask>> runFilters;
|
||||
DVMPackage target;
|
||||
@Override
|
||||
protected void createFilters() {
|
||||
filters.add(new DataSetFilter<DVMRunTask>("Компиляция", this) {
|
||||
@Override
|
||||
public void fill() {
|
||||
for (TaskState state : TaskState.values()) {
|
||||
if (state.isVisible()) {
|
||||
field_filters.add(new DBObjectFilter<DVMRunTask>(dataSet, state.getDescription()) {
|
||||
@Override
|
||||
protected boolean validate(DVMRunTask object) {
|
||||
return object.compilation_state.equals(state);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
filters.add(new DataSetFilter<DVMRunTask>("Запуск", this) {
|
||||
@Override
|
||||
public void fill() {
|
||||
for (TaskState state : TaskState.values()) {
|
||||
if (state.isVisible()) {
|
||||
field_filters.add(new DBObjectFilter<DVMRunTask>(dataSet, state.getDescription()) {
|
||||
@Override
|
||||
protected boolean validate(DVMRunTask object) {
|
||||
return object.state.equals(state);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
public DVMRunTasksSet() {
|
||||
super(Integer.class, DVMRunTask.class);
|
||||
//todo обобщить бы наличие фильтров для всех таблиц.
|
||||
if (Current.hasUI()) {
|
||||
compilationFilters = new Vector<>();
|
||||
runFilters = new Vector<>();
|
||||
//--
|
||||
for (TaskState state : TaskState.values()) {
|
||||
if (state.isVisible()) {
|
||||
compilationFilters.add(new DBObjectFilter<DVMRunTask>(this, state.getDescription()) {
|
||||
@Override
|
||||
protected boolean validate(DVMRunTask object) {
|
||||
return object.compilation_state.equals(state);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
//--
|
||||
for (TaskState state : TaskState.values()) {
|
||||
if (state.isVisible()) {
|
||||
runFilters.add(new DBObjectFilter<DVMRunTask>(this, state.getDescription()) {
|
||||
@Override
|
||||
protected boolean validate(DVMRunTask object) {
|
||||
return object.state.equals(state);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
public void ResetFiltersCount() {
|
||||
for (DBObjectFilter<DVMRunTask> filter : compilationFilters)
|
||||
filter.Drop();
|
||||
for (DBObjectFilter<DVMRunTask> filter : runFilters)
|
||||
filter.Drop();
|
||||
}
|
||||
public void ShowFiltersCount() {
|
||||
for (DBObjectFilter<DVMRunTask> filter : compilationFilters) {
|
||||
filter.Refresh();
|
||||
}
|
||||
for (DBObjectFilter<DVMRunTask> filter : runFilters) {
|
||||
filter.Refresh();
|
||||
}
|
||||
}
|
||||
public boolean applyFilters(DVMRunTask object) {
|
||||
boolean compilation = false;
|
||||
//возвращать сразу нельзя. иначе количество не посчитает.
|
||||
for (DBObjectFilter filter : compilationFilters) {
|
||||
if (filter.Validate(object)) {
|
||||
compilation |= true;
|
||||
}
|
||||
}
|
||||
boolean run = false;
|
||||
for (DBObjectFilter filter : runFilters) {
|
||||
if (filter.Validate(object)) {
|
||||
run |= true;
|
||||
}
|
||||
}
|
||||
return compilation && run;
|
||||
}
|
||||
@Override
|
||||
public void mountUI(JPanel content_in) {
|
||||
super.mountUI(content_in);
|
||||
//-
|
||||
DVMRunTasksBar menuBar = (DVMRunTasksBar) UI.menuBars.get(getClass());
|
||||
menuBar.DropFilters();
|
||||
//----
|
||||
menuBar.addFilters(
|
||||
new VisualiserMenu("Компиляция", "/icons/Filter.png", true) {
|
||||
{
|
||||
for (DBObjectFilter filter : compilationFilters)
|
||||
add(filter.menuItem);
|
||||
}
|
||||
},
|
||||
new VisualiserMenu("Запуск", "/icons/Filter.png", true) {
|
||||
{
|
||||
for (DBObjectFilter filter : runFilters)
|
||||
add(filter.menuItem);
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
@Override
|
||||
public void ShowUI() {
|
||||
ResetFiltersCount();
|
||||
super.ShowUI();
|
||||
ShowFiltersCount();
|
||||
}
|
||||
@Override
|
||||
public void ShowUI(Object key) {
|
||||
ResetFiltersCount();
|
||||
super.ShowUI(key);
|
||||
ShowFiltersCount();
|
||||
}
|
||||
@Override
|
||||
public String getSingleDescription() {
|
||||
|
||||
Reference in New Issue
Block a user