package _VisualDVM.ProjectData.Messages; import Common.Database.Tables.DataSet; import Common.Visual.DataSetControlForm; 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); } @Override protected boolean hasCheckBox() { return false; } @Override public String[] getUIColumnNames() { return new String[]{ "группа", "строка", "текст"}; } @Override 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 protected void ShowCurrentObject() throws Exception { super.ShowCurrentObject(); Global.mainModule.getFile().form.getEditor().gotoLine(getCurrent().line); } @Override protected void AdditionalInitColumns() { columns.get(0).setVisible(false); columns.get(3).setMinWidth(700); columns.get(3).setRendererClass(RendererWrapText.class); } @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; } }