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

82 lines
2.8 KiB
Java

package _VisualDVM.ProjectData.Messages;
import Common.Database.Tables.DataSet;
import Common.Visual.DataSetControlForm;
import Common.Visual.Tables.ColumnInfo;
import Common.Visual.Tables.HeaderTextFilter;
import Common.Visual.Tables.RendererWrapText;
import _VisualDVM.Current;
import _VisualDVM.Global;
import _VisualDVM.ProjectData.SapforData.FileObjectWithMessages;
import javax.swing.*;
import java.util.Comparator;
public class MessagesControlForm extends DataSetControlForm<Message> {
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);
}
@Override
protected boolean hasCheckBox() {
return false;
}
@Override
protected void ShowCurrentObject() throws Exception {
super.ShowCurrentObject();
Global.mainModule.getFile().form.getEditor().gotoLine(getCurrent().line);
}
@Override
protected void MouseAction2() throws Exception {
ShowCurrentObject();
}
@Override
protected void createFilters() {
AddFilter(new HeaderTextFilter(dataSource, 3, 72));
}
@Override
protected Comparator<Message> getDefaultComparator() {
return Comparator.comparingInt(o -> o.line);
}
@Override
protected boolean hasMenuBar() {
return false;
}
@Override
public boolean isObjectVisible(Message object) {
if (super.isObjectVisible(object)) {
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;
}
}