промежуточный. в процессе продолжение рефакторинга фильтра

This commit is contained in:
2024-10-20 16:01:09 +03:00
parent f13a9cda2e
commit ffb719cbb5
12 changed files with 62 additions and 116 deletions

View File

@@ -306,6 +306,7 @@ public class DataSetControlForm extends ControlForm<DataTable> {
//могут быть и другие фильтры ( например свои/активные). перенести их сюда и обобщить
return applyFiltersMenus(object);
}
/*
//todo упразднить.
// применить значение фильтра к фильру объекта напирмер Message.filterValue = text;
public void changeHeaderFilterValue(int columnIndex, String text) {
@@ -313,6 +314,7 @@ public class DataSetControlForm extends ControlForm<DataTable> {
public Object getHeaderFilterValue(int columnIndex) {
return "";
}
*/
@Override
protected void redrawControl() {
control.CorrectSizes();

View File

@@ -1,9 +1,7 @@
package Common.Visual.Tables;
import Common.CommonConstants;
import Common.Database.Database;
import Common.Database.Tables.DataSet;
import Common.Utils.Utils_;
import Common.Visual.DataSetControlForm;
import Common.Visual.TextField.StyledTextField;
import javax.swing.*;
@@ -17,7 +15,7 @@ import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class HeaderTextFilter {
DataSet dataSet= null; //таблица к интерфейсу которой относится фильтр.
String value= "";
private String filterValue = "";
int columnIndex = CommonConstants.Nan; //номер столбца к которому привязан фильтр.
JTextField textField = null;
JPopupMenu popup = null;
@@ -42,13 +40,14 @@ public class HeaderTextFilter {
getDocument().addDocumentListener(new DocumentListener() {
@Override
public void insertUpdate(DocumentEvent e) {
// value = getText();
dataSet.getUI().changeHeaderFilterValue(columnIndex, getText());
setFilterValue(getText());
// dataSet.getUI().changeHeaderFilterValue(columnIndex, getText());
dataSet.getUI().Show();
}
@Override
public void removeUpdate(DocumentEvent e) {
dataSet.getUI().changeHeaderFilterValue(columnIndex, getText());
setFilterValue(getText());
// dataSet.getUI().changeHeaderFilterValue(columnIndex, getText());
dataSet.getUI().Show();
}
@Override
@@ -71,7 +70,8 @@ public class HeaderTextFilter {
setBackground(control.getTableHeader().getBackground());
setFont(control.getTableHeader().getFont());
setBorder(new MatteBorder(0, 0, 1, 1, Color.DARK_GRAY));
setText(dataSet.getUI().getColumnInfo(columnIndex).getName() + " : " + dataSet.getUI().getHeaderFilterValue(columnIndex));
setText(dataSet.getUI().getColumnInfo(columnIndex).getName() + " : " + getFilterValue());
// setText(dataSet.getUI().getColumnInfo(columnIndex).getName() + " : " + dataSet.getUI().getHeaderFilterValue(columnIndex));
}
});
//--
@@ -88,7 +88,8 @@ public class HeaderTextFilter {
popup.setMaximumSize(d);
popup.show(control.getTableHeader(), columnRectangle.x + 72, 0);
//-
textField.setText(dataSet.getUI().getHeaderFilterValue(columnIndex).toString());
textField.setText(getFilterValue());
// textField.setText(dataSet.getUI().getHeaderFilterValue(columnIndex).toString());
textField.requestFocusInWindow();
textField.selectAll();
}
@@ -96,4 +97,12 @@ public class HeaderTextFilter {
}
});
}
public String getFilterValue() {
// System.out.println("get filter value ="+Utils_.Brackets(filterValue));
return filterValue;
}
public void setFilterValue(String filterValue_in) {
this.filterValue = filterValue_in;
System.out.println("set filter value ="+Utils_.Brackets(filterValue));
}
}

View File

@@ -18,18 +18,4 @@ public class ErrorsDBTable extends MessagesDBTable<MessageError> {
public Current CurrentName() {
return Current.Errors;
}
@Override
protected DataSetControlForm createUI(JPanel mountPanel) {
return new MessagesControlForm(this, mountPanel){
@Override
public void changeHeaderFilterValue(int columnIndex, String text) {
if (columnIndex == 3)
MessageError.filterValue = text;
}
@Override
public Object getHeaderFilterValue(int columnIndex) {
return MessageError.filterValue;
}
};
}
}

View File

@@ -10,8 +10,10 @@ public class MessageError extends Message {
}
public MessageError() {
}
/*
@Override
public boolean isVisible() {
return super.isVisible() && value.contains(filterValue);
}
*/
}

View File

@@ -445,12 +445,18 @@ public class Message extends FileObject {
break;
}
}
@Override
public boolean isVisible() {
return true;
/*
if (Global.mainModule.HasFile() && Global.mainModule.getFile().name.equals(file)) {
Object o = Global.mainModule.get(Current.FileGraphElement);
return !(o instanceof FileObjectWithMessages) || ((FileObjectWithMessages) o).HasMessage(this);
} else return false;
*/
}
@Override
public Object getFieldAt(int columnIndex) {

View File

@@ -34,11 +34,14 @@ public class MessagesControlForm extends DataSetControlForm {
public void MouseAction2() throws Exception {
ShowCurrentObject();
}
/*
@Override
protected void createFilters() {
super.createFilters();
headersTextFilters.put(3, new HeaderTextFilter(dataSource, 3));
}
*/
@Override
public boolean hasMenuBar() {
return false;

View File

@@ -21,4 +21,8 @@ public class MessagesDBTable<M extends Message> extends iDBTable<M> {
public Comparator<M> getComparator() {
return Comparator.comparingInt(o -> o.line);
}
@Override
protected DataSetControlForm createUI(JPanel mountPanel) {
return new MessagesControlForm(this, mountPanel);
}
}

View File

@@ -7,8 +7,10 @@ public class MessageNote extends Message {
}
public MessageNote() {
}
/*
@Override
public boolean isVisible() {
return super.isVisible() && value.contains(filterValue);
}
*/
}

View File

@@ -18,18 +18,4 @@ public class NotesDBTable extends MessagesDBTable<MessageNote> {
public Current CurrentName() {
return Current.Notes;
}
@Override
protected DataSetControlForm createUI(JPanel mountPanel) {
return new MessagesControlForm(this, mountPanel) {
@Override
public void changeHeaderFilterValue(int columnIndex, String text) {
if (columnIndex == 3)
MessageNote.filterValue = text;
}
@Override
public Object getHeaderFilterValue(int columnIndex) {
return MessageNote.filterValue;
}
};
}
}

View File

@@ -1,4 +1,5 @@
package _VisualDVM.ProjectData.Messages.Warnings;
import _VisualDVM.Global;
import _VisualDVM.ProjectData.Messages.Message;
public class MessageWarning extends Message {
public static String filterValue = "";
@@ -7,8 +8,9 @@ public class MessageWarning extends Message {
}
public MessageWarning() {
}
@Override
public boolean isVisible() {
return super.isVisible() && value.contains(filterValue);
return super.isVisible() && Global.mainModule.getProject().db.warnings.getUI().ApplyFilters(this);
}
}

View File

@@ -1,6 +1,9 @@
package _VisualDVM.ProjectData.Messages.Warnings;
import Common.Database.Objects.DBObject;
import Common.Visual.DataSetControlForm;
import Common.Visual.Tables.HeaderTextFilter;
import _VisualDVM.Current;
import _VisualDVM.ProjectData.Messages.Message;
import _VisualDVM.ProjectData.Messages.MessagesControlForm;
import _VisualDVM.ProjectData.Messages.MessagesDBTable;
@@ -20,16 +23,21 @@ public class WarningsDBTable extends MessagesDBTable<MessageWarning> {
}
@Override
protected DataSetControlForm createUI(JPanel mountPanel) {
return new MessagesControlForm(this, mountPanel){
return new MessagesControlForm(this,mountPanel){
@Override
public void changeHeaderFilterValue(int columnIndex, String text) {
if (columnIndex == 3)
MessageWarning.filterValue = text;
protected void createFilters() {
super.createFilters();
headersTextFilters.put(3, new HeaderTextFilter(dataSource, 3));
}
@Override
public Object getHeaderFilterValue(int columnIndex) {
return MessageWarning.filterValue;
}
public boolean ApplyFilters(DBObject object) {
if (super.ApplyFilters(object)){
System.out.println("apply warnings tet filter for message "+object.getPK());
Message message = (MessageWarning)object;
return message.value.contains(headersTextFilters.get(3).getFilterValue());
}
return false;
};
};
}
}