52
52
import com .google .gwt .canvas .dom .client .Context2d ;
53
53
import com .google .gwt .core .client .JsArrayMixed ;
54
54
import com .google .gwt .dom .client .NativeEvent ;
55
+ import com .google .gwt .user .client .Window ;
55
56
import com .google .gwt .user .client .ui .*;
56
57
57
58
import com .google .gwt .core .client .GWT ;
78
79
public class GWASViewer extends Composite implements RequiresResize {
79
80
80
81
private static Binder uiBinder = GWT .create (Binder .class );
81
- //private List<Track> tracks = new ArrayList<>();
82
-
83
82
interface Binder extends UiBinder <Widget , GWASViewer > { }
84
83
85
84
private static Logger logger = Logger .getLogger (GWASViewer .class .getCanonicalName ());
86
85
87
-
88
86
@ UiField SimplePanel scatterChartContainer ;
89
87
90
- @ UiField SimplePanel geneViewerContainer ;
91
88
89
+ @ UiField SimplePanel geneViewerContainer ;
92
90
93
91
@ UiField Label chromosomeLabel ;
92
+
93
+
94
94
@ UiField GeneViewer geneViewer ;
95
95
@ UiField LDViewer ldviewer ;
96
96
@ UiField FlowPanel ldviewerContainer ;
@@ -100,33 +100,35 @@ interface Binder extends UiBinder<Widget, GWASViewer> { }
100
100
protected Dygraphs scatterChart ;
101
101
@ UiField (provided =true ) Resources mainRes ;
102
102
private DataView filteredView ;
103
-
104
103
private final ScheduledCommand layoutCmd = new ScheduledCommand () {
105
104
public void execute () {
106
105
layoutScheduled = false ;
107
106
forceLayout ();
108
107
}
109
108
};
110
- private boolean layoutScheduled = false ;
111
- protected double maxValue ;
112
-
113
109
110
+ private boolean layoutScheduled = false ;
111
+ protected double maxValue ;
114
112
protected String [] color ;
115
113
114
+
116
115
protected String geneMarkerColor ="green" ;
117
116
118
117
protected int pointSize =3 ;
118
+
119
119
protected int highlightCircleSize = 4 ;
120
120
protected int scatterChartHeight =200 ;
121
121
protected DataTable dataTable ;
122
122
protected boolean isScatterChartLoaded = false ;
123
123
protected double pvalThreshold = -1 ;
124
124
// use instance because getSelection() does not work in onUnderlay event, because date_graph is not properly initialized
125
125
protected List <Integer > selections = new ArrayList <>();
126
-
127
126
//GenomeView settings
128
127
protected Integer minZoomLevelForGenomeView = 1500000 ;
128
+
129
129
protected boolean isGeneViewerLoaded = false ;
130
+ //private List<Track> tracks = new ArrayList<>();
131
+ private String geneInfoUrl ;
130
132
131
133
132
134
//LDViewer settings
@@ -429,6 +431,10 @@ public void onUnhighlightGene(UnhighlightGeneEvent event) {
429
431
@ Override
430
432
public void onClickGene (ClickGeneEvent event ) {
431
433
fireEvent (event );
434
+ if (geneInfoUrl != null ) {
435
+ Window .open (geneInfoUrl .replace ("{0}" ,event .getGene ().name ),"Gene Info" ,"" );
436
+ }
437
+
432
438
}
433
439
});
434
440
/*if (minZoomLevelForGenomeView >= (viewEnd- viewStart) && (viewEnd - viewStart) > 0) {
@@ -779,7 +785,7 @@ public void setGeneViewerHeight(int geneViewerHeight) {
779
785
}
780
786
781
787
public void setGeneInfoUrl (String geneInfoUrl ) {
782
- //geneViewer.setGeneInfoUrl( geneInfoUrl) ;
788
+ this . geneInfoUrl = geneInfoUrl ;
783
789
}
784
790
785
791
0 commit comments