Skip to content

Commit 9e10ac6

Browse files
committed
Move chart color legend below chart legend. Refs #266
1 parent 0f3801b commit 9e10ac6

File tree

2 files changed

+44
-23
lines changed

2 files changed

+44
-23
lines changed

EnrichmentMapPlugin/src/main/java/org/baderlab/csplugins/enrichmentmap/view/heatmap/HeatMapMediator.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,6 @@ public void heatMapParamsChanged(HeatMapParams params) {
141141

142142

143143
private void updateHeatMap(CyNetworkView networkView) {
144-
System.out.println("HeatMapMediator.updateHeatMap()");
145144
if(heatMapPanel == null)
146145
return;
147146

EnrichmentMapPlugin/src/main/java/org/baderlab/csplugins/enrichmentmap/view/legend/LegendPanel.java

Lines changed: 44 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ public class LegendPanel extends JPanel {
136136
private BasicCollapsiblePanel edgeLegendPanel;
137137

138138
private JPanel nodeColorPanel;
139+
private JPanel nodeChartColorPanel;
139140

140141
private JPanel nodeShapePanel;
141142
private JLabel nodeShapeIcon1 = new JLabel();
@@ -192,6 +193,7 @@ void update(EMStyleOptions options, Collection<EMDataSet> filteredDataSets) {
192193
} else {
193194
nodeLegendPanel = null;
194195
nodeColorPanel = null;
196+
nodeChartColorPanel = null;
195197
nodeShapePanel = null;
196198
nodeChartPanel = null;
197199
edgeLegendPanel = null;
@@ -200,6 +202,7 @@ void update(EMStyleOptions options, Collection<EMDataSet> filteredDataSets) {
200202
updateNodeColorPanel(filteredDataSets, map);
201203
updateNodeShapePanel(map);
202204
updateNodeChartPanel(filteredDataSets, map);
205+
updateNodeChartColorPanel(filteredDataSets, map);
203206
updateEdgeColorPanel(map);
204207

205208
JPanel panel = new JPanel();
@@ -228,39 +231,45 @@ private void updateNodeColorPanel(Collection<EMDataSet> dataSets, EnrichmentMap
228231
JPanel p = getNodeColorPanel();
229232
p.removeAll();
230233

231-
ChartOptions chartOptions = options.getChartOptions();
232-
ChartData data = chartOptions.getData();
233-
234-
if (dataSets == null || dataSets.isEmpty() || (dataSets.size() > 1 && data == ChartData.NONE)) {
235-
p.setVisible(false);
236-
return;
237-
}
238-
239-
if (dataSets.size() == 1 && data == ChartData.NONE) {
234+
if (dataSets != null && dataSets.size() == 1) {
240235
EMDataSet ds = dataSets.iterator().next();
241236

242237
ColorLegendPanel clp = new ColorLegendPanel(
243-
Colors.MAX_PHENOTYPE_1,
244-
Colors.MAX_PHENOTYPE_2,
245-
ds.getEnrichments().getPhenotype1(),
246-
ds.getEnrichments().getPhenotype2()
238+
Colors.MAX_PHENOTYPE_1,
239+
Colors.MAX_PHENOTYPE_2,
240+
ds.getEnrichments().getPhenotype1(),
241+
ds.getEnrichments().getPhenotype2()
247242
);
248243

249244
GroupLayout layout = (GroupLayout) p.getLayout();
245+
250246
layout.setHorizontalGroup(layout.createSequentialGroup()
251-
.addGap(0, 0, Short.MAX_VALUE)
252-
.addComponent(clp, PREFERRED_SIZE, DEFAULT_SIZE, PREFERRED_SIZE)
253-
.addGap(0, 0, Short.MAX_VALUE)
247+
.addGap(0, 0, Short.MAX_VALUE)
248+
.addComponent(clp, PREFERRED_SIZE, DEFAULT_SIZE, PREFERRED_SIZE)
249+
.addGap(0, 0, Short.MAX_VALUE)
254250
);
255251
layout.setVerticalGroup(layout.createParallelGroup(Alignment.CENTER, false)
256-
.addComponent(clp)
252+
.addComponent(clp)
257253
);
258254

255+
p.setVisible(true);
259256
} else {
257+
p.setVisible(false);
258+
}
259+
}
260+
261+
private void updateNodeChartColorPanel(Collection<EMDataSet> dataSets, EnrichmentMap map) {
262+
JPanel p = getNodeChartColorPanel();
263+
p.removeAll();
264+
265+
ChartOptions chartOptions = options.getChartOptions();
266+
ChartData data = chartOptions.getData();
267+
268+
if(data != ChartData.NONE) {
260269
ColumnDescriptor<Double> columnDescriptor = data.getColumnDescriptor();
261270
List<CyColumnIdentifier> columns = ChartUtil.getSortedColumnIdentifiers(options.getAttributePrefix(),
262271
dataSets, columnDescriptor, columnIdFactory);
263-
272+
264273
List<Color> colors = ChartUtil.getChartColors(chartOptions);
265274
List<Double> range = ChartUtil.calculateGlobalRange(options.getNetworkView().getModel(), columns);
266275
double min = range.get(0) ;
@@ -285,7 +294,7 @@ private void updateNodeColorPanel(Collection<EMDataSet> dataSets, EnrichmentMap
285294
.addComponent(posLabel)
286295
.addComponent(clpPos)
287296
);
288-
297+
289298

290299
if(data == ChartData.NES_VALUE) { // need to show negative range
291300
String negMinLabel = min < 0 ? String.format("%.2f", min) : "N/A";
@@ -308,9 +317,11 @@ private void updateNodeColorPanel(Collection<EMDataSet> dataSets, EnrichmentMap
308317
horizontal.addGap(0, 0, Short.MAX_VALUE);
309318
layout.setHorizontalGroup(horizontal);
310319
layout.setVerticalGroup(vertical);
320+
321+
p.setVisible(true);
322+
} else {
323+
p.setVisible(false);
311324
}
312-
313-
p.setVisible(true);
314325
}
315326

316327
private void updateNodeShapePanel(EnrichmentMap map) {
@@ -355,7 +366,7 @@ private void updateNodeChartPanel(Collection<EMDataSet> dataSets, EnrichmentMap
355366
Object cg = vp != null ? style.getDefaultValue(vp) : null;
356367
ChartType chartType = options.getChartOptions() != null ? options.getChartOptions().getType() : null;
357368

358-
if (chartType != null && cg instanceof CyCustomGraphics2 && dataSets != null && dataSets.size() > 1) {
369+
if (chartType != null && cg instanceof CyCustomGraphics2 && dataSets != null) {
359370
ChartPanel chart = createChartPanel(dataSets);
360371

361372
if (chart != null) {
@@ -508,11 +519,13 @@ BasicCollapsiblePanel getNodeLegendPanel() {
508519
.addComponent(getNodeColorPanel(), DEFAULT_SIZE, DEFAULT_SIZE, Short.MAX_VALUE)
509520
.addComponent(getNodeShapePanel(), DEFAULT_SIZE, DEFAULT_SIZE, Short.MAX_VALUE)
510521
.addComponent(getNodeChartPanel(), DEFAULT_SIZE, DEFAULT_SIZE, Short.MAX_VALUE)
522+
.addComponent(getNodeChartColorPanel(), DEFAULT_SIZE, DEFAULT_SIZE, Short.MAX_VALUE)
511523
);
512524
layout.setVerticalGroup(layout.createSequentialGroup()
513525
.addComponent(getNodeColorPanel(), PREFERRED_SIZE, DEFAULT_SIZE, PREFERRED_SIZE)
514526
.addComponent(getNodeShapePanel(), PREFERRED_SIZE, DEFAULT_SIZE, PREFERRED_SIZE)
515527
.addComponent(getNodeChartPanel(), PREFERRED_SIZE, DEFAULT_SIZE, PREFERRED_SIZE)
528+
.addComponent(getNodeChartColorPanel(), PREFERRED_SIZE, DEFAULT_SIZE, PREFERRED_SIZE)
516529
);
517530

518531
if (isAquaLAF())
@@ -555,6 +568,15 @@ private JPanel getNodeColorPanel() {
555568
return nodeColorPanel;
556569
}
557570

571+
private JPanel getNodeChartColorPanel() {
572+
if (nodeChartColorPanel == null) {
573+
nodeChartColorPanel = createStyleLegendPanel(null);
574+
nodeChartColorPanel.setToolTipText("Node Chart Colors");
575+
}
576+
577+
return nodeChartColorPanel;
578+
}
579+
558580
JPanel getNodeShapePanel() {
559581
if (nodeShapePanel == null) {
560582
nodeShapePanel = createStyleLegendPanel(null);

0 commit comments

Comments
 (0)