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 { public MessagesControlForm(DataSet dataSource_in, JPanel mountPanel_in) { super(dataSource_in, mountPanel_in); AddColumns( new ColumnInfo("группа") { @Override public Object getFieldAt(Message object) { return object.group_s; } }, new ColumnInfo("строка") { @Override public Object getFieldAt(Message object) { return object.line; } }, new ColumnInfo("текст") { @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 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; } }