package _VisualDVM.ProjectData.SapforData.Arrays; import Common.Database.Tables.DataSet; import Common.Visual.DataSetControlForm; import Common.Visual.Tables.RendererHiddenList; import _VisualDVM.Current; import _VisualDVM.Global; import _VisualDVM.GlobalData.Settings.SettingName; import _VisualDVM.Passes.PassCode; import _VisualDVM.Visual.Tables.EditorFilesHyperlinks; import _VisualDVM.Visual.Tables.RendererHyperlinks; import java.util.Vector; public class ArraysSet extends DataSet { public ArraysSet() { super(Long.class, ProjectArray.class); } @Override public String getSingleDescription() { return "массив"; } @Override public String getPluralDescription() { return "объявленные массивы"; } @Override public Current CurrentName() { return Current.ProjectArray; } @Override protected DataSetControlForm createUI() { return new DataSetControlForm(this) { @Override public boolean hasCheckBox() { return true; } @Override protected void AdditionalInitColumns() { columns.get(0).setVisible(false); if ((Global.mainModule.getDb()).settings.get(SettingName.ShowFullArraysDeclarations).toBoolean()) { columns.get(4).setRendererClass(RendererHyperlinks.class); columns.get(4).setEditorClass(EditorFilesHyperlinks.class); } else { columns.get(4).setRendererClass(RendererHiddenList.class); columns.get(4).setMaxWidth(200); } } }; } @Override public String[] getUIColumnNames() { return new String[]{ "Имя", "Область описания", "Файлы объявления", "Размерность", "Размер элемента(байт)", "Область распараллеливания" }; } @Override public Object getFieldAt(ProjectArray object, int columnIndex) { switch (columnIndex) { case 1: return object.State; case 2: return object.GetShortNameWithDim(); case 3: return object.locName + " : " + object.location; case 4: return object.GetDeclPlacesList(); case 5: return object.dimSize; case 6: return object.typeSize; case 7: return object.GetRegionsText(); default: return null; } } @Override public void SelectAll(boolean flag) { Global.mainModule.getPass(PassCode.MassSelectArrays).Do(flag, new Vector(Global.mainModule.getProject().declaratedArrays.Data.values())); } }