47
47
import org .netbeans .modules .profiler .api .icons .GeneralIcons ;
48
48
import org .netbeans .modules .profiler .api .icons .Icons ;
49
49
import org .netbeans .modules .profiler .api .icons .ProfilerIcons ;
50
- import org .openide .util .Exceptions ;
51
50
import org .openide .util .Lookup ;
52
51
import org .openide .util .NbBundle ;
53
52
56
55
* @author Jiri Sedlacek
57
56
*/
58
57
@ NbBundle .Messages ({
59
- // "MethodsFeatureUI_viewHotSpots=Hot spots",
60
- // "MethodsFeatureUI_viewCallTree=Call tree",
61
- // "MethodsFeatureUI_viewCombined=Combined",
62
58
"MethodsFeatureUI_selectedMethods=Selected methods" ,
63
59
"MethodsFeatureUI_liveResults=Results:" ,
64
60
"MethodsFeatureUI_pauseResults=Pause live results" ,
@@ -92,28 +88,10 @@ class CPULivePanel extends ProfilingResultsSupport.ResultsView {
92
88
}
93
89
94
90
91
+ // -------------------------------------------------------------------------
95
92
96
- // --- API implementation --------------------------------------------------
97
-
98
- boolean hasResultsUI () {
99
- return cpuView != null ;
100
- }
101
-
102
- void sessionStateChanged (int sessionState ) {
103
- refreshToolbar (sessionState );
104
- }
105
-
106
-
107
- void resetPause () {
108
- if (lrPauseButton != null ) lrPauseButton .setSelected (false );
109
- }
110
-
111
- void setForceRefresh () {
112
- if (updater != null ) updater .setForceRefresh (true );
113
- }
114
-
115
- void refreshData () throws ClientUtils .TargetAppOrVMTerminated {
116
- if (updater != null ) updater .update ();
93
+ void refreshResults () {
94
+ refreshResults (false );
117
95
}
118
96
119
97
void resetResults () {
@@ -127,25 +105,44 @@ void resetResults() {
127
105
}
128
106
}
129
107
130
-
131
- void cleanup () {
132
- if (updater != null ) updater .cleanup ();
133
-
134
- if (resetter != null ) {
135
- resetter .unregisterView (this );
136
- resetter = null ;
137
- }
108
+ void sessionStateChanged (int sessionState ) {
109
+ refreshToolbar (sessionState );
138
110
}
139
111
112
+
140
113
// -------------------------------------------------------------------------
141
114
115
+ private void refreshResults (final boolean forceRefresh ) {
116
+ RESULTS_PROCESSOR .post (new Runnable () {
117
+ public void run () {
118
+ try {
119
+ if (updater != null ) {
120
+ if (forceRefresh ) updater .setForceRefresh (true );
121
+ updater .update ();
122
+ }
123
+ // } catch (ClientUtils.TargetAppOrVMTerminated ex) {
124
+ } catch (Throwable t ) {
125
+ if (updater != null ) {
126
+ updater .cleanup ();
127
+ updater = null ;
128
+ }
129
+
130
+ if (resetter != null ) {
131
+ resetter .unregisterView (CPULivePanel .this );
132
+ resetter = null ;
133
+ }
134
+ }
135
+ }
136
+ });
137
+ }
142
138
143
139
140
+ // -------------------------------------------------------------------------
141
+
144
142
private JLabel lrLabel ;
145
143
private JToggleButton lrPauseButton ;
146
144
private JButton lrRefreshButton ;
147
145
private JToggleButton lrDeltasButton ;
148
- // private ActionPopupButton lrView;
149
146
150
147
private JLabel pdLabel ;
151
148
private JButton pdSnapshotButton ;
@@ -221,27 +218,16 @@ protected void foundInReverseCalls() {
221
218
lrPauseButton = new JToggleButton (Icons .getIcon (GeneralIcons .PAUSE )) {
222
219
protected void fireItemStateChanged (ItemEvent event ) {
223
220
boolean paused = isSelected ();
224
- updater .setPaused (paused );
221
+ if ( updater != null ) updater .setPaused (paused );
225
222
lrRefreshButton .setEnabled (paused );
226
- if (!paused ) try {
227
- updater .setForceRefresh (true );
228
- updater .update ();
229
- } catch (ClientUtils .TargetAppOrVMTerminated ex ) {
230
- cleanup ();
231
- }
232
- ////// refreshToolbar(getSessionState());
223
+ if (!paused ) refreshResults (true );
233
224
}
234
225
};
235
226
lrPauseButton .setToolTipText (Bundle .MethodsFeatureUI_pauseResults ());
236
227
237
228
lrRefreshButton = new JButton (Icons .getIcon (GeneralIcons .UPDATE_NOW )) {
238
229
protected void fireActionPerformed (ActionEvent e ) {
239
- try {
240
- updater .setForceRefresh (true );
241
- updater .update ();
242
- } catch (ClientUtils .TargetAppOrVMTerminated ex ) {
243
- cleanup ();
244
- }
230
+ refreshResults (true );
245
231
}
246
232
};
247
233
lrRefreshButton .setToolTipText (Bundle .MethodsFeatureUI_updateResults ());
@@ -264,79 +250,43 @@ protected void fireActionPerformed(ActionEvent e) {
264
250
protected void fireActionPerformed (ActionEvent e ) {
265
251
super .fireActionPerformed (e );
266
252
cpuView .setView (isSelected (), toggles [1 ].isSelected (), toggles [2 ].isSelected ());
267
- try {
268
- updater .setForceRefresh (true );
269
- updater .update ();
270
- } catch (ClientUtils .TargetAppOrVMTerminated ex ) {
271
- cleanup ();
272
- }
253
+ refreshResults (true );
273
254
}
274
255
};
275
256
forwardCalls .putClientProperty ("JButton.buttonType" , "segmented" ); // NOI18N
276
257
forwardCalls .putClientProperty ("JButton.segmentPosition" , "first" ); // NOI18N
277
258
forwardCalls .setToolTipText (Bundle .MethodsFeatureUI_viewForward ());
278
259
group .add (forwardCalls );
279
260
toggles [0 ] = forwardCalls ;
280
- // toolbar.add(forwardCalls);
281
261
forwardCalls .setSelected (true );
282
262
283
263
JToggleButton hotSpots = new JToggleButton (Icons .getIcon (ProfilerIcons .TAB_HOTSPOTS )) {
284
264
protected void fireActionPerformed (ActionEvent e ) {
285
265
super .fireActionPerformed (e );
286
266
cpuView .setView (toggles [0 ].isSelected (), isSelected (), toggles [2 ].isSelected ());
287
- try {
288
- updater .setForceRefresh (true );
289
- updater .update ();
290
- } catch (ClientUtils .TargetAppOrVMTerminated ex ) {
291
- cleanup ();
292
- }
267
+ refreshResults (true );
293
268
}
294
269
};
295
270
hotSpots .putClientProperty ("JButton.buttonType" , "segmented" ); // NOI18N
296
271
hotSpots .putClientProperty ("JButton.segmentPosition" , "middle" ); // NOI18N
297
272
hotSpots .setToolTipText (Bundle .MethodsFeatureUI_viewHotSpots ());
298
273
group .add (hotSpots );
299
274
toggles [1 ] = hotSpots ;
300
- // toolbar.add(hotSpots);
301
275
hotSpots .setSelected (false );
302
276
303
277
JToggleButton reverseCalls = new JToggleButton (Icons .getIcon (ProfilerIcons .NODE_REVERSE )) {
304
278
protected void fireActionPerformed (ActionEvent e ) {
305
279
super .fireActionPerformed (e );
306
280
cpuView .setView (toggles [0 ].isSelected (), toggles [1 ].isSelected (), isSelected ());
307
- try {
308
- updater .setForceRefresh (true );
309
- updater .update ();
310
- } catch (ClientUtils .TargetAppOrVMTerminated ex ) {
311
- cleanup ();
312
- }
281
+ refreshResults (true );
313
282
}
314
283
};
315
284
reverseCalls .putClientProperty ("JButton.buttonType" , "segmented" ); // NOI18N
316
285
reverseCalls .putClientProperty ("JButton.segmentPosition" , "last" ); // NOI18N
317
286
reverseCalls .setToolTipText (Bundle .MethodsFeatureUI_viewReverse ());
318
287
group .add (reverseCalls );
319
288
toggles [2 ] = reverseCalls ;
320
- // toolbar.add(reverseCalls);
321
289
reverseCalls .setSelected (false );
322
-
323
- // Action aCallTree = new AbstractAction() {
324
- // { putValue(NAME, Bundle.MethodsFeatureUI_viewCallTree()); }
325
- // public void actionPerformed(ActionEvent e) { setView(View.CALL_TREE); }
326
- //
327
- // };
328
- // Action aHotSpots = new AbstractAction() {
329
- // { putValue(NAME, Bundle.MethodsFeatureUI_viewHotSpots()); }
330
- // public void actionPerformed(ActionEvent e) { setView(View.HOT_SPOTS); }
331
- //
332
- // };
333
- // Action aCombined = new AbstractAction() {
334
- // { putValue(NAME, Bundle.MethodsFeatureUI_viewCombined()); }
335
- // public void actionPerformed(ActionEvent e) { setView(View.COMBINED); }
336
- //
337
- // };
338
- // lrView = new ActionPopupButton(aCallTree, aHotSpots, aCombined);
339
- // lrView.setToolTipText(Bundle.MethodsFeatureUI_resultsMode());
340
290
341
291
pdLabel = new GrayLabel (Bundle .MethodsFeatureUI_profilingData ());
342
292
@@ -385,18 +335,13 @@ protected void fireActionPerformed(ActionEvent e) {
385
335
toolbar .add (pdResetResultsButton );
386
336
387
337
388
- // --- Sync UI ---------------------------------------------------------
389
-
390
- // setView(View.HOT_SPOTS);
391
338
cpuView .setView (true , false , false );
392
- ////// sessionStateChanged(getSessionState());
393
339
394
340
}
395
341
396
342
private void refreshToolbar (final int state ) {
397
343
if (toolbar != null ) SwingUtilities .invokeLater (new Runnable () {
398
344
public void run () {
399
- // boolean running = isRunning(state);
400
345
boolean running = state == Profiler .PROFILING_RUNNING ;
401
346
lrPauseButton .setEnabled (running );
402
347
lrRefreshButton .setEnabled (!popupPause && running && lrPauseButton .isSelected ());
@@ -405,20 +350,4 @@ public void run() {
405
350
});
406
351
}
407
352
408
-
409
- void refreshResults () {
410
- RESULTS_PROCESSOR .post (new Runnable () {
411
- public void run () {
412
- try {
413
- refreshData ();
414
- } catch (ClientUtils .TargetAppOrVMTerminated ex ) {
415
- cleanup ();
416
- } catch (Throwable t ) {
417
- Exceptions .printStackTrace (t );
418
- cleanup ();
419
- }
420
- }
421
- });
422
- }
423
-
424
353
}
0 commit comments