From 6af0df783500b00e3235357bf78c838edc07c81c Mon Sep 17 00:00:00 2001 From: 02090095 Date: Mon, 21 Oct 2024 12:32:20 +0300 Subject: [PATCH] no message --- .idea/workspace.xml | 28 +++++++++------- src/Common/Database/Tables/DataSet.java | 5 +-- .../Visual/DBObjectFilterInterface.java | 6 ++++ src/Common/Visual/DataSetControlForm.java | 4 ++- src/Common/Visual/DataSetFiltersMenu.java | 33 +++++++++---------- ...ectFilter.java => FilterFlagMenuItem.java} | 7 ++-- .../Common/Group/GroupsDBTable.java | 1 - .../Common/Group/UI/GroupsForm.java | 15 ++++----- .../DVM/DVMPackage/DVMPackageDBTable.java | 2 -- .../DVM/DVMPackage/UI/DVMPackagesForm.java | 15 +++++---- .../DVM/DVMTasks/UI/DVMRunTasksForm.java | 6 ++-- .../SapforPackage/SapforPackageDBTable.java | 2 -- .../SapforPackage/UI/SapforPackagesForm.java | 15 +++++---- 13 files changed, 71 insertions(+), 68 deletions(-) create mode 100644 src/Common/Visual/DBObjectFilterInterface.java rename src/Common/Visual/{DBObjectFilter.java => FilterFlagMenuItem.java} (86%) diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 455b133b..943725de 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -7,16 +7,20 @@ + - - - - - - - + + + + + + - + + + + + @@ -115,11 +119,11 @@ + + + - - - diff --git a/src/Common/Database/Tables/DataSet.java b/src/Common/Database/Tables/DataSet.java index 6115ae15..16abc7a9 100644 --- a/src/Common/Database/Tables/DataSet.java +++ b/src/Common/Database/Tables/DataSet.java @@ -27,7 +27,7 @@ public class DataSet extends DataSetAnchestor { d = d_in; Name = d.getSimpleName(); } - public DataSetControlForm getUI() { + public DataSetControlForm getUI() { return ui; } public void mountUI(JPanel mountPanel_in) { @@ -114,9 +114,6 @@ public class DataSet extends DataSetAnchestor { public D get(Object key) { return Data.get(key); } - //public Object getFieldAt(D object, int columnIndex) { - // return null; - // } public void clear() { Data.clear(); } diff --git a/src/Common/Visual/DBObjectFilterInterface.java b/src/Common/Visual/DBObjectFilterInterface.java new file mode 100644 index 00000000..67e5e533 --- /dev/null +++ b/src/Common/Visual/DBObjectFilterInterface.java @@ -0,0 +1,6 @@ +package Common.Visual; +import Common.Database.Objects.DBObject; +public interface DBObjectFilterInterface { + boolean Validate(D dbObject); + //------- +} diff --git a/src/Common/Visual/DataSetControlForm.java b/src/Common/Visual/DataSetControlForm.java index 598852db..468ad2ab 100644 --- a/src/Common/Visual/DataSetControlForm.java +++ b/src/Common/Visual/DataSetControlForm.java @@ -34,6 +34,8 @@ public class DataSetControlForm extends ControlForm columns = new Vector<>(); //информация о столбцах и их оформлении protected Vector filtersMenus = new Vector<>(); //выпадающие меню фильтрации protected LinkedHashMap headersTextFilters = new LinkedHashMap<>(); //текстовые фильтры столбцов + + //фильтры и подсчеты. todo слить с баром (?) MatchesCounter f_ui = null; //-- @@ -60,7 +62,7 @@ public class DataSetControlForm extends ControlForm { +public abstract class DataSetFiltersMenu extends VisualiserMenu implements DBObjectFilterInterface { //-- protected DataSet dataSet; - protected Vector> field_filters; - VisualiserMenu menu = null; + protected Vector> field_filters; public DataSetFiltersMenu(String name, DataSet dataSet_in) { + super(name, "/Common/icons/Filter.png", true); dataSet = dataSet_in; - menu = new VisualiserMenu(name, "/Common/icons/Filter.png", true); field_filters = new Vector<>(); fill(); //- - for (DBObjectFilter filter : field_filters) - menu.add(filter.menuItem); - menu.addSeparator(); - menu.add(new StableMenuItem("Выбрать всё", "/Common/icons/SelectAll.png") { + for (FilterFlagMenuItem filter : field_filters) + add(filter.menuItem); + addSeparator(); + add(new StableMenuItem("Выбрать всё", "/Common/icons/SelectAll.png") { { addActionListener(new ActionListener() { @Override @@ -32,7 +31,7 @@ public abstract class DataSetFiltersMenu { }); } }); - menu.add(new StableMenuItem("Отменить всё", "/Common/icons/UnselectAll.png") { + add(new StableMenuItem("Отменить всё", "/Common/icons/UnselectAll.png") { { addActionListener(new ActionListener() { @Override @@ -44,38 +43,36 @@ public abstract class DataSetFiltersMenu { } }); } - public VisualiserMenu getMenu() { - return menu; - } void selectAll(boolean flag) { - for (DBObjectFilter filter : field_filters) + for (FilterFlagMenuItem filter : field_filters) filter.setActive(flag); } public abstract void fill(); public void Drop() { - for (DBObjectFilter filter : field_filters) + for (FilterFlagMenuItem filter : field_filters) filter.Drop(); } public void Refresh() { - for (DBObjectFilter filter : field_filters) + for (FilterFlagMenuItem filter : field_filters) filter.Refresh(); } public boolean isActive() { - for (DBObjectFilter filter : field_filters) { + for (FilterFlagMenuItem filter : field_filters) { if (filter.isActive()) return true; } return false; } + @Override public boolean Validate(D object) { if (!isActive()) { //считаем без учета результатов - for (DBObjectFilter filter : field_filters) + for (FilterFlagMenuItem filter : field_filters) filter.Validate(object); return true; } boolean res = false; - for (DBObjectFilter filter : field_filters) + for (FilterFlagMenuItem filter : field_filters) if (filter.Validate(object)) res |= true; return res; diff --git a/src/Common/Visual/DBObjectFilter.java b/src/Common/Visual/FilterFlagMenuItem.java similarity index 86% rename from src/Common/Visual/DBObjectFilter.java rename to src/Common/Visual/FilterFlagMenuItem.java index 2b78a628..4b4a4dba 100644 --- a/src/Common/Visual/DBObjectFilter.java +++ b/src/Common/Visual/FilterFlagMenuItem.java @@ -6,13 +6,13 @@ import Common.Visual.Controls.StableMenuItem; import javax.swing.*; //одиночный фильтр, пункт фильтрационного меню. -public abstract class DBObjectFilter { +public abstract class FilterFlagMenuItem implements DBObjectFilterInterface{ public JMenuItem menuItem; //пункт меню фильтра. ( возможно потом сделать и кнопку) //-- String description; boolean active = true; //включен ли фильтр int count = 0; - public DBObjectFilter(DataSet dataSet, String description_in, boolean active_in) { + public FilterFlagMenuItem(DataSet dataSet, String description_in, boolean active_in) { menuItem = new StableMenuItem((description = description_in) + " (0)"); active = active_in; menuItem.addActionListener(e -> { @@ -22,7 +22,7 @@ public abstract class DBObjectFilter { }); Mark(); } - public DBObjectFilter(DataSet dataSet, String description_in) { + public FilterFlagMenuItem(DataSet dataSet, String description_in) { this(dataSet, description_in, true); } //-- @@ -36,6 +36,7 @@ public abstract class DBObjectFilter { menuItem.setIcon(Utils_.getIcon(active ? getActiveIconPath() : getNotActiveIconPath())); } //------- + @Override public boolean Validate(D object) { boolean valid = validate(object); if (valid) diff --git a/src/_VisualDVM/TestingSystem/Common/Group/GroupsDBTable.java b/src/_VisualDVM/TestingSystem/Common/Group/GroupsDBTable.java index 2a2eade1..6ffbc90b 100644 --- a/src/_VisualDVM/TestingSystem/Common/Group/GroupsDBTable.java +++ b/src/_VisualDVM/TestingSystem/Common/Group/GroupsDBTable.java @@ -20,7 +20,6 @@ import javax.swing.*; import java.util.LinkedHashMap; //- public class GroupsDBTable extends iDBTable { - public static boolean filterMyOnly = false; public GroupsDBTable() { super(Group.class); } diff --git a/src/_VisualDVM/TestingSystem/Common/Group/UI/GroupsForm.java b/src/_VisualDVM/TestingSystem/Common/Group/UI/GroupsForm.java index 5193f7a3..6abab91b 100644 --- a/src/_VisualDVM/TestingSystem/Common/Group/UI/GroupsForm.java +++ b/src/_VisualDVM/TestingSystem/Common/Group/UI/GroupsForm.java @@ -2,20 +2,19 @@ package _VisualDVM.TestingSystem.Common.Group.UI; import Common.Database.Tables.DataSet; import Common.Utils.Utils_; import Common.Visual.Controls.MenuBarButton; -import Common.Visual.DBObjectFilter; +import Common.Visual.FilterFlagMenuItem; import Common.Visual.DataSetControlForm; import Common.Visual.DataSetFiltersMenu; import Common.Visual.Menus.DataMenuBar; -import Common.Visual.Tables.HeaderTextFilter; import _VisualDVM.Global; import _VisualDVM.Passes.PassCode; import _VisualDVM.ProjectData.LanguageName; import _VisualDVM.TestingSystem.Common.Group.Group; -import _VisualDVM.TestingSystem.Common.Group.GroupsDBTable; import _VisualDVM.TestingSystem.Common.Test.TestType; import javax.swing.*; public class GroupsForm extends DataSetControlForm { + public static boolean filterMyOnly = false; public GroupsForm(DataSet dataSource_in, JPanel mountPanel_in) { super(dataSource_in, mountPanel_in); } @@ -50,7 +49,7 @@ public class GroupsForm extends DataSetControlForm { @Override public boolean isObjectVisible(Group object) { return super.isObjectVisible(object) && - (!GroupsDBTable.filterMyOnly || Global.mainModule.getAccount().email.equals(object.sender_address)) && + (!filterMyOnly || Global.mainModule.getAccount().email.equals(object.sender_address)) && Global.testingServer.db.groups.getUI().ApplyFilters(object); } @Override @@ -68,13 +67,13 @@ public class GroupsForm extends DataSetControlForm { setToolTipText("Отображать только группы тестов авторства пользователя"); Mark(); addActionListener(e -> { - GroupsDBTable.filterMyOnly = !GroupsDBTable.filterMyOnly; + filterMyOnly = !filterMyOnly; Mark(); Global.testingServer.db.groups.ShowUI(); }); } public void Mark() { - setIcon(Utils_.getIcon(GroupsDBTable.filterMyOnly ? "/Common/icons/Pick.png" : "/Common/icons/NotPick.png")); + setIcon(Utils_.getIcon(filterMyOnly ? "/Common/icons/Pick.png" : "/Common/icons/NotPick.png")); } }); } @@ -86,7 +85,7 @@ public class GroupsForm extends DataSetControlForm { @Override public void fill() { for (TestType type : TestType.values()) - field_filters.add(new Common.Visual.DBObjectFilter(dataSet, type.getDescription()) { + field_filters.add(new FilterFlagMenuItem(dataSet, type.getDescription()) { @Override protected boolean validate(Group object) { return object.type.equals(type); @@ -98,7 +97,7 @@ public class GroupsForm extends DataSetControlForm { @Override public void fill() { for (LanguageName languageName : LanguageName.values()) { - field_filters.add(new DBObjectFilter(dataSet, languageName.getDescription()) { + field_filters.add(new FilterFlagMenuItem(dataSet, languageName.getDescription()) { @Override protected boolean validate(Group object) { return object.language.equals(languageName); diff --git a/src/_VisualDVM/TestingSystem/DVM/DVMPackage/DVMPackageDBTable.java b/src/_VisualDVM/TestingSystem/DVM/DVMPackage/DVMPackageDBTable.java index ee5ddc6e..79d73dc4 100644 --- a/src/_VisualDVM/TestingSystem/DVM/DVMPackage/DVMPackageDBTable.java +++ b/src/_VisualDVM/TestingSystem/DVM/DVMPackage/DVMPackageDBTable.java @@ -8,8 +8,6 @@ import _VisualDVM.TestingSystem.DVM.DVMPackage.UI.DVMPackagesForm; import javax.swing.*; public class DVMPackageDBTable extends iDBTable { - public static boolean filterMyOnly = false; - public static boolean filterActive = false; public DVMPackageDBTable() { super(DVMPackage.class); } diff --git a/src/_VisualDVM/TestingSystem/DVM/DVMPackage/UI/DVMPackagesForm.java b/src/_VisualDVM/TestingSystem/DVM/DVMPackage/UI/DVMPackagesForm.java index 8dc5008e..a9afe396 100644 --- a/src/_VisualDVM/TestingSystem/DVM/DVMPackage/UI/DVMPackagesForm.java +++ b/src/_VisualDVM/TestingSystem/DVM/DVMPackage/UI/DVMPackagesForm.java @@ -13,12 +13,13 @@ import _VisualDVM.Passes.PassCode; import _VisualDVM.ServerObjectsCache.PackageCache; import _VisualDVM.ServerObjectsCache.VisualCaches; import _VisualDVM.TestingSystem.DVM.DVMPackage.DVMPackage; -import _VisualDVM.TestingSystem.DVM.DVMPackage.DVMPackageDBTable; import javax.swing.*; import java.util.Comparator; import java.util.Date; public class DVMPackagesForm extends DataSetControlForm { + public static boolean filterMyOnly = false; + public static boolean filterActive = false; public DVMPackagesForm(DataSet dataSource_in, JPanel mountPanel_in) { super(dataSource_in, mountPanel_in); } @@ -116,13 +117,13 @@ public class DVMPackagesForm extends DataSetControlForm { setToolTipText("Отображать только пакеты тестов авторства пользователя"); Mark(); addActionListener(e -> { - DVMPackageDBTable.filterMyOnly = !DVMPackageDBTable.filterMyOnly; + filterMyOnly = !filterMyOnly; Mark(); Global.testingServer.db.dvmPackages.ShowUI(); }); } public void Mark() { - setIcon(Utils_.getIcon(DVMPackageDBTable.filterMyOnly ? "/Common/icons/Pick.png" : "/Common/icons/NotPick.png")); + setIcon(Utils_.getIcon(filterMyOnly ? "/Common/icons/Pick.png" : "/Common/icons/NotPick.png")); } }); add(new MenuBarButton() { @@ -131,13 +132,13 @@ public class DVMPackagesForm extends DataSetControlForm { setToolTipText("Отображать только активные пакеты тестов"); Mark(); addActionListener(e -> { - DVMPackageDBTable.filterActive = !DVMPackageDBTable.filterActive; + filterActive = !filterActive; Mark(); Global.testingServer.db.dvmPackages.ShowUI(); }); } public void Mark() { - setIcon(Utils_.getIcon(DVMPackageDBTable.filterActive ? "/Common/icons/Pick.png" : "/Common/icons/NotPick.png")); + setIcon(Utils_.getIcon(filterActive ? "/Common/icons/Pick.png" : "/Common/icons/NotPick.png")); } }); } @@ -154,7 +155,7 @@ public class DVMPackagesForm extends DataSetControlForm { } @Override public boolean isObjectVisible(DVMPackage object) { - return super.isObjectVisible(object) && (!DVMPackageDBTable.filterMyOnly || Global.mainModule.getAccount().email.equals(object.sender_address)) && - (!DVMPackageDBTable.filterActive || object.state.isActive()); + return super.isObjectVisible(object) && (!filterMyOnly || Global.mainModule.getAccount().email.equals(object.sender_address)) && + (!filterActive || object.state.isActive()); } } diff --git a/src/_VisualDVM/TestingSystem/DVM/DVMTasks/UI/DVMRunTasksForm.java b/src/_VisualDVM/TestingSystem/DVM/DVMTasks/UI/DVMRunTasksForm.java index 0ea2af8e..3cb0e2d3 100644 --- a/src/_VisualDVM/TestingSystem/DVM/DVMTasks/UI/DVMRunTasksForm.java +++ b/src/_VisualDVM/TestingSystem/DVM/DVMTasks/UI/DVMRunTasksForm.java @@ -1,6 +1,6 @@ package _VisualDVM.TestingSystem.DVM.DVMTasks.UI; import Common.Database.Tables.DataSet; -import Common.Visual.DBObjectFilter; +import Common.Visual.FilterFlagMenuItem; import Common.Visual.DataSetControlForm; import Common.Visual.DataSetFiltersMenu; import Common.Visual.Menus.DataMenuBar; @@ -86,7 +86,7 @@ public class DVMRunTasksForm extends DataSetControlForm { public void fill() { for (TaskState state : TaskState.values()) { if (state.isVisible()) { - field_filters.add(new DBObjectFilter(dataSet, state.getDescription()) { + field_filters.add(new FilterFlagMenuItem(dataSet, state.getDescription()) { @Override protected boolean validate(DVMRunTask object) { return object.compilation_state.equals(state); @@ -101,7 +101,7 @@ public class DVMRunTasksForm extends DataSetControlForm { public void fill() { for (TaskState state : TaskState.values()) { if (state.isVisible()) { - field_filters.add(new DBObjectFilter(dataSet, state.getDescription()) { + field_filters.add(new FilterFlagMenuItem(dataSet, state.getDescription()) { @Override protected boolean validate(DVMRunTask object) { return object.state.equals(state); diff --git a/src/_VisualDVM/TestingSystem/SAPFOR/SapforPackage/SapforPackageDBTable.java b/src/_VisualDVM/TestingSystem/SAPFOR/SapforPackage/SapforPackageDBTable.java index 0b1028f0..c87f02d8 100644 --- a/src/_VisualDVM/TestingSystem/SAPFOR/SapforPackage/SapforPackageDBTable.java +++ b/src/_VisualDVM/TestingSystem/SAPFOR/SapforPackage/SapforPackageDBTable.java @@ -8,8 +8,6 @@ import _VisualDVM.TestingSystem.SAPFOR.SapforPackage.UI.SapforPackagesForm; import javax.swing.*; public class SapforPackageDBTable extends iDBTable { - public static boolean filterMyOnly = false; - public static boolean filterActive = false; public SapforPackageDBTable() { super(SapforPackage.class); } diff --git a/src/_VisualDVM/TestingSystem/SAPFOR/SapforPackage/UI/SapforPackagesForm.java b/src/_VisualDVM/TestingSystem/SAPFOR/SapforPackage/UI/SapforPackagesForm.java index 1ec85b0f..132efcb8 100644 --- a/src/_VisualDVM/TestingSystem/SAPFOR/SapforPackage/UI/SapforPackagesForm.java +++ b/src/_VisualDVM/TestingSystem/SAPFOR/SapforPackage/UI/SapforPackagesForm.java @@ -13,12 +13,13 @@ import _VisualDVM.Passes.PassCode; import _VisualDVM.ServerObjectsCache.PackageCache; import _VisualDVM.ServerObjectsCache.VisualCaches; import _VisualDVM.TestingSystem.SAPFOR.SapforPackage.SapforPackage; -import _VisualDVM.TestingSystem.SAPFOR.SapforPackage.SapforPackageDBTable; import javax.swing.*; import java.util.Comparator; import java.util.Date; public class SapforPackagesForm extends DataSetControlForm { + public static boolean filterMyOnly = false; + public static boolean filterActive = false; public SapforPackagesForm(DataSet dataSource_in, JPanel mountPanel_in) { super(dataSource_in, mountPanel_in); } @@ -95,13 +96,13 @@ public class SapforPackagesForm extends DataSetControlForm { setToolTipText("Отображать только пакеты тестов авторства пользователя"); Mark(); addActionListener(e -> { - SapforPackageDBTable.filterMyOnly = !SapforPackageDBTable.filterMyOnly; + filterMyOnly = !filterMyOnly; Mark(); Global.testingServer.db.sapforPackages.ShowUI(); }); } public void Mark() { - setIcon(Utils_.getIcon(SapforPackageDBTable.filterMyOnly ? "/Common/icons/Pick.png" : "/Common/icons/NotPick.png")); + setIcon(Utils_.getIcon(filterMyOnly ? "/Common/icons/Pick.png" : "/Common/icons/NotPick.png")); } }); add(new MenuBarButton() { @@ -110,13 +111,13 @@ public class SapforPackagesForm extends DataSetControlForm { setToolTipText("Отображать только активные пакеты тестов"); Mark(); addActionListener(e -> { - SapforPackageDBTable.filterActive = !SapforPackageDBTable.filterActive; + filterActive = !filterActive; Mark(); Global.testingServer.db.sapforPackages.ShowUI(); }); } public void Mark() { - setIcon(Utils_.getIcon(SapforPackageDBTable.filterActive ? "/Common/icons/Pick.png" : "/Common/icons/NotPick.png")); + setIcon(Utils_.getIcon(filterActive ? "/Common/icons/Pick.png" : "/Common/icons/NotPick.png")); } }); } @@ -134,7 +135,7 @@ public class SapforPackagesForm extends DataSetControlForm { @Override public boolean isObjectVisible(SapforPackage object) { return super.isObjectVisible(object) && - (!SapforPackageDBTable.filterMyOnly || Global.mainModule.getAccount().email.equals(object.sender_address)) && - (!SapforPackageDBTable.filterActive || object.state.isActive()); + (!filterMyOnly || Global.mainModule.getAccount().email.equals(object.sender_address)) && + (!filterActive || object.state.isActive()); } }