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

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

@@ -1,10 +1,12 @@
package _VisualDVM.TestingSystem.Common.Group.UI;
import Common.Database.Tables.DataSet;
import Common.Utils.Utils_;
import Common.Visual.Controls.MenuBarButton;
import Common.Visual.FilterFlagMenuItem;
import Common.Visual.Controls.StableMenuItem;
import Common.Visual.DataSetControlForm;
import Common.Visual.DataSetFiltersMenu;
import Common.Visual.FilterFlag;
import Common.Visual.FilterMenuFlag;
import Common.Visual.Fonts.VisualiserFonts;
import Common.Visual.Menus.DataMenuBar;
import _VisualDVM.Global;
import _VisualDVM.Passes.PassCode;
@@ -47,11 +49,6 @@ public class GroupsForm extends DataSetControlForm<Group> {
}
}
@Override
public boolean isObjectVisible(Group object) {
return super.isObjectVisible(object) &&
(!filterMyOnly || Global.mainModule.getAccount().email.equals(object.sender_address));
}
@Override
public DataMenuBar createMenuBar() {
return new DataMenuBar(dataSource.getPluralDescription(),
PassCode.SynchronizeTests,
@@ -59,32 +56,27 @@ public class GroupsForm extends DataSetControlForm<Group> {
{
addMenus(new AddGroupMenu(), new EditGroupMenu());
addPasses(PassCode.DeleteGroup);
add(new JSeparator());
add(new MenuBarButton() {
{
setText("Свои");
setToolTipText("Отображать только группы тестов авторства пользователя");
Mark();
addActionListener(e -> {
filterMyOnly = !filterMyOnly;
Mark();
Global.testingServer.db.groups.ShowUI();
});
}
public void Mark() {
setIcon(Utils_.getIcon(filterMyOnly ? "/Common/icons/Pick.png" : "/Common/icons/NotPick.png"));
}
});
}
};
}
@Override
protected void createFilters() {
AddFilter(new FilterFlag<Group>(dataSource, new MenuBarButton() {
{
setText("Свои");
setToolTipText("Отображать только группы тестов авторства пользователя");
}
}, false) {
@Override
protected boolean validate(Group object) {
return Global.mainModule.getAccount().email.equals(object.sender_address);
}
});
AddFilter(new DataSetFiltersMenu<Group>("Тип", dataSource) {
@Override
public void fill() {
for (TestType type : TestType.values())
field_filters.add(new FilterFlagMenuItem<Group>(dataSet, type.getDescription(), true) {
field_filters.add(new FilterMenuFlag<Group>(dataSource, new StableMenuItem(type.getDescription()), true) {
@Override
protected boolean validate(Group object) {
return object.type.equals(type);
@@ -96,7 +88,7 @@ public class GroupsForm extends DataSetControlForm<Group> {
@Override
public void fill() {
for (LanguageName languageName : LanguageName.values()) {
field_filters.add(new FilterFlagMenuItem<Group>(dataSet, languageName.getDescription(), true) {
field_filters.add(new FilterMenuFlag<Group>(dataSource, new StableMenuItem(languageName.getDescription()), true) {
@Override
protected boolean validate(Group object) {
return object.language.equals(languageName);

View File

@@ -3,6 +3,8 @@ import Common.Database.Tables.DataSet;
import Common.Utils.Utils_;
import Common.Visual.Controls.MenuBarButton;
import Common.Visual.DataSetControlForm;
import Common.Visual.FilterFlag;
import Common.Visual.Fonts.VisualiserFonts;
import Common.Visual.Menus.DataMenuBar;
import Common.Visual.Tables.RendererDate;
import Common.Visual.Tables.RendererMultiline;
@@ -12,6 +14,8 @@ import _VisualDVM.Global;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.ServerObjectsCache.PackageCache;
import _VisualDVM.ServerObjectsCache.VisualCaches;
import _VisualDVM.TestingSystem.Common.Group.Group;
import _VisualDVM.TestingSystem.Common.Test.Test;
import _VisualDVM.TestingSystem.DVM.DVMPackage.DVMPackage;
import javax.swing.*;
@@ -110,39 +114,34 @@ public class DVMPackagesForm extends DataSetControlForm<DVMPackage> {
addPasses(PassCode.DownloadDVMPackage,
PassCode.ExportDVMPackageToExcel,
PassCode.DeleteDVMPackage);
add(new JSeparator());
add(new MenuBarButton() {
{
setText("Свои");
setToolTipText("Отображать только пакеты тестов авторства пользователя");
Mark();
addActionListener(e -> {
filterMyOnly = !filterMyOnly;
Mark();
Global.testingServer.db.dvmPackages.ShowUI();
});
}
public void Mark() {
setIcon(Utils_.getIcon(filterMyOnly ? "/Common/icons/Pick.png" : "/Common/icons/NotPick.png"));
}
});
add(new MenuBarButton() {
{
setText("Активные");
setToolTipText("Отображать только активные пакеты тестов");
Mark();
addActionListener(e -> {
filterActive = !filterActive;
Mark();
Global.testingServer.db.dvmPackages.ShowUI();
});
}
public void Mark() {
setIcon(Utils_.getIcon(filterActive ? "/Common/icons/Pick.png" : "/Common/icons/NotPick.png"));
}
});
}
};
}
@Override
protected void createFilters() {
AddFilter(new FilterFlag<DVMPackage>(dataSource, new MenuBarButton() {
{
setText("Свои");
setToolTipText("Отображать только пакеты тестов авторства пользователя");
}
}, false) {
@Override
protected boolean validate(DVMPackage object) {
return Global.mainModule.getAccount().email.equals(object.sender_address);
}
});
AddFilter(new FilterFlag<DVMPackage>(dataSource, new MenuBarButton() {
{
setText("Активные");
setToolTipText("Отображать только активные пакеты тестов");
}
}, false) {
@Override
protected boolean validate(DVMPackage object) {
return object.state.isActive();
}
});
}
@Override
protected Comparator<DVMPackage> getDefaultComparator() {

View File

@@ -1,12 +1,13 @@
package _VisualDVM.TestingSystem.DVM.DVMTasks.UI;
import Common.Database.Tables.DataSet;
import Common.Visual.FilterFlagMenuItem;
import Common.Visual.Controls.StableMenuItem;
import Common.Visual.DataSetControlForm;
import Common.Visual.DataSetFiltersMenu;
import Common.Visual.FilterFlag;
import Common.Visual.FilterMenuFlag;
import Common.Visual.Menus.DataMenuBar;
import Common.Visual.Tables.RendererProgressBar;
import Common.Visual.Tables.RendererStatusEnum;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Tasks.TaskState;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.TestingSystem.DVM.DVMTasks.DVMRunTask;
@@ -86,7 +87,7 @@ public class DVMRunTasksForm extends DataSetControlForm<DVMRunTask> {
public void fill() {
for (TaskState state : TaskState.values()) {
if (state.isVisible()) {
field_filters.add(new FilterFlagMenuItem<DVMRunTask>(dataSet, state.getDescription(), true) {
field_filters.add(new FilterMenuFlag<DVMRunTask>(dataSource, new StableMenuItem(state.getDescription()) , true) {
@Override
protected boolean validate(DVMRunTask object) {
return object.compilation_state.equals(state);
@@ -101,7 +102,7 @@ public class DVMRunTasksForm extends DataSetControlForm<DVMRunTask> {
public void fill() {
for (TaskState state : TaskState.values()) {
if (state.isVisible()) {
field_filters.add(new FilterFlagMenuItem<DVMRunTask>(dataSet, state.getDescription(), true) {
field_filters.add(new FilterMenuFlag<DVMRunTask>(dataSource,new StableMenuItem(state.getDescription()),true) {
@Override
protected boolean validate(DVMRunTask object) {
return object.state.equals(state);