Files
VisualSapfor/src/_VisualDVM/ProjectData/Messages/MessagesControlForm.java

74 lines
2.4 KiB
Java
Raw Normal View History

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;
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
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-17 22:41:43 +03:00
public void ShowCurrentObject() throws Exception {
super.ShowCurrentObject();
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
public void MouseAction2() throws Exception {
ShowCurrentObject();
}
2024-10-20 22:19:25 +03:00
@Override
protected void createFilters() {
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
public boolean hasMenuBar() {
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
}