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

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);