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

82 lines
2.8 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;
import Common.Visual.Tables.ColumnInfo;
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);
AddColumns(
new ColumnInfo<Message>("группа") {
@Override
public Object getFieldAt(Message object) {
return object.group_s;
}
},
new ColumnInfo<Message>("строка") {
@Override
public Object getFieldAt(Message object) {
return object.line;
}
},
new ColumnInfo<Message>("текст") {
@Override
public Object getFieldAt(Message object) {
return object.value;
}
@Override
public Class getRendererClass() {
return RendererWrapText.class;
}
@Override
public int getMinWidth() {
return 700;
}
}
);
getColumnInfo(0).setVisible(false);
2024-10-17 22:41:43 +03:00
}
@Override
protected boolean hasCheckBox() {
return false;
}
@Override
2024-10-22 17:27:41 +03:00
protected void ShowCurrentObject() throws Exception {
2024-10-17 22:41:43 +03:00
super.ShowCurrentObject();
Global.mainModule.getFile().form.getEditor().gotoLine(getCurrent().line);
2024-10-17 22:41:43 +03:00
}
@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() {
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
}