Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.11 KB | None | 0 0
  1. package com.jedide.apex.ide.logs.traceFlags;
  2.  
  3. import com.intellij.openapi.ui.ComboBoxTableRenderer;
  4. import com.intellij.util.ui.ColumnInfo;
  5. import com.intellij.util.ui.ListTableModel;
  6. import com.jedide.apex.ide.logs.SFLogCategory;
  7. import com.jedide.apex.ide.logs.SFLogCategoryLevel;
  8. import org.jetbrains.annotations.NotNull;
  9.  
  10. import javax.swing.table.TableColumn;
  11. import javax.swing.table.TableColumnModel;
  12. import java.util.ArrayList;
  13. import java.util.List;
  14.  
  15. import static com.intellij.util.containers.ContainerUtil.toArray;
  16.  
  17. /**
  18.  * @author michael.shumenko
  19.  * @since Oct 16, 2017
  20.  */
  21. public class SFDebugLevelsTable extends SFLoadingTableBase<SFDebugLevel> {
  22.  
  23.   public SFDebugLevelsTable() {
  24.     super(createListModel());
  25.  
  26.     TableColumnModel columnModel = getColumnModel();
  27.     for(int index = 1; index < columnModel.getColumnCount(); index++) {
  28.       TableColumn tableColumn = columnModel.getColumn(index);
  29.  
  30.       tableColumn.setCellRenderer(new ComboBoxTableRenderer<SFLogCategoryLevel>(SFLogCategoryLevel.values()) {
  31.         @Override
  32.         protected String getTextFor(@NotNull SFLogCategoryLevel level) {
  33.           return level.getPresentableText();
  34.         }
  35.       });
  36.  
  37.       tableColumn.setCellEditor(new ComboBoxTableRenderer<SFLogCategoryLevel>(SFLogCategoryLevel.values()) {
  38.         @Override
  39.         protected String getTextFor(@NotNull SFLogCategoryLevel level) {
  40.           return level.getPresentableText();
  41.         }
  42.       });
  43.     }
  44.   }
  45.  
  46.   @NotNull
  47.   private static ListTableModel<SFDebugLevel> createListModel() {
  48.     List<ColumnInfo> columnInfos = new ArrayList<>();
  49.     columnInfos.add(new MyStrColumnInfo<>("Name", SFDebugLevel::getDeveloperName));
  50.     for (SFLogCategory category : SFLogCategory.values()) {
  51.       columnInfos.add(new MyStrColumnInfo<SFDebugLevel>(category.getPresentableName(), debugLevel -> {
  52.         SFLogCategoryLevel categoryLevel = debugLevel.getCategoryLevelInfo().getLogCategoryLevel(category);
  53.         return categoryLevel.getPresentableText();
  54.       }));
  55.     }
  56.  
  57.     return new ListTableModel<>(toArray(columnInfos, MyStrColumnInfo.EMPTY_ARR));
  58.   }
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement