рефакторинг фильтров. обобщил их от интерфейса
This commit is contained in:
14
.idea/workspace.xml
generated
14
.idea/workspace.xml
generated
@@ -7,20 +7,16 @@
|
|||||||
</component>
|
</component>
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
|
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
|
||||||
<change afterPath="$PROJECT_DIR$/src/Common/Visual/DBObjectFilterInterface.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/properties" beforeDir="false" afterPath="$PROJECT_DIR$/properties" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/Common/Visual/DBObjectFilterInterface.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Visual/DBbjectFilter_.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/Common/Database/Tables/DataSet.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Database/Tables/DataSet.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/Common/Visual/DBObjectFilter.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Visual/FilterFlagMenuItem.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/Common/Visual/DataSetControlForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Visual/DataSetControlForm.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/Common/Visual/DataSetControlForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Visual/DataSetControlForm.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/Common/Visual/DataSetFiltersMenu.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Visual/DataSetFiltersMenu.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/Common/Visual/DataSetFiltersMenu.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Visual/DataSetFiltersMenu.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/Common/Group/GroupsDBTable.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/Common/Group/GroupsDBTable.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/Common/Visual/FilterFlagMenuItem.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Visual/FilterFlagMenuItem.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/Common/Visual/Tables/HeaderTextFilter.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Visual/Tables/HeaderTextFilter.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/Messages/MessagesControlForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/Messages/MessagesControlForm.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/Messages/Recommendations/UI/RecommendationsForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/Messages/Recommendations/UI/RecommendationsForm.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/Common/Group/UI/GroupsForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/Common/Group/UI/GroupsForm.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/Common/Group/UI/GroupsForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/Common/Group/UI/GroupsForm.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMPackage/DVMPackageDBTable.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMPackage/DVMPackageDBTable.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMPackage/UI/DVMPackagesForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMPackage/UI/DVMPackagesForm.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMTasks/UI/DVMRunTasksForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMTasks/UI/DVMRunTasksForm.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMTasks/UI/DVMRunTasksForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMTasks/UI/DVMRunTasksForm.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/SAPFOR/SapforPackage/SapforPackageDBTable.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/SAPFOR/SapforPackage/SapforPackageDBTable.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/SAPFOR/SapforPackage/UI/SapforPackagesForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/SAPFOR/SapforPackage/UI/SapforPackagesForm.java" afterDir="false" />
|
|
||||||
</list>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
|
|||||||
@@ -1,6 +0,0 @@
|
|||||||
package Common.Visual;
|
|
||||||
import Common.Database.Objects.DBObject;
|
|
||||||
public interface DBObjectFilterInterface<D extends DBObject> {
|
|
||||||
boolean Validate(D dbObject);
|
|
||||||
//-------
|
|
||||||
}
|
|
||||||
8
src/Common/Visual/DBbjectFilter_.java
Normal file
8
src/Common/Visual/DBbjectFilter_.java
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
package Common.Visual;
|
||||||
|
import Common.Database.Objects.DBObject;
|
||||||
|
public interface DBbjectFilter_<D extends DBObject> {
|
||||||
|
boolean Validate(D dbObject);
|
||||||
|
default void DropMatchesCount(){}
|
||||||
|
default void ShowMatchesCount(){}
|
||||||
|
//-------
|
||||||
|
}
|
||||||
@@ -21,7 +21,6 @@ import java.awt.event.MouseAdapter;
|
|||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import java.util.LinkedHashMap;
|
|
||||||
import java.util.Vector;
|
import java.util.Vector;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import java.util.stream.IntStream;
|
import java.util.stream.IntStream;
|
||||||
@@ -32,10 +31,22 @@ public class DataSetControlForm<D extends DBObject> extends ControlForm<DataTabl
|
|||||||
protected boolean events_on = true;
|
protected boolean events_on = true;
|
||||||
protected String colNamesAndSizes = "";
|
protected String colNamesAndSizes = "";
|
||||||
protected Vector<ColumnInfo> columns = new Vector<>(); //информация о столбцах и их оформлении
|
protected Vector<ColumnInfo> columns = new Vector<>(); //информация о столбцах и их оформлении
|
||||||
protected Vector<DataSetFiltersMenu> filtersMenus = new Vector<>(); //выпадающие меню фильтрации
|
//-
|
||||||
protected LinkedHashMap<Integer, HeaderTextFilter> headersTextFilters = new LinkedHashMap<>(); //текстовые фильтры столбцов
|
protected Vector<DBbjectFilter_<D>> allFilters = new Vector<>();
|
||||||
|
<M> Vector<M> getFilters(Class<M> f){
|
||||||
|
Vector<M> res = new Vector<>();
|
||||||
|
for (DBbjectFilter_ filter_: allFilters){
|
||||||
|
//либо М, либо наследует от М
|
||||||
|
if (filter_.getClass().equals(f)||filter_.getClass().getSuperclass().equals(f)){
|
||||||
|
res.add((M) filter_);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
public void AddFilter(DBbjectFilter_ filter_in){
|
||||||
|
allFilters.add(filter_in);
|
||||||
|
}
|
||||||
|
//---
|
||||||
//фильтры и подсчеты. todo слить с баром (?)
|
//фильтры и подсчеты. todo слить с баром (?)
|
||||||
MatchesCounter f_ui = null;
|
MatchesCounter f_ui = null;
|
||||||
//--
|
//--
|
||||||
@@ -46,6 +57,7 @@ public class DataSetControlForm<D extends DBObject> extends ControlForm<DataTabl
|
|||||||
super(DataTable.class, mountPanel_in);
|
super(DataTable.class, mountPanel_in);
|
||||||
dataSource = dataSource_in;
|
dataSource = dataSource_in;
|
||||||
createFilters();
|
createFilters();
|
||||||
|
//--
|
||||||
if (hasMenuBar()) {
|
if (hasMenuBar()) {
|
||||||
try {
|
try {
|
||||||
if (!MainModule_.instance.getUI().menuBars.containsKey(dataSource.getClass())) {
|
if (!MainModule_.instance.getUI().menuBars.containsKey(dataSource.getClass())) {
|
||||||
@@ -59,15 +71,15 @@ public class DataSetControlForm<D extends DBObject> extends ControlForm<DataTabl
|
|||||||
mountPanel.add(bar, BorderLayout.NORTH);
|
mountPanel.add(bar, BorderLayout.NORTH);
|
||||||
//--
|
//--
|
||||||
f_ui = (count -> bar.countLabel.setText(String.valueOf(count)));
|
f_ui = (count -> bar.countLabel.setText(String.valueOf(count)));
|
||||||
//--
|
//todo возможно улушить объект бара
|
||||||
if (!filtersMenus.isEmpty()) {
|
for (JMenu filter : getFilters(DataSetFiltersMenu.class)) {
|
||||||
for (DataSetFiltersMenu filter : filtersMenus)
|
bar.addMenus(filter);
|
||||||
bar.addMenus(filter);
|
|
||||||
}
|
}
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
System.out.println("found "+allFilters.size()+" filters for ui "+this.getClass().getSimpleName());
|
||||||
}
|
}
|
||||||
public ColumnInfo getColumnInfo(int i) {
|
public ColumnInfo getColumnInfo(int i) {
|
||||||
return columns.get(i);
|
return columns.get(i);
|
||||||
@@ -320,32 +332,20 @@ public class DataSetControlForm<D extends DBObject> extends ControlForm<DataTabl
|
|||||||
Utils_.MainLog.PrintException(e);
|
Utils_.MainLog.PrintException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (HeaderTextFilter filter : headersTextFilters.values()) {
|
for (HeaderTextFilter filter : getFilters(HeaderTextFilter.class))
|
||||||
filter.Mount(getControl());
|
filter.Mount(getControl());
|
||||||
}
|
|
||||||
}
|
}
|
||||||
protected DataMenuBar createMenuBar() {
|
protected DataMenuBar createMenuBar() {
|
||||||
return new DataMenuBar(dataSource.getPluralDescription());
|
return new DataMenuBar(dataSource.getPluralDescription());
|
||||||
}
|
}
|
||||||
protected void createFilters() {
|
protected void createFilters() {
|
||||||
}
|
}
|
||||||
protected boolean applyFiltersMenus(D object) {
|
|
||||||
for (DataSetFiltersMenu filterMenu : filtersMenus) {
|
|
||||||
if (!filterMenu.Validate(object))
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
protected boolean applyHeadersFilters(D object){
|
|
||||||
for (HeaderTextFilter headerTextFilter: headersTextFilters.values()){
|
|
||||||
if (!headerTextFilter.Validate(object))
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
public boolean ApplyFilters(D object) {
|
public boolean ApplyFilters(D object) {
|
||||||
//могут быть и другие фильтры ( например свои/активные). перенести их сюда и обобщить
|
for (DBbjectFilter_ filterInterface: allFilters){
|
||||||
return applyFiltersMenus(object)&&applyHeadersFilters(object);
|
if (!filterInterface.Validate(object))
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
protected void redrawControl() {
|
protected void redrawControl() {
|
||||||
@@ -353,10 +353,10 @@ public class DataSetControlForm<D extends DBObject> extends ControlForm<DataTabl
|
|||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void Show() {
|
public void Show() {
|
||||||
for (DataSetFiltersMenu filterMenu : filtersMenus) filterMenu.Drop();
|
for (DBbjectFilter_ filter_ : allFilters) filter_.DropMatchesCount();
|
||||||
super.Show();
|
super.Show();
|
||||||
if (f_ui != null) f_ui.ShowMatchesCount(getRowCount());
|
if (f_ui != null) f_ui.ShowMatchesCount(getRowCount());
|
||||||
for (DataSetFiltersMenu filterMenu : filtersMenus) filterMenu.Refresh();
|
for (DBbjectFilter_ filter_ : allFilters) filter_.ShowMatchesCount();
|
||||||
}
|
}
|
||||||
public void Show(Object pk) {
|
public void Show(Object pk) {
|
||||||
Show();
|
Show();
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import Common.Visual.Menus.VisualiserMenu;
|
|||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
import java.util.Vector;
|
import java.util.Vector;
|
||||||
public abstract class DataSetFiltersMenu<D extends DBObject> extends VisualiserMenu implements DBObjectFilterInterface<D> {
|
public abstract class DataSetFiltersMenu<D extends DBObject> extends VisualiserMenu implements DBbjectFilter_<D> {
|
||||||
//--
|
//--
|
||||||
protected DataSet<?, D> dataSet;
|
protected DataSet<?, D> dataSet;
|
||||||
protected Vector<FilterFlagMenuItem<D>> field_filters;
|
protected Vector<FilterFlagMenuItem<D>> field_filters;
|
||||||
@@ -43,26 +43,7 @@ public abstract class DataSetFiltersMenu<D extends DBObject> extends VisualiserM
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
void selectAll(boolean flag) {
|
//----
|
||||||
for (FilterFlagMenuItem filter : field_filters)
|
|
||||||
filter.setActive(flag);
|
|
||||||
}
|
|
||||||
public abstract void fill();
|
|
||||||
public void Drop() {
|
|
||||||
for (FilterFlagMenuItem<D> filter : field_filters)
|
|
||||||
filter.Drop();
|
|
||||||
}
|
|
||||||
public void Refresh() {
|
|
||||||
for (FilterFlagMenuItem<D> filter : field_filters)
|
|
||||||
filter.Refresh();
|
|
||||||
}
|
|
||||||
public boolean isActive() {
|
|
||||||
for (FilterFlagMenuItem<D> filter : field_filters) {
|
|
||||||
if (filter.isActive())
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
@Override
|
@Override
|
||||||
public boolean Validate(D object) {
|
public boolean Validate(D object) {
|
||||||
if (!isActive()) {
|
if (!isActive()) {
|
||||||
@@ -77,4 +58,28 @@ public abstract class DataSetFiltersMenu<D extends DBObject> extends VisualiserM
|
|||||||
res |= true;
|
res |= true;
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
//-------
|
||||||
|
|
||||||
|
void selectAll(boolean flag) {
|
||||||
|
for (FilterFlagMenuItem filter : field_filters)
|
||||||
|
filter.setActive(flag);
|
||||||
|
}
|
||||||
|
public abstract void fill();
|
||||||
|
@Override
|
||||||
|
public void DropMatchesCount() {
|
||||||
|
for (FilterFlagMenuItem<D> filter : field_filters)
|
||||||
|
filter.DropMatchesCount();
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void ShowMatchesCount() {
|
||||||
|
for (FilterFlagMenuItem<D> filter : field_filters)
|
||||||
|
filter.ShowMatchesCount();
|
||||||
|
}
|
||||||
|
public boolean isActive() {
|
||||||
|
for (FilterFlagMenuItem<D> filter : field_filters) {
|
||||||
|
if (filter.isActive())
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import Common.Visual.Controls.StableMenuItem;
|
|||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
//одиночный фильтр, пункт фильтрационного меню.
|
//одиночный фильтр, пункт фильтрационного меню.
|
||||||
public abstract class FilterFlagMenuItem<D extends DBObject> implements DBObjectFilterInterface<D>{
|
public abstract class FilterFlagMenuItem<D extends DBObject> implements DBbjectFilter_<D> {
|
||||||
public JMenuItem menuItem; //пункт меню фильтра. ( возможно потом сделать и кнопку)
|
public JMenuItem menuItem; //пункт меню фильтра. ( возможно потом сделать и кнопку)
|
||||||
//--
|
//--
|
||||||
String description;
|
String description;
|
||||||
@@ -25,7 +25,14 @@ public abstract class FilterFlagMenuItem<D extends DBObject> implements DBObject
|
|||||||
public FilterFlagMenuItem(DataSet dataSet, String description_in) {
|
public FilterFlagMenuItem(DataSet dataSet, String description_in) {
|
||||||
this(dataSet, description_in, true);
|
this(dataSet, description_in, true);
|
||||||
}
|
}
|
||||||
//--
|
@Override
|
||||||
|
public boolean Validate(D object) {
|
||||||
|
boolean valid = validate(object);
|
||||||
|
if (valid)
|
||||||
|
count++;
|
||||||
|
return valid & active;
|
||||||
|
}
|
||||||
|
//-----------------------
|
||||||
static String getNotActiveIconPath() {
|
static String getNotActiveIconPath() {
|
||||||
return "/Common/icons/NotPick.png";
|
return "/Common/icons/NotPick.png";
|
||||||
}
|
}
|
||||||
@@ -36,20 +43,14 @@ public abstract class FilterFlagMenuItem<D extends DBObject> implements DBObject
|
|||||||
menuItem.setIcon(Utils_.getIcon(active ? getActiveIconPath() : getNotActiveIconPath()));
|
menuItem.setIcon(Utils_.getIcon(active ? getActiveIconPath() : getNotActiveIconPath()));
|
||||||
}
|
}
|
||||||
//-------
|
//-------
|
||||||
@Override
|
|
||||||
public boolean Validate(D object) {
|
|
||||||
boolean valid = validate(object);
|
|
||||||
if (valid)
|
|
||||||
count++;
|
|
||||||
return valid & active;
|
|
||||||
}
|
|
||||||
//--
|
|
||||||
protected abstract boolean validate(D object);
|
protected abstract boolean validate(D object);
|
||||||
//--
|
//--
|
||||||
public void Drop() {
|
@Override
|
||||||
|
public void DropMatchesCount() {
|
||||||
count = 0;
|
count = 0;
|
||||||
}
|
}
|
||||||
public void Refresh() {
|
@Override
|
||||||
|
public void ShowMatchesCount() {
|
||||||
menuItem.setText(description + " " + Utils_.RBrackets(count));
|
menuItem.setText(description + " " + Utils_.RBrackets(count));
|
||||||
}
|
}
|
||||||
public boolean isActive() {
|
public boolean isActive() {
|
||||||
|
|||||||
@@ -3,18 +3,17 @@ import Common.CommonConstants;
|
|||||||
import Common.Database.Objects.DBObject;
|
import Common.Database.Objects.DBObject;
|
||||||
import Common.Database.Tables.DataSet;
|
import Common.Database.Tables.DataSet;
|
||||||
import Common.Utils.Utils_;
|
import Common.Utils.Utils_;
|
||||||
|
import Common.Visual.DBbjectFilter_;
|
||||||
import Common.Visual.TextField.StyledTextField;
|
import Common.Visual.TextField.StyledTextField;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import javax.swing.border.MatteBorder;
|
import javax.swing.border.MatteBorder;
|
||||||
import javax.swing.event.DocumentEvent;
|
import javax.swing.event.DocumentEvent;
|
||||||
import javax.swing.event.DocumentListener;
|
import javax.swing.event.DocumentListener;
|
||||||
import javax.swing.table.TableModel;
|
|
||||||
import javax.swing.table.TableRowSorter;
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.awt.event.MouseAdapter;
|
import java.awt.event.MouseAdapter;
|
||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
public class HeaderTextFilter {
|
public class HeaderTextFilter<D extends DBObject> implements DBbjectFilter_<D> {
|
||||||
DataSet dataSet = null; //таблица к интерфейсу которой относится фильтр.
|
DataSet dataSet = null; //таблица к интерфейсу которой относится фильтр.
|
||||||
int columnIndex = CommonConstants.Nan; //номер столбца к которому привязан фильтр.
|
int columnIndex = CommonConstants.Nan; //номер столбца к которому привязан фильтр.
|
||||||
JTextField textField = null;
|
JTextField textField = null;
|
||||||
@@ -27,6 +26,12 @@ public class HeaderTextFilter {
|
|||||||
columnIndex = columnIndex_in;
|
columnIndex = columnIndex_in;
|
||||||
offset=offset_in;
|
offset=offset_in;
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
|
public boolean Validate(D object) {
|
||||||
|
Object field = dataSet.getUI().getFieldAt(object, columnIndex);
|
||||||
|
return (field instanceof String) && field.toString().contains(filterValue);
|
||||||
|
}
|
||||||
|
//---
|
||||||
public void Mount(DataTable control) {
|
public void Mount(DataTable control) {
|
||||||
popup = new JPopupMenu() {
|
popup = new JPopupMenu() {
|
||||||
{
|
{
|
||||||
@@ -105,8 +110,4 @@ public class HeaderTextFilter {
|
|||||||
public void setFilterValue(String filterValue_in) {
|
public void setFilterValue(String filterValue_in) {
|
||||||
this.filterValue = filterValue_in;
|
this.filterValue = filterValue_in;
|
||||||
}
|
}
|
||||||
public boolean Validate(DBObject object) {
|
|
||||||
Object field = dataSet.getUI().getFieldAt(object, columnIndex);
|
|
||||||
return (field instanceof String) && field.toString().contains(filterValue);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ public class MessagesControlForm extends DataSetControlForm<Message> {
|
|||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
protected void createFilters() {
|
protected void createFilters() {
|
||||||
headersTextFilters.put(3, new HeaderTextFilter(dataSource, 3, 72));
|
AddFilter(new HeaderTextFilter(dataSource, 3, 72));
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
protected Comparator<Message> getDefaultComparator() {
|
protected Comparator<Message> getDefaultComparator() {
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ public class RecommendationsForm extends DataSetControlForm<MessageRecommendatio
|
|||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
protected void createFilters() {
|
protected void createFilters() {
|
||||||
headersTextFilters.put(1, new HeaderTextFilter(dataSource, 1, 72));
|
AddFilter(new HeaderTextFilter(dataSource, 1, 72));
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public boolean hasMenuBar() {
|
public boolean hasMenuBar() {
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ public class GroupsForm extends DataSetControlForm<Group> {
|
|||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
protected void createFilters() {
|
protected void createFilters() {
|
||||||
filtersMenus.add(new DataSetFiltersMenu<Group>("Тип", dataSource) {
|
AddFilter(new DataSetFiltersMenu<Group>("Тип", dataSource) {
|
||||||
@Override
|
@Override
|
||||||
public void fill() {
|
public void fill() {
|
||||||
for (TestType type : TestType.values())
|
for (TestType type : TestType.values())
|
||||||
@@ -93,7 +93,7 @@ public class GroupsForm extends DataSetControlForm<Group> {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
filtersMenus.add(new DataSetFiltersMenu<Group>("Язык", dataSource) {
|
AddFilter(new DataSetFiltersMenu<Group>("Язык", dataSource) {
|
||||||
@Override
|
@Override
|
||||||
public void fill() {
|
public void fill() {
|
||||||
for (LanguageName languageName : LanguageName.values()) {
|
for (LanguageName languageName : LanguageName.values()) {
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ public class DVMRunTasksForm extends DataSetControlForm<DVMRunTask> {
|
|||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
protected void createFilters() {
|
protected void createFilters() {
|
||||||
filtersMenus.add(new DataSetFiltersMenu<DVMRunTask>("Компиляция", dataSource) {
|
AddFilter(new DataSetFiltersMenu<DVMRunTask>("Компиляция", dataSource) {
|
||||||
@Override
|
@Override
|
||||||
public void fill() {
|
public void fill() {
|
||||||
for (TaskState state : TaskState.values()) {
|
for (TaskState state : TaskState.values()) {
|
||||||
@@ -96,7 +96,7 @@ public class DVMRunTasksForm extends DataSetControlForm<DVMRunTask> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
filtersMenus.add(new DataSetFiltersMenu<DVMRunTask>("Запуск", dataSource) {
|
AddFilter(new DataSetFiltersMenu<DVMRunTask>("Запуск", dataSource) {
|
||||||
@Override
|
@Override
|
||||||
public void fill() {
|
public void fill() {
|
||||||
for (TaskState state : TaskState.values()) {
|
for (TaskState state : TaskState.values()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user