@@ -136,6 +136,7 @@ public class LegendPanel extends JPanel {
136
136
private BasicCollapsiblePanel edgeLegendPanel ;
137
137
138
138
private JPanel nodeColorPanel ;
139
+ private JPanel nodeChartColorPanel ;
139
140
140
141
private JPanel nodeShapePanel ;
141
142
private JLabel nodeShapeIcon1 = new JLabel ();
@@ -192,6 +193,7 @@ void update(EMStyleOptions options, Collection<EMDataSet> filteredDataSets) {
192
193
} else {
193
194
nodeLegendPanel = null ;
194
195
nodeColorPanel = null ;
196
+ nodeChartColorPanel = null ;
195
197
nodeShapePanel = null ;
196
198
nodeChartPanel = null ;
197
199
edgeLegendPanel = null ;
@@ -200,6 +202,7 @@ void update(EMStyleOptions options, Collection<EMDataSet> filteredDataSets) {
200
202
updateNodeColorPanel (filteredDataSets , map );
201
203
updateNodeShapePanel (map );
202
204
updateNodeChartPanel (filteredDataSets , map );
205
+ updateNodeChartColorPanel (filteredDataSets , map );
203
206
updateEdgeColorPanel (map );
204
207
205
208
JPanel panel = new JPanel ();
@@ -228,39 +231,45 @@ private void updateNodeColorPanel(Collection<EMDataSet> dataSets, EnrichmentMap
228
231
JPanel p = getNodeColorPanel ();
229
232
p .removeAll ();
230
233
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 ) {
240
235
EMDataSet ds = dataSets .iterator ().next ();
241
236
242
237
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 ()
247
242
);
248
243
249
244
GroupLayout layout = (GroupLayout ) p .getLayout ();
245
+
250
246
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 )
254
250
);
255
251
layout .setVerticalGroup (layout .createParallelGroup (Alignment .CENTER , false )
256
- .addComponent (clp )
252
+ .addComponent (clp )
257
253
);
258
254
255
+ p .setVisible (true );
259
256
} 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 ) {
260
269
ColumnDescriptor <Double > columnDescriptor = data .getColumnDescriptor ();
261
270
List <CyColumnIdentifier > columns = ChartUtil .getSortedColumnIdentifiers (options .getAttributePrefix (),
262
271
dataSets , columnDescriptor , columnIdFactory );
263
-
272
+
264
273
List <Color > colors = ChartUtil .getChartColors (chartOptions );
265
274
List <Double > range = ChartUtil .calculateGlobalRange (options .getNetworkView ().getModel (), columns );
266
275
double min = range .get (0 ) ;
@@ -285,7 +294,7 @@ private void updateNodeColorPanel(Collection<EMDataSet> dataSets, EnrichmentMap
285
294
.addComponent (posLabel )
286
295
.addComponent (clpPos )
287
296
);
288
-
297
+
289
298
290
299
if (data == ChartData .NES_VALUE ) { // need to show negative range
291
300
String negMinLabel = min < 0 ? String .format ("%.2f" , min ) : "N/A" ;
@@ -308,9 +317,11 @@ private void updateNodeColorPanel(Collection<EMDataSet> dataSets, EnrichmentMap
308
317
horizontal .addGap (0 , 0 , Short .MAX_VALUE );
309
318
layout .setHorizontalGroup (horizontal );
310
319
layout .setVerticalGroup (vertical );
320
+
321
+ p .setVisible (true );
322
+ } else {
323
+ p .setVisible (false );
311
324
}
312
-
313
- p .setVisible (true );
314
325
}
315
326
316
327
private void updateNodeShapePanel (EnrichmentMap map ) {
@@ -355,7 +366,7 @@ private void updateNodeChartPanel(Collection<EMDataSet> dataSets, EnrichmentMap
355
366
Object cg = vp != null ? style .getDefaultValue (vp ) : null ;
356
367
ChartType chartType = options .getChartOptions () != null ? options .getChartOptions ().getType () : null ;
357
368
358
- if (chartType != null && cg instanceof CyCustomGraphics2 && dataSets != null && dataSets . size () > 1 ) {
369
+ if (chartType != null && cg instanceof CyCustomGraphics2 && dataSets != null ) {
359
370
ChartPanel chart = createChartPanel (dataSets );
360
371
361
372
if (chart != null ) {
@@ -508,11 +519,13 @@ BasicCollapsiblePanel getNodeLegendPanel() {
508
519
.addComponent (getNodeColorPanel (), DEFAULT_SIZE , DEFAULT_SIZE , Short .MAX_VALUE )
509
520
.addComponent (getNodeShapePanel (), DEFAULT_SIZE , DEFAULT_SIZE , Short .MAX_VALUE )
510
521
.addComponent (getNodeChartPanel (), DEFAULT_SIZE , DEFAULT_SIZE , Short .MAX_VALUE )
522
+ .addComponent (getNodeChartColorPanel (), DEFAULT_SIZE , DEFAULT_SIZE , Short .MAX_VALUE )
511
523
);
512
524
layout .setVerticalGroup (layout .createSequentialGroup ()
513
525
.addComponent (getNodeColorPanel (), PREFERRED_SIZE , DEFAULT_SIZE , PREFERRED_SIZE )
514
526
.addComponent (getNodeShapePanel (), PREFERRED_SIZE , DEFAULT_SIZE , PREFERRED_SIZE )
515
527
.addComponent (getNodeChartPanel (), PREFERRED_SIZE , DEFAULT_SIZE , PREFERRED_SIZE )
528
+ .addComponent (getNodeChartColorPanel (), PREFERRED_SIZE , DEFAULT_SIZE , PREFERRED_SIZE )
516
529
);
517
530
518
531
if (isAquaLAF ())
@@ -555,6 +568,15 @@ private JPanel getNodeColorPanel() {
555
568
return nodeColorPanel ;
556
569
}
557
570
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
+
558
580
JPanel getNodeShapePanel () {
559
581
if (nodeShapePanel == null ) {
560
582
nodeShapePanel = createStyleLegendPanel (null );
0 commit comments