no message
This commit is contained in:
@@ -5,7 +5,6 @@ import Common.MainModule_;
|
||||
import Common.Passes.PassCode_;
|
||||
import Common.Utils.TextLog;
|
||||
import Common.Visual.DataSetControlForm;
|
||||
import Common.Visual.Tables.ColumnFilter;
|
||||
import Common.Visual.UI;
|
||||
import Common.Visual.Windows.Dialog.DBObjectDialog;
|
||||
import Common.Visual.Windows.Dialog.DialogFields;
|
||||
@@ -24,8 +23,6 @@ public class DataSet<K, D extends DBObject> extends DataSetAnchestor {
|
||||
public Class<D> d; //класс объектов.
|
||||
public LinkedHashMap<K, D> Data = new LinkedHashMap<>(); //наполнение
|
||||
//-
|
||||
public LinkedHashMap<Integer, ColumnFilter> columnsFilters = new LinkedHashMap<>(); //текстовые фильтры столбцов
|
||||
//-
|
||||
protected DataSetControlForm ui = null;
|
||||
//--
|
||||
public DataSet(Class<K> k_in, Class<D> d_in) {
|
||||
|
||||
@@ -9,10 +9,7 @@ import Common.MainModule_;
|
||||
import Common.Utils.Utils_;
|
||||
import Common.Visual.Menus.DataMenuBar;
|
||||
import Common.Visual.Menus.TableMenu;
|
||||
import Common.Visual.Tables.ColumnInfo;
|
||||
import Common.Visual.Tables.DBObjectSelectionRenderer;
|
||||
import Common.Visual.Tables.DBObjectSelector;
|
||||
import Common.Visual.Tables.DataTable;
|
||||
import Common.Visual.Tables.*;
|
||||
import Common.Visual.Tables.Grid.GridAnchestor;
|
||||
|
||||
import javax.swing.*;
|
||||
@@ -23,6 +20,7 @@ import java.awt.event.KeyEvent;
|
||||
import java.awt.event.MouseAdapter;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.util.Arrays;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Vector;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.IntStream;
|
||||
@@ -33,12 +31,10 @@ public class DataSetControlForm extends ControlForm<DataTable> {
|
||||
protected boolean events_on = true;
|
||||
protected String colNamesAndSizes = "";
|
||||
protected Vector<ColumnInfo> columns = new Vector<>(); //информация о столбцах и их оформлении
|
||||
protected String[] getUIColumnNames() {
|
||||
return new String[]{};
|
||||
}
|
||||
protected Vector<DataSetFiltersMenu> filtersMenus = new Vector<>();
|
||||
public LinkedHashMap<Integer, HeaderTextFilter> headersTextFilters = new LinkedHashMap<>(); //текстовые фильтры столбцов
|
||||
//фильтры и подсчеты. todo слить с баром (?)
|
||||
MatchesCounter f_ui = null;
|
||||
protected Vector<DataSetFiltersMenu> filters = new Vector<>();
|
||||
public DataSetControlForm(DataSet dataSource_in, JPanel mountPanel_in) {
|
||||
super(DataTable.class, mountPanel_in);
|
||||
dataSource = dataSource_in;
|
||||
@@ -58,8 +54,8 @@ public class DataSetControlForm extends ControlForm<DataTable> {
|
||||
f_ui = (count -> bar.countLabel.setText(String.valueOf(count)));
|
||||
//--
|
||||
createFilters();
|
||||
if (!filters.isEmpty()) {
|
||||
for (DataSetFiltersMenu filter : filters)
|
||||
if (!filtersMenus.isEmpty()) {
|
||||
for (DataSetFiltersMenu filter : filtersMenus)
|
||||
bar.addMenus(filter.getMenu());
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
@@ -67,6 +63,9 @@ public class DataSetControlForm extends ControlForm<DataTable> {
|
||||
}
|
||||
}
|
||||
}
|
||||
protected String[] getUIColumnNames() {
|
||||
return new String[]{};
|
||||
}
|
||||
public void SaveColumns() {
|
||||
if (MainModule_.instance.getDb() != null) {
|
||||
try {
|
||||
@@ -285,17 +284,18 @@ public class DataSetControlForm extends ControlForm<DataTable> {
|
||||
protected DataMenuBar createMenuBar() {
|
||||
return new DataMenuBar(dataSource.getPluralDescription());
|
||||
}
|
||||
protected void createFilters() {}
|
||||
protected boolean applyFiltersMenus(DBObject object){
|
||||
for (DataSetFiltersMenu filterMenu : filters) {
|
||||
protected void createFilters() {
|
||||
}
|
||||
protected boolean applyFiltersMenus(DBObject object) {
|
||||
for (DataSetFiltersMenu filterMenu : filtersMenus) {
|
||||
if (!filterMenu.Validate(object))
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
public boolean ApplyFilters(DBObject object) {
|
||||
//могут быть и другие фильтры ( например свои/активные). перенести их сюда и обобщить
|
||||
return applyFiltersMenus(object);
|
||||
//могут быть и другие фильтры ( например свои/активные). перенести их сюда и обобщить
|
||||
return applyFiltersMenus(object);
|
||||
}
|
||||
@Override
|
||||
protected void redrawControl() {
|
||||
@@ -303,10 +303,10 @@ public class DataSetControlForm extends ControlForm<DataTable> {
|
||||
}
|
||||
@Override
|
||||
public void Show() {
|
||||
for (DataSetFiltersMenu filterMenu : filters) filterMenu.Drop();
|
||||
for (DataSetFiltersMenu filterMenu : filtersMenus) filterMenu.Drop();
|
||||
super.Show();
|
||||
if (f_ui != null) f_ui.ShowMatchesCount(getRowCount());
|
||||
for (DataSetFiltersMenu filterMenu : filters) filterMenu.Refresh();
|
||||
for (DataSetFiltersMenu filterMenu : filtersMenus) filterMenu.Refresh();
|
||||
}
|
||||
public void Show(Object pk) {
|
||||
Show();
|
||||
|
||||
@@ -8,11 +8,10 @@ import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.util.Vector;
|
||||
public abstract class DataSetFiltersMenu<D extends DBObject> {
|
||||
VisualiserMenu menu= null;
|
||||
public VisualiserMenu getMenu(){return menu;}
|
||||
//--
|
||||
protected DataSet<?, D> dataSet;
|
||||
protected Vector<DBObjectFilter<D>> field_filters;
|
||||
VisualiserMenu menu = null;
|
||||
public DataSetFiltersMenu(String name, DataSet dataSet_in) {
|
||||
dataSet = dataSet_in;
|
||||
menu = new VisualiserMenu(name, "/Common/icons/Filter.png", true);
|
||||
@@ -45,6 +44,9 @@ public abstract class DataSetFiltersMenu<D extends DBObject> {
|
||||
}
|
||||
});
|
||||
}
|
||||
public VisualiserMenu getMenu() {
|
||||
return menu;
|
||||
}
|
||||
void selectAll(boolean flag) {
|
||||
for (DBObjectFilter filter : field_filters)
|
||||
filter.setActive(flag);
|
||||
|
||||
@@ -10,10 +10,10 @@ import javax.swing.event.DocumentListener;
|
||||
import java.awt.*;
|
||||
import java.awt.event.MouseAdapter;
|
||||
import java.awt.event.MouseEvent;
|
||||
public class ColumnFilter {
|
||||
public class HeaderTextFilter {
|
||||
public JTextField textField;
|
||||
public JPopupMenu popup;
|
||||
public ColumnFilter(DataSet dataSet, int columnIndex) {
|
||||
public HeaderTextFilter(DataSet dataSet, int columnIndex) {
|
||||
textField = new StyledTextField() {
|
||||
{
|
||||
setBorder(null);
|
||||
@@ -61,7 +61,7 @@ public class ColumnFilter {
|
||||
public void mouseClicked(MouseEvent event) {
|
||||
if (event.getClickCount() == 1) {
|
||||
int columnIndex = dataSet.getUI().getControl().getTableHeader().columnAtPoint(event.getPoint());
|
||||
if (dataSet.columnsFilters.containsKey(columnIndex)) {
|
||||
if (dataSet.getUI().headersTextFilters.containsKey(columnIndex)) {
|
||||
Rectangle columnRectangle = dataSet.getUI().getControl().getTableHeader().getHeaderRect(columnIndex);
|
||||
Dimension d = new Dimension(columnRectangle.width - 72, columnRectangle.height - 1);
|
||||
popup.setPreferredSize(d);
|
||||
@@ -22,7 +22,6 @@ public class DirInfosDataSet extends DataSet<String, DirInfo> {
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getFieldAt(DirInfo object, int columnIndex) {
|
||||
switch (columnIndex) {
|
||||
|
||||
@@ -2,7 +2,7 @@ package _VisualDVM.ProjectData.Messages;
|
||||
import Common.Database.Tables.DataSet;
|
||||
import Common.Database.Tables.iDBTable;
|
||||
import Common.Visual.DataSetControlForm;
|
||||
import Common.Visual.Tables.ColumnFilter;
|
||||
import Common.Visual.Tables.HeaderTextFilter;
|
||||
import Common.Visual.Tables.RendererWrapText;
|
||||
import _VisualDVM.Global;
|
||||
|
||||
@@ -46,7 +46,7 @@ public class MessagesDBTable<M extends Message> extends iDBTable<M> {
|
||||
@Override
|
||||
protected void createControl() {
|
||||
super.createControl();
|
||||
columnsFilters.put(3, new ColumnFilter(dataset, 3));
|
||||
headersTextFilters.put(3, new HeaderTextFilter(dataset, 3));
|
||||
control.setRowSorter(null);
|
||||
TableRowSorter<TableModel> sorter = new TableRowSorter<>(control.getModel());
|
||||
sorter.setSortable(3, false);
|
||||
|
||||
@@ -98,7 +98,6 @@ public class BugReportsDBTable extends DBTable<String, BugReport> {
|
||||
public Comparator<BugReport> getComparator() {
|
||||
return (o1, o2) -> -(o1.getDate().compareTo(o2.getDate()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getFieldAt(BugReport object, int columnIndex) {
|
||||
switch (columnIndex) {
|
||||
|
||||
@@ -91,7 +91,7 @@ public class GroupsDBTable extends iDBTable<Group> {
|
||||
}
|
||||
@Override
|
||||
protected void createFilters() {
|
||||
filters.add(new DataSetFiltersMenu<Group>("Тип", dataSource) {
|
||||
filtersMenus.add(new DataSetFiltersMenu<Group>("Тип", dataSource) {
|
||||
@Override
|
||||
public void fill() {
|
||||
for (TestType type : TestType.values())
|
||||
@@ -103,7 +103,7 @@ public class GroupsDBTable extends iDBTable<Group> {
|
||||
});
|
||||
}
|
||||
});
|
||||
filters.add(new DataSetFiltersMenu<Group>("Язык", dataSource) {
|
||||
filtersMenus.add(new DataSetFiltersMenu<Group>("Язык", dataSource) {
|
||||
@Override
|
||||
public void fill() {
|
||||
for (LanguageName languageName : LanguageName.values()) {
|
||||
@@ -119,7 +119,6 @@ public class GroupsDBTable extends iDBTable<Group> {
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getFieldAt(Group object, int columnIndex) {
|
||||
switch (columnIndex) {
|
||||
|
||||
@@ -63,7 +63,7 @@ public class DVMRunTasksSet extends DataSet<Integer, DVMRunTask> {
|
||||
}
|
||||
@Override
|
||||
protected void createFilters() {
|
||||
filters.add(new DataSetFiltersMenu<DVMRunTask>("Компиляция", dataSource) {
|
||||
filtersMenus.add(new DataSetFiltersMenu<DVMRunTask>("Компиляция", dataSource) {
|
||||
@Override
|
||||
public void fill() {
|
||||
for (TaskState state : TaskState.values()) {
|
||||
@@ -78,7 +78,7 @@ public class DVMRunTasksSet extends DataSet<Integer, DVMRunTask> {
|
||||
}
|
||||
}
|
||||
});
|
||||
filters.add(new DataSetFiltersMenu<DVMRunTask>("Запуск", dataSource) {
|
||||
filtersMenus.add(new DataSetFiltersMenu<DVMRunTask>("Запуск", dataSource) {
|
||||
@Override
|
||||
public void fill() {
|
||||
for (TaskState state : TaskState.values()) {
|
||||
|
||||
Reference in New Issue
Block a user