use of org.baderlab.csplugins.enrichmentmap.view.heatmap.HeatMapParams.Transform in project EnrichmentMapApp by BaderLab.
the class HeatMapMainPanel method createToolbarPanel.
private JPanel createToolbarPanel() {
gradientLegendPanel = new GradientLegendPanel(table);
showValuesCheck = new JCheckBox("Show Values");
JLabel operatorLabel = new JLabel("Genes:");
operatorCombo = new JComboBox<>();
JLabel normLabel = new JLabel("Expressions:");
normCombo = new JComboBox<>();
SwingUtil.makeSmall(operatorLabel, operatorCombo, normLabel, normCombo, showValuesCheck);
operatorCombo.addItem(new ComboItem<>(Operator.UNION, "Union"));
operatorCombo.addItem(new ComboItem<>(Operator.INTERSECTION, "Intersection"));
operatorCombo.setSelectedItem(ComboItem.of(Operator.UNION));
normCombo.addItem(new ComboItem<>(Transform.AS_IS, "Expression Values"));
normCombo.addItem(new ComboItem<>(Transform.ROW_NORMALIZE, "Row Normalize"));
normCombo.addItem(new ComboItem<>(Transform.LOG_TRANSFORM, "Log Transform"));
normCombo.addItem(new ComboItem<>(Transform.COMPRESS_MEDIAN, "Compress (Median)"));
normCombo.addItem(new ComboItem<>(Transform.COMPRESS_MIN, "Compress (Min)"));
normCombo.addItem(new ComboItem<>(Transform.COMPRESS_MAX, "Compress (Max)"));
normCombo.setSelectedItem(ComboItem.of(Transform.COMPRESS_MEDIAN));
operatorCombo.addActionListener(operatorActionListener = e -> updateSetting_Operator(getOperator()));
normCombo.addActionListener(normActionListener = e -> updateSetting_Transform(getTransform()));
showValuesCheck.addActionListener(showValueActionListener = e -> updateSetting_ShowValues(isShowValues()));
JButton plusButton = SwingUtil.createIconButton(iconManager, IconManager.ICON_PLUS, "Add Rankings...");
JButton gearButton = SwingUtil.createIconButton(iconManager, IconManager.ICON_GEAR, "Settings");
JButton menuButton = SwingUtil.createIconButton(iconManager, IconManager.ICON_EXTERNAL_LINK, "Export");
LookAndFeelUtil.equalizeSize(gearButton, menuButton);
plusButton.addActionListener(e -> addRankings());
gearButton.addActionListener(e -> settingsPanel.popup(gearButton));
menuButton.addActionListener(this::showExportMenu);
JPanel panel = new JPanel();
GroupLayout layout = new GroupLayout(panel);
panel.setLayout(layout);
layout.setAutoCreateContainerGaps(false);
layout.setAutoCreateGaps(!LookAndFeelUtil.isAquaLAF());
layout.setHorizontalGroup(layout.createSequentialGroup().addComponent(gradientLegendPanel, 180, 180, 180).addGap(0, 0, Short.MAX_VALUE).addComponent(operatorLabel).addComponent(operatorCombo, PREFERRED_SIZE, DEFAULT_SIZE, PREFERRED_SIZE).addGap(5).addComponent(normLabel).addComponent(normCombo, PREFERRED_SIZE, DEFAULT_SIZE, PREFERRED_SIZE).addGap(5).addComponent(showValuesCheck).addGap(5).addComponent(plusButton).addComponent(gearButton).addComponent(menuButton));
layout.setVerticalGroup(layout.createParallelGroup(Alignment.BASELINE).addComponent(gradientLegendPanel).addComponent(operatorLabel).addComponent(operatorCombo).addComponent(normLabel).addComponent(normCombo).addComponent(showValuesCheck).addComponent(plusButton).addComponent(gearButton).addComponent(menuButton));
panel.setOpaque(false);
return panel;
}
use of org.baderlab.csplugins.enrichmentmap.view.heatmap.HeatMapParams.Transform in project EnrichmentMapApp by BaderLab.
the class ColorRenderer method getTableCellRendererComponent.
public JLabel getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int col) {
JLabel label = new JLabel();
//MUST do this for background to show up.
label.setOpaque(true);
HeatMapTableModel model = (HeatMapTableModel) table.getModel();
EMDataSet dataset = model.getDataSet(col);
Transform transform = model.getTransform();
DataSetColorRange range = getRange(dataset, transform);
if (value instanceof Double) {
Color color = getColor(range.getTheme(), range.getRange(), (Double) value);
label.setBackground(color);
Border border = BorderFactory.createMatteBorder(1, 1, 1, 1, isSelected ? table.getSelectionForeground() : color);
label.setBorder(border);
if (Double.isFinite((Double) value))
label.setToolTipText(value.toString());
}
return label;
}
Aggregations