2024-10-17 22:41:43 +03:00
|
|
|
package _VisualDVM.ProjectData.Messages;
|
|
|
|
|
import Common.Database.Tables.DataSet;
|
|
|
|
|
import Common.Visual.DataSetControlForm;
|
2024-10-20 22:19:25 +03:00
|
|
|
import Common.Visual.Tables.HeaderTextFilter;
|
2024-10-17 22:41:43 +03:00
|
|
|
import Common.Visual.Tables.RendererWrapText;
|
2024-10-20 22:19:25 +03:00
|
|
|
import _VisualDVM.Current;
|
2024-10-17 22:41:43 +03:00
|
|
|
import _VisualDVM.Global;
|
2024-10-20 22:19:25 +03:00
|
|
|
import _VisualDVM.ProjectData.SapforData.FileObjectWithMessages;
|
2024-10-17 22:41:43 +03:00
|
|
|
|
|
|
|
|
import javax.swing.*;
|
2024-10-20 17:54:09 +03:00
|
|
|
import java.util.Comparator;
|
2024-10-20 17:27:58 +03:00
|
|
|
public class MessagesControlForm extends DataSetControlForm<Message> {
|
2024-10-17 22:41:43 +03:00
|
|
|
public MessagesControlForm(DataSet dataSource_in, JPanel mountPanel_in) {
|
|
|
|
|
super(dataSource_in, mountPanel_in);
|
|
|
|
|
}
|
|
|
|
|
@Override
|
2024-10-24 23:40:24 +03:00
|
|
|
protected boolean needsCurrent() {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
@Override
|
2024-10-17 22:41:43 +03:00
|
|
|
public String[] getUIColumnNames() {
|
|
|
|
|
return new String[]{
|
|
|
|
|
"группа",
|
|
|
|
|
"строка",
|
|
|
|
|
"текст"};
|
|
|
|
|
}
|
|
|
|
|
@Override
|
2024-10-20 21:59:39 +03:00
|
|
|
public Object getFieldAt(Message object, int columnIndex) {
|
|
|
|
|
switch (columnIndex) {
|
|
|
|
|
case 1:
|
|
|
|
|
return object.group_s;
|
|
|
|
|
case 2:
|
|
|
|
|
return object.line;
|
|
|
|
|
case 3:
|
|
|
|
|
return object.value;
|
|
|
|
|
default:
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@Override
|
2024-10-22 17:27:41 +03:00
|
|
|
protected void ShowCurrentObject() throws Exception {
|
2024-10-17 22:41:43 +03:00
|
|
|
super.ShowCurrentObject();
|
2024-10-22 15:25:06 +03:00
|
|
|
Global.mainModule.getFile().form.getEditor().gotoLine(getCurrent().line);
|
2024-10-17 22:41:43 +03:00
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
protected void AdditionalInitColumns() {
|
|
|
|
|
columns.get(0).setVisible(false);
|
|
|
|
|
columns.get(3).setMinWidth(700);
|
|
|
|
|
columns.get(3).setRendererClass(RendererWrapText.class);
|
|
|
|
|
}
|
|
|
|
|
@Override
|
2024-10-22 17:27:41 +03:00
|
|
|
protected void MouseAction2() throws Exception {
|
2024-10-17 22:41:43 +03:00
|
|
|
ShowCurrentObject();
|
|
|
|
|
}
|
2024-10-20 22:19:25 +03:00
|
|
|
@Override
|
|
|
|
|
protected void createFilters() {
|
2024-10-21 13:54:52 +03:00
|
|
|
AddFilter(new HeaderTextFilter(dataSource, 3, 72));
|
2024-10-20 22:19:25 +03:00
|
|
|
}
|
2024-10-20 17:54:09 +03:00
|
|
|
@Override
|
2024-10-20 20:51:23 +03:00
|
|
|
protected Comparator<Message> getDefaultComparator() {
|
2024-10-20 21:59:39 +03:00
|
|
|
return Comparator.comparingInt(o -> o.line);
|
|
|
|
|
}
|
2024-10-17 22:41:43 +03:00
|
|
|
@Override
|
2024-10-22 17:27:41 +03:00
|
|
|
protected boolean hasMenuBar() {
|
2024-10-17 22:41:43 +03:00
|
|
|
return false;
|
|
|
|
|
}
|
2024-10-20 20:51:23 +03:00
|
|
|
@Override
|
|
|
|
|
public boolean isObjectVisible(Message object) {
|
2024-10-22 13:00:11 +03:00
|
|
|
if (super.isObjectVisible(object)) {
|
2024-10-20 22:19:25 +03:00
|
|
|
if (Global.mainModule.HasFile() && Global.mainModule.getFile().name.equals(object.file)) {
|
|
|
|
|
Object o = Global.mainModule.get(Current.FileGraphElement);
|
|
|
|
|
return !(o instanceof FileObjectWithMessages) || ((FileObjectWithMessages) o).HasMessage(object);
|
|
|
|
|
} else return false;
|
|
|
|
|
}
|
|
|
|
|
return false;
|
2024-10-20 20:51:23 +03:00
|
|
|
}
|
2024-10-17 22:41:43 +03:00
|
|
|
}
|